Merge "[Panlingual] Improve conditions of supporting app locale." into tm-qpr-dev
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index c8c33a8..1b69a58 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -131,7 +131,8 @@
android:usesCleartextTraffic="true"
android:defaultToDeviceProtectedStorage="true"
android:directBootAware="true"
- android:appComponentFactory="androidx.core.app.CoreComponentFactory">
+ android:appComponentFactory="androidx.core.app.CoreComponentFactory"
+ android:enableOnBackInvokedCallback="true">
<uses-library android:name="org.apache.http.legacy" />
@@ -2475,33 +2476,41 @@
<!-- Exported for SystemUI to launch into -->
<activity android:name=".deviceinfo.StorageWizardInit"
- android:theme="@style/GlifV3Theme.Light"
+ android:theme="@style/GlifTheme.Light"
android:exported="true"
+ android:configChanges="keyboardHidden|orientation|screenSize"
android:permission="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<activity android:name=".deviceinfo.StorageWizardFormatProgress"
- android:theme="@style/GlifV3Theme.Light"
- android:exported="false" />
+ android:theme="@style/GlifTheme.Light"
+ android:exported="false"
+ android:configChanges="keyboardHidden|orientation|screenSize"/>
<activity android:name=".deviceinfo.StorageWizardFormatSlow"
- android:theme="@style/GlifV3Theme.Light"
- android:exported="false" />
+ android:theme="@style/GlifTheme.Light"
+ android:exported="false"
+ android:configChanges="keyboardHidden|orientation|screenSize"/>
<activity android:name=".deviceinfo.StorageWizardMigrateConfirm"
- android:theme="@style/GlifV3Theme.Light"
- android:exported="false" />
+ android:theme="@style/GlifTheme.Light"
+ android:exported="false"
+ android:configChanges="keyboardHidden|orientation|screenSize"/>
<activity android:name=".deviceinfo.StorageWizardMigrateProgress"
- android:theme="@style/GlifV3Theme.Light"
+ android:theme="@style/GlifTheme.Light"
android:exported="true"
+ android:configChanges="keyboardHidden|orientation|screenSize"
android:permission="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<activity android:name=".deviceinfo.StorageWizardReady"
- android:theme="@style/GlifV3Theme.Light"
+ android:theme="@style/GlifTheme.Light"
android:exported="true"
+ android:configChanges="keyboardHidden|orientation|screenSize"
android:permission="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<activity android:name=".deviceinfo.StorageWizardMoveConfirm"
- android:theme="@style/GlifV3Theme.Light"
- android:exported="false" />
+ android:theme="@style/GlifTheme.Light"
+ android:exported="false"
+ android:configChanges="keyboardHidden|orientation|screenSize"/>
<activity android:name=".deviceinfo.StorageWizardMoveProgress"
- android:theme="@style/GlifV3Theme.Light"
+ android:theme="@style/GlifTheme.Light"
android:exported="true"
+ android:configChanges="keyboardHidden|orientation|screenSize"
android:permission="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<!-- Exported for SystemUI to trigger -->
@@ -4054,6 +4063,20 @@
android:value="true"/>
</service>
+ <service
+ android:name=".development.qstile.DevelopmentTiles$DesktopMode"
+ android:label="@string/desktop_mode"
+ android:icon="@drawable/tile_icon_desktop_mode"
+ android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"
+ android:exported="true"
+ android:enabled="false">
+ <intent-filter>
+ <action android:name="android.service.quicksettings.action.QS_TILE" />
+ </intent-filter>
+ <meta-data android:name="android.service.quicksettings.TOGGLEABLE_TILE"
+ android:value="true"/>
+ </service>
+
<activity
android:name=".HelpTrampoline"
android:exported="true"
diff --git a/res/drawable/ic_cellular_1_bar.xml b/res/drawable/ic_cellular_1_bar.xml
index 23caacc2..a07e257 100644
--- a/res/drawable/ic_cellular_1_bar.xml
+++ b/res/drawable/ic_cellular_1_bar.xml
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2019 The Android Open Source Project
+ Copyright (C) 2022 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.
@@ -19,11 +19,11 @@
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
- android:tint="?android:attr/colorControlNormal">
+ android:tint="@color/battery_usage_system_icon_color">
<path
- android:fillColor="#000000"
+ android:fillColor="@android:color/white"
android:pathData="M20,7v13H7L20,7 M22,2L2,22h20V2L22,2z" />
<path
- android:fillColor="#000000"
+ android:fillColor="@android:color/white"
android:pathData="M 11 13 L 2 22 L 11 22 Z" />
-</vector>
\ No newline at end of file
+</vector>
diff --git a/res/drawable/ic_power_system.xml b/res/drawable/ic_power_system.xml
index 3b84f59..cdebc0e 100644
--- a/res/drawable/ic_power_system.xml
+++ b/res/drawable/ic_power_system.xml
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2019 The Android Open Source Project
+ Copyright (C) 2022 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.
@@ -19,8 +19,8 @@
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0"
- android:tint="?android:attr/colorControlNormal">
+ android:tint="@color/battery_usage_system_icon_color">
<path
- android:fillColor="#000000"
+ android:fillColor="@android:color/white"
android:pathData="M6,18c0,0.55 0.45,1 1,1h1v3.5c0,0.83 0.67,1.5 1.5,1.5s1.5,-0.67 1.5,-1.5L11,19h2v3.5c0,0.83 0.67,1.5 1.5,1.5s1.5,-0.67 1.5,-1.5L16,19h1c0.55,0 1,-0.45 1,-1L18,8L6,8v10zM3.5,8C2.67,8 2,8.67 2,9.5v7c0,0.83 0.67,1.5 1.5,1.5S5,17.33 5,16.5v-7C5,8.67 4.33,8 3.5,8zM20.5,8c-0.83,0 -1.5,0.67 -1.5,1.5v7c0,0.83 0.67,1.5 1.5,1.5s1.5,-0.67 1.5,-1.5v-7c0,-0.83 -0.67,-1.5 -1.5,-1.5zM15.53,2.16l1.3,-1.3c0.2,-0.2 0.2,-0.51 0,-0.71 -0.2,-0.2 -0.51,-0.2 -0.71,0l-1.48,1.48C13.85,1.23 12.95,1 12,1c-0.96,0 -1.86,0.23 -2.66,0.63L7.85,0.15c-0.2,-0.2 -0.51,-0.2 -0.71,0 -0.2,0.2 -0.2,0.51 0,0.71l1.31,1.31C6.97,3.26 6,5.01 6,7h12c0,-1.99 -0.97,-3.75 -2.47,-4.84zM10,5L9,5L9,4h1v1zM15,5h-1L14,4h1v1z"/>
</vector>
diff --git a/res/drawable/ic_settings_aod.xml b/res/drawable/ic_settings_aod.xml
index b238e3a..89affdc 100644
--- a/res/drawable/ic_settings_aod.xml
+++ b/res/drawable/ic_settings_aod.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- Copyright (C) 2018 The Android Open Source Project
+ Copyright (C) 2022 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.
@@ -19,17 +19,17 @@
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
- android:tint="?android:attr/colorControlNormal">
+ android:tint="@color/battery_usage_system_icon_color">
<path
- android:fillColor="#000000"
- android:pathData="M17,1.01L7,1C5.9,1,5,1.9,5,3v18c0,1.1,0.9,2,2,2h10c1.1,0,2-0.9,2-2V3C19,1.9,18.1,1.01,17,1.01z M17,21H7l0-1h10V21z M17,18H7V6h10V18z M17,4H7V3h10V4z" />
+ android:fillColor="@android:color/white"
+ android:pathData="M17,1.01L7,1C5.9,1,5,1.9,5,3v18c0,1.1,0.9,2,2,2h10c1.1,0,2-0.9,2-2V3C19,1.9,18.1,1.01,17,1.01z M17,21H7l0-1h10V21z M17,18H7V6h10V18z M17,4H7V3h10V4z"/>
<path
- android:fillColor="#000000"
- android:pathData="M 8 10 H 16 V 11.5 H 8 V 10 Z" />
+ android:fillColor="@android:color/white"
+ android:pathData="M 8 10 H 16 V 11.5 H 8 V 10 Z"/>
<path
- android:fillColor="#000000"
- android:pathData="M 9 13 H 15 V 14.5 H 9 V 13 Z" />
+ android:fillColor="@android:color/white"
+ android:pathData="M 9 13 H 15 V 14.5 H 9 V 13 Z"/>
<path
- android:pathData="M 0 0 H 24 V 24 H 0 V 0 Z" />
-</vector>
\ No newline at end of file
+ android:pathData="M 0 0 H 24 V 24 H 0 V 0 Z"/>
+</vector>
diff --git a/res/drawable/ic_settings_bluetooth.xml b/res/drawable/ic_settings_bluetooth.xml
new file mode 100644
index 0000000..a8666ac
--- /dev/null
+++ b/res/drawable/ic_settings_bluetooth.xml
@@ -0,0 +1,25 @@
+<!--
+ Copyright (C) 2022 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.0"
+ android:viewportHeight="24.0"
+ android:tint="@color/battery_usage_system_icon_color">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M17.71,7.71L12,2h-1v7.59L6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 11,14.41L11,22h1l5.71,-5.71 -4.3,-4.29 4.3,-4.29zM13,5.83l1.88,1.88L13,9.59L13,5.83zM14.88,16.29L13,18.17v-3.76l1.88,1.88z"/>
+</vector>
diff --git a/res/drawable/ic_settings_camera.xml b/res/drawable/ic_settings_camera.xml
index 3c85532..278d295 100644
--- a/res/drawable/ic_settings_camera.xml
+++ b/res/drawable/ic_settings_camera.xml
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2015 The Android Open Source Project
+ Copyright (C) 2022 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.
@@ -21,9 +21,9 @@
android:viewportWidth="48"
android:viewportHeight="48"
android:autoMirrored="true"
- android:tint="?android:attr/colorControlNormal">
+ android:tint="@color/battery_usage_system_icon_color">
- <path android:fillColor="#000000"
+ <path android:fillColor="@android:color/white"
android:pathData="M18.8 21l9.53-16.51C26.94 4.18 25.49 4 24 4c-4.8 0-9.19 1.69-12.64
4.51l7.33 12.69.11-.2zm24.28-3c-1.84-5.85-6.3-10.52-11.99-12.68L23.77
18h19.31zm.52 2H28.62l.58 1 9.53 16.5C41.99 33.94 44 29.21 44
diff --git a/res/drawable/ic_settings_display.xml b/res/drawable/ic_settings_display.xml
index 7f0aacd..61d1aeb 100644
--- a/res/drawable/ic_settings_display.xml
+++ b/res/drawable/ic_settings_display.xml
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2016 The Android Open Source Project
+ Copyright (C) 2022 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.
@@ -18,8 +18,8 @@
android:height="24.0dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0"
- android:tint="?android:attr/colorControlNormal">
+ android:tint="@color/battery_usage_system_icon_color">
<path
- android:fillColor="#FFFFFFFF"
+ android:fillColor="@android:color/white"
android:pathData="M20,8.69V4h-4.69L12,0.69L8.69,4H4v4.69L0.69,12L4,15.31V20h4.69L12,23.31L15.31,20H20v-4.69L23.31,12L20,8.69zM18,14.48V18h-3.52L12,20.48L9.52,18H6v-3.52L3.52,12L6,9.52V6h3.52L12,3.52L14.48,6H18v3.52L20.48,12L18,14.48zM12,17c2.76,0 5,-2.24 5,-5s-2.24,-5 -5,-5V17z"/>
</vector>
diff --git a/res/drawable/ic_settings_phone_idle.xml b/res/drawable/ic_settings_phone_idle.xml
index 7bb6c31..fd304e7 100644
--- a/res/drawable/ic_settings_phone_idle.xml
+++ b/res/drawable/ic_settings_phone_idle.xml
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2019 The Android Open Source Project
+ Copyright (C) 2022 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.
@@ -18,8 +18,8 @@
android:height="48dp"
android:viewportWidth="48"
android:viewportHeight="48"
- android:tint="?android:attr/colorControlNormal">
- <path
- android:pathData="M14,48h4v-4h-4v4zM22,48h4v-4h-4v4zM26,4h-4v20h4L26,4zM33.13,8.87l-2.89,2.89C33.69,13.87 36,17.66 36,22c0,6.63 -5.37,12 -12,12s-12,-5.37 -12,-12c0,-4.34 2.31,-8.13 5.76,-10.24l-2.89,-2.89C10.72,11.76 8,16.56 8,22c0,8.84 7.16,16 16,16s16,-7.16 16,-16c0,-5.44 -2.72,-10.24 -6.87,-13.13zM30,48h4v-4h-4v4z"
- android:fillColor="#000000"/>
+ android:tint="@color/battery_usage_system_icon_color">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M14,48h4v-4h-4v4zM22,48h4v-4h-4v4zM26,4h-4v20h4L26,4zM33.13,8.87l-2.89,2.89C33.69,13.87 36,17.66 36,22c0,6.63 -5.37,12 -12,12s-12,-5.37 -12,-12c0,-4.34 2.31,-8.13 5.76,-10.24l-2.89,-2.89C10.72,11.76 8,16.56 8,22c0,8.84 7.16,16 16,16s16,-7.16 16,-16c0,-5.44 -2.72,-10.24 -6.87,-13.13zM30,48h4v-4h-4v4z"/>
</vector>
diff --git a/res/drawable/ic_settings_voice_calls.xml b/res/drawable/ic_settings_voice_calls.xml
index b455f0a..c8817a8 100644
--- a/res/drawable/ic_settings_voice_calls.xml
+++ b/res/drawable/ic_settings_voice_calls.xml
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2019 The Android Open Source Project
+ Copyright (C) 2022 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.
@@ -18,8 +18,8 @@
android:height="48dp"
android:viewportWidth="48"
android:viewportHeight="48"
- android:tint="?android:attr/colorControlNormal">
- <path
- android:pathData="M40,31c-2.49,0 -4.89,-0.4 -7.14,-1.14 -0.69,-0.22 -1.48,-0.06 -2.03,0.49l-4.4,4.41c-5.67,-2.88 -10.29,-7.51 -13.18,-13.17l4.4,-4.41c0.55,-0.55 0.71,-1.34 0.49,-2.03C17.4,12.9 17,10.49 17,8c0,-1.11 -0.89,-2 -2,-2L8,6c-1.11,0 -2,0.89 -2,2 0,18.78 15.22,34 34,34 1.11,0 2,-0.89 2,-2v-7c0,-1.11 -0.89,-2 -2,-2zM38,24h4c0,-9.94 -8.06,-18 -18,-18v4c7.73,0 14,6.27 14,14zM30,24h4c0,-5.52 -4.48,-10 -10,-10v4c3.31,0 6,2.69 6,6z"
- android:fillColor="#000000"/>
+ android:tint="@color/battery_usage_system_icon_color">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M40,31c-2.49,0 -4.89,-0.4 -7.14,-1.14 -0.69,-0.22 -1.48,-0.06 -2.03,0.49l-4.4,4.41c-5.67,-2.88 -10.29,-7.51 -13.18,-13.17l4.4,-4.41c0.55,-0.55 0.71,-1.34 0.49,-2.03C17.4,12.9 17,10.49 17,8c0,-1.11 -0.89,-2 -2,-2L8,6c-1.11,0 -2,0.89 -2,2 0,18.78 15.22,34 34,34 1.11,0 2,-0.89 2,-2v-7c0,-1.11 -0.89,-2 -2,-2zM38,24h4c0,-9.94 -8.06,-18 -18,-18v4c7.73,0 14,6.27 14,14zM30,24h4c0,-5.52 -4.48,-10 -10,-10v4c3.31,0 6,2.69 6,6z"/>
</vector>
diff --git a/res/drawable/ic_settings_wireless_no_theme.xml b/res/drawable/ic_settings_wireless_no_theme.xml
new file mode 100644
index 0000000..5e18b89a
--- /dev/null
+++ b/res/drawable/ic_settings_wireless_no_theme.xml
@@ -0,0 +1,30 @@
+<!--
+ Copyright (C) 2022 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="24.0dp"
+ android:height="24.0dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0"
+ android:tint="@color/battery_usage_system_icon_color">
+ <path
+ android:pathData="M1.003,9L3.003,11C7.973,6.03 16.033,6.03 21.003,11L23.003,9C16.933,2.93 7.083,2.93 1.003,9ZM9.003,17L12.003,20L15.003,17C13.353,15.34 10.663,15.34 9.003,17ZM7.005,15L5.005,13C8.875,9.14 15.145,9.14 19.005,13L17.005,15C14.245,12.241 9.765,12.241 7.005,15Z"
+ android:fillType="evenOdd"
+ android:fillColor="@android:color/white"/>
+ <path
+ android:pathData="M0,0H24V24H0V0ZM0,0H24V24H0V0Z"
+ android:fillType="evenOdd"
+ android:fillColor="@android:color/white"/>
+</vector>
diff --git a/res/drawable/ic_storage_wizard_external.xml b/res/drawable/ic_storage_wizard_external.xml
index 99e2698..c6fefa1 100644
--- a/res/drawable/ic_storage_wizard_external.xml
+++ b/res/drawable/ic_storage_wizard_external.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2018 The Android Open Source Project
@@ -14,80 +15,101 @@
limitations under the License.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="144dp"
- android:height="144dp"
- android:viewportWidth="144.0"
- android:viewportHeight="144.0">
+ android:width="360dp"
+ android:height="262dp"
+ android:viewportWidth="360"
+ android:viewportHeight="262">
+
<path
- android:pathData="M64,64m-64,0a64,64 0,1 1,128 0a64,64 0,1 1,-128 0"
- android:strokeColor="#00000000"
- android:fillType="evenOdd"
- android:fillColor="#FFFFFF"
- android:strokeWidth="1"/>
+ android:fillColor="@android:color/transparent"
+ android:pathData="M335.709 262H24.2913C10.9223 262 0 250.821 0 237.11V24.89C0 11.1787 10.9223 0 24.2913 0H335.796C349.078 0 360 11.1787 360 24.89V237.285C360 250.821 349.078 262 335.709 262Z" />
<path
- android:pathData="M18.98,95C17.88,95 17,94.12 17,93.03L17,34.97C17,33.88 17.88,33 18.98,33L47.02,33C48.12,33 49,33.88 49,34.97L49,93.03C49,94.12 48.12,95 47.02,95L18.98,95Z"
- android:strokeColor="#00000000"
- android:fillType="evenOdd"
- android:fillColor="#FFFFFF"
- android:strokeWidth="1"/>
+ android:fillColor="@android:color/transparent"
+ android:pathData="M153.786 66.0239H319.806C322.777 66.0239 325.223 68.4693 325.311 71.4386V183.575H148.282V71.4386C148.282 68.4693 150.728 66.0239 153.786 66.0239Z"
+ android:strokeWidth="5"
+ android:strokeColor="#E8EAED"/>
<path
- android:pathData="M18.98,96C17.33,96 16,94.68 16,93.03L16,34.97C16,33.32 17.33,32 18.98,32L47.02,32C48.67,32 50,33.32 50,34.97L50,93.03C50,94.68 48.67,96 47.02,96L18.98,96Z"
- android:fillType="nonZero"
- android:strokeColor="#DADCE0"
- android:fillColor="#00000000"
- android:strokeWidth="2"/>
+ android:fillColor="#BDC1C6"
+ android:pathData="M182.272 180.605H171.961V183.4H182.272V180.605Z" />
<path
- android:pathData="M18.98,94L47.02,94C47.57,94 48,93.57 48,93.03L48,34.97C48,34.43 47.57,34 47.02,34L18.98,34C18.43,34 18,34.43 18,34.97L18,93.03C18,93.57 18.43,94 18.98,94Z"
- android:fillType="nonZero"
- android:strokeColor="#F1F3F4"
- android:fillColor="#00000000"
- android:strokeWidth="2"/>
+ android:fillColor="#BDC1C6"
+ android:pathData="M195.204 180.605H184.893V183.4H195.204V180.605Z" />
<path
- android:pathData="M73,87L123.02,87L118.03,97L73,97C72.45,97 72,96.55 72,96L72,88C72,87.45 72.45,87 73,87Z"
- android:strokeColor="#00000000"
- android:fillType="evenOdd"
- android:fillColor="#F1F3F4"
- android:strokeWidth="1"/>
- <path
- android:pathData="M74,89L74,95L119.11,95L121.99,89L74,89ZM73,87L122.59,87C122.26,87.73 120.83,90.87 118.29,96.42C118.13,96.77 117.77,97 117.38,97L73,97C72.45,97 72,96.55 72,96L72,88C72,87.45 72.45,87 73,87Z"
- android:strokeColor="#00000000"
- android:fillType="nonZero"
android:fillColor="#DADCE0"
- android:strokeWidth="1"/>
+ android:pathData="M78.8155 104.538V100.521C78.8155 99.9967 78.3786 99.5601 77.8544 99.5601V78.6001C77.8544 75.8054 75.5825 73.6221 72.8738 73.6221H26.8252C24.0291 73.6221 21.8447 75.8054 21.8447 78.6001V174.492C21.8447 177.287 24.1165 179.47 26.8252 179.47H72.7864C75.5825 179.47 77.767 177.199 77.767 174.492V125.585C78.2913 125.585 78.7282 125.149 78.7282 124.625V114.581C78.7282 114.057 78.2913 113.621 77.767 113.621V105.586C78.3786 105.499 78.8155 105.062 78.8155 104.538ZM76.8058 174.492C76.8058 176.675 74.9709 178.509 72.7864 178.509H26.8252C24.6408 178.509 22.8058 176.675 22.8058 174.492V78.6001C22.8058 76.4167 24.5534 74.5827 26.8252 74.5827H72.7864C74.9709 74.5827 76.8058 76.3294 76.8058 78.6001V174.492Z" />
<path
- android:pathData="M89,27L115.06,27C116.17,27 127.49,47.66 127.49,60.45C127.49,75.69 123.39,87.18 122.57,89L87,89L87,29C87,27.9 87.9,27 89,27Z"
- android:strokeColor="#00000000"
- android:fillType="evenOdd"
- android:fillColor="#F1F3F4"
- android:strokeWidth="1"/>
+ android:fillColor="#81C995"
+ android:pathData="M35.2136 102.18H47.534V89.8658H35.2136V102.18ZM35.2136 103.926C34.2524 103.926 33.466 103.14 33.466 102.18V89.8658C33.466 88.9051 34.2524 88.1191 35.2136 88.1191H47.534C47.9709 88.1191 48.4077 88.2938 48.7573 88.6431C49.1068 88.9925 49.2815 89.4291 49.2815 89.8658V102.18C49.2815 103.14 48.4951 103.926 47.534 103.926H35.2136ZM36.0874 100.433H46.5728L43.2524 96.0665L40.6311 99.5598L38.6213 96.9398L36.0874 100.433ZM35.2136 89.8658V102.18V89.8658Z" />
<path
- android:pathData="M89,87L122.96,87C126.83,74.93 128.26,64.56 127.26,55.89C126.26,47.22 122.76,38.26 116.78,29L89,29L89,87ZM89,27L115.53,27C116.63,27 128.29,48.2 127.36,60.95C125.65,84.63 123.1,89 122,89L87,89L87,29C87,27.9 87.9,27 89,27Z"
- android:strokeColor="#00000000"
- android:fillType="nonZero"
+ android:fillColor="#F28B82"
+ android:pathData="M44.5631 111.787H42.0291L43.6893 115.105H41.2427L39.5825 111.787H37.9223L39.5825 115.105H37.1359L35.4757 111.787H33.8155L35.4757 115.105H33.0291L31.3689 111.787C30.4951 111.787 29.7087 112.485 29.7087 113.359V123.227C29.7087 124.101 30.4078 124.887 31.3689 124.887H44.5631C45.4369 124.887 46.2233 124.101 46.2233 123.227V113.359C46.2233 112.485 45.4369 111.787 44.5631 111.787Z" />
+ <path
+ android:fillColor="#FDD663"
+ android:pathData="M69.9903 122.965H58.9806V121.568C58.9806 121.044 58.5437 120.607 58.0194 120.607H54.7864C54.2622 120.607 53.8253 121.044 53.8253 121.568V134.319C53.8253 135.367 54.699 136.24 55.7476 136.24H69.0291C70.0777 136.24 70.9515 135.367 70.9515 134.319V123.839C70.9515 123.315 70.5146 122.878 69.9903 122.965Z" />
+ <path
+ android:fillColor="#8AB4F8"
+ android:pathData="M69.2912 98.8613H56.8835V107.769H55.398C53.9126 107.769 52.7767 108.992 52.7767 110.389C52.7767 111.874 54 113.009 55.398 113.009H56.0097C57.4077 113.009 58.4563 111.961 58.5437 110.564V101.481H65.8835V107.769H64.398C62.9126 107.769 61.7767 108.992 61.7767 110.389C61.7767 111.874 63 113.009 64.398 113.009H65.0097C66.4077 113.009 67.4563 111.961 67.5437 110.564V101.219C68.5922 100.87 69.2912 99.9093 69.2912 98.8613Z" />
+ <path
+ android:fillColor="#81C995"
+ android:pathData="M65.0097 144.449C64.7476 144.187 64.4854 144.1 64.1359 144.1H55.2233C54.5242 144.1 53.9126 144.711 53.9126 145.41V154.318C53.9126 154.667 54.0874 154.929 54.2621 155.191C54.5242 155.453 54.7864 155.541 55.1359 155.541H62.2136L65.4466 152.309V145.323C65.4466 145.061 65.2718 144.711 65.0097 144.449ZM64.1359 151.785H62.8252C62.1262 151.785 61.5145 152.397 61.5145 153.095V154.405H55.1359V145.497H64.0485L64.1359 151.785Z" />
+ <path
+ android:fillColor="#F28B82"
+ android:pathData="M55.5728 162.964L48.233 158.772C47.7961 158.51 47.2718 158.685 47.0097 159.034C47.0097 159.034 47.0097 159.121 46.9223 159.121C46.7476 159.209 46.7476 159.383 46.7476 159.645V167.942C46.7476 168.466 47.0971 168.815 47.6213 168.815C47.7961 168.815 47.9709 168.815 48.1456 168.728L55.3107 164.536C55.7476 164.361 55.9223 163.837 55.7476 163.401C55.7476 163.401 55.7476 163.313 55.6602 163.313C55.8349 163.139 55.7476 163.051 55.5728 162.964Z" />
+ <path
+ android:fillColor="#8AB4F8"
+ android:pathData="M42.3787 133.445H35.9126C35.0389 133.445 34.3398 134.144 34.3398 135.017V137.725H32.3301C31.4563 137.725 30.7573 138.423 30.7573 139.297L30.6699 151.698C30.6699 152.135 30.8447 152.484 31.1068 152.833C31.369 153.095 31.8058 153.27 32.1554 153.27L41.4175 153.357C41.8544 153.357 42.2039 153.183 42.5534 152.921C42.8156 152.659 42.9903 152.222 42.9903 151.873V149.689H45.4369C46.3107 149.689 47.0971 148.991 47.0971 148.117C47.0971 148.117 47.0971 148.117 47.0971 148.03V138.336L42.3787 133.445ZM41.5049 151.698L32.2427 151.611L32.3301 139.209H34.3398V147.855C34.3398 148.729 35.0389 149.427 35.9126 149.427H41.5049V151.698ZM43.9515 146.371H37.5728V144.711H44.0389L43.9515 146.371ZM43.9515 143.139H37.5728V141.48H44.0389L43.9515 143.139ZM45.5243 139.035H41.5049V135.017L45.5243 139.035Z" />
+ <path
+ android:fillColor="#BDC1C6"
+ android:pathData="M276.728 180.605H197.738V183.4H276.728V180.605Z" />
+ <path
+ android:fillColor="@android:color/transparent"
+ android:pathData="M317.184 74.3208H156.32V171.697H317.184V74.3208Z" />
+ <path
+ android:fillColor="#BDC1C6"
+ android:pathData="M289.136 180.605H278.825V183.4H289.136V180.605Z" />
+ <path
android:fillColor="#DADCE0"
- android:strokeWidth="1"/>
+ android:pathData="M134.65 182.09H338.854V184.186C338.854 185.758 337.631 186.981 336.058 186.981H137.447C135.874 186.981 134.65 185.758 134.65 184.186V182.09Z" />
<path
- android:pathData="M94,33L119.52,33C119.9,33 120.26,33.23 120.42,33.58C125.14,43.7 127.67,51.84 128,58C128.33,64.11 127.47,72.18 125.4,82.2L125.4,82.2C125.3,82.67 124.9,83 124.42,83L94,83C93.45,83 93,82.55 93,82L93,34C93,33.45 93.45,33 94,33C94,33 94,33 94,33Z"
- android:strokeColor="#00000000"
- android:fillType="evenOdd"
- android:fillColor="#FFFFFF"
- android:strokeWidth="1"/>
+ android:fillColor="#81C995"
+ android:pathData="M177.204 129.69H193.456V113.446H177.204V129.69ZM177.204 132.048C175.893 132.048 174.845 131 174.845 129.69V113.446C174.845 112.136 175.893 111.088 177.204 111.088H193.456C194.767 111.088 195.816 112.136 195.816 113.446V129.69C195.816 131 194.767 132.048 193.456 132.048H177.204ZM178.34 127.332H192.32L187.951 121.481L184.456 126.109L181.835 122.616L178.34 127.332ZM177.204 113.359V129.69V113.359Z" />
<path
- android:pathData="M73.63,41L68.13,41L64.01,45.2L64,53.6C64,54.37 64.62,55 65.38,55L73.63,55C74.38,55 75,54.37 75,53.6L75,42.4C75,41.63 74.38,41 73.63,41ZM69.5,45.2L68.13,45.2L68.13,42.4L69.5,42.4L69.5,45.2ZM71.56,45.2L70.19,45.2L70.19,42.4L71.56,42.4L71.56,45.2ZM73.63,45.2L72.25,45.2L72.25,42.4L73.63,42.4L73.63,45.2Z"
- android:strokeColor="#00000000"
- android:fillType="nonZero"
+ android:fillColor="#F28B82"
+ android:pathData="M266.68 129.865H262.485L265.282 135.454H261.087L258.291 129.865H255.495L258.291 135.454H254.097L251.301 129.865H248.505L251.301 135.454H247.107L244.311 129.865C242.738 129.865 241.515 131.087 241.515 132.659V149.34C241.515 150.912 242.738 152.135 244.311 152.135H266.68C268.252 152.135 269.476 150.912 269.476 149.34V132.659C269.476 131.087 268.252 129.865 266.68 129.865Z" />
+ <path
+ android:fillColor="#FDD663"
+ android:pathData="M257.155 98.9488H240.204V96.8528C240.204 96.0668 239.592 95.3682 238.718 95.3682H233.825C233.039 95.3682 232.34 95.9795 232.34 96.8528V116.416C232.34 118.075 233.65 119.385 235.223 119.385H255.67C257.33 119.385 258.641 118.075 258.641 116.503V100.434C258.553 99.5602 257.854 98.9488 257.155 98.9488Z" />
+ <path
+ android:fillColor="#8AB4F8"
+ android:pathData="M295.34 97.4639H274.631V112.311H272.184C269.738 112.223 267.641 114.057 267.553 116.503C267.466 118.948 269.301 121.044 271.748 121.131C271.835 121.131 272.01 121.131 272.184 121.131H273.146C275.417 121.131 277.34 119.385 277.427 117.114V102.005H289.748V112.398H287.301C284.854 112.398 282.845 114.407 282.845 116.852C282.845 119.297 284.854 121.306 287.301 121.306H288.262C290.534 121.306 292.456 119.559 292.544 117.289V101.743C294.204 100.957 295.252 99.2979 295.34 97.4639Z" />
+ <path
+ android:fillColor="#81C995"
+ android:pathData="M293.854 146.196H283.282C282.233 146.196 281.359 145.322 281.359 144.274V130.825C281.359 129.777 282.233 128.904 283.282 128.904H296.738C297.786 128.904 298.66 129.777 298.66 130.825V141.392L293.854 146.196Z" />
+ <path
+ android:fillColor="#81C995"
+ android:pathData="M292.893 144.275V142.353C292.893 141.305 293.767 140.432 294.816 140.432H296.738V130.825H283.282V144.275H292.893Z" />
+ <path
+ android:fillColor="#81C995"
+ android:pathData="M292.893 144.275L296.738 140.432H294.816C293.767 140.432 292.893 141.305 292.893 142.353V144.275Z" />
+ <path
+ android:fillColor="@android:color/transparent"
+ android:pathData="M292.893 144.275H283.282V130.825H296.738V140.432H294.816C293.767 140.432 292.893 141.305 292.893 142.353V144.275Z" />
+ <path
+ android:fillColor="#F28B82"
+ android:pathData="M219.146 103.49L206.651 96.4158C205.951 95.9791 205.078 96.1538 204.641 96.8525C204.641 96.9398 204.553 96.9398 204.553 97.0271C204.379 97.2018 204.379 97.4638 204.379 97.9005V112.048C204.379 112.834 204.99 113.533 205.777 113.533H205.864C206.214 113.533 206.476 113.533 206.738 113.358L218.971 106.284C219.757 105.935 220.019 105.062 219.67 104.276C219.67 104.188 219.583 104.188 219.583 104.101C219.583 103.926 219.408 103.664 219.146 103.49Z" />
+ <path
+ android:fillColor="#8AB4F8"
+ android:pathData="M222.116 123.053H211.893C210.495 123.053 209.359 124.188 209.359 125.585V129.865H206.126C204.728 129.865 203.68 130.913 203.68 132.31L203.592 151.96C203.592 152.659 203.854 153.27 204.291 153.707C204.728 154.143 205.34 154.405 206.039 154.405L220.806 154.493C221.505 154.493 222.116 154.231 222.553 153.794C222.99 153.357 223.252 152.746 223.252 152.047V148.554H227.184C228.583 148.554 229.806 147.419 229.806 146.021C229.806 146.021 229.806 146.021 229.806 145.934V130.563L222.116 123.053ZM220.718 152.135L205.951 152.047L206.039 132.397H209.272V146.109C209.272 146.807 209.534 147.419 210.058 147.943C210.495 148.467 211.194 148.729 211.893 148.729H220.806L220.718 152.135ZM224.65 143.576H214.427V141.043H224.65V143.576ZM224.65 138.423H214.427V135.891H224.65V138.423ZM227.184 132.048H220.806V125.673L227.184 132.048Z" />
+ <path
android:fillColor="?android:attr/colorAccent"
- android:strokeWidth="1"/>
+ android:pathData="M107.126 114.669H109.66V112.136H107.126V114.669ZM117.087 114.669H119.621V112.136H117.087V114.669ZM107.126 109.691H109.66V104.713H107.126V109.691ZM112.107 114.669H114.641V109.691H112.107V114.669ZM112.107 107.158H114.641V104.626H112.107V107.158ZM117.087 109.691H119.621V104.713H117.087V109.691ZM105.903 118.424C105.204 118.424 104.592 118.162 104.155 117.726C103.718 117.289 103.456 116.678 103.456 115.979V101.045L110.971 93.5342H120.932C121.631 93.5342 122.243 93.7962 122.68 94.2328C123.204 94.7568 123.379 95.2808 123.379 95.9795V115.892C123.379 116.59 123.116 117.202 122.68 117.638C122.155 118.162 121.631 118.337 120.932 118.337L105.903 118.424ZM105.903 115.892H120.845V95.9795H111.932L105.903 102.006V115.892ZM105.903 115.892V102.006L111.932 95.9795H120.845V115.892H105.903Z" />
<path
- android:pathData="M63.99,69L60,73L63.99,77L63.99,74L71,74L71,72L63.99,72L63.99,69ZM78,67L74.01,63L74.01,66L67,66L67,68L74.01,68L74.01,71L78,67Z"
- android:strokeColor="#00000000"
- android:fillType="nonZero"
android:fillColor="?android:attr/colorAccent"
- android:strokeWidth="1"/>
+ android:pathData="M96.7281 150.388L101.447 145.672L98.8252 143.052L89.7379 152.222L98.8252 161.305L101.447 158.772L96.7281 154.056H137.01V150.388H96.7281Z" />
<path
- android:pathData="M64,126.08C98.29,126.08 126.08,98.29 126.08,64C126.08,29.71 98.29,1.92 64,1.92C29.71,1.92 1.92,29.71 1.92,64C1.92,98.29 29.71,126.08 64,126.08ZM64,128C28.65,128 0,99.35 0,64C0,28.65 28.65,0 64,0C99.35,0 128,28.65 128,64C128,99.35 99.35,128 64,128Z"
- android:strokeColor="#00000000"
- android:fillType="nonZero"
- android:fillColor="#DADCE0"
- android:strokeWidth="1"/>
-</vector>
+ android:fillColor="?android:attr/colorAccent"
+ android:pathData="M130.019 137.026L125.301 141.742L127.922 144.362L137.01 135.192L127.922 126.109L125.301 128.642L130.019 133.358H89.7379V137.026H130.019Z" />
+ <path
+ android:fillColor="#BDC1C6"
+ android:pathData="M237.67 71.1767C238.201 71.1767 238.631 70.7466 238.631 70.216C238.631 69.6855 238.201 69.2554 237.67 69.2554C237.139 69.2554 236.709 69.6855 236.709 70.216C236.709 70.7466 237.139 71.1767 237.67 71.1767Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_storage_wizard_internal.xml b/res/drawable/ic_storage_wizard_internal.xml
index 41768f7..70bafa9 100644
--- a/res/drawable/ic_storage_wizard_internal.xml
+++ b/res/drawable/ic_storage_wizard_internal.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2018 The Android Open Source Project
@@ -14,62 +15,48 @@
limitations under the License.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="144dp"
- android:height="144dp"
- android:viewportWidth="144.0"
- android:viewportHeight="144.0">
+ android:width="360dp"
+ android:height="262dp"
+ android:viewportWidth="360"
+ android:viewportHeight="262">
+
<path
- android:pathData="M28,4h72v140h-72z"
- android:strokeColor="#00000000"
- android:fillType="evenOdd"
- android:fillColor="#FFFFFF"
- android:strokeWidth="1"/>
+ android:fillColor="@android:color/transparent"
+ android:pathData="M335.691 262H24.3087C10.9485 262 0 250.795 0 237.127V24.9075C0 11.2049 10.9485 0 24.3087 0H335.787C349.051 0 360 11.2049 360 24.8725V237.224C360 250.795 349.051 262 335.691 262Z" />
<path
- android:pathData="M65,62L68,62L68,64L65,64L65,67L63,67L63,64L60,64L60,62L63,62L63,59L65,59L65,62Z"
- android:strokeColor="#00000000"
- android:fillType="evenOdd"
+ android:fillColor="#DADCE0"
+ android:pathData="M239.199 85.3246V77.0192C239.199 76.4695 238.981 75.9421 238.593 75.5526C238.205 75.163 237.678 74.943 237.128 74.9407V31.3439C237.126 28.5906 236.031 25.9508 234.083 24.0039C232.135 22.057 229.494 20.9623 226.739 20.96H131.182C128.428 20.9646 125.789 22.0604 123.843 24.007C121.897 25.9536 120.803 28.5921 120.801 31.3439V230.656C120.803 233.408 121.897 236.046 123.843 237.993C125.789 239.94 128.428 241.035 131.182 241.04H226.739C229.494 241.038 232.135 239.943 234.083 237.996C236.031 236.049 237.126 233.409 237.128 230.656V128.921C237.677 128.921 238.204 128.703 238.592 128.315C238.981 127.927 239.199 127.401 239.199 126.852V106.084C239.199 105.534 238.981 105.007 238.593 104.617C238.205 104.228 237.678 104.008 237.128 104.005V87.4119C237.401 87.4108 237.671 87.3559 237.923 87.2503C238.175 87.1448 238.404 86.9908 238.596 86.7969C238.788 86.6031 238.941 86.3733 239.044 86.1207C239.148 85.8681 239.2 85.5976 239.199 85.3246ZM235.049 230.656C235.046 232.858 234.17 234.969 232.612 236.526C231.054 238.083 228.942 238.959 226.739 238.961H131.182C128.978 238.959 126.866 238.083 125.308 236.526C123.75 234.969 122.874 232.858 122.872 230.656V31.3439C122.874 29.1419 123.75 27.0307 125.308 25.4736C126.866 23.9166 128.978 23.0408 131.182 23.0385H226.739C228.942 23.0408 231.054 23.9166 232.612 25.4736C234.17 27.0307 235.046 29.1419 235.049 31.3439V230.656Z" />
+ <path
+ android:fillColor="#81C995"
+ android:pathData="M209.91 52.243H226.424V35.737H209.91V52.243ZM209.91 54.601C209.599 54.6045 209.29 54.5443 209.003 54.4242C208.716 54.304 208.457 54.1264 208.241 53.9023C208.018 53.6879 207.842 53.4299 207.723 53.1444C207.604 52.8589 207.545 52.5521 207.55 52.243V35.737C207.55 35.1116 207.799 34.5118 208.241 34.0696C208.684 33.6274 209.284 33.379 209.91 33.379H226.424C226.729 33.3764 227.03 33.4355 227.311 33.5526C227.592 33.6696 227.846 33.8423 228.058 34.0602C228.282 34.2758 228.46 34.5351 228.58 34.822C228.701 35.1088 228.761 35.4173 228.757 35.7283V52.2343C228.75 52.8575 228.5 53.4533 228.059 53.8941C227.618 54.3348 227.022 54.5854 226.398 54.5923L209.91 54.601ZM211.089 49.885H225.245L220.815 43.99L217.319 48.706L214.698 45.169L211.089 49.885ZM209.91 35.737V52.243V35.737Z" />
+ <path
+ android:fillColor="#8AB4F8"
+ android:pathData="M176.208 36.1475H148.247V56.2341H144.97C144.185 56.2341 143.408 56.3886 142.683 56.6888C141.958 56.989 141.299 57.429 140.744 57.9837C140.189 58.5384 139.749 59.197 139.448 59.9217C139.148 60.6465 138.993 61.4233 138.993 62.2077C138.993 62.9922 139.148 63.769 139.448 64.4937C139.749 65.2185 140.189 65.877 140.744 66.4317C141.299 66.9864 141.958 67.4264 142.683 67.7266C143.408 68.0268 144.185 68.1813 144.97 68.1813H146.316C147.789 68.1973 149.212 67.6454 150.289 66.6404C151.366 65.6354 152.015 64.2544 152.1 62.7841V42.3132H168.702V56.3826H165.425C163.84 56.3826 162.32 57.012 161.199 58.1322C160.078 59.2525 159.449 60.7719 159.449 62.3562C159.449 63.9405 160.078 65.4599 161.199 66.5802C162.32 67.7004 163.84 68.3298 165.425 68.3298H166.771C168.244 68.3457 169.667 67.7939 170.744 66.7889C171.822 65.7839 172.47 64.4029 172.555 62.9326V41.9202C173.622 41.3688 174.523 40.5434 175.165 39.5288C175.807 38.5143 176.167 37.3472 176.208 36.1475Z" />
+ <path
+ android:fillColor="#F28B82"
+ android:pathData="M160.96 79.0195H156.958L159.623 84.3556H155.621L152.913 79.0195H150.291L152.913 84.3556H148.911L146.237 79.0195H143.572L146.237 84.3556H142.235L139.561 79.0195C138.866 79.0195 138.199 79.2956 137.708 79.7869C137.216 80.2783 136.94 80.9447 136.94 81.6395V97.6565C136.94 98.3562 137.214 99.0282 137.704 99.5278C138.194 100.028 138.861 100.315 139.561 100.329H160.925C161.634 100.327 162.312 100.044 162.813 99.5436C163.314 99.0429 163.597 98.3645 163.599 97.6565V81.6832C163.597 80.982 163.319 80.3097 162.825 79.8114C162.332 79.3131 161.662 79.0287 160.96 79.0195Z" />
+ <path
+ android:fillColor="#8AB4F8"
+ android:pathData="M220.544 165.934H208.957C208.19 165.934 207.455 166.238 206.912 166.78C206.37 167.322 206.065 168.058 206.065 168.824V173.706H202.413C202.047 173.701 201.684 173.77 201.346 173.91C201.008 174.05 200.702 174.257 200.447 174.518C200.17 174.766 199.949 175.069 199.799 175.407C199.648 175.746 199.571 176.113 199.573 176.483L199.468 198.78C199.466 199.146 199.535 199.508 199.673 199.847C199.811 200.186 200.015 200.494 200.272 200.755C200.529 201.015 200.835 201.222 201.172 201.364C201.51 201.506 201.872 201.581 202.238 201.583L218.971 201.662C219.71 201.662 220.42 201.37 220.945 200.85C221.47 200.33 221.769 199.623 221.776 198.884V194.928H226.311C227.079 194.926 227.816 194.62 228.359 194.076C228.903 193.533 229.209 192.797 229.212 192.029V174.58L220.544 165.934ZM219.032 198.858L202.299 198.78L202.404 176.475H206.065V191.994C206.064 192.374 206.138 192.751 206.283 193.103C206.428 193.455 206.64 193.774 206.909 194.044C207.178 194.313 207.497 194.527 207.848 194.672C208.2 194.818 208.577 194.893 208.957 194.893H219.05L219.032 198.858ZM223.401 189.112H211.858V186.221H223.436L223.401 189.112ZM223.401 183.322H211.858V180.422H223.436L223.401 183.322ZM226.293 176.073H219.058V168.824L226.311 176.073H226.293Z" />
+ <path
+ android:fillColor="#CEEAD6"
+ android:pathData="M149.068 201.827C158.908 201.827 166.884 193.855 166.884 184.02C166.884 174.185 158.908 166.213 149.068 166.213C139.228 166.213 131.251 174.185 131.251 184.02C131.251 193.855 139.228 201.827 149.068 201.827Z" />
+ <path
+ android:fillColor="#5BB974"
+ android:pathData="M141.125 191.479C140.725 191.499 140.326 191.423 139.961 191.257C139.596 191.092 139.276 190.841 139.028 190.527C138.778 190.205 138.598 189.834 138.502 189.438C138.406 189.042 138.394 188.63 138.469 188.23L139.587 180.239C139.726 179.221 140.233 178.289 141.012 177.619C141.775 176.936 142.766 176.565 143.79 176.58H154.346C155.37 176.565 156.361 176.936 157.124 177.619C157.903 178.289 158.41 179.221 158.549 180.239L159.667 188.23C159.742 188.63 159.73 189.042 159.634 189.438C159.537 189.834 159.358 190.205 159.108 190.527C158.859 190.842 158.538 191.094 158.171 191.26C157.805 191.425 157.404 191.5 157.002 191.479C156.648 191.48 156.298 191.412 155.971 191.278C155.641 191.14 155.343 190.935 155.097 190.675L152.703 188.282H145.45L143.056 190.675C142.809 190.933 142.512 191.139 142.183 191.278C141.847 191.415 141.488 191.483 141.125 191.479ZM141.553 189.182L144.594 186.151H153.542L156.583 189.182C156.71 189.264 156.853 189.321 157.002 189.348C157.088 189.352 157.175 189.339 157.256 189.309C157.337 189.279 157.411 189.233 157.474 189.173C157.531 189.112 157.573 189.038 157.594 188.957C157.616 188.876 157.616 188.791 157.596 188.71L156.408 180.51C156.34 180.008 156.093 179.548 155.713 179.214C155.332 178.88 154.843 178.695 154.337 178.693H143.79C143.284 178.695 142.795 178.88 142.414 179.214C142.034 179.548 141.787 180.008 141.719 180.51L140.54 188.71C140.52 188.791 140.52 188.876 140.542 188.957C140.563 189.038 140.604 189.112 140.662 189.173C140.723 189.232 140.796 189.278 140.876 189.308C140.955 189.338 141.04 189.351 141.125 189.348C141.274 189.311 141.418 189.255 141.553 189.182ZM154.398 185.086C154.539 185.087 154.678 185.061 154.809 185.009C154.939 184.956 155.058 184.879 155.158 184.78C155.258 184.681 155.337 184.563 155.39 184.432C155.443 184.301 155.468 184.161 155.464 184.02C155.466 183.88 155.44 183.74 155.388 183.61C155.335 183.479 155.257 183.361 155.157 183.262C155.058 183.162 154.939 183.084 154.809 183.031C154.678 182.978 154.539 182.952 154.398 182.955C154.257 182.952 154.118 182.978 153.987 183.031C153.857 183.084 153.738 183.162 153.639 183.262C153.54 183.361 153.461 183.479 153.408 183.61C153.356 183.74 153.33 183.88 153.332 184.02C153.327 184.161 153.351 184.302 153.404 184.433C153.457 184.564 153.536 184.682 153.638 184.78C153.737 184.88 153.856 184.959 153.986 185.012C154.117 185.064 154.257 185.089 154.398 185.086ZM152.266 181.889C152.407 181.891 152.546 181.865 152.677 181.812C152.807 181.76 152.926 181.682 153.026 181.584C153.126 181.485 153.205 181.366 153.258 181.235C153.31 181.105 153.336 180.965 153.332 180.824C153.334 180.683 153.308 180.544 153.256 180.413C153.203 180.283 153.125 180.165 153.025 180.065C152.926 179.966 152.807 179.887 152.677 179.835C152.546 179.782 152.407 179.756 152.266 179.758C152.125 179.755 151.985 179.78 151.854 179.833C151.723 179.885 151.605 179.964 151.506 180.064C151.407 180.164 151.329 180.283 151.277 180.413C151.224 180.544 151.198 180.683 151.2 180.824C151.198 180.964 151.224 181.104 151.276 181.234C151.329 181.365 151.407 181.483 151.507 181.583C151.606 181.682 151.725 181.76 151.855 181.813C151.986 181.866 152.125 181.892 152.266 181.889ZM144.542 185.086H146.141V183.226H148.002V181.654H146.141V179.785H144.542V181.654H142.672V183.252H144.542V185.086ZM141.553 189.182C141.504 189.238 141.441 189.28 141.37 189.304C141.292 189.333 141.209 189.348 141.125 189.348C141.04 189.351 140.955 189.338 140.876 189.308C140.796 189.278 140.723 189.232 140.662 189.173C140.604 189.112 140.563 189.038 140.542 188.957C140.52 188.876 140.52 188.791 140.54 188.71L141.719 180.51C141.787 180.008 142.034 179.548 142.414 179.214C142.795 178.88 143.284 178.695 143.79 178.693H154.346C154.852 178.695 155.341 178.88 155.721 179.214C156.102 179.548 156.349 180.008 156.417 180.51L157.596 188.71C157.616 188.791 157.616 188.876 157.594 188.957C157.573 189.038 157.531 189.112 157.474 189.173C157.411 189.233 157.337 189.279 157.256 189.309C157.175 189.339 157.088 189.352 157.002 189.348C156.921 189.348 156.841 189.333 156.766 189.304C156.695 189.28 156.632 189.238 156.583 189.182L153.542 186.151H144.594L141.553 189.182Z" />
+ <path
+ android:fillColor="#FEEFC3"
+ android:pathData="M197.301 94.1194C207.141 94.1194 215.117 86.1468 215.117 76.3121C215.117 66.4775 207.141 58.5049 197.301 58.5049C187.461 58.5049 179.484 66.4775 179.484 76.3121C179.484 86.1468 187.461 94.1194 197.301 94.1194Z" />
+ <path
+ android:fillColor="#FBBC04"
+ android:pathData="M202.22 85.2464V78.1025H199.538V71.8407C199.537 71.2536 199.652 70.672 199.876 70.1295C200.101 69.587 200.43 69.0941 200.846 68.6794C201.262 68.2646 201.756 67.9362 202.299 67.7128C202.842 67.4895 203.424 67.3757 204.012 67.378V85.2464H202.22ZM193.282 85.2464V77.072C192.524 76.871 191.851 76.4334 191.359 75.8231C190.849 75.2077 190.576 74.4301 190.59 73.631V67.378H192.338V73.631H193.212V67.378H194.959V73.631H195.833V67.378H197.581V73.631C197.594 74.4301 197.322 75.2077 196.812 75.8231C196.323 76.4319 195.652 76.8693 194.898 77.072V85.2464H193.282Z" />
+ <path
+ android:fillColor="#FAD2CF"
+ android:pathData="M179.38 231.914C189.219 231.914 197.196 223.941 197.196 214.107C197.196 204.272 189.219 196.299 179.38 196.299C169.54 196.299 161.563 204.272 161.563 214.107C161.563 223.941 169.54 231.914 179.38 231.914Z" />
+ <path
+ android:fillColor="#EE675C"
+ android:pathData="M187.611 212.814L176.077 206.255C175.911 206.151 175.724 206.082 175.53 206.056C175.335 206.029 175.138 206.044 174.95 206.101C174.762 206.157 174.588 206.253 174.44 206.382C174.292 206.511 174.174 206.671 174.093 206.849C173.892 207.05 173.892 207.251 173.892 207.653V220.753C173.887 220.936 173.92 221.119 173.988 221.29C174.056 221.46 174.158 221.615 174.288 221.745C174.418 221.875 174.574 221.977 174.744 222.045C174.915 222.113 175.098 222.146 175.282 222.141C175.561 222.171 175.842 222.103 176.077 221.949L187.436 215.39C187.615 215.308 187.774 215.189 187.903 215.041C188.033 214.893 188.129 214.719 188.186 214.531C188.243 214.342 188.26 214.144 188.234 213.949C188.209 213.754 188.142 213.567 188.039 213.399C188.013 213.216 187.812 213.015 187.611 212.814Z" />
+ <path
android:fillColor="?android:attr/colorAccent"
- android:strokeWidth="1"/>
- <path
- android:pathData="M81.63,56L76.13,56L72.01,60.2L72,68.6C72,69.37 72.62,70 73.38,70L81.63,70C82.38,70 83,69.37 83,68.6L83,57.4C83,56.63 82.38,56 81.63,56ZM77.5,60.2L76.13,60.2L76.13,57.4L77.5,57.4L77.5,60.2ZM79.56,60.2L78.19,60.2L78.19,57.4L79.56,57.4L79.56,60.2ZM81.63,60.2L80.25,60.2L80.25,57.4L81.63,57.4L81.63,60.2Z"
- android:strokeColor="#00000000"
- android:fillType="nonZero"
- android:fillColor="?android:attr/colorAccent"
- android:strokeWidth="1"/>
- <path
- android:pathData="M39,77L87,77A4,4 0,0 1,91 81L91,81A4,4 0,0 1,87 85L39,85A4,4 0,0 1,35 81L35,81A4,4 0,0 1,39 77z"
- android:strokeColor="#00000000"
- android:fillType="evenOdd"
- android:fillColor="?android:attr/colorAccent"
- android:strokeWidth="1"/>
- <path
- android:pathData="M32,77h31v8h-31z"
- android:strokeColor="#00000000"
- android:fillType="evenOdd"
- android:fillColor="#DADCE0"
- android:strokeWidth="1"/>
- <path
- android:pathData="M29,144L97,144L97,6L29,6L29,144ZM27.95,150C25.21,150 23,147.88 23,145.24L23,4.76C23,2.12 25.21,0 27.95,0L98.05,0C100.79,0 103,2.12 103,4.76L103,145.24C103,147.88 100.79,150 98.05,150L27.95,150Z"
- android:strokeColor="#00000000"
- android:fillType="nonZero"
- android:fillColor="#F1F3F4"
- android:strokeWidth="1"/>
- <path
- android:pathData="M27.95,148L98.05,148C99.7,148 101,146.75 101,145.24L101,4.76C101,3.25 99.7,2 98.05,2L27.95,2C26.3,2 25,3.25 25,4.76L25,145.24C25,146.75 26.3,148 27.95,148ZM27.95,150C25.21,150 23,147.88 23,145.24L23,4.76C23,2.12 25.21,0 27.95,0L98.05,0C100.79,0 103,2.12 103,4.76L103,145.24C103,147.88 100.79,150 98.05,150L27.95,150Z"
- android:strokeColor="#00000000"
- android:fillType="nonZero"
- android:fillColor="#DADCE0"
- android:strokeWidth="1"/>
- <path
- android:pathData="M103,58L103,58C104.1,58 105,58.9 105,60L105,76C105,77.1 104.1,78 103,78L103,58Z"
- android:strokeColor="#00000000"
- android:fillType="evenOdd"
- android:fillColor="#DADCE0"
- android:strokeWidth="1"/>
- <path
- android:pathData="M103,32L103,32C104.1,32 105,32.9 105,34L105,40C105,41.1 104.1,42 103,42L103,32Z"
- android:strokeColor="#00000000"
- android:fillType="evenOdd"
- android:fillColor="#DADCE0"
- android:strokeWidth="1"/>
-</vector>
+ android:pathData="M164.604 152.545H170.764V146.432H164.604V152.545ZM189.236 152.545H195.396V146.432H189.236V152.545ZM164.604 140.231H170.764V127.926H164.604V140.231ZM176.924 152.545H183.041V140.231H176.924V152.545ZM176.924 134.074H183.041V127.961H176.924V134.074ZM189.236 140.187H195.396V127.926H189.236V140.187ZM161.528 161.733C159.896 161.728 158.332 161.078 157.177 159.924C156.023 158.77 155.373 157.207 155.368 155.576V118.695L173.883 100.224H198.516C200.14 100.228 201.698 100.872 202.851 102.017C204.004 103.161 204.66 104.713 204.676 106.337V155.576C204.671 157.207 204.021 158.77 202.866 159.924C201.712 161.078 200.148 161.728 198.516 161.733H161.528ZM161.528 155.576H198.472V106.381H176.505L161.528 121.306V155.619V155.576ZM161.528 155.576V121.306L176.505 106.381H198.516V155.619H161.528V155.576Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_storage_wizard_ready.xml b/res/drawable/ic_storage_wizard_ready.xml
new file mode 100644
index 0000000..c09c9ec
--- /dev/null
+++ b/res/drawable/ic_storage_wizard_ready.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2022 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="360dp"
+ android:height="262dp"
+ android:viewportWidth="360"
+ android:viewportHeight="262">
+
+ <path
+ android:fillColor="?android:attr/colorBackground"
+ android:pathData="M335.709 262H24.2913C10.9223 262 0 250.821 0 237.11V24.89C0 11.1787 10.9223 0 24.2913 0H335.796C349.078 0 360 11.1787 360 24.89V237.285C360 250.821 349.078 262 335.709 262Z" />
+ <path
+ android:fillColor="?android:attr/colorAccent"
+ android:pathData="M157.282 160.169H165.67V151.785H157.282V160.169ZM190.835 160.169H199.223V151.785H190.835V160.169ZM157.282 143.401H165.67V126.633H157.282V143.401ZM174.058 160.169H182.447V143.401H174.058V160.169ZM174.058 135.017H182.447V126.633H174.058V135.017ZM190.835 143.401H199.223V126.633H190.835V143.401ZM153.087 172.745C148.456 172.745 144.699 168.99 144.699 164.361V114.057L169.864 88.9053H203.417C208.049 88.9053 211.806 92.6606 211.806 97.2893V164.449C211.806 169.077 208.049 172.833 203.417 172.833L153.087 172.745ZM153.087 164.361H203.417V97.2019H173.359L153 117.551L153.087 164.361ZM153.087 164.361V117.551L173.447 97.2019H203.417V164.361H153.087Z" />
+ <path
+ android:fillColor="?android:attr/colorAccent"
+ android:pathData="M273.233 130.825C273.146 79.386 231.466 37.728 180 37.728C128.534 37.728 86.8544 79.4734 86.8544 130.913C86.8544 182.352 128.534 223.923 180 223.923C231.466 223.923 273.233 182.265 273.233 130.825ZM180 215.189C133.34 215.189 95.5922 177.374 95.5922 130.738C95.5922 84.102 133.427 46.374 180.087 46.374C226.748 46.374 264.495 84.1894 264.495 130.738C264.408 177.374 226.66 215.189 180 215.189Z" />
+ <path
+ android:fillColor="?android:attr/colorBackground"
+ android:pathData="M264.043 194.685C265.976 182.783 257.889 171.568 245.98 169.636C234.071 167.704 222.85 175.787 220.917 187.69C218.985 199.593 227.072 210.808 238.981 212.739C250.89 214.671 262.11 206.588 264.043 194.685Z" />
+ <path
+ android:fillColor="?android:attr/colorAccent"
+ android:pathData="M242.476 166.981C229.107 166.981 218.184 177.811 218.184 191.26C218.184 204.709 229.019 215.539 242.476 215.539C255.845 215.539 266.68 204.709 266.767 191.347C266.68 177.898 255.845 166.981 242.476 166.981ZM242.476 210.648C231.728 210.648 223.078 202.002 223.078 191.26C223.078 180.518 231.728 171.872 242.476 171.872C253.223 171.872 261.874 180.518 261.874 191.26C261.786 201.915 253.136 210.648 242.476 210.648ZM237.582 196.587L231.291 190.299L227.883 193.705L237.582 203.399L256.981 184.011L253.573 180.605L237.582 196.587Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_swap_horiz.xml b/res/drawable/ic_swap_horiz.xml
index a38833b..c41c9a3 100644
--- a/res/drawable/ic_swap_horiz.xml
+++ b/res/drawable/ic_swap_horiz.xml
@@ -20,5 +20,5 @@
android:viewportHeight="24.0">
<path
android:pathData="M6.99,11L3,15l3.99,4v-3H14v-2H6.99v-3zM21,9l-3.99,-4v3H10v2h7.01v3L21,9z"
- android:fillColor="#000000"/>
+ android:fillColor="?android:attr/textColorPrimary"/>
</vector>
diff --git a/res/drawable/ic_test_tick.xml b/res/drawable/ic_test_tick.xml
new file mode 100644
index 0000000..9585806
--- /dev/null
+++ b/res/drawable/ic_test_tick.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright 2022 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="48dp"
+ android:height="48dp"
+ android:viewportWidth="48"
+ android:viewportHeight="48">
+
+ <path
+ android:fillColor="?android:attr/colorAccent"
+ android:pathData="M7.99999 14.6L2.39999 8.99999L0.533325 10.8667L7.99999 18.3333L24 2.33333L22.1333 0.46666L7.99999 14.6Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/tile_icon_desktop_mode.xml b/res/drawable/tile_icon_desktop_mode.xml
new file mode 100644
index 0000000..2ccd81f
--- /dev/null
+++ b/res/drawable/tile_icon_desktop_mode.xml
@@ -0,0 +1,25 @@
+<!--
+Copyright (C) 2022 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:tint="?android:attr/colorControlNormal"
+ android:viewportHeight="24.0"
+ android:viewportWidth="24.0">
+ <path
+ android:fillColor="#FFFFFFFF"
+ android:pathData="M18,15V20Q18,20.825 17.413,21.413Q16.825,22 16,22H4Q3.175,22 2.588,21.413Q2,20.825 2,20V11Q2,10.175 2.588,9.587Q3.175,9 4,9H6V4Q6,3.175 6.588,2.587Q7.175,2 8,2H20Q20.825,2 21.413,2.587Q22,3.175 22,4V13Q22,13.825 21.413,14.412Q20.825,15 20,15ZM4,13V20Q4,20 4,20Q4,20 4,20H16Q16,20 16,20Q16,20 16,20V13ZM18,13H20Q20,13 20,13Q20,13 20,13V6H8V9H16Q16.825,9 17.413,9.587Q18,10.175 18,11Z" />
+</vector>
diff --git a/res/layout/battery_chart_graph.xml b/res/layout/battery_chart_graph.xml
index df48144..f116c8e 100644
--- a/res/layout/battery_chart_graph.xml
+++ b/res/layout/battery_chart_graph.xml
@@ -29,17 +29,35 @@
android:layout_marginVertical="16dp"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?android:attr/textColorSecondary"
- android:text="@string/battery_usage_chart_graph_hint" />
+ android:text="@string/battery_usage_chart_graph_hint_last_full_charge" />
- <com.android.settings.fuelgauge.batteryusage.BatteryChartView
- android:id="@+id/battery_chart"
+ <LinearLayout
+ android:id="@+id/battery_chart_group"
android:layout_width="match_parent"
- android:layout_height="170dp"
- android:layout_marginBottom="6dp"
- android:visibility="invisible"
- android:contentDescription="@string/battery_usage_chart"
- android:textAppearance="?android:attr/textAppearanceSmall"
- settings:textColor="?android:attr/textColorSecondary" />
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:alpha="0">
+ <com.android.settings.fuelgauge.batteryusage.BatteryChartView
+ android:id="@+id/daily_battery_chart"
+ android:layout_width="match_parent"
+ android:layout_height="170dp"
+ android:layout_marginBottom="16dp"
+ android:visibility="gone"
+ android:contentDescription="@string/daily_battery_usage_chart"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ settings:textColor="?android:attr/textColorSecondary" />
+
+ <com.android.settings.fuelgauge.batteryusage.BatteryChartView
+ android:id="@+id/hourly_battery_chart"
+ android:layout_width="match_parent"
+ android:layout_height="170dp"
+ android:layout_marginBottom="16dp"
+ android:visibility="visible"
+ android:contentDescription="@string/hourly_battery_usage_chart"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ settings:textColor="?android:attr/textColorSecondary" />
+ </LinearLayout>
+
<!-- Use non-scalable text size from text_size_small_material -->
<TextView
android:id="@+id/companion_text"
diff --git a/res/layout/card_preference.xml b/res/layout/card_preference.xml
index be49ca3..39523eb 100644
--- a/res/layout/card_preference.xml
+++ b/res/layout/card_preference.xml
@@ -57,6 +57,30 @@
android:maxLines="10"
style="@style/PreferenceSummaryTextStyle"/>
+ <RelativeLayout
+ android:id="@+id/card_preference_buttons"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="8dp"
+ android:layout_below="@android:id/summary"
+ android:visibility="gone">
+ <Button
+ android:id="@android:id/button1"
+ style="@style/CardPreferencePrimaryButton"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:layout_marginHorizontal="4dp"
+ android:layout_toStartOf="@android:id/button2"
+ android:visibility="gone"/>
+ <Button
+ android:id="@android:id/button2"
+ style="@style/CardPreferenceBorderlessButton"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:layout_marginHorizontal="4dp"
+ android:layout_alignParentEnd="true"
+ android:visibility="gone"/>
+ </RelativeLayout>
</RelativeLayout>
<!-- Preference should place its actual preference widget here. -->
diff --git a/res/layout/locale_drag_cell.xml b/res/layout/locale_drag_cell.xml
index 7b932f3..47bf70a 100644
--- a/res/layout/locale_drag_cell.xml
+++ b/res/layout/locale_drag_cell.xml
@@ -56,6 +56,17 @@
android:layout_toStartOf="@+id/dragHandle"
android:layout_below="@id/label"/>
+ <TextView
+ android:id="@+id/default_locale"
+ style="@style/LanguageCheckboxAndLabel"
+ android:layout_marginTop="-28dp"
+ android:paddingStart="56dp"
+ android:textAppearance="?android:attr/textAppearanceListItemSecondary"
+ android:textColor="?android:textColorSecondary"
+ android:text="@string/desc_current_default_language"
+ android:layout_toStartOf="@+id/dragHandle"
+ android:layout_below="@id/label"/>
+
<ImageView
android:id="@+id/dragHandle"
android:layout_width="wrap_content"
diff --git a/res/layout/storage_internal_format.xml b/res/layout/storage_internal_format.xml
index 0b49d7e..f8224c4 100644
--- a/res/layout/storage_internal_format.xml
+++ b/res/layout/storage_internal_format.xml
@@ -14,16 +14,16 @@
limitations under the License.
-->
-<LinearLayout
+<androidx.core.widget.NestedScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical">
+ android:layout_height="wrap_content"
+ android:fillViewport="true">
- <androidx.core.widget.NestedScrollView
+ <LinearLayout
android:layout_width="match_parent"
- android:layout_height="0dp"
- android:layout_weight="1">
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
<TextView
android:id="@+id/body"
android:layout_width="match_parent"
@@ -35,19 +35,21 @@
android:lineSpacingExtra="@dimen/sud_description_line_spacing_extra"
android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body1"
android:textColor="?android:attr/textColorPrimary" />
- </androidx.core.widget.NestedScrollView>
- <FrameLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:padding="4dp">
- <Button
- android:id="@+id/confirm"
+ <FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:text="@string/storage_menu_format"
- android:textColor="@android:color/white"
- android:backgroundTint="@color/storage_wizard_button_red" />
- </FrameLayout>
+ android:padding="4dp">
+ <Button
+ style="@style/ActionPrimaryButton"
+ android:id="@+id/confirm"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:text="@string/storage_menu_format_button"
+ android:textColor="@android:color/white"
+ android:backgroundTint="@color/storage_wizard_button_red" />
+ </FrameLayout>
+ </LinearLayout>
-</LinearLayout>
+</androidx.core.widget.NestedScrollView>
diff --git a/res/layout/storage_wizard_generic.xml b/res/layout/storage_wizard_generic.xml
index e7881d3..fc0bab1 100644
--- a/res/layout/storage_wizard_generic.xml
+++ b/res/layout/storage_wizard_generic.xml
@@ -14,32 +14,52 @@
limitations under the License.
-->
-<com.google.android.setupdesign.GlifLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/setup_wizard_layout"
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/storage_wizard_container"
android:layout_width="match_parent"
- android:layout_height="match_parent">
+ android:layout_height="wrap_content"
+ android:fitsSystemWindows="true">
- <LinearLayout
- style="@style/SudContentFrame"
+ <com.google.android.setupdesign.GlifLayout
+ android:id="@+id/setup_wizard_layout"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical">
+ android:layout_height="match_parent">
- <TextView
- android:id="@+id/storage_wizard_body"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/sud_description_margin_top"
- android:lineSpacingExtra="@dimen/sud_description_line_spacing_extra"
- android:textColor="?android:attr/textColorPrimary" />
+ <LinearLayout
+ style="@style/SudContentFrame"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
- <FrameLayout
- android:id="@+id/storage_wizard_aux"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:visibility="gone" />
+ <TextView
+ android:id="@+id/storage_wizard_body"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/sud_description_margin_top"
+ android:lineSpacingExtra="@dimen/sud_description_line_spacing_extra"
+ android:textSize="18sp"
+ android:textColor="?android:attr/textColorSecondary" />
- </LinearLayout>
+ <FrameLayout
+ android:id="@+id/storage_wizard_aux"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:visibility="gone" />
-</com.google.android.setupdesign.GlifLayout>
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/setup_completion_margin_top"
+ android:orientation="vertical"
+ android:gravity="center_horizontal">
+ <ImageView
+ android:id="@+id/storage_wizard_body_image"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:scaleType="centerInside"/>
+ </LinearLayout>
+
+ </LinearLayout>
+
+ </com.google.android.setupdesign.GlifLayout>
+</RelativeLayout>
diff --git a/res/layout/storage_wizard_init.xml b/res/layout/storage_wizard_init.xml
index e1e78331..2d21e0e 100644
--- a/res/layout/storage_wizard_init.xml
+++ b/res/layout/storage_wizard_init.xml
@@ -14,124 +14,30 @@
limitations under the License.
-->
-<com.google.android.setupdesign.GlifLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/setup_wizard_layout"
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/storage_wizard_container"
android:layout_width="match_parent"
- android:layout_height="match_parent">
+ android:layout_height="wrap_content"
+ android:fitsSystemWindows="true">
- <LinearLayout
- style="@style/SudContentFrame"
+ <com.google.android.setupdesign.GlifLayout
+ android:id="@+id/setup_wizard_layout"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical">
+ android:layout_height="match_parent">
+ <LinearLayout
+ style="@style/SudContentFrame"
+ android:id="@+id/storage_wizard_init"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+ <ViewFlipper
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:id="@+id/viewFlipper">
+ <include layout = "@layout/storage_wizard_init_external" />
+ <include layout = "@layout/storage_wizard_init_internal" />
+ </ViewFlipper>
+ </LinearLayout>
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/sud_description_margin_top"
- android:orientation="horizontal"
- android:gravity="center_vertical">
- <ImageView
- android:layout_width="144dp"
- android:layout_height="144dp"
- android:scaleType="centerInside"
- android:src="@drawable/ic_storage_wizard_internal" />
- <LinearLayout
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:layout_marginStart="@dimen/sud_glif_margin_start"
- android:orientation="vertical">
- <TextView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginBottom="@dimen/sud_description_margin_bottom"
- android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Subhead"
- android:text="@string/storage_wizard_init_v2_internal_title" />
- <TextView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginBottom="@dimen/sud_description_margin_bottom"
- android:textColor="?android:attr/textColorSecondary"
- android:text="@string/storage_wizard_init_v2_internal_summary" />
- <Button
- android:id="@+id/storage_wizard_init_internal"
- style="@style/SudGlifButton.Primary"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/storage_wizard_init_v2_internal_action"
- android:onClick="onNavigateInternal" />
- </LinearLayout>
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/sud_description_margin_top"
- android:orientation="horizontal"
- android:gravity="center_vertical">
- <View
- android:layout_width="0dp"
- android:layout_height="1dp"
- android:layout_weight="1"
- android:background="@android:color/black"
- android:backgroundTint="?android:attr/textColorTertiary" />
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginEnd="8dp"
- android:text="@string/storage_wizard_init_v2_or"
- android:textColor="?android:attr/textColorTertiary"
- android:textAllCaps="true" />
- <View
- android:layout_width="0dp"
- android:layout_height="1dp"
- android:layout_weight="1"
- android:background="@android:color/black"
- android:backgroundTint="?android:attr/textColorTertiary" />
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/sud_description_margin_top"
- android:orientation="horizontal"
- android:gravity="center_vertical">
- <ImageView
- android:layout_width="144dp"
- android:layout_height="144dp"
- android:scaleType="centerInside"
- android:src="@drawable/ic_storage_wizard_external" />
- <LinearLayout
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:layout_marginStart="@dimen/sud_glif_margin_start"
- android:orientation="vertical">
- <TextView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginBottom="@dimen/sud_description_margin_bottom"
- android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Subhead"
- android:text="@string/storage_wizard_init_v2_external_title" />
- <TextView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginBottom="@dimen/sud_description_margin_bottom"
- android:textColor="?android:attr/textColorSecondary"
- android:text="@string/storage_wizard_init_v2_external_summary" />
- <Button
- android:id="@+id/storage_wizard_init_external"
- style="@style/SudGlifButton.Primary"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/storage_wizard_init_v2_external_action"
- android:onClick="onNavigateExternal" />
- </LinearLayout>
- </LinearLayout>
-
- </LinearLayout>
-
-</com.google.android.setupdesign.GlifLayout>
+ </com.google.android.setupdesign.GlifLayout>
+</RelativeLayout>
\ No newline at end of file
diff --git a/res/layout/storage_wizard_init_external.xml b/res/layout/storage_wizard_init_external.xml
new file mode 100644
index 0000000..38df28b
--- /dev/null
+++ b/res/layout/storage_wizard_init_external.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2022 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:layout_marginTop="@dimen/sud_description_margin_top"
+ android:orientation="vertical">
+ <TextView
+ android:id="@+id/storage_wizard_init_external_text"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="32dp"
+ android:textColor="?android:attr/textColorSecondary"
+ android:textSize="18sp"
+ android:text="@string/storage_wizard_init_v2_external_summary" />
+ <ImageView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:scaleType="centerInside"
+ android:src="@drawable/ic_storage_wizard_external" />
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/storage_wizard_init_internal.xml b/res/layout/storage_wizard_init_internal.xml
new file mode 100644
index 0000000..0a18070
--- /dev/null
+++ b/res/layout/storage_wizard_init_internal.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2022 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:layout_marginTop="@dimen/sud_description_margin_top"
+ android:orientation="vertical">
+ <TextView
+ android:id="@+id/storage_wizard_init_internal_text"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="32dp"
+ android:textColor="?android:attr/textColorSecondary"
+ android:textSize="18sp"
+ android:text="@string/storage_wizard_init_v2_internal_summary" />
+ <ImageView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:scaleType="centerInside"
+ android:src="@drawable/ic_storage_wizard_internal" />
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/storage_wizard_progress.xml b/res/layout/storage_wizard_progress.xml
index 577ec3c..890be70 100644
--- a/res/layout/storage_wizard_progress.xml
+++ b/res/layout/storage_wizard_progress.xml
@@ -14,47 +14,55 @@
limitations under the License.
-->
-<com.google.android.setupdesign.GlifLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/setup_wizard_layout"
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/storage_wizard_container"
android:layout_width="match_parent"
- android:layout_height="match_parent">
+ android:layout_height="wrap_content"
+ android:fitsSystemWindows="true">
- <LinearLayout
- style="@style/SudContentFrame"
+ <com.google.android.setupdesign.GlifLayout
+ android:id="@+id/setup_wizard_layout"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical">
+ android:layout_height="match_parent">
- <ProgressBar
- android:id="@+id/storage_wizard_progress"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/sud_description_margin_top"
- android:indeterminate="false"
- style="?android:attr/progressBarStyleHorizontal" />
- <TextView
- android:id="@+id/storage_wizard_progress_summary"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:lineSpacingExtra="@dimen/sud_description_line_spacing_extra"
- android:textColor="?android:attr/textColorSecondary" />
+ <LinearLayout
+ style="@style/SudContentFrame"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
- <TextView
- android:id="@+id/storage_wizard_body"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/sud_description_margin_top"
- android:lineSpacingExtra="@dimen/sud_description_line_spacing_extra"
- android:textColor="?android:attr/textColorPrimary"
- android:visibility="gone" />
+ <ProgressBar
+ android:id="@+id/storage_wizard_progress"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/sud_description_margin_top"
+ android:indeterminate="false"
+ style="?android:attr/progressBarStyleHorizontal" />
+ <TextView
+ android:id="@+id/storage_wizard_progress_summary"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:lineSpacingExtra="@dimen/sud_description_line_spacing_extra"
+ android:textSize="18sp"
+ android:textColor="?android:attr/textColorSecondary" />
- <FrameLayout
- android:id="@+id/storage_wizard_aux"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:visibility="gone" />
+ <TextView
+ android:id="@+id/storage_wizard_body"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/sud_description_margin_top"
+ android:lineSpacingExtra="@dimen/sud_description_line_spacing_extra"
+ android:textColor="?android:attr/textColorPrimary"
+ android:textSize="18sp"
+ android:visibility="gone" />
- </LinearLayout>
+ <FrameLayout
+ android:id="@+id/storage_wizard_aux"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:visibility="gone" />
-</com.google.android.setupdesign.GlifLayout>
+ </LinearLayout>
+
+ </com.google.android.setupdesign.GlifLayout>
+</RelativeLayout>
diff --git a/res/menu/storage_volume.xml b/res/menu/storage_volume.xml
index 422355d..b8725fb 100644
--- a/res/menu/storage_volume.xml
+++ b/res/menu/storage_volume.xml
@@ -29,10 +29,10 @@
android:title="@string/storage_menu_format" />
<item
android:id="@+id/storage_format_as_portable"
- android:title="@string/storage_menu_format_public" />
+ android:title="@string/storage_menu_format_option" />
<item
android:id="@+id/storage_format_as_internal"
- android:title="@string/storage_menu_format_private" />
+ android:title="@string/storage_menu_format_option" />
<item
android:id="@+id/storage_migrate"
android:title="@string/storage_menu_migrate" />
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index d631d46..d864231 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Jy het nie toestemming om Bluetooth-instellings te verander nie."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Bind nuwe toestel saam"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Bind regteroor saam"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Bind linkeroor saam"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Bind jou ander oor saam"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Jou linkergehoortoestel is gekoppel.\n\nMaak seker dat jou regtergehoortoestel aangeskakel en gereed is om saam te bind wanneer jy dit wil saambind."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Jou regtergehoortoestel is gekoppel.\n\nMaak seker dat jou linkergehoortoestel aangeskakel en gereed is om saam te bind wanneer jy dit wil saambind."</string>
@@ -2554,7 +2556,7 @@
<string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Groen swak, deuteranomalie"</string>
<string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Rooi swak, protanomalie"</string>
<string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomalie"</string>
- <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Ekstra donker"</string>
+ <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Ekstra flou"</string>
<string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Maak skerm ekstra donker"</string>
<string name="reduce_bright_colors_shortcut_title" msgid="495648157059202745">"Ekstra Donker-kortpad"</string>
<string name="reduce_bright_colors_about_title" msgid="503655452544934393">"Meer oor ekstra donker"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Sommige kenmerke kan beperk word"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Hoër battery gebruik"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Sien programme met die hoogste gebruik"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Laaiproses word tydelik beperk"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Om jou battery te spaar. Kom meer te wete."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Hervat laaiproses"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"In sekere omstandighede, soos hoë temperature en lang laaitydperke, kan die laaiproses tot <xliff:g id="PERCENT">%1$s</xliff:g> beperk word om die battery gesond te hou.\n\nWanneer dié omstandighede eindig, sal jou foon outomaties normaalweg laai."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"In sekere omstandighede, soos hoë temperature en lang laaitydperke, kan die laaiproses tot <xliff:g id="PERCENT">%1$s</xliff:g> beperk word om die battery gesond te hou.\n\nWanneer daardie omstandighede eindig, sal jou tablet outomaties normaalweg laai."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Hierdie program sal batterykrag op die agtergrond kan gebruik. Jou battery sal dalk gouer as verwag afloop."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Verwyder"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Kanselleer"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Jou programme gebruik \'n gewone hoeveelheid batterykrag. As programme te veel batterykrag gebruik, sal jou foon handelinge voorstel wat jy kan uitvoer.\n\nJy kan altyd Batterybespaarder aanskakel as jou battery begin pap raak."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Jou programme gebruik \'n gewone hoeveelheid batterykrag. As programme te veel batterykrag gebruik, sal jou tablet handelinge voorstel wat jy kan uitvoer.\n\nJy kan altyd Batterybespaarder aanskakel as jou battery begin pap raak."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Jou programme gebruik \'n gewone hoeveelheid batterykrag. As programme te veel batterykrag gebruik, sal jou toestel handelinge voorstel wat jy kan uitvoer.\n\nJy kan altyd Batterybespaarder aanskakel as jou battery begin pap raak."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"met battery <xliff:g id="PERCENT">%1$s</xliff:g> vol"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Batterypersentasie"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Wys batterypersentasie op statusbalk"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Batteryvlak sedert battery laas volgelaai is"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Batteryvlak vir die afgelope 24 u."</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Programgebruik sedert battery laas volgelaai is"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Programgebruik vir die afgelope 24 u."</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Stelselgebruik sedert battery laas volgelaai is"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Stelselgebruik vir die afgelope 24 u."</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Stelselgebruik vir <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Programgebruik vir <xliff:g id="SLOT">%s</xliff:g>"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index de6b426..1d4454f 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -49,12 +49,12 @@
<string name="sdcard_format" product="default" msgid="3676635435136326182">"የSD ካርድ አጥፋ"</string>
<string name="preview_pager_content_description" msgid="3762247188224576303">"ቅድመ-ዕይታ"</string>
<string name="preview_page_indicator_content_description" msgid="2790254666634885865">"ቅድመ-እይታ፣ ገጽ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> ከ<xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
- <string name="font_size_summary" msgid="1296835853522566260">"በማያ ገጽ ላይ ያለውን ጽሑፍ ያሳንሱ ወይም ያተልቁ።"</string>
+ <string name="font_size_summary" msgid="1296835853522566260">"በማያ ገጽ ላይ ያለውን ጽሁፍ ያሳንሱ ወይም ያተልቁ።"</string>
<string name="font_size_make_smaller_desc" msgid="4978038055549590140">"አነስ አድርግ"</string>
<string name="font_size_make_larger_desc" msgid="5583046033381722247">"ተለቅ አድርግ"</string>
<string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"ራስ-አዙርን ይጠቀሙ"</string>
<string name="smart_rotate_text_headline" msgid="5878008933992951904">"የራስ-አዙርን ትክክለኝነትን ለማሻሻል መልክ ማወቅ የፊት ለፊቱን ካሜራ ይጠቀማል። ምስሎች በጭራሽ አይከማቹም ወይም ወደ Google አይላኩም።"</string>
- <string name="font_size_preview_text_headline" msgid="1173103737980511652">"የናሙና ጽሑፍ"</string>
+ <string name="font_size_preview_text_headline" msgid="1173103737980511652">"የናሙና ጽሁፍ"</string>
<string name="font_size_preview_text_title" msgid="6363561029914452382">"አስደናቂው የኦዝ ምትሃተኛ"</string>
<string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"ምዕራፍ 11፦ ኦዝ፣ አስደናቂዋ የኤምራልድ ከተማ"</string>
<string name="font_size_preview_text_body" msgid="3323732544011097199">"ምንም እንኳን ዶርቲ እና ጓደኞችዋ በአረንጓዴ መነጽሮች ዓይኖቻቸው የተጠበቁ የነበሩ ቢሆንም በአስገራሚዋ ከተማ ብርቅርቅታ ገና ከመጀመሪያው ዓይኖቻቸው ተጭበርብረው ነበር። ጎዳናዎቹ ሁሉም ከአረንጓዴ እብነበረድ በተሠሩ በየቦታው ከሚያንጸባርቁ ውድ ኤምራልድ ድንጋዮች ያጌጡ ግድግዳዎች ባለቸው ቆንጆ ቤቶች ሰልፍ ይዘዋል። መልኩ ተመሳሳይ ከሆነ ከአረንጓዴ እብነበረድ ከተሠራው የእግረኛ መንገድ ላይ፣ የእግረኛ መንገዱ ክፍልፋዮች አጠገብ ለአጠገብ ጣል ጣል በተደረጉ እርስበርሳቸው በተጠላለፉ የኤምራልድ ረድፎች፣ በእግራቸው ሲንሸራሸሩ ኤምራሎዶቹ በፀሐይዋ ብርሃን ብርቅርቅ ይሉ ነበር። የአረንጓዴ መስታውቶቹ የመስኮት ክፈፎች፤ ሌላው ሳይቀር ከከተማዋ አናት ላይ ያለው ሰማይ አረንጓዴ ቀለም የተቀባ ይመስል ነበር፤ የፀሐይዋ ጨረሮችም አረንጓዴ ነበሩ። \n\nወዲያ ወዲህ የሚሉ በርካታ ሰዎች፣ ወንዶች፣ ሴቶች እና ሕፃናት ነበሩ፤ ሁሉም ደግሞ አረንጓዴ ልብሶችን ለብሰዋል ቆዳቸውም አረንጓዴ ሆኗል። ዶርቲን እና በግራሞት አፋቸውን የከፈቱ ጀሌዎችዋን በመደነቅ ዓይን እያዩዋቸው ያልፋሉ፤ እና ድንገት አንበሳውን ሲያዩ ሕፃናቱ ሮጠው ከእናቶቻቸው ጀርባ ተደበቁ፤ ግን ማንም ሰው ምን እንደሆኑ አልጠየቃቸውም። በርካታ ሱቆች በጎዳናው ላይ ተደርድረዋል፤ እና ዶርቲ በውስጣቸው ያለው ሁሉም ነገር አረንጓዴ እንደሆነ ተመለከተች። አረንጓዴ ከረሜላ እና አረንጓዴ ፈንድሻ እንዲሁም አረንጓዴ ጫማዎች፣ አረንጓዴ ባርኔጣዎች እና አረንጓዴ ልብሶች በዓይነት በዓይነቱ በቅናሽ ዋጋ ለሽያጭ ቀርበዋል። አንዱ ቦታ ላይ የሆነ ሰውዬ አረንጓዴ ሎሚ ጭማቂዎችን እየሸጠ ነበር፤ ልጆቹ ሲገዙት አረንጓዴ ሳንቲሞች ተጠቀመው እንደሚከፍሉት ዶርቲ ታይ ነበር። \n\nምንም ዓይነት ፈረሶች ወይም ምንም ዓይነት እንስሳቶች በቦታው አይታዩም፤ ሰዎቹ ዕቃዎችን የሚያጓጉዙት አረንጓዴ ጋሪዎችን ተጠቅመው እራሳቸው ከኋላ ሆነው ወደፊት በመግፋት ነበር። ሁሉም ሰው ደስተኛ እና ፍልቅልቅ ያለ እና ባለጠጋ ይመስል ነበር።"</string>
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"የብሉቱዝ ቅንብሮችን ለመለወጥ ፈቃድ የልዎትም።"</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"አዲስ መሣሪያ ያጣምሩ"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"ብሉቱዝ"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"የቀኝ ጆሮን ያጣምሩ"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"የግራ ጆሮን ያጣምሩ"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"ሌላውን ጆሮዎን ያጣምሩ"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"የግራ የመስሚያ አጋዥ መሣሪያዎ ተገናኝቷል።\n\nየቀኙን ለማጣመር መብራቱን እና ለመጣመር መዘጋጀቱን ያረጋግጡ።"</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"የቀኝ የመስሚያ አጋዥ መሣሪያዎ ተገናኝቷል።\n\nየግራውን ለማጣመር መብራቱን እና ለመጣመር መዘጋጀቱን ያረጋግጡ።"</string>
@@ -232,7 +234,7 @@
<item quantity="one">የተመረጡት ቋንቋዎች ይወገዱ?</item>
<item quantity="other">የተመረጡት ቋንቋዎች ይወገዱ?</item>
</plurals>
- <string name="dlg_remove_locales_message" msgid="8110560091134252067">"ጽሑፍ በሌላ ቋንቋ ይታያል።"</string>
+ <string name="dlg_remove_locales_message" msgid="8110560091134252067">"ጽሁፍ በሌላ ቋንቋ ይታያል።"</string>
<string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"ሁሉንም ቋንቋዎች ማስወገድ አይቻልም"</string>
<string name="dlg_remove_locales_error_message" msgid="6504279959974675302">"ቢያንስ አንድ የተመረጠ ቋንቋ ያቆዩ"</string>
<string name="locale_not_translated" msgid="5079729745235316146">"በአንዳንድ መተግበሪያዎች ውስጥ ላይገኝ ይችላል"</string>
@@ -305,7 +307,7 @@
<string name="lock_immediately_summary_with_exception" msgid="40819611828339044">"በ <xliff:g id="TRUST_AGENT_NAME">%1$s</xliff:g> እንደተከፈተ እንዲቆይ ካልተደረገ በቀር ከእረፍት ጊዜ በኋላ ወዲያውኑ"</string>
<string name="lock_after_timeout_summary_with_exception" msgid="3441806647509073124">"ከእረፍት ጊዜ በኋላ <xliff:g id="TIMEOUT_STRING">%1$s</xliff:g>፣ በ<xliff:g id="TRUST_AGENT_NAME">%2$s</xliff:g> ካልተከፈተ በስተቀር"</string>
<string name="show_owner_info_on_lockscreen_label" msgid="197365342192696406">"በተቆለፈ ማያ የባለቤት መረጃ አሳይ"</string>
- <string name="owner_info_settings_title" msgid="3555626140700093017">"በማያ ገጽ መቆለፊያ ላይ ጽሑፍ ያክሉ"</string>
+ <string name="owner_info_settings_title" msgid="3555626140700093017">"በማያ ገጽ መቆለፊያ ላይ ጽሁፍ ያክሉ"</string>
<string name="security_enable_widgets_title" msgid="676199714313423099">"ንዑስ ፕሮግራሞችን አንቃ"</string>
<string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"በአስተዳዳሪ ተሰናክሏል"</string>
<string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"እምነት ሲጠፋ ማያ ገጽን ቆልፍ"</string>
@@ -1468,9 +1470,9 @@
<string name="doze_summary" msgid="8252867381522942804">"ማያ ገጽ ጨለማ ሲሆን ለአዲስ ማሳወቂያዎች ይበራል"</string>
<string name="doze_always_on_title" msgid="7326245192352868477">"ሁልጊዜ ሰዓትን እና መረጃን አሳይ"</string>
<string name="doze_always_on_summary" msgid="509097829739647852">"የባትሪ አጠቃቀምን ይጨምራል"</string>
- <string name="force_bold_text" msgid="4620929631102086716">"ደማቅ ጽሑፍ"</string>
+ <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="short_summary_font_size" msgid="8444689613442419978">"ጽሁፍ ያተልቁ ወይም ያሳንሱ"</string>
<string name="sim_lock_settings" msgid="4493069398250139205">"የSIM ካርድ ቆልፍ ቅንብሮች"</string>
<string name="sim_lock_settings_category" msgid="4280307997492851625">"የሲም ካርድ ቁልፍ"</string>
<string name="sim_lock_settings_summary_off" msgid="4570941250786847095">"ጠፍቷል"</string>
@@ -1925,7 +1927,7 @@
<string name="contributors_title" msgid="7965640251547037965">"አዋጮች"</string>
<string name="manual" msgid="3651593989906084868">"መመሪያ"</string>
<string name="regulatory_labels" msgid="5960251403367154270">"የመከታተያ መሰየሚያዎች"</string>
- <string name="safety_and_regulatory_info" msgid="8285048080439298528">"የደህንነት እና የቁጥጥር መመሪያ ጽሑፍ"</string>
+ <string name="safety_and_regulatory_info" msgid="8285048080439298528">"የደህንነት እና የቁጥጥር መመሪያ ጽሁፍ"</string>
<string name="copyright_title" msgid="83245306827757857">"የቅጂ መብት"</string>
<string name="license_title" msgid="8745742085916617540">"ፍቃድ"</string>
<string name="module_license_title" msgid="8705484239826702828">"የGoogle Play ስርዓት ዝማኔ ፈቃዶች"</string>
@@ -2218,7 +2220,7 @@
<string name="auto_punctuate_summary" msgid="3549190848611386748">"\".\" ለማስገባት የቦታ ቁልፍን ሁለቴ ተጫን"</string>
<string name="show_password" msgid="7101900779571040117">"የይለፍ ቃላት አሳይ"</string>
<string name="show_password_summary" msgid="9025960283785111619">"እርስዎ በሚተይቡበት ጊዜ ቁምፊዎችን በአጭሩ ያሳዩ"</string>
- <string name="spellchecker_security_warning" msgid="2016059050608271820">"ይህ ሥርዓተ ሆሄ ፈታሽ ሁሉንም የምትተይበውን ጽሑፍ እንደ ይለፍቃል እና የብድር ካርድ ቁጥሮችን ያሉ የግል መረጃዎችን ጨምሮ በሙሉ ሊሰበስብ ይችል ይሆናል:: ከ <xliff:g id="SPELLCHECKER_APPLICATION_NAME">%1$s</xliff:g> መተግበሪያ ይመጣል:: ይህን ሥርዓተ ሆሄ ፈታሽ ተጠቀም?"</string>
+ <string name="spellchecker_security_warning" msgid="2016059050608271820">"ይህ ሥርዓተ ሆሄ ፈታሽ ሁሉንም የምትተይበውን ጽሁፍ እንደ ይለፍቃል እና የብድር ካርድ ቁጥሮችን ያሉ የግል መረጃዎችን ጨምሮ በሙሉ ሊሰበስብ ይችል ይሆናል:: ከ <xliff:g id="SPELLCHECKER_APPLICATION_NAME">%1$s</xliff:g> መተግበሪያ ይመጣል:: ይህን ሥርዓተ ሆሄ ፈታሽ ተጠቀም?"</string>
<string name="spellchecker_quick_settings" msgid="6449414356743946577">"ቅንብሮች"</string>
<string name="spellchecker_language" msgid="8905487366580285282">"ቋንቋ"</string>
<string name="keyboard_and_input_methods_category" msgid="5296847777802891649">"ቁልፍ ሰሌዳዎች"</string>
@@ -2268,7 +2270,7 @@
<string name="testing" msgid="6294172343766732037">"ሙከራ"</string>
<string name="testing_phone_info" product="tablet" msgid="1910768200608214456">"የጡባዊ መረጃ"</string>
<string name="testing_phone_info" product="default" msgid="1150527695827743906">"የስልክ መረጃ"</string>
- <string name="input_methods_settings_title" msgid="7796027458321225550">"ፅሁፍ ግቤት"</string>
+ <string name="input_methods_settings_title" msgid="7796027458321225550">"ጽሁፍ ግቤት"</string>
<string name="input_method" msgid="2982805181425436775">"የግቤት ስልት"</string>
<string name="current_input_method" msgid="3471068842881330883">"የአሁኑ ቁልፍ ሰሌዳ"</string>
<string name="input_method_selector" msgid="8463209725824763600">"የግቤት ስልት መራጭ"</string>
@@ -2316,9 +2318,9 @@
<string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
<string name="talkback_summary" msgid="5820927220378864281">"በዋነኝነት ማየት የተሳናቸው ወይም የማየት ችሎታቸው ዝቅተኛ ለሆኑ ሰዎች የሆነ የማያ ገጽ አንባቢ"</string>
<string name="select_to_speak_summary" msgid="1995285446766920925">"በማያ ገጽዎ ላይ ያሉ ንጥሎች ጮክ ተብለው ሲነበቡ ለማዳመጥ መታ ያድርጓቸው"</string>
- <string name="accessibility_captioning_title" msgid="4561871958958925225">"የመግለጫ ጽሑፍ ምርጫዎች"</string>
- <string name="accessibility_captioning_about_title" msgid="3542171637334191563">"ስለመግለጫ ጽሑፍ ምርጫዎች"</string>
- <string name="accessibility_captioning_footer_learn_more_content_description" msgid="5730040700677017706">"ስለመግለጫ ጽሑፍ ምርጫዎች የበለጠ ይወቁ"</string>
+ <string name="accessibility_captioning_title" msgid="4561871958958925225">"የመግለጫ ጽሁፍ ምርጫዎች"</string>
+ <string name="accessibility_captioning_about_title" msgid="3542171637334191563">"ስለመግለጫ ጽሁፍ ምርጫዎች"</string>
+ <string name="accessibility_captioning_footer_learn_more_content_description" msgid="5730040700677017706">"ስለመግለጫ ጽሁፍ ምርጫዎች የበለጠ ይወቁ"</string>
<string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"ማጉላት"</string>
<string name="accessibility_screen_magnification_shortcut_title" msgid="2387963646377987780">"የማጉላት አቋራጭ"</string>
<string name="accessibility_screen_magnification_follow_typing_title" msgid="6379517513916651560">"መተየብን አጉላ"</string>
@@ -2348,14 +2350,14 @@
<string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"በአቋራጭ ያጉሉ"</string>
<string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"በአቋራጭ እና ሦስቴ መታ በማድረግ ያጉሉ"</string>
<string name="accessibility_introduction_title" msgid="8834950581512452348">"ስለ<xliff:g id="SERVICE">%1$s</xliff:g>"</string>
- <string name="accessibility_text_reading_options_title" msgid="3224648909213325563">"የማሳያ መጠን እና ጽሑፍ"</string>
- <string name="accessibility_text_reading_options_suggestion_title" msgid="2492155642665312733">"ጽሑፍ እንዴት እንደሚታይ ይቀይሩ"</string>
+ <string name="accessibility_text_reading_options_title" msgid="3224648909213325563">"የማሳያ መጠን እና ጽሁፍ"</string>
+ <string name="accessibility_text_reading_options_suggestion_title" msgid="2492155642665312733">"ጽሁፍ እንዴት እንደሚታይ ይቀይሩ"</string>
<string name="accessibility_text_reading_preview_mail_subject" msgid="4597374768612733616">"ርዕሰ ጉዳይ፦ የሙቅ አየር ፊኛ ንድፎች"</string>
<string name="accessibility_text_reading_preview_mail_from" msgid="1797499780365288020">"ከ፦ ቢል"</string>
<string name="accessibility_text_reading_preview_mail_content" msgid="8078152365771951802">"እንደምን አደሩ?\n\nንድፎቹ እንዴት እየሄዱ እንደሆኑ ለማየት ፈልጌ ብቻ ነው። አዲሶቹን ፊኛዎች መስራት ከመጀመራችን በፊት ዝግጁ ይሆናሉ?"</string>
<string name="accessibility_text_reading_reset_button_title" msgid="5960753279788187669">"ቅንብሮችን ዳግም አስጀምር"</string>
<string name="accessibility_text_reading_reset_message" msgid="824644303661026712">"የማሳያ መጠን እና የጽሑፍ ቅንብሮች ዳግም ተጀምረዋል"</string>
- <string name="accessibility_text_reading_confirm_dialog_title" msgid="2865331351355690389">"የማሳያ መጠን እና ጽሑፍ ዳግም ይጀመር?"</string>
+ <string name="accessibility_text_reading_confirm_dialog_title" msgid="2865331351355690389">"የማሳያ መጠን እና ጽሁፍ ዳግም ይጀመር?"</string>
<string name="accessibility_text_reading_confirm_dialog_message" product="default" msgid="517090197003540264">"የማሳያ መጠንዎ እና የጽሑፍ ምርጫዎችዎ ወደ ስልኩ የመጀመሪያ ቅንብሮች ዳግም ይቀናበራሉ"</string>
<string name="accessibility_text_reading_confirm_dialog_message" product="tablet" msgid="1291629915534156671">"የማሳያ መጠንዎ እና የጽሁፍ ምርጫዎችዎ ወደ ጡባዊው የመጀመሪያ ቅንብሮች ዳግም ይጀምራሉ"</string>
<string name="accessibility_text_reading_confirm_dialog_reset_button" msgid="8215800137850243736">"ዳግም አስጀምር"</string>
@@ -2511,11 +2513,11 @@
<string name="accessibility_color_inversion_footer_learn_more_content_description" msgid="5382579548498952445">"ስለተቃራኒ ቀለም የበለጠ ይወቁ"</string>
<string name="accessibility_caption_primary_switch_title" msgid="8901149325574757370">"መግለጫ ጽሑፎችን አሳይ"</string>
<string name="accessibility_caption_primary_switch_summary" msgid="2754071646412717674">"ለሚደገፍ መተግበሪያ ብቻ"</string>
- <string name="captioning_caption_appearance_title" msgid="4501313548541670063">"የመግለጫ ጽሑፍ መጠን እና ቅጥ"</string>
+ <string name="captioning_caption_appearance_title" msgid="4501313548541670063">"የመግለጫ ጽሁፍ መጠን እና ቅጥ"</string>
<string name="captioning_caption_appearance_summary" msgid="7340741178479381312">"<xliff:g id="ACCESSIBILITY_FONT_SIZE">%1$s</xliff:g> የጽሑፍ መጠን"</string>
<string name="captioning_more_options_title" msgid="3484496882942539652">"ተጨማሪ አማራጮች"</string>
- <string name="accessibility_caption_preference_intro" msgid="6662649135457507767">"ለማንበብ ቀላል ለማድረግ የመግለጫ ፅሁፍ መጠን እና ቅጥ ያብጁ"</string>
- <string name="accessibility_caption_preference_summary" msgid="632875702223135121">"እነዚህ የመግለጫ ፅሁፍ ምርጫዎች በሁሉም የሚዲያ መተግበሪያዎች አይደገፉም"</string>
+ <string name="accessibility_caption_preference_intro" msgid="6662649135457507767">"ለማንበብ ቀላል ለማድረግ የመግለጫ ጽሁፍ መጠን እና ቅጥ ያብጁ"</string>
+ <string name="accessibility_caption_preference_summary" msgid="632875702223135121">"እነዚህ የመግለጫ ጽሁፍ ምርጫዎች በሁሉም የሚዲያ መተግበሪያዎች አይደገፉም"</string>
<string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"የተደራሽነት አዝራር"</string>
<string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"ከግርጌ በ2 ጣት ወደ ላይ ይጥረጉ"</string>
<string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"የድምጽ አዝራሮችን ይያዙ"</string>
@@ -2590,7 +2592,7 @@
<string name="captioning_standard_options_title" msgid="5360264497750980205">"መደበኛ አማራጮች"</string>
<string name="captioning_locale" msgid="5533303294290661590">"ቋንቋ"</string>
<string name="captioning_text_size" msgid="8039448543171463017">"የፅሁፍ መጠን"</string>
- <string name="captioning_preset" msgid="4174276086501638524">"የመግለጫ ጽሑፍ ቅጥ"</string>
+ <string name="captioning_preset" msgid="4174276086501638524">"የመግለጫ ጽሁፍ ቅጥ"</string>
<string name="captioning_custom_options_title" msgid="3858866498893566351">"ብጁ አማራጮች"</string>
<string name="captioning_background_color" msgid="5231412761368883107">"የጀርባ ቀለም"</string>
<string name="captioning_background_opacity" msgid="6453738649182382614">"የጀርባ ግልጽነት"</string>
@@ -2639,7 +2641,7 @@
<string name="keywords_accessibility" msgid="4263443239404659143">"የአጠቃቀም ቀላልነት፣ የመዳረሻ ቀላልነት፣ እርዳታ፣ ረዳት"</string>
<string name="keywords_magnification" msgid="3908145308269840862">"የመስኮት ማጉያ፣ ኣጕላ፣ ማጉላት፣ ዝቅተኛ-ዕይታ፣ ማተለቅ፣ ያተልቁ"</string>
<string name="keywords_talkback" msgid="2816435437095102527"></string>
- <string name="keywords_live_caption" msgid="1667203998080567556">"የመግለጫ ጽሑፎች፣ ዝግ መግለጫ ጽሑፎች፣ ካርቦን ቅጂ (ካቅ)፣ የቀጥታ ጽሑፍ ግልባጭ፣ የመስማት ችግር፣ መስማት አለመቻል፣ ተሳቢ፣ ከንግግር- ወደ-ጽሑፍ፣ የግርጌ ጽሑፎች"</string>
+ <string name="keywords_live_caption" msgid="1667203998080567556">"የመግለጫ ጽሑፎች፣ ዝግ መግለጫ ጽሑፎች፣ ካርቦን ቅጂ (ካቅ)፣ የቀጥታ ጽሁፍ ግልባጭ፣ የመስማት ችግር፣ መስማት አለመቻል፣ ተሳቢ፣ ከንግግር- ወደ-ጽሁፍ፣ የግርጌ ጽሑፎች"</string>
<string name="keywords_live_transcribe" msgid="3226990195174890997"></string>
<string name="keywords_sound_notifications" msgid="8183107485754075413"></string>
<string name="keywords_sound_amplifier" msgid="939404835256246663"></string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"አንዳንድ ባህሪዎች ሊገደቡ ይችላሉ"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"ከፍተኛ የባትሪ አጠቃቀም"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"ከፍተኛ አጠቃቀም ያላቸውን መተግበሪያዎች ይመልከቱ"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"ኃይል መሙላት ለጊዜው ተገድቧል"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"ባትሪዎን ለማቆየት። የበለጠ ለመረዳት።"</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"ኃይል መሙላትን ከቆመበት ቀጥል"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"እንደ ከፍተኛ የሙቀት መጠኖች እና ረጅም የኃይል መሙያ ጊዜያት ባሉ በተወሰኑ ሁኔታዎች ላይ የባትሪ ጤናን ለመጠበቅ ለማገዝ ባትሪ መሙላት በ<xliff:g id="PERCENT">%1$s</xliff:g> የተገደበ ሊሆን ይችላል።\n\nእነዚያ ሁኔታዎች ሲያበቁ ስልክዎ በራስ-ሰር በመደበኛ ሁኔታ ኃይል ይሞላል።"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"እንደ ከፍተኛ የሙቀት መጠኖች እና ረጅም የኃይል መሙያ ጊዜያት ባሉ በተወሰኑ ሁኔታዎች ላይ የባትሪ ጤናን ለመጠበቅ ለማገዝ ባትሪ መሙላት በ<xliff:g id="PERCENT">%1$s</xliff:g> የተገደበ ሊሆን ይችላል።\n\nእነዚያ ሁኔታዎች ሲያበቁ ስልክዎ በራስ-ሰር በመደበኛ ሁኔታ ኃይል ይሞላል።"</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"ይህ መተግበሪያ በበስተጀርባ ባትሪን መጠቀም ይችላል። ባትሪዎ ከተጠበቀው ጊዜ ቀድሞ ሊያልቅ ይችላል።"</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"አስወግድ"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"ይቅር"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"የእርስዎ መተግበሪያዎች መደበኛ የባትሪ መጠንን በመጠቀም ላይ ናቸው። መተግበሪያዎች ከልክ በላይ ብዙ ባትሪ የሚጠቀሙ ከሆነ፣ የእርስዎ ስልክ እርስዎ የሚወስዱዋቸውን እርምጃዎች ጥቆማ ይሰጣል።\n\nባትሪ እየጨረሱ ያሉ ከሆነ ባትሪ ቆጣቢን ሁልጊዜ ማብራት ይችላሉ።"</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"የእርስዎ መተግበሪያዎች መደበኛ የባትሪ መጠንን በመጠቀም ላይ ናቸው። መተግበሪያዎች ከልክ በላይ ብዙ ባትሪ የሚጠቀሙ ከሆነ፣ የእርስዎ ጡባዊ እርስዎ የሚወስዱዋቸውን እርምጃዎች ጥቆማ ይሰጣል።\n\nባትሪ እየጨረሱ ያሉ ከሆነ ባትሪ ቆጣቢን ሁልጊዜ ማብራት ይችላሉ።"</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"የእርስዎ መተግበሪያዎች መደበኛ የባትሪ መጠንን በመጠቀም ላይ ናቸው። መተግበሪያዎች ከልክ በላይ ብዙ ባትሪ የሚጠቀሙ ከሆነ፣ የእርስዎ መሣሪያ እርስዎ የሚወስዱዋቸውን እርምጃዎች ጥቆማ ይሰጣል።\n\nባትሪ እየጨረሱ ያሉ ከሆነ ባትሪ ቆጣቢን ሁልጊዜ ማብራት ይችላሉ።"</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"<xliff:g id="PERCENT">%1$s</xliff:g> ባትሪ ላይ"</string>
<string name="battery_percentage" msgid="1779934245963043490">"የባትሪ አጠቃቀም መቶኛ"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"የባትሪ አጠቃቀም መቶኛን በሁኔታ አሞሌ ላይ አሳይ"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"ሙሉ ኃይል ከተሞላበት የመጨረሻ ጊዜ ጀምሮ ያለ የባትሪ ደረጃ"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"ላለፉት 24 ሰዓቶች የባትሪ ደረጃ"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"ሙሉ ኃይል ከተሞላበት የመጨረሻው ጊዜ ጀምሮ ያለ የመተግበሪያ አጠቃቀም"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"ላለፉት 24 ሰዓቶች የመተግበሪያ አጠቃቀም"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"ሙሉ ኃይል ከተሞላበት የመጨረሻ ጊዜ ጀምሮ ያለ የስርዓት አጠቃቀም"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"ላለፉት 24 ሰዓቶች የሥርዓት አጠቃቀም"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"የ<xliff:g id="SLOT">%s</xliff:g> የሥርዓት አጠቃቀም"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"የ<xliff:g id="SLOT">%s</xliff:g> የመተግበሪያ አጠቃቀም"</string>
@@ -3025,7 +3036,7 @@
<string name="voice_input_settings_title" msgid="3708147270767296322">"የድምፅ ግቤት"</string>
<string name="voice_service_preference_section_title" msgid="4807795449147187497">"የድምጽ ግቤት አገልግሎቶች"</string>
<string name="voice_interactor_preference_summary" msgid="3942881638813452880">"ሙሉ ትኩስ ቃል እና መስተጋብር"</string>
- <string name="voice_recognizer_preference_summary" msgid="9195427725367463336">"ቀላል ንግግር ወደ ጽሑፍ"</string>
+ <string name="voice_recognizer_preference_summary" msgid="9195427725367463336">"ቀላል ንግግር ወደ ጽሁፍ"</string>
<string name="voice_interaction_security_warning" msgid="7962884055885987671">"ይህ የድምጽ ግቤት አገልግሎት እርስዎን ወክሎ ሁልጊዜ የሚበራ የድምጽ ክትትልን እና በድምጽ የሚነቁ መተግበሪያዎችን መቆጣጠር ይችላል። ከ<xliff:g id="VOICE_INPUT_SERVICE_APP_NAME">%s</xliff:g> መተግበሪያ ነው የመጣው። የዚህን አገልግሎት መጠቀም ያነቁ?"</string>
<string name="on_device_recognition_settings" msgid="6503160369314598069">"የመሣሪያ ላይ ለይቶ ማወቂያ ቅንብሮች"</string>
<string name="on_device_recognition_settings_title" msgid="7137599722039096545">"የመሣሪያ ላይ ለይቶ ማወቂያ"</string>
@@ -3478,7 +3489,7 @@
<string name="restriction_menu_reset" msgid="92859464456364092">"ገደቦችን አስወግድ"</string>
<string name="restriction_menu_change_pin" msgid="2505923323199003718">"ፒን ቀይር"</string>
<string name="help_label" msgid="2896538416436125883">"እገዛ እና ግብረመልስ"</string>
- <string name="support_summary" product="default" msgid="6137136608018134563">"የእገዛ ጽሑፍ፣ ስልክ & ውይይት"</string>
+ <string name="support_summary" product="default" msgid="6137136608018134563">"የእገዛ ጽሁፍ፣ ስልክ & ውይይት"</string>
<string name="support_summary" product="tablet" msgid="6681247727996378252">"የእገዛ ጽሑፎች፣ መሣሪያ እና ውይይት"</string>
<string name="support_summary" product="device" msgid="1690554254039752541">"የእገዛ ጽሑፎች፣ መሣሪያ እና ውይይት"</string>
<string name="user_account_title" msgid="6389636876210834864">"መለያ ለይዘት"</string>
@@ -3708,7 +3719,7 @@
<string name="keywords_enhance_4g_lte" msgid="658889360486800978">"ቮልት፣ የላቀ ጥሪ አደራረግ፣ 4g ጥሪ አደራረግ"</string>
<string name="keywords_nr_advanced_calling" msgid="4157823099610141014">"vo5g፣ vonr፣ የላቀ ጥሪ፣ 5ጂ ጥሪ"</string>
<string name="keywords_add_language" msgid="1882751300359939436">"ቋንቋ ያክሉ፣ አንድ ቋንቋ ያክሉ"</string>
- <string name="keywords_font_size" msgid="1643198841815006447">"የጽሑፍ መጠን፣ ትልቅ ህትመት፣ ትልቅ ቅርጸ-ቁምፊ፣ ትልቅ ጽሑፍ፣ ዝቅተኛ-ዕይታ፣ ጽሑፍን ያተልቁ መጠን፣ ትልቅ ህትመት፣ ትልቅ ቅርጸ-ቁምፊ፣ ትልቅ ጽሑፍ፣ ዝቅተኛ-ዕይታ፣ ጽሑፍን ያተልቁ፣ ቅርጸ-ቁምፊ ማተለቂያ፣ ቅርጸ-ቁምፊ ማተለቅ"</string>
+ <string name="keywords_font_size" msgid="1643198841815006447">"የጽሁፍ መጠን፣ ትልቅ ህትመት፣ ትልቅ ቅርጸ-ቁምፊ፣ ትልቅ ጽሁፍ፣ ዝቅተኛ-ዕይታ፣ ጽሁፍን ያተልቁ መጠን፣ ትልቅ ህትመት፣ ትልቅ ቅርጸ-ቁምፊ፣ ትልቅ ጽሁፍ፣ ዝቅተኛ-ዕይታ፣ ጽሁፍን ያተልቁ፣ ቅርጸ-ቁምፊ ማተለቂያ፣ ቅርጸ-ቁምፊ ማተለቅ"</string>
<string name="keywords_always_show_time_info" msgid="9120590185763264666">"ሁልጊዜ የሚበራ ማሳያ"</string>
<string name="default_sound" msgid="6604374495015245195">"ነባሪ ድምፅ"</string>
<string name="sound_settings_summary" msgid="944761906531715109">"የጥሪ ድምጽ እና ማሳወቂያ ድምጽ መጠን <xliff:g id="PERCENTAGE">%1$s</xliff:g> ላይ"</string>
@@ -3747,7 +3758,7 @@
<string name="emergency_tone_alert" msgid="1977698889522966589">"ድምጾች"</string>
<string name="emergency_tone_vibrate" msgid="6282296789406984698">"ንዝረቶች"</string>
<string name="boot_sounds_title" msgid="5033062848948884111">"ድምፆችን ያብሩ"</string>
- <string name="live_caption_title" msgid="8617086825712756983">"የቀጥታ ስርጭት መግለጫ ጽሑፍ"</string>
+ <string name="live_caption_title" msgid="8617086825712756983">"የቀጥታ ስርጭት መግለጫ ጽሁፍ"</string>
<string name="live_caption_summary" msgid="2898451867595161809">"ራስሰር የሥዕል መግለጫ ጽሑፍን ሚዲያ"</string>
<string name="spatial_audio_speaker" msgid="9145233652433523302">"የስልክ ድምጽ ማጉያ"</string>
<string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"ባለገመድ የጆሮ ማዳመጫ"</string>
@@ -4046,7 +4057,7 @@
<string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"ለ<xliff:g id="SERVICE">%1$s</xliff:g> የማሳወቂያ መዳረሻ ይፈቀድለት?"</string>
<string name="notification_assistant_security_warning_summary" msgid="4846559755787348129">"የተሻሻሉ ማሳወቂያዎች በAndroid 12 ውስጥ Android ራስ-አስማሚ ማሳወቂያዎችን ተክተዋል። ይህ ባህሪ የተጠቆሙ እርምጃዎችን እና ምላሾችን ያሳያል እንዲሁም ማሳወቂያዎችዎን ያደራጃል። \n\nየተሻሻሉ ማሳወቂያዎች እንደ የእውቂያ ስሞች እና መልዕክቶች ያሉ የግል መረጃዎችን ጨምሮ የማሳወቂያ ይዘቶችን መድረስ ይችላሉ። ይህ ባህሪ እንደ የስልክ ጥሪዎችን መመለስ እና አትረብሽን መቆጣጠርን ያሉ ማሳወቂያዎችን ማሰናበት ወይም ምላሽ መስጠት ይችላል።"</string>
<string name="notification_listener_security_warning_title" msgid="5791700876622858363">"ለ<xliff:g id="SERVICE">%1$s</xliff:g> የማሳወቂያ መዳረሻ ይፈቀድ?"</string>
- <string name="notification_listener_security_warning_summary" msgid="4317764112725749020">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> እንደ የእውቂያ ስሞች፣ ፎቶዎች እና እርስዎ የሚቀበሏቸው የመልዕክቶች ጽሑፍ ያለ የግል መረጃ ጨምሮ ሁሉንም ማሳወቂያዎች ማንበብ ይችላል። ይህ መተግበሪያ እንዲሁም ማሳወቂያዎችን ማሸለብ ወይም ማሰናበት ወይም የስልክ ጥሪዎችን ማንሳት ጨምሮ በማሳወቂያዎች ውስጥ ባሉ አዝራሮች ላይ እርምጃዎችን መውሰድ ይችላል። \n\nይህ እንዲሁም አትረብሽን የማብራት ወይም የማጥፋት እና ተዛማጅ ቅንብሮችን የመቀየር ችሎታ ለመተግበሪያው ይሰጣል።"</string>
+ <string name="notification_listener_security_warning_summary" msgid="4317764112725749020">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> እንደ የእውቂያ ስሞች፣ ፎቶዎች እና እርስዎ የሚቀበሏቸው የመልዕክቶች ጽሁፍ ያለ የግል መረጃ ጨምሮ ሁሉንም ማሳወቂያዎች ማንበብ ይችላል። ይህ መተግበሪያ እንዲሁም ማሳወቂያዎችን ማሸለብ ወይም ማሰናበት ወይም የስልክ ጥሪዎችን ማንሳት ጨምሮ በማሳወቂያዎች ውስጥ ባሉ አዝራሮች ላይ እርምጃዎችን መውሰድ ይችላል። \n\nይህ እንዲሁም አትረብሽን የማብራት ወይም የማጥፋት እና ተዛማጅ ቅንብሮችን የመቀየር ችሎታ ለመተግበሪያው ይሰጣል።"</string>
<string name="nls_warning_prompt" msgid="9143226910825830619">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> የሚከተሉትን ማድረግ ይችላል፦"</string>
<string name="nls_feature_read_title" msgid="7629713268744220437">"ማሳወቂያዎችዎን ያንብቡ"</string>
<string name="nls_feature_read_summary" msgid="1064698238110273593">"እንደ እውቂያዎች፣ መልዕክቶች እና ፎቶዎች ያሉ የግል መረጃን ጨምሮ የእርስዎን ማሳወቂያዎች ማንበብ ይችላል።"</string>
@@ -4576,12 +4587,12 @@
<string name="usb_summary_MIDI_power" msgid="1184681982025435815">"MIDI እና ኃይልን ማቅረብ"</string>
<string name="background_check_pref" msgid="5304564658578987535">"የዳራ ፍተሻ"</string>
<string name="background_check_title" msgid="225170874283229686">"ሙሉ የዳራ መዳረሻ"</string>
- <string name="assist_access_context_title" msgid="5201495523514096201">"ከማያ ገጽ ላይ ጽሑፍ ተጠቀም"</string>
- <string name="assist_access_context_summary" msgid="6951814413185646275">"ረዳት መተግበሪያው የማያ ገጹን ይዘቶች እንደ ጽሑፍ እንዲደርሳባቸው ይፍቀዱ"</string>
+ <string name="assist_access_context_title" msgid="5201495523514096201">"ከማያ ገጽ ላይ ጽሁፍ ተጠቀም"</string>
+ <string name="assist_access_context_summary" msgid="6951814413185646275">"ረዳት መተግበሪያው የማያ ገጹን ይዘቶች እንደ ጽሁፍ እንዲደርሳባቸው ይፍቀዱ"</string>
<string name="assist_access_screenshot_title" msgid="4395902231753643633">"ቅጽበታዊ ገጽ እይታ ይጠቀሙ"</string>
<string name="assist_access_screenshot_summary" msgid="5276593070956201863">"ረዳት መተግበሪያው የማያ ገጹን ምስል እንዲደርስበት ይፍቀዱ"</string>
<string name="assist_flash_title" msgid="5449512572885550108">"ማያ ገጽን አብራ"</string>
- <string name="assist_flash_summary" msgid="3032289860177784594">"የረዳት መተግበሪያ ጽሑፍ ከማያ ገጽ ወይም ቅጽበታዊ ገጽ እይታ ሲደርስ የማያ ገጽ ጠርዞችን አብራ"</string>
+ <string name="assist_flash_summary" msgid="3032289860177784594">"የረዳት መተግበሪያ ጽሁፍ ከማያ ገጽ ወይም ቅጽበታዊ ገጽ እይታ ሲደርስ የማያ ገጽ ጠርዞችን አብራ"</string>
<string name="assist_footer" msgid="8248015363806299068">"ረዳት መተግበሪያዎች በሚያዩት ማያ ገጽ ላይ ባለ መረጃ ላይ ተመስርቶ ሊያግዘዎት ይችላል። አንዳንድ መተግበሪያዎች የተዋሃደ እርዳታ ለእርስዎ ለመስጠት ሁለቱንም ማስጀመሪያ እና የድምጽ ግቤት አገልግሎቶችን ይደግፋሉ።"</string>
<string name="average_memory_use" msgid="717313706368825388">"አማካይ የማህደረ ትውስታ አጠቃቀም"</string>
<string name="maximum_memory_use" msgid="2171779724001152933">"ከፍተኛ ማህደረ ትውስታ አጠቃቀም"</string>
@@ -5182,7 +5193,7 @@
<string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"ሙሉ የGNSS መለኪያዎች አስገድድ"</string>
<string name="enable_gnss_raw_meas_full_tracking_summary" msgid="3841463141138247167">"ሁሉንም የGNSS ህብረ ፎቶዎችን እና ድግምግሞሾችን ያለምንም የሥራ ብስክሌት ግልቢያ ዱካቸውን ይከታተሉ"</string>
<string name="input_method_category" msgid="2252659253631639005">"የግቤት ስልት"</string>
- <string name="stylus_handwriting" msgid="2154591374132794563">"የብሮስፌ እጅ ጽሑፍ"</string>
+ <string name="stylus_handwriting" msgid="2154591374132794563">"የብሮስፌ እጅ ጽሁፍ"</string>
<string name="stylus_handwriting_summary" msgid="6333425895172696950">"ሲነቃ አንድ አርታዒ ትኩረት ከተደረገበት የአሁኑ የግቤት ስልት የብርስፌ MotionEvent ይቀበላል።"</string>
<string name="device_theme" msgid="5027604586494772471">"የመሣሪያ ገጽታ"</string>
<string name="default_theme" msgid="4815428567082263639">"ነባሪ"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index aee8ec9..ad5c528 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -89,6 +89,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"ليست لديك أذونات لتغيير إعدادات بلوتوث."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"إقران جهاز جديد"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"بلوتوث"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"إقران السماعة اليمنى"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"إقران السماعة اليسرى"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"إقران السماعة الأخرى"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"تم توصيل سماعة الأذن الطبية اليسرى.\n\nلإقران سماعة الأذن الطبية اليمنى، تأكَّد أنّها مشغَّلة وجاهزة للإقران."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"تم توصيل سماعة الأذن الطبية اليمنى.\n\nلإقران سماعة الأذن الطبية اليسرى، تأكَّد أنّها مشغَّلة وجاهزة للإقران."</string>
@@ -1472,7 +1474,7 @@
<string name="night_display_text" msgid="4789324042428095383">"تؤدي الإضاءة الليلية إلى تلوين الشاشة باللون الكهرماني الخفيف، ما يسهّل النظر إلى الشاشة في الإضاءة الخافتة ويمكن أن يساعدك على الشعور بالنعاس أيضًا."</string>
<string name="night_display_auto_mode_title" msgid="5869128421470824381">"الجدول الزمني"</string>
<string name="night_display_auto_mode_never" msgid="2721729920187175239">"عدم تحديد جدول زمني"</string>
- <string name="night_display_auto_mode_custom" msgid="3938791496034086916">"التفعيل في وقت مخصّّص"</string>
+ <string name="night_display_auto_mode_custom" msgid="3938791496034086916">"التفعيل في وقت معيّن"</string>
<string name="night_display_auto_mode_twilight" msgid="4291855156158833997">"التفعيل من غروب الشمس حتى شروقها"</string>
<string name="night_display_start_time_title" msgid="2611541851596977786">"وقت البدء"</string>
<string name="night_display_end_time_title" msgid="5243112480391192111">"وقت الانتهاء"</string>
@@ -1501,7 +1503,7 @@
<string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"الجدول الزمني"</string>
<string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"مطلقًا"</string>
<string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"التفعيل من غروب الشمس حتى شروقها"</string>
- <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"تفعيل الإعداد في وقت مخصّص"</string>
+ <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"التفعيل في وقت معيّن"</string>
<string name="dark_ui_auto_mode_custom_bedtime" msgid="8465023741946439266">"التفعيل عند حلول وقت النوم"</string>
<string name="dark_ui_status_title" msgid="3505119141437774329">"الحالة"</string>
<string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"لن يتم مطلقًا تفعيل الوضع تلقائيًا."</string>
@@ -1514,7 +1516,7 @@
<string name="dark_ui_summary_on_auto_mode_custom_bedtime" msgid="1976993025762551246">"سيتم إيقافه تلقائيًا بعد انتهاء وقت النوم."</string>
<string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"تفعيل الميزة حتى <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"إيقاف الميزة حتى <xliff:g id="ID_1">%1$s</xliff:g>"</string>
- <string name="dark_ui_text" msgid="4392646155331126666">"يستخدم \"التصميم الداكن\" خلفية سوداء لتوفير طاقة البطارية والحفاظ عليها لفترة أطول في بعض الشاشات. لا يتم تفعيل الجداول الزمنية لعمل \"التصميم الداكن\" إلا بعد قفل الشاشة."</string>
+ <string name="dark_ui_text" msgid="4392646155331126666">"يستخدم \"المظهر الداكن\" خلفية سوداء لتوفير طاقة البطارية والحفاظ عليها لفترة أطول في بعض الشاشات. لا يتم تفعيل الجداول الزمنية لعمل \"المظهر الداكن\" إلا بعد قفل الشاشة."</string>
<string name="dark_ui_bedtime_footer_summary" msgid="5576501833145170581">"يتبع وضع \"المظهر الداكن\" حاليًا الجدول الزمني لوضع \"وقت النوم\"."</string>
<string name="dark_ui_bedtime_footer_action" msgid="1493095487994054339">"إعدادات وضع \"وقت النوم\""</string>
<string name="screen_timeout" msgid="7709947617767439410">"مهلة غلق الشاشة"</string>
@@ -2834,7 +2836,7 @@
<string name="manager_battery_usage_optimized_summary" msgid="1332545476428039900">"تحسين الإعدادات بناءً على الاستخدام (مقترحة لمعظم التطبيقات)"</string>
<string name="manager_battery_usage_restricted_summary" msgid="8324695640704416905">"يتم حظر استخدام البطارية أثناء العمل في الخلفية. وبالتالي، قد لا يعمل التطبيق على النحو المتوقع. وقد تتأخر الإشعارات."</string>
<string name="manager_battery_usage_footer" msgid="2635906573922553766">"يمكن لتغيير طريقة استخدام التطبيق للبطارية أن يؤثر في أدائها."</string>
- <string name="manager_battery_usage_footer_limited" msgid="5180776148877306780">"يتطلب هذا التطبيق أن يكون استخدام البطارية <xliff:g id="STATE">%1$s</xliff:g>."</string>
+ <string name="manager_battery_usage_footer_limited" msgid="5180776148877306780">"يتطلب هذا التطبيق اعتماد <xliff:g id="STATE">%1$s</xliff:g>."</string>
<string name="manager_battery_usage_unrestricted_only" msgid="3646162131339418216">"غير محدّد بقيود"</string>
<string name="manager_battery_usage_optimized_only" msgid="7121785281913056432">"الاستخدام المحسَّن"</string>
<string name="manager_battery_usage_link_a11y" msgid="374918091821438564">"مزيد من المعلومات حول خيارات استخدام البطارية"</string>
@@ -2883,8 +2885,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"قد تكون بعض الميزات محظورة."</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"استخدام أعلى للبطارية"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"عرض التطبيقات ذات أعلى معدّل استخدام للبطارية"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"الشحن محدود مؤقتًا"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"للحفاظ على عمر البطارية. مزيد من المعلومات"</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"استئناف الشحن"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"قد يتم ضبط نسبة الشحن على <xliff:g id="PERCENT">%1$s</xliff:g> كحد أقصى للمساعدة في الحفاظ على سلامة البطارية في حالات معيّنة، مثلاً في درجات الحرارة المرتفعة وفترات الشحن الطويلة.\n\nعند العودة إلى الحالة الطبيعية، سيتم تلقائيًا شحن الهاتف بشكلٍ عادي."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"قد يتم ضبط نسبة الشحن على <xliff:g id="PERCENT">%1$s</xliff:g> كحد أقصى للمساعدة في الحفاظ على سلامة البطارية في حالات معيّنة، مثلاً في درجات الحرارة المرتفعة وفترات الشحن الطويلة.\n\nعند العودة إلى الحالة الطبيعية، سيتم تلقائيًا شحن الهاتف بشكلٍ عادي."</string>
@@ -2940,6 +2946,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"سيتمكّن هذا التطبيق من استخدام البطارية في الخلفية، وقد يؤدي ذلك إلى نفاد شحنها قبل الوقت المتوقع."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"إزالة"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"إلغاء"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"تستخدم تطبيقاتك مقدارًا عاديًا من طاقة البطارية. إذا كانت التطبيقات تستهلك مقدارًا كبيرًا جدًا من طاقة البطارية، سيقترح هاتفك إجراءات يمكنك اتخاذها.\n\nيمكنك متى شئت تفعيل ميزة \"توفير شحن البطارية\" إذا كانت طاقة البطارية على وشك النفاد."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"تستخدم تطبيقاتك مقدارًا عاديًا من طاقة البطارية. إذا كانت التطبيقات تستهلك مقدارًا كبيرًا جدًا من طاقة البطارية، سيقترح جهازك اللوحي إجراءات يمكنك اتخاذها.\n\nيمكنك متى شئت تفعيل ميزة \"توفير شحن البطارية\" إذا كانت طاقة البطارية على وشك النفاد."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"تستخدم تطبيقاتك مقدارًا عاديًا من الطاقة. إذا كانت التطبيقات تستهلك مقدارًا كبيرًا جدًا من الطاقة، سيقترح جهازك إجراءات يمكنك اتخاذها.\n\nيمكنك متى شئت تفعيل ميزة \"توفير شحن البطارية\" إذا كانت طاقة البطارية على وشك النفاد."</string>
@@ -3125,8 +3133,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"البطارية عند مستوى <xliff:g id="PERCENT">%1$s</xliff:g>"</string>
<string name="battery_percentage" msgid="1779934245963043490">"نسبة شحن البطارية"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"عرض نسبة شحن البطارية في شريط الحالة"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"مستوى شحن البطارية منذ آخر عملية شحن كاملة"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"مستوى شحن البطارية خلال آخر 24 ساعة"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"نسبة استخدام التطبيقات للبطارية منذ آخر عملية شحن كاملة"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"استخدام التطبيق خلال آخر 24 ساعة"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"نسبة استخدام النظام للبطارية منذ آخر عملية شحن كاملة"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"استخدام النظام خلال آخر 24 ساعة"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"استخدام النظام خلال <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"استخدام التطبيق خلال <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -3923,7 +3934,7 @@
<string name="live_caption_summary" msgid="2898451867595161809">"شرح تلقائي للوسائط"</string>
<string name="spatial_audio_speaker" msgid="9145233652433523302">"مكبّر صوت الهاتف"</string>
<string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"سماعات الرأس السلكية"</string>
- <string name="spatial_audio_text" msgid="8201387855375146000">"الصوت الصادر من الوسائط المتوافقة أصبح أكثر وضوحًا."</string>
+ <string name="spatial_audio_text" msgid="8201387855375146000">"الصوت الصادر من الوسائط المتوافقة يصبح أكثر وضوحًا."</string>
<string name="spatial_summary_off" msgid="8272678804629774378">"غير مفعّل"</string>
<string name="spatial_summary_on_one" msgid="6239933399496282994">"مفعّلة / <xliff:g id="OUTPUT_DEVICE">%1$s</xliff:g>"</string>
<string name="spatial_summary_on_two" msgid="4526919818832483883">"مفعّلة / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> و<xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
@@ -4418,7 +4429,7 @@
<string name="zen_mode_calls_list" msgid="5044730950895749093">"المكالمات"</string>
<string name="zen_mode_calls_header" msgid="8379225445095856726">"المكالمات التي يمكنها مقاطعة عمل الميزة"</string>
<string name="zen_mode_calls_footer" msgid="2008079711083701243">"للتأكّد من أنّ المكالمات المسموح بها تصدر تنبيهًا صوتيًا، تحقَّق من ضبط جهازك على الرنين."</string>
- <string name="zen_mode_custom_calls_footer" msgid="6521283204577441053">"بالنسبة إلى \"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\"، يتمّ حظر المكالمات الواردة. ويمكنك ضبط الإعدادات للسماح لأصدقائك أو أفراد عائلتك أو جهات الاتصال الأخرى بالتواصل معك."</string>
+ <string name="zen_mode_custom_calls_footer" msgid="6521283204577441053">"عند تفعيل الجدول الزمني \"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\"، يتمّ حظر المكالمات الواردة. ويمكنك ضبط الإعدادات للسماح لأصدقائك أو أفراد عائلتك أو جهات الاتصال الأخرى بالتواصل معك."</string>
<string name="zen_mode_starred_contacts_title" msgid="630299631659575589">"جهات الاتصال المميّزة بنجمة"</string>
<string name="zen_mode_starred_contacts_summary_contacts" msgid="1629467178444895094">"{count,plural,offset:2 =0{ما من جهات اتصال مميّزة بنجمة}=1{{contact_1}}=2{{contact_1} و{contact_2}}=3{{contact_1} و{contact_2} و{contact_3}}few{{contact_1} و{contact_2} و# جهات اتصال أخرى مميّزة بنجمة}many{{contact_1} و{contact_2} و# جهة اتصال أخرى مميّزة بنجمة}other{{contact_1} و{contact_2} و# جهة اتصال أخرى مميّزة بنجمة}}"</string>
<string name="zen_mode_starred_contacts_empty_name" msgid="2906404745550293688">"(بلا اسم)"</string>
@@ -4746,7 +4757,7 @@
<string name="usage_access" msgid="5487993885373893282">"الوصول إلى بيانات الاستخدام"</string>
<string name="permit_usage_access" msgid="179630895262172674">"السماح بالوصول إلى بيانات الاستخدام"</string>
<string name="app_usage_preference" msgid="7062447555623339120">"الإعدادات المفضّلة لاستخدام التطبيقات"</string>
- <string name="time_spent_in_app_pref_title" msgid="25327097913383330">"وقت النظر إلى الشاشة"</string>
+ <string name="time_spent_in_app_pref_title" msgid="25327097913383330">"مدّة النظر إلى الشاشة"</string>
<string name="usage_access_description" msgid="8547716253713890707">"عند السماح بالوصول إلى بيانات الاستخدام، سيتمكّن التطبيق من تتبّع التطبيقات الأخرى التي تستخدمها ومدى تكرار استخدامها وكذلك تتبّع مشغّل شبكة الجوال وإعدادات اللغة بالإضافة إلى تفاصيل أخرى."</string>
<string name="memory_settings_title" msgid="6582588646363308430">"الذاكرة"</string>
<string name="memory_details_title" msgid="3048107441540417799">"تفاصيل الذاكرة"</string>
@@ -5475,7 +5486,7 @@
<string name="storage_videos" msgid="6117698226447251033">"الفيديوهات"</string>
<string name="storage_audio" msgid="5994664984472140386">"الصوت"</string>
<string name="storage_apps" msgid="3564291603258795216">"التطبيقات"</string>
- <string name="storage_documents_and_other" msgid="3293689243732236480">"المستندات والمحتوى الآخر"</string>
+ <string name="storage_documents_and_other" msgid="3293689243732236480">"المستندات وغيرها"</string>
<string name="storage_system" msgid="8472410119822911844">"النظام"</string>
<string name="storage_trash" msgid="2807138998886084856">"المهملات"</string>
<string name="storage_trash_dialog_title" msgid="2296169576049935200">"هل تريد إفراغ المهملات؟"</string>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index 5e6f233..874be22 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"আপোনাৰ ব্লুটুথ ছেটিং সলনি কৰাৰ অনুমতি নাই৷"</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"নতুন ডিভাইচ পেয়াৰ কৰক"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"ব্লুটুথ"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"সোঁ কাণখন পেয়াৰ কৰক"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"বাওঁ কাণখন পেয়াৰ কৰক"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"নিজৰ অন্য কাণখন পেয়াৰ কৰক"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"আপোনাৰ বাওঁফালৰ শ্ৰৱণ যন্ত্ৰটো সংযোগ কৰা হৈছে।\n\nসোঁফালৰটো পেয়াৰ কৰিবলৈ, এইটো অন কৰি থোৱাটো আৰু পেয়াৰ কৰিবলৈ সাজু হৈ থকাটো নিশ্চিত কৰক।"</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"আপোনাৰ সোঁফালৰ শ্ৰৱণ যন্ত্ৰটো সংযোগ কৰা হৈছে।\n\nবাওঁফালৰটো পেয়াৰ কৰিবলৈ, এইটো অন কৰি থোৱাটো আৰু পেয়াৰ কৰিবলৈ সাজু হৈ থকাটো নিশ্চিত কৰক।"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"কিছুমান সুবিধাবোৰ সীমিতভাৱে ব্যৱহাৰযোগ্য় হ\'ব পাৰে"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"বেটাৰীৰ ব্যৱহাৰ বাঢ়িছে"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"আটাইতকৈ বেছিকৈ ব্যৱহাৰ কৰা এপ্সমূহ চাওক"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"চাৰ্জ কৰাটো সাময়িকভাৱে সীমিত কৰা হৈছে"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"আপোনাৰ বেটাৰী সংৰক্ষণ কৰিবলৈ। অধিক জানক।"</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"চাৰ্জ কৰা পুনৰ আৰম্ভ কৰক"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"উচ্চ তাপমাত্ৰা আৰু দীঘলীয়া সময় ধৰি চাৰ্জ কৰাৰ দৰে কিছুমান পৰিস্থিতিত, বেটাৰীৰ অৱস্থা ভালে ৰখাত সহায় কৰিবলৈ চাৰ্জিং <xliff:g id="PERCENT">%1$s</xliff:g>লৈ সীমিত কৰা হ’ব পাৰে।\n\nতেনে পৰিস্থিতিৰ পৰিৱৰ্তন হ’লে আপোনাৰ ফ’নটো স্বয়ংক্ৰিয়ভাৱে স্বাভাৱিকভাৱে চাৰ্জ হ’ব।"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"উচ্চ তাপমাত্ৰা আৰু দীঘলীয়া সময় ধৰি চাৰ্জ কৰাৰ দৰে কিছুমান পৰিস্থিতিত, বেটাৰীৰ অৱস্থা ভালে ৰখাত সহায় কৰিবলৈ চাৰ্জিং <xliff:g id="PERCENT">%1$s</xliff:g>লৈ সীমিত কৰা হ’ব পাৰে।\n\nতেনে পৰিস্থিতিৰ পৰিৱৰ্তন হ’লে আপোনাৰ টেবলেটটো স্বয়ংক্ৰিয়ভাৱে স্বাভাৱিকভাৱে চাৰ্জ হ’ব।"</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"এই এপে নেপথ্য়ত বেটাৰী ব্যৱহাৰ কৰিব পাৰে। আপোনাৰ বেটাৰীৰ চাৰ্জ আশা কৰাতকৈ আগতেই শেষ হ\'ব পাৰে।"</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"আঁতৰাওক"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"বাতিল কৰক"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"আপোনাৰ এপ্সমূহে বৰ্তমান সাধাৰণ পৰিমাণৰ বেটাৰী ব্যৱহাৰ কৰি আছে। যদিহে এপ্সমূহে অত্যধিক বেটাৰী ব্যৱহাৰ কৰে, তেন্তে আপোনাৰ ফ\'নটোৱে আপুনি ল\'ব পৰা কাৰ্যপন্থাৰ বিষয়ে আপোনাক পৰামৰ্শ দিব।\n\nবেটাৰী কমি গ\'লে আপুনি সদায় বেটাৰী সঞ্চয়কাৰী অন কৰিব পাৰে।"</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"আপোনাৰ এপ্সমূহে বৰ্তমান সাধাৰণ পৰিমাণৰ বেটাৰী ব্যৱহাৰ কৰি আছে। যদিহে এপ্সমূহে অত্যাধিক বেটাৰী ব্যৱহাৰ কৰে, তেন্তে আপোনাৰ টেবলেটটোৱে আপুনি ল’ব পৰা কাৰ্যপন্থাৰ বিষয়ে আপোনাক পৰামৰ্শ দিব।\n\nবেটাৰী কমি গ’লে আপুনি সদায় বেটাৰী সঞ্চয়কাৰী অন কৰিব পাৰে।"</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"আপোনাৰ এপ্সমূহে বৰ্তমান সাধাৰণ পৰিমাণৰ বেটাৰী ব্যৱহাৰ কৰি আছে। যদিহে এপ্সমূহে অত্যাধিক বেটাৰী ব্যৱহাৰ কৰে, তেন্তে আপোনাৰ ডিভাইচটোৱে আপুনি ল’ব পৰা কাৰ্যপন্থাৰ বিষয়ে আপোনাক পৰামৰ্শ দিব।\n\nবেটাৰী কমি গ’লে আপুনি সদায় বেটাৰী সঞ্চয়কাৰী অন কৰিব পাৰে।"</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"<xliff:g id="PERCENT">%1$s</xliff:g> বেটাৰী"</string>
<string name="battery_percentage" msgid="1779934245963043490">"বেটাৰীত থকা চাৰ্জৰ শতাংশ"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"স্থিতি বাৰত বেটাৰীৰ চাৰ্জৰ শতকৰা হাৰ দেখুৱাওক"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"অন্তিমবাৰ সম্পূৰ্ণৰূপে চাৰ্জ হোৱাৰ পাছত বেটাৰীৰ স্তৰ"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"যোৱা ২৪ ঘণ্টাৰ বেটাৰীৰ স্তৰ"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"অন্তিমবাৰ সম্পূৰ্ণৰূপে চাৰ্জ হোৱাৰ পাছত বেটাৰীৰ ব্যৱহাৰ"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"যোৱা ২৪ ঘণ্টাত হোৱা এপৰ ব্যৱহাৰ"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"অন্তিমবাৰ সম্পূৰ্ণৰূপে চাৰ্জ হোৱাৰ পাছত ছিষ্টেমৰ ব্যৱহাৰ"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"যোৱা ২৪ ঘণ্টাত হোৱা ছিষ্টেমৰ ব্যৱহাৰ"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"<xliff:g id="SLOT">%s</xliff:g>ৰ বাবে ছিষ্টেমৰ ব্যৱহাৰ"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"<xliff:g id="SLOT">%s</xliff:g>ৰ বাবে এপৰ ব্যৱহাৰ"</string>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index 5dff238..20cf9cb 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Bluetooth ayarlarını dəyişməyə icazəniz yoxdur."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Cihaz əlavə edin"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Sağ qulaqlığı birləşdirin"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Sol qulaqlığı birləşdirin"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Digər qulaqlığı birləşdirin"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Sol eşitmə cihazınız qoşulub.\n\nSağı qoşmaq üçün onun aktiv və birləşdirməyə hazır olduğuna əmin olun."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Sağ eşitmə cihazınız qoşulub.\n\nSolu qoşmaq üçün onun aktiv və birləşdirməyə hazır olduğuna əmin olun."</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Bəzi funksiyalar məhddudlaşdırıla bilər"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Batareya istifadəsi yüksəkdir"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Ən çox istifadə edilən tətbiqlərə baxın"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Şarj müvəqqəti məhdudlaşdırılıb"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Enerjiyə qənaət etmək üçün. Ətraflı məlumat."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Şarja davam edin"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Yüksək temperatur və uzun şarj müddəti kimi müəyyən hallarda, batareyanı qorumaq üçün şarj <xliff:g id="PERCENT">%1$s</xliff:g> ilə məhdudlaşdırıla bilər.\n\nBu hallar bitdikdə telefonunuz avtomatik olaraq normal şarj ediləcək."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Yüksək temperatur və uzun şarj müddəti kimi müəyyən hallarda, batareyanı qorumaq üçün şarj <xliff:g id="PERCENT">%1$s</xliff:g> ilə məhdudlaşdırıla bilər.\n\nBu hallar bitdikdə planşetiniz avtomatik olaraq normal şarj ediləcək."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Bu tətbiq fon rejimində batareya enerjisi işlətdiyi üçün enerji tez qurtara bilər."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Silin"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Ləğv edin"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Tətbiqlər enerjini qaydası üzrə sərf edir. Enerji sərfiyyatı artanda sizə təkliflər ediləcək.\n\nEnerji qurtarırsa, enerjiyə qənaət rejiminə keçin."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Tətbiqlər enerjini qaydası üzrə sərf edir. Enerji sərfiyyatı artanda sizə təkliflər ediləcək.\n\nEnerji qurtarırsa, enerjiyə qənaət rejiminə keçin."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Tətbiqlər enerjini qaydası üzrə sərf edir. Enerji sərfiyyatı artanda sizə təkliflər ediləcək.\n\nEnerji qurtarırsa, enerjiyə qənaət rejiminə keçin."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"<xliff:g id="PERCENT">%1$s</xliff:g> batareya"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Enerji faizi"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Enerji faizi status panelində görünsün"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Son tam şarjdan sonra batareya səviyyəsi"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Son 24 saata dair enerji səviyyəsi"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Sonuncu tam doldurulmadan sonrakı tətbiq istifadəsi"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Son 24 saat üçün tətbiq istifadəsi"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Son tam şarjdan sonra sistem istifadəsi"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Son 24 saat üçün sistem istifadəsi"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"<xliff:g id="SLOT">%s</xliff:g> üçün sistem istifadəsi"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"<xliff:g id="SLOT">%s</xliff:g> üçün tətbiq istifadəsi"</string>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 3685136..7c23479 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -86,6 +86,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Nemate dozvolu za promenu podešavanja Bluetooth-a."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Upari novi uređaj"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Upari desno uvo"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Upari levo uvo"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Uparite drugo uvo"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Levi slušni aparat je povezan.\n\nDa biste uparili desni, uverite se da je uključen i spreman za uparivanje."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Desni slušni aparat je povezan.\n\nDa biste uparili levi, uverite se da je uključen i spreman za uparivanje."</string>
@@ -621,7 +623,7 @@
<string name="fingerprint_delete_title" msgid="1469865327307917858">"Uklonite „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“"</string>
<string name="fingerprint_delete_message" msgid="1454995433333496541">"Želite li da izbrišete ovaj otisak prsta?"</string>
<string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"Ovim se brišu slike i model otiska prsta u vezi sa otiskom <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> koji su sačuvani na uređaju"</string>
- <string name="fingerprint_last_delete_message" msgid="7860374760549404410">"Nećete moći da koristite otisak prsta da biste otključavali telefon ili verifikovali identitet u aplikacijama."</string>
+ <string name="fingerprint_last_delete_message" msgid="7860374760549404410">"Nećete moći da koristite otisak prsta da biste otključavali telefon ni verifikovali identitet u aplikacijama."</string>
<string name="fingerprint_last_delete_message_profile_challenge" msgid="4104208067277655068">"Nećete moći da koristite otisak prsta za otključavanje poslovnog profila, ovlašćivanje kupovina ili prijavljivanje u poslovne aplikacije."</string>
<string name="fingerprint_last_delete_confirm" msgid="3294910995598819259">"Da, ukloni"</string>
<string name="encryption_settings_title" msgid="2848716008695618360">"Šifrovanje"</string>
@@ -1441,7 +1443,7 @@
<string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Raspored"</string>
<string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Ništa"</string>
<string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Uključuje se od sumraka do svitanja"</string>
- <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Uključuje se u željeno vreme"</string>
+ <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Uključuje se u prilagođeno vreme"</string>
<string name="dark_ui_auto_mode_custom_bedtime" msgid="8465023741946439266">"Uključuje se kada je vreme za spavanje"</string>
<string name="dark_ui_status_title" msgid="3505119141437774329">"Status"</string>
<string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Nikada se ne uključuje automatski"</string>
@@ -2790,8 +2792,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Neke funkcije mogu da budu ograničene"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Najveća potrošnja baterije"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Pogledajte aplikacije sa najvećom potrošnjom baterije"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Punjenje je privremeno ograničeno"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Da bi se sačuvala baterija. Saznajte više."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Nastavi sa punjenjem"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"U određenim uslovima, na primer, visoke temperature i dugi periodi punjenja, punjenje može da bude ograničeno na <xliff:g id="PERCENT">%1$s</xliff:g> radi boljeg stanja baterije.\n\nKada ti uslovi prestanu, telefon će automatski početi normalno da se puni."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"U određenim uslovima, na primer, visoke temperature i dugi periodi punjenja, punjenje može da bude ograničeno na <xliff:g id="PERCENT">%1$s</xliff:g> radi boljeg stanja baterije.\n\nKada ti uslovi prestanu, tablet će automatski početi normalno da se puni."</string>
@@ -2832,6 +2838,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Ova aplikacija će moći da koristi bateriju u pozadini. Baterija može da se isprazni ranije nego što je očekivano."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Ukloni"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Otkaži"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Aplikacije koriste uobičajenu količinu baterije. Ako aplikacije koriste previše baterije, telefon će vam predložiti radnje koje možete da preduzmete.\n\nUvek možete da uključite Uštedu baterije ako vam je baterija pri kraju."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Aplikacije koriste uobičajenu količinu baterije. Ako aplikacije koriste previše baterije, tablet će vam predložiti radnje koje možete da preduzmete.\n\nUvek možete da uključite Uštedu baterije ako vam je baterija pri kraju."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Aplikacije koriste uobičajenu količinu baterije. Ako aplikacije koriste previše baterije, uređaj će vam predložiti radnje koje možete da preduzmete.\n\nUvek možete da uključite Uštedu baterije ako vam je baterija pri kraju."</string>
@@ -3011,8 +3019,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"na <xliff:g id="PERCENT">%1$s</xliff:g> baterije"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Procenat napunjenosti baterije"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Prikazuje procenat napunjenosti baterije na statusnoj traci"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Nivo napunjenosti baterije od poslednjeg potpunog punjenja"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Nivo napunjenosti baterije u poslednja 24 sata"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Korišćenje aplikacija od poslednjeg potpunog punjenja"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Potrošnja od strane aplikacija u poslednja 24 sata"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Korišćenje sistema od poslednjeg potpunog punjenja"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Potrošnja od strane sistema u poslednja 24 sata"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Potrošnja od strane sistema za: <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Potrošnja od strane aplikacija za: <xliff:g id="SLOT">%s</xliff:g>"</string>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 858ab82..626f3b9 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -87,6 +87,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"У вас няма дазволу на змяненне налад Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Спалучыць новую прыладу"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Спалучыць справа"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Спалучыць злева"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Спалучыце для іншага вуха"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Падключаны слыхавы апарат для левага вуха.\n\nКаб спалучыць апарат для правага вуха, уключыце яго."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Падключаны слыхавы апарат для правага вуха.\n\nКаб спалучыць апарат для левага вуха, уключыце яго."</string>
@@ -2823,8 +2825,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Некаторыя функцыі могуць быць абмежаваныя"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Павышанае выкарыстанне зараду"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Паглядзіце, якія праграмы найбольш спажываюць зарад"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Зарадка часова абмежавана"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Для эканоміі зараду акумулятара. Даведайцеся больш."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Узнавіць зарадку"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Каб павялічыць тэрмін службы акумулятара, у пэўных абставінах, напрыклад пры працяглай зарадцы ва ўмовах высокай тэмпературы, узровень зараду можа быць абмежаваны <xliff:g id="PERCENT">%1$s</xliff:g>.\n\nКалі абставіны зменяцца, тэлефон аўтаматычна пяройдзе ў звычайны рэжым зарадкі."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Каб павялічыць тэрмін службы акумулятара, у пэўных абставінах, напрыклад пры працяглай зарадцы ва ўмовах высокай тэмпературы, узровень зараду можа быць абмежаваны <xliff:g id="PERCENT">%1$s</xliff:g>.\n\nКалі абставіны зменяцца, планшэт аўтаматычна пяройдзе ў звычайны рэжым зарадкі."</string>
@@ -2870,6 +2876,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Гэта праграма будзе спажываць зарад акумулятара ў фонавым рэжыме. Зарад можа скончыцца хутчэй, чым звычайна."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Зняць"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Скасаваць"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Вашы праграмы спажываюць нармальную колькасць зараду акумулятара. Калі выкарыстанне зараду павысіцца, вы атрымаеце адпаведныя рэкамендацыі.\n\nВы заўсёды можаце ўключыць рэжым эканоміі зараду."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Вашы праграмы спажываюць нармальную колькасць зараду акумулятара. Калі выкарыстанне зараду павысіцца, вы атрымаеце адпаведныя рэкамендацыі.\n\nВы заўсёды можаце ўключыць рэжым эканоміі зараду."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Вашы праграмы спажываюць нармальную колькасць зараду акумулятара. Калі выкарыстанне зараду павысіцца, вы атрымаеце адпаведныя рэкамендацыі.\n\nВы заўсёды можаце ўключыць рэжым эканоміі зараду."</string>
@@ -3051,8 +3059,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"пры ўзроўні зараду акумулятара <xliff:g id="PERCENT">%1$s</xliff:g>"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Працэнт зараду акумулятара"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Паказваць працэнт зараду акумулятара на панэлі стану"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Узровень зарадкі акумулятара з моманту апошняй поўнай зарадкі"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Узровень зараду акумулятара за апошнія 24 гадз"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Выкарыстанне праграм з моманту апошняй поўнай зарадкі"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Выкарыстанне праграмай зараду за апошнія 24 гадз"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Выкарыстанне сістэмы з моманту апошняй поўнай зарадкі"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Выкарыстанне сістэмай зараду за апошнія 24 гадз"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Выкарыстанне сістэмай за <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Выкарыстанне праграмай за <xliff:g id="SLOT">%s</xliff:g>"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 4daef42..7c46b5f 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Нямате разрешение да променяте настройките за Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Сдвояване на ново устройство"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Дясно ухо: Сдвояване"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Ляво ухо: Сдвояване"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Сдвояване на другото ухо"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Слуховият апарат за лявото ухо е свързан.\n\nЗа да сдвоите този за дясното, уверете се, че е включен и в готовност за сдвояване."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Слуховият апарат за дясното ухо е свързан.\n\nЗа да сдвоите този за лявото, уверете се, че е включен и в готовност за сдвояване."</string>
@@ -2761,8 +2763,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Някои функции може да са ограничени"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"По-голямо използване на батерията"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Вижте приложенията с най-голямо използване"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Зареждането временно е ограничено"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"За запазване на батерията ви. Научете повече."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Възобновяване на зареждането"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"При определени условия, като например висока температура и дълъг период на зареждане, зареждането може да бъде ограничено до <xliff:g id="PERCENT">%1$s</xliff:g> с цел запазване на състоянието на батерията.\n\nКогато съответните условия вече не са налице, телефонът ви автоматично ще започне да се зарежда нормално."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"При определени условия, като например висока температура и дълъг период на зареждане, зареждането може да бъде ограничено до <xliff:g id="PERCENT">%1$s</xliff:g> с цел запазване на състоянието на батерията.\n\nКогато съответните условия вече не са налице, таблетът ви автоматично ще започне да се зарежда нормално."</string>
@@ -2798,6 +2804,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Това приложение ще може да използва батерията на заден план. Тя може да се изтощи по-рано от очакваното."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Премахване"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Отказ"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Приложенията ви използват обичайното количество енергия от батерията. Ако те изразходват твърде много от нея, телефонът ви ще предложи действия, които можете да предприемете.\n\nВинаги можете да включите режима за запазване на батерията, ако тя е напът да се изтощи."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Приложенията ви използват обичайното количество енергия от батерията. Ако те изразходват твърде много от нея, таблетът ви ще предложи действия, които можете да предприемете.\n\nВинаги можете да включите режима за запазване на батерията, ако тя е напът да се изтощи."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Приложенията ви използват обичайното количество енергия от батерията. Ако те изразходват твърде много от нея, устройството ви ще предложи действия, които можете да предприемете.\n\nВинаги можете да включите режима за запазване на батерията, ако тя е напът да се изтощи."</string>
@@ -2975,8 +2983,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"при <xliff:g id="PERCENT">%1$s</xliff:g> батерия"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Процент на батерията"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Показване на процента на батерията в лентата на състоянието"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Ниво на батерията от последното пълно зареждане"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Ниво на батерията за последните 24 ч"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Използване на приложенията от последното пълно зареждане"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Използване от приложенията за последните 24 ч"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Използване на системата от последното пълно зареждане"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Използване от системата за последните 24 ч"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Използване от системата за <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Използване от приложенията за <xliff:g id="SLOT">%s</xliff:g>"</string>
diff --git a/res/values-bn/arrays.xml b/res/values-bn/arrays.xml
index db337c8..0a29001 100644
--- a/res/values-bn/arrays.xml
+++ b/res/values-bn/arrays.xml
@@ -504,9 +504,9 @@
<item msgid="9080166583718385565">"0"</item>
</string-array>
<string-array name="wifi_metered_entries">
- <item msgid="3237321077949659241">"অটোমেটিক শনাক্ত হতে দিন"</item>
- <item msgid="3779092145391320375">"মিটারিং চালু রাখুন"</item>
- <item msgid="2047166446768045816">"মিটারিং বন্ধ রাখুন"</item>
+ <item msgid="3237321077949659241">"অটোমেটিক"</item>
+ <item msgid="3779092145391320375">"সীমিত ইন্টারনেট ডেটা"</item>
+ <item msgid="2047166446768045816">"অসীমিত ইন্টারনেট ডেটা"</item>
</string-array>
<string-array name="wifi_privacy_entries">
<item msgid="3485945604919292489">"র্যান্ডমাইজ করা MAC ব্যবহার করুন (ডিফল্ট)"</item>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index 40a2275..1bb0481 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"আপনার কাছে ব্লুটুথ সেটিংস পরিবর্তন করার অনুমতি নেই৷"</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"নতুন ডিভাইস যুক্ত করুন"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"ব্লুটুথ"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"ডান কানে পেয়ার করুন"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"বাঁ কানে পেয়ার করুন"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"অন্য হিয়ারিং এড পেয়ার করুন"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"বাঁদিকের হিয়ারিং এড কানেক্ট করা আছে।\n\nডানদিকেরটি পেয়ার করতে, এটি চালু ও পেয়ার করার জন্য তৈরি কিনা তা ভালভাবে দেখে নিন।"</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"ডানদিকের হিয়ারিং এড কানেক্ট করা আছে।\n\nবাঁদিকেরটি পেয়ার করতে, এটি চালু ও পেয়ার করার জন্য তৈরি কিনা তা ভালভাবে দেখে নিন।"</string>
@@ -997,7 +999,7 @@
<string name="wifi_cellular_data_fallback_summary" msgid="7039944853033554386">"ওয়াই-ফাই এ ইন্টারনেট অ্যাক্সেস না থাকলে মোবাইল ডেটা ব্যবহার করুন৷ ডেটা ব্যবহারের চার্জ প্রযোজ্য।"</string>
<string name="wifi_add_network" msgid="4178564862173751181">"নেটওয়ার্ক যোগ করুন"</string>
<string name="wifi_configure_settings_preference_title" msgid="2536725796700696566">"ওয়াই-ফাইয়ের অভিরুচি"</string>
- <string name="wifi_configure_settings_preference_summary_wakeup_on" msgid="7822368955551467382">"ওয়াই ফাই অটোমেটিক আবার চালু হয়"</string>
+ <string name="wifi_configure_settings_preference_summary_wakeup_on" msgid="7822368955551467382">"ওয়াই-ফাই অটোমেটিক আবার চালু হয়"</string>
<string name="wifi_configure_settings_preference_summary_wakeup_off" msgid="5710203586018223864">"ওয়াই-ফাই অটোমেটিক আবার চালু হয় না"</string>
<string name="wifi_access_points" msgid="5846755709207101844">"ওয়াই-ফাই নেটওয়ার্কগুলি"</string>
<string name="wifi_menu_more_options" msgid="1236651929987819716">"আরও বিকল্প"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"কিছু বৈশিষ্ট্য হয়ত কাজ করবে না"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"সবচেয়ে বেশি ব্যাটারি ব্যবহার"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"কোন অ্যাপে ব্যাটারি সবচেয়ে বেশি খরচ হয়"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"চার্জ সাময়িকভাবে বন্ধ করা আছে"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"ব্যাটারি সাশ্রয় করতে। আরও জানুন।"</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"চার্জ করা আবার চালু করুন"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"অনেকক্ষণ ধরে চার্জ করার জন্য এবং বেশি গরম হয়ে যাওয়ার মতো কিছু পরিস্থিতিতে ব্যাটারির পারফর্ম্যান্স ভাল রাখার জন্য, হতে পারে চার্জ <xliff:g id="PERCENT">%1$s</xliff:g> পর্যন্ত হবে।\n\nএই পরিস্থিতি পরিবর্তন হওয়ার পরে আপনার ট্যাবলেট সাধারণভাবেই চার্জ হওয়া শুরু করে দেবে।"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"অনেকক্ষণ ধরে চার্জ করার জন্য এবং বেশি গরম হয়ে যাওয়ার মতো কিছু পরিস্থিতিতে ব্যাটারির পারফর্ম্যান্স ভাল রাখার জন্য, হতে পারে চার্জ <xliff:g id="PERCENT">%1$s</xliff:g> পর্যন্ত হবে।\n\nএই পরিস্থিতি পরিবর্তন হওয়ার পরে আপনার ট্যাবলেট সাধারণভাবেই চার্জ হওয়া শুরু করে দেবে।"</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"এই অ্যাপটি ব্যাকগ্রাউন্ডে ব্যাটারি ব্যবহার করতে পারবে। প্রত্যাশিত সময়ের আগেই আপনার ব্যাটারির চার্জ শেষ হয়ে যেতে পারে।"</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"সরান"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"বাতিল করুন"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"আপনার অ্যাপগুলি স্বাভাবিক পরিমাণে ব্যাটারি ব্যবহার করছে। কোনও অ্যাপ খুব বেশি ব্যাটারি ব্যবহার করলে আপনি কী কী করতে পারেন তা আপনার ফোন আপনাকে জানিয়ে দেবে।\n\nচার্জ কম থাকলে আপনি যেকোনও সময় ব্যাটারি সেভার চালু করতে পারেন।"</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"আপনার অ্যাপগুলি স্বাভাবিক পরিমাণে ব্যাটারি ব্যবহার করছে। কোনও অ্যাপ খুব বেশি ব্যাটারি ব্যবহার করলে আপনি কী কী করতে পারেন তা আপনার ট্যাবলেট আপনাকে জানিয়ে দেবে।\n\nচার্জ কম থাকলে আপনি যেকোনও সময় ব্যাটারি সেভার চালু করতে পারেন।"</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"আপনার অ্যাপগুলি স্বাভাবিক পরিমাণে ব্যাটারি ব্যবহার করছে। কোনও অ্যাপ খুব বেশি ব্যাটারি ব্যবহার করলে আপনি কী কী করতে পারেন তা আপনার ডিভাইস আপনাকে জানিয়ে দেবে।\n\nচার্জ কম থাকলে আপনি যেকোনও সময় ব্যাটারি সেভার চালু করতে পারেন।"</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"<xliff:g id="PERCENT">%1$s</xliff:g>ব্যাটারি আছে"</string>
<string name="battery_percentage" msgid="1779934245963043490">"ব্যাটারির চার্জের শতকরা হার"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"স্ট্যাটাস বারে ব্যাটারির চার্জের শতকরা হার দেখুন"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"শেষ বার সম্পূর্ণ চার্জ হওয়ার সময় থেকে ব্যাটারি লেভেল"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"গত ২৪ ঘন্টায় ব্যাটারি লেভেলের তথ্য"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"শেষ বার সম্পূর্ণ চার্জ হওয়ার সময় থেকে অ্যাপের ব্যবহার"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"গত ২৪ ঘন্টা ব্যাটারি অ্যাপ ব্যবহারের তথ্য"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"শেষ বার সম্পূর্ণ চার্জ হওয়ার সময় থেকে সিস্টেমের ব্যবহার"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"গত ২৪ ঘন্টা ব্যাটারি সিস্টেম ব্যবহারের তথ্য"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"<xliff:g id="SLOT">%s</xliff:g>-এর জন্য সিস্টেমের ব্যবহার"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"<xliff:g id="SLOT">%s</xliff:g>-এর জন্য অ্যাপের ব্যবহার"</string>
@@ -4999,7 +5010,7 @@
<string name="ambient_display_tap_screen_title" product="tablet" msgid="6461531447715370632">"ট্যাবলেট যাচাই করতে ট্যাপ করুন"</string>
<string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"ডিভাইস যাচাই করতে ট্যাপ করুন"</string>
<string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"সময়, বিজ্ঞপ্তি এবং অন্যান্য তথ্য দেখতে আপনার স্ক্রিনে ট্যাপ করুন।"</string>
- <string name="emergency_gesture_screen_title" msgid="3280543310204360902">"ইমার্জেন্সি SOS"</string>
+ <string name="emergency_gesture_screen_title" msgid="3280543310204360902">"আপৎকালীন SOS"</string>
<string name="emergency_gesture_switchbar_title" msgid="7421353963329899514">"ইমারজেন্সি SOS ব্যবহার করুন"</string>
<string name="emergency_gesture_entrypoint_summary" msgid="4730874229911208834">"<xliff:g id="APP_NAME">%1$s</xliff:g>-এর ম্যানেজ করা"</string>
<string name="emergency_gesture_screen_summary" msgid="6640521030845132507">"নিচে উল্লেখ করা অ্যাকশন শুরু করতে, দ্রুত পাওয়ার বোতাম ৫ বার বা তার থেকে বেশি প্রেস করুন"</string>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 1576fd2..1631395 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -86,6 +86,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Nemate odobrenje da mijenjate postavke za Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Uparivanje novog uređaja"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Upari desno uho"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Upari lijevo uho"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Uparite drugo uho"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Vaš lijevi slušni aparat je povezan.\n\nDa uparite desni, provjerite je li uključen i spreman za uparivanje."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Vaš desni slušni aparat je povezan.\n\nDa uparite lijevi, provjerite je li uključen i spreman za uparivanje."</string>
@@ -620,7 +622,7 @@
<string name="fingerprint_last_delete_title" msgid="4081475675646514726">"Ukloniti sve otiske prstiju?"</string>
<string name="fingerprint_delete_title" msgid="1469865327307917858">"Uklonite \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\""</string>
<string name="fingerprint_delete_message" msgid="1454995433333496541">"Želite li izbrisati ovaj otisak prsta?"</string>
- <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"Ovo briše slike otisaka prsta i model koji su povezani s ID-om \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" i pohranjeni na vašem uređaju"</string>
+ <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"Ovo briše slike otisaka prsta i model koji su povezani s ID-om \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" i pohranjeni na vašem uređaju."</string>
<string name="fingerprint_last_delete_message" msgid="7860374760549404410">"Nećete moći koristiti otisak prsta da otključate telefon niti da potvrdite identitet u aplikacijama."</string>
<string name="fingerprint_last_delete_message_profile_challenge" msgid="4104208067277655068">"Nećete moći koristiti otisak prsta da otključate radni profil, odobrite kupovine niti da se prijavite u poslovne aplikacije."</string>
<string name="fingerprint_last_delete_confirm" msgid="3294910995598819259">"Da, ukloni"</string>
@@ -1669,7 +1671,7 @@
<string name="storage_dialog_unmounted" msgid="1187960789775910051">"Ovaj uređaj (<xliff:g id="NAME_0">^1</xliff:g>) je uspješno uklonjen, ali je i dalje dostupan. \n\nDa biste koristili uređaj <xliff:g id="NAME_1">^1</xliff:g>, prvo ga morate priključiti."</string>
<string name="storage_dialog_unmountable" msgid="1761107904296941687">"Ovaj <xliff:g id="NAME_0">^1</xliff:g> je oštećen. \n\nDa biste koristili ovaj <xliff:g id="NAME_1">^1</xliff:g>, najprije ga morate postaviti."</string>
<string name="storage_internal_format_details" msgid="8922023528848861812">"Nakon formatiranja, možete koristiti ovu <xliff:g id="NAME_0">^1</xliff:g> u drugim uređajima. \n\n Svi podaci sa ove <xliff:g id="NAME_1">^1</xliff:g> će biti izbrisani. Razmislite prvo o kreiranju sigurnosne kopije \n\n"<b>" Rezervne kopije za Fotografije i druge medije "</b>\n" Premjestite multimedijalne fajlove u alternativne skladištenje na ovom uređaju, ili ih prenesete na računalo pomoću USB kabla. \n\n"<b>" Sigurnosne kopije za aplikacije"</b>\n" Sve aplikacije pohranjene na ovom <xliff:g id="NAME_6">^1</xliff:g> će biti deinstalirane i njihovi podaci će biti izbrisani. Da bi ove aplikacije sačuvali, premjestite ih u alternativne memorije na ovom uređaju."</string>
- <string name="storage_internal_unmount_details" msgid="487689543322907311"><b>"Kada izbacite ovaj uređaj (<xliff:g id="NAME_0">^1</xliff:g>), aplikacije pohranjene na njemu će prestati radit, a medijski fajlovi pohranjeni na njemu neće biti dostupni dok ga ponovo ne umetnete."</b>" \n\nUređaj <xliff:g id="NAME_1">^1</xliff:g> je formatiran tako da funkcionira samo na ovom uređaju. Neće funkcionirati na bilo kojem drugom uređaju."</string>
+ <string name="storage_internal_unmount_details" msgid="487689543322907311"><b>"Kada izbacite ovaj uređaj (<xliff:g id="NAME_0">^1</xliff:g>), aplikacije pohranjene na njemu će prestati radit, a medijski fajlovi pohranjeni na njemu neće biti dostupni dok ga ponovo ne umetnete."</b>" \n\nUređaj <xliff:g id="NAME_1">^1</xliff:g> je formatiran tako da funkcionira samo na ovom uređaju. Neće funkcionirati ni na jednom drugom uređaju."</string>
<string name="storage_internal_forget_details" msgid="5606507270046186691">"Da biste koristili aplikacije, slike ili podatke koje ovaj uređaj (<xliff:g id="NAME">^1</xliff:g>) sadrži, ponovo ga umetnite. \n\nUmjesto toga, možete odabrati da zaboravite ovu memoriju ukoliko uređaj nije dostupan \n\nAko odaberete da zaboravite memoriju, svi podaci koje uređaj sadrži će zauvijek biti izgubljeni \n\nAplikacije možete kasnije ponovo instalirati, ali njihovi podaci pohranjeni na ovom uređaju će biti izgubljeni."</string>
<string name="storage_internal_forget_confirm_title" msgid="379238668153099015">"Zaboraviti uređaj <xliff:g id="NAME">^1</xliff:g>?"</string>
<string name="storage_internal_forget_confirm" msgid="5752634604952674123">"Sve aplikacije, fotografije i podaci pohranjeni na ovom <xliff:g id="NAME">^1</xliff:g> bit će trajno izgubljeni."</string>
@@ -1678,7 +1680,7 @@
<string name="storage_wizard_init_external_title" msgid="6540132491909241713">"Koristiti kao prijenosnu memoriju"</string>
<string name="storage_wizard_init_external_summary" msgid="5807552934494462984">"Za premještanje fotografija i drugih medija s jednog uređaja na drugi."</string>
<string name="storage_wizard_init_internal_title" msgid="3256355049992147270">"Koristi kao unutrašnju pohranu"</string>
- <string name="storage_wizard_init_internal_summary" msgid="2283798331883929674">"Za memorisanje bilo čega samo na ovaj uređaj uključujući aplikacije i fotografije. Zahtijeva formatiranje koje sprečavaju da radi sa drugim uređajima."</string>
+ <string name="storage_wizard_init_internal_summary" msgid="2283798331883929674">"Za pohranjivanje bilo čega samo na ovaj uređaj uključujući aplikacije i fotografije. Zahtijeva formatiranje koje sprečavaju da radi sa drugim uređajima."</string>
<string name="storage_wizard_format_confirm_title" msgid="4898014527956178762">"Formatirajte kao unutr. pohranu"</string>
<string name="storage_wizard_format_confirm_body" msgid="5514665245241830772">"To zahtijeva da <xliff:g id="NAME_0">^1</xliff:g> bude formatirana da bi bila sigurna.\n\nNakon formatiranja, ova <xliff:g id="NAME_1">^1</xliff:g> će raditi samo na ovom uređaju. \n\n"<b>"Formatiranje briše sve podatke koji se trenutno na njoj nalaze <xliff:g id="NAME_2">^1</xliff:g>."</b>" Da biste izbjegli gubljenje podataka, razmotrite kreiranje sigurnosne kopije."</string>
<string name="storage_wizard_format_confirm_public_title" msgid="649252654496577680">"Formatirajte kao pren. memoriju"</string>
@@ -2341,8 +2343,8 @@
<string name="talkback_summary" msgid="5820927220378864281">"Čitač ekrana prvenstveno za slijepe i slabovidne osobe"</string>
<string name="select_to_speak_summary" msgid="1995285446766920925">"Dodirnite stavke na ekranu da se naglas pročitaju"</string>
<string name="accessibility_captioning_title" msgid="4561871958958925225">"Postavke titlova"</string>
- <string name="accessibility_captioning_about_title" msgid="3542171637334191563">"O preferencama za titlove"</string>
- <string name="accessibility_captioning_footer_learn_more_content_description" msgid="5730040700677017706">"Saznajte više o preferencama za titlove"</string>
+ <string name="accessibility_captioning_about_title" msgid="3542171637334191563">"O postavkama titlova"</string>
+ <string name="accessibility_captioning_footer_learn_more_content_description" msgid="5730040700677017706">"Saznajte više o postavkama titlova"</string>
<string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Uvećavanje"</string>
<string name="accessibility_screen_magnification_shortcut_title" msgid="2387963646377987780">"Prečica za uvećavanje"</string>
<string name="accessibility_screen_magnification_follow_typing_title" msgid="6379517513916651560">"Uvećavanje pisanja"</string>
@@ -2790,8 +2792,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Neke funkcije mogu biti ograničene"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Veća potrošnja baterije"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Pogledajte aplikacije s najvećom potrošnjom"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Punjenje je privremeno ograničeno"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Za očuvanje baterije. Saznajte više."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Nastavi punjenje"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"U određenim okolnostima, kao što su visoke temperature i dugi periodi punjenja, punjenje može biti ograničeno na <xliff:g id="PERCENT">%1$s</xliff:g> radi očuvanja baterije.\n\nKada te okolnosti prestanu, telefon će se automatski početi normalno puniti."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"U određenim okolnostima, kao što su visoke temperature i dugi periodi punjenja, punjenje može biti ograničeno na <xliff:g id="PERCENT">%1$s</xliff:g> radi očuvanja baterije.\n\nKada te okolnosti prestanu, tablet će se automatski početi normalno puniti."</string>
@@ -2832,6 +2838,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Ova aplikacija će moći koristiti bateriju u pozadini. Vaša baterija bi se mogla isprazniti prije nego što očekujete."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Ukloni"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Otkaži"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Vaše aplikacije troše bateriju uobičajenom brzinom. Ako aplikacije budu prebrzo trošile bateriju, telefon će predložiti radnje koje možete preduzeti.\n\nUvijek možete uključiti Uštedu baterije ako je baterija skoro prazna."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Vaše aplikacije troše bateriju uobičajenom brzinom. Ako aplikacije budu prebrzo trošile bateriju, tablet će predložiti radnje koje možete preduzeti.\n\nUvijek možete uključiti Uštedu baterije ako je baterija skoro prazna."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Vaše aplikacije troše bateriju uobičajenom brzinom. Ako aplikacije budu prebrzo trošile bateriju, uređaj će predložiti radnje koje možete preduzeti.\n\nUvijek možete uključiti Uštedu baterije ako je baterija skoro prazna."</string>
@@ -3011,8 +3019,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"na <xliff:g id="PERCENT">%1$s</xliff:g> baterije"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Postotak napunjenosti baterije"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Prikaz postotka napunjenosti baterije na statusnoj traci"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Nivo baterije od posljednjeg potpunog punjenja"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Nivo napunjenosti baterije u posljednja 24 h"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Korištenje aplikacija od posljednjeg potpunog punjenja"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Korištenje aplikacije u posljednja 24 h"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Korištenje sistema od posljednjeg potpunog punjenja"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Korištenje sistema u posljednja 24 h"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Korištenje sistema za: <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Korištenje aplikacije za: <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -5736,7 +5747,7 @@
<string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
<string name="default_active_sim_mobile_data" msgid="6798083892814045301">"prijenos podataka na mobilnoj mreži"</string>
<string name="wifi_scan_notify_message" msgid="1331238142061476869">"Radi poboljšanja iskustva s uređajem aplikacije i usluge i dalje mogu u bilo kojem trenutku skenirati WiFi mreže, čak i kada je WiFi isključen. Ovim se, naprimjer, mogu poboljšati funkcije i usluge zasnovane na lokaciji. Ovo možete promijeniti u postavkama Skeniranja WiFi mreže."</string>
- <string name="wifi_scan_change" msgid="8438320311511852918">"Izmijeni"</string>
+ <string name="wifi_scan_change" msgid="8438320311511852918">"Izmijenite"</string>
<string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
<string name="mobile_data_connection_active" msgid="2422223108911581552">"Povezano"</string>
<string name="mobile_data_no_connection" msgid="905897142426974030">"Niste povezani s mrežom"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 112b427..a097d86 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"No tens permís per canviar la configuració del Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Vincula un dispositiu nou"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Vincula la dreta"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Vincula l\'esquerra"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Vincula l\'altra orella"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"L\'audiòfon esquerre està connectat.\n\nPer vincular el dret, comprova que estigui encès i a punt per vincular-se."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"L\'audiòfon dret està connectat.\n\nPer vincular l\'esquerre, comprova que estigui encès i a punt per vincular-se."</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"És possible que algunes funcions estiguin limitades"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Major consum de bateria"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Mostra les aplicacions que més bateria utilitzen"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Càrrega limitada temporalment"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Per estalviar bateria. Obtén més informació."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Reprèn la càrrega"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"En determinades condicions, com ara altes temperatures i llargs períodes de càrrega, pot ser que la càrrega de la bateria es limiti al <xliff:g id="PERCENT">%1$s</xliff:g> per mantenir el bon estat de la bateria.\n\nQuan finalitzin aquestes condicions, el telèfon tornarà a carregar-se de manera normal automàticament."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"En determinades condicions, com ara altes temperatures i llargs períodes de càrrega, pot ser que la càrrega de la bateria es limiti al <xliff:g id="PERCENT">%1$s</xliff:g> per mantenir el bon estat de la bateria.\n\nQuan finalitzin aquestes condicions, la tauleta tornarà a carregar-se de manera normal automàticament."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Aquesta aplicació podrà utilitzar la bateria en segon pla, cosa que pot provocar que s\'esgoti abans del previst."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Suprimeix"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Cancel·la"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Les teves aplicacions utilitzen una quantitat normal de bateria. Si n\'utilitzen massa, el telèfon et suggerirà mesures per evitar-ho.\n\nSi tens poca bateria, sempre pots activar l\'estalvi de bateria."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Les teves aplicacions utilitzen una quantitat normal de bateria. Si n\'utilitzen massa, la tauleta et suggerirà mesures per evitar-ho.\n\nSi tens poca bateria, sempre pots activar l\'estalvi de bateria."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Les teves aplicacions utilitzen una quantitat normal de bateria. Si n\'utilitzen massa, el dispositiu et suggerirà mesures per evitar-ho.\n\nSi tens poca bateria, sempre pots activar l\'estalvi de bateria."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"percentatge de bateria: <xliff:g id="PERCENT">%1$s</xliff:g>"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Percentatge de bateria"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Mostra el percentatge de bateria a la barra d\'estat"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Nivell de la bateria des de la darrera càrrega completa"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Nivell de bateria durant les 24 darreres hores"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Ús de les aplicacions des de la darrera càrrega completa"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Ús d\'aplicacions durant les 24 darreres hores"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Ús del sistema des de la darrera càrrega completa"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Ús del sistema durant les 24 darreres hores"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Ús del sistema entre <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Ús d\'aplicacions entre <xliff:g id="SLOT">%s</xliff:g>"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 0681152..eeef0e9 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -87,6 +87,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Nemáte oprávnění měnit nastavení Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Spárovat nové zařízení"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Spárovat pravé ucho"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Spárovat levé ucho"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Spárovat druhé ucho"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Levé naslouchátko je připojené.\n\nPokud chcete spárovat pravé, ujistěte se, zda je zapnuté a připravené k párování."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Pravé naslouchátko je připojené.\n\nPokud chcete spárovat levé, ujistěte se, zda je zapnuté a připravené k párování."</string>
@@ -161,7 +163,7 @@
<string name="connected_device_call_device_title" msgid="88732390601723608">"Volání na zařízení"</string>
<string name="connected_device_other_device_title" msgid="4652120430615729193">"Ostatní zařízení"</string>
<string name="connected_device_saved_title" msgid="5607274378851905959">"Uložená zařízení"</string>
- <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Zapne se Bluetooth za účelem spárování"</string>
+ <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Za účelem spárování se zapne Bluetooth"</string>
<string name="connected_device_connections_title" msgid="4164120115341579170">"Předvolby připojení"</string>
<string name="connected_device_previously_connected_title" msgid="605808252622814415">"Dříve připojená zařízení"</string>
<string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Dříve připojeno"</string>
@@ -331,7 +333,7 @@
<string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Načítání…"</string>
<string name="location_settings_footer_general" msgid="1040507068701188821">"Aplikace s oprávněním k přístupu k zařízením v okolí mohou zjišťovat relativní polohu připojených zařízení."</string>
<string name="location_settings_footer_location_off" msgid="8568995909147566720">"Přístup aplikací a služeb k poloze je vypnutý. Poloha zařízení může být přesto odesílána záchranářům, když vytočíte číslo tísňového volání nebo na něj pošlete SMS."</string>
- <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"Přečtěte si další informace o nastavení oblastí."</string>
+ <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"Přečtěte si další informace o nastavení polohy."</string>
<string name="account_settings_title" msgid="9138880127246241885">"Účty"</string>
<string name="security_settings_title" msgid="6710768415432791970">"Zabezpečení"</string>
<string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Šifrování a pověření"</string>
@@ -544,7 +546,7 @@
<string name="security_settings_fingerprint_enroll_finish_title" msgid="3606325177406951457">"Otisk byl přidán"</string>
<string name="security_settings_fingerprint_enroll_finish_v2_message" product="tablet" msgid="5918110416185820480">"Odemknutí otiskem prstu se zdokonaluje, čím častěji ho používáte k odemčení tabletu nebo ověření identity v aplikacích"</string>
<string name="security_settings_fingerprint_enroll_finish_v2_message" product="device" msgid="2989276789236025675">"Odemknutí otiskem prstu se zdokonaluje, čím častěji ho používáte k odemčení zařízení nebo ověření identity v aplikacích"</string>
- <string name="security_settings_fingerprint_enroll_finish_v2_message" product="default" msgid="6506437402392739879">"Odemknutí otiskem prstu se zdokonaluje, čím častěji ho používáte k odemčení telefonu nebo ověření identity v aplikacích"</string>
+ <string name="security_settings_fingerprint_enroll_finish_v2_message" product="default" msgid="6506437402392739879">"Čím častěji budete odemknutí otiskem prstu používat k odemčení telefonu nebo ověření identity v aplikacích, tím víc se bude zlepšovat"</string>
<string name="security_settings_fingerprint_enroll_enrolling_skip" msgid="3004786457919122854">"Později"</string>
<string name="security_settings_udfps_tip_fingerprint_help" msgid="7580784640741217494">"Zvedněte prst a dotkněte se znovu"</string>
<string name="security_settings_udfps_side_fingerprint_help" msgid="2567232481013195191">"Umístěte boční stranu prstu na snímač a podržte ho, poté ho „překulte“ na druhou stranu"</string>
@@ -624,7 +626,7 @@
<string name="fingerprint_last_delete_title" msgid="4081475675646514726">"Odstranit všechny otisky prstů?"</string>
<string name="fingerprint_delete_title" msgid="1469865327307917858">"Odstranit <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>"</string>
<string name="fingerprint_delete_message" msgid="1454995433333496541">"Chcete tento otisk prstu smazat?"</string>
- <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"Touto akcí vymažete snímky a model otisků prstů propojené s „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“, které jsou uloženy ve vašem zařízení"</string>
+ <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"Touto akcí vymažete snímky a model otisku prstu propojené s „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“, které jsou uloženy ve vašem zařízení"</string>
<string name="fingerprint_last_delete_message" msgid="7860374760549404410">"Pomocí otisku prstu už nebude možné odemykat telefon ani ověřovat vaši identitu v aplikacích."</string>
<string name="fingerprint_last_delete_message_profile_challenge" msgid="4104208067277655068">"Otisk prstu už nebude možné používat k odemknutí pracovního profilu, autorizaci nákupů ani přihlašování do pracovních aplikací."</string>
<string name="fingerprint_last_delete_confirm" msgid="3294910995598819259">"Ano, odstranit"</string>
@@ -2821,8 +2823,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Některé funkce mohou být omezeny"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Největší využití baterie"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Zobrazte aplikace s největším využitím baterie"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Nabíjení je dočasně omezeno"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Za účelem úspory baterie. Další informace"</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Obnovit nabíjení"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Za určitých podmínek, jako je vysoká teplota a dlouhá doba mezi nabitími, může být nabíjení omezeno na <xliff:g id="PERCENT">%1$s</xliff:g> za účelem udržení výdrže baterie.\n\nKdyž tyto podmínky pominou, telefon se automaticky začne nabíjet normálně."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Za určitých podmínek, jako je vysoká teplota a dlouhá doba mezi nabitími, může být nabíjení omezeno na <xliff:g id="PERCENT">%1$s</xliff:g> za účelem udržení výdrže baterie.\n\nKdyž tyto podmínky pominou, tablet se automaticky začne nabíjet normálně."</string>
@@ -2868,6 +2874,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Aplikace začne využívat baterii na pozadí. Baterie se možná vybije dřív, než se očekávalo."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Odstranit"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Zrušit"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Vaše aplikace mají běžnou spotřebu baterie. Pokud dojde k velkému zvýšení spotřeby, telefon vám doporučí možné akce.\n\nPokud vám dochází baterie, můžete podle potřeby zapnout spořič baterie."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Vaše aplikace mají běžnou spotřebu baterie. Pokud dojde k velkému zvýšení spotřeby, tablet vám doporučí možné akce.\n\nPokud vám dochází baterie, můžete podle potřeby zapnout spořič baterie."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Vaše aplikace mají běžnou spotřebu baterie. Pokud dojde k velkému zvýšení spotřeby, zařízení vám doporučí možné akce.\n\nPokud vám dochází baterie, můžete podle potřeby zapnout spořič baterie."</string>
@@ -3049,8 +3057,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"při <xliff:g id="PERCENT">%1$s</xliff:g> baterie"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Procento baterie"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Zobrazovat procento baterie na stavovém řádku"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Stav baterie od posledního úplného nabití"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Úroveň baterie za posledních 24 hodin"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Využití ze strany aplikací od posledního úplného nabití"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Využití baterie aplikacemi za posledních 24 hodin"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Využití ze strany systému od posledního úplného nabití"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Využití baterie systémem za posledních 24 hodin"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Využití baterie systémem: <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Využití baterie aplikací: <xliff:g id="SLOT">%s</xliff:g>"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index ee84d05..4dbfbe0 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -52,7 +52,7 @@
<string name="font_size_summary" msgid="1296835853522566260">"Gør teksten på skærmen mindre eller større."</string>
<string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Formindsk"</string>
<string name="font_size_make_larger_desc" msgid="5583046033381722247">"Forstør"</string>
- <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Brug roter automatisk"</string>
+ <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Brug automatisk rotering"</string>
<string name="smart_rotate_text_headline" msgid="5878008933992951904">"Ansigtsgenkendelse bruger kameraet på forsiden for at forbedre nøjagtigheden af indstillingen Roter automatisk. Billeder gemmes ikke, og de sendes aldrig til Google."</string>
<string name="font_size_preview_text_headline" msgid="1173103737980511652">"Eksempeltekst"</string>
<string name="font_size_preview_text_title" msgid="6363561029914452382">"Den vidunderlige troldmand fra Oz"</string>
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Du har ikke tilladelse til at ændre Bluetooth-indstillinger."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Par en ny enhed"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Par højre øre"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Par venstre øre"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Par det andet høreapparat"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Dit venstre høreapparat er tilsluttet.\n\nDu kan parre det højre ved at sørge for, at det er tændt og klar til at blive parret."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Dit højre høreapparat er tilsluttet.\n\nDu kan parre det venstre ved at sørge for, at det er tændt og klar til at blive parret."</string>
@@ -160,7 +162,7 @@
<string name="connected_device_other_device_title" msgid="4652120430615729193">"Andre enheder"</string>
<string name="connected_device_saved_title" msgid="5607274378851905959">"Gemte enheder"</string>
<string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth aktiveres for at parre"</string>
- <string name="connected_device_connections_title" msgid="4164120115341579170">"Forbindelsespræferencer"</string>
+ <string name="connected_device_connections_title" msgid="4164120115341579170">"Præferencer for forbindelser"</string>
<string name="connected_device_previously_connected_title" msgid="605808252622814415">"Tidligere forbundne enheder"</string>
<string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Tidligere forbindelser"</string>
<string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth er aktiveret"</string>
@@ -324,7 +326,7 @@
</plurals>
<string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Indlæser…"</string>
<string name="location_settings_footer_general" msgid="1040507068701188821">"Apps med tilladelse fra enheder i nærheden kan fastslå den relative placering af forbundne enheder."</string>
- <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Adgangen til Lokation er deaktiveret for apps og tjenester. Din enhedslokation kan stadig blive sendt til redningspersonale, hvis du ringer eller sender en sms til et alarmnummer."</string>
+ <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Adgangen til Lokation er deaktiveret for apps og tjenester. Din enhedslokation kan stadig blive sendt til udrykningsberedskab, hvis du ringer eller sender en sms til et alarmnummer."</string>
<string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"Få flere oplysninger om lokationsindstillinger."</string>
<string name="account_settings_title" msgid="9138880127246241885">"Konti"</string>
<string name="security_settings_title" msgid="6710768415432791970">"Sikkerhed"</string>
@@ -1294,7 +1296,7 @@
<string name="volume_alarm_description" msgid="156563371961039376">"Alarmer"</string>
<string name="volume_ring_mute" msgid="1445718401945149622">"Slå lyden fra for ringetone og notifikationer"</string>
<string name="volume_media_mute" msgid="1881020121757820746">"Slå lyden fra for musik og andre medier"</string>
- <string name="volume_notification_mute" msgid="2612197659377126312">"Slå lyden fra for notifikationer"</string>
+ <string name="volume_notification_mute" msgid="2612197659377126312">"Ignorer notifikationer"</string>
<string name="volume_alarm_mute" msgid="3730895630530980760">"Slå lyden fra for alarmer"</string>
<string name="dock_settings" msgid="4654404127402812514">"Dockingstation"</string>
<string name="dock_settings_title" msgid="1276956575555480214">"Indstillinger for dockingstation"</string>
@@ -1325,7 +1327,7 @@
<string name="auto_rotate_option_face_based" msgid="3438645484087953174">"Til – ansigtsbaseret"</string>
<string name="auto_rotate_switch_face_based" msgid="9116123744601564320">"Ansigtsgenkendelse"</string>
<string name="auto_rotate_screen_summary" msgid="4547268203621754096">"Juster automatisk skærmretningen, når du skifter mellem stående og liggende format på telefonen ved at bevæge den"</string>
- <string name="auto_rotate_link_a11y" msgid="5146188567212233286">"Få flere oplysninger om indstillingen Roter automatisk"</string>
+ <string name="auto_rotate_link_a11y" msgid="5146188567212233286">"Få flere oplysninger om automatisk rotering"</string>
<string name="auto_rotate_summary_a11y" msgid="1505094100328581685">"Når du drejer telefonen til stående eller liggende format"</string>
<string name="screen_resolution_title" msgid="2690518693139811486">"Skærmopløsning"</string>
<string name="screen_resolution_option_high" msgid="2617496842852992853">"Høj opløsning"</string>
@@ -2458,12 +2460,12 @@
<string name="accessibility_display_inversion_shortcut_title" msgid="6889624526691513462">"Genvej til ombytning af farver"</string>
<string name="accessibility_display_inversion_preference_intro_text" msgid="1159663288481145318">"Funktionen Ombytning af farver gør lyse skærme mørke. Den kan også gøre mørke skærme lyse."</string>
<string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>Vær opmærksom på følgende</b><br/> <ol> <li> Farverne ændres i medier og på billeder</li> <li> Ombytning af farver fungerer i alle apps</li> <li> Hvis du vil bruge en mørk baggrund, kan du bruge Mørkt tema i stedet</li> </ol>"</string>
- <string name="accessibility_autoclick_preference_title" msgid="2703143361605555752">"Automatisk klik (dvæletid)"</string>
+ <string name="accessibility_autoclick_preference_title" msgid="2703143361605555752">"Autoklik (dvæletid)"</string>
<string name="accessibility_autoclick_about_title" msgid="152923024405552594">"Om automatisk klik (dvæletid)"</string>
- <string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"Få flere oplysninger om automatisk klik (dvæletid)"</string>
+ <string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"Få flere oplysninger om autoklik (dvæletid)"</string>
<string name="accessibility_autoclick_intro_text" msgid="8959680635470639347">"Du kan indstille en tilknyttet mus til at klikke automatisk, når markøren holder op med at bevæge sig i en angivet mængde tid"</string>
- <string name="accessibility_autoclick_description" msgid="6695732131412361101">"Automatisk klik kan være en nyttig funktion, hvis det er svært at klikke med musen"</string>
- <string name="accessibility_autoclick_default_title" msgid="2024730028293793490">"Automatisk klik er deaktiveret"</string>
+ <string name="accessibility_autoclick_description" msgid="6695732131412361101">"Autoklik kan være en nyttig funktion, hvis det er svært at klikke med musen"</string>
+ <string name="accessibility_autoclick_default_title" msgid="2024730028293793490">"Autoklik er deaktiveret"</string>
<string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Kort"</string>
<string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 sekunder"</string>
<string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Mellem"</string>
@@ -2474,7 +2476,7 @@
<string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Kortere"</string>
<string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Længere"</string>
<string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Varighed af automatisk klik"</string>
- <string name="accessibility_vibration_settings_title" msgid="936301142478631993">"Vibration og berøringssensor"</string>
+ <string name="accessibility_vibration_settings_title" msgid="936301142478631993">"Vibration og haptik"</string>
<string name="accessibility_vibration_settings_summary" msgid="3690308537483465527">"Tilpas vibrationsstyrken til forskellige brugsformer"</string>
<string name="accessibility_vibration_settings_state_on" msgid="5566026932372832502">"Aktiveret"</string>
<string name="accessibility_vibration_settings_state_off" msgid="7946588741954981703">"Deaktiveret"</string>
@@ -2482,7 +2484,7 @@
<string name="accessibility_call_vibration_category_title" msgid="2545607568768192318">"Opkald"</string>
<string name="accessibility_notification_alarm_vibration_category_title" msgid="2683635252414849417">"Notifikationer og alarmer"</string>
<string name="accessibility_interactive_haptics_category_title" msgid="3162855291184592021">"Interaktive haptiske effekter"</string>
- <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Brug vibration og berøringssensor"</string>
+ <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Brug vibration og haptik"</string>
<string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Vibration for alarm"</string>
<string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Vibration for medier"</string>
<string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibration ved opkald"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Nogle funktioner kan være begrænsede"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Højere batteriforbrug"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Se apps med højest forbrug"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Opladningen er midlertidigt begrænset"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"For at forlænge batteriets levetid. Få flere oplysninger."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Genoptag opladning"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Under visse forhold, f.eks. ved høje temperaturer og længere perioder med opladning, kan opladningen stoppe på <xliff:g id="PERCENT">%1$s</xliff:g> for at passe på batteriet.\n\nNår disse forhold ikke længere er til stede, oplades din telefon automatisk som normalt igen."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Under visse forhold, f.eks. ved høje temperaturer og længere perioder med opladning, kan opladningen stoppe på <xliff:g id="PERCENT">%1$s</xliff:g> for at passe på batteriet.\n\nNår disse forhold ikke længere er til stede, oplades din tablet automatisk som normalt igen."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Denne app vil kunne bruge batteri i baggrunden. Enheden løber muligvis tør for batteri hurtigere end forventet."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Fjern"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Annuller"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Dine apps har et normalt batteriforbrug. Hvis apps bruger for meget batteri, foreslår din telefon, hvad du kan gøre.\n\nDu kan altid aktivere batterisparefunktionen, hvis telefonen er ved at løbe tør for batteri."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Dine apps har et normalt batteriforbrug. Hvis apps bruger for meget batteri, foreslår din tablet, hvad du kan gøre.\n\nDu kan altid aktivere batterisparefunktionen, hvis din tablet er ved at løbe tør for batteri."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Dine apps har et normalt batteriforbrug. Hvis apps bruger for meget batteri, foreslår din enhed, hvad du kan gøre.\n\nDu kan altid aktivere batterisparefunktionen, hvis enheden er ved at løbe tør for batteri."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"ved batteriniveau på <xliff:g id="PERCENT">%1$s</xliff:g>"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Batteriniveau"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Vis batteriniveau på statusbjælken"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Batteriniveau siden sidste fulde opladning"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Batteriniveau for de seneste 24 timer"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Appforbrug siden sidste fulde opladning"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Appforbrug for de seneste 24 timer"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Systemforbrug siden sidste fulde opladning"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Systemforbrug for de seneste 24 timer"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Systemforbrug for <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Appforbrug for <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -3608,7 +3619,7 @@
<string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Seneste apps, standardapps"</string>
<string name="notification_settings_work_profile" msgid="6076211850526353975">"Apps i arbejdsprofilen har ikke adgang til notifikationsindstillingerne."</string>
<string name="account_dashboard_title" msgid="8228773251948253914">"Adgangskoder og konti"</string>
- <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Gemte adgangskoder, Autofyld, synkroniserede konti"</string>
+ <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Gemte adgangskoder, autofyld, synkroniserede konti"</string>
<string name="app_default_dashboard_title" msgid="4071015747629103216">"Standardapps"</string>
<string name="system_dashboard_summary" msgid="7400745270362833832">"Sprog, bevægelser, klokkeslæt, backup"</string>
<string name="search_results_title" msgid="3360639917793022533">"Indstillinger"</string>
@@ -4439,7 +4450,7 @@
</plurals>
<string name="unused_apps_category" msgid="8954930958175500851">"Ubrugte appindstillinger"</string>
<string name="unused_apps_switch" msgid="7595419855882245772">"Sæt appaktivitet på pause ved inaktivitet"</string>
- <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Fjern tilladelser, slet midlertidige filer og stop notifikationer"</string>
+ <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Fjern tilladelser, slet midlertidige filer, og stop notifikationer"</string>
<string name="filter_all_apps" msgid="6645539744080251371">"Alle apps"</string>
<string name="filter_enabled_apps" msgid="8868356616126759124">"Installerede apps"</string>
<string name="filter_instant_apps" msgid="2292108467020380068">"Instant-apps"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index b8657c8..99aeff8 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Du bist nicht zur Änderung der Bluetooth-Einstellungen berechtigt."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Neues Gerät koppeln"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Rechtes Gerät koppeln"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Linkes Gerät koppeln"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Anderes Ohr koppeln"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Dein linkes Hörgerät ist verbunden.\n\nWenn du dein rechtes Hörgerät koppeln möchtest, muss es eingeschaltet und bereit zum Koppeln sein."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Dein rechtes Hörgerät ist verbunden.\n\nWenn du dein linkes Hörgerät koppeln möchtest, muss es eingeschaltet und bereit zum Koppeln sein."</string>
@@ -325,7 +327,7 @@
<string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Wird geladen…"</string>
<string name="location_settings_footer_general" msgid="1040507068701188821">"Apps mit der Berechtigung zum Zugriff auf Geräte in der Nähe können die relative Position von verbundenen Geräten ermitteln."</string>
<string name="location_settings_footer_location_off" msgid="8568995909147566720">"Standortzugriff ist für Apps und Dienste deaktiviert. Wenn du eine Notrufnummer wählst oder eine Nachricht an eine solche Nummer schickst, kann dein Standort dennoch an den Notdienst gesendet werden."</string>
- <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"Weitere Informationen zu Standorteinstellungen."</string>
+ <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"Weitere Informationen zu Standorteinstellungen"</string>
<string name="account_settings_title" msgid="9138880127246241885">"Konten"</string>
<string name="security_settings_title" msgid="6710768415432791970">"Sicherheit"</string>
<string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Verschlüsselung & Anmeldedaten"</string>
@@ -611,7 +613,7 @@
<string name="security_advanced_settings_no_work_profile_settings_summary" msgid="345336447137417638">"Verschlüsselung, Anmeldedaten und mehr"</string>
<string name="security_advanced_settings_keywords" msgid="5294945170370974974">"Sicherheit, weitere Sicherheitseinstellungen, weitere Einstellungen, erweiterte Sicherheitseinstellungen"</string>
<string name="privacy_advanced_settings" msgid="8828215456566937719">"Weitere Datenschutzeinstellungen"</string>
- <string name="privacy_advanced_settings_summary" msgid="2927281894237561935">"Automatisches Ausfüllen, Aktivitätseinstellungen und mehr"</string>
+ <string name="privacy_advanced_settings_summary" msgid="2927281894237561935">"Autofill, Aktivitätseinstellungen und mehr"</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>
@@ -2323,7 +2325,7 @@
<string name="accessibility_captioning_about_title" msgid="3542171637334191563">"Über die Einstellungen für Untertitel"</string>
<string name="accessibility_captioning_footer_learn_more_content_description" msgid="5730040700677017706">"Weitere Informationen zu den Einstellungen für Untertitel"</string>
<string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Vergrößerung"</string>
- <string name="accessibility_screen_magnification_shortcut_title" msgid="2387963646377987780">"Schnellzugriff für Vergrößerung"</string>
+ <string name="accessibility_screen_magnification_shortcut_title" msgid="2387963646377987780">"Kurzbefehl für Vergrößerung"</string>
<string name="accessibility_screen_magnification_follow_typing_title" msgid="6379517513916651560">"Eingetippten Text vergrößern"</string>
<string name="accessibility_screen_magnification_follow_typing_summary" msgid="2882250257391761678">"Lupe folgt dem Text, während du tippst"</string>
<string name="accessibility_screen_magnification_about_title" msgid="8857919020223505415">"Über die Vergrößerung"</string>
@@ -2369,7 +2371,7 @@
<string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Zum Zoomen dreimal tippen"</string>
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Zum Zoomen auf eine Schaltfläche tippen"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Du kannst auf dem Display schnell heranzoomen, um Inhalte zu vergrößern"</string>
- <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>So zoomst du heran:</b><br/> {0,number,integer}. Starte die Vergrößerung über den Schnellzugriff<br/> {1,number,integer}. Tippe auf das Display<br/> {2,number,integer}. Ziehe mit zwei Fingern, um den angezeigten Bildschirmausschnitt zu ändern<br/> {3,number,integer}. Ziehe zwei Finger auseinander oder zusammen, um den Zoom anzupassen<br/> {4,number,integer}. Beende die Vergrößerung über den Schnellzugriff<br/><br/> <b>So zoomst du vorübergehend heran:</b><br/> {0,number,integer}. Achte darauf, dass als Art der Vergrößerung „Vollbild“ ausgewählt ist<br/> {1,number,integer}. Starte die Vergrößerung über den Schnellzugriff<br/> {2,number,integer}. Halte eine beliebige Stelle auf dem Display gedrückt<br/> {3,number,integer}. Ziehe mit dem Finger, um den angezeigten Bildschirmausschnitt zu ändern<br/> {4,number,integer}. Hebe den Finger, um die Vergrößerung zu beenden"</string>
+ <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>So zoomst du heran:</b><br/> {0,number,integer}. Starte die Vergrößerung über den Kurzbefehl<br/> {1,number,integer}. Tippe auf das Display<br/> {2,number,integer}. Ziehe mit zwei Fingern, um den angezeigten Bildschirmausschnitt zu ändern<br/> {3,number,integer}. Ziehe zwei Finger auseinander oder zusammen, um den Zoom anzupassen<br/> {4,number,integer}. Beende die Vergrößerung über den Kurzbefehl<br/><br/> <b>So zoomst du vorübergehend heran:</b><br/> {0,number,integer}. Achte darauf, dass als Art der Vergrößerung „Vollbild“ ausgewählt ist<br/> {1,number,integer}. Starte die Vergrößerung über den Kurzbefehl<br/> {2,number,integer}. Halte eine beliebige Stelle auf dem Display gedrückt<br/> {3,number,integer}. Ziehe mit dem Finger, um den angezeigten Bildschirmausschnitt zu ändern<br/> {4,number,integer}. Hebe den Finger, um die Vergrößerung zu beenden"</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Wenn die Vergrößerung aktiviert ist, kannst du Elemente auf dem Bildschirm heranzoomen.\n\n"<b>"Wenn du zoomen möchtest"</b>", starte die Vergrößerung und tippe dann auf eine beliebige Stelle auf dem Bildschirm.\n"<ul><li>"Zum Scrollen ziehe mit zwei oder mehr Fingern"</li>\n<li>"Zum Anpassen des Zooms ziehe zwei oder mehr Finger zusammen bzw. auseinander"</li></ul>\n\n<b>"Wenn du vorübergehend heranzoomen möchtest"</b>", starte die Vergrößerung und tippe dann auf eine beliebige Stelle auf dem Bildschirm und halte sie gedrückt.\n"<ul><li>"Wenn du den angezeigten Bildschirmausschnitt verschieben möchtest, ziehe den Bildschirm"</li>\n<li>"Zum Herauszoomen hebe den Finger"</li></ul>\n\n"In die Tastatur oder Navigationsleiste kann nicht hineingezoomt werden."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Seite <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> von <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Zum Öffnen Schaltfläche „Bedienungshilfen“ nutzen"</string>
@@ -2458,14 +2460,14 @@
<string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Reaktionszeit für langes Drücken"</string>
<string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Farbumkehr"</string>
<string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Farbumkehr aktivieren"</string>
- <string name="accessibility_display_inversion_shortcut_title" msgid="6889624526691513462">"Schnellzugriff für Farbumkehr"</string>
+ <string name="accessibility_display_inversion_shortcut_title" msgid="6889624526691513462">"Kurzbefehl für Farbumkehr"</string>
<string name="accessibility_display_inversion_preference_intro_text" msgid="1159663288481145318">"Die Farbumkehr macht helle Displays dunkel. Und sie macht dunkle Displays hell."</string>
<string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>Hinweis</b><br/> <ol> <li> Das führt zu einer veränderten Wiedergabe der Farben in Medien und Bildern</li> <li> Die Farbumkehr funktioniert in allen Apps</li> <li> Ein dunkler Hintergrund kann stattdessen mit dem dunklen Design angezeigt werden</li> </ol>"</string>
<string name="accessibility_autoclick_preference_title" msgid="2703143361605555752">"Automatischer Klick (Verweildauer)"</string>
<string name="accessibility_autoclick_about_title" msgid="152923024405552594">"Über automatischer Klick (Verweildauer)"</string>
<string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"Weitere Informationen zu automatischen Klicks (Verweildauer)"</string>
<string name="accessibility_autoclick_intro_text" msgid="8959680635470639347">"Du kannst eine verbundene Maus so einstellen, dass sie automatisch klickt, wenn sich der Cursor für eine bestimmte Zeit nicht bewegt"</string>
- <string name="accessibility_autoclick_description" msgid="6695732131412361101">"Automatischer Klick kann nützlich sein, wenn es schwierig ist, mit der Maus zu klicken"</string>
+ <string name="accessibility_autoclick_description" msgid="6695732131412361101">"Die Funktion \"automatischer Klick\" kann nützlich sein, wenn es schwierig ist, mit der Maus zu klicken"</string>
<string name="accessibility_autoclick_default_title" msgid="2024730028293793490">"Automatischer Klick deaktivieren"</string>
<string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Kurz"</string>
<string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 Sekunden"</string>
@@ -2507,7 +2509,7 @@
<string name="accessibility_daltonizer_about_intro_text" product="default" msgid="3636710237139542212">"Hier kannst du anpassen, wie Farben auf deinem Smartphone dargestellt werden"</string>
<string name="accessibility_daltonizer_about_intro_text" product="tablet" msgid="3702653229533336133">"Hier kannst du anpassen, wie Farben auf deinem Tablet dargestellt werden"</string>
<string name="accessibility_daltonizer_primary_switch_title" msgid="32064721588910540">"Farbkorrektur aktivieren"</string>
- <string name="accessibility_daltonizer_shortcut_title" msgid="7480360363995502369">"Schnellzugriff für Farbkorrektur"</string>
+ <string name="accessibility_daltonizer_shortcut_title" msgid="7480360363995502369">"Kurzbefehl für Farbkorrektur"</string>
<string name="accessibility_daltonizer_about_title" msgid="6063650804116981287">"Über die Farbkorrektur"</string>
<string name="accessibility_daltonizer_footer_learn_more_content_description" msgid="2091679253892040910">"Weitere Informationen zur Farbkorrektur"</string>
<string name="accessibility_color_inversion_about_title" msgid="8275754480247040136">"Über die Farbumkehr"</string>
@@ -2559,7 +2561,7 @@
<string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomalie"</string>
<string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Extradunkel"</string>
<string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Display extradunkel aktivieren"</string>
- <string name="reduce_bright_colors_shortcut_title" msgid="495648157059202745">"Schnellzugriff für Extradunkel"</string>
+ <string name="reduce_bright_colors_shortcut_title" msgid="495648157059202745">"Kurzbefehl für Extradunkel"</string>
<string name="reduce_bright_colors_about_title" msgid="503655452544934393">"Über die Funktion „Extradunkel“"</string>
<string name="reduce_bright_colors_preference_summary" product="default" msgid="7878756844769221647">"Das Display dunkler machen als die niedrigste Helligkeit deines Smartphones"</string>
<string name="reduce_bright_colors_preference_summary" product="tablet" msgid="8959794720356934888">"Das Display dunkler machen als die niedrigste Helligkeit deines Tablets"</string>
@@ -2709,7 +2711,7 @@
<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>
- <string name="manager_battery_usage_unrestricted_summary" msgid="6819279865465667692">"Akkunutzung im Hintergrund ohne Einschränkungen erlauben. Dadurch könnte sich der Akkuverbrauch erhöhen."</string>
+ <string name="manager_battery_usage_unrestricted_summary" msgid="6819279865465667692">"Akkunutzung im Hintergrund ohne Einschränkungen erlauben. Dadurch kann sich der Akkuverbrauch erhöhen."</string>
<string name="manager_battery_usage_optimized_summary" msgid="1332545476428039900">"Auf Grundlage deiner Nutzung optimieren. Für die meisten Apps empfohlen."</string>
<string name="manager_battery_usage_restricted_summary" msgid="8324695640704416905">"Akkunutzung im Hintergrund einschränken. Die App funktioniert dann möglicherweise nicht wie erwartet. Benachrichtigungen können verzögert ankommen."</string>
<string name="manager_battery_usage_footer" msgid="2635906573922553766">"Änderungen der Akkunutzung einer App kann Auswirkungen auf die Leistung der App haben."</string>
@@ -2762,8 +2764,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Einige Funktionen sind eventuell eingeschränkt"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Höhere Akkunutzung"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Apps mit der höchsten Nutzung anzeigen"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Aufladen vorübergehend eingeschränkt"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Dadurch wird der Akku geschont. \\nWeitere Informationen"</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Ladevorgang fortsetzen"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Unter bestimmten Umständen, z. B. bei hohen Temperaturen und langen Ladezeiten, kann die Ladung auf <xliff:g id="PERCENT">%1$s</xliff:g> begrenzt werden, um den Akku zu schonen.\n\nSobald sich diese Umstände ändern, wird dein Smartphone wieder normal aufgeladen."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Unter bestimmten Umständen, z. B. bei hohen Temperaturen und langen Ladezeiten, kann die Ladung auf <xliff:g id="PERCENT">%1$s</xliff:g> begrenzt werden, um den Akku zu schonen.\n\nSobald sich diese Umstände ändern, wird dein Tablet wieder normal aufgeladen."</string>
@@ -2799,6 +2805,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Diese App kann dann im Hintergrund laufen und beansprucht dabei den Akku. Er könnte deshalb früher als erwartet leer sein."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Entfernen"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Abbrechen"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Der Akkuverbrauch durch Apps ist zurzeit normal. Falls der Akku zu stark beansprucht wird, werden dir mögliche Maßnahmen vorgeschlagen.\n\nBei niedrigem Akkustand kannst du jederzeit den Energiesparmodus aktivieren."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Der Akkuverbrauch durch Apps ist zurzeit normal. Falls der Akku zu stark beansprucht wird, werden dir mögliche Maßnahmen vorgeschlagen.\n\nBei niedrigem Akkustand kannst du jederzeit den Energiesparmodus aktivieren."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Der Akkuverbrauch durch Apps ist zurzeit normal. Falls der Akku zu stark beansprucht wird, werden dir mögliche Maßnahmen vorgeschlagen.\n\nBei niedrigem Akkustand kannst du jederzeit den Energiesparmodus aktivieren."</string>
@@ -2976,8 +2984,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"bei <xliff:g id="PERCENT">%1$s</xliff:g> Akku"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Ladestandanzeige in Prozent"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Ladestand in Statusleiste in Prozent anzeigen"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Akkustand seit der letzten vollständigen Aufladung"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Akkustand während der letzten 24 Stunden"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"App-Verbrauch seit der letzten vollständigen Aufladung"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"App-Nutzung während der letzten 24 Stunden"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Systemverbrauch seit der letzten vollständigen Aufladung"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Systemnutzung während der letzten 24 Stunden"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Systemnutzung im Zeitraum <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"App-Nutzung im Zeitraum <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -3611,7 +3622,7 @@
<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_default_summary" msgid="1730719656099599488">"Gespeicherte Passwörter, automatisches Ausfüllen, synchronisierte 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="system_dashboard_summary" msgid="7400745270362833832">"Sprachen, Gesten, Zeit, Sicherung"</string>
<string name="search_results_title" msgid="3360639917793022533">"Einstellungen"</string>
@@ -3758,7 +3769,7 @@
<string name="spatial_summary_off" msgid="8272678804629774378">"Aus"</string>
<string name="spatial_summary_on_one" msgid="6239933399496282994">"An / <xliff:g id="OUTPUT_DEVICE">%1$s</xliff:g>"</string>
<string name="spatial_summary_on_two" msgid="4526919818832483883">"An / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> und <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
- <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Du kannst auch Spatial Audio für Bluetooth-Geräte aktivieren."</string>
+ <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Du kannst Spatial Audio auch für Bluetooth-Geräte aktivieren."</string>
<string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Einstellungen für verbundene Geräte"</string>
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Keine}=1{1 Zeitplan festgelegt}other{# Zeitpläne festgelegt}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Bitte nicht stören"</string>
@@ -4980,7 +4991,7 @@
<string name="ambient_display_title" product="device" msgid="4164103424628824786">"Durch Doppeltippen auf das Display Display aktivieren"</string>
<string name="one_handed_title" msgid="2584414010282746195">"Einhandmodus"</string>
<string name="one_handed_mode_enabled" msgid="3396864848786359651">"Einhandmodus verwenden"</string>
- <string name="one_handed_mode_shortcut_title" msgid="1847871530184067369">"Schnellzugriff für Einhandmodus"</string>
+ <string name="one_handed_mode_shortcut_title" msgid="1847871530184067369">"Kurzbefehl für Einhandmodus"</string>
<string name="keywords_one_handed" msgid="969440592493034101">"Einhandbedienung"</string>
<string name="one_handed_mode_swipe_down_category" msgid="110178629274462484">"Beim Wischen nach unten…"</string>
<string name="one_handed_mode_use_shortcut_category" msgid="1414714099339147711">"Tastenkombination für Folgendes verwenden:"</string>
@@ -5172,13 +5183,13 @@
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> Passwort</item>
</plurals>
<string name="autofill_keywords" msgid="8598763328489346438">"automatisch, füllen, ausfüllen, Passwort, auto, fill, autofill, password"</string>
- <string name="autofill_confirmation_message" msgid="4888767934273494272">"<b>Nur für vertrauenswürdige Apps</b> <br/> <br/> <xliff:g id=app_name example=Automatisches Ausfüllen von Google>%1$s</xliff:g> greift auf die Displayanzeige zu, um zu bestimmen, welche Felder automatisch ausgefüllt werden können. Die Funktion sollte daher nur für vertrauenswürdige Apps zugelassen werden."</string>
- <string name="debug_autofill_category" msgid="5998163555428196185">"Automatisches Ausfüllen"</string>
+ <string name="autofill_confirmation_message" msgid="4888767934273494272">"<b>Nur für vertrauenswürdige Apps</b> <br/> <br/> <xliff:g id=app_name example=Google Autofill>%1$s</xliff:g> greift auf die Displayanzeige zu, um zu bestimmen, welche Felder automatisch ausgefüllt werden können. Die Funktion sollte daher nur für vertrauenswürdige Apps zugelassen werden."</string>
+ <string name="debug_autofill_category" msgid="5998163555428196185">"Autofill"</string>
<string name="autofill_logging_level_title" msgid="3733958845861098307">"Protokollierungsebene"</string>
<string name="autofill_max_partitions" msgid="7342195529574406366">"Maximale Zahl von Anfragen pro Sitzung"</string>
<string name="autofill_max_visible_datasets" msgid="4970201981694392229">"Maximale Zahl sichtbarer Datensätze"</string>
<string name="autofill_reset_developer_options" msgid="6425613608979498608">"Auf Standardwerte zurücksetzen"</string>
- <string name="autofill_reset_developer_options_complete" msgid="1276741935956594965">"Die Optionen für automatisches Ausfüllen für Entwickler wurden zurückgesetzt"</string>
+ <string name="autofill_reset_developer_options_complete" msgid="1276741935956594965">"Die Autofill-Optionen für Entwickler wurden zurückgesetzt"</string>
<string name="location_category" msgid="3496759112306219062">"Standort"</string>
<string name="location_indicator_settings_title" msgid="6655916258720093451">"Standortanzeige in der Statusleiste"</string>
<string name="location_indicator_settings_description" msgid="2888022085372804021">"Für alle Standorte anzeigen, einschließlich Netzwerk und Verbindung"</string>
@@ -5651,7 +5662,7 @@
<string name="default_active_sim_calls" msgid="2390973682556353558">"Anrufe"</string>
<string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
<string name="default_active_sim_mobile_data" msgid="6798083892814045301">"mobile Daten"</string>
- <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Zur Verbesserung der Gerätenutzung können Apps und Dienste weiter nach WLANs suchen, auch wenn die WLAN-Funktion deaktiviert ist. Dadurch können beispielsweise standortbasierte Funktionen und Dienste verbessert werden. Das Verhalten lässt sich in den Einstellungen für die WLAN-Suche ändern."</string>
+ <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Damit das Gerät optimal funktioniert, können Apps und Dienste weiter nach WLANs suchen, auch wenn die WLAN-Funktion deaktiviert ist. Dadurch können beispielsweise standortbasierte Funktionen und Dienste verbessert werden. Das Verhalten lässt sich in den Einstellungen für die WLAN-Suche ändern."</string>
<string name="wifi_scan_change" msgid="8438320311511852918">"Ändern"</string>
<string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
<string name="mobile_data_connection_active" msgid="2422223108911581552">"Verbunden"</string>
diff --git a/res/values-el/arrays.xml b/res/values-el/arrays.xml
index 61fc8d7..b2f8aaa 100644
--- a/res/values-el/arrays.xml
+++ b/res/values-el/arrays.xml
@@ -505,8 +505,8 @@
</string-array>
<string-array name="wifi_metered_entries">
<item msgid="3237321077949659241">"Αυτόματος εντοπισμός"</item>
- <item msgid="3779092145391320375">"Χρήση ως δικτύου με περιορισμούς"</item>
- <item msgid="2047166446768045816">"Χρήση ως δικτύου χωρίς περιορισμούς"</item>
+ <item msgid="3779092145391320375">"Δίκτυο με περιορισμούς"</item>
+ <item msgid="2047166446768045816">"Δίκτυο χωρίς περιορισμούς"</item>
</string-array>
<string-array name="wifi_privacy_entries">
<item msgid="3485945604919292489">"Χρήση τυχαίου MAC (προεπιλογή)"</item>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 1eb8f8e..506f0ee 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Δεν έχετε άδεια να αλλάξετε τις ρυθμίσεις Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Σύζευξη νέας συσκευής"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Σύζευξη δεξιού"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Σύζευξη αριστερού"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Σύζευξη του άλλου αυτιού"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Το αριστερό βοήθημα ακοής συνδέθηκε.\n\nΓια τη σύζευξη του δεξιού βοηθήματος ακοής, βεβαιωθείτε ότι είναι ενεργοποιημένο και έτοιμο για σύζευξη."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Το δεξί βοήθημα ακοής συνδέθηκε.\n\nΓια τη σύζευξη του αριστερού βοηθήματος ακοής, βεβαιωθείτε ότι είναι ενεργοποιημένο και έτοιμο για σύζευξη."</string>
@@ -1420,7 +1422,7 @@
<string name="dark_ui_title" msgid="3373976268671557416">"Λειτουργία χαμηλού φωτισμού"</string>
<string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Πρόγραμμα"</string>
<string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Δεν υπάρχει"</string>
- <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Ενεργό από τη δύση ως το πρωι"</string>
+ <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Ενεργό από τη δύση ως το πρωί"</string>
<string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Ενεργοποίηση σε προσαρμ. ώρα"</string>
<string name="dark_ui_auto_mode_custom_bedtime" msgid="8465023741946439266">"Ενεργοποιείται κατά την ώρα ύπνου"</string>
<string name="dark_ui_status_title" msgid="3505119141437774329">"Κατάσταση"</string>
@@ -2366,7 +2368,7 @@
<string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Πατήστε 3 φορές για εστίαση"</string>
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Πατήστε ένα κουμπί για εστίαση"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Μεγεθύνετε γρήγορα την οθόνη προκειμένου το περιεχόμενο να εμφανίζεται μεγαλύτερο"</string>
- <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Για μεγέθυνση:</b><br/> {0,number,integer}. Χρησιμοποιήστε τη συντόμευση για να ξεκινήσετε τη μεγιστοποίηση<br/> {1,number,integer}. Πατήστε την οθόνη<br/> {2,number,integer}. Σύρετε 2 δάχτυλα για να μετακινηθείτε στην οθόνη<br/> {3,number,integer}. Πλησιάστε δύο δάχτυλα μεταξύ τους για προσαρμογή της εστίασης<br/> {4,number,integer}. Χρησιμοποιήσετε τη συντόμευση για να διακόψετε τη μεγιστοποίηση<br/><br/> <b>Για προσωρινή μεγέθυνση:</b><br/> {0,number,integer}. Βεβαιωθείτε ότι ο τύπος μεγέθυνσης έχει οριστεί σε πλήρη οθόνη<br/> {1,number,integer}. Χρησιμοποιήστε τη συντόμευση για να ξεκινήσετε τη μεγιστοποίηση<br/> {2,number,integer}. Αγγίξτε παρατεταμένα οπουδήποτε στην οθόνη<br/> {3,number,integer}. Σύρετε το δάχτυλό σας για να μετακινηθείτε στην οθόνη<br/> {4,number,integer}. Σηκώστε το δάχτυλό σας για διακοπή της μεγιστοποίησης"</string>
+ <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Για μεγέθυνση:</b><br/> {0,number,integer}. Χρησιμοποιήστε τη συντόμευση για να ξεκινήσετε τη μεγιστοποίηση<br/> {1,number,integer}. Πατήστε την οθόνη<br/> {2,number,integer}. Σύρετε 2 δάχτυλα για να μετακινηθείτε στην οθόνη<br/> {3,number,integer}. Πλησιάστε δύο δάχτυλα μεταξύ τους για προσαρμογή της εστίασης<br/> {4,number,integer}. Χρησιμοποιήστε τη συντόμευση για να διακόψετε τη μεγιστοποίηση<br/><br/> <b>Για προσωρινή μεγέθυνση:</b><br/> {0,number,integer}. Βεβαιωθείτε ότι ο τύπος μεγέθυνσης έχει οριστεί σε πλήρη οθόνη<br/> {1,number,integer}. Χρησιμοποιήστε τη συντόμευση για να ξεκινήσετε τη μεγιστοποίηση<br/> {2,number,integer}. Αγγίξτε παρατεταμένα οπουδήποτε στην οθόνη<br/> {3,number,integer}. Σύρετε το δάχτυλό σας για να μετακινηθείτε στην οθόνη<br/> {4,number,integer}. Σηκώστε το δάχτυλό σας για διακοπή της μεγιστοποίησης"</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Όταν η μεγέθυνση είναι ενεργοποιημένη, μπορείτε να μεγεθύνετε την οθόνη σας.\n\n"<b>"Για εστίαση "</b>", ανοίξτε τη μεγέθυνση και, στη συνέχεια, πατήστε οπουδήποτε στην οθόνη σας.\n"<ul><li>"Σύρετε 2 ή περισσότερα δάχτυλα για κύλιση"</li>\n<li>"Πλησιάστε 2 ή περισσότερα δάχτυλα για να προσαρμόσετε την εστίαση"</li></ul>\n\n<b>"Για προσωρινή εστίαση"</b>", ανοίξτε τη μεγέθυνση και, στη συνέχεια, αγγίξτε παρατεταμένα οπουδήποτε στην οθόνη.\n"<ul><li>"Σύρετε για να μετακινηθείτε στην οθόνη"</li>\n<li>"Ανασηκώστε το δάχτυλο για σμίκρυνση"</li></ul>\n\n"Δεν μπορείτε να κάνετε μεγέθυνση στο πληκτρολόγιο ή τη γραμμή πλοήγησης."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Σελίδα <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> από <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Χρήση κουμπιού προσβασιμότητας για άνοιγμα"</string>
@@ -2554,7 +2556,7 @@
<string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Αδυναμία αντίληψης πράσινου, δευτερανωμαλία"</string>
<string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Αδυναμία αντίληψης κόκκινου, πρωτανωμαλία"</string>
<string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Τριτανοπία"</string>
- <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Επιπλέον μείωση φωτεινότητας"</string>
+ <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Επιπλέον μείωση φωτ."</string>
<string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Επιπλέον μείωση φωτεινότητας της οθόνης"</string>
<string name="reduce_bright_colors_shortcut_title" msgid="495648157059202745">"Συντόμευση επιπλέον μείωσης φωτεινότητας"</string>
<string name="reduce_bright_colors_about_title" msgid="503655452544934393">"Πληρ. για επιπλέον μείωση φωτεινότ."</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Ορισμένες λειτουργίες μπορεί να είναι περιορισμένες"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Υψηλότερη χρήση μπαταρίας"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Εμφάνιση εφαρμογών με την πιο υψηλή χρήση"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Προσωρινός περιορισμός φόρτισης"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Για εξοικονόμηση μπαταρίας. Μάθετε περισσότερα."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Συνέχιση φόρτισης"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Υπό συγκεκριμένες συνθήκες, όπως σε υψηλές θερμοκρασίες και κατά περιόδους φόρτισης μεγάλης διάρκειας, η φόρτιση μπορεί να περιορίζεται στο <xliff:g id="PERCENT">%1$s</xliff:g> για να διατηρηθεί η εύρυθμη λειτουργία της μπαταρίας.\n\nΌταν αυτές οι συνθήκες πάψουν να υφίστανται, το τηλέφωνό σας θα φορτιστεί αυτόματα φυσιολογικά."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Υπό συγκεκριμένες συνθήκες, όπως σε υψηλές θερμοκρασίες και κατά περιόδους φόρτισης μεγάλης διάρκειας, η φόρτιση μπορεί να περιορίζεται στο <xliff:g id="PERCENT">%1$s</xliff:g> για να διατηρηθεί η εύρυθμη λειτουργία της μπαταρίας.\n\nΌταν αυτές οι συνθήκες πάψουν να υφίστανται, το tablet σας θα φορτιστεί αυτόματα φυσιολογικά."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Αυτή η εφαρμογή θα μπορεί να χρησιμοποιήσει μπαταρία στο παρασκήνιο. Η μπαταρία σας μπορεί να εξαντληθεί πιο σύντομα από το αναμενόμενο."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Κατάργηση"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Ακύρωση"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Οι εφαρμογές σας χρησιμοποιούν κανονική ποσότητα μπαταρίας. Εάν οι εφαρμογές χρησιμοποιούν πάρα πολλή μπαταρία, το τηλέφωνό σας θα προτείνει ενέργειες που μπορείτε να εκτελέσετε.\n\nΜπορείτε πάντα να ενεργοποιήσετε την Εξοικονόμηση μπαταρίας εάν εξαντλείται η μπαταρία σας."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Οι εφαρμογές σας χρησιμοποιούν κανονική ποσότητα μπαταρίας. Εάν οι εφαρμογές χρησιμοποιούν πάρα πολλή μπαταρία, το tablet σας θα προτείνει ενέργειες που μπορείτε να εκτελέσετε.\n\nΜπορείτε πάντα να ενεργοποιήσετε την Εξοικονόμηση μπαταρίας εάν εξαντλείται η μπαταρία σας."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Οι εφαρμογές σας χρησιμοποιούν κανονική ποσότητα μπαταρίας. Εάν οι εφαρμογές χρησιμοποιούν πάρα πολλή μπαταρία, η συσκευή σας θα προτείνει ενέργειες που μπορείτε να εκτελέσετε.\n\nΜπορείτε πάντα να ενεργοποιήσετε την Εξοικονόμηση μπαταρίας εάν εξαντλείται η μπαταρία σας."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"στο <xliff:g id="PERCENT">%1$s</xliff:g> της μπαταρίας"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Ποσοστό μπαταρίας"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Εμφάνιση ποσοστού μπαταρίας στη γραμμή κατάστασης"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Επίπεδο μπαταρίας από την τελευταία πλήρη φόρτιση"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Επίπεδο μπαταρίας για τις τελευταίες 24 ω."</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Χρήση εφαρμογών από την τελευταία πλήρη φόρτιση"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Χρήση εφαρμογής για τις τελευταίες 24 ω."</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Χρήση συστήματος από την τελευταία πλήρη φόρτιση"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Χρήση συστήματος για τις τελευταίες 24 ω."</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Χρήση συστήματος για <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Χρήση εφαρμογής για <xliff:g id="SLOT">%s</xliff:g>"</string>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 59e5875..0d4f7b6 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"You don\'t have permission to change Bluetooth settings."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Pair new device"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Pair right ear"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Pair left ear"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Pair your other ear"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Your left hearing aid is connected.\n\nTo pair the right one, make sure that it’s turned on and ready to pair."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Your right hearing aid is connected.\n\nTo pair the left one, make sure that it’s turned on and ready to pair."</string>
@@ -2460,9 +2462,9 @@
<string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>Keep in mind</b><br/> <ol> <li> Colours will change in media and images</li> <li> Colour inversion works on all apps</li> <li> To display a dark background, Dark theme can be used instead</li> </ol>"</string>
<string name="accessibility_autoclick_preference_title" msgid="2703143361605555752">"Autoclick (dwell timing)"</string>
<string name="accessibility_autoclick_about_title" msgid="152923024405552594">"About auto-click (dwell timing)"</string>
- <string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"Learn more about auto-click (dwell timing)"</string>
+ <string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"Learn more about autoclick (dwell timing)"</string>
<string name="accessibility_autoclick_intro_text" msgid="8959680635470639347">"You can set a connected mouse to click automatically when the cursor stops moving for a certain amount of time"</string>
- <string name="accessibility_autoclick_description" msgid="6695732131412361101">"Auto-click can be helpful if clicking the mouse is difficult"</string>
+ <string name="accessibility_autoclick_description" msgid="6695732131412361101">"Autoclick can be helpful if clicking the mouse is difficult"</string>
<string name="accessibility_autoclick_default_title" msgid="2024730028293793490">"Auto-click off"</string>
<string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Short"</string>
<string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 seconds"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Some features may be limited"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Higher battery usage"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"See apps with highest usage"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Charging temporarily limited"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"To preserve your battery. Learn more."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Resume charging"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"In certain conditions, like high temperatures and long charging periods, charging may be limited to <xliff:g id="PERCENT">%1$s</xliff:g> to help preserve battery health.\n\nWhen those conditions end, your phone will automatically charge normally."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"In certain conditions, like high temperatures and long charging periods, charging may be limited to <xliff:g id="PERCENT">%1$s</xliff:g> to help preserve battery health.\n\nWhen those conditions end, your tablet will automatically charge normally."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"This app will be able to use battery in the background. Your battery may run out sooner than expected."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Remove"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Cancel"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Your apps are using a normal amount of battery. If apps use too much battery, your phone will suggest actions to take.\n\nYou can always turn on Battery Saver if you’re running low on battery."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Your apps are using a normal amount of battery. If apps use too much battery, your tablet will suggest actions that you can take.\n\nYou can always turn on Battery Saver if you’re running low on battery."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Your apps are using a normal amount of battery. If apps use too much battery, your device will suggest actions that you can take.\n\nYou can always turn on Battery Saver if you’re running low on battery."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"at <xliff:g id="PERCENT">%1$s</xliff:g> battery"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Battery percentage"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Show battery percentage in status bar"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Battery level since last full charge"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Battery level for the past 24 hours"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"App usage since last full charge"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"App usage for the past 24 hours"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"System usage since last full charge"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"System usage for past 24 hours"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"System usage for <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"App usage for <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -5143,7 +5154,7 @@
<string name="storage_videos" msgid="6117698226447251033">"Videos"</string>
<string name="storage_audio" msgid="5994664984472140386">"Audio"</string>
<string name="storage_apps" msgid="3564291603258795216">"Apps"</string>
- <string name="storage_documents_and_other" msgid="3293689243732236480">"Documents & other"</string>
+ <string name="storage_documents_and_other" msgid="3293689243732236480">"Documents and other"</string>
<string name="storage_system" msgid="8472410119822911844">"System"</string>
<string name="storage_trash" msgid="2807138998886084856">"Bin"</string>
<string name="storage_trash_dialog_title" msgid="2296169576049935200">"Empty bin?"</string>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index ae19d44..e65b276 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"You don\'t have permission to change Bluetooth settings."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Pair new device"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Pair right ear"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Pair left ear"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Pair your other ear"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Your left hearing aid is connected.\n\nTo pair the right one, make sure that it’s turned on and ready to pair."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Your right hearing aid is connected.\n\nTo pair the left one, make sure that it’s turned on and ready to pair."</string>
@@ -2460,9 +2462,9 @@
<string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>Keep in mind</b><br/> <ol> <li> Colours will change in media and images</li> <li> Colour inversion works on all apps</li> <li> To display a dark background, Dark theme can be used instead</li> </ol>"</string>
<string name="accessibility_autoclick_preference_title" msgid="2703143361605555752">"Autoclick (dwell timing)"</string>
<string name="accessibility_autoclick_about_title" msgid="152923024405552594">"About auto-click (dwell timing)"</string>
- <string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"Learn more about auto-click (dwell timing)"</string>
+ <string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"Learn more about autoclick (dwell timing)"</string>
<string name="accessibility_autoclick_intro_text" msgid="8959680635470639347">"You can set a connected mouse to click automatically when the cursor stops moving for a certain amount of time"</string>
- <string name="accessibility_autoclick_description" msgid="6695732131412361101">"Auto-click can be helpful if clicking the mouse is difficult"</string>
+ <string name="accessibility_autoclick_description" msgid="6695732131412361101">"Autoclick can be helpful if clicking the mouse is difficult"</string>
<string name="accessibility_autoclick_default_title" msgid="2024730028293793490">"Auto-click off"</string>
<string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Short"</string>
<string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 seconds"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Some features may be limited"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Higher battery usage"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"See apps with highest usage"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Charging temporarily limited"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"To preserve your battery. Learn more."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Resume charging"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"In certain conditions, like high temperatures and long charging periods, charging may be limited to <xliff:g id="PERCENT">%1$s</xliff:g> to help preserve battery health.\n\nWhen those conditions end, your phone will automatically charge normally."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"In certain conditions, like high temperatures and long charging periods, charging may be limited to <xliff:g id="PERCENT">%1$s</xliff:g> to help preserve battery health.\n\nWhen those conditions end, your tablet will automatically charge normally."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"This app will be able to use battery in the background. Your battery may run out sooner than expected."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Remove"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Cancel"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Your apps are using a normal amount of battery. If apps use too much battery, your phone will suggest actions you can take.\n\nYou can always turn on Battery Saver if you\'re running low on battery."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Your apps are using a normal amount of battery. If apps use too much battery, your tablet will suggest actions that you can take.\n\nYou can always turn on Battery Saver if you’re running low on battery."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Your apps are using a normal amount of battery. If apps use too much battery, your device will suggest actions that you can take.\n\nYou can always turn on Battery Saver if you’re running low on battery."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"at <xliff:g id="PERCENT">%1$s</xliff:g> battery"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Battery percentage"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Show battery percentage in status bar"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Battery level since last full charge"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Battery level for the past 24 hours"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"App usage since last full charge"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"App usage for the past 24 hours"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"System usage since last full charge"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"System usage for past 24 hours"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"System usage for <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"App usage for <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -5143,7 +5154,7 @@
<string name="storage_videos" msgid="6117698226447251033">"Videos"</string>
<string name="storage_audio" msgid="5994664984472140386">"Audio"</string>
<string name="storage_apps" msgid="3564291603258795216">"Apps"</string>
- <string name="storage_documents_and_other" msgid="3293689243732236480">"Documents & other"</string>
+ <string name="storage_documents_and_other" msgid="3293689243732236480">"Documents and other"</string>
<string name="storage_system" msgid="8472410119822911844">"System"</string>
<string name="storage_trash" msgid="2807138998886084856">"Bin"</string>
<string name="storage_trash_dialog_title" msgid="2296169576049935200">"Empty bin?"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index d020650..c5dd03d 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"You don\'t have permission to change Bluetooth settings."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Pair new device"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Pair right ear"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Pair left ear"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Pair your other ear"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Your left hearing aid is connected.\n\nTo pair the right one, make sure that it’s turned on and ready to pair."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Your right hearing aid is connected.\n\nTo pair the left one, make sure that it’s turned on and ready to pair."</string>
@@ -2460,9 +2462,9 @@
<string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>Keep in mind</b><br/> <ol> <li> Colours will change in media and images</li> <li> Colour inversion works on all apps</li> <li> To display a dark background, Dark theme can be used instead</li> </ol>"</string>
<string name="accessibility_autoclick_preference_title" msgid="2703143361605555752">"Autoclick (dwell timing)"</string>
<string name="accessibility_autoclick_about_title" msgid="152923024405552594">"About auto-click (dwell timing)"</string>
- <string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"Learn more about auto-click (dwell timing)"</string>
+ <string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"Learn more about autoclick (dwell timing)"</string>
<string name="accessibility_autoclick_intro_text" msgid="8959680635470639347">"You can set a connected mouse to click automatically when the cursor stops moving for a certain amount of time"</string>
- <string name="accessibility_autoclick_description" msgid="6695732131412361101">"Auto-click can be helpful if clicking the mouse is difficult"</string>
+ <string name="accessibility_autoclick_description" msgid="6695732131412361101">"Autoclick can be helpful if clicking the mouse is difficult"</string>
<string name="accessibility_autoclick_default_title" msgid="2024730028293793490">"Auto-click off"</string>
<string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Short"</string>
<string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 seconds"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Some features may be limited"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Higher battery usage"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"See apps with highest usage"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Charging temporarily limited"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"To preserve your battery. Learn more."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Resume charging"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"In certain conditions, like high temperatures and long charging periods, charging may be limited to <xliff:g id="PERCENT">%1$s</xliff:g> to help preserve battery health.\n\nWhen those conditions end, your phone will automatically charge normally."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"In certain conditions, like high temperatures and long charging periods, charging may be limited to <xliff:g id="PERCENT">%1$s</xliff:g> to help preserve battery health.\n\nWhen those conditions end, your tablet will automatically charge normally."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"This app will be able to use battery in the background. Your battery may run out sooner than expected."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Remove"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Cancel"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Your apps are using a normal amount of battery. If apps use too much battery, your phone will suggest actions that you can take.\n\nYou can always turn on Battery Saver if you’re running low on battery."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Your apps are using a normal amount of battery. If apps use too much battery, your tablet will suggest actions that you can take.\n\nYou can always turn on Battery Saver if you’re running low on battery."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Your apps are using a normal amount of battery. If apps use too much battery, your device will suggest actions that you can take.\n\nYou can always turn on Battery Saver if you’re running low on battery."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"at <xliff:g id="PERCENT">%1$s</xliff:g> battery"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Battery percentage"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Show battery percentage in status bar"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Battery level since last full charge"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Battery level for the past 24 hours"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"App usage since last full charge"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"App usage for the past 24 hours"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"System usage since last full charge"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"System usage for past 24 hours"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"System usage for <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"App usage for <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -5143,7 +5154,7 @@
<string name="storage_videos" msgid="6117698226447251033">"Videos"</string>
<string name="storage_audio" msgid="5994664984472140386">"Audio"</string>
<string name="storage_apps" msgid="3564291603258795216">"Apps"</string>
- <string name="storage_documents_and_other" msgid="3293689243732236480">"Documents & other"</string>
+ <string name="storage_documents_and_other" msgid="3293689243732236480">"Documents and other"</string>
<string name="storage_system" msgid="8472410119822911844">"System"</string>
<string name="storage_trash" msgid="2807138998886084856">"Bin"</string>
<string name="storage_trash_dialog_title" msgid="2296169576049935200">"Empty bin?"</string>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 8370360..0cbcdcd 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"You don\'t have permission to change Bluetooth settings."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Pair new device"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Pair right ear"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Pair left ear"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Pair your other ear"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Your left hearing aid is connected.\n\nTo pair the right one, make sure that it’s turned on and ready to pair."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Your right hearing aid is connected.\n\nTo pair the left one, make sure that it’s turned on and ready to pair."</string>
@@ -2460,9 +2462,9 @@
<string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>Keep in mind</b><br/> <ol> <li> Colours will change in media and images</li> <li> Colour inversion works on all apps</li> <li> To display a dark background, Dark theme can be used instead</li> </ol>"</string>
<string name="accessibility_autoclick_preference_title" msgid="2703143361605555752">"Autoclick (dwell timing)"</string>
<string name="accessibility_autoclick_about_title" msgid="152923024405552594">"About auto-click (dwell timing)"</string>
- <string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"Learn more about auto-click (dwell timing)"</string>
+ <string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"Learn more about autoclick (dwell timing)"</string>
<string name="accessibility_autoclick_intro_text" msgid="8959680635470639347">"You can set a connected mouse to click automatically when the cursor stops moving for a certain amount of time"</string>
- <string name="accessibility_autoclick_description" msgid="6695732131412361101">"Auto-click can be helpful if clicking the mouse is difficult"</string>
+ <string name="accessibility_autoclick_description" msgid="6695732131412361101">"Autoclick can be helpful if clicking the mouse is difficult"</string>
<string name="accessibility_autoclick_default_title" msgid="2024730028293793490">"Auto-click off"</string>
<string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Short"</string>
<string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 seconds"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Some features may be limited"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Higher battery usage"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"See apps with highest usage"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Charging temporarily limited"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"To preserve your battery. Learn more."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Resume charging"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"In certain conditions, like high temperatures and long charging periods, charging may be limited to <xliff:g id="PERCENT">%1$s</xliff:g> to help preserve battery health.\n\nWhen those conditions end, your phone will automatically charge normally."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"In certain conditions, like high temperatures and long charging periods, charging may be limited to <xliff:g id="PERCENT">%1$s</xliff:g> to help preserve battery health.\n\nWhen those conditions end, your tablet will automatically charge normally."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"This app will be able to use battery in the background. Your battery may run out sooner than expected."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Remove"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Cancel"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Your apps are using a normal amount of battery. If apps use too much battery, your phone will suggest actions that you can take.\n\nYou can always turn on Battery Saver if you’re running low on battery."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Your apps are using a normal amount of battery. If apps use too much battery, your tablet will suggest actions that you can take.\n\nYou can always turn on Battery Saver if you’re running low on battery."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Your apps are using a normal amount of battery. If apps use too much battery, your device will suggest actions that you can take.\n\nYou can always turn on Battery Saver if you’re running low on battery."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"at <xliff:g id="PERCENT">%1$s</xliff:g> battery"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Battery percentage"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Show battery percentage in status bar"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Battery level since last full charge"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Battery level for the past 24 hours"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"App usage since last full charge"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"App usage for the past 24 hours"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"System usage since last full charge"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"System usage for past 24 hours"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"System usage for <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"App usage for <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -5143,7 +5154,7 @@
<string name="storage_videos" msgid="6117698226447251033">"Videos"</string>
<string name="storage_audio" msgid="5994664984472140386">"Audio"</string>
<string name="storage_apps" msgid="3564291603258795216">"Apps"</string>
- <string name="storage_documents_and_other" msgid="3293689243732236480">"Documents & other"</string>
+ <string name="storage_documents_and_other" msgid="3293689243732236480">"Documents and other"</string>
<string name="storage_system" msgid="8472410119822911844">"System"</string>
<string name="storage_trash" msgid="2807138998886084856">"Bin"</string>
<string name="storage_trash_dialog_title" msgid="2296169576049935200">"Empty bin?"</string>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index 80c8e39..31a8e88 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"You don’t have permission to change Bluetooth settings."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Pair new device"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Pair right ear"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Pair left ear"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Pair your other ear"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Your left hearing aid is connected.\n\nTo pair the right one, make sure it’s turned on and ready to pair."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Your right hearing aid is connected.\n\nTo pair the left one, make sure it’s turned on and ready to pair."</string>
@@ -2759,8 +2761,10 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Some features may be limited"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Higher battery usage"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"See apps with highest usage"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Charging temporarily limited"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"To preserve your battery. Learn more."</string>
+ <string name="battery_tip_limited_temporarily_title" msgid="5962767837251276527">"Charging is paused"</string>
+ <string name="battery_tip_limited_temporarily_summary" msgid="4236185146380247801">"Protecting battery to extend battery lifespan\nTap to learn more"</string>
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Resume charging"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"In certain conditions, like high temperatures and long charging periods, charging may be limited to <xliff:g id="PERCENT">%1$s</xliff:g> to help preserve battery health.\n\nWhen those conditions end, your phone will automatically charge normally."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"In certain conditions, like high temperatures and long charging periods, charging may be limited to <xliff:g id="PERCENT">%1$s</xliff:g> to help preserve battery health.\n\nWhen those conditions end, your tablet will automatically charge normally."</string>
@@ -2796,6 +2800,7 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"This app will be able to use battery in the background. Your battery may run out sooner than expected."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Remove"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Cancel"</string>
+ <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Charge to full"</string>
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Your apps are using a normal amount of battery. If apps use too much battery, your phone will suggest actions you can take.\n\nYou can always turn on Battery Saver if you’re running low on battery."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Your apps are using a normal amount of battery. If apps use too much battery, your tablet will suggest actions you can take.\n\nYou can always turn on Battery Saver if you’re running low on battery."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Your apps are using a normal amount of battery. If apps use too much battery, your device will suggest actions you can take.\n\nYou can always turn on Battery Saver if you’re running low on battery."</string>
@@ -2973,8 +2978,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"at <xliff:g id="PERCENT">%1$s</xliff:g> battery"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Battery percentage"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Show battery percentage in status bar"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Battery level since last full charge"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Battery level for past 24 hr"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"App usage since last full charge"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"App usage for past 24 hr"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"System usage since last full charge"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"System usage for past 24 hr"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"System usage for <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"App usage for <xliff:g id="SLOT">%s</xliff:g>"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 56e0676..c14c6b8 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -53,7 +53,7 @@
<string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Reducir el tamaño"</string>
<string name="font_size_make_larger_desc" msgid="5583046033381722247">"Aumentar el tamaño"</string>
<string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Girar automáticamente"</string>
- <string name="smart_rotate_text_headline" msgid="5878008933992951904">"La detección de rostro usa la cámara frontal para mejorar la exactitud de la opción girar automáticamente. Las imágenes nunca se almacenan ni se envían a Google."</string>
+ <string name="smart_rotate_text_headline" msgid="5878008933992951904">"La detección de rostro usa la cámara frontal para mejorar la exactitud de la opción Girar automáticamente. Las imágenes nunca se almacenan ni se envían a Google."</string>
<string name="font_size_preview_text_headline" msgid="1173103737980511652">"Texto de muestra"</string>
<string name="font_size_preview_text_title" msgid="6363561029914452382">"El maravilloso mago de Oz"</string>
<string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Capítulo 11: La maravillosa Ciudad Esmeralda de Oz"</string>
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"No tienes permiso para cambiar la configuración de Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Vincular dispositivo nuevo"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Vincular aud. der."</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Vincular aud. izq."</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Vincula el otro audífono"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Se conectó tu audífono izquierdo.\n\nPara vincular el derecho, asegúrate de que esté encendido y listo para la vinculación."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Se conectó tu audífono derecho.\n\nPara vincular el izquierdo, asegúrate de que esté encendido y listo para la vinculación."</string>
@@ -2342,7 +2344,7 @@
<string name="accessibility_magnification_switch_shortcut_positive_button" msgid="2446942190957296957">"Cambiar al botón de accesibilidad"</string>
<string name="accessibility_magnification_switch_shortcut_negative_button" msgid="7115794462123071594">"Usar Presionar tres veces"</string>
<string name="accessibility_magnification_triple_tap_warning_title" msgid="8484669851397296597">"Es posible que se ralentice el teclado"</string>
- <string name="accessibility_magnification_triple_tap_warning_message" msgid="2008671502848936410">"Cuando presionas tres veces para ampliar parte de la pantalla, es posible que notes problemas con el teclado.\n\nPara evitarlos, puedes cambiar la combinación de teclas de ampliación.\n"<annotation id="link">"Cambiar configuración"</annotation></string>
+ <string name="accessibility_magnification_triple_tap_warning_message" msgid="2008671502848936410">"Cuando presionas tres veces para ampliar parte de la pantalla, es posible que notes problemas con el teclado.\n\nPara evitarlos, puedes elegir otra combinación para la ampliación.\n"<annotation id="link">"Cambiar configuración"</annotation></string>
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continuar de todos modos"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Cancelar"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Configuración de ampliación"</string>
@@ -2455,7 +2457,7 @@
<string name="accessibility_control_timeout_preference_summary" msgid="4037051091059316310">"Esta preferencia de tiempo no es compatible con todas las apps"</string>
<string name="accessibility_control_timeout_preference_intro_text" msgid="1398116710556762245">"Selecciona el tiempo de visualización de los mensajes temporales que te solicitan que realices una acción"</string>
<string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Tiempo de respuesta táctil"</string>
- <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Inversión de color"</string>
+ <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Inversión de colores"</string>
<string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Usar inversión de colores"</string>
<string name="accessibility_display_inversion_shortcut_title" msgid="6889624526691513462">"Acceso directo de inversión de colores"</string>
<string name="accessibility_display_inversion_preference_intro_text" msgid="1159663288481145318">"La inversión de color oscurece la pantalla. También aclara las pantallas oscuras."</string>
@@ -2761,8 +2763,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Es posible que algunas funciones estén limitadas"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Mayor uso de batería"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Consulta las apps que consumen más batería"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Carga limitada temporalmente"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Para ahorrar batería. Obtén más información."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Reanudar la carga"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Es posible que, en ciertas condiciones, como temperaturas altas o períodos de carga largos, la carga se limite al <xliff:g id="PERCENT">%1$s</xliff:g> para ayudar a preservar el estado de la batería.\n\nCuando esas condiciones vuelvan a la normalidad, el teléfono se cargará automáticamente de forma normal."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Es posible que, en ciertas condiciones, como temperaturas altas o períodos de carga largos, la carga se limite al <xliff:g id="PERCENT">%1$s</xliff:g> para ayudar a preservar el estado de la batería.\n\nCuando esas condiciones vuelvan a la normalidad, la tablet se cargará automáticamente de forma normal."</string>
@@ -2798,6 +2804,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Esta app podrá usar la batería en segundo plano. La batería podría agotarse antes de lo esperado."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Quitar"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Cancelar"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Tus apps consumen una cantidad normal de batería. Si consumen demasiada batería, el teléfono te recomendará acciones.\n\nSi tienes poca batería, también puedes activar el Ahorro de batería."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Tus apps consumen una cantidad normal de batería. Si consumen demasiada batería, la tablet te recomendará acciones.\n\nSi tienes poca batería, también puedes activar el Ahorro de batería."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Tus apps consumen una cantidad normal de batería. Si consumen demasiada batería, el dispositivo te recomendará acciones.\n\nSi tienes poca batería, también puedes activar el Ahorro de batería."</string>
@@ -2975,8 +2983,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"con <xliff:g id="PERCENT">%1$s</xliff:g> de batería"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Porcentaje de batería"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Mostrar el porcentaje de batería en la barra de estado"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Nivel de batería desde la última carga completa"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Nivel de batería en las últimas 24 h"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Uso de apps desde la última carga completa"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Cuánta batería se consumió en las últimas 24 h por app"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Uso del sistema desde la última carga completa"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Uso del sistema en las últimas 24 h"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Uso del sistema de <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Uso de apps de <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -4089,7 +4100,7 @@
<string name="picture_in_picture_app_detail_summary" msgid="2503211101305358849">"Permite que esta app cree una ventana de Pantalla en pantalla mientras esté abierta o después de que hayas salido de ella (por ejemplo, para seguir viendo un video). Esta ventana se muestra sobre otras apps que estés usando."</string>
<string name="interact_across_profiles_title" msgid="7285906999927669971">"Apps personales y de trabajo conectadas"</string>
<string name="interact_across_profiles_summary_allowed" msgid="1365881452153799092">"Conectada"</string>
- <string name="interact_across_profiles_summary_not_allowed" msgid="5802674212788171790">"No conectada"</string>
+ <string name="interact_across_profiles_summary_not_allowed" msgid="5802674212788171790">"No conectadas"</string>
<string name="interact_across_profiles_empty_text" msgid="419061031064397168">"No hay apps conectadas"</string>
<string name="interact_across_profiles_keywords" msgid="5996472773111665049">"apps personales y de trabajo conectadas al perfil sincronizado"</string>
<string name="interact_across_profiles_app_detail_title" msgid="7776184211173575648">"Apps personales y de trabajo conectadas"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 225b834..d34b626 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"No tienes permiso para cambiar los ajustes de Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Emparejar nuevo dispositivo"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Emparejar derecho"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Emparejar izquierdo"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Empareja el otro audífono"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Tu audífono izquierdo está conectado.\n\nPara emparejar el derecho, asegúrate de que está encendido y listo para emparejarse."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Tu audífono derecho está conectado.\n\nPara emparejar el izquierdo, asegúrate de que está encendido y listo para emparejarse."</string>
@@ -325,7 +327,7 @@
<string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Cargando…"</string>
<string name="location_settings_footer_general" msgid="1040507068701188821">"Las aplicaciones que tengan permiso para detectar dispositivos cercanos pueden determinar la posición relativa de los dispositivos conectados."</string>
<string name="location_settings_footer_location_off" msgid="8568995909147566720">"Las aplicaciones y los servicios no pueden acceder a la ubicación. Aun así, quizá se envíe la ubicación del dispositivo a los servicios de emergencia cuando llames o envíes mensajes a números de emergencia."</string>
- <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"Consulta más información sobre los ajustes de ubicación."</string>
+ <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"Más información sobre los ajustes de ubicación"</string>
<string name="account_settings_title" msgid="9138880127246241885">"Cuentas"</string>
<string name="security_settings_title" msgid="6710768415432791970">"Seguridad"</string>
<string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Cifrado y credenciales"</string>
@@ -616,7 +618,7 @@
<string name="fingerprint_last_delete_title" msgid="4081475675646514726">"¿Quitar todas las huellas?"</string>
<string name="fingerprint_delete_title" msgid="1469865327307917858">"Quitar \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\""</string>
<string name="fingerprint_delete_message" msgid="1454995433333496541">"¿Quieres eliminar esta huella digital?"</string>
- <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"Se eliminarán las imágenes y el modelo de huella digital asociados a \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" que están almacenados en tu dispositivo"</string>
+ <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"Se eliminarán las imágenes y el modelo de huella digital asociados a \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" que están almacenados en tu dispositivo."</string>
<string name="fingerprint_last_delete_message" msgid="7860374760549404410">"No podrás usar tu huella digital para desbloquear el teléfono ni para verificar que eres tú en aplicaciones."</string>
<string name="fingerprint_last_delete_message_profile_challenge" msgid="4104208067277655068">"No podrás usar tu huella digital para desbloquear un perfil de trabajo, autorizar compras o iniciar sesión en aplicaciones de trabajo."</string>
<string name="fingerprint_last_delete_confirm" msgid="3294910995598819259">"Sí, quitar"</string>
@@ -1272,7 +1274,7 @@
<string name="sound_settings" msgid="7622986039384531304">"Sonido y vibración"</string>
<string name="all_volume_title" msgid="6196367642878437513">"Volumen"</string>
<string name="musicfx_title" msgid="5458574743312283473">"Efectos de música"</string>
- <string name="ring_volume_title" msgid="4869034595079914541">"Volumen del tono y de las notificaciones"</string>
+ <string name="ring_volume_title" msgid="4869034595079914541">"Volumen de tonos y notificaciones"</string>
<string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibrar en modo Silencio"</string>
<string name="notification_sound_title" msgid="8747567935870133157">"Sonido de notificación predeterminado"</string>
<string name="incoming_call_volume_title" msgid="8445408274513654261">"Tono"</string>
@@ -1945,7 +1947,7 @@
<string name="lockpassword_choose_your_password_header" msgid="2407205113298094824">"Establece una contraseña"</string>
<string name="lockpassword_choose_your_profile_password_header" msgid="7038997227611893312">"Define una contraseña para el trabajo"</string>
<string name="lockpassword_choose_your_pin_header" msgid="7754265746504679473">"Establece un PIN"</string>
- <string name="lockpassword_choose_your_profile_pin_header" msgid="4581749963670819048">"Define un PIN para el trabajo"</string>
+ <string name="lockpassword_choose_your_profile_pin_header" msgid="4581749963670819048">"Establece un PIN para el trabajo"</string>
<string name="lockpassword_choose_your_pattern_header" msgid="5674909390779586252">"Crea un patrón"</string>
<string name="lockpassword_choose_your_pattern_description" msgid="6808109256008481046">"Para mayor seguridad, configura un patrón para desbloquear el dispositivo"</string>
<string name="lockpassword_choose_your_profile_pattern_header" msgid="3101811498330756641">"Crea un patrón de trabajo"</string>
@@ -1973,7 +1975,7 @@
<string name="lockpassword_choose_your_pin_header_for_face" msgid="704061826984851309">"Desbloqueo facial requiere un PIN"</string>
<string name="lockpassword_choose_your_password_header_for_biometrics" msgid="2053366309272487015">"Define una contraseña para usar la cara o una huella digital"</string>
<string name="lockpassword_choose_your_pattern_header_for_biometrics" msgid="4038476475293734905">"Define un patrón para usar la cara o una huella digital"</string>
- <string name="lockpassword_choose_your_pin_header_for_biometrics" msgid="9086039918921009380">"Define un PIN para usar la cara o una huella digital"</string>
+ <string name="lockpassword_choose_your_pin_header_for_biometrics" msgid="9086039918921009380">"Establece un PIN para usar la cara o una huella digital"</string>
<string name="lockpassword_forgot_password" msgid="5730587692489737223">"¿Has olvidado la contraseña?"</string>
<string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"¿Has olvidado el patrón?"</string>
<string name="lockpassword_forgot_pin" msgid="7164232234705747672">"¿Has olvidado el PIN?"</string>
@@ -2458,7 +2460,7 @@
<string name="accessibility_display_inversion_shortcut_title" msgid="6889624526691513462">"Acceso directo a Invertir colores"</string>
<string name="accessibility_display_inversion_preference_intro_text" msgid="1159663288481145318">"Invertir colores hace que las pantallas claras se vuelvan oscuras y que las pantallas oscuras se vuelvan claras."</string>
<string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>Ten en cuenta lo siguiente:</b><br/> <ol> <li> Los colores cambiarán en el contenido multimedia y las imágenes.</li> <li> Invertir colores funciona en todas las aplicaciones.</li> <li> Si lo que quieres es que se muestre un fondo oscuro, prueba mejor a usar el tema oscuro.</li> </ol>"</string>
- <string name="accessibility_autoclick_preference_title" msgid="2703143361605555752">"Clic automático (tiempo de permanencia)"</string>
+ <string name="accessibility_autoclick_preference_title" msgid="2703143361605555752">"Clic automático (tiempo permanencia)"</string>
<string name="accessibility_autoclick_about_title" msgid="152923024405552594">"Clic automático (permanencia)"</string>
<string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"Más información sobre el clic automático (tiempo de permanencia)"</string>
<string name="accessibility_autoclick_intro_text" msgid="8959680635470639347">"Puedes configurar un ratón conectado para que haga clic automáticamente cuando el cursor deje de moverse durante un intervalo de tiempo determinado"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Es posible que algunas funciones estén limitadas"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Mayor uso de batería"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Consulta las aplicaciones que consumen más batería"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Carga limitada temporalmente"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Para conservar la salud de la batería. Más información"</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Seguir cargando"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"En determinadas circunstancias (por ejemplo, cuando la temperatura es alta o va a estar mucho tiempo conectado al cargador), el teléfono puede limitar la carga hasta el <xliff:g id="PERCENT">%1$s</xliff:g> para mantener la salud de la batería.\n\nUna vez que dejen de darse estas circunstancias, el teléfono se cargará de nuevo con normalidad."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"En determinadas circunstancias (por ejemplo, cuando la temperatura es alta o va a estar mucho tiempo conectado al cargador), el tablet puede limitar la carga hasta el <xliff:g id="PERCENT">%1$s</xliff:g> para mantener la salud de la batería.\n\nUna vez que dejen de darse estas circunstancias, el tablet se cargará de nuevo con normalidad."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Esta aplicación podrá usar la batería en segundo plano. Es posible que la batería se agote antes de lo esperado."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Quitar"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Cancelar"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Tus aplicaciones usan una cantidad normal de batería. Si consumieran demasiada, el teléfono te recomendaría medidas para evitarlo.\n\nSi te queda poca carga, también puedes activar Ahorro de batería."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Tus aplicaciones usan una cantidad normal de batería. Si consumieran demasiada, el tablet te recomendaría medidas para evitarlo.\n\nSi te queda poca carga, también puedes activar Ahorro de batería."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Tus aplicaciones usan una cantidad normal de batería. Si consumieran demasiada, el dispositivo te recomendaría medidas para evitarlo.\n\nSi te queda poca carga, también puedes activar Ahorro de batería."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"con un <xliff:g id="PERCENT">%1$s</xliff:g> de batería"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Porcentaje de batería"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Muestra el porcentaje de batería en la barra de estado"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Nivel de la batería desde la última carga completa"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Nivel de batería durante las últimas 24 h"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Uso de la aplicación desde la última carga completa"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Uso de aplicaciones durante las últimas 24 horas"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Uso del sistema desde la última carga completa"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Uso del sistema durante las últimas 24 h"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Uso del sistema de <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Uso de aplicaciones de <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -3051,7 +3062,7 @@
<string name="adaptive_connectivity_switch_on" msgid="3653067561620745493">"Activado"</string>
<string name="adaptive_connectivity_switch_off" msgid="5076172560836115265">"Desactivado"</string>
<string name="credentials_title" msgid="7535942196886123656">"Almacenamiento de credenciales"</string>
- <string name="credentials_install" msgid="3933218407598415827">"Instalar certificados"</string>
+ <string name="credentials_install" msgid="3933218407598415827">"Instalar un certificado"</string>
<string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Instala certificados desde el almacenamiento"</string>
<string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Instala certificados desde la tarjeta SD"</string>
<string name="credentials_reset" msgid="4246628389366452655">"Borrar credenciales"</string>
@@ -3445,7 +3456,7 @@
<string name="apps_with_restrictions_settings_button" msgid="2648355133416902221">"Ampliar ajustes de aplicación"</string>
<string name="user_choose_copy_apps_to_another_user" msgid="5914037067347012870">"Selecciona las apps que quieres instalar"</string>
<string name="user_copy_apps_menu_title" msgid="5354300105759670300">"Instalar aplicaciones disponibles"</string>
- <string name="nfc_payment_settings_title" msgid="2043139180030485500">"Pagos contactless"</string>
+ <string name="nfc_payment_settings_title" msgid="2043139180030485500">"Pagos sin contacto"</string>
<string name="nfc_default_payment_settings_title" msgid="2150504446774382261">"Aplicación para pagos predeterminada"</string>
<string name="nfc_default_payment_footer" msgid="978535088340021360">"Para pagar con una aplicación para pagos, acerca la parte posterior del dispositivo a un terminal"</string>
<string name="nfc_more_details" msgid="1700713533074275233">"Más información"</string>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 12214b3..8f22360 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Teil ei ole luba Bluetoothi seadete muutmiseks."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Uue seadme sidumine"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Seo parempoolne"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Seo vasakpoolne"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Teise kõrva sidumine"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Teie vasakpoolne kuuldeaparaat on ühendatud.\n\nParempoolse sidumiseks veenduge, et see oleks sisse lülitatud ja sidumiseks valmis."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Teie parempoolne kuuldeaparaat on ühendatud.\n\nVasakpoolse sidumiseks veenduge, et see oleks sisse lülitatud ja sidumiseks valmis."</string>
@@ -2761,8 +2763,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Mõned funktsioonid võivad olla piiratud"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Suur akukasutus"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Vaadake suurima akukasutusega rakendusi"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Laadimine on ajutiselt piiratud"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Aku säästmiseks. Vaadake lisateavet."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Jätka laadimist"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Teatud tingimustel, nt kõrge temperatuuriga ja pikal laadimisperioodil, võib laadimine olla piiratud tasemeni <xliff:g id="PERCENT">%1$s</xliff:g>, et säilitada aku seisukord.\n\nNende tingimuste lõppedes hakkab telefon automaatselt jälle tavapäraselt laadima."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Teatud tingimustel, nt kõrge temperatuuriga ja pikal laadimisperioodil, võib laadimine olla piiratud tasemeni <xliff:g id="PERCENT">%1$s</xliff:g>, et säilitada aku seisukord.\n\nNende tingimuste lõppedes hakkab tahvelarvuti automaatselt jälle tavapäraselt laadima."</string>
@@ -2798,6 +2804,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"See rakendus saab taustal akut kasutada. Aku võib oodatust varem tühjaks saada."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Eemalda"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Tühista"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Teie rakendused kasutavad akut tavapärases ulatuses. Kui rakendused kasutavad liiga palju akut, soovitab telefon teile selle vastu sobilikke meetmeid.\n\nKui aku hakkab tühjaks saama, võite alati akusäästja sisse lülitada."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Teie rakendused kasutavad akut tavapärases ulatuses. Kui rakendused kasutavad liiga palju akut, soovitab tahvelarvuti teile selle vastu sobilikke meetmeid.\n\nKui aku hakkab tühjaks saama, võite alati akusäästja sisse lülitada."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Teie rakendused kasutavad akut tavapärases ulatuses. Kui rakendused kasutavad liiga palju akut, soovitab seade teile selle vastu sobilikke meetmeid.\n\nKui aku hakkab tühjaks saama, võite alati akusäästja sisse lülitada."</string>
@@ -2975,8 +2983,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"aku taseme <xliff:g id="PERCENT">%1$s</xliff:g> juures"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Aku laetuse protsent"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Olekuribal kuvatakse aku laetuse protsent"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Akutase pärast viimast täislaadimist"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Akutase viimase 24 h jooksul"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Rakenduse kasutus pärast viimast täislaadimist"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Rakenduste kasutus viimase 24 h jooksul"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Süsteemi kasutus pärast viimast täislaadimist"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Süsteemi kasutus viimase 24 h jooksul"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Süsteemi kasutus: <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Rakenduse kasutus: <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -3447,7 +3458,7 @@
<string name="apps_with_restrictions_settings_button" msgid="2648355133416902221">"Laienda rakenduste seadeid"</string>
<string name="user_choose_copy_apps_to_another_user" msgid="5914037067347012870">"Valige rakendused, mis installida"</string>
<string name="user_copy_apps_menu_title" msgid="5354300105759670300">"Installige saadaolevad rakendused"</string>
- <string name="nfc_payment_settings_title" msgid="2043139180030485500">"Kontaktivabad maksed"</string>
+ <string name="nfc_payment_settings_title" msgid="2043139180030485500">"Viipemaksed"</string>
<string name="nfc_default_payment_settings_title" msgid="2150504446774382261">"Vaikemakserakendus"</string>
<string name="nfc_default_payment_footer" msgid="978535088340021360">"Kui soovite makserakendusega makset teha, hoidke seadme tagakülge makseterminali vastas"</string>
<string name="nfc_more_details" msgid="1700713533074275233">"Lisateave"</string>
@@ -5558,7 +5569,7 @@
<string name="quick_controls_lower" msgid="6675573610027367819">"seadmete juhikud"</string>
<string name="cards_passes_sentence" msgid="1866311782387946944">"Kaardid ja pääsmed"</string>
<string name="cards_passes_lower" msgid="2429722007109957877">"kaardid ja pääsmed"</string>
- <string name="power_menu_setting_name" msgid="2394440932633137229">"Vajutage pikalt toitenuppu"</string>
+ <string name="power_menu_setting_name" msgid="2394440932633137229">"Pikalt toitenupu vajutamine"</string>
<string name="power_menu_long_press_category_title" msgid="1051146091093775002">"Juurdepääsemiseks vajutage pikalt toitenuppu"</string>
<string name="power_menu_long_press_for_power_menu_title" msgid="477584639843663599">"Toitemenüü"</string>
<string name="power_menu_long_press_for_assistant_title" msgid="6557738348262616455">"Digitaalne assistent"</string>
@@ -5568,7 +5579,7 @@
<string name="power_menu_power_volume_up_hint" msgid="5619917593676125759">"Toitemenüü:\nvajutage korraga toitenuppu ja helitugevuse suurendamise nuppu"</string>
<string name="power_menu_power_prevent_ringing_hint" msgid="1169955014711158873">"Helisemise vältimine:\notsetee kasutamiseks vajutage helitugevuse nuppu"</string>
<string name="power_menu_long_press_for_assist_sensitivity_title" msgid="1626808509158422185">"Allhoidmise kestus"</string>
- <string name="power_menu_long_press_for_assist_sensitivity_summary" msgid="7550610071666801935">"Kohandage ühenduvust, valides, kui pikalt toitenuppu all hoida"</string>
+ <string name="power_menu_long_press_for_assist_sensitivity_summary" msgid="7550610071666801935">"Tundlikkuse reguleerimiseks valige kui pikalt toitenuppu all hoida"</string>
<string name="power_menu_long_press_for_assist_sensitivity_low_label" msgid="3430099983480845635">"Lühike"</string>
<string name="power_menu_long_press_for_assist_sensitivity_high_label" msgid="2059686170350829156">"Pikk"</string>
<string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Kuva rahakott"</string>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 0d19f7e..f3dad3b 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Ez daukazu Bluetooth-aren ezarpenak aldatzeko baimenik."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Parekatu beste gailu batekin"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth-a"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Parekatu eskuineko audifonoa"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Parekatu ezkerreko audifonoa"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Parekatu beste audifonoa"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Ezkerreko audifonoa konektatuta dago.\n\nEskuinekoa parekatzeko, ziurtatu piztuta eta parekatzeko prest dagoela."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Eskuineko audifonoa konektatuta dago.\n\nEzkerrekoa parekatzeko, ziurtatu piztuta eta parekatzeko prest dagoela."</string>
@@ -1324,7 +1326,7 @@
<string name="auto_rotate_option_on" msgid="5776678230808498171">"Aktibatuta"</string>
<string name="auto_rotate_option_face_based" msgid="3438645484087953174">"Aktibatuta: aurpegian oinarrituta"</string>
<string name="auto_rotate_switch_face_based" msgid="9116123744601564320">"Aurpegi-hautematea"</string>
- <string name="auto_rotate_screen_summary" msgid="4547268203621754096">"Doitu automatikoki pantailaren orientazioa telefonoaren bertikaletik horizontalera, eta alderantziz, aldatzen duzunean"</string>
+ <string name="auto_rotate_screen_summary" msgid="4547268203621754096">"Doitu automatikoki pantailaren orientazioa telefonoa modu bertikaletik horizontalera, eta alderantziz, aldatzen duzunean"</string>
<string name="auto_rotate_link_a11y" msgid="5146188567212233286">"Lortu automatikoki biratzeko aukerari buruzko informazio gehiago"</string>
<string name="auto_rotate_summary_a11y" msgid="1505094100328581685">"Telefonoaren pantailaren orientazioa bertikaletik horizontalera, eta alderantziz, aldatzen duzunean"</string>
<string name="screen_resolution_title" msgid="2690518693139811486">"Pantailaren bereizmena"</string>
@@ -1812,7 +1814,7 @@
<string name="tether_settings_summary_hotspot_on_tether_on" msgid="6110241048260139633">"Wifi-gunea aktibatuta, konexioa partekatzea"</string>
<string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Wifi-gunea aktibatuta"</string>
<string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Konexioa partekatzea"</string>
- <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Datu-aurrezlea aktibatuta badago, ezin da partekatu konexioa, ezta wifi-gune eramangarriak erabili ere"</string>
+ <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Datu-aurreztailea aktibatuta badago, ezin da partekatu konexioa, ezta wifi-gune eramangarriak erabili ere"</string>
<string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Wifi-guneen bidez soilik"</string>
<string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"USB bidez soilik"</string>
<string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Bluetooth bidez soilik"</string>
@@ -2749,18 +2751,22 @@
<string name="battery_tip_summary_summary" product="tablet" msgid="5063158368808711973">"Tabletak ohiko bateria kantitatea erabiltzen du atzeko planoan"</string>
<string name="battery_tip_summary_summary" product="device" msgid="4242899844618910548">"Gailuak ohiko bateria kantitatea erabiltzen du atzeko planoan"</string>
<string name="battery_tip_low_battery_title" msgid="4155239078744100997">"Bateria-maila baxua"</string>
- <string name="battery_tip_low_battery_summary" msgid="2629633757244297436">"Aktibatu Bateria-aurrezlea bateriaren iraupena luzatzeko"</string>
+ <string name="battery_tip_low_battery_summary" msgid="2629633757244297436">"Aktibatu Bateria-aurreztailea bateriaren iraupena luzatzeko"</string>
<string name="battery_tip_smart_battery_title" msgid="8925025450214912325">"Hobetu bateriaren iraupena"</string>
<string name="battery_tip_smart_battery_summary" msgid="3592965553502362965">"Aktibatu bateria-kudeatzailea"</string>
- <string name="battery_tip_early_heads_up_title" msgid="4411387863476629452">"Aktibatu bateria-aurrezlea"</string>
+ <string name="battery_tip_early_heads_up_title" msgid="4411387863476629452">"Aktibatu bateria-aurreztailea"</string>
<string name="battery_tip_early_heads_up_summary" msgid="578523794827443977">"Baliteke bateria ohi baino lehenago agortzea"</string>
- <string name="battery_tip_early_heads_up_done_title" msgid="7705597228709143337">"Bateria-aurrezlea aktibatuta dago"</string>
- <string name="battery_saver_link_a11y" msgid="740558184830458845">"Lortu informazio gehiago bateria-aurrezleari buruz"</string>
+ <string name="battery_tip_early_heads_up_done_title" msgid="7705597228709143337">"Bateria-aurreztailea aktibatuta dago"</string>
+ <string name="battery_saver_link_a11y" msgid="740558184830458845">"Lortu informazio gehiago bateria-aurreztaileari buruz"</string>
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Baliteke eginbide batzuk mugatuta egotea"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Bateria-erabilera handiena"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Ikusi bateria gehien erabiltzen duten aplikazioak"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Kargatzeko aukera mugatuta dago aldi baterako"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Bateriak gehiago iraun dezan. Lortu informazio gehiago."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Berrekin kargatzeari"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Egoera jakin batzuetan (adibidez, tenperatura altua denean edo kargatze-epe luzeetan), baliteke gehienez <xliff:g id="PERCENT">%1$s</xliff:g> arte kargatu ahal izatea telefonoa, bateria ez kaltetzeko.\n\nEgoera horiek amaitzean, telefonoa automatikoki hasiko da berriro ohi bezala kargatzen."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Egoera jakin batzuetan (adibidez, tenperatura altua denean edo kargatze-epe luzeetan), baliteke gehienez <xliff:g id="PERCENT">%1$s</xliff:g> kargatu ahal izatea telefonoa, bateria ez kaltetzeko.\n\nEgoera horiek amaitzean, telefonoa automatikoki hasiko da berriro ohi bezala kargatzen."</string>
@@ -2796,9 +2802,11 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Atzeko planoan exekutatu arren, baliteke aplikazio honek bateria erabiltzea. Horregatik, baliteke espero baino lehenago agortzea bateria."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Kendu"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Utzi"</string>
- <string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Aplikazioak ohiko bateria kantitatea erabiltzen ari dira. Aplikazioek bateria gehiegi erabiltzen badute, gauzatu ahal dituzun ekintzak iradokitzen ditu telefonoak.\n\nBateria gutxi baduzu, bateria-aurrezlea aktibatzeko aukera duzu."</string>
- <string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Aplikazioak ohiko bateria kantitatea erabiltzen ari dira. Aplikazioek bateria gehiegi erabiltzen badute, gauzatu ahal dituzun ekintzak iradokitzen ditu tabletak.\n\nBateria gutxi baduzu, bateria-aurrezlea aktibatzeko aukera duzu."</string>
- <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Aplikazioak ohiko bateria kantitatea erabiltzen ari dira. Aplikazioek bateria gehiegi erabiltzen badute, gauzatu ahal dituzun ekintzak iradokitzen ditu gailuak.\n\nBateria gutxi baduzu, bateria-aurrezlea aktibatzeko aukera duzu."</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
+ <string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Aplikazioak ohiko bateria kantitatea erabiltzen ari dira. Aplikazioek bateria gehiegi erabiltzen badute, gauzatu ahal dituzun ekintzak iradokitzen ditu telefonoak.\n\nBateria gutxi baduzu, bateria-aurreztailea aktibatzeko aukera duzu."</string>
+ <string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Aplikazioak ohiko bateria kantitatea erabiltzen ari dira. Aplikazioek bateria gehiegi erabiltzen badute, gauzatu ahal dituzun ekintzak iradokitzen ditu tabletak.\n\nBateria gutxi baduzu, bateria-aurreztailea aktibatzeko aukera duzu."</string>
+ <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Aplikazioak ohiko bateria kantitatea erabiltzen ari dira. Aplikazioek bateria gehiegi erabiltzen badute, gauzatu ahal dituzun ekintzak iradokitzen ditu gailuak.\n\nBateria gutxi baduzu, bateria-aurreztailea aktibatzeko aukera duzu."</string>
<string name="smart_battery_manager_title" msgid="3677620516657920364">"Bateria-kudeatzailea"</string>
<string name="smart_battery_title" msgid="9095903608520254254">"Kudeatu aplikazioak automatikoki"</string>
<string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Mugatu gutxi erabiltzen dituzun aplikazioen bateria-erabilera"</string>
@@ -2950,31 +2958,34 @@
<string name="process_dex2oat_label" msgid="1190208677726583153">"Aplikazio-optimizazioa"</string>
<string name="process_network_tethering" msgid="6822671758152900766">"Konexioa partekatzeko aukera"</string>
<string name="process_removed_apps" msgid="6544406592678476902">"Kendutako aplikazioak"</string>
- <string name="battery_saver" msgid="7737147344510595864">"Bateria-aurrezlea"</string>
+ <string name="battery_saver" msgid="7737147344510595864">"Bateria-aurreztailea"</string>
<string name="battery_saver_auto_title" msgid="6789753787070176144">"Aktibatu automatikoki"</string>
<string name="battery_saver_auto_no_schedule" msgid="5123639867350138893">"Programaziorik ez"</string>
<string name="battery_saver_auto_routine" msgid="4656495097900848608">"Zure ohituretan oinarrituta"</string>
<string name="battery_saver_pref_auto_routine_summary" msgid="4739240095966241508">"Zure ohituretan oinarrituta aktibatuko da"</string>
<string name="battery_saver_auto_percentage" msgid="558533724806281980">"Bateria-mailaren ehunekoan oinarrituta"</string>
- <string name="battery_saver_auto_routine_summary" msgid="3913145448299472628">"Bateria kargatzeko ohiko ordua iritsi aurretik bateria agortzeko arriskua badago aktibatzen da bateria-aurrezlea"</string>
+ <string name="battery_saver_auto_routine_summary" msgid="3913145448299472628">"Bateria kargatzeko ohiko ordua iritsi aurretik bateria agortzeko arriskua badago aktibatzen da bateria-aurreztailea"</string>
<string name="battery_saver_auto_percentage_summary" msgid="6190884450723824287">"Bateria-maila <xliff:g id="PERCENT">%1$s</xliff:g> denean aktibatuko da"</string>
<string name="battery_saver_schedule_settings_title" msgid="3688019979950082237">"Ezarri programazio bat"</string>
<string name="battery_saver_turn_on_summary" msgid="1433919417587171160">"Luzatu bateriaren iraupena"</string>
<string name="battery_saver_sticky_title_new" msgid="5942813274115684599">"Desaktibatu kargatuta dagoenean"</string>
- <string name="battery_saver_sticky_description_new" product="default" msgid="492221102651829607">"Telefonoaren bateria <xliff:g id="UNIT">%</xliff:g> <xliff:g id="NUMBER">^1</xliff:g> baino gehiago kargatu denean, desaktibatu egiten da bateria-aurrezlea"</string>
- <string name="battery_saver_sticky_description_new" product="tablet" msgid="4566426833434375284">"Tabletaren bateria <xliff:g id="UNIT">%</xliff:g> <xliff:g id="NUMBER">^1</xliff:g> baino gehiago kargatu denean, desaktibatu egiten da bateria-aurrezlea"</string>
- <string name="battery_saver_sticky_description_new" product="device" msgid="4128841327359445726">"Gailuaren bateria <xliff:g id="UNIT">%</xliff:g> <xliff:g id="NUMBER">^1</xliff:g> baino gehiago kargatu denean, desaktibatu egiten da bateria-aurrezlea"</string>
+ <string name="battery_saver_sticky_description_new" product="default" msgid="492221102651829607">"Telefonoaren bateria <xliff:g id="UNIT">%</xliff:g> <xliff:g id="NUMBER">^1</xliff:g> baino gehiago kargatu denean, desaktibatu egiten da bateria-aurreztailea"</string>
+ <string name="battery_saver_sticky_description_new" product="tablet" msgid="4566426833434375284">"Tabletaren bateria <xliff:g id="UNIT">%</xliff:g> <xliff:g id="NUMBER">^1</xliff:g> baino gehiago kargatu denean, desaktibatu egiten da bateria-aurreztailea"</string>
+ <string name="battery_saver_sticky_description_new" product="device" msgid="4128841327359445726">"Gailuaren bateria <xliff:g id="UNIT">%</xliff:g> <xliff:g id="NUMBER">^1</xliff:g> baino gehiago kargatu denean, desaktibatu egiten da bateria-aurreztailea"</string>
<!-- no translation found for battery_saver_seekbar_title (3712266470054006641) -->
<skip />
<string name="battery_saver_seekbar_title_placeholder" msgid="7141264642540687540">"Aktibatu"</string>
- <string name="battery_saver_master_switch_title" msgid="3474312070095834915">"Erabili bateria-aurrezlea"</string>
+ <string name="battery_saver_master_switch_title" msgid="3474312070095834915">"Erabili bateria-aurreztailea"</string>
<string name="battery_saver_turn_on_automatically_title" msgid="7857393318205740864">"Aktibatu automatikoki"</string>
<string name="battery_saver_turn_on_automatically_never" msgid="6194649389871448663">"Inoiz ez"</string>
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"bateriaren maila <xliff:g id="PERCENT">%1$s</xliff:g> denean"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Bateriaren ehunekoa"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Erakutsi bateriaren ehunekoa egoera-barran"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Bateria-maila gailua guztiz kargatuz geroztik"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Bateria-maila azken 24 orduetan"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Aplikazioaren erabilera gailua guztiz kargatuz geroztik"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Aplikazioek erabilitakoa azken 24 orduetan"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Sistemaren erabilera gailua guztiz kargatuz geroztik"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Sistemak erabilitakoa azken 24 orduetan"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Sistemak erabilitakoa: <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Aplikazioek erabilitakoa: <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -3634,7 +3645,7 @@
<string name="keywords_storage" msgid="3004667910133021783">"toki, disko, disko gogor, gailua, erabilera, biltegi, memoria"</string>
<string name="keywords_battery" msgid="7040323668283600530">"energia, kontsumoa, karga"</string>
<string name="keywords_battery_usage" msgid="1763573071014260220">"ikusi bateria-erabilera, bateria-erabilera, energia-erabilera"</string>
- <string name="keywords_battery_saver" msgid="6289682844453234359">"bateria-aurrezlea, energia-aurrezlea, aurrezlea"</string>
+ <string name="keywords_battery_saver" msgid="6289682844453234359">"bateria-aurreztailea, energia-aurreztailea, aurreztailea"</string>
<string name="keywords_battery_adaptive_preferences" msgid="1774870663426502938">"hobespen egokituak, bateria egokitua"</string>
<string name="keywords_spell_checker" msgid="5148906820603481657">"ortografia, hiztegi, ortografia-zuzentzaile, zuzenketa automatiko"</string>
<string name="keywords_voice_input" msgid="7534900094659358971">"identifikatzailea, idazketa, hizketa, hitz egin, hizkuntza, esku librekoa, eskuak libre, identifikazioa, hitz iraingarria, audioa, historia, bluetooth entzungailua"</string>
@@ -3703,8 +3714,8 @@
<string name="keywords_alarm_vibration" msgid="4833220371621521817">"haptika, dardara, sentikortasuna, alarma"</string>
<string name="keywords_media_vibration" msgid="723896490102792327">"haptika, dardara, sentikortasuna, multimedia"</string>
<string name="keywords_vibration" msgid="670455132028025952">"haptika, dar-dar egin, dardara"</string>
- <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"bateria-aurrezlea, finkoa, iraunkorra, energia-aurrezlea, bateria"</string>
- <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"ohitura, ordutegia, programazioa, programatu, bateria-aurrezlea, aurreztu bateria, bateria automatikoa, ehunekoa"</string>
+ <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"bateria-aurreztailea, finkoa, iraunkorra, energia-aurreztailea, bateria"</string>
+ <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"ohitura, ordutegia, programazioa, programatu, bateria-aurreztailea, aurreztu bateria, bateria automatikoa, ehunekoa"</string>
<string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, deitzeko aukera aurreratuak, 4G bidezko deiak"</string>
<string name="keywords_nr_advanced_calling" msgid="4157823099610141014">"vo5g, vonr, deitzeko aukera aurreratuak, 5g bidezko deiak"</string>
<string name="keywords_add_language" msgid="1882751300359939436">"gehitu hizkuntza, gehitu hizkuntza bat"</string>
@@ -4196,7 +4207,7 @@
<string name="zen_mode_custom_behavior_title" msgid="92525364576358085">"Ez molestatzeko moduaren jokabidea"</string>
<string name="zen_mode_custom_behavior_summary_default" msgid="3259312823717839148">"Erabili ezarpen lehenetsiak"</string>
<string name="zen_mode_custom_behavior_summary" msgid="5390522750884328843">"Sortu ezarpen pertsonalizatuak programazio honetarako"</string>
- <string name="zen_mode_custom_behavior_category_title" msgid="7815612569425733764">"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g> arauari dagokionez"</string>
+ <string name="zen_mode_custom_behavior_category_title" msgid="7815612569425733764">"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g> programazioari dagokionez"</string>
<string name="summary_divider_text" msgid="8836285171484563986">", "</string>
<string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
<string name="summary_range_verbal_combination" msgid="6022314482293187463">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
@@ -4215,7 +4226,7 @@
<string name="zen_mode_calls_header" msgid="8379225445095856726">"Eten zaitzaketen deiak"</string>
<string name="zen_mode_calls_footer" msgid="2008079711083701243">"Baimendutako deiak jasotzean soinua entzuten dela ziurtatzeko, egiaztatu gailua tonua jotzeko ezarrita dagoela"</string>
<string name="zen_mode_custom_calls_footer" msgid="6521283204577441053">"“<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>” programazioan, blokeatuta dago deiak jasotzeko aukera. Lagunek, senideek eta beste kontaktu batzuek zurekin harremanetan jartzeko aukera izan dezaten, aldatu ezarpenak."</string>
- <string name="zen_mode_starred_contacts_title" msgid="630299631659575589">"Kontaktu izardunenak"</string>
+ <string name="zen_mode_starred_contacts_title" msgid="630299631659575589">"Kontaktu izardunak"</string>
<string name="zen_mode_starred_contacts_summary_contacts" msgid="1629467178444895094">"{count,plural,offset:2 =0{Bat ere ez}=1{{contact_1}}=2{{contact_1} eta {contact_2}}=3{{contact_1}, {contact_2} eta {contact_3}}other{{contact_1}, {contact_2} eta beste #}}"</string>
<string name="zen_mode_starred_contacts_empty_name" msgid="2906404745550293688">"(Izengabea)"</string>
<string name="zen_mode_messages" msgid="7315084748885170585">"Mezuak"</string>
@@ -4719,11 +4730,11 @@
<string name="condition_zen_title" msgid="7674761111934567490">"Aktibatuta dago ez molestatzeko modua"</string>
<string name="condition_zen_summary_phone_muted" msgid="6516753722927681820">"Telefonoaren audioa desaktibatuta dago"</string>
<string name="condition_zen_summary_with_exceptions" msgid="9019937492602199663">"Salbuespenekin"</string>
- <string name="condition_battery_title" msgid="6395113995454385248">"Bateria-aurrezlea aktibatuta"</string>
+ <string name="condition_battery_title" msgid="6395113995454385248">"Bateria-aurreztailea aktibatuta"</string>
<string name="condition_battery_summary" msgid="8436806157833107886">"Eginbide batzuk mugatuta daude"</string>
<string name="condition_cellular_title" msgid="155474690792125747">"Datu-konexioa desaktibatuta"</string>
<string name="condition_cellular_summary" msgid="1678098728303268851">"Wi‑Fi bidez soilik erabil daiteke Internet"</string>
- <string name="condition_bg_data_title" msgid="2719263664589753094">"Datu-aurrezlea"</string>
+ <string name="condition_bg_data_title" msgid="2719263664589753094">"Datu-aurreztailea"</string>
<string name="condition_bg_data_summary" msgid="1736255283216193834">"Eginbide batzuk mugatuta daude"</string>
<string name="condition_work_title" msgid="174326145616998813">"Laneko profila desaktibatuta"</string>
<string name="condition_work_summary" msgid="7113473121312772398">"Aplikazio eta jakinarazpenetarako"</string>
@@ -4792,8 +4803,8 @@
<string name="configure" msgid="1499586749829665889">"Konfiguratu"</string>
<string name="data_usage_other_apps" msgid="5649047093607329537">"Erabileran eragina duten beste aplikazio batzuk"</string>
<plurals name="data_saver_unrestricted_summary" formatted="false" msgid="3316296488378947221">
- <item quantity="other"><xliff:g id="COUNT">%1$d</xliff:g> aplikaziok daukate datuak mugarik gabe erabiltzeko baimena datu-aurrezlea aktibatuta dagoenean</item>
- <item quantity="one">Aplikazio batek dauka datuak mugarik gabe erabiltzeko baimena datu-aurrezlea aktibatuta dagoenean</item>
+ <item quantity="other"><xliff:g id="COUNT">%1$d</xliff:g> aplikaziok daukate datuak mugarik gabe erabiltzeko baimena datu-aurreztailea aktibatuta dagoenean</item>
+ <item quantity="one">Aplikazio batek dauka datuak mugarik gabe erabiltzeko baimena datu-aurreztailea aktibatuta dagoenean</item>
</plurals>
<string name="data_usage_title" msgid="4039024073687469094">"Datu nagusiak"</string>
<string name="data_usage_wifi_title" msgid="1060495519280456926">"Wi‑Fi datuak"</string>
@@ -4815,14 +4826,14 @@
<string name="no_carrier_update_now_text" msgid="7898004907837200752">"Oraintxe eguneratu da"</string>
<string name="launch_mdp_app_text" msgid="8791816789749304897">"Ikusi plana"</string>
<string name="launch_wifi_text" msgid="976421974332512894">"Ikusi xehetasunak"</string>
- <string name="data_saver_title" msgid="2593804270788863815">"Datu-aurrezlea"</string>
+ <string name="data_saver_title" msgid="2593804270788863815">"Datu-aurreztailea"</string>
<string name="unrestricted_data_saver" msgid="7922563266857367495">"Datu-erabilera mugagabea"</string>
<string name="restrict_background_blocklisted" msgid="2308345280442438232">"Atzeko planoko datuak desaktibatuta daude"</string>
<string name="data_saver_on" msgid="7848893946018448793">"Aktibatuta"</string>
<string name="data_saver_off" msgid="5891210864117269045">"Desaktibatuta"</string>
- <string name="data_saver_switch_title" msgid="7111538580123722959">"Erabili datu-aurrezlea"</string>
+ <string name="data_saver_switch_title" msgid="7111538580123722959">"Erabili datu-aurreztailea"</string>
<string name="unrestricted_app_title" msgid="7117585996574329284">"Erabili datuak mugarik gabe"</string>
- <string name="unrestricted_app_summary" msgid="282698963532000403">"Eman datuak mugarik gabe erabiltzeko baimena datu-aurrezlea aktibatuta dagoenean"</string>
+ <string name="unrestricted_app_summary" msgid="282698963532000403">"Eman datuak mugarik gabe erabiltzeko baimena datu-aurreztailea aktibatuta dagoenean"</string>
<string name="home_app" msgid="6056850504746902747">"Hasierako aplikazioa"</string>
<string name="no_default_home" msgid="3588073707316139318">"Ez dago hasierako pantaila lehenetsirik"</string>
<string name="lockpattern_settings_require_cred_before_startup" msgid="4098653943835666086">"Abio segurua"</string>
@@ -4896,10 +4907,10 @@
<string name="bluetooth_connected_multiple_devices_summary" msgid="2294954614327771844">"Gailu batera baino gehiagotara konektatuta"</string>
<string name="demo_mode" msgid="6566167465451386728">"Sistemaren erabiltzaile-interfazearen demo modua"</string>
<string name="dark_ui_mode" msgid="898146394425795281">"Gai iluna"</string>
- <string name="dark_ui_mode_disabled_summary_dark_theme_on" msgid="4554134480159161533">"Aldi baterako desgaituta, bateria-aurrezlea aktibatuta dagoelako"</string>
- <string name="ambient_camera_summary_battery_saver_on" msgid="1787784892047029560">"Aldi baterako desgaituta, bateria-aurrezlea dela eta"</string>
- <string name="ambient_camera_battery_saver_off" msgid="689825730569761613">"Desaktibatu bateria-aurrezlea"</string>
- <string name="dark_ui_mode_disabled_summary_dark_theme_off" msgid="4154227921313505702">"Aldi baterako aktibatu du bateria-aurrezleak"</string>
+ <string name="dark_ui_mode_disabled_summary_dark_theme_on" msgid="4554134480159161533">"Aldi baterako desgaituta, bateria-aurreztailea aktibatuta dagoelako"</string>
+ <string name="ambient_camera_summary_battery_saver_on" msgid="1787784892047029560">"Aldi baterako desgaituta, bateria-aurreztailea dela eta"</string>
+ <string name="ambient_camera_battery_saver_off" msgid="689825730569761613">"Desaktibatu bateria-aurreztailea"</string>
+ <string name="dark_ui_mode_disabled_summary_dark_theme_off" msgid="4154227921313505702">"Aldi baterako aktibatu du bateria-aurreztaileak"</string>
<string name="dark_theme_slice_title" msgid="4684222119481114062">"Probatu gai iluna"</string>
<string name="dark_theme_slice_subtitle" msgid="5555724345330434268">"Bateriaren iraupena luzatzen du"</string>
<string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Ezarpen bizkorretako garatzaileentzako lauzak"</string>
@@ -5686,7 +5697,7 @@
<string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Eman erabiltzaile anitz egoteko baimena"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Erabili hari gabeko arazketa"</string>
<string name="graphics_driver_main_switch_title" msgid="6125172901855813790">"Erabili grafikoen kontrolatzailearen hobespenak"</string>
- <string name="battery_saver_main_switch_title" msgid="5072135547489779352">"Erabili bateria-aurrezlea"</string>
+ <string name="battery_saver_main_switch_title" msgid="5072135547489779352">"Erabili bateria-aurreztailea"</string>
<string name="do_not_disturb_main_switch_title_on" msgid="6965566556539821313">"Desaktibatu"</string>
<string name="do_not_disturb_main_switch_title_off" msgid="7088088515823752545">"Aktibatu"</string>
<string name="night_light_main_switch_title" msgid="3428298022467805219">"Erabili gaueko argia"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 5e8e8c7..da962ec 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"اجازه ندارید تنظیمات بلوتوث را تغییر دهید."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"مرتبطسازی دستگاه جدید"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"بلوتوث"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"مرتبط کردن گوش راست"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"مرتبط کردن گوش چپ"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"مرتبط کردن گوش دیگر"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"سمعک سمت چپ متصل شد.\n\nبرای مرتبط کردن سمعک سمت راست، مطمئن شوید روشن و آماده مرتبطسازی باشد."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"سمعک سمت راست متصل شد.\n\nبرای مرتبط کردن سمعک سمت چپ، مطمئن شوید روشن و آماده مرتبطسازی باشد."</string>
@@ -614,7 +616,7 @@
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"حداکثر تعداد اثرانگشت را اضافه کردهاید"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"نمیتوانید اثرانگشتهای بیشتری اضافه کنید"</string>
<string name="fingerprint_last_delete_title" msgid="4081475675646514726">"همه اثر انگشتها پاک شوند؟"</string>
- <string name="fingerprint_delete_title" msgid="1469865327307917858">"پاک کردن «<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>»"</string>
+ <string name="fingerprint_delete_title" msgid="1469865327307917858">"حذف کردن «<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>»"</string>
<string name="fingerprint_delete_message" msgid="1454995433333496541">"میخواهید این اثر انگشت را پاک کنید؟"</string>
<string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"با این کار مدل و تصاویر اثر انگشت مرتبط با «<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>» که در دستگاهتان ذخیره شدهاند حذف میشوند"</string>
<string name="fingerprint_last_delete_message" msgid="7860374760549404410">"نمیتوانید از اثر انگشت برای باز کردن قفل تلفن یا تأیید هویتتان در برنامهها استفاده کنید."</string>
@@ -2319,8 +2321,8 @@
<string name="accessibility_captioning_title" msgid="4561871958958925225">"اولویتهای زیرنویس ناشنوایان"</string>
<string name="accessibility_captioning_about_title" msgid="3542171637334191563">"درباره اولویتهای زیرنویس ناشنوایان"</string>
<string name="accessibility_captioning_footer_learn_more_content_description" msgid="5730040700677017706">"درباره اولویتهای زیرنویس ناشنوایان بیشتر بدانید"</string>
- <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"بزرگنمایی"</string>
- <string name="accessibility_screen_magnification_shortcut_title" msgid="2387963646377987780">"میانبر «درشتنمایی»"</string>
+ <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"درشتنمایی"</string>
+ <string name="accessibility_screen_magnification_shortcut_title" msgid="2387963646377987780">"میانبر درشتنمایی"</string>
<string name="accessibility_screen_magnification_follow_typing_title" msgid="6379517513916651560">"درشتنمایی تایپ"</string>
<string name="accessibility_screen_magnification_follow_typing_summary" msgid="2882250257391761678">"ذرهبین همزمان با تایپ کردن شما با نوشتار حرکت میکند"</string>
<string name="accessibility_screen_magnification_about_title" msgid="8857919020223505415">"درباره درشتنمایی"</string>
@@ -2343,7 +2345,7 @@
<string name="accessibility_magnification_triple_tap_warning_message" msgid="2008671502848936410">"هنگام استفاده از سهضربه برای درشتنمایی بخشی از صفحهنمایش ممکن است متوجه مشکلاتی در صفحهکلید شوید.\n\nبرای جلوگیری از این مشکلات، میتوانید میانبر درشتنمایی را از سهضربه به گزینه دیگری تغییر دهید.\n"<annotation id="link">"تغییر تنظیم"</annotation></string>
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"درهرصورت ادامه داده شود"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"لغو"</string>
- <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"تنظیمات بزرگنمایی"</string>
+ <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"تنظیمات درشتنمایی"</string>
<string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"درشتنمایی با سه ضربه"</string>
<string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"درشتنمایی بااستفاده از میانبر"</string>
<string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"درشتنمایی بااستفاده از میانبر و سه ضربه"</string>
@@ -2362,12 +2364,12 @@
<string name="accessibility_text_reading_conversation_message_1" msgid="7883952203831957831">"برنامهای برای آخر هفته دارید؟"</string>
<string name="accessibility_text_reading_conversation_message_2" msgid="8112160435318635856">"داریم به ساحل میرویم. شما هم میآیید؟"</string>
<string name="accessibility_screen_option" msgid="8465307075278878145">"گزینهها"</string>
- <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"بزرگ کردن روی صفحه"</string>
+ <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"زومپیش روی صفحه"</string>
<string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"برای بزرگنمایی، ۳ بار ضربه بزنید"</string>
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"برای بزرگنمایی، روی دکمهای ضربه بزنید"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"بهسرعت صفحه را بزرگ کنید تا محتوا درشتتر نمایش داده شود"</string>
- <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>برای بزرگ کردن:</b><br/> {0,number,integer}. برای فعال کردن درشتنمایی، از میانبر استفاده کنید<br/> {1,number,integer}. روی صفحه ضربه بزنید<br/> {2,number,integer}. برای حرکت کردن در صفحه، ۲ انگشت را بکشید<br/> {3,number,integer}. برای تنظیم بزرگنمایی، ۲ انگشت را ازهم دور یا بههم نزدیک کنید<br/> {4,number,integer}. برای توقف درشتنمایی از میانبراستفاده کنید<br/><br/> <b>برای بزرگ کردن موقت:</b><br/> {0,number,integer}. مطمئن شوید نوع درشتنمایی روی تمامصفحه تنظیم شده باشد<br/> {1,number,integer}. برای فعال کردن درشتنمایی، از میانبر استفاده کنید<br/> {2,number,integer}. جایی از صفحه را لمس کنید و نگه دارید<br/> {3,number,integer}. برای حرکت کردن در صفحه، انگشت را بکشید<br/> {4,number,integer}. برای متوقف کردن درشتنمایی، انگشتتان را بردارید"</string>
- <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"با روشن کردن درشتنمایی، میتوانید روی صفحه بزرگنمایی کنید.\n\n"<b>"برای بزرگنمایی"</b>"، درشتنمایی را روشن کنید و روی جایی از صفحه ضربه بزنید.\n"<ul><li>"برای پیمایش، دو یا چند انگشتتان را روی صفحه بکشید "</li>\n<li>"برای تنظیم بزرگنمایی، دو یا چند انگشتتان را بههم نزدیک کنید"</li></ul>\n\n<b>"برای بزرگنمایی موقت"</b>"، درشتنمایی را روشن کنید، سپس جایی از صفحه را لمس کنید و نگهدارید.\n"<ul><li>"برای حرکت در صفحه، انگشتتان را روی صفحه بکشید"</li>\n<li>"برای کوچک کردن، انگشتتان را بردارید"</li></ul>\n\n"نمیتوانید صفحهکلید یا نوار پیمایش را کوچک کنید."</string>
+ <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>برای زومپیش کردن:</b><br/> {0,number,integer}. برای فعال کردن درشتنمایی، از میانبر استفاده کنید<br/> {1,number,integer}. روی صفحه ضربه بزنید<br/> {2,number,integer}. برای حرکت کردن در صفحه، ۲ انگشت را بکشید<br/> {3,number,integer}. برای تنظیم کردن زوم، ۲ انگشت را ازهم دور یا بههم نزدیک کنید<br/> {4,number,integer}. برای توقف درشتنمایی از میانبراستفاده کنید<br/><br/> <b>برای زومپیش موقت:</b><br/> {0,number,integer}. مطمئن شوید نوع درشتنمایی روی تمامصفحه تنظیم شده باشد<br/> {1,number,integer}. برای فعال کردن درشتنمایی، از میانبر استفاده کنید<br/> {2,number,integer}. جایی از صفحه را لمس کنید و نگه دارید<br/> {3,number,integer}. برای حرکت کردن در صفحه، انگشت را بکشید<br/> {4,number,integer}. برای متوقف کردن درشتنمایی، انگشتتان را بردارید"</string>
+ <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"با روشن کردن درشتنمایی، میتوانید روی صفحه زومپیش کنید.\n\n"<b>"برای زوم کردن"</b>"، درشتنمایی را روشن کنید و روی جایی از صفحه ضربه بزنید.\n"<ul><li>"برای پیمایش، دو یا چند انگشتتان را روی صفحه بکشید "</li>\n<li>"برای تنظیم کردن زوم، دو یا چند انگشتتان را بههم نزدیک کنید"</li></ul>\n\n<b>"برای زوم موقت"</b>"، درشتنمایی را روشن کنید، سپس جایی از صفحه را لمس کنید و نگهدارید.\n"<ul><li>"برای حرکت در صفحه، انگشتتان را روی صفحه بکشید"</li>\n<li>"برای زومپس کردن، انگشتتان را بردارید"</li></ul>\n\n"نمیتوانید صفحهکلید یا نوار پیمایش را کوچک کنید."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"صفحه <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> از <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"استفاده از دکمه دسترسپذیری برای باز کردن"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"نگهداشتن کلیدهای میزان صدا برای باز کردن"</string>
@@ -2403,7 +2405,7 @@
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"سریع روی صفحهنمایش {0,number,integer} بار ضربه بزنید. ممکن است این میانبر سرعت دستگاه را کاهش دهد"</string>
<string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"پیشرفته"</string>
<string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"دکمه دسترسپذیری روی <xliff:g id="SERVICE">%1$s</xliff:g> تنظیم شده است. برای استفاده از درشتنمایی، دکمه دسترسپذیری را لمس کنید و نگهدارید، سپس درشتنمایی را انتخاب کنید."</string>
- <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"اشاره دسترسپذیری روی <xliff:g id="SERVICE">%1$s</xliff:g> تنظیم شده است. برای استفاده از بزرگنمایی، با دو انگشت از پایین صفحه به بالا بکشید و نگهدارید. سپس بزرگنمایی را انتخاب کنید."</string>
+ <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"اشاره دسترسپذیری روی <xliff:g id="SERVICE">%1$s</xliff:g> تنظیم شده است. برای استفاده از درشتنمایی، با دو انگشت از پایین صفحه بهبالا بکشید و نگه ارید. سپس درشتنمایی را انتخاب کنید."</string>
<string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"میانبر کلید بلندی صدا"</string>
<string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"سرویس میانبر"</string>
<string name="accessibility_shortcut_settings" msgid="836783442658447995">"تنظیمات میانبر"</string>
@@ -2429,8 +2431,8 @@
<string name="accessibility_button_high_label" msgid="9138077512008190896">"غیرشفاف"</string>
<string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"نوشتار با کنتراست بالا"</string>
<string name="accessibility_toggle_high_text_contrast_preference_summary" msgid="5286411556836346180">"رنگ نوشتار را به سیاه یا سفید تغییر میدهد. تضاد با پسزمینه را بهحداکثر میرساند."</string>
- <string name="accessibility_toggle_screen_magnification_auto_update_preference_title" msgid="4987009529235165664">"بهروزرسانی خودکار بزرگنمایی صفحه"</string>
- <string name="accessibility_toggle_screen_magnification_auto_update_preference_summary" msgid="9034532513972547720">"بهروزرسانی بزرگنمایی صفحه در انتقالهای برنامه"</string>
+ <string name="accessibility_toggle_screen_magnification_auto_update_preference_title" msgid="4987009529235165664">"بهروزرسانی خودکار درشتنمایی صفحه"</string>
+ <string name="accessibility_toggle_screen_magnification_auto_update_preference_summary" msgid="9034532513972547720">"بهروزرسانی درشتنمایی صفحه در انتقالهای برنامه"</string>
<string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"قطع تماس با دکمه روشن/خاموش"</string>
<string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"اشارهگر موشواره بزرگ"</string>
<string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"برجستهتر کردن اشارهگر موشواره"</string>
@@ -2460,7 +2462,7 @@
<string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>بهخاطر داشته باشید</b><br/> <ol> <li> رنگها در رسانهها و تصاویر تغییر خواهد کرد</li> <li> «وارونگی رنگ» در همه برنامهها کار میکند</li> <li> برای نمایش پسزمینه تیره، میتوان بهجای آن از «زمینه تیره» استفاده کرد</li> </ol>"</string>
<string name="accessibility_autoclick_preference_title" msgid="2703143361605555752">"کلیک خودکار (مدت ایست)"</string>
<string name="accessibility_autoclick_about_title" msgid="152923024405552594">"درباره کلیک خودکار (مدت ایست)"</string>
- <string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"درباره کلیک خودکار بیشتر بدانید (مدت ایست)"</string>
+ <string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"درباره کلیک خودکار (مدت ایست) بیشتر بدانید"</string>
<string name="accessibility_autoclick_intro_text" msgid="8959680635470639347">"میتوانید موشواره متصل را طوری تنظیم کنید که وقتی نشانگر برای مدتزمان مشخصی متوقف میشود، موشواره بهطور خودکار کلیک کند."</string>
<string name="accessibility_autoclick_description" msgid="6695732131412361101">"اگر کلیک کردن روی موشواره سخت است، کلیک خودکار میتواند مفید باشد"</string>
<string name="accessibility_autoclick_default_title" msgid="2024730028293793490">"خاموش کردن کلیک خودکار"</string>
@@ -2637,7 +2639,7 @@
<string name="settings_button" msgid="2195468788019730377">"تنظیمات"</string>
<string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"حساسیت به نور، نورهراسی، زمینه تیره، میگرن، سردرد، حالت خواندن، حالت شب، کاهش روشنایی، درجه سفیدی"</string>
<string name="keywords_accessibility" msgid="4263443239404659143">"سهولت استفاده، سهولت دسترسی، دستیار، یاریرسان"</string>
- <string name="keywords_magnification" msgid="3908145308269840862">"ذرهبین پنجره، بزرگنمایی، درشتنمایی، کمبینا، بزرگ کردن، بزرگتر کردن"</string>
+ <string name="keywords_magnification" msgid="3908145308269840862">"ذرهبین پنجره، زوم، درشتنمایی، کمبینا، بزرگ کردن، بزرگتر کردن"</string>
<string name="keywords_talkback" msgid="2816435437095102527"></string>
<string name="keywords_live_caption" msgid="1667203998080567556">"زیرنویس، زیرنویس ناشنوایان، CC، ترانویسی همزمان، کمشنوا، ازدست دادن شنوایی، CART، گفتار به نوشتار، زیرنویس"</string>
<string name="keywords_live_transcribe" msgid="3226990195174890997"></string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"ممکن است بعضی از ویژگیها محدود شود"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"مصرف باتری بیشتر"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"برنامههایی که بیشترین مصرف را دارند ببینید"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"شارژ موقتاً محدود شده است"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"برای محافظت از باتری. بیشتر بدانید."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"ازسرگیری شارژ شدن"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"در برخی شرایط، مثل دمای بالا و دورههای طولانی شارژ، ممکن است شارژ شدن به <xliff:g id="PERCENT">%1$s</xliff:g> محدود شود تا سلامت باتری حفظ شود.\n\nوقتی این شرایط بهپایان برسد، تلفن بهطور خودکار در حالت عادی شارژ خواهد شد."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"در برخی شرایط، مثل دمای بالا و دورههای طولانی شارژ، ممکن است شارژ شدن به <xliff:g id="PERCENT">%1$s</xliff:g> محدود شود تا سلامت باتری حفظ شود.\n\nوقتی این شرایط بهپایان برسد، رایانه لوحی بهطور خودکار در حالت عادی شارژ خواهد شد."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"این برنامه میتواند در پسزمینه از باتری استفاده کند. ممکن است شارژ باتری زودتر از حد انتظار تمام شود."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"برداشتن"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"لغو"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"میزان باتری مصرفی توسط برنامههایتان معمولی است. اگر برنامهها بیشازحد باتری مصرف کنند، تلفنتان کنشهایی پیشنهاد میکند که میتوانید انجام دهید.\n\nاگر باتری رو به اتمام باشد، همیشه میتوانید «بهینهسازی باتری» را روشن کنید."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"میزان باتری مصرفی توسط برنامههایتان معمولی است. اگر برنامهها بیشازحد باتری مصرف کنند، رایانه لوحیتان کنشهایی پیشنهاد میکند که میتوانید انجام دهید.\n\nاگر باتری رو به اتمام باشد، همیشه میتوانید «بهینهسازی باتری» را روشن کنید."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"میزان باتری مصرفی برنامههایتان معمولی است. اگر برنامهها بیشازحد باتری مصرف کنند، دستگاهتان کنشهایی پیشنهاد میکند که میتوانید انجام دهید.\n\nاگر باتری رو به اتمام باشد، همیشه میتوانید «بهینهسازی باتری» را روشن کنید."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"در <xliff:g id="PERCENT">%1$s</xliff:g> باتری"</string>
<string name="battery_percentage" msgid="1779934245963043490">"درصد شارژ باتری"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"نمایش درصد شارژ باتری در نوار وضعیت"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"سطح باتری از آخرین شارژ کامل"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"میزان شارژ باتری در ۲۴ ساعت گذشته"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"مصرف برنامه از آخرین شارژ کامل"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"استفاده از برنامه در ۲۴ ساعت گذشته"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"استفاده سیستم از آخرین شارژ کامل"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"استفاده از سیستم در ۲۴ ساعت گذشته"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"استفاده از سیستم برای <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"استفاده از برنامه برای <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -4214,7 +4225,7 @@
<string name="zen_mode_calls_list" msgid="5044730950895749093">"تماسها"</string>
<string name="zen_mode_calls_header" msgid="8379225445095856726">"تماسهایی که میتوانند وقفه ایجاد کنند"</string>
<string name="zen_mode_calls_footer" msgid="2008079711083701243">"برای اطمینان از اینکه تماسهای مجاز صدا داشته باشند، بررسی کنید دستگاه روی زنگ زدن تنظیم شده باشد"</string>
- <string name="zen_mode_custom_calls_footer" msgid="6521283204577441053">"تماسهای ورودی برای «<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>» مسدود میشود. برای اینکه به دوستان و خانواده و سایر مخاطبین امکان دسترسی به خودتان بدهید، میتوانید تنظیمات را تغییر دهید."</string>
+ <string name="zen_mode_custom_calls_footer" msgid="6521283204577441053">"برای «<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>» تماسهای ورودی مسدود میشود. میتوانید تنظیمات را تغییر دهید تا به دوستان و خانواده و سایر مخاطبین امکان دسترسی به خودتان را بدهید."</string>
<string name="zen_mode_starred_contacts_title" msgid="630299631659575589">"مخاطبین ستارهدار"</string>
<string name="zen_mode_starred_contacts_summary_contacts" msgid="1629467178444895094">"{count,plural,offset:2 =0{هیچکدام}=1{{contact_1}}=2{{contact_1} و {contact_2}}=3{{contact_1}، {contact_2} و {contact_3}}one{{contact_1}، {contact_2}، و # نفر دیگر}other{{contact_1}، {contact_2}، و # نفر دیگر}}"</string>
<string name="zen_mode_starred_contacts_empty_name" msgid="2906404745550293688">"(بدون نام)"</string>
@@ -4253,7 +4264,7 @@
<string name="zen_mode_reminders_list" msgid="3133513621980999858">"یادآوریها"</string>
<string name="zen_mode_reminders_list_first" msgid="1130470396012190814">"یادآوریها"</string>
<string name="zen_mode_events" msgid="7425795679353531794">"رویدادهای تقویم"</string>
- <string name="zen_mode_events_summary" msgid="3241903481309766428">"از رویدادهای تقویم آتی"</string>
+ <string name="zen_mode_events_summary" msgid="3241903481309766428">"از رویدادهای پیشروی تقویم"</string>
<string name="zen_mode_events_list" msgid="7191316245742097229">"رویدادها"</string>
<string name="zen_mode_events_list_first" msgid="7425369082835214361">"رویدادها"</string>
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"مجاز کردن برنامهها برای لغو"</string>
@@ -4425,7 +4436,7 @@
</plurals>
<plurals name="runtime_permissions_additional_count" formatted="false" msgid="5888624648943937645">
<item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> اجازه تکمیلی</item>
- <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> اجازههای تکمیلی</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> اجازههای جانبی</item>
</plurals>
<string name="runtime_permissions_summary_no_permissions_granted" msgid="7456745929035665029">"اجازهای داده نشده"</string>
<string name="runtime_permissions_summary_no_permissions_requested" msgid="7174876170116073356">"اجازهای درخواست نشده"</string>
@@ -4532,7 +4543,7 @@
<string name="no_battery_summary_24hr" msgid="6280079526797873842">"طی ۲۴ ساعت گذشته از باتری استفاده نشده است"</string>
<string name="app_notification_preferences" msgid="2004680717999108725">"تنظیمات برنامه"</string>
<string name="system_ui_settings" msgid="936169564323330967">"نمایش تنظیمگر واسط کاربری سیستم"</string>
- <string name="additional_permissions" msgid="4656871347558988462">"اجازههای تکمیلی"</string>
+ <string name="additional_permissions" msgid="4656871347558988462">"اجازههای جانبی"</string>
<string name="additional_permissions_more" msgid="8188145515437525307">"<xliff:g id="COUNT">%1$d</xliff:g> مورد دیگر"</string>
<string name="share_remote_bugreport_dialog_title" msgid="1575283098565582433">"گزارش اشکال به اشتراک گذاشته شود؟"</string>
<string name="share_remote_bugreport_dialog_message_finished" msgid="4869053468609007680">"سرپرست فناوری اطلاعات شما برای کمک به عیبیابی این دستگاه، گزارش اشکال درخواست کرده است. ممکن است برنامهها و دادهها به اشتراک گذاشته شوند."</string>
@@ -4939,9 +4950,9 @@
<string name="double_tap_power_for_camera_title" msgid="7982364144330923683">"باز کردن سریع دوربین"</string>
<string name="double_tap_power_for_camera_summary" msgid="1100926048598415509">"برای باز کردن سریع دوربین، دکمه روشن/خاموش را دو بار فشار دهید. در همه صفحهها کار میکند."</string>
<string name="double_tap_power_for_camera_suggestion_title" msgid="4299496243418753571">"باز کردن سریع دوربین"</string>
- <string name="double_twist_for_camera_mode_title" msgid="472455236910935684">"خودگرفت با چرخاندن دوربین"</string>
+ <string name="double_twist_for_camera_mode_title" msgid="472455236910935684">"خویشگرفت با چرخاندن دوربین"</string>
<string name="double_twist_for_camera_mode_summary" msgid="592503740044744951"></string>
- <string name="double_twist_for_camera_suggestion_title" msgid="8178844037382604158">"سریعتر گرفتن خودگرفت"</string>
+ <string name="double_twist_for_camera_suggestion_title" msgid="8178844037382604158">"سریعتر گرفتن خویشگرفت"</string>
<string name="system_navigation_title" msgid="1698862900901417194">"پیمایش سیستمی"</string>
<string name="swipe_up_to_switch_apps_title" msgid="6677266952021118342">"پیمایش ۲ دکمهای"</string>
<string name="swipe_up_to_switch_apps_summary" msgid="1415457307836359560">"برای جابهجایی بین برنامهها، دکمه صفحه اصلی را تند بهبالا بکشید. برای دیدن همه برنامهها، دوباره تند بهبالا بکشید. برای برگشت، روی دکمه برگشت ضربه بزنید."</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index d54f167..0f1078d 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Sinulla ei ole lupaa muuttaa Bluetooth-asetuksia."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Muodosta uusi laitepari"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Liitä oikea korva"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Liitä vasen korva"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Liitä toinen korva"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Vasemman korvan kuulolaite on yhdistetty.\n\nJos haluat liittää oikean sen pariksi, varmista, että se on päällä ja valmis parin muodostukseen."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Oikean korvan kuulolaite on yhdistetty.\n\nJos haluat liittää vasemman sen pariksi, varmista, että se on päällä ja valmis parin muodostukseen."</string>
@@ -324,7 +326,7 @@
</plurals>
<string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Ladataan…"</string>
<string name="location_settings_footer_general" msgid="1040507068701188821">"Sovellukset, joilla on lähellä olevien laitteiden lupa, voivat määrittää yhdistettyjen laitteiden suhteellisen sijainnin."</string>
- <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Sijainnin käyttöoikeus on pois päältä sovelluksissa ja palveluissa. Tiedot laitteesi sijainnista voidaan silti lähettää pelastustyöntekijöille, kun soitat tai lähetät tekstiviestin hätänumeroon."</string>
+ <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Sovelluksilla ja palveluilla ei ole sijaintilupaa. Tiedot laitteesi sijainnista voidaan silti lähettää pelastustyöntekijöille, kun soitat tai lähetät tekstiviestin hätänumeroon."</string>
<string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"Lue lisää sijaintiasetuksista."</string>
<string name="account_settings_title" msgid="9138880127246241885">"Tilit"</string>
<string name="security_settings_title" msgid="6710768415432791970">"Suojaus"</string>
@@ -872,7 +874,7 @@
<string name="bluetooth_menu_advanced" msgid="7633682234855216066">"Lisäasetukset"</string>
<string name="bluetooth_advanced_titlebar" msgid="5369701494951467257">"Bluetooth-lisäasetukset"</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_scanning_on_info_message" msgid="6667723887545056976">"Kun Bluetooth on käytössä, laitteesi voi kommunikoida muiden lähellä olevien Bluetooth-laitteiden kanssa.\n\nParantaakseen laitteen käyttökokemusta sovellukset ja palvelut voivat silti hakea lähellä olevia laitteita aina, vaikka Bluetooth olisi pois käytöstä. Näin voidaan esimerkiksi kehittää sijaintiin perustuvia ominaisuuksia ja palveluita. Voit muuttaa tätä "<annotation id="link">"Bluetooth-haun asetuksissa"</annotation>"."</string>
+ <string name="bluetooth_scanning_on_info_message" msgid="6667723887545056976">"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ä "<annotation id="link">"Bluetooth-haun asetuksissa"</annotation>"."</string>
<string name="ble_scan_notify_text" msgid="1358879010396045164">"Parantaakseen sijainnin tarkkuutta järjestelmäsovellukset ja -palvelut voivat edelleen havaita Bluetooth-laitteita. Voit muuttaa tätä <xliff:g id="LINK_BEGIN_0">LINK_BEGIN</xliff:g>etsintäasetuksissa<xliff:g id="LINK_END_1">LINK_END</xliff:g>."</string>
<string name="bluetooth_connect_failed" msgid="7892663424429584925">"Yhteyttä ei voi muodostaa. Yritä uudelleen."</string>
<string name="device_details_title" msgid="1155622417516195481">"Laitteen tiedot"</string>
@@ -2316,9 +2318,9 @@
<string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
<string name="talkback_summary" msgid="5820927220378864281">"Näytönlukuohjelma ensisijaisesti näkövammaisille ja heikkonäköisille"</string>
<string name="select_to_speak_summary" msgid="1995285446766920925">"Napauta kohteita näytöllä, niin ne luetaan ääneen"</string>
- <string name="accessibility_captioning_title" msgid="4561871958958925225">"Tekstitysvalinnat"</string>
+ <string name="accessibility_captioning_title" msgid="4561871958958925225">"Tekstitysasetukset"</string>
<string name="accessibility_captioning_about_title" msgid="3542171637334191563">"Tietoja tekstitysvalinnoista"</string>
- <string name="accessibility_captioning_footer_learn_more_content_description" msgid="5730040700677017706">"Lue lisää tekstitysvalinnoista"</string>
+ <string name="accessibility_captioning_footer_learn_more_content_description" msgid="5730040700677017706">"Lue lisää tekstitysasetuksista"</string>
<string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Suurennus"</string>
<string name="accessibility_screen_magnification_shortcut_title" msgid="2387963646377987780">"Suurennuksen pikanäppäin"</string>
<string name="accessibility_screen_magnification_follow_typing_title" msgid="6379517513916651560">"Suurenna kirjoitettava teksti"</string>
@@ -2448,7 +2450,7 @@
<string name="accessibility_timeout_2mins" msgid="7901692984522708679">"2 minuuttia"</string>
<string name="accessibility_setting_item_control_timeout_title" msgid="1600516937989217899">"Toiminnon aika (saavutettavuuskatkaisu)"</string>
<string name="accessibility_control_timeout_about_title" msgid="813588002683460837">"Tietoja toiminnon ajasta (saavutettavuuskatkaisu)"</string>
- <string name="accessibility_control_timeout_footer_learn_more_content_description" msgid="8118584413220542193">"Lue lisää toiminnon ajasta (saavutettavuuskatkaisu)"</string>
+ <string name="accessibility_control_timeout_footer_learn_more_content_description" msgid="8118584413220542193">"Lue lisää reagointiajasta (saavutettavuuden aikakatkaisu)"</string>
<string name="accessibility_control_timeout_preference_title" msgid="1443940538597464758">"Reagointiaika"</string>
<string name="accessibility_control_timeout_preference_summary" msgid="4037051091059316310">"Kaikki sovellukset eivät tue tätä ajoitusasetusta"</string>
<string name="accessibility_control_timeout_preference_intro_text" msgid="1398116710556762245">"Valitse, miten pitkään haluat nähdä tilapäiset viestit, joissa pyydetään tekemään toiminto"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Joitakin toimintoja voidaan rajoittaa"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Enemmän akkua kuluttavat"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Katso eniten kuluttavat sovellukset"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Lataamista rajoitettu väliaikaisesti"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Akun säästämiseksi. Lue lisää."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Jatka lataamista"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Tietyissä tilanteissa (esim. korkea lämpötila tai pitkä latausaika) lataus voi olla rajoitettu <xliff:g id="PERCENT">%1$s</xliff:g>:iin, jotta akku pysyy hyvässä kunnossa.\n\nKun tilanne on ohi, puhelin latautuu automaattisesti normaalisti."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Tietyissä tilanteissa (esim. korkea lämpötila tai pitkä latausaika) lataus voi olla rajoitettu <xliff:g id="PERCENT">%1$s</xliff:g>:iin, jotta akku pysyy hyvässä kunnossa.\n\nKun tilanne on ohi, tabletti latautuu automaattisesti normaalisti."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Tämä sovellus voi käyttää akkua taustalla, joten akku saattaa loppua odotettua aiemmin."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Poista"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Peru"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Sovelluksesi kuluttavat akkua normaalisti. Jos sovellusten virrankulutus on liian suurta, puhelin ehdottaa mahdollisia toimenpiteitä.\n\nJos akku on vähissä, voit ottaa virransäästön käyttöön."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Sovelluksesi kuluttavat akkua normaalisti. Jos sovellusten virrankulutus on liian suurta, tabletti ehdottaa mahdollisia toimenpiteitä.\n\nJos akku on vähissä, voit ottaa virransäästön käyttöön."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Sovelluksesi kuluttavat akkua normaalisti. Jos sovellusten virrankulutus on liian suurta, laite ehdottaa mahdollisia toimenpiteitä.\n\nJos akku on vähissä, voit ottaa virransäästön käyttöön."</string>
@@ -2849,7 +2857,7 @@
<string name="power_cell" msgid="7793805106954398186">"Mobiiliverkko"</string>
<string name="power_phone" msgid="2768396619208561670">"Äänipuhelut"</string>
<string name="power_idle" product="tablet" msgid="4689321599298911021">"Tablet pois käytöstä"</string>
- <string name="power_idle" product="default" msgid="9132502722499465252">"Puhelin on käyttämätön"</string>
+ <string name="power_idle" product="default" msgid="9132502722499465252">"Puhelin ei käytössä"</string>
<string name="power_unaccounted" msgid="2160811497426475703">"Muut"</string>
<string name="power_overcounted" msgid="3681101460287472876">"Yliarvioitu"</string>
<string name="usage_type_cpu" msgid="8544148642836549011">"Suorittimen käyttöaika yhteensä"</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"kun akun varaus on <xliff:g id="PERCENT">%1$s</xliff:g>"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Akun varaus prosentteina"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Näytä akun varaus prosentteina tilapalkissa"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Akun varaustaso edellisen täyden latauksen jälkeen"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Akun varaustaso 24 viime tunnin sisällä"</string>
- <string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Sovelluksen käyttö 24 viime tunnin sisällä"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Sovellusten käyttö edellisen täyden latauksen jälkeen"</string>
+ <string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Sovelluksen käyttö kuluneen vuorokauden aikana"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Järjestelmän käyttö edellisen täyden latauksen jälkeen"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Järjestelmän käyttö 24 viime tunnin sisällä"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Järjestelmän käyttö: <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Sovelluksen käyttö: <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -4437,7 +4448,7 @@
<item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> käyttämätöntä sovellusta</item>
<item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> käyttämätön sovellus</item>
</plurals>
- <string name="unused_apps_category" msgid="8954930958175500851">"Käyttämättömät sovellusasetukset"</string>
+ <string name="unused_apps_category" msgid="8954930958175500851">"Käyttämättömien sovellusten asetukset"</string>
<string name="unused_apps_switch" msgid="7595419855882245772">"Keskeytä sovellustoim. jos ei käytössä"</string>
<string name="unused_apps_switch_summary" msgid="2171098908014596802">"Poista käyttämättömät luvat ja väliaikaiset tiedostot ja pysäytä ilmoitukset"</string>
<string name="filter_all_apps" msgid="6645539744080251371">"Kaikki sovellukset"</string>
@@ -4762,7 +4773,7 @@
<string name="cellular_data_usage" msgid="5874156338825285334">"Mobiilidatan käyttö"</string>
<string name="app_cellular_data_usage" msgid="7603292978956033926">"Sovelluksen datan käyttö"</string>
<string name="wifi_data_usage" msgid="6868503699134605707">"Wi-Fi-datan käyttö"</string>
- <string name="non_carrier_data_usage" msgid="6494603202578414755">"Muu kuin operaattorien käyttämä data"</string>
+ <string name="non_carrier_data_usage" msgid="6494603202578414755">"Muun kuin mobiilidatan käyttö"</string>
<string name="ethernet_data_usage" msgid="4552227880905679761">"Ethernet-datan käyttö"</string>
<string name="wifi" msgid="2932584495223243842">"Wi-Fi"</string>
<string name="ethernet" msgid="4665162609974492983">"Ethernet"</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 5c0531f..c57afc6 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Vous n\'êtes pas autorisé à modifier les paramètres Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Associer un autre appareil"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Asso. oreille droite"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Asso. oreille gauche"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Associer l\'autre oreille"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Votre prothèse auditive gauche est connectée.\n\nPour associer celle de droite, assurez-vous qu\'elle est activée et prête à être associée."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Votre prothèse auditive droite est connectée.\n\nPour associer celle de gauche, assurez-vous qu\'elle est activée et prête à être associée."</string>
@@ -636,7 +638,7 @@
<string name="suggested_fingerprint_lock_settings_summary" product="device" msgid="1040265358906410746"></string>
<string name="suggested_fingerprint_lock_settings_summary" product="default" msgid="1040265358906410746"></string>
<string name="lock_settings_picker_title" msgid="9219376327364915334">"Verrouillage de l\'écran"</string>
- <string name="lock_settings_picker_new_lock_title" msgid="3113042086804290919">"Choisir un verrouillage d\'écran"</string>
+ <string name="lock_settings_picker_new_lock_title" msgid="3113042086804290919">"Choisissez un verrouillage d\'écran"</string>
<string name="lock_settings_picker_update_lock_title" msgid="536853138943415927">"Choisissez nouv. verr. écran"</string>
<string name="lock_settings_picker_new_profile_lock_title" msgid="2270462215256413800">"Choisir verrouillage pour applis pro"</string>
<string name="lock_settings_picker_update_profile_lock_title" msgid="5929068163516308927">"Choisir nouveau verrouillage prof."</string>
@@ -841,8 +843,8 @@
<string name="bluetooth_pin_values_hint" msgid="2753202519050044670">"Habituellement 0000 ou 1234"</string>
<string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Le numéro doit comporter 16 chiffres"</string>
<string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Vous devrez peut-être également saisir ce NIP sur l\'autre appareil."</string>
- <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Vous devrez peut-être également saisir ce mot de passe sur l\'autre appareil."</string>
- <string name="bluetooth_confirm_passkey_msg" msgid="327192310468680072">"Pour associer votre appareil à :<br><b><xliff:g id="DEVICE_NAME">%1$s</xliff:g></b><br><br>Assurez-vous que le mot de passe <br><b><xliff:g id="PASSKEY">%2$s</xliff:g></b> s\'affiche."</string>
+ <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Vous devrez peut-être également saisir cette clé d\'accès sur l\'autre appareil."</string>
+ <string name="bluetooth_confirm_passkey_msg" msgid="327192310468680072">"Pour associer votre appareil à :<br><b><xliff:g id="DEVICE_NAME">%1$s</xliff:g></b><br><br>Assurez-vous que la clé d\'accès <br><b><xliff:g id="PASSKEY">%2$s</xliff:g></b> s\'affiche."</string>
<string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Confirmez pour effectuer l\'association avec l\'ensemble coordonné"</string>
<string name="bluetooth_incoming_pairing_msg" msgid="1068123527866596779">"De :<br><b><xliff:g id="DEVICE_NAME">%1$s</xliff:g></b><br><br>Associer à cet appareil?"</string>
<string name="bluetooth_display_passkey_pin_msg" msgid="8672803845151786521">"Pour l\'association à :<xliff:g id="BOLD1_0"><br><b></xliff:g><xliff:g id="DEVICE_NAME">%1$s</xliff:g><xliff:g id="END_BOLD1"></b><br><br></xliff:g>Saisissez <xliff:g id="BOLD2_1"><br><b></xliff:g><xliff:g id="PASSKEY">%2$s</xliff:g><xliff:g id="END_BOLD2"></b></xliff:g>, puis appuyez sur « Retour » ou sur « Entrée »."</string>
@@ -1958,7 +1960,7 @@
<string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Entrer votre mot de passe professionnel"</string>
<string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Confirmer votre schéma"</string>
<string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Entrer votre schéma prof."</string>
- <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Entrer de nouveau votre NIP"</string>
+ <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Entrez de nouveau votre NIP"</string>
<string name="lockpassword_reenter_your_profile_pin_header" msgid="2890233614560435538">"Confirmer votre NIP professionnel"</string>
<string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Entrer votre NIP professionnel"</string>
<string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Les mots de passe ne correspondent pas"</string>
@@ -1973,7 +1975,7 @@
<string name="lockpassword_choose_your_pin_header_for_face" msgid="704061826984851309">"Code pour le déverrouillage facial"</string>
<string name="lockpassword_choose_your_password_header_for_biometrics" msgid="2053366309272487015">"Définir mot passe pour utiliser visage ou empreinte digitale"</string>
<string name="lockpassword_choose_your_pattern_header_for_biometrics" msgid="4038476475293734905">"Définir un schéma pour utiliser visage ou empreinte digitale"</string>
- <string name="lockpassword_choose_your_pin_header_for_biometrics" msgid="9086039918921009380">"Définir un NIP pour utiliser visage ou empreinte digitale"</string>
+ <string name="lockpassword_choose_your_pin_header_for_biometrics" msgid="9086039918921009380">"Définissez un NIP de secours"</string>
<string name="lockpassword_forgot_password" msgid="5730587692489737223">"Mot de passe oublié?"</string>
<string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Schéma oublié?"</string>
<string name="lockpassword_forgot_pin" msgid="7164232234705747672">"NIP oublié?"</string>
@@ -2457,7 +2459,7 @@
<string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Utiliser l\'inversion des couleurs"</string>
<string name="accessibility_display_inversion_shortcut_title" msgid="6889624526691513462">"Raccourci de l\'inversion des couleurs"</string>
<string name="accessibility_display_inversion_preference_intro_text" msgid="1159663288481145318">"L\'inversion des couleurs assombrit les écrans lumineux. Elle illumine également les écrans sombres."</string>
- <string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>N\'oubliez pas</b><br/> <ol> <li> Les couleurs changeront dans les fichiers multimédias et les images.</li> <li> L\'inversion des couleurs fonctionne sur toutes les applications.</li> <li> Pour afficher un arrière-plan sombre, le thème sombre peut être utilisé à la place.</li> </ol>"</string>
+ <string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>N\'oubliez pas</b><br/> <ol> <li> Les couleurs changeront dans les fichiers multimédias et les images.</li> <li> L\'inversion des couleurs fonctionne sur toutes les applications.</li> <li> Le thème sombre peut être utilisé pour afficher un arrière-plan sombre.</li> </ol>"</string>
<string name="accessibility_autoclick_preference_title" msgid="2703143361605555752">"Clic automatique (temps d\'arrêt)"</string>
<string name="accessibility_autoclick_about_title" msgid="152923024405552594">"Clic automatique (temps d\'arrêt)"</string>
<string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"En savoir plus sur le clic automatique (temps d\'arrêt)"</string>
@@ -2554,7 +2556,7 @@
<string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Vert faible, deutéranomalie"</string>
<string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Rouge faible, protanomalie"</string>
<string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomalie"</string>
- <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Réduction supplémentaire de la luminosité"</string>
+ <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Très sombre"</string>
<string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Activer la réduction suppl. de la luminosité"</string>
<string name="reduce_bright_colors_shortcut_title" msgid="495648157059202745">"Raccourci de la réduction supplémentaire de la luminosité"</string>
<string name="reduce_bright_colors_about_title" msgid="503655452544934393">"Réduction supplémentaire de la luminosité"</string>
@@ -2710,7 +2712,7 @@
<string name="manager_battery_usage_optimized_summary" msgid="1332545476428039900">"Optimiser en fonction de votre usage. Ce réglage est recommandé pour la plupart des applications."</string>
<string name="manager_battery_usage_restricted_summary" msgid="8324695640704416905">"Restreindre l\'utilisation de la pile lors du fonctionnement en arrière-plan. L\'application pourrait ne pas fonctionner comme prévu. Les notifications pourraient être retardées."</string>
<string name="manager_battery_usage_footer" msgid="2635906573922553766">"La modification de la manière dont une application utilise la pile peut avoir une incidence sur ses performances."</string>
- <string name="manager_battery_usage_footer_limited" msgid="5180776148877306780">"Cette application nécessite une utilisation de la pile sans <xliff:g id="STATE">%1$s</xliff:g>."</string>
+ <string name="manager_battery_usage_footer_limited" msgid="5180776148877306780">"Cette application nécessite une utilisation <xliff:g id="STATE">%1$s</xliff:g> de la pile."</string>
<string name="manager_battery_usage_unrestricted_only" msgid="3646162131339418216">"aucune restriction"</string>
<string name="manager_battery_usage_optimized_only" msgid="7121785281913056432">"optimisée"</string>
<string name="manager_battery_usage_link_a11y" msgid="374918091821438564">"En savoir plus à propos des options d\'utilisation de la pile"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Certaines fonctionnalités pourraient être limitées"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Utilisation plus élevée de la pile"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Affichez les applications qui utilisent le plus d\'énergie"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Recharge temporairement limitée"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Pour préserver votre pile. Apprenez-en plus."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Reprendre la charge"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Dans certaines conditions, comme des températures élevées ou de longues périodes de charge, la charge pourrait être limitée à <xliff:g id="PERCENT">%1$s</xliff:g> pour aider à préserver la santé de la pile.\n\nLorsque ces conditions prendront fin, votre téléphone se rechargera normalement de façon automatique."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Dans certaines conditions, comme des températures élevées ou de longues périodes de charge, la charge pourrait être limitée à <xliff:g id="PERCENT">%1$s</xliff:g> pour aider à préserver la santé de la pile.\n\nLorsque ces conditions prendront fin, votre tablette se rechargera normalement de façon automatique."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Cette application pourra utiliser la pile en arrière-plan. Cela pourrait épuiser la pile plus rapidement."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Supprimer"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Annuler"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Vos applications utilisent une quantité normale d\'énergie. Si les applications utilisent trop d\'énergie, votre téléphone vous suggérera des actions à essayer.\n\nVous pouvez toujours activer la fonction Économiseur de pile si la pile est trop faible."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Vos applications utilisent une quantité normale d\'énergie. Si les applications utilisent trop d\'énergie, votre tablette vous suggérera des actions à essayer.\n\nVous pouvez toujours activer la fonction Économiseur de pile si la pile est trop faible."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Vos applications utilisent une quantité normale d\'énergie. Si les applications utilisent trop d\'énergie, votre appareil vous suggérera des actions à essayer.\n\nVous pouvez toujours activer la fonction Économiseur de pile si la pile est trop faible."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"à <xliff:g id="PERCENT">%1$s</xliff:g> d\'autonomie restante"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Pourcentage de charge de la pile"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Afficher le pourcentage de charge de la pile dans la barre d\'état"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Niveau de la pile depuis la dernière recharge complète"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Niveau de la pile, dernières 24 h"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Utilisation des applications depuis la dernière charge complète"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Utilisation par application, dernières 24 h"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Utilisation du système depuis la dernière recharge complète"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Utilisation par le système, dernières 24 h"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Utilisation par le système : <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Utilisation par l\'application : <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -3953,7 +3964,7 @@
<string name="lock_screen_notifs_redact_work" msgid="3833920196569208430">"Notifications sensibles du profil professionnel"</string>
<string name="lock_screen_notifs_redact_work_summary" msgid="3238238380405430156">"Afficher le contenu sensible du profil professionnel lorsque l\'écran est verrouillé"</string>
<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">"Afficher contenu sensible seulement si déverrouillé"</string>
+ <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"N\'afficher le contenu sensible que si 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_title" msgid="1360388192096354315">"Écran de verrouillage"</string>
diff --git a/res/values-fr/arrays.xml b/res/values-fr/arrays.xml
index a4dbc05..23ae87d 100644
--- a/res/values-fr/arrays.xml
+++ b/res/values-fr/arrays.xml
@@ -505,8 +505,8 @@
</string-array>
<string-array name="wifi_metered_entries">
<item msgid="3237321077949659241">"Détecter automatiquement"</item>
- <item msgid="3779092145391320375">"Traiter comme facturé à l\'usage"</item>
- <item msgid="2047166446768045816">"Traiter comme sans compteur"</item>
+ <item msgid="3779092145391320375">"Traiter comme limitée"</item>
+ <item msgid="2047166446768045816">"Traiter comme illimitée"</item>
</string-array>
<string-array name="wifi_privacy_entries">
<item msgid="3485945604919292489">"Utiliser MAC aléatoire (par défaut)"</item>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index c860935..c726e4e 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Vous n\'êtes pas autorisé à modifier les paramètres Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Associer un appareil"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Associer le droit"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Associer le gauche"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Associer l\'autre appareil"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Votre appareil auditif gauche est connecté.\n\nPour associer le droit, vérifiez qu\'il est allumé et prêt pour l\'association."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Votre appareil auditif droit est connecté.\n\nPour associer le gauche, vérifiez qu\'il est allumé et prêt pour l\'association."</string>
@@ -1324,7 +1326,7 @@
<string name="auto_rotate_option_on" msgid="5776678230808498171">"Activée"</string>
<string name="auto_rotate_option_face_based" msgid="3438645484087953174">"Active - En fonction du visage"</string>
<string name="auto_rotate_switch_face_based" msgid="9116123744601564320">"Détection de visages"</string>
- <string name="auto_rotate_screen_summary" msgid="4547268203621754096">"Ajuster automatiquement l\'orientation de l\'écran lorsque vous basculez votre appareil de la position portrait en position paysage, et inversement"</string>
+ <string name="auto_rotate_screen_summary" msgid="4547268203621754096">"Ajuster automatiquement l\'orientation de l\'écran lorsque vous basculez votre appareil de la position portrait à la position paysage, et inversement"</string>
<string name="auto_rotate_link_a11y" msgid="5146188567212233286">"En savoir plus sur la rotation automatique"</string>
<string name="auto_rotate_summary_a11y" msgid="1505094100328581685">"Quand vous basculez votre téléphone en mode portrait ou paysage"</string>
<string name="screen_resolution_title" msgid="2690518693139811486">"Résolution d\'écran"</string>
@@ -1418,7 +1420,7 @@
<string name="dark_ui_activation_on_auto" msgid="4824339634784765049">"Activer jusqu\'au lever du soleil"</string>
<string name="dark_ui_activation_off_auto" msgid="9136717444658505208">"Désactiver jusqu\'au coucher du soleil"</string>
<string name="dark_ui_title" msgid="3373976268671557416">"Mode sombre"</string>
- <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Horaire"</string>
+ <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Programmation"</string>
<string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Aucun"</string>
<string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Actif toute la nuit"</string>
<string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"S\'active à l\'heure choisie"</string>
@@ -1434,7 +1436,7 @@
<string name="dark_ui_summary_on_auto_mode_custom_bedtime" msgid="1976993025762551246">"Se désactive automatiquement après l\'heure du coucher"</string>
<string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Activer jusqu\'à <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Désactiver jusqu\'à <xliff:g id="ID_1">%1$s</xliff:g>"</string>
- <string name="dark_ui_text" msgid="4392646155331126666">"Le thème sombre utilise un fond noir pour préserver l\'autonomie de la batterie sur certains écrans. Les programmes ne s\'activent que lorsque l\'écran est éteint."</string>
+ <string name="dark_ui_text" msgid="4392646155331126666">"Le thème sombre utilise un fond noir pour préserver l\'autonomie de la batterie sur certains écrans. Si vous le programmez, il attend que l\'écran soit éteint pour s\'activer."</string>
<string name="dark_ui_bedtime_footer_summary" msgid="5576501833145170581">"Actuellement, le thème sombre s\'active au même horaire que le mode Coucher."</string>
<string name="dark_ui_bedtime_footer_action" msgid="1493095487994054339">"Paramètres du mode Coucher"</string>
<string name="screen_timeout" msgid="7709947617767439410">"Délai de mise en veille de l\'écran"</string>
@@ -2340,7 +2342,7 @@
<string name="accessibility_magnification_switch_shortcut_positive_button" msgid="2446942190957296957">"Passer au bouton Accessibilité"</string>
<string name="accessibility_magnification_switch_shortcut_negative_button" msgid="7115794462123071594">"Utiliser \"Appuyer trois fois\""</string>
<string name="accessibility_magnification_triple_tap_warning_title" msgid="8484669851397296597">"Cela pourrait ralentir votre clavier"</string>
- <string name="accessibility_magnification_triple_tap_warning_message" msgid="2008671502848936410">"Lorsque vous appuyez trois fois pour agrandir une partie de l\'écran, il se peut que vous remarquiez des problèmes liés au clavier.\n\nPour les éviter, vous pouvez remplacer le raccourci d\'agrandissement avec trois appuis par une autre option.\n"<annotation id="link">"Modifier le paramètre"</annotation></string>
+ <string name="accessibility_magnification_triple_tap_warning_message" msgid="2008671502848936410">"Lorsque vous appuyez trois fois pour agrandir une partie de l\'écran, il se peut que vous remarquiez des problèmes liés au clavier.\n\nPour les éviter, au lieu d\'appuyer trois fois, vous pouvez choisir un autre raccourci d\'agrandissement.\n"<annotation id="link">"Modifier le paramètre"</annotation></string>
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continuer"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Annuler"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Paramètres d\'agrandissement"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Certaines fonctionnalités peuvent être limitées"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Utilisation élevée de la batterie"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Voir les applis sollicitant le plus la batterie"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Recharge momentanément limitée"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Pour préserver votre batterie. En savoir plus"</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Reprendre la recharge"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"La recharge peut être limitée à <xliff:g id="PERCENT">%1$s</xliff:g> pour préserver la batterie dans certaines conditions, comme des températures élevées ou de longues périodes de recharge.\n\nLorsque ces conditions prennent fin, votre téléphone recommence automatiquement à se recharger normalement."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"La recharge peut être limitée à <xliff:g id="PERCENT">%1$s</xliff:g> pour préserver la batterie dans certaines conditions, comme des températures élevées ou de longues périodes de recharge.\n\nLorsque ces conditions prennent fin, votre tablette recommence automatiquement à se recharger normalement."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Cette application pourra utiliser la batterie en arrière-plan. Il se peut que vous arriviez à court de batterie plus vite que prévu."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Supprimer"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Annuler"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Vos applications utilisent une quantité normale d\'énergie. Si elles sollicitent trop la batterie, votre téléphone vous suggérera des mesures à prendre.\n\nSi le niveau de votre batterie est faible, vous pouvez également activer l\'économiseur de batterie."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Vos applications utilisent une quantité normale d\'énergie. Si elles sollicitent trop la batterie, votre téléphone vous suggérera des mesures à prendre.\n\nSi le niveau de votre batterie est faible, vous pouvez également activer l\'économiseur de batterie."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Vos applications utilisent une quantité normale d\'énergie. Si elles sollicitent trop la batterie, votre téléphone vous suggérera des mesures à prendre.\n\nSi le niveau de votre batterie est faible, vous pouvez également activer l\'économiseur de batterie."</string>
@@ -2958,7 +2966,7 @@
<string name="battery_saver_auto_percentage" msgid="558533724806281980">"En fonction d\'un pourcentage"</string>
<string name="battery_saver_auto_routine_summary" msgid="3913145448299472628">"L\'économiseur de batterie s\'activera si l\'autonomie restante risque d\'être insuffisante pour tenir jusqu\'au moment où vous mettez généralement votre téléphone en charge"</string>
<string name="battery_saver_auto_percentage_summary" msgid="6190884450723824287">"S\'active à <xliff:g id="PERCENT">%1$s</xliff:g>"</string>
- <string name="battery_saver_schedule_settings_title" msgid="3688019979950082237">"Définir un programme"</string>
+ <string name="battery_saver_schedule_settings_title" msgid="3688019979950082237">"Définir une programmation"</string>
<string name="battery_saver_turn_on_summary" msgid="1433919417587171160">"Prolonger l\'autonomie de la batterie"</string>
<string name="battery_saver_sticky_title_new" msgid="5942813274115684599">"Désactiver quand chargé"</string>
<string name="battery_saver_sticky_description_new" product="default" msgid="492221102651829607">"Désactiver l\'économiseur de batterie quand le téléphone est chargé à plus de <xliff:g id="NUMBER">^1</xliff:g> <xliff:g id="UNIT">%</xliff:g>"</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"niveau de la batterie : <xliff:g id="PERCENT">%1$s</xliff:g>"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Pourcentage de la batterie"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Afficher dans la barre d\'état"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Niveau de la batterie depuis la dernière charge complète"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Niveau de la batterie - Dernières 24 h"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Utilisation des applis depuis la dernière charge complète"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Utilisation par les applis - Dernières 24 h"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Utilisation du système depuis la dernière charge complète"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Utilisation par le système - Dernières 24 h"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Utilisation par le système pour la période : <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Utilisation par l\'appli pour la période : <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -4324,8 +4335,8 @@
<string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Désactivé"</string>
<string name="screen_pinning_title" msgid="6927227272780208966">"Épinglage d\'application"</string>
<string name="app_pinning_intro" msgid="6409063008733004245">"Avec l\'épinglage d\'application, l\'application actuelle reste affichée jusqu\'à ce que vous la retiriez. Cette fonctionnalité vous permet, par exemple, de laisser une personne de confiance jouer à un jeu spécifique."</string>
- <string name="screen_pinning_description" msgid="4305370471370474846">"Les données personnelles peuvent être accessibles et d\'autres applis peuvent être ouvertes depuis une appli épinglée. \n\nPour utiliser l\'épinglage d\'appli : \n1. Activez l\'épinglage d\'appli \n2. Ouvrez \"Aperçu\" \n3. Appuyez sur l\'icône d\'appli en haut de l\'écran, puis sur \"Épingler\""</string>
- <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Les données personnelles peuvent être accessibles et d\'autres applis peuvent être ouvertes depuis une appli épinglée. \n\nSi vous souhaitez partager votre appareil de manière sécurisée, essayez plutôt d\'utiliser un profil invité. \n\nPour utiliser l\'épinglage d\'application, procédez comme suit : \n1. Activez l\'épinglage d\'application \n2. Ouvrez \"Aperçu\" \n3. Appuyez sur l\'icône d\'appli en haut de l\'écran, puis sur \"Épingler\""</string>
+ <string name="screen_pinning_description" msgid="4305370471370474846">"Les données personnelles peuvent être accessibles et d\'autres applis peuvent être ouvertes depuis une appli épinglée. \n\nPour utiliser l\'épinglage d\'appli : \n1. Activez l\'épinglage d\'appli \n2. Ouvrez \"Récents\" \n3. Appuyez sur l\'icône d\'appli en haut de l\'écran, puis sur \"Épingler\""</string>
+ <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Les données personnelles peuvent être accessibles et d\'autres applis peuvent être ouvertes depuis une appli épinglée. \n\nSi vous souhaitez partager votre appareil de manière sécurisée, essayez plutôt d\'utiliser un profil invité. \n\nPour utiliser l\'épinglage d\'application, procédez comme suit : \n1. Activez l\'épinglage d\'application \n2. Ouvrez \"Récents\" \n3. Appuyez sur l\'icône d\'appli en haut de l\'écran, puis sur \"Épingler\""</string>
<string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Lorsqu\'une application est épinglée : \n\n• Des données à caractère personnel peuvent être accessibles (comme des contacts et le contenu d\'e-mails) \n• D\'autres applis peuvent être ouvertes depuis l\'application épinglée \n\nN\'utilisez l\'épinglage d\'application qu\'avec des personnes de confiance.\n"</string>
<string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Demander le schéma de déverrouillage avant de retirer l\'épingle"</string>
<string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Demander le code avant de retirer l\'épingle"</string>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 29061d4..b91cbda 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Non tes permiso para cambiar a configuración de Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Vincular novo dispositivo"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Vincular dereito"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Vincular esquerdo"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Vincula o outro audiófono"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"O audiófono esquerdo está conectado.\n\nPara vincular o dereito, asegúrate de que estea acendido e listo para vincularse."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"O audiófono dereito está conectado.\n\nPara vincular o esquerdo, asegúrate de que estea acendido e listo para vincularse."</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Algunhas funcións poden estar limitadas"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Aplicacións que máis batería consomen"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Consulta as aplicacións que máis batería consomen"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Carga limitada temporalmente"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Para protexer a batería. Máis información."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Retomar carga"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Cando se dean determinadas condicións (por exemplo, temperaturas altas e períodos de carga longos), é posible que a carga se limite ao <xliff:g id="PERCENT">%1$s</xliff:g> para axudar á preservación da batería.\n\nCando esas condicións rematen, o teléfono volverá cargar con normalidade."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Cando se dean determinadas condicións (por exemplo, temperaturas altas e períodos de carga longos), é posible que a carga se limite ao <xliff:g id="PERCENT">%1$s</xliff:g> para axudar á preservación da batería.\n\nCando esas condicións rematen, a tableta volverá cargar con normalidade."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Esta aplicación poderá utilizar a batería en segundo plano e provocar que quedes sen ela antes do esperado."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Quitar"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Cancelar"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"As túas aplicacións consomen unha cantidade normal de batería. Cando consuman demasiada, o teu teléfono suxerirá as accións que podes levar a cabo.\n\nSe tes pouca batería, sempre podes activar a función Aforro de batería."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"As túas aplicacións consomen unha cantidade normal de batería. Cando consuman demasiada, a túa tableta suxerirá as accións que podes levar a cabo.\n\nSe tes pouca batería, sempre podes activar a función Aforro de batería."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"As túas aplicacións consomen unha cantidade normal de batería. Cando consuman demasiada, o teu dispositivo suxerirá as accións que podes levar a cabo.\n\nSe tes pouca batería, sempre podes activar a función Aforro de batería."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"coa batería ao <xliff:g id="PERCENT">%1$s</xliff:g>"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Porcentaxe de batería"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Mostra a porcentaxe de batería na barra de estado"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Nivel de batería desde a última carga completa"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Nivel da batería durante as últimas 24 horas"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Uso da batería por parte das aplicacións desde a última carga completa"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Uso das aplicacións durante as últimas 24 horas"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Uso da batería por parte do sistema desde a última carga completa"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Uso do sistema durante as últimas 24 horas"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Uso do sistema durante <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Uso das aplicacións durante <xliff:g id="SLOT">%s</xliff:g>"</string>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 5f17ed6..2e1b27b 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"તમારી પાસે બ્લૂટૂથ સેટિંગ બદલવાની પરવાનગી નથી."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"નવા ડિવાઇસ જોડો"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"બ્લૂટૂથ"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"જમણા કાનને જોડો"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"ડાબા કાનને જોડો"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"તમારા બીજા કાનનું જોડો"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"સાંભળવામાં મદદ આપતું તમારા ડાબા કાનનું યંત્ર કનેક્ટેડ છે.\n\nજમણા કાનના યંત્રનું જોડાણ કરવા માટે ખાતરી કરો કે તે ચાલુ કરેલું અને જોડાણ કરવા માટે તૈયાર હોય."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"સાંભળવામાં મદદ આપતું તમારા જમણા કાનનું યંત્ર કનેક્ટેડ છે.\n\nડાબા કાનના યંત્રનું જોડાણ કરવા માટે ખાતરી કરો કે તે ચાલુ કરેલું અને જોડાણ કરવા માટે તૈયાર હોય."</string>
@@ -2474,7 +2476,7 @@
<string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"ઓછો"</string>
<string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"વધુ"</string>
<string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"ઑટો ક્લિકનો સમય"</string>
- <string name="accessibility_vibration_settings_title" msgid="936301142478631993">"વાઇબ્રેશન અને સંવેદક"</string>
+ <string name="accessibility_vibration_settings_title" msgid="936301142478631993">"વાઇબ્રેશન અને હેપ્ટિક"</string>
<string name="accessibility_vibration_settings_summary" msgid="3690308537483465527">"વિવિધ પ્રકારના વપરાશ માટે વાઇબ્રેશનની તીવ્રતા નિયંત્રિત કરો"</string>
<string name="accessibility_vibration_settings_state_on" msgid="5566026932372832502">"ચાલુ છે"</string>
<string name="accessibility_vibration_settings_state_off" msgid="7946588741954981703">"બંધ છે"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"અમુક સુવિધાઓ મર્યાદિત હોઈ શકે છે"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"બૅટરીનો સૌથી વધુ વપરાશ"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"સૌથી વધુ વપરાતી હોય એવી ઍપ જુઓ"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"ચાર્જ કરવાનું થોડા સમય માટે મર્યાદિત કરવામાં આવ્યું છે"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"તમારી બૅટરીની જાળવણી માટે. વધુ જાણો."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"ચાર્જ કરવાનું ફરી શરૂ કરો"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"ઉચ્ચ તાપમાન અને ચાર્જિંગની લાંબી અવધિ જેવી અમુક ચોક્કસ પરિસ્થિતિઓમાં, ચાર્જિંગ <xliff:g id="PERCENT">%1$s</xliff:g> સુધી મર્યાદિત હોઈ શકે છે જેથી બૅટરીની ક્ષમતાને જાળવી રાખવામાં સહાય કરી શકાય.\n\n"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"ઉચ્ચ તાપમાન અને ચાર્જિંગની લાંબી અવધિ જેવી અમુક ચોક્કસ પરિસ્થિતિઓમાં, ચાર્જિંગ <xliff:g id="PERCENT">%1$s</xliff:g> સુધી મર્યાદિત હોઈ શકે છે જેથી બૅટરીની ક્ષમતાને જાળવી રાખવામાં સહાય કરી શકાય.\n\nજ્યારે એ પરિસ્થિતિઓ સમાપ્ત થશે, ત્યારે ઑટોમૅટિક રીતે તમારું ટૅબ્લેટ સામાન્ય રીતે ચાર્જ થશે."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"આ ઍપ બૅકગ્રાઉન્ડમાં બૅટરીનો વપરાશ કરી શકશે. તમારા ડિવાઇસની બૅટરી અપેક્ષા કરતાં વહેલા સમાપ્ત થઈ શકે છે."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"કાઢી નાખો"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"રદ કરો"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"તમારી બધી ઍપ બૅટરીનો વપરાશ સામાન્ય પ્રમાણમાં કરી રહી છે. જો તે બૅટરીનો ઘણો વધુ વપરાશ કરવા માંડશે, તો તમારો ફોન તમે શું ઍક્શન લઈ શકો તે સૂચવશે.\n\nજો તમારી પાસે બૅટરીમાં ચાર્જ ઓછો રહ્યો હોય, તો તમે કોઈપણ સમયે બૅટરી સેવર ચાલુ કરી શકો છો."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"તમારી બધી ઍપ બૅટરીનો વપરાશ સામાન્ય પ્રમાણમાં કરી રહી છે. જો તે બૅટરીનો ઘણો વધુ વપરાશ કરવા માંડશે, તો તમારું ટૅબ્લેટ તમે શું ઍક્શન લઈ શકો તે સૂચવશે.\n\nજો તમારી પાસે બૅટરીમાં ચાર્જ ઓછો રહ્યો હોય, તો તમે કોઈપણ સમયે બૅટરી સેવર ચાલુ કરી શકો છો."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"તમારી બધી ઍપ બૅટરીનો વપરાશ સામાન્ય પ્રમાણમાં કરી રહી છે. જો તે બૅટરીનો ઘણો વધુ વપરાશ કરવા માંડશે, તો તમારું ઉપકરણ તમે શું ઍક્શન લઈ શકો તે સૂચવશે.\n\nજો તમારી પાસે બૅટરીમાં ચાર્જ ઓછો રહ્યો હોય, તો તમે કોઈપણ સમયે બૅટરી સેવર ચાલુ કરી શકો છો."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"<xliff:g id="PERCENT">%1$s</xliff:g> બૅટરી પર"</string>
<string name="battery_percentage" msgid="1779934245963043490">"બૅટરીના ટકા"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"બૅટરીના ટકા સ્ટેટસ બારમાં બતાવો"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"છેલ્લા પૂર્ણ ચાર્જ કર્યા પછી બૅટરીનું લેવલ"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"છેલ્લા 24 કલાકમાં બૅટરીનું લેવલ"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"છેલ્લા પૂર્ણ ચાર્જ કર્યા પછી ઍપ દ્વારા કરાયેલો વપરાશ"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"છેલ્લા 24 કલાક માટે ઍપનો વપરાશ"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"છેલ્લા પૂર્ણ ચાર્જ કર્યા પછી સિસ્ટમ દ્વારા કરાયેલો વપરાશ"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"છેલ્લા 24 કલાકમાં સિસ્ટમનો વપરાશ"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"<xliff:g id="SLOT">%s</xliff:g> માટે સિસ્ટમનો વપરાશ"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"<xliff:g id="SLOT">%s</xliff:g> માટે ઍપનો વપરાશ"</string>
@@ -3398,7 +3409,7 @@
<string name="user_summary_not_set_up" msgid="4602868481732886115">"સેટ કરેલ નથી"</string>
<string name="user_summary_restricted_not_set_up" msgid="1658946988920104613">"સેટ કરેલ નથી - પ્રતિબંધિત પ્રોફાઇલ"</string>
<string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"સેટ કરેલ નથી - કાર્યાલયની પ્રોફાઇલ"</string>
- <string name="user_admin" msgid="4024553191395768119">"એડમિન"</string>
+ <string name="user_admin" msgid="4024553191395768119">"ઍડમિન"</string>
<string name="user_you" msgid="3070562015202859996">"તમે (<xliff:g id="NAME">%s</xliff:g>)"</string>
<string name="user_add_max_count" msgid="3328539978480663740">"તમે હજી વધુ વપરાશકર્તાઓ ઉમેરી શકશો નહીં. નવા વપરાશકર્તા ઉમેરવા માટે કોઈ એક વપરાશકર્તાને કાઢી નાખો."</string>
<string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"માત્ર ટૅબ્લેટના માલિક વપરાશકર્તાને મેનેજ કરી શકે છે."</string>
diff --git a/res/values-hi/arrays.xml b/res/values-hi/arrays.xml
index 81c22a2..a50b604 100644
--- a/res/values-hi/arrays.xml
+++ b/res/values-hi/arrays.xml
@@ -580,7 +580,7 @@
<!-- no translation found for rtt_setting_mode:3 (7725394146877517088) -->
<string-array name="nfc_payment_favor">
<item msgid="9104058551372383947">"हमेशा"</item>
- <item msgid="5283665583617307336">"सिवाय तब, जब दूसरा पेमेंट ऐप्लिकेशन खुला हो"</item>
+ <item msgid="5283665583617307336">"दूसरा ऐप्लिकेशन खुला होने पर इसका इस्तेमाल नहीं किया जाएगा"</item>
</string-array>
<string-array name="nfc_payment_favor_values">
<item msgid="2373999996715432397">"0"</item>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 5233ff8..dfb7f28 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -53,7 +53,7 @@
<string name="font_size_make_smaller_desc" msgid="4978038055549590140">"छोटा करें"</string>
<string name="font_size_make_larger_desc" msgid="5583046033381722247">"बड़ा करें"</string>
<string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"स्क्रीन के अपने-आप घूम जाने की सुविधा का इस्तेमाल करें"</string>
- <string name="smart_rotate_text_headline" msgid="5878008933992951904">"चेहरे की पहचान करने वाली तकनीक, स्क्रीन के अपने-आप घूम जाने की सुविधा को बेहतर बनाने के लिए, सामने वाले कैमरे का इस्तेमाल करती है. इसके लिए, इमेज न तो सेव की जाती है और न ही Google को भेजी जाती है."</string>
+ <string name="smart_rotate_text_headline" msgid="5878008933992951904">"चेहरे की पहचान करने वाली तकनीक, स्क्रीन के अपने-आप घूम जाने की सुविधा को बेहतर बनाने के लिए, सामने वाले कैमरे का इस्तेमाल करती है. इसके लिए, इमेज न तो सेव की जाती हैं और न ही Google को भेजी जाती हैं."</string>
<string name="font_size_preview_text_headline" msgid="1173103737980511652">"सैंपल टेक्स्ट"</string>
<string name="font_size_preview_text_title" msgid="6363561029914452382">"ओज़ का अद्भुत जादू"</string>
<string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"पाठ 11: ओज़ का पन्ने वाला अद्भुत शहर"</string>
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"आपको ब्लूटूथ सेटिंग में बदलाव करने की अनुमति नहीं है."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"नया डिवाइस जोड़ें"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"ब्लूटूथ"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"दाईं मशीन को जोड़ें"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"बाईं मशीन को जोड़ें"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"दूसरे कान की मशीन जोड़ें"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"बाएं कान की मशीन कनेक्ट हो गई है.\n\nदाएं कान की मशीन को डिवाइस से जोड़ने के लिए, यह पक्का करें कि वह चालू है और जोड़े जाने के लिए तैयार है."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"दाएं कान की मशीन कनेक्ट हो गई है.\n\nबाएं कान की मशीन को डिवाइस से जोड़ने के लिए, यह पक्का करें कि वह चालू है और जोड़े जाने के लिए तैयार है."</string>
@@ -872,7 +874,7 @@
<string name="bluetooth_menu_advanced" msgid="7633682234855216066">"बेहतर सेटिंग"</string>
<string name="bluetooth_advanced_titlebar" msgid="5369701494951467257">"बेहतर ब्लूटूथ"</string>
<string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"ब्लूटूथ चालू होने पर, आपका डिवाइस आस-पास के दूसरे ब्लूटूथ डिवाइसों से संपर्क कर सकता है."</string>
- <string name="bluetooth_scanning_on_info_message" msgid="6667723887545056976">"ब्लूटूथ चालू होने पर, आपका डिवाइस आस-पास के ब्लूटूथ डिवाइसों से कनेक्ट हो सकता है.\n\nडिवाइस इस्तेमाल करने के अनुभव काे बेहतर बनाने के लिए, ऐप्लिकेशन और सेवाओं की मदद से किसी भी समय आस-पास मौजूद ब्लूटूथ डिवाइसों को स्कैन किया जा सकता है. ऐसा ब्लूटूथ बंद होने पर भी किया जा सकता है. इसका इस्तेमाल जिन कामों के लिए किया जा सकता है उनमें जगह से जुड़ी सुविधाओं और सेवाओं को बेहतर बनाना शामिल है. आप "<annotation id="link">"ब्लूटूथ स्कैन करने की सेटिंग"</annotation>" में जाकर, इसे बदल सकते हैं."</string>
+ <string name="bluetooth_scanning_on_info_message" msgid="6667723887545056976">"ब्लूटूथ चालू होने पर, आपका डिवाइस आस-पास के ब्लूटूथ डिवाइसों से कनेक्ट हो सकता है.\n\nडिवाइस इस्तेमाल करने के अनुभव काे बेहतर बनाने के लिए, ऐप्लिकेशन और सेवाओं की मदद से किसी भी समय आस-पास मौजूद ब्लूटूथ डिवाइसों को स्कैन किया जा सकता है. ऐसा ब्लूटूथ बंद होने पर भी किया जा सकता है. इसका इस्तेमाल करके, जगह की जानकारी जैसी सुविधाओं और सेवाओं में सुधार किया जा सकता है. "<annotation id="link">"ब्लूटूथ स्कैन करने की सेटिंग"</annotation>" में जाकर, इसे बदला जा सकता है."</string>
<string name="ble_scan_notify_text" msgid="1358879010396045164">"जगह की सटीक जानकारी को बेहतर बनाने के लिए, सिस्टम ऐप्लिकेशन और सेवाएं अब भी ब्लूटूथ डिवाइसों का पता लगा सकती हैं. आप इसे <xliff:g id="LINK_BEGIN_0">LINK_BEGIN</xliff:g>स्कैन करने की सेटिंग<xliff:g id="LINK_END_1">LINK_END</xliff:g> में बदल सकते हैं."</string>
<string name="bluetooth_connect_failed" msgid="7892663424429584925">"कनेक्ट नहीं हो सका. फिर से कोशिश करें."</string>
<string name="device_details_title" msgid="1155622417516195481">"डिवाइस की जानकारी"</string>
@@ -1420,7 +1422,7 @@
<string name="dark_ui_title" msgid="3373976268671557416">"गहरे रंग वाला मोड"</string>
<string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"शेड्यूल करें"</string>
<string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"कोई नहीं"</string>
- <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"सूर्यास्त से सूर्योदय तक चालू रहती है"</string>
+ <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"सूर्यास्त से सूर्योदय तक"</string>
<string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"अपने मुताबिक तय समय पर चालू करें"</string>
<string name="dark_ui_auto_mode_custom_bedtime" msgid="8465023741946439266">"सोने के समय चालू होती है"</string>
<string name="dark_ui_status_title" msgid="3505119141437774329">"स्थिति"</string>
@@ -2318,7 +2320,7 @@
<string name="select_to_speak_summary" msgid="1995285446766920925">"अपनी स्क्रीन पर दिए गए आइटम तेज़ आवाज़ में सुनने के लिए उन पर टैप करें"</string>
<string name="accessibility_captioning_title" msgid="4561871958958925225">"कैप्शन की सेटिंग"</string>
<string name="accessibility_captioning_about_title" msgid="3542171637334191563">"कैप्शन की प्राथमिकताओं के बारे में जानकारी"</string>
- <string name="accessibility_captioning_footer_learn_more_content_description" msgid="5730040700677017706">"कैप्शन की प्राथमिकताओं के बारे में ज़्यादा जानें"</string>
+ <string name="accessibility_captioning_footer_learn_more_content_description" msgid="5730040700677017706">"कैप्शन की सेटिंग के बारे में ज़्यादा जानें"</string>
<string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"ज़ूम करने की सुविधा"</string>
<string name="accessibility_screen_magnification_shortcut_title" msgid="2387963646377987780">"ज़ूम करने की सुविधा का शॉर्टकट"</string>
<string name="accessibility_screen_magnification_follow_typing_title" msgid="6379517513916651560">"टाइप किए गए टेक्स्ट को ज़ूम करें"</string>
@@ -2339,7 +2341,7 @@
<string name="accessibility_magnification_switch_shortcut_message" msgid="7718653917415163833">"स्क्रीन के किसी हिस्से को ज़ूम करने के लिए, तीन बार टैप करने से टाइप करने में परेशानी होती है. साथ ही, अन्य कार्रवाइयां भी धीमी पड़ जाती हैं.\n\nसुलभता बटन, आपकी स्क्रीन पर दूसरे ऐप्लिकेशन के ऊपर मौजूद रहता है. ज़ूम करने के लिए, इस पर टैप करें."</string>
<string name="accessibility_magnification_switch_shortcut_positive_button" msgid="2446942190957296957">"सुलभता बटन का इस्तेमाल करें"</string>
<string name="accessibility_magnification_switch_shortcut_negative_button" msgid="7115794462123071594">"तीन बार टैप करने की सुविधा इस्तेमाल करें"</string>
- <string name="accessibility_magnification_triple_tap_warning_title" msgid="8484669851397296597">"इससे आपके कीबोर्ड की रफ़्तार कम हो सकती है"</string>
+ <string name="accessibility_magnification_triple_tap_warning_title" msgid="8484669851397296597">"हो सकता है इससे आपका कीबोर्ड धीमी गति से काम करे"</string>
<string name="accessibility_magnification_triple_tap_warning_message" msgid="2008671502848936410">"तीन बार टैप करके अपनी स्क्रीन के किसी हिस्से को ज़ूम करने की कोशिश करते समय, हो सकता है कि आपको कीबोर्ड में कुछ गड़बड़ियां दिखें.\n\nइससे बचने के लिए, ज़ूम करने की सुविधा के इस शॉर्टकट को बदलें और किसी दूसरे विकल्प का इस्तेमाल करें.\n"<annotation id="link">"सेटिंग बदलें"</annotation></string>
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"जारी रखें"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"अभी नहीं"</string>
@@ -2463,7 +2465,7 @@
<string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"ऑटो क्लिक (कॉन्टेंट पर बिताया गया समय) के बारे में ज़्यादा जानें"</string>
<string name="accessibility_autoclick_intro_text" msgid="8959680635470639347">"Android डिवाइस से कनेक्ट किए गए माउस को, इस तरह सेट किया जा सकता है कि एक तय समय तक कर्सर रुक जाने पर, माउस से अपने-आप क्लिक हो जाए"</string>
<string name="accessibility_autoclick_description" msgid="6695732131412361101">"माउस से क्लिक करने में परेशानी होने पर, ऑटो क्लिक की सुविधा का इस्तेमाल किया जा सकता है"</string>
- <string name="accessibility_autoclick_default_title" msgid="2024730028293793490">"ऑटो क्लिक की सुविधा बंद करें"</string>
+ <string name="accessibility_autoclick_default_title" msgid="2024730028293793490">"अपने-आप क्लिक होने की सुविधा बंद करें"</string>
<string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"कम"</string>
<string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 सेकंड"</string>
<string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"सामान्य"</string>
@@ -2554,7 +2556,7 @@
<string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"ऐसी समस्या जिसमें हरा रंग लाल दिखता है"</string>
<string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"ऐसी समस्या जिसमें लाल रंग हरा दिखता है"</string>
<string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"नीले-पीले रंग की पहचान न कर पाने की समस्या"</string>
- <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"स्क्रीन की रोशनी को सामान्य लेवल से और कम करने की सुविधा"</string>
+ <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"स्क्रीन की रोशनी को सामान्य लेवल से कम करने की सुविधा"</string>
<string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"स्क्रीन की रोशनी को सामान्य लेवल से और कम करें"</string>
<string name="reduce_bright_colors_shortcut_title" msgid="495648157059202745">"स्क्रीन की रोशनी को सामान्य लेवल से और कम करने का शॉर्टकट"</string>
<string name="reduce_bright_colors_about_title" msgid="503655452544934393">"स्क्रीन की रोशनी को सामान्य लेवल से और कम करने की सुविधा के बारे में जानकारी"</string>
@@ -2657,8 +2659,8 @@
<string name="print_settings" msgid="8519810615863882491">"प्रिंटिंग"</string>
<string name="print_settings_summary_no_service" msgid="6721731154917653862">"बंद"</string>
<plurals name="print_settings_summary" formatted="false" msgid="1034273609054146099">
- <item quantity="one"><xliff:g id="COUNT">%1$d</xliff:g> प्रिंट सेवा चालू है</item>
- <item quantity="other"><xliff:g id="COUNT">%1$d</xliff:g> प्रिंट सेवाएं चालू हैं</item>
+ <item quantity="one"><xliff:g id="COUNT">%1$d</xliff:g> प्रिंट हो रहा है</item>
+ <item quantity="other"><xliff:g id="COUNT">%1$d</xliff:g> प्रिंट हो रहे हैं</item>
</plurals>
<plurals name="print_jobs_summary" formatted="false" msgid="3933688846338306536">
<item quantity="one"><xliff:g id="COUNT">%1$d</xliff:g> प्रिंट जॉ</item>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"हो सकता है कि कुछ सुविधाओं का पूरा इस्तेमाल न किया जा सके"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"सबसे ज़्यादा बैटरी खर्च"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"सबसे ज़्यादा बैटरी खर्च करने वाले ऐप्लिकेशन देखें"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"कुछ समय के लिए चार्जिंग रोक दी गई"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"बैटरी कम खर्च करने के लिए. ज़्यादा जानें."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"चार्जिंग फिर से शुरू करें"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"लंबे समय तक चार्ज करने और ज़्यादा गर्म होने जैसी कुछ स्थितियों में, बैटरी की परफ़ॉर्मेंस को बेहतर बनाए रखने के लिए, हो सकता है कि वह <xliff:g id="PERCENT">%1$s</xliff:g> तक ही चार्ज हो पाए.\n\nइन स्थितियों के बदल जाने पर, आपका फ़ोन अपने-आप सामान्य रूप से चार्ज होने लगेगा."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"लंबे समय तक चार्ज करने और ज़्यादा गर्म होने जैसी कुछ स्थितियों में, बैटरी की परफ़ॉर्मेंस को बेहतर बनाए रखने के लिए, हो सकता है कि वह <xliff:g id="PERCENT">%1$s</xliff:g> तक ही चार्ज हो पाए.\n\nइन स्थितियों के बदल जाने पर, आपका टैबलेट अपने-आप सामान्य रूप से चार्ज होने लगेगा."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"यह ऐप्लिकेशन, बैकग्राउंड में बैटरी का इस्तेमाल कर पाएगा. ऐसा हो सकता है कि आपके डिवाइस की बैटरी समय से पहले ही खत्म हो जाए."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"ऐप्लिकेशन से रोक हटाएं"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"अभी नहीं"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"आपके ऐप्लिकेशन सामान्य रूप से बैटरी इस्तेमाल कर रहे हैं. अगर ऐप्लिकेशन ज़्यादा बैटरी खर्च करने लगें, तो फ़ोन बैटरी बचाने के लिए सुझाव देगा.\n\nअगर फ़ोन की बैटरी खत्म होने वाली हो, तो आप बैटरी सेवर चालू कर सकते हैं."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"आपके ऐप्लिकेशन सामान्य रूप से बैटरी इस्तेमाल कर रहे हैं. अगर ऐप्लिकेशन ज़्यादा बैटरी खर्च करने लगें, तो टैबलेट बैटरी बचाने के लिए सुझाव देगा.\n\nअगर टैबलेट की बैटरी खत्म होने वाली हो, तो आप बैटरी सेवर चालू कर सकते हैं."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"आपके ऐप्लिकेशन सामान्य रूप से बैटरी का इस्तेमाल कर रहे हैं. अगर ऐप्लिकेशन ज़्यादा बैटरी खर्च करने लगें, तो डिवाइस बैटरी बचाने के लिए सुझाव देगा.\n\nअगर डिवाइस की बैटरी खत्म होने वाली हो, तो आप बैटरी सेवर चालू कर सकते हैं."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"<xliff:g id="PERCENT">%1$s</xliff:g> बैटरी होने पर"</string>
<string name="battery_percentage" msgid="1779934245963043490">"बैटरी का प्रतिशत"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"स्टेटस बार में दिखाएं कि कितने प्रतिशत बैटरी बची है"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"पूरी चार्ज होने के बाद से, बैटरी का लेवल"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"पिछले 24 घंटों में बैटरी लेवल की जानकारी"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"पिछली बार पूरी तरह चार्ज होने के बाद से अब तक, ऐप्लिकेशन के इस्तेमाल में खर्च हुई बैटरी"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"पिछले 24 घंटों में, ऐप्लिकेशन में बैटरी के इस्तेमाल की जानकारी"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"पिछली बार पूरी तरह चार्ज होने के बाद से अब तक, सिस्टम के इस्तेमाल में खर्च हुई बैटरी"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"पिछले 24 घंटों में सिस्टम के इस्तेमाल की जानकारी"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"<xliff:g id="SLOT">%s</xliff:g> के बीच सिस्टम के इस्तेमाल की जानकारी"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"<xliff:g id="SLOT">%s</xliff:g> के बीच ऐप्लिकेशन के इस्तेमाल की जानकारी"</string>
@@ -3280,7 +3291,7 @@
<string name="data_usage_metered_wifi" msgid="4807465959110473407">"बिल किए गए वाई-फ़ाई नेटवर्क"</string>
<string name="data_usage_metered_wifi_disabled" msgid="4664158157415362613">"बिल किए जाने वाले नेटवर्क चुनने के लिए, वाई-फ़ाई चालू करें."</string>
<string name="data_usage_metered_auto" msgid="1560514082131687116">"अपने-आप"</string>
- <string name="wifi_metered_title" msgid="6623732965268033931">"नेटवर्क इस्तेमाल"</string>
+ <string name="wifi_metered_title" msgid="6623732965268033931">"नेटवर्क का इस्तेमाल"</string>
<string name="data_usage_metered_yes" msgid="4262598072030135223">"सीमित डेटा वाला नेटवर्क"</string>
<string name="data_usage_metered_no" msgid="1685828958417926268">"बिल नहीं किया गया"</string>
<string name="data_usage_disclaimer" msgid="3271450299386176770">"डेटा खर्च को लेकर मोबाइल और इंटरनेट सेवा देने वाली कंपनी का हिसाब आपके डिवाइस के हिसाब से अलग हो सकता है."</string>
@@ -4214,7 +4225,7 @@
<string name="zen_mode_calls_list" msgid="5044730950895749093">"कॉल"</string>
<string name="zen_mode_calls_header" msgid="8379225445095856726">"ऐसे कॉल जो \'परेशान न करें\' मोड को बायपास कर सकते हैं"</string>
<string name="zen_mode_calls_footer" msgid="2008079711083701243">"जिन कॉल को अनुमति है उनके आने पर आवाज़ आए, यह पक्का करने के लिए देखें कि आपका डिवाइस रिंग मोड पर सेट हो"</string>
- <string name="zen_mode_custom_calls_footer" msgid="6521283204577441053">"‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’ के लिए आने वाले कॉल ब्लॉक कर दिए गए हैं. आप सेटिंग में बदलाव करके दोस्तों, परिवार के लोगों, या दूसरे संपर्कों को आप तक पहुंचने की मंज़ूरी दे सकते हैं."</string>
+ <string name="zen_mode_custom_calls_footer" msgid="6521283204577441053">"‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’ के लिए आने वाले कॉल ब्लॉक कर दिए गए हैं. आपके पास सेटिंग में बदलाव करके दोस्तों, परिवार के लोगों या दूसरे संपर्कों को आप तक पहुंचने की मंज़ूरी देने का विकल्प है."</string>
<string name="zen_mode_starred_contacts_title" msgid="630299631659575589">"स्टार के निशान वाले संपर्क"</string>
<string name="zen_mode_starred_contacts_summary_contacts" msgid="1629467178444895094">"{count,plural,offset:2 =0{कोई संपर्क नहीं}=1{{contact_1}}=2{{contact_1} और {contact_2}}=3{{contact_1}, {contact_2}, और {contact_3}}one{{contact_1}, {contact_2}, और # अन्य संपर्क}other{{contact_1}, {contact_2}, और # अन्य संपर्क}}"</string>
<string name="zen_mode_starred_contacts_empty_name" msgid="2906404745550293688">"(कोई नाम नहीं)"</string>
@@ -4223,7 +4234,7 @@
<string name="zen_mode_messages_title" msgid="1777598523485334405">"मैसेज"</string>
<string name="zen_mode_messages_header" msgid="253721635061451577">"वे मैसेज जो \'परेशान न करें\' मोड को बायपास कर सकते हैं"</string>
<string name="zen_mode_messages_footer" msgid="6002468050854126331">"जिन मैसेज को अनुमति है उनके आने पर आवाज़ आए, यह पक्का करने के लिए देखें कि आपका डिवाइस रिंग मोड पर सेट हो"</string>
- <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’ के लिए आने वाले मैसेज ब्लॉक कर दिए गए हैं. आप सेटिंग में अपने हिसाब से बदलाव करके दोस्तों, परिवार के सदस्यों या दूसरे लोगों को आपसे संपर्क करने की मंज़ूरी दे सकते हैं."</string>
+ <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’ के लिए आने वाले कॉल ब्लॉक कर दिए गए हैं. आपके पास सेटिंग में बदलाव करके दोस्तों, परिवार के लोगों या दूसरे संपर्कों को आप तक पहुंचने की मंज़ूरी देने का विकल्प है."</string>
<string name="zen_mode_all_messages_summary" msgid="3756267858343104554">"सभी मैसेज \'परेशान न करें\' मोड को बायपास कर सकते हैं"</string>
<string name="zen_mode_all_calls_summary" msgid="7337907849083824698">"सभी कॉल \'परेशान न करें\' मोड को बायपास कर सकते हैं"</string>
<string name="zen_mode_contacts_count" msgid="6568631261119795799">"{count,plural, =0{कोई संपर्क नहीं}=1{1 संपर्क}one{# संपर्क}other{# संपर्क}}"</string>
@@ -5143,7 +5154,7 @@
<string name="storage_videos" msgid="6117698226447251033">"वीडियो"</string>
<string name="storage_audio" msgid="5994664984472140386">"ऑडियो"</string>
<string name="storage_apps" msgid="3564291603258795216">"ऐप्लिकेशन"</string>
- <string name="storage_documents_and_other" msgid="3293689243732236480">"दस्तावेज़ और अन्य डेटा"</string>
+ <string name="storage_documents_and_other" msgid="3293689243732236480">"दस्तावेज़ और दूसरी चीज़ें"</string>
<string name="storage_system" msgid="8472410119822911844">"सिस्टम"</string>
<string name="storage_trash" msgid="2807138998886084856">"बेकार फ़ाइलें"</string>
<string name="storage_trash_dialog_title" msgid="2296169576049935200">"क्या आप ट्रैश खाली करना चाहते हैं?"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 6cfac90..0423e06 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -86,6 +86,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Nemate dopuštenje za promjenu postavki Bluetootha."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Uparite novi uređaj"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Upari desno uho"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Upari lijevo uho"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Uparite drugo uho"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Lijevo slušno pomagalo je povezano.\n\nDa biste uparili desno, provjerite je li uključeno i spremno za uparivanje."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Desno slušno pomagalo je povezano.\n\nDa biste uparili lijevo, provjerite je li uključeno i spremno za uparivanje."</string>
@@ -2792,8 +2794,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Neke značajke mogu biti ograničene"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Velika potrošnja baterije"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Pogledajte aplikacije s najvećom potrošnjom baterije"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Punjenje je privremeno ograničeno"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Radi očuvanja baterije. Saznajte više."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Nastavi s punjenjem"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"U određenim uvjetima kao što su visoke temperature i kada je uređaj priključen na punjenje duže vrijeme, punjenje se može ograničiti na <xliff:g id="PERCENT">%1$s</xliff:g> radi očuvanja baterije.\n\nKada se uvjeti promijene, telefon će se automatski puniti na uobičajen način."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"U određenim uvjetima kao što su visoke temperature i kada je uređaj priključen na punjenje duže vrijeme, punjenje se može ograničiti na <xliff:g id="PERCENT">%1$s</xliff:g> radi očuvanja baterije.\n\nKada se uvjeti promijene, tablet će se automatski puniti na uobičajen način."</string>
@@ -2834,6 +2840,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Ta će aplikacija moći upotrebljavati bateriju u pozadini. Baterija bi se mogla isprazniti brže nego što očekujete."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Ukloni"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Odustani"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Vaše aplikacije troše bateriju uobičajenom brzinom. Ako aplikacije budu prebrzo trošile bateriju, telefon će vam predložiti što biste mogli poduzeti.\n\nAko je razina baterije niska, možete uključiti Štednju baterije."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Vaše aplikacije troše bateriju uobičajenom brzinom. Ako aplikacije budu prebrzo trošile bateriju, tablet će vam predložiti što biste mogli poduzeti.\n\nAko je razina baterije niska, možete uključiti Štednju baterije."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Vaše aplikacije troše bateriju uobičajenom brzinom. Ako aplikacije budu prebrzo trošile bateriju, uređaj će vam predložiti što biste mogli poduzeti.\n\nAko je razina baterije niska, možete uključiti Štednju baterije."</string>
@@ -3013,8 +3021,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"na <xliff:g id="PERCENT">%1$s</xliff:g> baterije"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Postotak baterije"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Prikaži postotak baterije na traci statusa"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Razina baterije od zadnjeg potpunog punjenja"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Razina baterije u posljednja 24 sata"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Upotreba aplikacija od posljednjeg potpunog punjenja"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Upotreba aplikacija u posljednja 24 sata"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Upotreba sustava od zadnjeg potpunog punjenja"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Upotreba sustava u posljednja 24 sata"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Upotreba sustava za <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Upotreba aplikacije za <xliff:g id="SLOT">%s</xliff:g>"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 882952b..a895c30 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Nincs engedélye a Bluetooth-beállítások módosítására."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Új eszköz párosítása"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Jobb fül párosítása"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Bal fül párosítása"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Párosítsa a másik fület"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Sikerült a bal oldali hallókészülék csatlakoztatása.\n\nA jobb oldali párosításához győződjön meg arról, hogy be van kapcsolva, és készen áll a párosításra."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Sikerült a jobb oldali hallókészülék csatlakoztatása.\n\nA bal oldali párosításához győződjön meg arról, hogy be van kapcsolva, és készen áll a párosításra."</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Egyes funkciók korlátozva lehetnek"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Magasabb akkuhasználat"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Az akkumulátort leginkább használó alkalmazások megtekintése"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Töltés ideiglenesen korlátozva"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Az akkumulátor üzemidejének növelése érdekében. További információ."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Töltés folytatása"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Bizonyos körülmények között (pl. magas hőmérséklet és hosszú töltési idő esetén) a rendszer maximum <xliff:g id="PERCENT">%1$s</xliff:g>-os töltöttséget engedélyez az akkumulátor élettartamának megőrzése érdekében.\n\nAmint ezek a korlátozó körülmények megszűnnek, a telefon újra normál módban töltődik."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Bizonyos körülmények között (pl. magas hőmérséklet és hosszú töltési idő esetén) a rendszer maximum <xliff:g id="PERCENT">%1$s</xliff:g>-os töltöttséget engedélyez az akkumulátor élettartamának megőrzése érdekében.\n\nAmint ezek a korlátozó körülmények megszűnnek, a tablet újra normál módban töltődik."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Ez az alkalmazás a háttérben is használhatja az akkumulátort. Emiatt az akkumulátor a vártnál gyorsabban lemerülhet."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Eltávolítás"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Mégse"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Alkalmazásai akkumulátorhasználata nem tér el az átlagostól. Ha az alkalmazások túlzottan igénybe veszik az akkumulátort, telefonja javaslatot ad a lehetséges intézkedésekre.\n\nAz Akkumulátorkímélő módot bármikor bekapcsolhatja, ha az akkumulátor kezd nagyon lemerülni."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Alkalmazásai akkumulátorhasználata nem tér el az átlagostól. Ha az alkalmazások túlzottan igénybe veszik az akkumulátort, táblagépe javaslatot ad a lehetséges intézkedésekre.\n\nAz Akkumulátorkímélő módot bármikor bekapcsolhatja, ha az akkumulátor kezd nagyon lemerülni."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Alkalmazásai akkumulátorhasználata nem tér el az átlagostól. Ha az alkalmazások túlzottan igénybe veszik az akkumulátort, eszköze javaslatot ad a lehetséges intézkedésekre.\n\nAz Akkumulátorkímélő módot bármikor bekapcsolhatja, ha az akkumulátor kezd nagyon lemerülni."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"<xliff:g id="PERCENT">%1$s</xliff:g> töltöttségnél"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Az akkumulátor töltöttségi szintje"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Megjeleníti az akkumulátor százalékban kifejezett töltöttségi szintjét az állapotsoron"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Akkumulátorszint az utolsó teljes feltöltés óta"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Akkumulátor töltöttségi szintje – legutóbbi 24 óra"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Alkalmazáshasználat a legutolsó teljes feltöltés óta"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Alkalmazáshasználat – legutóbbi 24 óra"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Rendszerhasználat az utolsó teljes feltöltés óta"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Rendszerhasználat – legutóbbi 24 óra"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Rendszer használata: <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Alkalmazás használata: <xliff:g id="SLOT">%s</xliff:g>"</string>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index 3561b4a..41e1af7 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Դուք թույլտվություն չունեք փոխելու Bluetooth կարգավորումները:"</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Նոր սարքի զուգակցում"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Զուգակցել աջ ականջը"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Զուգակցել ձախ ականջը"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Զուգակցեք մյուս ականջը"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Ձեր ձախ լսողական սարքը զուգակցված է։\n\nԱջը զուգակցելու համար համոզվեք, որ այն միացված է և պատրաստ զուգակցման։"</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Ձեր աջ լսողական սարքը զուգակցված է։\n\nՁախը զուգակցելու համար համոզվեք, որ այն միացված է և պատրաստ զուգակցման։"</string>
@@ -616,7 +618,7 @@
<string name="fingerprint_last_delete_title" msgid="4081475675646514726">"Հեռացնե՞լ բոլոր մատնահետքերը"</string>
<string name="fingerprint_delete_title" msgid="1469865327307917858">"Հեռացնե՞լ <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> մատնահետքը"</string>
<string name="fingerprint_delete_message" msgid="1454995433333496541">"Ջնջե՞լ այս մատնահետքը։"</string>
- <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"«<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>» մատնահետքի հետ կապված պատկերներն ու նմուշը, որոնք պահված են ձեր սարքում, կջնջվեն"</string>
+ <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"«<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>» մատնահետքի պատկերներն ու նմուշը, որոնք պահված են ձեր սարքում, կջնջվեն"</string>
<string name="fingerprint_last_delete_message" msgid="7860374760549404410">"Դուք չեք կարողանա օգտագործել ձեր մատնահետքը՝ հեռախոսն ապակողպելու կամ հավելվածներում ձեր ինքնությունը հաստատելու համար։"</string>
<string name="fingerprint_last_delete_message_profile_challenge" msgid="4104208067277655068">"Դուք չեք կարողանա օգտագործել ձեր մատնահետքը՝ աշխատանքային պրոֆիլն ապակողպելու, գնումները հաստատելու կամ աշխատանքային հավելվածներ մուտք գործելու համար։"</string>
<string name="fingerprint_last_delete_confirm" msgid="3294910995598819259">"Այո, հեռացնել"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Որոշ գործառույթներ կարող են պատշաճ չաշխատել"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Մարտկոցի լիցքի բարձր ծախսում"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Տեսեք, թե որ հավելվածներն են ամենաշատը օգտագործում մարտկոցի լիցքը"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Լիցքավորումը ժամանակավորապես սահմանափակված է"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Մարտկոցի կյանքը երկարացնելու համար։ Իմանալ ավելին։"</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Վերսկսել լիցքավորումը"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Որոշակի պայմաններում, օրինակ՝ բարձր ջերմաստիճանի կամ երկար լիցքավորման դեպքում, համակարգը կարող է սահմանափակել լիցքավորումը <xliff:g id="PERCENT">%1$s</xliff:g>-ով՝ մարտկոցի ծառայության ժամկետը երկարացնելու համար։\n\nԵրբ պայմանները կարգավորվեն, հեռախոսն ավտոմատ կերպով կլիցքավորվի սովորական եղանակով։"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Որոշակի պայմաններում, օրինակ՝ բարձր ջերմաստիճանի կամ երկար լիցքավորման դեպքում, համակարգը կարող է սահմանափակել լիցքավորումը <xliff:g id="PERCENT">%1$s</xliff:g>-ով՝ մարտկոցի ծառայության ժամկետը երկարացնելու համար։\n\nԵրբ պայմանները կարգավորվեն, պլանշետն ավտոմատ կերպով կլիցքավորվի սովորական եղանակով։"</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Այս հավելվածը կկարողանա օգտագործել մարտկոցը ֆոնային ռեժիմում, ինչի պատճառով դրա լիցքը կարող է ավելի շուտ սպառվել:"</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Ջնջել"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Չեղարկել"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Ձեր հավելվածները մարտկոցի լիցքն օգտագործում են սովորական ծավալով։ Եթե դրանք չափից շատ սպառեն մարտկոցի լիցքը, հեռախոսը ձեզ կառաջարկի համապատասխան գործողություններ ձեռնարկել։\n\nԴուք ցանկացած ժամանակ կարող եք միացնել մարտկոցի տնտեսման ռեժիմը։"</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Ձեր հավելվածները մարտկոցի լիցքն օգտագործում են սովորական ծավալով։ Եթե դրանք չափից շատ սպառեն մարտկոցի լիցքը, պլանշետը ձեզ կառաջարկի համապատասխան գործողություններ ձեռնարկել։\n\nԴուք ցանկացած ժամանակ կարող եք միացնել մարտկոցի տնտեսման ռեժիմը։"</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Ձեր հավելվածները մարտկոցի լիցքն օգտագործում են սովորական ծավալով։ Եթե դրանք չափից շատ սպառեն մարտկոցի լիցքը, սարքը ձեզ կառաջարկի համապատասխան գործողություններ ձեռնարկել։\n\nԴուք ցանկացած ժամանակ կարող եք միացնել մարտկոցի տնտեսման ռեժիմը։"</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"մատկոցի <xliff:g id="PERCENT">%1$s</xliff:g> լիցքի դեպքում"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Մարտկոցի լիցքը"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Մարտկոցի տոկոսը ցուցադրել կարգավիճակի գոտում"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Մարտկոցի լիցքի մակարդակը վերջին լրիվ լիցքավորումից հետո"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Մարտկոցի լիցքի մակարդակը վերջին 24 ժամվա ընթացքում"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Հավելվածի օգտագործումը վերջին լրիվ լիցքավորումից հետո"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Հավելվածների կողմից մարտկոցի օգտագործումը վերջին 24 ժամվա ընթացքում"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Համակարգի օգտագործումը վերջին լրիվ լիցքավորումից հետո"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Համակարգի կողմից մարտկոցի օգտագործումը վերջին 24 ժամվա ընթացքում"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Համակարգի կողմից մարտկոցի օգտագործումը (<xliff:g id="SLOT">%s</xliff:g>)"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Հավելվածների կողմից մարտկոցի օգտագործումը (<xliff:g id="SLOT">%s</xliff:g>)"</string>
@@ -5143,7 +5154,7 @@
<string name="storage_videos" msgid="6117698226447251033">"Տեսանյութեր"</string>
<string name="storage_audio" msgid="5994664984472140386">"Աուդիո"</string>
<string name="storage_apps" msgid="3564291603258795216">"Հավելվածներ"</string>
- <string name="storage_documents_and_other" msgid="3293689243732236480">"Փաստաթղթեր և այլ նյութեր"</string>
+ <string name="storage_documents_and_other" msgid="3293689243732236480">"Փաստաթղթեր և այլ ֆայլեր"</string>
<string name="storage_system" msgid="8472410119822911844">"Համակարգ"</string>
<string name="storage_trash" msgid="2807138998886084856">"Աղբարկղ"</string>
<string name="storage_trash_dialog_title" msgid="2296169576049935200">"Դատարկե՞լ աղբարկղը"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index da2b1f8..32a9d62 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Anda tidak memiliki izin untuk mengubah setelan Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Sambungkan perangkat baru"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Sambungkan ke telinga kanan"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Sambungkan ke telinga kiri"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Sambungkan ke telinga satunya"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Alat bantu dengar telinga kiri terhubung.\n\nUntuk menyambungkan yang sebelah kanan, pastikan alat sudah dinyalakan dan siap disambungkan."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Alat bantu dengar telinga kanan terhubung.\n\nUntuk menyambungkan yang sebelah kiri, pastikan alat sudah dinyalakan dan siap disambungkan."</string>
@@ -324,7 +326,7 @@
</plurals>
<string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Memuat…"</string>
<string name="location_settings_footer_general" msgid="1040507068701188821">"Aplikasi dengan izin Perangkat di sekitar dapat menentukan posisi relatif perangkat terhubung."</string>
- <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Akses lokasi dinonaktifkan untuk aplikasi dan layanan. Lokasi perangkat masih dapat dikirimkan ke petugas tanggap darurat saat Anda menelepon atau mengirim SMS ke nomor darurat."</string>
+ <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Akses lokasi dinonaktifkan untuk aplikasi dan layanan. Lokasi perangkat Anda tetap dapat dikirimkan ke petugas tanggap darurat saat Anda menelepon atau mengirim SMS ke nomor darurat."</string>
<string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"Pelajari Setelan Lokasi lebih lanjut."</string>
<string name="account_settings_title" msgid="9138880127246241885">"Akun"</string>
<string name="security_settings_title" msgid="6710768415432791970">"Keamanan"</string>
@@ -872,7 +874,7 @@
<string name="bluetooth_menu_advanced" msgid="7633682234855216066">"Lanjutan"</string>
<string name="bluetooth_advanced_titlebar" msgid="5369701494951467257">"Bluetooth Lanjutan"</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_scanning_on_info_message" msgid="6667723887545056976">"Jika Bluetooth diaktifkan, perangkat dapat berkomunikasi dengan perangkat Bluetooth lainnya di sekitar.\n\nAgar pengalaman perangkat menjadi lebih baik, aplikasi dan layanan masih dapat memindai perangkat di sekitar kapan saja, meski Bluetooth nonaktif. Ini dapat digunakan, misalnya, untuk meningkatkan kualitas fitur dan layanan berbasis lokasi. Anda dapat mengubahnya di "<annotation id="link">"setelan pemindaian Bluetooth"</annotation>"."</string>
+ <string name="bluetooth_scanning_on_info_message" msgid="6667723887545056976">"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. Ini dapat digunakan, misalnya, untuk meningkatkan kualitas fitur dan layanan berbasis lokasi. Anda dapat mengubahnya di "<annotation id="link">"setelan pemindaian"</annotation>"."</string>
<string name="ble_scan_notify_text" msgid="1358879010396045164">"Untuk meningkatkan akurasi lokasi, aplikasi dan layanan sistem tetap dapat mendeteksi perangkat Bluetooth. Anda dapat mengubahnya di <xliff:g id="LINK_BEGIN_0">LINK_BEGIN</xliff:g>setelan pemindaian<xliff:g id="LINK_END_1">LINK_END</xliff:g>."</string>
<string name="bluetooth_connect_failed" msgid="7892663424429584925">"Tidak dapat terhubung. Coba lagi."</string>
<string name="device_details_title" msgid="1155622417516195481">"Detail perangkat"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Beberapa fitur mungkin dibatasi"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Penggunaan baterai tinggi"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Lihat aplikasi dengan penggunaan tertinggi"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Pengisian daya dibatasi sementara"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Untuk menjaga baterai. Pelajari lebih lanjut."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Lanjutkan pengisian daya"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Dalam kondisi tertentu, seperti suhu yang tinggi dan periode pengisian daya yang lama, pengisian daya dapat dibatasi hingga <xliff:g id="PERCENT">%1$s</xliff:g> untuk membantu menjaga kesehatan baterai.\n\nSaat kondisi tersebut berakhir, ponsel akan otomatis mengisi daya secara normal."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Dalam kondisi tertentu, seperti suhu yang tinggi dan periode pengisian daya yang lama, pengisian daya dapat dibatasi hingga <xliff:g id="PERCENT">%1$s</xliff:g> untuk membantu menjaga kesehatan baterai.\n\nSaat kondisi tersebut berakhir, tablet akan otomatis mengisi daya secara normal."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Aplikasi ini dapat menggunakan baterai di latar belakang. Baterai mungkin lebih cepat habis dari biasanya."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Hapus"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Batal"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Aplikasi Anda menggunakan baterai secara normal. Jika aplikasi terlalu banyak menggunakan daya baterai, ponsel Anda akan menyarankan beberapa tindakan.\n\nAnda selalu dapat mengaktifkan Penghemat Baterai jika daya baterai hampir habis."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Aplikasi Anda menggunakan baterai secara normal. Jika aplikasi terlalu banyak menggunakan daya baterai, tablet Anda akan menyarankan beberapa tindakan.\n\nAnda selalu dapat mengaktifkan Penghemat Baterai jika daya baterai hampir habis."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Aplikasi Anda menggunakan baterai secara normal. Jika aplikasi terlalu banyak menggunakan daya baterai, perangkat Anda akan menyarankan beberapa tindakan.\n\nAnda selalu dapat mengaktifkan Penghemat Baterai jika daya baterai hampir habis."</string>
@@ -2820,7 +2828,7 @@
<item quantity="one">%1$d aplikasi dibatasi</item>
</plurals>
<string name="battery_header_title_alternate" msgid="8371821625994616659">"<xliff:g id="NUMBER">^1</xliff:g>"<small>" "<font size="20">"<xliff:g id="UNIT">%</xliff:g>"</font></small>""</string>
- <string name="battery_missing_message" msgid="400958471814422770">"Terjadi masalah saat membaca indikator baterai."</string>
+ <string name="battery_missing_message" msgid="400958471814422770">"Terjadi error saat membaca indikator baterai."</string>
<string name="battery_missing_link_message" msgid="6021565067124898074"></string>
<string name="battery_missing_link_a11y_message" msgid="3310971406602316323">"Ketuk untuk mempelajari error ini lebih lanjut"</string>
<string name="dialog_stop_title" msgid="5972757101865665655">"Hentikan aplikasi?"</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"jika <xliff:g id="PERCENT">%1$s</xliff:g> baterai"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Persentase baterai"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Menampilkan persentase baterai di status bar"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Level baterai sejak terakhir kali baterai terisi penuh"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Tingkat daya baterai selama 24 jam terakhir"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Penggunaan aplikasi sejak terakhir kali baterai terisi penuh"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Penggunaan aplikasi selama 24 jam terakhir"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Penggunaan sistem sejak terakhir kali baterai terisi penuh"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Penggunaan sistem selama 24 jam terakhir"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Penggunaan sistem untuk <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Penggunaan aplikasi untuk <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -3388,7 +3399,7 @@
<item quantity="other">Periksa sertifikat</item>
<item quantity="one">Periksa sertifikat</item>
</plurals>
- <string name="user_settings_title" msgid="6550866465409807877">"Beberapa pengguna"</string>
+ <string name="user_settings_title" msgid="6550866465409807877">"Multi-pengguna"</string>
<string name="user_settings_footer_text" product="device" msgid="7523914344521302179">"Gunakan perangkat bersama orang lain dengan menambahkan pengguna baru. Setiap pengguna memiliki ruang pribadi di perangkat Anda untuk akun, aplikasi, setelan, Layar utama kustom, dan lainnya."</string>
<string name="user_settings_footer_text" product="tablet" msgid="3730074318510244552">"Gunakan tablet bersama orang lain dengan menambahkan pengguna baru. Setiap pengguna memiliki ruang pribadi di perangkat Anda untuk akun, aplikasi, setelan, Layar utama kustom, dan lainnya."</string>
<string name="user_settings_footer_text" product="default" msgid="4420915712050349125">"Gunakan ponsel bersama orang lain dengan menambahkan pengguna baru. Setiap pengguna memiliki ruang pribadi di ponsel Anda untuk akun, aplikasi, setelan, Layar utama kustom, dan lainnya."</string>
@@ -3907,7 +3918,7 @@
<string name="bubbles_feature_education" msgid="4088275802688887634">"Beberapa notifikasi dan konten lainnya dapat muncul sebagai balon di layar. Untuk membuka balon, ketuk balon tersebut. Untuk menutupnya, tarik ke bawah layar."</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Balon"</string>
<string name="bubbles_conversation_app_link" msgid="5468779786387915337">"Semua setelan Balon"</string>
- <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Tampilkan balon percakapan ini"</string>
+ <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Tampilkan percakapan ini dalam balon"</string>
<string name="bubbles_conversation_toggle_summary" msgid="720229032254323578">"Menampilkan ikon mengambang di atas aplikasi"</string>
<string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Izinkan <xliff:g id="APP_NAME">%1$s</xliff:g> menampilkan beberapa notifikasi sebagai balon"</string>
<string name="bubbles_feature_disabled_dialog_title" msgid="1794193899792284007">"Aktifkan balon untuk perangkat?"</string>
@@ -3946,10 +3957,10 @@
<string name="lock_screen_notifs_title" msgid="3412042692317304449">"Notifikasi di layar kunci"</string>
<string name="lock_screen_notifs_show_all_summary" msgid="4226586018375762117">"Menampilkan percakapan, default, dan senyap"</string>
<string name="lock_screen_notifs_show_all" msgid="1300418674456749664">"Menampilkan percakapan, default, dan senyap"</string>
- <string name="lock_screen_notifs_show_alerting" msgid="6584682657382684566">"Menyembunyikan percakapan dan notifikasi senyap"</string>
+ <string name="lock_screen_notifs_show_alerting" msgid="6584682657382684566">"Menyembunyikan percakapan dan notifikasi yang disenyapkan"</string>
<string name="lock_screen_notifs_show_none" msgid="1941044980403067101">"Jangan tampilkan notifikasi"</string>
<string name="lock_screen_notifs_redact" msgid="9024158855454642296">"Notifikasi sensitif"</string>
- <string name="lock_screen_notifs_redact_summary" msgid="1395483766035470612">"Tampilkan konten sensitif saat terkunci"</string>
+ <string name="lock_screen_notifs_redact_summary" msgid="1395483766035470612">"Menampilkan konten sensitif saat terkunci"</string>
<string name="lock_screen_notifs_redact_work" msgid="3833920196569208430">"Notifikasi profil kerja yang sensitif"</string>
<string name="lock_screen_notifs_redact_work_summary" msgid="3238238380405430156">"Tampilkan konten profil kerja yang sensitif saat terkunci"</string>
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Menampilkan semua konten notifikasi"</string>
@@ -4073,7 +4084,7 @@
<string name="notif_listener_excluded_app_screen_title" msgid="8636196723227432994">"Aplikasi yang ditampilkan di perangkat"</string>
<string name="notif_listener_not_migrated" msgid="6265206376374278226">"Aplikasi ini tidak mendukung setelan yang ditingkatkan"</string>
<string name="vr_listeners_title" msgid="4960357292472540964">"Layanan bantuan VR"</string>
- <string name="no_vr_listeners" msgid="8442646085375949755">"Tidak ada aplikasi terinstall yang meminta dijalankan sebagai layanan bantuan VR"</string>
+ <string name="no_vr_listeners" msgid="8442646085375949755">"Tidak ada aplikasi terinstal yang meminta dijalankan sebagai layanan bantuan VR"</string>
<string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Izinkan akses layanan VR untuk <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
<string name="vr_listener_security_warning_summary" msgid="1888843557687017791">"<xliff:g id="VR_LISTENER_NAME">%1$s</xliff:g> dapat dijalankan saat Anda sedang menggunakan aplikasi dalam mode virtual reality."</string>
<string name="display_vr_pref_title" msgid="4850474436291113569">"Saat perangkat dalam mode VR"</string>
@@ -4691,7 +4702,7 @@
<string name="users_summary" msgid="8473589474976307510">"Login sebagai <xliff:g id="USER_NAME">%1$s</xliff:g>"</string>
<string name="payment_summary" msgid="5513009140568552693">"<xliff:g id="APP_NAME">%1$s</xliff:g> default"</string>
<string name="backup_disabled" msgid="4503062265560959320">"Pencadangan dinonaktifkan"</string>
- <string name="android_version_summary" msgid="7818952662015042768">"Diupdate ke Android <xliff:g id="VERSION">%1$s</xliff:g>"</string>
+ <string name="android_version_summary" msgid="7818952662015042768">"Telah diupdate ke Android <xliff:g id="VERSION">%1$s</xliff:g>"</string>
<string name="android_version_pending_update_summary" msgid="5404532347171027730">"Ada update"</string>
<string name="disabled_by_policy_title" msgid="3635622338687810583">"Diblokir oleh admin IT Anda"</string>
<string name="disabled_by_policy_title_adjust_volume" msgid="1669689058213728099">"Volume tidak dapat diubah"</string>
@@ -4762,7 +4773,7 @@
<string name="cellular_data_usage" msgid="5874156338825285334">"Penggunaan data seluler"</string>
<string name="app_cellular_data_usage" msgid="7603292978956033926">"Penggunaan data oleh aplikasi"</string>
<string name="wifi_data_usage" msgid="6868503699134605707">"Penggunaan data Wi-Fi"</string>
- <string name="non_carrier_data_usage" msgid="6494603202578414755">"Penggunaan data non-operator"</string>
+ <string name="non_carrier_data_usage" msgid="6494603202578414755">"Penggunaan data nonoperator"</string>
<string name="ethernet_data_usage" msgid="4552227880905679761">"Penggunaan data ethernet"</string>
<string name="wifi" msgid="2932584495223243842">"Wi-Fi"</string>
<string name="ethernet" msgid="4665162609974492983">"Ethernet"</string>
@@ -5180,10 +5191,10 @@
<string name="location_indicator_settings_title" msgid="6655916258720093451">"Status bar indikator lokasi"</string>
<string name="location_indicator_settings_description" msgid="2888022085372804021">"Tampilkan untuk semua lokasi, termasuk jaringan dan konektivitas"</string>
<string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Paksa ukuran GNSS penuh"</string>
- <string name="enable_gnss_raw_meas_full_tracking_summary" msgid="3841463141138247167">"Melacak semua konstelasi dan frekuensi GNSS tanpa siklus tugas"</string>
+ <string name="enable_gnss_raw_meas_full_tracking_summary" msgid="3841463141138247167">"Melacak semua konstelasi dan frekuensi GNSS terus-menerus"</string>
<string name="input_method_category" msgid="2252659253631639005">"Metode Input"</string>
<string name="stylus_handwriting" msgid="2154591374132794563">"Tulis tangan stilus"</string>
- <string name="stylus_handwriting_summary" msgid="6333425895172696950">"Saat aktif, Metode input saat ini akan menerima MotionEvent stilus jika Editor difokuskan."</string>
+ <string name="stylus_handwriting_summary" msgid="6333425895172696950">"Saat aktif, metode input saat ini akan menerima MotionEvent stilus jika Editor difokuskan."</string>
<string name="device_theme" msgid="5027604586494772471">"Tema perangkat"</string>
<string name="default_theme" msgid="4815428567082263639">"Default"</string>
<string name="show_operator_name_title" msgid="3355910331531144028">"Nama jaringan"</string>
@@ -5466,7 +5477,7 @@
<string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Aplikasi <xliff:g id="APPNAME">%1$s</xliff:g> ingin menggunakan jaringan Wi-Fi sementara untuk terhubung ke perangkat"</string>
<string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Perangkat tidak ditemukan. Pastikan perangkat dihidupkan dan dapat terhubung ke jaringan."</string>
<string name="network_connection_timeout_dialog_ok" msgid="6022675321823723755">"Coba lagi"</string>
- <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Ada masalah. Aplikasi telah membatalkan permintaan untuk memilih perangkat."</string>
+ <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Terjadi error. Aplikasi telah membatalkan permintaan untuk memilih perangkat."</string>
<string name="network_connection_connect_successful" msgid="2587314077675642476">"Koneksi berhasil"</string>
<string name="network_connection_connect_failure" msgid="6803313816657494319">"Koneksi gagal"</string>
<string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Tampilkan semua"</string>
@@ -5648,7 +5659,7 @@
<string name="default_active_sim_calls" msgid="2390973682556353558">"panggilan telepon"</string>
<string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
<string name="default_active_sim_mobile_data" msgid="6798083892814045301">"data seluler"</string>
- <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Untuk meningkatkan pengalaman perangkat, aplikasi dan layanan tetap dapat memindai jaringan Wi-Fi kapan saja, bahkan saat Wi-Fi nonaktif. Ini dapat digunakan, misalnya, untuk meningkatkan kualitas fitur dan layanan berbasis lokasi. Anda dapat mengubahnya di setelan pemindaian Wi‑Fi."</string>
+ <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Untuk meningkatkan fungsi perangkat, aplikasi dan layanan tetap dapat memindai jaringan Wi-Fi kapan saja, bahkan saat Wi-Fi nonaktif. Ini dapat digunakan, misalnya, untuk meningkatkan kualitas fitur dan layanan berbasis lokasi. Anda dapat mengubahnya di setelan pemindaian Wi‑Fi."</string>
<string name="wifi_scan_change" msgid="8438320311511852918">"Ubah"</string>
<string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
<string name="mobile_data_connection_active" msgid="2422223108911581552">"Terhubung"</string>
@@ -5683,7 +5694,7 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Gunakan penyematan aplikasi"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Gunakan opsi developer"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Gunakan layanan pencetakan"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Izinkan beberapa pengguna"</string>
+ <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Izinkan multi-pengguna"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Gunakan proses debug nirkabel"</string>
<string name="graphics_driver_main_switch_title" msgid="6125172901855813790">"Menggunakan preferensi driver grafis"</string>
<string name="battery_saver_main_switch_title" msgid="5072135547489779352">"Menggunakan penghemat baterai"</string>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 5e2758f..a7a1f77 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Þú hefur ekki heimild til að breyta Bluetooth-stillingum."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Para nýtt tæki"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Para hægra eyra"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Para vinstra eyra"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Para hitt eyrað"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Vinstra heyrnartækið er núna tengt.\n\nTil að para það hægra skaltu ganga úr skugga um að kveikt sé á því og að það sé tilbúið til pörunar."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Hægra heyrnartækið er núna tengt.\n\nTil að para það vinstra skaltu ganga úr skugga um að kveikt sé á því og að það sé tilbúið til pörunar."</string>
@@ -616,7 +618,7 @@
<string name="fingerprint_last_delete_title" msgid="4081475675646514726">"Fjarlægja öll fingraför?"</string>
<string name="fingerprint_delete_title" msgid="1469865327307917858">"Fjarlægja „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“"</string>
<string name="fingerprint_delete_message" msgid="1454995433333496541">"Viltu eyða þessu fingrafari?"</string>
- <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"Þetta eyðir fingrafaramyndum og -líkani sem tengist „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“ og er vistað í tækinu"</string>
+ <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"Þetta eyðir fingrafaramyndum og -líkani sem tengjast „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“ og eru vistuð í tækinu"</string>
<string name="fingerprint_last_delete_message" msgid="7860374760549404410">"Þú munt ekki geta notað fingrafarið þitt til að opna símann eða staðfesta hver þú ert í forritum."</string>
<string name="fingerprint_last_delete_message_profile_challenge" msgid="4104208067277655068">"Þú munt ekki geta notað fingrafarið þitt til að taka vinnusniðið úr lás, heimila kaup eða skrá þig inn í vinnuforrit."</string>
<string name="fingerprint_last_delete_confirm" msgid="3294910995598819259">"Já, fjarlægja"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Einhverjir eiginleikar verða hugsanlega takmarkaðir"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Hærri rafhlöðunotkun"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Sjá hvaða forrit nota mest af rafhlöðu"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Hleðsla takmörkuð tímabundið"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Til að spara rafhlöðuna. Nánar."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Halda hleðslu áfram"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Við tilteknar aðstæður, eins og hátt hitastig og langan hleðslutíma, kann hleðsla að takmarkast við <xliff:g id="PERCENT">%1$s</xliff:g> til að vernda rafhlöðuna.\n\nÞegar þessar aðstæður líða hjá heldur síminn sjálfkrafa áfram að hlaðast eðlilega."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Við tilteknar aðstæður, eins og hátt hitastig og langan hleðslutíma, kann hleðsla að takmarkast við <xliff:g id="PERCENT">%1$s</xliff:g> til að vernda rafhlöðuna.\n\nÞegar þessar aðstæður líða hjá heldur spjaldtölvan sjálfkrafa áfram að hlaðast eðlilega."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Þetta forrit getur notað rafhlöðuna í bakgrunni. Rafhlaðan gæti tæmst hraðar en venjulega."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Fjarlægja"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Hætta við"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Rafhlöðunotkun forritanna þinna er eðlileg. Ef rafhlöðunotkun forrita er of mikil leggur síminn til aðgerðir sem þú getur gripið til.\n\nÞú getur alltaf kveikt á rafhlöðusparnaði ef lítil hleðsla er eftir á rafhlöðunni."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Rafhlöðunotkun forritanna þinna er eðlileg. Ef rafhlöðunotkun forrita er of mikil leggur spjaldtölvan til aðgerðir sem þú getur gripið til.\n\nÞú getur alltaf kveikt á rafhlöðusparnaði ef lítil hleðsla er eftir á rafhlöðunni."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Rafhlöðunotkun forritanna þinna er eðlileg. Ef rafhlöðunotkun forrita er of mikil leggur tækið til aðgerðir sem þú getur gripið til.\n\nÞú getur alltaf kveikt á rafhlöðusparnaði ef lítil hleðsla er eftir á rafhlöðunni."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"við <xliff:g id="PERCENT">%1$s</xliff:g> rafhlöðu"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Rafhlöðuprósenta"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Sýna rafhlöðuprósentu í stöðustiku"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Hleðsla rafhlöðu frá síðustu fullu hleðslu"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Rafhlöðustaða síðasta sólarhringinn"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Notkun forrita frá síðustu fullu hleðslu"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Forritanotkun síðasta sólarhringinn"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Notkun kerfis frá síðustu fullu hleðslu"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Kerfisnotkun síðasta sólarhringinn"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Notkun kerfis: <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Notkun forrits: <xliff:g id="SLOT">%s</xliff:g>"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 1b85dd7..f9016dc 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Non sei autorizzato a modificare le impostazioni Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Accoppia nuovo dispositivo"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Accoppia orecchio dx"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Accoppia orecchio sx"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Accoppia l\'altro orecchio"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Il tuo apparecchio acustico sinistro è connesso.\n\nPer accoppiare quello destro, assicurati che sia acceso e pronto per l\'accoppiamento."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Il tuo apparecchio acustico destro è connesso.\n\nPer accoppiare quello sinistro, assicurati che sia acceso e pronto per l\'accoppiamento."</string>
@@ -2463,7 +2465,7 @@
<string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"Scopri di più su Clic automatico (tempo di interazione)"</string>
<string name="accessibility_autoclick_intro_text" msgid="8959680635470639347">"Puoi impostare un mouse collegato affinché faccia clic automaticamente quando il puntatore rimane fermo per un determinato periodo di tempo"</string>
<string name="accessibility_autoclick_description" msgid="6695732131412361101">"La funzionalità Clic automatico può essere utile in caso di difficoltà a fare clic con il mouse"</string>
- <string name="accessibility_autoclick_default_title" msgid="2024730028293793490">"Funzionalità Clic automatico non attiva"</string>
+ <string name="accessibility_autoclick_default_title" msgid="2024730028293793490">"Clic automatico non attivo"</string>
<string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Breve"</string>
<string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 secondi"</string>
<string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Medio"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Alcune funzioni potrebbero essere limitate"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Maggiore utilizzo della batteria"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Scopri le app con il massimo utilizzo"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Ricarica momentaneamente limitata"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Per preservare la batteria. Scopri di più."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Riprendi la ricarica"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"In alcune condizioni, ad esempio in caso di temperature elevate e lunghi periodi di ricarica, è possibile che la ricarica venga momentaneamente interrotta al raggiungimento di una percentuale pari a <xliff:g id="PERCENT">%1$s</xliff:g> per preservare meglio l\'integrità della batteria.\n\nQuando queste condizioni non sono più presenti, viene ripristinata automaticamente la normale ricarica del telefono."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"In alcune condizioni, ad esempio in caso di temperature elevate e lunghi periodi di ricarica, è possibile che la ricarica venga momentaneamente interrotta al raggiungimento di una percentuale pari a <xliff:g id="PERCENT">%1$s</xliff:g> per preservare meglio l\'integrità della batteria.\n\nQuando queste condizioni non sono più presenti, viene ripristinata automaticamente la normale ricarica del tablet."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Questa app potrà usare la batteria in background. La batteria potrebbe esaurirsi prima del previsto."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Rimuovi"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Annulla"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Le tue app stanno utilizzando un livello di batteria normale. Se le app consumano troppa batteria, il dispositivo ti suggerirà come rimediare.\n\nSe la batteria è in esaurimento, puoi attivare il risparmio energetico in qualsiasi momento."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Le tue app stanno utilizzando un livello di batteria normale. Se le app consumano troppa batteria, il dispositivo ti suggerirà come rimediare.\n\nSe la batteria è in esaurimento, puoi attivare il risparmio energetico in qualsiasi momento."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Le tue app stanno utilizzando un livello di batteria normale. Se le app consumano troppa batteria, il dispositivo ti suggerirà come rimediare.\n\nSe la batteria è in esaurimento, puoi attivare il risparmio energetico in qualsiasi momento."</string>
@@ -2961,7 +2969,7 @@
<string name="battery_saver_schedule_settings_title" msgid="3688019979950082237">"Imposta una pianificazione"</string>
<string name="battery_saver_turn_on_summary" msgid="1433919417587171160">"Prolunga la durata della batteria"</string>
<string name="battery_saver_sticky_title_new" msgid="5942813274115684599">"Disattiva quando la batteria è carica"</string>
- <string name="battery_saver_sticky_description_new" product="default" msgid="492221102651829607">"Il risparmio energetico si disattiva quando il livello di carica del telefono è superiore a <xliff:g id="NUMBER">^1</xliff:g><xliff:g id="UNIT">%</xliff:g>"</string>
+ <string name="battery_saver_sticky_description_new" product="default" msgid="492221102651829607">"Il risparmio energetico si disattiva quando il livello di carica del telefono è superiore a: <xliff:g id="NUMBER">^1</xliff:g><xliff:g id="UNIT">%</xliff:g>"</string>
<string name="battery_saver_sticky_description_new" product="tablet" msgid="4566426833434375284">"L\'opzione Risparmio energetico viene disattivata quando il livello di carica del tablet è superiore a <xliff:g id="NUMBER">^1</xliff:g> <xliff:g id="UNIT">%</xliff:g>"</string>
<string name="battery_saver_sticky_description_new" product="device" msgid="4128841327359445726">"L\'opzione Risparmio energetico viene disattivata quando il livello di carica del dispositivo è superiore a <xliff:g id="NUMBER">^1</xliff:g> <xliff:g id="UNIT">%</xliff:g>"</string>
<!-- no translation found for battery_saver_seekbar_title (3712266470054006641) -->
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"al seguente livello di carica: <xliff:g id="PERCENT">%1$s</xliff:g>"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Percentuale batteria"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Mostra la percentuale di carica della batteria nella barra di stato"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Livello della batteria dall\'ultima ricarica completa"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Livello della batteria nelle ultime 24 ore"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Utilizzo delle app dall\'ultima ricarica completa"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Utilizzo da parte delle app nelle ultime 24 ore"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Utilizzo del sistema dall\'ultima ricarica completa"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Utilizzo da parte del sistema nelle ultime 24 ore"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Utilizzo da parte del sistema nell\'intervallo di tempo <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Utilizzo da parte delle app nell\'intervallo di tempo <xliff:g id="SLOT">%s</xliff:g>"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 471192e..9f5dfbe 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -74,7 +74,7 @@
<string name="bluetooth_devices" msgid="1063177983261608277">"מכשירי Bluetooth"</string>
<string name="bluetooth_device_name" msgid="1294669733490268384">"שם המכשיר"</string>
<string name="bluetooth_device_details" msgid="630702184344217832">"הגדרות המכשיר"</string>
- <string name="bluetooth_profile_details" msgid="1269419918127093325">"הגדרות פרופיל"</string>
+ <string name="bluetooth_profile_details" msgid="1269419918127093325">"הגדרות הפרופיל"</string>
<string name="bluetooth_name_not_set" msgid="4654357917928126208">"לא הוגדר שם, משתמש בשם החשבון"</string>
<string name="bluetooth_scan_for_devices" msgid="8143654526358934069">"חיפוש מכשירים"</string>
<string name="bluetooth_rename_device" msgid="4219655243836021443">"שינוי שם המכשיר"</string>
@@ -87,6 +87,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"אין לך הרשאה לשנות את הגדרות ה-Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"התאמה של מכשיר חדש"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"התאמה באוזן ימין"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"התאמה באוזן שמאל"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"התאמה באוזן השנייה"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"מכשיר השמיעה באוזן שמאל מחובר.\n\nכדי להתאים את מכשיר השמיעה באוזן ימין, צריך לוודא שהוא פועל ומוכן להתאמה."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"מכשיר השמיעה באוזן ימין מחובר.\n\nכדי להתאים את מכשיר השמיעה באוזן שמאל, צריך לוודא שהוא פועל ומוכן להתאמה."</string>
@@ -1366,7 +1368,7 @@
<string name="auto_rotate_option_on" msgid="5776678230808498171">"פועל"</string>
<string name="auto_rotate_option_face_based" msgid="3438645484087953174">"פועל – מבוסס על זיהוי פנים"</string>
<string name="auto_rotate_switch_face_based" msgid="9116123744601564320">"זיהוי פנים"</string>
- <string name="auto_rotate_screen_summary" msgid="4547268203621754096">"התאמה אוטומטית של כיוון המסך כשמזיזים את הטלפון ממאוזן למאונך ולהיפך"</string>
+ <string name="auto_rotate_screen_summary" msgid="4547268203621754096">"שינוי אוטומטי של כיוון המסך כשהופכים את הטלפון ממצב של תצוגה לאורך למצב של תצוגה לרוחב"</string>
<string name="auto_rotate_link_a11y" msgid="5146188567212233286">"מידע נוסף על הסיבוב האוטומטי"</string>
<string name="auto_rotate_summary_a11y" msgid="1505094100328581685">"בעת הזזת הטלפון ממצב \'לאורך\' למצב \'לרוחב\' ולהיפך"</string>
<string name="screen_resolution_title" msgid="2690518693139811486">"רזולוציית המסך"</string>
@@ -2823,8 +2825,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"ייתכן שחלק מהתכונות מוגבלות"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"שימוש מוגבר בסוללה"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"האפליקציות המובילות במידת השימוש בסוללה"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"הטעינה מוגבלת זמנית"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"כדי לשמור על תקינות הסוללה. מידע נוסף."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"המשך הטעינה"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"בתנאים מסוימים, למשל בטמפרטורה גבוהה או כשטעינה נמשכת הרבה זמן, יכול להיות שהיא תוגבל ל-<xliff:g id="PERCENT">%1$s</xliff:g> כדי לשמור על תקינות הסוללה.\n\nכשהתנאים ישתנו בחזרה, הטלפון יחזור להיטען כרגיל באופן אוטומטי."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"במצבים מסוימים, כמו טמפרטורה גבוהה וטעינה במשך הרבה זמן, יכול להיות שתהיה הגבלה של <xliff:g id="PERCENT">%1$s</xliff:g> על הטעינה כדי לשמור על תקינות הסוללה.\n\nכשמצבים כאלה מסתיימים, טעינת הטאבלט תחזור למצב הרגיל באופן אוטומטי."</string>
@@ -2870,6 +2876,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"האפליקציה הזו תוכל להשתמש בסוללה ברקע. ייתכן שהסוללה תתרוקן מוקדם מהצפוי."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"הסרה"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"ביטול"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"האפליקציות משתמשות בכמות רגילה של צריכת סוללה. אם אפליקציות יצרכו יותר מדי מהסוללה, הטלפון יציע פעולות שאפשר לנקוט.\n\nניתן תמיד להפעיל את תכונת החיסכון בסוללה אם הסוללה עומדת להתרוקן."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"האפליקציות משתמשות בכמות רגילה של צריכת סוללה. אם אפליקציות יצרכו יותר מדי מהסוללה, הטאבלט יציע פעולות שאפשר לנקוט.\n\nניתן תמיד להפעיל את תכונת החיסכון בסוללה אם הסוללה עומדת להתרוקן."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"האפליקציות משתמשות בכמות רגילה של צריכת סוללה. אם אפליקציות יצרכו יותר מדי מהסוללה, המכשיר יציע פעולות שאפשר לנקוט.\n\nניתן תמיד להפעיל את תכונת החיסכון בסוללה אם הסוללה עומדת להתרוקן."</string>
@@ -3051,8 +3059,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"סוללה ברמת טעינה של <xliff:g id="PERCENT">%1$s</xliff:g>"</string>
<string name="battery_percentage" msgid="1779934245963043490">"אחוז הטעינה של הסוללה"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"הצגת אחוז הטעינה של הסוללה בשורת הסטטוס"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"רמת הסוללה מאז הטעינה המלאה האחרונה"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"רמת הטעינה של הסוללה ב-24 השעות האחרונות"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"צריכת הסוללה של האפליקציות מאז הטעינה המלאה האחרונה"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"צריכת הסוללה של האפליקציות ב-24 השעות האחרונות"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"צריכת הסוללה של המערכת מאז הטעינה המלאה האחרונה"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"צריכת הסוללה של המערכת ב-24 השעות האחרונות"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"צריכת הסוללה על ידי המערכת בשעות <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"צריכת הסוללה על ידי האפליקציה בשעות <xliff:g id="SLOT">%s</xliff:g>"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 7dfb53e..d325ca8 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Bluetooth設定を変更する権限がありません。"</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"新しいデバイスとペア設定"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"右耳をペア設定"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"左耳をペア設定"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"もう一方の耳をペア設定"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"左の補聴器を接続しました。\n\n右の補聴器をペア設定するには、電源が入り、ペア設定できる状態になっていることをご確認ください。"</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"右の補聴器を接続しました。\n\n左耳をペア設定するには、電源が入り、ペア設定できる状態になっていることをご確認ください。"</string>
@@ -534,9 +536,9 @@
<string name="security_settings_udfps_enroll_repeat_a11y_message" msgid="2785464357615568197">"これで指紋を正しく登録できるようになります。"</string>
<string name="security_settings_udfps_enroll_progress_a11y_message" msgid="6183535114682369699">"指紋の登録中: <xliff:g id="PERCENTAGE">%d</xliff:g> パーセント"</string>
<string name="security_settings_fingerprint_enroll_finish_title" msgid="3606325177406951457">"指紋の登録完了"</string>
- <string name="security_settings_fingerprint_enroll_finish_v2_message" product="tablet" msgid="5918110416185820480">"指紋認証は、タブレットのロック解除やアプリの本人確認に使用する回数が増えるにつれて、精度が向上します"</string>
- <string name="security_settings_fingerprint_enroll_finish_v2_message" product="device" msgid="2989276789236025675">"指紋認証は、デバイスのロック解除やアプリの本人確認に使用する回数が増えるにつれて、精度が向上します"</string>
- <string name="security_settings_fingerprint_enroll_finish_v2_message" product="default" msgid="6506437402392739879">"指紋認証は、スマートフォンのロック解除やアプリの本人確認に使用する回数が増えるにつれて、精度が向上します"</string>
+ <string name="security_settings_fingerprint_enroll_finish_v2_message" product="tablet" msgid="5918110416185820480">"指紋認証は、タブレットのロック解除やアプリの本人確認に使用する回数が増えれば増えるほど精度が向上します"</string>
+ <string name="security_settings_fingerprint_enroll_finish_v2_message" product="device" msgid="2989276789236025675">"指紋認証は、デバイスのロック解除やアプリの本人確認に使用する回数が増えれば増えるほど精度が向上します"</string>
+ <string name="security_settings_fingerprint_enroll_finish_v2_message" product="default" msgid="6506437402392739879">"指紋認証は、スマートフォンのロック解除やアプリの本人確認に使用する回数が増えれば増えるほど精度が向上します"</string>
<string name="security_settings_fingerprint_enroll_enrolling_skip" msgid="3004786457919122854">"後で行う"</string>
<string name="security_settings_udfps_tip_fingerprint_help" msgid="7580784640741217494">"指を離して、もう一度タッチ"</string>
<string name="security_settings_udfps_side_fingerprint_help" msgid="2567232481013195191">"指紋をセンサーに当てて長押しし、指を離してから別の部分を当ててください"</string>
@@ -1779,8 +1781,8 @@
<string name="reset_network_complete_toast" msgid="1367872474130621115">"ネットワーク設定をリセットしました"</string>
<string name="reset_esim_error_title" msgid="4670073610967959597">"SIM を消去できません"</string>
<string name="reset_esim_error_msg" msgid="4441504470684307370">"エラーのためダウンロード型 SIM を消去できません。\n\nデバイスを再起動してもう一度お試しください。"</string>
- <string name="main_clear_title" msgid="277664302144837723">"全データを消去(出荷時リセット)"</string>
- <string name="main_clear_short_title" msgid="4752094765533020696">"全データを消去(出荷時リセット)"</string>
+ <string name="main_clear_title" msgid="277664302144837723">"すべてのデータを消去(初期設定にリセット)"</string>
+ <string name="main_clear_short_title" msgid="4752094765533020696">"すべてのデータを消去(初期設定にリセット)"</string>
<string name="main_clear_desc" product="tablet" msgid="1651178880680056849">"この操作を行うと、以下のデータを含め、タブレットの"<b>"内部ストレージ"</b>"の全データが消去されます。\n\n"<li>"Google アカウント"</li>\n<li>"システムやアプリのデータと設定"</li>\n<li>"ダウンロードしたアプリ"</li></string>
<string name="main_clear_desc" product="default" msgid="6984348811887162647">"この操作を行うと、以下のデータを含め、スマートフォンの"<b>"内部ストレージ"</b>"の全データが消去されます。\n\n"<li>"Google アカウント"</li>\n<li>"システムやアプリのデータと設定"</li>\n<li>"ダウンロードしたアプリ"</li></string>
<string name="main_clear_accounts" product="default" msgid="7675859115108318537">\n\n"以下のアカウントにログインしています:\n"</string>
@@ -1799,7 +1801,7 @@
<string name="main_clear_final_desc" msgid="5800877928569039580">"個人情報とダウンロードしたアプリがすべて削除されます。この操作を取り消すことはできません。"</string>
<string name="main_clear_final_desc_esim" msgid="440406836793824969">"ダウンロードしたアプリや SIM を含め、個人情報がすべて削除されます。この操作を取り消すことはできません。"</string>
<string name="main_clear_confirm_title" msgid="6577071819657853713">"すべてのデータを消去しますか?"</string>
- <string name="main_clear_not_available" msgid="3433795327146684827">"このユーザーは出荷時設定へのリセットを許可されていません"</string>
+ <string name="main_clear_not_available" msgid="3433795327146684827">"このユーザーには初期設定へのリセットが許可されていません"</string>
<string name="main_clear_progress_title" msgid="7239741132015617719">"消去しています"</string>
<string name="main_clear_progress_text" msgid="4636695115176327972">"お待ちください…"</string>
<string name="call_settings_title" msgid="2531072044177194164">"通話設定"</string>
@@ -2713,7 +2715,7 @@
<string name="manager_battery_usage_footer_limited" msgid="5180776148877306780">"このアプリでは、バッテリーの使用を「<xliff:g id="STATE">%1$s</xliff:g>」以外に設定できません。"</string>
<string name="manager_battery_usage_unrestricted_only" msgid="3646162131339418216">"制限なし"</string>
<string name="manager_battery_usage_optimized_only" msgid="7121785281913056432">"最適化"</string>
- <string name="manager_battery_usage_link_a11y" msgid="374918091821438564">"詳しくは、バッテリー使用量オプションについての説明をご覧ください"</string>
+ <string name="manager_battery_usage_link_a11y" msgid="374918091821438564">"詳しくは、バッテリー使用状況のオプションに関する説明をご確認ください"</string>
<string name="device_screen_usage" msgid="1011630249648289909">"最後にフル充電してからの使用時間"</string>
<string name="power_usage_list_summary" msgid="3237540201918492925">"フル充電以降のバッテリー使用量"</string>
<string name="screen_usage_summary" msgid="1393184943010909471">"フル充電以降の画面がオンの時間"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"一部の機能が制限される可能性があります"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"バッテリー使用量が多くなっています"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"使用量の多いアプリを確認"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"充電は一時的に制限されています"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"バッテリーを長持ちさせるためのヒントをご確認ください。"</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"充電を再開"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"気温が高い、充電時間が長いなど、条件によって、バッテリーの状態を保つために充電が <xliff:g id="PERCENT">%1$s</xliff:g> に制限されることがあります。\n\nこれらの条件が解消されると、スマートフォンは自動的に通常どおり充電されます。"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"気温が高い、充電時間が長いなど、条件によって、バッテリーの状態を保つために充電が <xliff:g id="PERCENT">%1$s</xliff:g> に制限されることがあります。\n\nこれらの条件が解消されると、タブレットは自動的に通常どおり充電されます。"</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"このアプリがバックグラウンドで電池を使用できるようになるため、電池を予想より早く消費する可能性があります。"</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"解除"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"キャンセル"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"アプリのバッテリー使用量は正常です。アプリがバッテリーを使いすぎる場合は、おすすめの対処方法をスマートフォンがお知らせします。\n\nバッテリーの残量が少なくなったら、いつでもバッテリー セーバーを ON にできます。"</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"アプリのバッテリー使用量は正常です。アプリがバッテリーを使いすぎる場合は、対処可能なおすすめの方法がタブレットに表示されます。\n\nバッテリーの残量が少なくなったら、いつでもバッテリー セーバーを ON にできます。"</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"アプリのバッテリー使用量は正常です。アプリがバッテリーを使いすぎる場合は、対処可能なおすすめの方法がデバイスに表示されます。\n\nバッテリーの残量が少なくなったら、いつでもバッテリー セーバーを ON にできます。"</string>
@@ -2915,7 +2923,7 @@
<string name="battery_detail_background" msgid="3333915023706228000">"バックグラウンド時"</string>
<string name="battery_detail_power_usage" msgid="1492926471397355477">"バッテリー使用量"</string>
<string name="battery_detail_info_title" msgid="5896661833554333683">"フル充電以降の電池の使用状況"</string>
- <string name="battery_detail_manage_title" msgid="7910805419446927887">"バッテリー使用量の管理"</string>
+ <string name="battery_detail_manage_title" msgid="7910805419446927887">"バッテリー使用状況の管理"</string>
<string name="battery_total_and_bg_usage" msgid="8266478675516886819">"合計: <xliff:g id="TIME_0">^1</xliff:g> • <xliff:g id="TIME_1">^2</xliff:g> バックグラウンドでの使用: \n(前回のフル充電以降)"</string>
<string name="battery_total_and_bg_usage_24hr" msgid="2393832614028187281">"合計: <xliff:g id="TIME_0">^1</xliff:g> • バックグラウンドでの使用: <xliff:g id="TIME_1">^2</xliff:g>\n(過去 24 時間)"</string>
<string name="battery_total_and_bg_usage_with_period" msgid="2809037516933951047">"合計: <xliff:g id="TIME_0">^1</xliff:g> • バックグラウンド: <xliff:g id="TIME_1">^2</xliff:g>\n(<xliff:g id="TIME_PERIOD">^3</xliff:g>)"</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"バッテリー残量が <xliff:g id="PERCENT">%1$s</xliff:g> になったとき"</string>
<string name="battery_percentage" msgid="1779934245963043490">"バッテリー残量"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"ステータスバーにバッテリー残量を%で表示"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"前回のフル充電以降のバッテリー残量"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"過去 24 時間のバッテリー使用量"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"前回のフル充電からのアプリの使用状況"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"過去 24 時間のアプリのバッテリー使用量"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"前回のフル充電以降のシステムの使用状況"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"過去 24 時間のシステムのバッテリー使用量"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"<xliff:g id="SLOT">%s</xliff:g>のシステムのバッテリー使用量"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"<xliff:g id="SLOT">%s</xliff:g>のアプリのバッテリー使用量"</string>
@@ -5106,7 +5117,7 @@
<string name="financed_privacy_developer_options" msgid="7602001474669831672">"開発者向けオプションを使用する"</string>
<string name="financed_privacy_credit_provider_capabilities_category" msgid="8737902277892987998">"クレジット プロバイダが行える操作:"</string>
<string name="financed_privacy_IMEI" msgid="1852413860963824799">"IMEI 番号にアクセスする"</string>
- <string name="financed_privacy_factory_reset" msgid="8915355477801723433">"デバイスを出荷時の設定にリセットする"</string>
+ <string name="financed_privacy_factory_reset" msgid="8915355477801723433">"デバイスを初期設定にリセットする"</string>
<string name="financed_privacy_locked_mode_category" msgid="3708288398912647751">"デバイスがロックされた場合に行えるのは、以下の操作のみです。"</string>
<string name="financed_privacy_emergency_calls" msgid="1108183987142736497">"緊急通報を発信する"</string>
<string name="financed_privacy_system_info" msgid="4158031444108708927">"日付、時刻、ネットワークの状態、バッテリー残量などのシステム情報を見る"</string>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index d58ed37..c0109ca 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"თქვენ არ გაქვთ Bluetooth-ის პარამეტრების შეცვლის ნებართვა."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"ახალი მოწყობილობის დაწყვილება"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"დააწყვილეთ მარჯვენა დინამიკი"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"მარცხენა დინამიკის დაკავშირება"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"დააწყვილეთ სხვა დინამიკი"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"თქვენი სმენის მარცხენა მოწყობილობა დაკავშირებულია.\n\nმარჯვენის დასაწყვილებლად უნდა ჩართოთ და დასაწყვილებლად მზად უნდა იყოს ის."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"თქვენი სმენის მარჯვენა მოწყობილობა დაკავშირებულია.\n\nმარცხენის დასაწყვილებლად ის უნდა ჩართოთ და დასაწყვილებლად მზად უნდა იყოს ის."</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"ზოგიერთი ფუნქცია შეიძლება შეზღუდული იყოს"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"ბატარეის მოხმარება"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"ყველაზე დიდი მოხმარების აპების ნახვა"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"დატენვა დროებით შეზღუდულია"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"თქვენი ბატარეის დასაზოგად. შეიტყვეთ მეტი."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"დატენვის გაგრძელება"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"გარკვეულ პირობებში, მაგალითად, მაღალი ტემპერატურის ან ხანგრძლივი დატენვის დროს, დატენვა, შესაძლოა, შეიზღუდოს <xliff:g id="PERCENT">%1$s</xliff:g>-მდე ბატარეის გამართულობის შესანარჩუნებლად.\n\nამ პირობების დასრულებისთანავე თქვენი ტელეფონი ავტომატურად ჩვეულ რეჟიმში დაიტენება."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"გარკვეულ პირობებში, მაგალითად, მაღალი ტემპერატურის ან ხანგრძლივი დატენვის დროს, დატენვა, შესაძლოა, შეიზღუდოს <xliff:g id="PERCENT">%1$s</xliff:g>-მდე ბატარეის გამართულობის შესანარჩუნებლად.\n\nამ პირობების დასრულებისთანავე თქვენი ტაბლეტი ავტომატურად ჩვეულ რეჟიმში დაიტენება."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"ეს აპი შეძლებს თქვენი ბატარეის ფონურ რეჟიმში მოხმარებას. ამან შესაძლოა ბატარეა სწრაფად ამოწუროს."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"წაშლა"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"გაუქმება"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"თქვენი აპები ბატარეის ნორმალური მოხმარებით ხასიათდება. თუ აპები ბატარეას ზედმეტად მოიხმარს, თქვენი ტელეფონი შემოგთავაზებთ პოტენციურ ქმედებებს ამის აღსაკვეთად.\n\nამასთანავე, თქვენ ყოველთვის შეგიძლიათ ჩართოთ ბატარეის დამზოგი, თუ ბატარეა გეწურებათ."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"თქვენი აპები ბატარეის ნორმალური მოხმარებით ხასიათდება. თუ აპები ბატარეას ზედმეტად მოიხმარს, თქვენი ტაბლეტი შემოგთავაზებთ პოტენციურ ქმედებებს ამის აღსაკვეთად.\n\nამასთანავე, თქვენ ყოველთვის შეგიძლიათ ჩართოთ ბატარეის დამზოგი, თუ ბატარეა გეწურებათ."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"თქვენი აპები ბატარეის ნორმალური მოხმარებით ხასიათდება. თუ აპები ბატარეას ზედმეტად მოიხმარს, თქვენი მოწყობილობა შემოგთავაზებთ პოტენციურ ქმედებებს ამის აღსაკვეთად.\n\nამასთანავე, თქვენ ყოველთვის შეგიძლიათ ჩართოთ ბატარეის დამზოგი, თუ ბატარეა გეწურებათ."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"ბატარეის <xliff:g id="PERCENT">%1$s</xliff:g>-ზე"</string>
<string name="battery_percentage" msgid="1779934245963043490">"ბატარეის პროცენტულობა"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"ბატარეის პროცენტულობის ჩვენება სტატუსის ზოლში"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"ბატარეის დონე ბოლო სრული დატენვის შემდეგ"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"ბატარეის დონე ბოლო 24 საათის მანძილზე"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"აპის გამოყენების დეტალები ბოლო სრული დატენვის შემდეგ"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"აპის გამოყენება ბოლო 24 საათის მანძილზე"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"სისტემის გამოყენება ბოლო სრული დატენვის შემდეგ"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"სისტემის გამოყენება ბოლო 24 საათის მანძილზე"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"სისტემის გამოყენება შემდეგისთვის: <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"აპის გამოყენება შემდეგისთვის: <xliff:g id="SLOT">%s</xliff:g>"</string>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index cfd12cf..e693a6b 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -47,8 +47,8 @@
<string name="sdcard_unmount" product="default" msgid="8078570285871053815">"SD картасын шығару"</string>
<string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"USB жадын өшіру"</string>
<string name="sdcard_format" product="default" msgid="3676635435136326182">"SD картасын өшіру"</string>
- <string name="preview_pager_content_description" msgid="3762247188224576303">"Алдын ала қарау"</string>
- <string name="preview_page_indicator_content_description" msgid="2790254666634885865">"<xliff:g id="NUM_PAGES">%2$d</xliff:g> ішінен <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> алдын ала қарау"</string>
+ <string name="preview_pager_content_description" msgid="3762247188224576303">"Алдын ала көру"</string>
+ <string name="preview_page_indicator_content_description" msgid="2790254666634885865">"<xliff:g id="NUM_PAGES">%2$d</xliff:g> ішінен <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> алдын ала көру"</string>
<string name="font_size_summary" msgid="1296835853522566260">"Экрандағы мәтінді кішірейтеді немесе үлкейтеді."</string>
<string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Кішірек ету"</string>
<string name="font_size_make_larger_desc" msgid="5583046033381722247">"Үлкенірек ету"</string>
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Сізде Bluetooth параметрлерін өзгерту рұқсаты жоқ."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Жаңа құрылғымен жұптастыру"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Оң құлақты жұптау"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Сол құлақты жұптау"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Екінші құлақты жұптау"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Сол жақ есту аппараты жалғанды.\n\nОң жағын жұптау үшін оның қосылып, жұптауға дайын екеніне көз жеткізіңіз."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Оң жақ есту аппараты жалғанды.\n\nСол жағын жұптау үшін оның қосылып, жұптауға дайын екеніне көз жеткізіңіз."</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Кейбір функциялар шектелуі мүмкін"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Жоғары батарея шығыны"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Батарея зарядын ең көп шығындайтын қолданбаларды көріңіз."</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Зарядтау уақытша шектелген"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Батарея зарядын сақтау үшін. Толығырақ ақпарат."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Зарядтауды жалғастыру"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Жоғары температура немесе зарядталу уақыты ұзақ болатын кездердегі сияқты жағдайларда батареяның жұмыс істеу қабілетін сақтау мақсатында зарядтау <xliff:g id="PERCENT">%1$s</xliff:g>-ға шектелуі мүмкін.\n\nБұл жағдайлар аяқталғанда, телефоныңыз автоматты түрде қалыпты күйде зарядтайды."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Жоғары температура немесе зарядталу уақыты ұзақ болатын кездердегі сияқты жағдайларда батареяның жұмыс істеу қабілетін сақтау мақсатында зарядтау <xliff:g id="PERCENT">%1$s</xliff:g>-ға шектелуі мүмкін.\n\nБұл жағдайлар аяқталғанда, телефоныңыз автоматты түрде қалыпты күйде зарядтайды."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Бұл қолданба батареяны фондық режимде пайдаланады. Батареяның заряды тез азаюы мүмкін."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Алу"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Бас тарту"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Қолданбалар батарея зарядын қалыпты тұтынуда. Көп тұтынатын болса, телефонда орындауға болатын әрекеттер ұсынылады.\n\nБатарея заряды аз болса, Батареяны үнемдеу режимін қосуыңызға болады."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Қолданбалар батарея зарядын қалыпты тұтынуда. Көп тұтынатын болса, планшетте орындауға болатын әрекеттер ұсынылады.\n\nБатарея заряды аз болса, Батареяны үнемдеу режимін қосуыңызға болады."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Қолданбалар батарея зарядын қалыпты тұтынуда. Көп тұтынатын болса, құрылғыда орындауға болатын әрекеттер ұсынылады.\n\nБатарея заряды аз болса, Батареяны үнемдеу режимін қосуыңызға болады."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"батарея заряды <xliff:g id="PERCENT">%1$s</xliff:g> болғанда"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Батарея деңгейінің пайыздық шамасы"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Күй жолағында батарея деңгейінің пайыздық шамасын көрсету"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Соңғы толық зарядталғаннан кейінгі батарея деңгейі"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Соңғы 24 сағаттағы заряд деңгейі"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Соңғы толық зарядталғаннан кейінгі қолданбаның пайдаланылуы"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Қолданбаның соңғы 24 сағатта батарея зарядын пайдалануы"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Соңғы толық зарядталғаннан кейінгі жүйенің пайдаланылуы"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Жүйенің соңғы 24 сағатта батарея зарядын пайдалануы"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Жүйенің <xliff:g id="SLOT">%s</xliff:g> пайдалануы"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Қолданбаның <xliff:g id="SLOT">%s</xliff:g> пайдалануы"</string>
@@ -5725,7 +5736,7 @@
<string name="mic_toggle_description" msgid="484139688645092237">"Қолданбалар мен қызметтер үшін таңдалады. Бұл параметр өшірілсе де, құтқару қызметінің нөміріне қоңырау шалғанда, микрофон деректері жіберілуі мүмкін."</string>
<string name="previous_page_content_description" msgid="6438292457923282991">"Алдыңғы"</string>
<string name="next_page_content_description" msgid="1641835099813416294">"Келесі"</string>
- <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Түсті алдын ала қарау"</string>
+ <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Түсті алдын ала көру"</string>
<string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM картасын пайдалануға рұқсат сұрау"</string>
<string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Құрылғы SIM картаңызды пайдалануға рұқсат сұрайды. Толық мәлімет алу үшін түртіңіз."</string>
<string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"SIM картасын пайдалануға рұқсат берілсін бе?"</string>
@@ -5779,7 +5790,7 @@
<item msgid="588427840913221601">"Процесс күйі"</item>
</string-array>
<string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Растау"</string>
- <string name="dream_preview_button_title" msgid="6637456541851795952">"Алдын ала қарау"</string>
+ <string name="dream_preview_button_title" msgid="6637456541851795952">"Алдын ала көру"</string>
<string name="dream_picker_category" msgid="7726447836872744867">"Скринсейвер таңдау"</string>
<string name="dream_complications_toggle_title" msgid="4273232303027449163">"Қосымша ақпаратты көрсету"</string>
<string name="dream_complications_toggle_summary" msgid="4742579722349951711">"Уақыт, күн, ауа райы, ауаның сапасы және Cast мәліметтері скринсейверде көрсетіледі."</string>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index becade1..a5e45dd 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"អ្នកមិនមានសិទ្ធិ ដើម្បីប្ដូរការកំណត់ប៊្លូធូសទេ។"</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"ផ្គូផ្គងឧបករណ៍ថ្មី"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"ប៊្លូធូស"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"ផ្គូផ្គងឧបករណ៍ជំនួយការស្ដាប់ខាងស្ដាំ"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"ផ្គូផ្គងឧបករណ៍ជំនួយការស្ដាប់ខាងឆ្វេង"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"ផ្គូផ្គងឧបករណ៍ជំនួយការស្ដាប់ម្ខាងទៀតរបស់អ្នក"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"ឧបករណ៍ជំនួយការស្ដាប់ខាងឆ្វេងរបស់អ្នកត្រូវបានភ្ជាប់។\n\nដើម្បីផ្គូផ្គងឧបករណ៍ជំនួយការស្ដាប់ខាងស្ដាំ សូមប្រាកដថាបានបើកវា ហើយត្រៀមរួចរាល់ក្នុងការផ្គូផ្គង។"</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"ឧបករណ៍ជំនួយការស្ដាប់ខាងស្ដាំរបស់អ្នកត្រូវបានភ្ជាប់។\n\nដើម្បីផ្គូផ្គងឧបករណ៍ជំនួយការស្ដាប់ខាងឆ្វេង សូមប្រាកដថាបានបើកវា ហើយត្រៀមរួចរាល់ក្នុងការផ្គូផ្គង។"</string>
@@ -872,7 +874,7 @@
<string name="bluetooth_menu_advanced" msgid="7633682234855216066">"កម្រិតខ្ពស់"</string>
<string name="bluetooth_advanced_titlebar" msgid="5369701494951467257">"ប៊្លូធូសកម្រិតខ្ពស់"</string>
<string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"នៅពេលបើកប៊្លូធូស ឧបករណ៍របស់អ្នកអាចទាក់ទងជាមួយឧបករណ៍ប៊្លូធូសនៅជិតផ្សេងទៀតបាន។"</string>
- <string name="bluetooth_scanning_on_info_message" msgid="6667723887545056976">"ឧបករណ៍របស់អ្នកអាចភ្ជាប់ជាមួយឧបករណ៍ប៊្លូធូសដែលនៅជិតផ្សេងទៀត នៅពេលបើកប៊្លូធូស។\n\nដើម្បីកែលម្អបទពិសោធន៍ប្រើប្រាស់ឧបករណ៍ កម្មវិធី និងសេវាកម្មនៅតែអាចស្កេនរកឧបករណ៍ដែលនៅជិតបានគ្រប់ពេល ទោះបីជានៅពេលបិទប៊្លូធូសក៏ដោយ។ សកម្មភាពនេះអាចត្រូវបានប្រើ ដើម្បីកែលម្អមុខងារ និងសេវាកម្មដែលផ្អែកលើទីតាំងជាដើម។ អ្នកអាចប្ដូរវាបាននៅក្នុង"<annotation id="link">"ការកំណត់ការស្កេនប៊្លូធូស"</annotation>"។"</string>
+ <string name="bluetooth_scanning_on_info_message" msgid="6667723887545056976">"ឧបករណ៍របស់អ្នកអាចភ្ជាប់ជាមួយឧបករណ៍ប៊្លូធូសនៅជិតផ្សេងទៀត នៅពេលបើកប៊្លូធូស។\n\nដើម្បីកែលម្អបទពិសោធន៍ប្រើប្រាស់ឧបករណ៍ កម្មវិធីនិងសេវាកម្មនានានៅតែអាចស្កេនរកឧបករណ៍នៅជិតបានគ្រប់ពេល ទោះបីនៅពេលបិទប៊្លូធូសក៏ដោយ។ វាអាចត្រូវបានប្រើ ដើម្បីកែលម្អមុខងារ និងសេវាកម្មដែលផ្អែកលើទីតាំងជាដើម។ អ្នកអាចប្ដូរវាបាននៅក្នុង"<annotation id="link">"ការកំណត់ការស្កេនប៊្លូធូស"</annotation>"។"</string>
<string name="ble_scan_notify_text" msgid="1358879010396045164">"ដើម្បីបង្កើនភាពត្រឹមត្រូវរបស់ទីតាំង កម្មវិធី និងសេវាកម្មប្រព័ន្ធនៅតែអាចស្វែងរកឧបករណ៍ប៊្លូធូសបានដដែល។ អ្នកអាចប្តូរវានៅក្នុង <xliff:g id="LINK_BEGIN_0">LINK_BEGIN</xliff:g>ការកំណត់ការស្កេន<xliff:g id="LINK_END_1">LINK_END</xliff:g>។"</string>
<string name="bluetooth_connect_failed" msgid="7892663424429584925">"មិនអាចភ្ជាប់បានទេ។ សូមព្យាយាមម្តងទៀត។"</string>
<string name="device_details_title" msgid="1155622417516195481">"ព័ត៌មានលម្អិតអំពីឧបករណ៍"</string>
@@ -1324,7 +1326,7 @@
<string name="auto_rotate_option_on" msgid="5776678230808498171">"បើក"</string>
<string name="auto_rotate_option_face_based" msgid="3438645484087953174">"បើក - ផ្អែកលើមុខ"</string>
<string name="auto_rotate_switch_face_based" msgid="9116123744601564320">"ការសម្គាល់មុខ"</string>
- <string name="auto_rotate_screen_summary" msgid="4547268203621754096">"កែតម្រូវទិសអេក្រង់ដោយស្វ័យប្រវត្តិ នៅពេលដែលអ្នកផ្លាស់ទីទូរសព្ទរបស់អ្នកជាលក្ខណៈបញ្ឈរ និងផ្ដេក"</string>
+ <string name="auto_rotate_screen_summary" msgid="4547268203621754096">"ប្ដូរទិសអេក្រង់ដោយស្វ័យប្រវត្តិ នៅពេលដែលអ្នកបង្វិលទូរសព្ទរបស់អ្នកទៅជាបញ្ឈរ និងផ្ដេក"</string>
<string name="auto_rotate_link_a11y" msgid="5146188567212233286">"ស្វែងយល់បន្ថែមអំពីការបង្វិលស្វ័យប្រវត្តិ"</string>
<string name="auto_rotate_summary_a11y" msgid="1505094100328581685">"នៅពេលដែលអ្នកដាក់ទូរសព្ទរបស់អ្នកឱ្យបញ្ឈរ និងផ្ដេក"</string>
<string name="screen_resolution_title" msgid="2690518693139811486">"កម្រិតច្បាស់នៃអេក្រង់"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"មុខងារមួយចំនួនអាចត្រូវបានដាក់កំហិត"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"ការប្រើប្រាស់ថ្មខ្ពស់ជាងមុន"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"មើលកម្មវិធីដែលមានការប្រើប្រាស់ខ្ពស់បំផុត"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"បានដាក់កំហិតលើការសាកថ្មជាបណ្ដោះអាសន្ន"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"ដើម្បីរក្សាថ្មរបស់អ្នក។ ស្វែងយល់បន្ថែម។"</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"បន្តសាកថ្ម"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"ក្នុងស្ថានភាពមួយចំនួន ដូចជាសីតុណ្ហភាពខ្ពស់ និងរយៈពេលសាកថ្មយូរ ការសាកថ្មអាចត្រូវបានដាក់កំហិតត្រឹម <xliff:g id="PERCENT">%1$s</xliff:g> ដើម្បីជួយការពារគុណភាពថ្ម។\n\nនៅពេលដែលស្ថានភាពទាំងនោះបញ្ចប់ ទូរសព្ទរបស់អ្នកនឹងសាកថ្មដូចធម្មតាដោយស្វ័យប្រវត្តិវិញ។"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"ក្នុងស្ថានភាពមួយចំនួន ដូចជាសីតុណ្ហភាពខ្ពស់ និងរយៈពេលសាកថ្មយូរ ការសាកថ្មអាចត្រូវបានដាក់កំហិតត្រឹម <xliff:g id="PERCENT">%1$s</xliff:g> ដើម្បីជួយការពារគុណភាពថ្ម។\n\nនៅពេលដែលស្ថានភាពទាំងនោះបញ្ចប់ ថេប្លេតរបស់អ្នកនឹងសាកថ្មដូចធម្មតាដោយស្វ័យប្រវត្តិវិញ។"</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"កម្មវិធីនេះនឹងអាចប្រើថ្មនៅផ្ទៃខាងក្រោយបាន។ ថ្មរបស់អ្នកអាចនឹងឆាប់អស់ជាងការរំពឹងទុក។"</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"លុប"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"បោះបង់"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"កម្មវិធីរបស់អ្នកកំពុងប្រើប្រាស់ថ្មក្នុងកម្រិតធម្មតា។ ប្រសិនបើកម្មវិធីប្រើថ្មច្រើនខ្លាំងពេក ទូរសព្ទរបស់អ្នកនឹងណែនាំសកម្មភាពផ្សេងៗដែលអ្នកអាចអនុវត្តបាន។\n\nអ្នកអាចបើកមុខងារសន្សំថ្មបានជានិច្ច ប្រសិនបើថ្មរបស់អ្នកនៅសល់តិច។"</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"កម្មវិធីរបស់អ្នកកំពុងប្រើប្រាស់ថ្មក្នុងកម្រិតធម្មតា។ ប្រសិនបើកម្មវិធីប្រើថ្មច្រើនខ្លាំងពេក ថេប្លេតរបស់អ្នកនឹងណែនាំសកម្មភាពផ្សេងៗដែលអ្នកអាចអនុវត្តបាន។\n\nអ្នកអាចបើកមុខងារសន្សំថ្មបានជានិច្ច ប្រសិនបើថ្មរបស់អ្នកនៅសល់តិច។"</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"កម្មវិធីរបស់អ្នកកំពុងប្រើប្រាស់ថ្មក្នុងកម្រិតធម្មតា។ ប្រសិនបើកម្មវិធីប្រើថ្មច្រើនខ្លាំងពេក ឧបករណ៍របស់អ្នកនឹងណែនាំសកម្មភាពផ្សេងៗដែលអ្នកអាចអនុវត្តបាន។\n\nអ្នកអាចបើកកម្មវិធីសន្សំថ្មបានជានិច្ច ប្រសិនបើថ្មរបស់អ្នកនៅសល់តិច។"</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"នៅពេលដែលថ្មសល់ <xliff:g id="PERCENT">%1$s</xliff:g>"</string>
<string name="battery_percentage" msgid="1779934245963043490">"ភាគរយថាមពលថ្ម"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"បង្ហាញភាគរយថាមពលថ្មនៅក្នុងរបារស្ថានភាព"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"កម្រិតថ្មចាប់តាំងពីការសាកពេញលើកចុងក្រោយ"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"កម្រិតថ្មក្នុងរយៈពេល 24 ម៉ោងចុងក្រោយ"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"ការប្រើប្រាស់កម្មវិធីចាប់តាំងពីសាកថ្មពេញលើកចុងក្រោយ"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"ការប្រើប្រាស់កម្មវិធីក្នុងរយៈពេល 24 ម៉ោងចុងក្រោយ"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"ការប្រើប្រាស់ប្រព័ន្ធចាប់តាំងពីការសាកថ្មពេញលើកចុងក្រោយ"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"ការប្រើប្រាស់ប្រព័ន្ធក្នុងរយៈពេល 24 ម៉ោងចុងក្រោយ"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"ការប្រើប្រាស់ប្រព័ន្ធចន្លោះ <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"ការប្រើប្រាស់កម្មវិធីក្នុងរយៈពេល <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -3674,7 +3685,7 @@
<string name="keywords_model_and_hardware" msgid="4723665865709965044">"លេខស៊េរី កំណែផ្នែករឹង"</string>
<string name="keywords_android_version" msgid="1629882125290323070">"កម្រិតផេឆសុវត្ថិភាព android, កំណែមូលដ្ឋាន, កំណែខឺណែល"</string>
<string name="keywords_dark_ui_mode" msgid="6373999418195344014">"រចនាប័ទ្ម ពន្លឺ ងងឹត មុខងារ កម្រិតពន្លឺ ប្រតិកម្មនឹងពន្លឺ ធ្វើឱ្យកាន់តែងងឹត ធ្វើឱ្យងងឹត មុខងារងងឹត ឈឺក្បាលប្រកាំង"</string>
- <string name="keywords_systemui_theme" msgid="6341194275296707801">"រចនាប័ទ្មងងឹត"</string>
+ <string name="keywords_systemui_theme" msgid="6341194275296707801">"ទម្រង់រចនាងងឹត"</string>
<string name="keywords_device_feedback" msgid="5489930491636300027">"បញ្ហា"</string>
<string name="keywords_ambient_display_screen" msgid="661492302323274647">"មុខងារអេក្រង់សម្ងំ មុខងារអេក្រង់ចាក់សោ"</string>
<string name="keywords_lock_screen_notif" msgid="6363144436467429932">"ការជូនដំណឹងនៅលើអេក្រង់ចាក់សោ ការជូនដំណឹង"</string>
@@ -4895,7 +4906,7 @@
<string name="bluetooth_connected_summary" msgid="8043167194934315712">"បានភ្ជាប់ទៅ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="bluetooth_connected_multiple_devices_summary" msgid="2294954614327771844">"បានភ្ជាប់ទៅឧបករណ៍ច្រើន"</string>
<string name="demo_mode" msgid="6566167465451386728">"មុខងារសាកល្បង UI ប្រព័ន្ធ"</string>
- <string name="dark_ui_mode" msgid="898146394425795281">"រចនាប័ទ្មងងឹត"</string>
+ <string name="dark_ui_mode" msgid="898146394425795281">"ទម្រង់រចនាងងឹត"</string>
<string name="dark_ui_mode_disabled_summary_dark_theme_on" msgid="4554134480159161533">"បានបិទជាបណ្តោះអាសន្ន ដោយសារមុខងារសន្សំថ្ម"</string>
<string name="ambient_camera_summary_battery_saver_on" msgid="1787784892047029560">"បានបិទជាបណ្តោះអាសន្ន ដោយសារមុខងារសន្សំថ្ម"</string>
<string name="ambient_camera_battery_saver_off" msgid="689825730569761613">"បិទមុខងារសន្សំថ្ម"</string>
@@ -5676,7 +5687,7 @@
<string name="category_name_display_controls" msgid="7046581691184725216">"ការគ្រប់គ្រងការបង្ហាញផ្សេងទៀត"</string>
<string name="category_name_others" msgid="2366006298768550310">"ផ្សេងៗ"</string>
<string name="category_name_general" msgid="7737273712848115886">"ទូទៅ"</string>
- <string name="dark_theme_main_switch_title" msgid="4045147031947562280">"ប្រើរចនាប័ទ្មងងឹត"</string>
+ <string name="dark_theme_main_switch_title" msgid="4045147031947562280">"ប្រើទម្រង់រចនាងងឹត"</string>
<string name="bluetooth_main_switch_title" msgid="8409835540311309632">"ប្រើប៊្លូធូស"</string>
<string name="prevent_ringing_main_switch_title" msgid="4726252811262086643">"ប្រើ \"កុំឱ្យរោទ៍\""</string>
<string name="use_wifi_hotsopt_main_switch_title" msgid="3909731167290690539">"ប្រើហតស្ប៉ត Wi-Fi"</string>
diff --git a/res/values-kn/arrays.xml b/res/values-kn/arrays.xml
index db8031c..7f05c43 100644
--- a/res/values-kn/arrays.xml
+++ b/res/values-kn/arrays.xml
@@ -580,7 +580,7 @@
<!-- no translation found for rtt_setting_mode:3 (7725394146877517088) -->
<string-array name="nfc_payment_favor">
<item msgid="9104058551372383947">"ಯಾವಾಗಲೂ"</item>
- <item msgid="5283665583617307336">"ಮತ್ತೊಂದು ಪಾವತಿ ಆ್ಯಪ್ ತೆರೆದಿರುವ ಸಮಯವನ್ನು ಹೊರತುಪಡಿಸಿ"</item>
+ <item msgid="5283665583617307336">"ಮತ್ತೊಂದು ಪಾವತಿ ಆ್ಯಪ್ ತೆರೆದಿರುವ ಸಮಯವನ್ನು ಹೊರತುಪಡಿಸಲಾಗಿದೆ"</item>
</string-array>
<string-array name="nfc_payment_favor_values">
<item msgid="2373999996715432397">"0"</item>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 43b7efd..a7cd57a 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"ಬ್ಲೂಟೂತ್ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಬದಲಾಯಿಸಲು ನೀವು ಅನುಮತಿ ಹೊಂದಿಲ್ಲ."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"ಹೊಸ ಸಾಧನವನ್ನು ಜೋಡಿಸಿ"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"ಬ್ಲೂಟೂತ್"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"ಬಲಕಿವಿಯ ಶ್ರವಣ ಸಾಧನವನ್ನು ಜೋಡಿಸಿ"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"ಎಡಕಿವಿಯ ಶ್ರವಣ ಸಾಧನವನ್ನು ಜೋಡಿಸಿ"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"ನಿಮ್ಮ ಮತ್ತೊಂದು ಕಿವಿಯ ಸಾಧನವನ್ನು ಜೋಡಿಸಿ"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"ನಿಮ್ಮ ಎಡಕಿವಿಯ ಶ್ರವಣ ಸಾಧನವು ಕನೆಕ್ಟ್ ಆಗಿದೆ.\n\nಬಲಕಿವಿಯ ಸಾಧನವನ್ನು ಜೋಡಿಸಲು, ಅದು ಆನ್ ಆಗಿದೆ ಮತ್ತು ಜೋಡಿಸುವಿಕೆಗೆ ಸಿದ್ಧವಾಗಿದೆ ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"ನಿಮ್ಮ ಬಲಕಿವಿಯ ಶ್ರವಣ ಸಾಧನವು ಕನೆಕ್ಟ್ ಆಗಿದೆ.\n\nಎಡಕಿವಿಯ ಸಾಧನವನ್ನು ಜೋಡಿಸಲು, ಅದು ಆನ್ ಆಗಿದೆ ಮತ್ತು ಜೋಡಿಸುವಿಕೆಗೆ ಸಿದ್ಧವಾಗಿದೆ ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ."</string>
@@ -2321,8 +2323,8 @@
<string name="accessibility_captioning_footer_learn_more_content_description" msgid="5730040700677017706">"ಶೀರ್ಷಿಕೆ ಆದ್ಯತೆಗಳ ಕುರಿತು ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"</string>
<string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"ಹಿಗ್ಗಿಸುವಿಕೆ"</string>
<string name="accessibility_screen_magnification_shortcut_title" msgid="2387963646377987780">"ಹಿಗ್ಗಿಸುವಿಕೆಯ ಶಾರ್ಟ್ಕಟ್"</string>
- <string name="accessibility_screen_magnification_follow_typing_title" msgid="6379517513916651560">"ಟೈಪಿಂಗ್ ಅನ್ನು ಹಿಗ್ಗಿಸಿ"</string>
- <string name="accessibility_screen_magnification_follow_typing_summary" msgid="2882250257391761678">"ನೀವು ಟೈಪ್ ಮಾಡಿದಂತೆ ಮ್ಯಾಗ್ನಿಫೈಯರ್ ಅನುಸರಿಸುತ್ತದೆ"</string>
+ <string name="accessibility_screen_magnification_follow_typing_title" msgid="6379517513916651560">"ಟೈಪಿಂಗ್ ಅನ್ನು ದೊಡ್ಡದಾಗಿಸಿ"</string>
+ <string name="accessibility_screen_magnification_follow_typing_summary" msgid="2882250257391761678">"ನೀವು ಟೈಪ್ ಮಾಡುತ್ತಾ ಹೋದಂತೆ ಮ್ಯಾಗ್ನಿಫೈಯರ್ ಪಠ್ಯವನ್ನು ಅನುಸರಿಸುತ್ತದೆ"</string>
<string name="accessibility_screen_magnification_about_title" msgid="8857919020223505415">"ಹಿಗ್ಗಿಸುವಿಕೆ ಕುರಿತು"</string>
<string name="accessibility_screen_magnification_footer_learn_more_content_description" msgid="924848332575978463">"ಹಿಗ್ಗಿಸುವಿಕೆ ಕುರಿತು ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"</string>
<string name="accessibility_magnification_mode_title" msgid="8446475127807168063">"ಹಿಗ್ಗಿಸುವಿಕೆಯ ವಿಧಾನ"</string>
@@ -2515,7 +2517,7 @@
<string name="captioning_caption_appearance_summary" msgid="7340741178479381312">"<xliff:g id="ACCESSIBILITY_FONT_SIZE">%1$s</xliff:g> ಪಠ್ಯದ ಗಾತ್ರ"</string>
<string name="captioning_more_options_title" msgid="3484496882942539652">"ಇನ್ನಷ್ಟು ಆಯ್ಕೆಗಳು"</string>
<string name="accessibility_caption_preference_intro" msgid="6662649135457507767">"ಶೀರ್ಷಿಕೆಯನ್ನು ಓದಲು ಸುಲಭವಾಗಲು ಶೀರ್ಷಿಕೆಯ ಗಾತ್ರ ಮತ್ತು ಶೈಲಿಯನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಿ"</string>
- <string name="accessibility_caption_preference_summary" msgid="632875702223135121">"ಈ ಶೀರ್ಷಿಕೆಯ ಆದ್ಯತೆಗಳನ್ನು ಎಲ್ಲಾ ಮಾಧ್ಯಮ ಆ್ಯಪ್ಗಳು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ"</string>
+ <string name="accessibility_caption_preference_summary" msgid="632875702223135121">"ಈ ಶೀರ್ಷಿಕೆ ಆದ್ಯತೆಗಳು ಎಲ್ಲಾ ಮಾಧ್ಯಮ ಆ್ಯಪ್ಗಳಿಂದ ಬೆಂಬಲಿತವಾಗಿಲ್ಲ"</string>
<string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"ಪ್ರವೇಶಿಸುವಿಕೆ ಬಟನ್"</string>
<string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"2 ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಬಟನ್ನಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ"</string>
<string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"ವಾಲ್ಯೂಮ್ ಕೀಗಳನ್ನು ಹಿಡಿದುಕೊಳ್ಳಿ"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"ಕೆಲವು ವೈಶಿಷ್ಟ್ಯಗಳು ಸೀಮಿತವಾಗಿರಬಹುದು"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"ಹೆಚ್ಚಿನ ಬ್ಯಾಟರಿ ಬಳಕೆ"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"ಅತ್ಯಂತ ಹೆಚ್ಚು ಬಳಸಲಾದ ಆ್ಯಪ್ಗಳನ್ನು ನೋಡಿ"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"ಚಾರ್ಜಿಂಗ್ ಅನ್ನು ತಾತ್ಕಾಲಿಕವಾಗಿ ಸೀಮಿತಗೊಳಿಸಲಾಗಿದೆ"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"ನಿಮ್ಮ ಬ್ಯಾಟರಿಯನ್ನು ಉಳಿಸಲು. ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"ಚಾರ್ಜಿಂಗ್ ಪುನರಾರಂಭಿಸಿ"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"ಹೆಚ್ಚಿನ ತಾಪಮಾನ ಮತ್ತು ದೀರ್ಘ ಚಾರ್ಜಿಂಗ್ ಅವಧಿಯಂತಹ ಕೆಲವು ಪರಿಸ್ಥಿತಿಗಳಲ್ಲಿ ಬ್ಯಾಟರಿಯ ಆರೋಗ್ಯವನ್ನು ರಕ್ಷಿಸಲು ಚಾರ್ಜಿಂಗ್ <xliff:g id="PERCENT">%1$s</xliff:g> ಗೆ ಸೀಮಿತವಾಗಿದೆ.\n\nಆ ಪರಿಸ್ಥಿತಿಗಳು ಮುಗಿದ ನಂತರ, ನಿಮ್ಮ ಫೋನ್ ಸಾಮಾನ್ಯವಾಗಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಚಾರ್ಜ್ ಆಗುತ್ತದೆ."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"ಹೆಚ್ಚಿನ ತಾಪಮಾನ ಮತ್ತು ದೀರ್ಘ ಚಾರ್ಜಿಂಗ್ ಅವಧಿಯಂತಹ ಕೆಲವು ಪರಿಸ್ಥಿತಿಗಳಲ್ಲಿ ಬ್ಯಾಟರಿಯ ಆರೋಗ್ಯವನ್ನು ರಕ್ಷಿಸಲು ಚಾರ್ಜಿಂಗ್ <xliff:g id="PERCENT">%1$s</xliff:g> ಗೆ ಸೀಮಿತವಾಗಿದೆ.\n\nಆ ಪರಿಸ್ಥಿತಿಗಳು ಮುಗಿದ ನಂತರ, ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್ ಸಾಮಾನ್ಯವಾಗಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಚಾರ್ಜ್ ಆಗುತ್ತದೆ."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಬ್ಯಾಟರಿ ಬಾಳಿಕೆಯನ್ನು ಬಳಸಲು ಈ ಅಪ್ಲಿಕೇಶನ್ಗೆ ಸಾಧ್ಯವಾಗುತ್ತದೆ. ನಿಮ್ಮ ಬ್ಯಾಟರಿ ನಿರೀಕ್ಷಿಸಿದ ಅವಧಿಗಿಂತ ಮುನ್ನವೇ ಮುಕ್ತಾಯವಾಗಬಹುದು."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"ತೆಗೆದುಹಾಕಿ"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"ರದ್ದು ಮಾಡಿ"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"ನಿಮ್ಮ ಆ್ಯಪ್ಗಳು ಸಾಮಾನ್ಯ ಪ್ರಮಾಣದ ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸುತ್ತಿವೆ. ಆ್ಯಪ್ಗಳು ತುಂಬಾ ಹೆಚ್ಚು ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸಿದರೆ, ನೀವು ತೆಗೆದುಕೊಳ್ಳಬಹುದಾದ ಕ್ರಮಗಳನ್ನು ನಿಮ್ಮ ಫೋನ್ ಸೂಚಿಸುತ್ತದೆ.\n\nನಿಮ್ಮ ಬ್ಯಾಟರಿ ಕಡಿಮೆಯಾಗುತ್ತಿದ್ದರೆ, ನೀವು ಬ್ಯಾಟರಿ ಸೇವರ್ ಅನ್ನು ಯಾವಾಗ ಬೇಕಾದರೂ ಆನ್ ಮಾಡಬಹುದು."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"ನಿಮ್ಮ ಆ್ಯಪ್ಗಳು ಸಾಮಾನ್ಯ ಪ್ರಮಾಣದ ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸುತ್ತಿವೆ. ಆ್ಯಪ್ಗಳು ತುಂಬಾ ಹೆಚ್ಚು ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸಿದರೆ, ನೀವು ತೆಗೆದುಕೊಳ್ಳಬಹುದಾದ ಕ್ರಮಗಳನ್ನು ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್ ಸೂಚಿಸುತ್ತದೆ.\n\nನಿಮ್ಮ ಬ್ಯಾಟರಿ ಕಡಿಮೆಯಾಗುತ್ತಿದ್ದರೆ, ನೀವು ಬ್ಯಾಟರಿ ಸೇವರ್ ಅನ್ನು ಯಾವಾಗ ಬೇಕಾದರೂ ಆನ್ ಮಾಡಬಹುದು."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"ನಿಮ್ಮ ಆ್ಯಪ್ಗಳು ಸಾಮಾನ್ಯ ಪ್ರಮಾಣದ ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸುತ್ತಿವೆ. ಆ್ಯಪ್ಗಳು ತುಂಬಾ ಹೆಚ್ಚು ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸಿದರೆ, ನೀವು ತೆಗೆದುಕೊಳ್ಳಬಹುದಾದ ಕ್ರಮಗಳನ್ನು ನಿಮ್ಮ ಸಾಧನವು ಸೂಚಿಸುತ್ತದೆ.\n\nನಿಮ್ಮ ಬ್ಯಾಟರಿ ಕಡಿಮೆಯಾಗುತ್ತಿದ್ದರೆ, ನೀವು ಬ್ಯಾಟರಿ ಸೇವರ್ ಅನ್ನು ಯಾವಾಗ ಬೇಕಾದರೂ ಆನ್ ಮಾಡಬಹುದು."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"ಬ್ಯಾಟರಿಯಲ್ಲಿ <xliff:g id="PERCENT">%1$s</xliff:g>"</string>
<string name="battery_percentage" msgid="1779934245963043490">"ಶೇಕಡಾವಾರು ಬ್ಯಾಟರಿ"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"ಸ್ಥಿತಿ ಪಟ್ಟಿಯಲ್ಲಿ ಶೇಕಡಾವಾರು ಬ್ಯಾಟರಿ ತೋರಿಸಿ"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"ಕೊನೆಯ ಪೂರ್ಣ ಚಾರ್ಜ್ನಿಂದ ಬ್ಯಾಟರಿ ಮಟ್ಟ"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"ಕಳೆದ 24 ಗಂಟೆಗಳಲ್ಲಿನ ಬ್ಯಾಟರಿ ಮಟ್ಟ"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"ಕೊನೆಯ ಬಾರಿ ಪೂರ್ಣ ಚಾರ್ಜ್ ಮಾಡಿದ ನಂತರ ಆ್ಯಪ್ ಬಳಕೆ"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"ಕಳೆದ 24 ಗಂಟೆಗಳಲ್ಲಿನ ಆ್ಯಪ್ ಬಳಕೆ"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"ಕೊನೆಯ ಪೂರ್ಣ ಚಾರ್ಜ್ನಿಂದ ಸಿಸ್ಟಂ ಬಳಕೆ"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"ಕಳೆದ 24 ಗಂಟೆಗಳಲ್ಲಿನ ಸಿಸ್ಟಂ ಬಳಕೆ"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"<xliff:g id="SLOT">%s</xliff:g> ಗಾಗಿ ಸಿಸ್ಟಂ ಬಳಕೆ"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"<xliff:g id="SLOT">%s</xliff:g> ಗಾಗಿ ಆ್ಯಪ್ ಬಳಕೆ"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 100bcc5..c3c3463 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"블루투스 설정을 변경할 권한이 없습니다."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"새 기기와 페어링"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"블루투스"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"오른쪽 보청기 페어링"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"왼쪽 보청기 페어링"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"반대쪽 보청기 페어링"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"왼쪽 보청기가 연결되었습니다.\n\n오른쪽 보청기를 페어링하려면 보청기가 켜져 있으며 페어링할 준비가 되어 있어야 합니다."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"오른쪽 보청기가 연결되었습니다.\n\n왼쪽 보청기를 페어링하려면 보청기가 켜져 있으며 페어링할 준비가 되어 있어야 합니다."</string>
@@ -159,7 +161,7 @@
<string name="connected_device_call_device_title" msgid="88732390601723608">"통화 기기"</string>
<string name="connected_device_other_device_title" msgid="4652120430615729193">"다른 기기"</string>
<string name="connected_device_saved_title" msgid="5607274378851905959">"저장된 기기"</string>
- <string name="connected_device_add_device_summary" msgid="8671009879957120802">"페어링을 위해 블루투스 켜기"</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_title" msgid="605808252622814415">"이전에 연결된 기기"</string>
<string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"이전에 연결됨"</string>
@@ -323,8 +325,8 @@
<item quantity="one">사용 - <xliff:g id="COUNT_0">%1$d</xliff:g>개의 앱이 위치에 액세스할 수 있음</item>
</plurals>
<string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"로드 중…"</string>
- <string name="location_settings_footer_general" msgid="1040507068701188821">"근처 기기 액세스 권한이 있는 앱은 연결된 기기의 상대적인 위치를 파악할 수 있습니다."</string>
- <string name="location_settings_footer_location_off" msgid="8568995909147566720">"앱 및 서비스에 대한 위치 정보 액세스가 사용 중지되어 있습니다. 그래도 긴급 전화번호로 전화를 걸거나 문자 메시지를 보내면 기기의 위치 정보가 구조 서비스에 전달될 수 있습니다."</string>
+ <string name="location_settings_footer_general" msgid="1040507068701188821">"근처 기기 액세스 권한이 있는 앱은 연결된 기기 간의 상대적인 위치를 파악할 수 있습니다."</string>
+ <string name="location_settings_footer_location_off" msgid="8568995909147566720">"앱 및 서비스에 대한 위치 정보 액세스가 사용 중지되어 있습니다. 그래도 긴급 전화번호로 전화를 걸거나 문자 메시지를 보내면 기기의 위치 정보가 긴급 구조원에게 전달될 수 있습니다."</string>
<string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"위치 설정 자세히 알아보기"</string>
<string name="account_settings_title" msgid="9138880127246241885">"계정"</string>
<string name="security_settings_title" msgid="6710768415432791970">"보안"</string>
@@ -874,7 +876,7 @@
<string name="bluetooth_menu_advanced" msgid="7633682234855216066">"고급"</string>
<string name="bluetooth_advanced_titlebar" msgid="5369701494951467257">"고급 블루투스"</string>
<string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"기기에서 블루투스가 켜져 있으면 주변의 다른 블루투스 기기와 통신할 수 있습니다."</string>
- <string name="bluetooth_scanning_on_info_message" msgid="6667723887545056976">"블루투스가 켜져 있으면 기기가 근처의 다른 블루투스 기기와 통신할 수 있습니다.\n\n기기 사용 환경을 개선하기 위해 블루투스가 꺼져 있을 때도 앱 및 서비스에서 언제든지 근처 기기를 검색할 수 있습니다. 예를 들면 위치 기반 기능 및 서비스를 개선하는 데 이 기능이 사용되기도 합니다. 설정을 변경하려면 "<annotation id="link">"블루투스 검색 설정"</annotation>"으로 이동하세요."</string>
+ <string name="bluetooth_scanning_on_info_message" msgid="6667723887545056976">"블루투스가 켜져 있으면 기기가 근처의 다른 블루투스 기기와 통신할 수 있습니다.\n\n기기 사용 환경을 개선하기 위해 블루투스가 꺼져 있을 때도 앱 및 서비스에서 언제든지 근처에 기기가 있는지 검색할 수 있습니다. 예를 들면 위치 기반 기능 및 서비스를 개선하는 데 이 기능이 사용되기도 합니다. 설정을 변경하려면 "<annotation id="link">"블루투스 검색 설정"</annotation>"으로 이동하세요."</string>
<string name="ble_scan_notify_text" msgid="1358879010396045164">"위치 정확도 개선을 위해 시스템 앱과 서비스에서 블루투스 기기를 계속 감지할 수 있습니다. <xliff:g id="LINK_BEGIN_0">LINK_BEGIN</xliff:g>검색 설정<xliff:g id="LINK_END_1">LINK_END</xliff:g>에서 설정을 변경할 수 있습니다."</string>
<string name="bluetooth_connect_failed" msgid="7892663424429584925">"연결할 수 없습니다. 다시 시도해 주세요."</string>
<string name="device_details_title" msgid="1155622417516195481">"기기 세부정보"</string>
@@ -1392,7 +1394,7 @@
<string name="auto_rotate_manage_permission_button" msgid="2591146085906382385">"권한 관리"</string>
<string name="night_display_title" msgid="8532432776487216581">"야간 조명"</string>
<string name="night_display_text" msgid="4789324042428095383">"야간 조명을 사용하면 화면이 황색광으로 표시되어 희미한 빛에서도 편안하게 화면을 보고 읽을 수 있으며 수면 방해 효과가 줄어듭니다."</string>
- <string name="night_display_auto_mode_title" msgid="5869128421470824381">"일정"</string>
+ <string name="night_display_auto_mode_title" msgid="5869128421470824381">"예약"</string>
<string name="night_display_auto_mode_never" msgid="2721729920187175239">"없음"</string>
<string name="night_display_auto_mode_custom" msgid="3938791496034086916">"맞춤 시간에 켜짐"</string>
<string name="night_display_auto_mode_twilight" msgid="4291855156158833997">"일몰부터 일출까지 켜짐"</string>
@@ -2324,18 +2326,18 @@
<string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"확대"</string>
<string name="accessibility_screen_magnification_shortcut_title" msgid="2387963646377987780">"확대 바로가기"</string>
<string name="accessibility_screen_magnification_follow_typing_title" msgid="6379517513916651560">"돋보기로 입력 글자 확대"</string>
- <string name="accessibility_screen_magnification_follow_typing_summary" msgid="2882250257391761678">"텍스트를 입력하는 동안 돋보기가 따라다닙니다."</string>
+ <string name="accessibility_screen_magnification_follow_typing_summary" msgid="2882250257391761678">"텍스트를 입력하는 동안 돋보기가 같이 이동합니다."</string>
<string name="accessibility_screen_magnification_about_title" msgid="8857919020223505415">"확대 정보"</string>
<string name="accessibility_screen_magnification_footer_learn_more_content_description" msgid="924848332575978463">"확대에 관해 자세히 알아보기"</string>
<string name="accessibility_magnification_mode_title" msgid="8446475127807168063">"확대 유형"</string>
<string name="accessibility_magnification_area_settings_message" msgid="8498648925928109462">"전체 화면, 특정 영역을 확대하거나 두 가지 옵션 간에 전환할 수 있습니다."</string>
<string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"전체 화면"</string>
<string name="accessibility_magnification_area_settings_window_screen_summary" msgid="9191632962955877019">"부분 화면"</string>
- <string name="accessibility_magnification_area_settings_all_summary" msgid="8107511976748799455">"전체 화면 또는 부분 화면으로 전환"</string>
+ <string name="accessibility_magnification_area_settings_all_summary" msgid="8107511976748799455">"전체 화면과 부분 화면 간에 전환합니다."</string>
<string name="accessibility_magnification_mode_dialog_title" msgid="9151027667059878578">"확대 방법 선택"</string>
<string name="accessibility_magnification_mode_dialog_option_full_screen" msgid="4892487869954032029">"전체 화면 확대"</string>
<string name="accessibility_magnification_mode_dialog_option_window" msgid="4492443201099153362">"화면 일부 확대"</string>
- <string name="accessibility_magnification_mode_dialog_option_switch" msgid="561043521011229424">"전체 화면 또는 부분 화면으로 전환"</string>
+ <string name="accessibility_magnification_mode_dialog_option_switch" msgid="561043521011229424">"전체 화면과 부분 화면 간에 전환합니다."</string>
<string name="accessibility_magnification_area_settings_mode_switch_summary" msgid="2885238806099080966">"스위치 버튼을 탭하여 두 옵션 간 이동"</string>
<string name="accessibility_magnification_switch_shortcut_title" msgid="3671432048806533079">"접근성 버튼으로 전환할까요?"</string>
<string name="accessibility_magnification_switch_shortcut_message" msgid="7718653917415163833">"화면 일부를 확대하기 위해 세 번 탭하면 입력 및 기타 작업이 지연됩니다.\n\n접근성 버튼은 화면에서 다른 앱 위에 플로팅됩니다. 확대하려면 탭하세요."</string>
@@ -2452,17 +2454,17 @@
<string name="accessibility_control_timeout_about_title" msgid="813588002683460837">"조치를 취할 시간(접근성 기능 시간 제한) 정보"</string>
<string name="accessibility_control_timeout_footer_learn_more_content_description" msgid="8118584413220542193">"조치를 취할 시간(접근성 기능 시간 제한)에 관해 자세히 알아보기"</string>
<string name="accessibility_control_timeout_preference_title" msgid="1443940538597464758">"조치를 취할 시간"</string>
- <string name="accessibility_control_timeout_preference_summary" msgid="4037051091059316310">"타이밍 환경설정은 모든 앱에서 지원되지는 않습니다."</string>
+ <string name="accessibility_control_timeout_preference_summary" msgid="4037051091059316310">"시간 환경설정은 앱에 따라 지원되지 않을 수도 있습니다."</string>
<string name="accessibility_control_timeout_preference_intro_text" msgid="1398116710556762245">"사용자에게 조치를 취하도록 요청하는 메시지가 표시되는 시간을 선택합니다."</string>
<string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"길게 누르기 지연"</string>
<string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"색상 반전"</string>
<string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"색상 반전 사용"</string>
<string name="accessibility_display_inversion_shortcut_title" msgid="6889624526691513462">"색상 반전 바로가기"</string>
<string name="accessibility_display_inversion_preference_intro_text" msgid="1159663288481145318">"색상 반전은 밝은 색상을 어두운 색상으로, 어두운 색상을 밝은 색상으로 바꿉니다."</string>
- <string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>주의사항</b><br/> <ol> <li> 미디어 및 이미지에서 색상이 바뀝니다.</li> <li> 색상 반전은 모든 앱에 적용됩니다.</li> <li> 어두운 배경을 표시하려면 어두운 테마를 대신 사용하면 됩니다.</li> </ol>"</string>
+ <string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>주의사항</b><br/> <ol> <li> 미디어 및 이미지에서 색상이 바뀝니다.</li> <li> 색상 반전은 모든 앱에 적용됩니다.</li> <li> 어두운 배경을 표시하려면 어두운 테마를 대신 사용해도 됩니다.</li> </ol>"</string>
<string name="accessibility_autoclick_preference_title" msgid="2703143361605555752">"자동 클릭(포인터 정지 시간)"</string>
<string name="accessibility_autoclick_about_title" msgid="152923024405552594">"자동 클릭 정보(체류 시간)"</string>
- <string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"자동 클릭(체류 시간)에 관해 자세히 알아보기"</string>
+ <string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"자동 클릭(포인터 정지 시간)에 관해 자세히 알아보기"</string>
<string name="accessibility_autoclick_intro_text" msgid="8959680635470639347">"커서가 일정 시간 움직임을 멈추면 자동으로 클릭하도록 연결된 마우스를 설정할 수 있습니다."</string>
<string name="accessibility_autoclick_description" msgid="6695732131412361101">"마우스 클릭이 어려울 때 자동 클릭이 유용할 수 있습니다."</string>
<string name="accessibility_autoclick_default_title" msgid="2024730028293793490">"자동 클릭 사용 중지"</string>
@@ -2517,7 +2519,7 @@
<string name="captioning_caption_appearance_summary" msgid="7340741178479381312">"텍스트 크기: <xliff:g id="ACCESSIBILITY_FONT_SIZE">%1$s</xliff:g>"</string>
<string name="captioning_more_options_title" msgid="3484496882942539652">"추가 옵션"</string>
<string name="accessibility_caption_preference_intro" msgid="6662649135457507767">"읽기 쉽도록 자막 크기 및 스타일을 맞춤설정하세요"</string>
- <string name="accessibility_caption_preference_summary" msgid="632875702223135121">"이러한 자막 환경설정이 모든 미디어 앱에서 지원되지는 않습니다."</string>
+ <string name="accessibility_caption_preference_summary" msgid="632875702223135121">"자막 환경설정은 미디어 앱에 따라 지원되지 않을 수도 있습니다."</string>
<string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"접근성 버튼"</string>
<string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"두 손가락으로 아래에서 위로 스와이프하세요."</string>
<string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"볼륨 키를 길게 누르세요."</string>
@@ -2761,8 +2763,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"일부 기능이 제한될 수 있습니다."</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"배터리 사용량이 증가함"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"배터리 사용량이 가장 높은 앱을 확인하세요"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"충전이 일시적으로 제한됨"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"배터리 보호를 위한 조치입니다. 자세히 알아보세요."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"충전 재개"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"온도가 높거나 충전 시간이 긴 경우 등 특정한 상황에서는 배터리 보호를 위해 <xliff:g id="PERCENT">%1$s</xliff:g>까지만 충전될 수 있습니다.\n\n상태가 개선되면 휴대전화가 다시 자동으로 정상 충전됩니다."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"온도가 높거나 충전 시간이 긴 경우 등 특정한 상황에서는 배터리 보호를 위해 <xliff:g id="PERCENT">%1$s</xliff:g>까지만 충전될 수 있습니다.\n\n상태가 완화되면 태블릿이 다시 자동으로 정상 충전됩니다."</string>
@@ -2798,6 +2804,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"이 앱이 백그라운드에서 배터리를 사용할 수 있게 되며 배터리가 예상보다 빨리 소진될 수 있습니다."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"삭제"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"취소"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"앱의 배터리 사용량이 평소와 같습니다. 앱에서 배터리를 너무 많이 사용하면 휴대전화에서 취하실 수 있는 조치를 알려 드리겠습니다.\n\n배터리가 부족하면 언제든지 절전 모드를 사용 설정하세요."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"앱의 배터리 사용량이 평소와 같습니다. 앱에서 배터리를 너무 많이 사용하면 태블릿에서 취하실 수 있는 조치를 알려 드리겠습니다.\n\n배터리가 부족하면 언제든지 절전 모드를 사용 설정하세요."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"앱의 배터리 사용량이 평소와 같습니다. 앱에서 배터리를 너무 많이 사용하면 기기에서 취하실 수 있는 조치를 알려 드리겠습니다.\n\n배터리가 부족하면 언제든지 절전 모드를 사용 설정하세요."</string>
@@ -2975,8 +2983,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"배터리 잔량 <xliff:g id="PERCENT">%1$s</xliff:g>"</string>
<string name="battery_percentage" msgid="1779934245963043490">"배터리 잔량 비율"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"상태 표시줄에 배터리 잔량 비율 표시"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"마지막 충전 완료 후 배터리 잔량"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"지난 24시간 동안의 배터리 잔량"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"마지막 충전 완료 후 앱 사용"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"지난 24시간 동안의 앱 사용량"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"마지막 충전 완료 후 시스템 사용"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"지난 24시간 동안의 시스템 사용량"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"<xliff:g id="SLOT">%s</xliff:g>의 시스템 사용량"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"<xliff:g id="SLOT">%s</xliff:g>의 앱 사용량"</string>
@@ -3447,7 +3458,7 @@
<string name="apps_with_restrictions_settings_button" msgid="2648355133416902221">"애플리케이션을 위한 설정 확장"</string>
<string name="user_choose_copy_apps_to_another_user" msgid="5914037067347012870">"설치할 앱 선택"</string>
<string name="user_copy_apps_menu_title" msgid="5354300105759670300">"사용 가능한 앱 설치"</string>
- <string name="nfc_payment_settings_title" msgid="2043139180030485500">"미접촉 결제"</string>
+ <string name="nfc_payment_settings_title" msgid="2043139180030485500">"비접촉 결제"</string>
<string name="nfc_default_payment_settings_title" msgid="2150504446774382261">"기본 결제 앱"</string>
<string name="nfc_default_payment_footer" msgid="978535088340021360">"결제 앱으로 결제하려면 기기 뒷면을 결제 단말기에 갖다 대세요."</string>
<string name="nfc_more_details" msgid="1700713533074275233">"자세히 알아보기"</string>
@@ -4394,7 +4405,7 @@
</plurals>
<string name="app_launch_supported_links_add" msgid="3271247750388016131">"추가"</string>
<string name="app_launch_supported_links_subtext" msgid="4268004019469184113">"<xliff:g id="APP_LABEL">%s</xliff:g>에서 열기"</string>
- <string name="storage_summary_format" msgid="5721782272185284276">"<xliff:g id="STORAGE_TYPE">%2$s</xliff:g>에 <xliff:g id="SIZE">%1$s</xliff:g> 사용"</string>
+ <string name="storage_summary_format" msgid="5721782272185284276">"<xliff:g id="STORAGE_TYPE">%2$s</xliff:g>에서 <xliff:g id="SIZE">%1$s</xliff:g> 사용"</string>
<string name="storage_type_internal" msgid="979243131665635278">"내부 저장소"</string>
<string name="storage_type_external" msgid="125078274000280821">"외부 저장소"</string>
<string name="data_summary_format" msgid="8802057788950096650">"<xliff:g id="DATE">%2$s</xliff:g> 이후 <xliff:g id="SIZE">%1$s</xliff:g> 사용"</string>
@@ -4764,7 +4775,7 @@
<string name="cellular_data_usage" msgid="5874156338825285334">"모바일 데이터 사용량"</string>
<string name="app_cellular_data_usage" msgid="7603292978956033926">"앱 데이터 사용량"</string>
<string name="wifi_data_usage" msgid="6868503699134605707">"Wi-Fi 데이터 사용량"</string>
- <string name="non_carrier_data_usage" msgid="6494603202578414755">"비이동통신사 네트워크 데이터 사용량"</string>
+ <string name="non_carrier_data_usage" msgid="6494603202578414755">"이동통신사 외의 데이터 사용량"</string>
<string name="ethernet_data_usage" msgid="4552227880905679761">"이더넷 데이터 사용량"</string>
<string name="wifi" msgid="2932584495223243842">"Wi-Fi"</string>
<string name="ethernet" msgid="4665162609974492983">"이더넷"</string>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 0cfeb00c..21db18c 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -53,7 +53,7 @@
<string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Кичирээк кылуу"</string>
<string name="font_size_make_larger_desc" msgid="5583046033381722247">"Чоңураак кылуу"</string>
<string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Автоматтык түрдө бурулууну иштетүү"</string>
- <string name="smart_rotate_text_headline" msgid="5878008933992951904">"Жүздү аныктоо функциясы автоматтык түрдө бурулуунун тактыгын жакшыртуу үчүн маңдайкы камераны колдонот. Сүрөттөр Google\'га эч качан жөнөтүлбөйт же анда сакталбайт."</string>
+ <string name="smart_rotate_text_headline" msgid="5878008933992951904">"Жүздөрдү аныктоо функциясы маңдайкы камера аркылуу автоматтык түрдө бурулууну кыйла тагыраак кылат. Сүрөттөр Google\'га эч качан жөнөтүлбөйт же анда сакталбайт."</string>
<string name="font_size_preview_text_headline" msgid="1173103737980511652">"Үлгү текст"</string>
<string name="font_size_preview_text_title" msgid="6363561029914452382">"Оз өлкөсүнүн ажайып сыйкырчысы"</string>
<string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"11-бөлүм: Оз өлкөсүнүн ажайып зумурут шаары"</string>
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Bluetooth жөндөөлөрүн өзгөртүүгө уруксатыңыз жок."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Жаңы түзмөк кошуу"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Оң кулакты жупташтыруу"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Сол кулакты жупташтыруу"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Экинчи кулагыңызды жупташтырыңыз"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Сол угуу аппаратыңыз туташты.\n\nОң аппаратты туташтыруу үчүн ал күйүк жана жупташтырууга даяр экенин текшериңиз."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Оң угуу аппаратыңыз туташты.\n\nСол аппаратты туташтыруу үчүн ал күйүк жана жупташтырууга даяр экенин текшериңиз."</string>
@@ -872,7 +874,7 @@
<string name="bluetooth_menu_advanced" msgid="7633682234855216066">"Өркүндөтүлгөн"</string>
<string name="bluetooth_advanced_titlebar" msgid="5369701494951467257">"Өркүндөтүлгөн Bluetooth"</string>
<string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Bluetooth күйгүзүлгөндө түзмөгүңүз жакын арадагы башка Bluetooth түзмөктөрү менен байланыша алат."</string>
- <string name="bluetooth_scanning_on_info_message" msgid="6667723887545056976">"Bluetooth күйгүзүлгөндө, түзмөгүңүз жакын жердеги башка Bluetooth түзмөктөрү менен байланышат.\n\nТүзмөктүн колдонулушун жакшыртуу максатында, колдонмолор менен кызматтар жакын жердеги түзмөктөрдү каалаган убакта, ошондой эле Bluetooth өчүрүлгөн учурда да издей алышат. Бул, мисалы, жайгашкан жердин негизинде иштеген функцияларды жана кызматтарды жакшыртуу үчүн колдонулушу мүмкүн. Бул функцияны "<annotation id="link">"Bluetooth издөө жөндөөлөрүнөн"</annotation>" өзгөртсөңүз болот."</string>
+ <string name="bluetooth_scanning_on_info_message" msgid="6667723887545056976">"Башка түзмөктөргө туташуу үчүн Bluetooth\'ду күйгүзүңүз.\n\nЖерлерди тагыраак аныктап, түзмөктүн иштешин жакшыртуу үчүн Bluetooth өчүп турганда да колдонмолор менен кызматтар жакын жердеги түзмөктөрдү издей беришет. Издебесин десеңиз, "<annotation id="link">"Bluetooth түзмөктөрүн издөө"</annotation>" дегенди өчүрүп коюңуз."</string>
<string name="ble_scan_notify_text" msgid="1358879010396045164">"Кандайдыр бир жерди тагыраак аныктоо үчүн системанын колдонмолору жана кызматтар жакын арадагы Bluetooth түзмөктөрүн издей берет. Бул функцияны <xliff:g id="LINK_BEGIN_0">LINK_BEGIN</xliff:g>издөө жөндөөлөрүнөн<xliff:g id="LINK_END_1">LINK_END</xliff:g> өзгөртсөңүз болот."</string>
<string name="bluetooth_connect_failed" msgid="7892663424429584925">"Туташпай калды. Кайталап көрүңүз."</string>
<string name="device_details_title" msgid="1155622417516195481">"Түзмөктүн чоо-жайы"</string>
@@ -1324,7 +1326,7 @@
<string name="auto_rotate_option_on" msgid="5776678230808498171">"Күйүк"</string>
<string name="auto_rotate_option_face_based" msgid="3438645484087953174">"Күйүк – Жүздүн негизинде"</string>
<string name="auto_rotate_switch_face_based" msgid="9116123744601564320">"Жүздү аныктоо"</string>
- <string name="auto_rotate_screen_summary" msgid="4547268203621754096">"Телефонду тигинен же туурасынан кармаганда экрандын багытын автоматтык түрдө тууралоо"</string>
+ <string name="auto_rotate_screen_summary" msgid="4547268203621754096">"Телефонду ары-бери бурганда экраны автоматтык түрдө тигинен туурасына которулат"</string>
<string name="auto_rotate_link_a11y" msgid="5146188567212233286">"Автоматтык түрдө бурулуу жөнүндө кененирээк маалымат"</string>
<string name="auto_rotate_summary_a11y" msgid="1505094100328581685">"Телефонду тигинен же туурасынан кармаганда"</string>
<string name="screen_resolution_title" msgid="2690518693139811486">"Экрандын дааналыгы"</string>
@@ -2488,7 +2490,7 @@
<string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Шыңгырдын дирилдөөсү"</string>
<string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Билдирменин дирилдөөсү"</string>
<string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Басып жооп берүү"</string>
- <string name="accessibility_service_primary_switch_title" msgid="437610853412159406">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> колдонмосун колдонуу"</string>
+ <string name="accessibility_service_primary_switch_title" msgid="437610853412159406">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> колдонмосун иштетүү"</string>
<string name="accessibility_service_primary_open_title" msgid="8655108684769091154">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> колдонмосун ачуу"</string>
<string name="accessibility_service_auto_added_qs_tooltip_content" msgid="2941824314912928072">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> Ыкчам жөндөөлөргө кошулду. Аны күйгүзүү же өчүрүү үчүн экранды ылдый сүрүп коюңуз."</string>
<string name="accessibility_service_qs_tooltip_content" msgid="6002493441414967868">"Ошондой эле, экрандын өйдө жагынан <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> колдонмосун Ыкчам жөндөөлөргө кошо аласыз"</string>
@@ -2713,7 +2715,7 @@
<string name="manager_battery_usage_footer_limited" msgid="5180776148877306780">"Бул колдонмо үчүн <xliff:g id="STATE">%1$s</xliff:g> деген вариант тандалышы керек."</string>
<string name="manager_battery_usage_unrestricted_only" msgid="3646162131339418216">"чектелбейт"</string>
<string name="manager_battery_usage_optimized_only" msgid="7121785281913056432">"оптималдаштырылган"</string>
- <string name="manager_battery_usage_link_a11y" msgid="374918091821438564">"Батареянын колдонулушунун параметрлери жөнүндө кеңири маалымат алыңыз"</string>
+ <string name="manager_battery_usage_link_a11y" msgid="374918091821438564">"Батареянын керектелишин тескөө тууралуу кененирээк маалымат"</string>
<string name="device_screen_usage" msgid="1011630249648289909">"Толук кубатталгандан бери экран канча убакыт колдонулду"</string>
<string name="power_usage_list_summary" msgid="3237540201918492925">"Толук кубатталгандан бери батареянын керектелиши"</string>
<string name="screen_usage_summary" msgid="1393184943010909471">"Толук кубатталгандан бери экрандын күйүп турган убактысы"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Айрым кызматтардын функциялары чектелиши мүмкүн"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Батареянын көбүрөөк колдонулушу"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Эң көп иштетилген колдонмолорду көрүү"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Кубаттоо убактылуу чектелген"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Батареяңызды үнөмдөө үчүн. Кеңири маалымат."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Кубаттоону улантуу"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Батареяны көбүрөөк убакытка жеткирүү үчүн жогорку температурада жана узакка кубатталган шарттарда кубаттоо <xliff:g id="PERCENT">%1$s</xliff:g> чейин чектелиши мүмкүн.\n\nМындай шарттар калыбына келгенден кийин, түзмөгүңүз автоматтык түрдө кадимкидей кубаттала баштайт."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Батареяны көбүрөөк убакытка жеткирүү үчүн жогорку температурада жана узакка кубатталган шарттарда кубаттоо <xliff:g id="PERCENT">%1$s</xliff:g> чейин чектелиши мүмкүн.\n\nМындай шарттар калыбына келгенден кийин, түзмөгүңүз автоматтык түрдө кадимкидей кубаттала баштайт."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Бул колдонмо батареяны фондо керектей берет. Батареяңыз күтүлгөндөн эртерээк отуруп калышы мүмкүн."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Өчүрүү"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Жок"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Колдонмолоруңуз батареяны орточо деңгээлде керектеп жатышат. Эгер өтө көп керектеп жиберишсе, телефонуңуз ал боюнча чара көрүүнү сунуштайт.\n\nАл эми таптакыр калбай баратса, Батареяны үнөмдөгүчтү күйгүзүп койсоңуз болот."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Колдонмолоруңуз батареяны орточо деңгээлде керектеп жатышат. Эгер өтө көп керектеп жиберишсе, планшетиңиз ал боюнча чара көрүүнү сунуштайт.\n\nАл эми таптакыр калбай баратса, Батареяны үнөмдөгүчтү күйгүзүп койсоңуз болот."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Колдонмолоруңуз батареяны орточо деңгээлде керектеп жатышат. Эгер өтө көп керектеп жиберишсе, түзмөгүңүз ал боюнча чара көрүүнү сунуштайт.\n\nАл эми таптакыр калбай баратса, Батареяны үнөмдөгүчтү күйгүзүп койсоңуз болот."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"<xliff:g id="PERCENT">%1$s</xliff:g> батарея менен"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Батареянын деңгээли"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Батареянын деңгээли (%%) абал тилкесинде көрүнүп турат"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Акыркы жолу толук кубатталгандан бери батареянын кубатынын деңгээли"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Батареянын кубатынын акыркы 24 сааттагы деңгээли"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Акыркы жолу толук кубатталгандан бери колдонмолордун пайдаланылышы"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Колдонмонун акыркы 24 саатта иштетилиши"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Акыркы жолу толук кубатталгандан бери тутумдун колдонулушу"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Системанын акыркы 24 саатта колдонулушу"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Системанын колдонулушу: <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Колдонмонун иштетилиши: <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -3445,7 +3456,7 @@
<string name="apps_with_restrictions_settings_button" msgid="2648355133416902221">"Колдонмонун тууралоолорун ачуу"</string>
<string name="user_choose_copy_apps_to_another_user" msgid="5914037067347012870">"Орнотуу үчүн колдонмолорду тандаңыз"</string>
<string name="user_copy_apps_menu_title" msgid="5354300105759670300">"Жеткиликтүү колдонмолорду орнотуңуз"</string>
- <string name="nfc_payment_settings_title" msgid="2043139180030485500">"Тийбей төлөө"</string>
+ <string name="nfc_payment_settings_title" msgid="2043139180030485500">"Тийгизип төлөө"</string>
<string name="nfc_default_payment_settings_title" msgid="2150504446774382261">"Демейки төлөм колдонмосу"</string>
<string name="nfc_default_payment_footer" msgid="978535088340021360">"Төлөм колдонмосу аркылуу төлөө үчүн түзмөгүңүздүн аркасын төлөм терминалына жакындатыңыз"</string>
<string name="nfc_more_details" msgid="1700713533074275233">"Кененирээк"</string>
@@ -3458,19 +3469,19 @@
<string name="nfc_payment_default" msgid="3769788268378614608">"Демейки төлөө ыкмасы"</string>
<string name="nfc_payment_default_not_set" msgid="6471905683119084622">"Коюлган эмес"</string>
<string name="nfc_payment_app_and_desc" msgid="2607417639227030398">"<xliff:g id="APP">%1$s</xliff:g> - <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string>
- <string name="nfc_payment_use_default" msgid="6127665705799658860">"Демейки төлөм колдонмосун колдонуу"</string>
- <string name="nfc_payment_use_default_dialog" msgid="8556328090777785383">"Демейки төлөм колдонмосун колдонуу"</string>
+ <string name="nfc_payment_use_default" msgid="6127665705799658860">"Демейки төлөм колдонмосун иштетүү"</string>
+ <string name="nfc_payment_use_default_dialog" msgid="8556328090777785383">"Демейки төлөм колдонмосун иштетүү"</string>
<string name="nfc_payment_favor_default" msgid="4508491832174644772">"Ар дайым"</string>
<string name="nfc_payment_favor_open" msgid="8554643344050373346">"Башка төлөм колдонмосу ачылып турбаса"</string>
- <string name="nfc_payment_pay_with" msgid="3001320460566523453">"Тийбей төлөө терминалында төмөнкү менен төлөңүз:"</string>
+ <string name="nfc_payment_pay_with" msgid="3001320460566523453">"Тийгизип төлөө терминалында ушуну колдонуңуз:"</string>
<string name="nfc_how_it_works_title" msgid="1363791241625771084">"Терминалдан төлөө"</string>
<string name="nfc_how_it_works_content" msgid="1141382684788210772">"Төлөм колдонмосун жөндөп туруп, телефондун арткы бетин тийбей төлөө белгиси түшүрүлгөн терминалга жакындатыңыз."</string>
<string name="nfc_how_it_works_got_it" msgid="4717868843368296630">"Түшүндүм"</string>
<string name="nfc_more_title" msgid="1041094244767216498">"Дагы…"</string>
<string name="nfc_payment_set_default_label" msgid="7395939287766230293">"Демейки төлөм колдонмосун коюу"</string>
<string name="nfc_payment_update_default_label" msgid="8201975914337221246">"Демейки төлөм колдонмосун жаңыртуу"</string>
- <string name="nfc_payment_set_default" msgid="4101484767872365195">"Тийбей төлөө терминалында <xliff:g id="APP">%1$s</xliff:g> менен төлөңүз"</string>
- <string name="nfc_payment_set_default_instead_of" msgid="565237441045013280">"Тийбей төлөө терминалында <xliff:g id="APP_0">%1$s</xliff:g> менен төлөңүз.\n\nАл <xliff:g id="APP_1">%2$s</xliff:g> колдонмосунун ордуна демейки шартта колдонулат."</string>
+ <string name="nfc_payment_set_default" msgid="4101484767872365195">"Тийгизип төлөө терминалында <xliff:g id="APP">%1$s</xliff:g> менен төлөңүз"</string>
+ <string name="nfc_payment_set_default_instead_of" msgid="565237441045013280">"Тийгизип төлөө терминалында <xliff:g id="APP_0">%1$s</xliff:g> менен төлөңүз.\n\nАл <xliff:g id="APP_1">%2$s</xliff:g> колдонмосунун ордуна демейки шартта колдонулат."</string>
<string name="nfc_payment_btn_text_set_deault" msgid="1821065137209590196">"Демейки кылып жөндөө"</string>
<string name="nfc_payment_btn_text_update" msgid="5159700960497443832">"Жаңыртуу"</string>
<string name="nfc_work_text" msgid="2496515165821504077">"Жумуш"</string>
@@ -3755,7 +3766,7 @@
<string name="spatial_summary_off" msgid="8272678804629774378">"Өчүк"</string>
<string name="spatial_summary_on_one" msgid="6239933399496282994">"Күйүк/<xliff:g id="OUTPUT_DEVICE">%1$s</xliff:g>"</string>
<string name="spatial_summary_on_two" msgid="4526919818832483883">"Күйүк/<xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> жана <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
- <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Ошондой эле, Bluetooth түзмөктөрү үчүн мейкиндиктүү үндү күйгүзө аласыз."</string>
+ <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Мейкиндиктүү үндү Bluetooth түзмөктөрү үчүн да күйгүзө аласыз."</string>
<string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Туташкан түзмөктөрдүн параметрлери"</string>
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Жок}=1{1 график коюлду}other{# график коюлду}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Тынчымды алба"</string>
@@ -4214,7 +4225,7 @@
<string name="zen_mode_calls_list" msgid="5044730950895749093">"чалуулар"</string>
<string name="zen_mode_calls_header" msgid="8379225445095856726">"\"Тынчымды алба\" режими таасир этпеген чалуулар"</string>
<string name="zen_mode_calls_footer" msgid="2008079711083701243">"Маанилүү чалууларды өткөрүп жибербеш үчүн түзмөгүңүздүн үнүн чыгарып коюңуз."</string>
- <string name="zen_mode_custom_calls_footer" msgid="6521283204577441053">"Кирүүчү чалуулар \"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\" эрежеси менен бөгөттөлгөн. Достордун, үй-бүлө мүчөлөрүнүн же башка тааныштарыңыздын чалууларын кабыл алуу үчүн жөндөөлөрдү тууралап алыңыз."</string>
+ <string name="zen_mode_custom_calls_footer" msgid="6521283204577441053">"Кирүүчү чалуулар \"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\" менен бөгөттөлгөн. Достордун, үй-бүлө мүчөлөрүнүн же башка тааныштарыңыздын чалууларын кабыл алуу үчүн жөндөөлөрдү тууралап алыңыз."</string>
<string name="zen_mode_starred_contacts_title" msgid="630299631659575589">"Белгиленген байланыштар"</string>
<string name="zen_mode_starred_contacts_summary_contacts" msgid="1629467178444895094">"{count,plural,offset:2 =0{Жок}=1{{contact_1}}=2{{contact_1} жана {contact_2}}=3{{contact_1}, {contact_2} жана {contact_3}}other{{contact_1}, {contact_2} жана дагы #}}"</string>
<string name="zen_mode_starred_contacts_empty_name" msgid="2906404745550293688">"(Аты жок)"</string>
@@ -4223,7 +4234,7 @@
<string name="zen_mode_messages_title" msgid="1777598523485334405">"Билдирүүлөр"</string>
<string name="zen_mode_messages_header" msgid="253721635061451577">"\"Тынчымды алба\" режими таасир этпеген билдирүүлөр"</string>
<string name="zen_mode_messages_footer" msgid="6002468050854126331">"Маанилүү чалууларды өткөрүп жибербеш үчүн түзмөгүңүздүн үнүн чыгарып коюңуз"</string>
- <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"\"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\" эрежеси иштетилгенде, билдирүүлөр алынбайт. Достордун, үй-бүлө мүчөлөрүнүн же башка тааныштарыңыздын билдирүүлөрүн алуу үчүн жөндөөлөрдү тууралап алыңыз."</string>
+ <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"\"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\" эрежеси иштетилгенде, билдирүүлөр алынбайт. Достордун, үй-бүлө мүчөлөрүнүн же башка тааныштарыңыздын чалууларына жооп бергиңиз келсе, параметрлерди өзгөртүңүз."</string>
<string name="zen_mode_all_messages_summary" msgid="3756267858343104554">"\"Тынчымды алба\" режими айрым билдирүүлөр үчүн иштебейт"</string>
<string name="zen_mode_all_calls_summary" msgid="7337907849083824698">"\"Тынчымды алба\" режими айрым чалуулар үчүн иштебейт"</string>
<string name="zen_mode_contacts_count" msgid="6568631261119795799">"{count,plural, =0{Жок}=1{1 байланыш}other{# байланыш}}"</string>
@@ -5648,7 +5659,7 @@
<string name="default_active_sim_calls" msgid="2390973682556353558">"чалуулар"</string>
<string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
<string name="default_active_sim_mobile_data" msgid="6798083892814045301">"мобилдик трафик"</string>
- <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Түзмөктүн колдонулушун жакшыртуу үчүн колдонмолор менен кызматтар Wi‑Fi өчүп турса да зымсыз тармактарды издей беришет. Бул жайгашкан жерди аныктоо функцияларын жана кызматтарын жакшыртууга мүмкүнчүлүк берет. Аны Wi-Fi тармактарын издөө параметрлеринен өзгөртө аласыз."</string>
+ <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Түзмөктүн иштешин жакшыртуу (мисалы, турган жериңизди тагыраак аныктоо) үчүн колдонмолор менен кызматтар Wi‑Fi өчүп турса да зымсыз тармактарды издей беришет. Издебесин десеңиз, Wi-Fi тармактарын издөө дегенди өчүрүп коюңуз."</string>
<string name="wifi_scan_change" msgid="8438320311511852918">"Өзгөртүү"</string>
<string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
<string name="mobile_data_connection_active" msgid="2422223108911581552">"Туташты"</string>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 13ccfdb..ef64881 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"ທ່ານບໍ່ມີສິດອະນຸຍາດໃນການແກ້ໄຂການຕັ້ງຄ່າ Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"ຈັບຄູ່ອຸປະກອນໃໝ່"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"ຈັບຄູ່ຫູຂວາ"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"ຈັບຄູ່ຫູຊ້າຍ"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"ຈັບຄູ່ຫູອີກຂ້າງຂອງທ່ານ"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"ເຊື່ອມຕໍ່ເຄື່ອງຊ່ວຍຟັງຊ້າຍຂອງທ່ານແລ້ວ.\n\nເພື່ອເຊື່ອມຕໍ່ອັນຂວາ, ໃຫ້ກວດສອບວ່າມັນເປີດໃຊ້ ແລະ ພ້ອມຈັບຄູ່ແລ້ວ."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"ເຊື່ອມຕໍ່ເຄື່ອງຊ່ວຍຟັງຂວາຂອງທ່ານແລ້ວ.\n\nເພື່ອເຊື່ອມຕໍ່ອັນຊ້າຍ, ໃຫ້ກວດສອບວ່າມັນເປີດໃຊ້ ແລະ ພ້ອມຈັບຄູ່ແລ້ວ."</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"ບາງຄຸນສົມບັດອາດຖືກຈຳກັດໄວ້"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"ການໃຊ້ແບັດເຕີຣີສູງຂຶ້ນ"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"ເບິ່ງແອັບທີ່ມີການໃຊ້ສູງສຸດ"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"ຈຳກັດການສາກໄຟຊົ່ວຄາວ"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"ເພື່ອຖະໜອມແບັດເຕີຣີຂອງທ່ານ. ສຶກສາເພີ່ມເຕີມ."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"ສືບຕໍ່ການສາກໄຟ"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"ໃນບາງສະພາບເງື່ອນໄຂ ເຊັ່ນ: ອຸນຫະພູມສູງ ແລະ ໄລຍະເວລາການສາກໄຟດົນ, ການສາກໄຟອາດຖືກຈຳກັດເປັນ <xliff:g id="PERCENT">%1$s</xliff:g> ເພື່ອຊ່ວຍຖະໜອມອາຍຸແບັດເຕີຣີ.\n\nເມື່ອສະພາບເງື່ອນໄຂເຫຼົ່ານັ້ນສິ້ນສຸດລົງ, ໂທລະສັບຂອງທ່ານຈະສາກໄຟປົກກະຕິໂດຍອັດຕະໂນມັດ."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"ໃນບາງສະພາບເງື່ອນໄຂ ເຊັ່ນ: ອຸນຫະພູມສູງ ແລະ ໄລຍະເວລາການສາກໄຟດົນ, ການສາກໄຟອາດຖືກຈຳກັດເປັນ <xliff:g id="PERCENT">%1$s</xliff:g> ເພື່ອຊ່ວຍຖະໜອມອາຍຸແບັດເຕີຣີ.\n\nເມື່ອສະພາບເງື່ອນໄຂເຫຼົ່ານັ້ນສິ້ນສຸດລົງ, ແທັບເລັດຂອງທ່ານຈະສາກໄຟປົກກະຕິໂດຍອັດຕະໂນມັດ."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"ແອັບນີ້ຈະສາມາດໃຊ້ແບັດເຕີຣີໃນພື້ນຫຼັງ. ແບັດເຕີຣີຂອງທ່ານອາດໝົດໄວກວ່າທີ່ຄາດໄວ້."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"ລຶບ"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"ຍົກເລີກ"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"ແອັບຂອງທ່ານກຳລັງໃຊ້ແບັດເຕີຣີໃນປະລິມານປົກກະຕິ. ຫາກແອັບຕ່າງໆໃຊ້ແບັດເຕີຣີຫຼາຍເກີນໄປ, ໂທລະສັບຂອງທ່ານຈະແນະນຳຄຳສັ່ງທີ່ທ່ານສາມາດໃຊ້ໄດ້.\n\nທ່ານສາມາດເປີດໃຊ້ຕົວປະຢັດແບັດເຕີຣີໄດ້ຕະຫຼອດເວລາຫາກແບັດເຕີຣີຂອງທ່ານເຫຼືອໜ້ອຍ."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"ແອັບຂອງທ່ານກຳລັງໃຊ້ແບັດເຕີຣີໃນປະລິມານປົກກະຕິ. ຫາກແອັບຕ່າງໆໃຊ້ແບັດເຕີຣີຫຼາຍເກີນໄປ, ແທັບເລັດຂອງທ່ານຈະແນະນຳຄຳສັ່ງທີ່ທ່ານສາມາດໃຊ້ໄດ້.\n\nທ່ານສາມາດເປີດໃຊ້ຕົວປະຢັດແບັດເຕີຣີໄດ້ຕະຫຼອດເວລາຫາກແບັດເຕີຣີຂອງທ່ານເຫຼືອໜ້ອຍ."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"ແອັບຂອງທ່ານກຳລັງໃຊ້ແບັດເຕີຣີໃນປະລິມານປົກກະຕິ. ຫາກແອັບຕ່າງໆໃຊ້ແບັດເຕີຣີຫຼາຍເກີນໄປ, ອຸປະກອນຂອງທ່ານຈະແນະນຳຄຳສັ່ງທີ່ທ່ານສາມາດໃຊ້ໄດ້.\n\nທ່ານສາມາດເປີດໃຊ້ຕົວປະຢັດແບັດເຕີຣີໄດ້ຕະຫຼອດເວລາຫາກແບັດເຕີຣີຂອງທ່ານເຫຼືອໜ້ອຍ."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"at <xliff:g id="PERCENT">%1$s</xliff:g>battery"</string>
<string name="battery_percentage" msgid="1779934245963043490">"ເປີເຊັນແບັດເຕີຣີ"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"ສະແດງເປີເຊັນແບັດເຕີຣີໃນແຖບສະຖານະ"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"ລະດັບແບັດເຕີຣີຫຼັງຈາກສາກເຕັມຫຼ້າສຸດ"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"ລະດັບແບັດເຕີຣີສຳລັບ 24 ຊມ ທີ່ຜ່ານມາ"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"ການນຳໃຊ້ແອັບນັບຕັ້ງແຕ່ສາກເຕັມຫຼ້າສຸດ"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"ການໃຊ້ແອັບສຳລັບ 24 ຊມ ທີ່ຜ່ານມາ"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"ການນຳໃຊ້ລະບົບຫຼັງຈາກສາກເຕັມຫຼ້າສຸດ"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"ການໃຊ້ລະບົບສຳລັບ 24 ຊມ ທີ່ຜ່ານມາ"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"ການໃຊ້ລະບົບສຳລັບ <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"ການໃຊ້ແອັບສຳລັບ <xliff:g id="SLOT">%s</xliff:g>"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 7a324ae..ac66fb8 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -87,6 +87,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Neturite leidimo keisti „Bluetooth“ nustatymų."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Susieti naują įrenginį"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Susieti dešinę ausį"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Susieti kairę ausį"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Susiekite kitą ausį"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Kairysis klausos aparatas prijungtas.\n\nNorėdami susieti dešinįjį, įsitikinkite, kad jis įjungtas ir paruoštas susieti."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Dešinysis klausos aparatas prijungtas.\n\nNorėdami susieti kairįjį, įsitikinkite, kad jis įjungtas ir paruoštas susieti."</string>
@@ -2821,8 +2823,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Kai kurios funkcijos gali būti apribotos"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Vartojama daugiau akumuliatoriaus energijos"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Žr. daugiausia energijos vartojančias programas"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Įkrovimas laikinai apribotas"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Tausojama akumuliatoriaus energija. Sužinokite daugiau."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Tęsti įkrovimą"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Esant tam tikroms sąlygoms, pvz., aukštai temperatūrai ar ilgai kraunant, įkrovimas gali būti apribotas iki <xliff:g id="PERCENT">%1$s</xliff:g>, siekiant apsaugoti akumuliatorių.\n\nKai šių sąlygų nebebus, telefonas bus automatiškai įprastai įkraunamas."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Esant tam tikroms sąlygoms, pvz., aukštai temperatūrai ar ilgai kraunant, įkrovimas gali būti apribotas iki <xliff:g id="PERCENT">%1$s</xliff:g>, siekiant apsaugoti akumuliatorių.\n\nKai šių sąlygų nebebus, planšetinis kompiuteris bus automatiškai įprastai įkraunamas."</string>
@@ -2868,6 +2874,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Ši programa galės naudoti akumuliatoriaus energiją fone. Akumuliatoriaus energija gali išsekti greičiau nei tikėjotės."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Pašalinti"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Atšaukti"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Programos naudoja įprastą akumuliatoriaus energijos kiekį. Jei programos naudos per daug akumuliatoriaus energijos, telefonas pasiūlys veiksmų, kurių galima imtis.\n\nJei senka akumuliatoriaus energija, visada galite įjungti Akumuliatoriaus tausojimo priemonę."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Programos naudoja įprastą akumuliatoriaus energijos kiekį. Jei programos naudos per daug akumuliatoriaus energijos, planšetinis kompiuteris pasiūlys veiksmų, kurių galima imtis.\n\nJei senka akumuliatoriaus energija, visada galite įjungti Akumuliatoriaus tausojimo priemonę."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Programos naudoja įprastą akumuliatoriaus energijos kiekį. Jei programos naudos per daug akumuliatoriaus energijos, įrenginys pasiūlys veiksmų, kurių galima imtis.\n\n Jei senka akumuliatoriaus energija, visada galite įjungti Akumuliatoriaus tausojimo priemonę."</string>
@@ -3049,8 +3057,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"kai akumuliatoriaus įkrovos lygis yra <xliff:g id="PERCENT">%1$s</xliff:g>"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Akumuliatoriaus energija procentais"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Rodyti akumuliatoriaus energiją procentais būsenos juostoje"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Akumuliatoriaus lygis po paskutinio visiško įkrovimo"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Akumuliatoriaus įkrovos lygis per pastarąsias 24 val."</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Programų naudojimas po paskutinio visiško įkrovimo"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Programos naudojimas per pastarąsias 24 val."</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Sistemos naudojimas po paskutinio visiško įkrovimo"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Sistemos naudojimas per pastarąsias 24 val."</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Sistemos naudojimas: <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Programos naudojimas: <xliff:g id="SLOT">%s</xliff:g>"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index fd29d09..e1e0ebb 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -86,6 +86,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Jums nav atļaujas mainīt Bluetooth iestatījumus."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Savienošana pārī ar jaunu ierīci"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Savienot pārī labo"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Savienot pārī kreiso"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Savienojiet otru aparātu"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Jūsu kreisās auss dzirdes aparāts ir pievienots.\n\nLai savienotu pārī labās auss dzirdes aparātu, pārbaudiet, vai tas ir ieslēgts un gatavs savienošanai pārī."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Jūsu labās auss dzirdes aparāts ir pievienots.\n\nLai savienotu pārī kreisās auss dzirdes aparātu, pārbaudiet, vai tas ir ieslēgts un gatavs savienošanai pārī."</string>
@@ -2790,8 +2792,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Dažu funkciju darbība var tikt ierobežota."</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Lielāks akumulatora lietojums"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Skatiet lietotnes, kas patērē visvairāk akumulatora enerģijas"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Uzlāde īslaicīgi ierobežota"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Akumulatora enerģijas taupīšana. Uzziniet vairāk."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Atsākt uzlādi"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Noteiktos apstākļos, piemēram, augstā temperatūrā un ilgos uzlādes periodos, uzlādes līmenis var tikt ierobežots līdz <xliff:g id="PERCENT">%1$s</xliff:g>, lai palīdzētu uzturēt akumulatoru darba kārtībā.\n\nKad šie apstākļi vairs nepastāv, jūsu tālrunis tiek automātiski uzlādēts kā parasti."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Noteiktos apstākļos, piemēram, augstā temperatūrā un ilgos uzlādes periodos, uzlādes līmenis var tikt ierobežots līdz <xliff:g id="PERCENT">%1$s</xliff:g>, lai palīdzētu uzturēt akumulatoru darba kārtībā.\n\nKad šie apstākļi vairs nepastāv, jūsu planšetdators tiek automātiski uzlādēts kā parasti."</string>
@@ -2832,6 +2838,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Šī lietotne varēs izmantot akumulatora enerģiju fonā. Tādējādi akumulators var izlādēties ātrāk nekā parasti."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Noņemt"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Atcelt"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Jūsu lietotnes patērē normālu akumulatora enerģijas apjomu. Ja lietotnes patērē pārāk daudz akumulatora enerģijas, jūsu tālrunī tiks parādītas ieteicamās darbības.\n\nJa akumulatora uzlādes līmenis ir zems, varat jebkurā laikā ieslēgt akumulatora enerģijas taupīšanas režīmu."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Jūsu lietotnes patērē normālu akumulatora enerģijas apjomu. Ja lietotnes patērē pārāk daudz akumulatora enerģijas, jūsu planšetdatorā tiks parādītas ieteicamās darbības.\n\nJa akumulatora uzlādes līmenis ir zems, varat jebkurā laikā ieslēgt akumulatora enerģijas taupīšanas režīmu."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Jūsu lietotnes patērē normālu akumulatora enerģijas apjomu. Ja lietotnes patērē pārāk daudz akumulatora enerģijas, jūsu ierīcē tiks parādītas ieteicamās darbības.\n\nJa akumulatora uzlādes līmenis ir zems, varat jebkurā laikā ieslēgt akumulatora enerģijas taupīšanas režīmu."</string>
@@ -3011,8 +3019,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"ar akumulatora uzlādes līmeni <xliff:g id="PERCENT">%1$s</xliff:g>"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Akumulatora uzlādes līmenis procentos"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Statusa joslā rādīt akumulatora uzlādes līmeni procentos"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Akumulatora uzlādes līmenis kopš pēdējās pilnās uzlādes"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Akumulatora līmenis pēdējo 24 h laikā"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Lietotnes lietojums kopš pēdējās pilnās uzlādes"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Lietotnes izmantojums pēdējo 24 h laikā"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Sistēmas lietojums kopš pēdējās pilnās uzlādes"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Sistēmas lietojums pēdējo 24 h laikā"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Sistēmas izmantojums: <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Lietotnes izmantojums: <xliff:g id="SLOT">%s</xliff:g>"</string>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index 86d93fc..bfadf7b 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Немате дозвола за промена на поставките на Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Спарете нов уред"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Спари го десното уво"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Спари го левото уво"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Спари го другото уво"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Левото слушно помагало е поврзано.\n\nЗа да го спарите десното, проверете дали е вклучено и подготвено за спарување."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Десното слушно помагало е поврзано.\n\nЗа да го спарите левото, проверете дали е вклучено и подготвено за спарување."</string>
@@ -1326,7 +1328,7 @@
<string name="auto_rotate_option_on" msgid="5776678230808498171">"Вклучено"</string>
<string name="auto_rotate_option_face_based" msgid="3438645484087953174">"Вклучено - според лице"</string>
<string name="auto_rotate_switch_face_based" msgid="9116123744601564320">"Откривање лица"</string>
- <string name="auto_rotate_screen_summary" msgid="4547268203621754096">"Автоматски приспособувајте ја ориентацијата на екранот помеѓу портрет и пејзаж кога го движите телефонот"</string>
+ <string name="auto_rotate_screen_summary" msgid="4547268203621754096">"Автоматски ја приспособува ориентацијата на екранот помеѓу портрет и пејзаж кога го движите телефонот"</string>
<string name="auto_rotate_link_a11y" msgid="5146188567212233286">"Дознајте повеќе за „Автоматско ротирање“"</string>
<string name="auto_rotate_summary_a11y" msgid="1505094100328581685">"Менувајте помеѓу портрет и пејзаж кога го движите телефонот"</string>
<string name="screen_resolution_title" msgid="2690518693139811486">"Резолуција на екран"</string>
@@ -2761,8 +2763,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Некои функции може да бидат ограничени"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Поголемо користење на батеријата"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Прегледајте ги апликациите со најголемо користење"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Полнењето е привремено ограничено"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"За да се заштеди батеријата. Дознајте повеќе."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Продолжи со полнење"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"При одредени услови, како високи температури и долги периоди на полнење, полнењето може да се ограничи на <xliff:g id="PERCENT">%1$s</xliff:g> за да се зачува состојбата на батеријата.\n\nКога таквите услови ќе завршат, вашиот телефон автоматски ќе се полни нормално."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"При одредени услови, како високи температури и долги периоди на полнење, полнењето може да се ограничи на <xliff:g id="PERCENT">%1$s</xliff:g> за да се зачува состојбата на батеријата.\n\nКога таквите услови ќе завршат, вашиот таблет автоматски ќе се полни нормално."</string>
@@ -2798,6 +2804,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Апликацијава ќе може да ја користи батеријата во заднина. Батеријата може да се потроши порано од очекуваното."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Да"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Откажи"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Вашите апликации користат нормално количество батерија. Ако апликациите трошат многу батерија, телефонот ќе ви каже што може да преземете.\n\nСекогаш може да вклучите „Штедач на батерија“ ако батеријата ви е при крај."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Вашите апликации користат нормално количество батерија. Ако апликациите трошат многу батерија, таблетот ќе ви каже што може да преземете.\n\nСекогаш може да вклучите „Штедач на батерија“ ако батеријата ви е при крај."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Вашите апликации користат нормално количество батерија. Ако апликациите трошат многу батерија, уредот ќе ви каже што може да преземете.\n\nСекогаш може да вклучите „Штедач на батерија“ ако батеријата ви е при крај."</string>
@@ -2975,8 +2983,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"при <xliff:g id="PERCENT">%1$s</xliff:g> батерија"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Процент на батеријата"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Прикажувај процент на батеријата во статусната лента"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Ниво на батеријата од последното целосно полнење"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Ниво на батеријата во минатите 24 часа"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Користење на апликацијата од последното целосно полнење"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Користење од апликациите во минатите 24 часа"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Користење на системот од последното целосно полнење"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Користење на системот во минатите 24 часа"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Користење на системот за <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Користење на апликацијата за <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -3447,7 +3458,7 @@
<string name="apps_with_restrictions_settings_button" msgid="2648355133416902221">"Прошири поставки за апликација"</string>
<string name="user_choose_copy_apps_to_another_user" msgid="5914037067347012870">"Изберете апликации што ќе се инсталираат"</string>
<string name="user_copy_apps_menu_title" msgid="5354300105759670300">"Инсталирајте достапни апликации"</string>
- <string name="nfc_payment_settings_title" msgid="2043139180030485500">"Плаќања без контакт"</string>
+ <string name="nfc_payment_settings_title" msgid="2043139180030485500">"Бесконтактно плаќање"</string>
<string name="nfc_default_payment_settings_title" msgid="2150504446774382261">"Стандардна апликација за плаќање"</string>
<string name="nfc_default_payment_footer" msgid="978535088340021360">"За да платите со апликација за плаќање, држете ја задната страна на уредот на платежен терминал"</string>
<string name="nfc_more_details" msgid="1700713533074275233">"Дознајте повеќе"</string>
@@ -5001,7 +5012,7 @@
<string name="ambient_display_tap_screen_title" product="tablet" msgid="6461531447715370632">"Допрете за да го проверите таблетот"</string>
<string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Допрете за да го проверите уредот"</string>
<string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"За да ги проверите времето, известувањата и другите информации, допрете го екранот."</string>
- <string name="emergency_gesture_screen_title" msgid="3280543310204360902">"Итна помош"</string>
+ <string name="emergency_gesture_screen_title" msgid="3280543310204360902">"SOS за итни случаи"</string>
<string name="emergency_gesture_switchbar_title" msgid="7421353963329899514">"Користи „Итна помош“"</string>
<string name="emergency_gesture_entrypoint_summary" msgid="4730874229911208834">"Управувано од <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
<string name="emergency_gesture_screen_summary" msgid="6640521030845132507">"Брзо притиснете го копчето за вклучување 5 или повеќе пати за да започнат дејствата наведени подолу"</string>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index 60e033c..b0cdae6 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -53,7 +53,7 @@
<string name="font_size_make_smaller_desc" msgid="4978038055549590140">"ചെറുതാക്കുക"</string>
<string name="font_size_make_larger_desc" msgid="5583046033381722247">"വലുതാക്കുക"</string>
<string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"സ്വയമേവ തിരിയുക ക്രമീകരണം ഉപയോഗിക്കുക"</string>
- <string name="smart_rotate_text_headline" msgid="5878008933992951904">"സ്വയമേ തിരിയുക ക്രമീകരണത്തിന്റെ കൃത്യത മെച്ചപ്പെടുത്താൻ, \'മുഖം തിരിച്ചറിയൽ\' മുൻ ക്യാമറ ഉപയോഗിക്കുന്നു. ചിത്രങ്ങൾ ഒരിക്കലും സംഭരിക്കുകയോ Google-ലേക്ക് അയയ്ക്കുകയോ ചെയ്യില്ല."</string>
+ <string name="smart_rotate_text_headline" msgid="5878008933992951904">"\'സ്വയമേവ തിരിയുക\' ക്രമീകരണത്തിന്റെ കൃത്യത മെച്ചപ്പെടുത്താൻ, \'മുഖം തിരിച്ചറിയൽ\' മുൻ ക്യാമറ ഉപയോഗിക്കുന്നു. ചിത്രങ്ങൾ ഒരിക്കലും സംഭരിക്കുകയോ Google-ലേക്ക് അയയ്ക്കുകയോ ചെയ്യില്ല."</string>
<string name="font_size_preview_text_headline" msgid="1173103737980511652">"സാമ്പിൾ ടെക്സ്റ്റ്"</string>
<string name="font_size_preview_text_title" msgid="6363561029914452382">"ഓസ് നഗരത്തിലെ അതിശയിപ്പിക്കുന്ന മന്ത്രവാദി"</string>
<string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"അധ്യായം 11: ഓസ് എന്ന അത്ഭുതകരമായ മരതകനഗരം"</string>
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"ബ്ലൂടൂത്ത് ക്രമീകരണങ്ങൾ മാറ്റാൻ നിങ്ങൾക്ക് അനുമതിയില്ല."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"പുതിയ ഉപകരണം ജോടിയാക്കുക"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"വലതു ചെവി ജോടിയാക്കൂ"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"ഇടത് ചെവി ജോടിയാക്കൂ"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"അടുത്ത ചെവി ജോടിയാക്കുക"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"നിങ്ങളുടെ ഇടത് ശ്രവണ സഹായി കണക്റ്റ് ചെയ്തു.\n\nവലതു വശത്തേത് ജോടിയാക്കാൻ, അത് ഓണാക്കിയിട്ടുണ്ടെന്നും ജോടിയാക്കാൻ തയ്യാറാണെന്നും ഉറപ്പാക്കുക."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"നിങ്ങളുടെ വലത് ശ്രവണ സഹായി കണക്റ്റ് ചെയ്തു.\n\nഇടതു വശത്തേത് ജോടിയാക്കാൻ, അത് ഓണാക്കിയിട്ടുണ്ടെന്നും ജോടിയാക്കാൻ തയ്യാറാണെന്നും ഉറപ്പാക്കുക."</string>
@@ -536,7 +538,7 @@
<string name="security_settings_fingerprint_enroll_finish_title" msgid="3606325177406951457">"ഫിംഗർപ്രിന്റ് ചേർത്തു"</string>
<string name="security_settings_fingerprint_enroll_finish_v2_message" product="tablet" msgid="5918110416185820480">"നിങ്ങളുടെ ടാബ്ലെറ്റ് അൺലോക്ക് ചെയ്യുന്നതിനായോ ആപ്പുകളിൽ ഇത് നിങ്ങൾ തന്നെയാണെന്ന് പരിശോധിച്ചുറപ്പിക്കുന്നതിനായോ കൂടുതൽ ഉപയോഗിക്കുമ്പോൾ ഫിംഗർപ്രിന്റ് അൺലോക്ക് മെച്ചപ്പെടും"</string>
<string name="security_settings_fingerprint_enroll_finish_v2_message" product="device" msgid="2989276789236025675">"നിങ്ങളുടെ ഉപകരണം അൺലോക്ക് ചെയ്യാൻ ഫിംഗർപ്രിന്റ് അൺലോക്ക് കൂടുതൽ തവണ ഉപയോഗിക്കുകയോ ഇത് നിങ്ങൾ തന്നെയാണെന്ന് ആപ്പുകളിൽ പരിശോധിച്ചുറപ്പിക്കുകയോ ചെയ്യുമ്പോൾ ഫിംഗർപ്രിന്റ് അൺലോക്ക് മെച്ചപ്പെടും"</string>
- <string name="security_settings_fingerprint_enroll_finish_v2_message" product="default" msgid="6506437402392739879">"നിങ്ങളുടെ ഫോൺ അൺലോക്ക് ചെയ്യുന്നതിനായി കൂടുതൽ ഉപയോഗിക്കുകയോ ഇത് നിങ്ങൾ തന്നെയാണെന്ന് ആപ്പുകളിൽ പരിശോധിച്ചുറപ്പിക്കുകയോ ചെയ്യുമ്പോൾ ഫിംഗർപ്രിന്റ് അൺലോക്ക് മെച്ചപ്പെടും"</string>
+ <string name="security_settings_fingerprint_enroll_finish_v2_message" product="default" msgid="6506437402392739879">"ഫോൺ അൺലോക്ക് ചെയ്യുന്നതിനായോ ആപ്പുകളിൽ ഇത് നിങ്ങൾ തന്നെയാണെന്ന് പരിശോധിച്ചുറപ്പിക്കുന്നതിനായോ കൂടുതൽ ഉപയോഗിക്കുന്നതിനനുസരിച്ച് ഫിംഗർപ്രിന്റ് അൺലോക്ക് മെച്ചപ്പെടും"</string>
<string name="security_settings_fingerprint_enroll_enrolling_skip" msgid="3004786457919122854">"ഇത് പിന്നീട് ചെയ്യുക"</string>
<string name="security_settings_udfps_tip_fingerprint_help" msgid="7580784640741217494">"വിരലെടുക്കുക, വീണ്ടും സ്പർശിക്കുക"</string>
<string name="security_settings_udfps_side_fingerprint_help" msgid="2567232481013195191">"നിങ്ങളുടെ ഫിംഗർപ്രിന്റിന്റെ വശം സെൻസറിൽ വച്ച് അമർത്തിപ്പിടിക്കുക, തുടർന്ന് മറ്റേ വശം നൽകുക"</string>
@@ -614,7 +616,7 @@
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"നിങ്ങൾ പരമാവധി എണ്ണം ഫിംഗർപ്രിന്റുകൾ ചേർത്തിട്ടുണ്ട്"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"കൂടുതൽ ഫിംഗർപ്രിന്റുകൾ ചേർക്കാൻ കഴിയില്ല"</string>
<string name="fingerprint_last_delete_title" msgid="4081475675646514726">"എല്ലാ ഫിംഗർപ്രിന്റുകളും നീക്കംചെയ്യണോ?"</string>
- <string name="fingerprint_delete_title" msgid="1469865327307917858">"\'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' നീക്കംചെയ്യുക"</string>
+ <string name="fingerprint_delete_title" msgid="1469865327307917858">"\'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' നീക്കം ചെയ്യുക"</string>
<string name="fingerprint_delete_message" msgid="1454995433333496541">"ഈ ഫിംഗർപ്രിന്റ് ഇല്ലാതാക്കണോ?"</string>
<string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"\'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' എന്നതുമായി ബന്ധപ്പെട്ട് നിങ്ങളുടെ ഉപകരണത്തിൽ സംഭരിച്ചിരിക്കുന്ന ഫിംഗർപ്രിന്റ് ചിത്രങ്ങളും മോഡലും ഇത് ഇല്ലാതാക്കുന്നു"</string>
<string name="fingerprint_last_delete_message" msgid="7860374760549404410">"ഫോൺ അൺലോക്ക് ചെയ്യാനോ ആപ്പുകളിൽ ഇത് നിങ്ങൾ തന്നെയാണെന്ന് പരിശോധിച്ചുറപ്പിക്കാനോ നിങ്ങളുടെ ഫിംഗർപ്രിന്റ് ഉപയോഗിക്കാനാകില്ല."</string>
@@ -2460,7 +2462,7 @@
<string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>ശ്രദ്ധിക്കുക</b><br/> <ol> <li> മീഡിയയിലും ചിത്രങ്ങളിലും നിറങ്ങൾ മാറും</li> <li> നിറം വിപരീതമാക്കൽ എല്ലാ ആപ്പുകളിലും പ്രവർത്തിക്കുന്നു</li> <li> ഇരുണ്ട പശ്ചാത്തലം പ്രദർശിപ്പിക്കാൻ പകരം ഡാർക്ക് തീം ഉപയോഗിക്കാം</li> </ol>"</string>
<string name="accessibility_autoclick_preference_title" msgid="2703143361605555752">"ഓട്ടോക്ലിക്ക് (കഴ്സർ വെച്ച് ചെലവഴിച്ച സമയം)"</string>
<string name="accessibility_autoclick_about_title" msgid="152923024405552594">"ഓട്ടോക്ലിക്കിനെ കുറിച്ച് (ഡ്വെൽ സമയം)"</string>
- <string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"ഓട്ടോക്ലിക്കിനെ കുറിച്ച് കൂടുതലറിയുക (കഴ്സർ വച്ച് ചെലവഴിച്ച സമയം)"</string>
+ <string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"ഓട്ടോക്ലിക്കിനെ (കഴ്സർ വച്ച് ചെലവഴിച്ച സമയത്തെ) കുറിച്ച് കൂടുതലറിയുക"</string>
<string name="accessibility_autoclick_intro_text" msgid="8959680635470639347">"കഴ്സർ ചലിക്കുന്നത് ഒരു നിശ്ചിത സമയത്തേക്ക് നിലയ്ക്കുമ്പോൾ, സ്വയമേവ ക്ലിക്ക് ചെയ്യാൻ കണക്റ്റ് ചെയ്ത ഒരു മൗസ് നിങ്ങൾക്ക് സജ്ജീകരിക്കാവുന്നതാണ്."</string>
<string name="accessibility_autoclick_description" msgid="6695732131412361101">"മൗസിൽ ക്ലിക്ക് ചെയ്യുന്നത് ബുദ്ധിമുട്ട് ആണെങ്കിൽ ഓട്ടോക്ലിക്ക് സഹായകരമാകും"</string>
<string name="accessibility_autoclick_default_title" msgid="2024730028293793490">"ഓട്ടോക്ലിക്ക് ഓഫാണ്"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"ചില ഫീച്ചറുകൾ പരിമിതപ്പെടാം"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"ഉയർന്ന ബാറ്ററി ഉപയോഗം"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"ഉയർന്ന ഉപയോഗമുള്ള ആപ്പുകൾ കാണുക"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"ചാർജിംഗ് താൽക്കാലികമായി പരിമിതപ്പെടുത്തിയിരിക്കുന്നു"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"നിങ്ങളുടെ ബാറ്ററി ചാർജ് നിലനിർത്താൻ. കൂടുതലറിയുക."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"ചാർജിംഗ് പുനനരാരംഭിക്കുക"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"ഉയർന്ന താപനിലയും ദൈർഘ്യമേറിയ ചാർജിംഗ് കാലയളവും പോലുള്ള ഏതാനും സാഹചര്യങ്ങളിൽ ബാറ്ററിയുടെ ആരോഗ്യം സംരക്ഷിക്കാൻ ചാർജിംഗ് <xliff:g id="PERCENT">%1$s</xliff:g>-ലേക്ക് പരിമിതപ്പെടുത്തിയിരിക്കുന്നു.\n\nആ സാഹചര്യങ്ങൾ അവസാനിക്കുമ്പോൾ, നിങ്ങളുടെ ഫോൺ സാധാരണ ഗതിയിൽ സ്വയമേവ ചാർജ് ചെയ്യും."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"ഉയർന്ന താപനിലയും ദൈർഘ്യമേറിയ ചാർജിംഗ് കാലയളവും പോലുള്ള ഏതാനും സാഹചര്യങ്ങളിൽ ബാറ്ററിയുടെ ആരോഗ്യം സംരക്ഷിക്കാൻ ചാർജിംഗ് <xliff:g id="PERCENT">%1$s</xliff:g>-ലേക്ക് പരിമിതപ്പെടുത്തിയിരിക്കുന്നു.\n\nആ സാഹചര്യങ്ങൾ അവസാനിക്കുമ്പോൾ, നിങ്ങളുടെ ടാബ്ലെറ്റ് സാധാരണ ഗതിയിൽ സ്വയമേവ ചാർജ് ചെയ്യും."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"ഈ ആപ്പിന് പശ്ചാത്തലത്തിൽ ബാറ്ററി ഉപയോഗിക്കാനാവും. പ്രതീക്ഷിച്ചതിനെക്കാൾ വേഗത്തിൽ ബാറ്ററി ചാർജ് തീർന്നേക്കാം."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"നീക്കം ചെയ്യുക"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"റദ്ദാക്കുക"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"നിങ്ങളുടെ ആപ്പുകൾ, ബാറ്ററി സാധാരണ അളവിലാണ് ഉപയോഗിക്കുന്നത്. ആപ്പുകൾ വളരെ കൂടുതൽ ബാറ്ററി ഉപയോഗിക്കുന്നെങ്കിൽ, നിങ്ങൾക്ക് സ്വീകരിക്കാവുന്ന നടപടികൾ ഫോൺ നിർദ്ദേശിക്കും.\n\nനിങ്ങളുടെ ഉപകരണം കുറഞ്ഞ ബാറ്ററി ചാർജിലാണ് പ്രവർത്തിക്കുന്നതെങ്കിൽ, നിങ്ങൾക്ക് എപ്പോഴും ബാറ്ററി ലാഭിക്കൽ ഓണാക്കാനാവും."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"നിങ്ങളുടെ ആപ്പുകൾ, ബാറ്ററി സാധാരണ അളവിലാണ് ഉപയോഗിക്കുന്നത്. ആപ്പുകൾ വളരെ കൂടുതൽ ബാറ്ററി ഉപയോഗിക്കുന്നെങ്കിൽ, നിങ്ങൾക്ക് സ്വീകരിക്കാവുന്ന നടപടികൾ ടാബ്ലെറ്റ് നിർദ്ദേശിക്കും.\n\nനിങ്ങളുടെ ഉപകരണം കുറഞ്ഞ ബാറ്ററി ചാർജിലാണ് പ്രവർത്തിക്കുന്നതെങ്കിൽ, നിങ്ങൾക്ക് എപ്പോഴും ബാറ്ററി ലാഭിക്കൽ ഓണാക്കാനാവും."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"നിങ്ങളുടെ ആപ്പുകൾ, ബാറ്ററി സാധാരണ അളവിലാണ് ഉപയോഗിക്കുന്നത്. ആപ്പുകൾ വളരെ കൂടുതൽ ബാറ്ററി ഉപയോഗിക്കുന്നെങ്കിൽ, നിങ്ങൾക്ക് സ്വീകരിക്കാവുന്ന നടപടികൾ ഉപകരണം നിർദ്ദേശിക്കും.\n\nനിങ്ങളുടെ ഉപകരണം കുറഞ്ഞ ബാറ്ററി ചാർജിലാണ് പ്രവർത്തിക്കുന്നതെങ്കിൽ, നിങ്ങൾക്ക് എപ്പോഴും ബാറ്ററി ലാഭിക്കൽ ഓണാക്കാനാവും."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"<xliff:g id="PERCENT">%1$s</xliff:g> ബാറ്ററിയിൽ"</string>
<string name="battery_percentage" msgid="1779934245963043490">"ബാറ്ററി ശതമാനം"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"സ്റ്റാറ്റസ് ബാറിൽ ബാറ്ററി ശതമാനം കാണിക്കുക"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"അവസാനം പൂർണ്ണമായി ചാർജ് ചെയ്തതിന് ശേഷമുള്ള ബാറ്ററി നില"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"കഴിഞ്ഞ 24 മണിക്കൂറിലെ ബാറ്ററി ലെവൽ"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"അവസാനം പൂർണ്ണമായി ചാർജ് ചെയ്തതിന് ശേഷമുള്ള ആപ്പ് ഉപയോഗം"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"കഴിഞ്ഞ 24 മണിക്കൂറിലെ ആപ്പ് ഉപയോഗം"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"അവസാനം പൂർണ്ണമായി ചാർജ് ചെയ്തതിന് ശേഷമുള്ള സിസ്റ്റം ഉപയോഗം"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"കഴിഞ്ഞ 24 മണിക്കൂറിലെ സിസ്റ്റം ഉപയോഗം"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"<xliff:g id="SLOT">%s</xliff:g> എന്നതിനുള്ള സിസ്റ്റം ഉപയോഗം"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"<xliff:g id="SLOT">%s</xliff:g> എന്നതിനുള്ള ആപ്പ് ഉപയോഗം"</string>
@@ -4214,7 +4225,7 @@
<string name="zen_mode_calls_list" msgid="5044730950895749093">"കോളുകൾ"</string>
<string name="zen_mode_calls_header" msgid="8379225445095856726">"തടസ്സപ്പെടുത്താൻ കഴിയുന്ന കോളുകൾ"</string>
<string name="zen_mode_calls_footer" msgid="2008079711083701243">"അനുവദനീയമായ കോളുകൾക്ക് ശബ്ദം വരുന്നുണ്ടെന്ന് ഉറപ്പാക്കാൻ, റിംഗ് ചെയ്യുക എന്നതിലേക്ക് ഉപകരണം സജ്ജീകരിച്ചിട്ടുണ്ടോയെന്ന് പരിശോധിക്കുക"</string>
- <string name="zen_mode_custom_calls_footer" msgid="6521283204577441053">"‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’ എന്നതിന് ഇന്കമിംഗ് കോളുകള് ബ്ലോക്ക് ചെയ്തിരിക്കുന്നു. സുഹൃത്തുക്കളേയും കുടുംബാംഗങ്ങളേയും മറ്റ് കോണ്ടാക്റ്റുകളേയും നിങ്ങളിലേക്ക് എത്തിച്ചേരാന് അനുവദിക്കുന്നതിന് ക്രമീകരണങ്ങളിൽ മാറ്റം വരുത്താം."</string>
+ <string name="zen_mode_custom_calls_footer" msgid="6521283204577441053">"‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’ എന്നതിന് ഇന്കമിംഗ് കോളുകള് ബ്ലോക്ക് ചെയ്തിരിക്കുന്നു. സുഹൃത്തുക്കളേയും കുടുംബാംഗങ്ങളേയും മറ്റ് കോണ്ടാക്റ്റുകളേയും നിങ്ങളെ വിളിക്കാൻ അനുവദിക്കുന്നതിന് ക്രമീകരണങ്ങളിൽ മാറ്റം വരുത്താം."</string>
<string name="zen_mode_starred_contacts_title" msgid="630299631659575589">"നക്ഷത്രചിഹ്നമിട്ടവ"</string>
<string name="zen_mode_starred_contacts_summary_contacts" msgid="1629467178444895094">"{count,plural,offset:2 =0{ഒന്നുമില്ല}=1{{contact_1}}=2{{contact_1}, {contact_2} എന്നിവർ}=3{{contact_1}, {contact_2}, {contact_3} എന്നിവർ}other{{contact_1}, {contact_2} എന്നിവരും മറ്റ് # പേരും}}"</string>
<string name="zen_mode_starred_contacts_empty_name" msgid="2906404745550293688">"(പേരില്ല)"</string>
@@ -4486,7 +4497,7 @@
<string name="choose_voice_input_title" msgid="4855506199101586943">"വോയ്സ് ഇൻപുട്ട് ഉപയോഗിക്കുക"</string>
<string name="default_browser_title" msgid="8342074390782390458">"ബ്രൗസർ ആപ്പ്"</string>
<string name="default_browser_title_none" msgid="4691907418284764833">"സ്ഥിര ബ്രൗസറൊന്നുമില്ല"</string>
- <string name="default_phone_title" msgid="7616730756650803827">"ഫോൺ ആപ്പ്"</string>
+ <string name="default_phone_title" msgid="7616730756650803827">"Phone ആപ്പ്"</string>
<string name="default_app" msgid="445053777504688596">"(സ്ഥിരമായത്)"</string>
<string name="system_app" msgid="1863291702508355041">"(സിസ്റ്റം)"</string>
<string name="system_default_app" msgid="2647834628622214931">"(സിസ്റ്റം ഡിഫോൾട്ട്)"</string>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index f1fcceb..6ae8276 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Танд Bluetooth тохиргоог өөрчлөх зөвшөөрөл байхгүй байна."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Шинэ төхөөрөмж холбох"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Баруун чих хослуулах"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Зүүн чих хослуулах"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Нөгөө чихээ хослуулах"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Таны зүүн чихний сонсголын төхөөрөмж холбогдсон байна.\n\nБаруун чихний төхөөрөмжийг хослуулахын тулд түүнийг асаасан бөгөөд хослуулахад бэлэн эсэхийг шалгана уу."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Таны баруун чихний сонсголын төхөөрөмж холбогдсон байна.\n\nЗүүн чихний төхөөрөмжийг хослуулахын тулд түүнийг асаасан бөгөөд хослуулахад бэлэн эсэхийг шалгана уу."</string>
@@ -147,7 +149,7 @@
<string name="bluetooth_pref_summary" product="tablet" msgid="3506962706611366830">"Таблетдаа ойролцоох Bluetooth төхөөрөмжүүдэд холбогдохыг зөвшөөрөх"</string>
<string name="bluetooth_pref_summary" product="device" msgid="2192027516577675587">"Төхөөрөмждөө ойролцоох Bluetooth төхөөрөмжүүдэд холбогдохыг зөвшөөрөх"</string>
<string name="bluetooth_pref_summary" product="default" msgid="768958961865499804">"Утсандаа ойролцоох Bluetooth төхөөрөмжүүдэд холбогдохыг зөвшөөрөх"</string>
- <string name="bluetooth_disable_a2dp_hw_offload" msgid="5942913792817797541">"Bluetooth A2DP техник хангамжийн хурдасгуурыг идэвхгүй болгох"</string>
+ <string name="bluetooth_disable_a2dp_hw_offload" msgid="5942913792817797541">"Bluetooth A2DP техник хангамжийн шилжүүлэлтийг идэвхгүй болгох"</string>
<string name="bluetooth_disable_le_audio_hw_offload" msgid="4656853795514691257">"Bluetooth LE аудионы техник хангамжийн шилжүүлэлтийг идэвхгүй болгох"</string>
<string name="bluetooth_disable_hw_offload_dialog_title" msgid="6001142380445276918">"Төхөөрөмжийг дахин эхлүүлэх үү?"</string>
<string name="bluetooth_disable_hw_offload_dialog_message" msgid="1524373895333698779">"Та энэ тохиргоог өөрчлөхийн тулд төхөөрөмжөө дахин эхлүүлэх шаардлагатай."</string>
@@ -2455,9 +2457,9 @@
<string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Удаан дарах саатал"</string>
<string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Өнгө хувиргалт"</string>
<string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Өнгө хувиргалтыг ашиглах"</string>
- <string name="accessibility_display_inversion_shortcut_title" msgid="6889624526691513462">"Өнгө урвуулах товчлол"</string>
- <string name="accessibility_display_inversion_preference_intro_text" msgid="1159663288481145318">"Өнгө урвуулах онцлог нь цайвар дэлгэцийг бараан болгоно. Энэ нь мөн бараан дэлгэцийг цайвар болгоно."</string>
- <string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>Анхаарна уу</b><br/> <ol> <li> Медиа болон зураг дахь өнгөнүүд өөрчлөгдөнө</li> <li> Өнгө урвуулах онцлог нь бүх апп дээр ажиллана</li> <li> Бараан дэвсгэрийг үзүүлэхийн тулд оронд нь Бараан загварыг ашиглах боломжтой</li> </ol>"</string>
+ <string name="accessibility_display_inversion_shortcut_title" msgid="6889624526691513462">"Өнгө хувиргалтын товчлол"</string>
+ <string name="accessibility_display_inversion_preference_intro_text" msgid="1159663288481145318">"Өнгө хувиргалт онцлог нь цайвар дэлгэцийг бараан болгоно. Энэ нь мөн бараан дэлгэцийг цайвар болгоно."</string>
+ <string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>Анхаарна уу</b><br/> <ol> <li> Медиа болон зураг дахь өнгөнүүд өөрчлөгдөнө</li> <li> Өнгө хувиргалт онцлог нь бүх апп дээр ажиллана</li> <li> Бараан дэвсгэрийг үзүүлэхийн тулд оронд нь Бараан загварыг ашиглах боломжтой</li> </ol>"</string>
<string name="accessibility_autoclick_preference_title" msgid="2703143361605555752">"Автомат товшилт (тодорхой хугацаатай)"</string>
<string name="accessibility_autoclick_about_title" msgid="152923024405552594">"Автомат товшилтын талаар (тодорхой хугацаа)"</string>
<string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"Автомат товшилтын талаар нэмэлт мэдээлэл авах (тодорхой хугацаа)"</string>
@@ -2492,10 +2494,10 @@
<string name="accessibility_service_primary_open_title" msgid="8655108684769091154">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>-г нээх"</string>
<string name="accessibility_service_auto_added_qs_tooltip_content" msgid="2941824314912928072">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>-г Шуурхай тохиргоонд нэмсэн. Хүссэн үедээ үүнийг асаах эсвэл унтраахын тулд доош шударна уу."</string>
<string name="accessibility_service_qs_tooltip_content" msgid="6002493441414967868">"Та мөн <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>-г Шуурхай тохиргоонд дэлгэцийнхээ дээд хэсгээс нэмэх боломжтой"</string>
- <string name="accessibility_color_correction_auto_added_qs_tooltip_content" msgid="9092661358437404374">"Өнгөний засварыг Шуурхай тохиргоонд нэмсэн. Хүссэн үедээ үүнийг асаах эсвэл унтраахын тулд доош шударна уу."</string>
- <string name="accessibility_color_correction_qs_tooltip_content" msgid="3258628434235475205">"Та мөн өнгөний засварыг Шуурхай тохиргоонд дэлгэцийнхээ дээд хэсгээс нэмэх боломжтой"</string>
- <string name="accessibility_color_inversion_auto_added_qs_tooltip_content" msgid="7267618234972101725">"Өнгө урвуулахыг Шуурхай тохиргоонд нэмсэн. Хүссэн үедээ үүнийг асаах эсвэл унтраахын тулд доош шударна уу."</string>
- <string name="accessibility_color_inversion_qs_tooltip_content" msgid="5046332142185711869">"Та мөн өнгө урвуулахыг Шуурхай тохиргоонд дэлгэцийнхээ дээд хэсгээс нэмэх боломжтой"</string>
+ <string name="accessibility_color_correction_auto_added_qs_tooltip_content" msgid="9092661358437404374">"Өнгө тохируулгыг Шуурхай тохиргоонд нэмсэн. Хүссэн үедээ үүнийг асаах эсвэл унтраахын тулд доош шударна уу."</string>
+ <string name="accessibility_color_correction_qs_tooltip_content" msgid="3258628434235475205">"Та мөн өнгө тохируулгыг Шуурхай тохиргоонд дэлгэцийнхээ дээд хэсгээс нэмэх боломжтой"</string>
+ <string name="accessibility_color_inversion_auto_added_qs_tooltip_content" msgid="7267618234972101725">"Өнгө хувиргалтыг Шуурхай тохиргоонд нэмсэн. Хүссэн үедээ үүнийг асаах эсвэл унтраахын тулд доош шударна уу."</string>
+ <string name="accessibility_color_inversion_qs_tooltip_content" msgid="5046332142185711869">"Та мөн өнгө хувиргалтыг Шуурхай тохиргоонд дэлгэцийнхээ дээд хэсгээс нэмэх боломжтой"</string>
<string name="accessibility_reduce_bright_colors_auto_added_qs_tooltip_content" msgid="1906588335786328512">"Хэт бүүдгэрийг Шуурхай тохиргоонд нэмсэн. Хүссэн үедээ үүнийг асаах эсвэл унтраахын тулд доош шударна уу."</string>
<string name="accessibility_reduce_bright_colors_qs_tooltip_content" msgid="7522121299176176785">"Та мөн хэт бүүдгэрийг Шуурхай тохиргоонд дэлгэцийнхээ дээд хэсгээс нэмэх боломжтой"</string>
<string name="accessibility_one_handed_mode_auto_added_qs_tooltip_content" msgid="7914554254280416532">"Нэг гарын горимыг Шуурхай тохиргоонд нэмсэн. Хүссэн үедээ үүнийг асаах эсвэл унтраахын тулд доош шударна уу."</string>
@@ -2503,12 +2505,12 @@
<string name="accessibility_quick_settings_tooltip_dismiss" msgid="3269120277643884190">"Үл хэрэгсэх"</string>
<string name="accessibility_daltonizer_about_intro_text" product="default" msgid="3636710237139542212">"Таны утсан дээр өнгийг хэрхэн үзүүлэхийг тохируулна уу"</string>
<string name="accessibility_daltonizer_about_intro_text" product="tablet" msgid="3702653229533336133">"Таны таблет дээр өнгийг хэрхэн үзүүлэхийг тохируулна уу"</string>
- <string name="accessibility_daltonizer_primary_switch_title" msgid="32064721588910540">"Өнгөний засварыг ашиглах"</string>
- <string name="accessibility_daltonizer_shortcut_title" msgid="7480360363995502369">"Өнгөний засварын товчлол"</string>
- <string name="accessibility_daltonizer_about_title" msgid="6063650804116981287">"Өнгөний засварын тухай"</string>
- <string name="accessibility_daltonizer_footer_learn_more_content_description" msgid="2091679253892040910">"Өнгөний засварын тухай нэмэлт мэдээлэл авах"</string>
- <string name="accessibility_color_inversion_about_title" msgid="8275754480247040136">"Өнгө урвуулах тухай"</string>
- <string name="accessibility_color_inversion_footer_learn_more_content_description" msgid="5382579548498952445">"Өнгө урвуулах тухай нэмэлт мэдээлэл авах"</string>
+ <string name="accessibility_daltonizer_primary_switch_title" msgid="32064721588910540">"Өнгө тохируулга ашиглах"</string>
+ <string name="accessibility_daltonizer_shortcut_title" msgid="7480360363995502369">"Өнгө тохируулгын товчлол"</string>
+ <string name="accessibility_daltonizer_about_title" msgid="6063650804116981287">"Өнгө тохируулгын тухай"</string>
+ <string name="accessibility_daltonizer_footer_learn_more_content_description" msgid="2091679253892040910">"Өнгө тохируулгын тухай нэмэлт мэдээлэл авах"</string>
+ <string name="accessibility_color_inversion_about_title" msgid="8275754480247040136">"Өнгө хувиргалтын тухай"</string>
+ <string name="accessibility_color_inversion_footer_learn_more_content_description" msgid="5382579548498952445">"Өнгө хувиргалтын тухай нэмэлт мэдээлэл авах"</string>
<string name="accessibility_caption_primary_switch_title" msgid="8901149325574757370">"Тайлбарыг харуулах"</string>
<string name="accessibility_caption_primary_switch_summary" msgid="2754071646412717674">"Зөвхөн дэмждэг аппад"</string>
<string name="captioning_caption_appearance_title" msgid="4501313548541670063">"Тайлбарын үсгийн хэмжээ, загвар"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Зарим онцлогийг хязгаарласан байж болзошгүй"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Батарейн өндөр ашиглалт"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Хамгийн өндөр ашиглалттай аппуудыг харна уу"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Цэнэглэхийг түр зуур хязгаарласан"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Батарейгаа хэмнэхийн тулд. Нэмэлт мэдээлэл авна уу."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Цэнэглэхийг үргэлжлүүлэх"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Өндөр температур болон удаан цэнэглэх хугацаа зэрэг тодорхой нөхцөлд цэнэглэлтийг батарейн барилтыг хадгалахын тулд <xliff:g id="PERCENT">%1$s</xliff:g>-д хязгаарласан байж магадгүй.\n\nЭдгээр нөхцөл дуусах үед таны утсыг автоматаар хэвийн байдлаар цэнэглэнэ."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Өндөр температур болон удаан цэнэглэх хугацаа зэрэг тодорхой нөхцөлд цэнэглэлтийг батарейн барилтыг хадгалахын тулд <xliff:g id="PERCENT">%1$s</xliff:g>-д хязгаарласан байж магадгүй.\n\nЭдгээр нөхцөл дуусах үед таны таблетыг автоматаар хэвийн байдлаар цэнэглэнэ."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Энэ апп батарейг цаана ашиглах боломжтой болно. Таны батарей тооцоолж байснаас хурдан дуусаж болзошгүй."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Устгах"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Цуцлах"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Таны апп хэвийн хэмжээний батарей ашиглаж байна. Хэрэв апп хэт их батарей ашиглаж байвал таны утас танд авах боломжтой алхмуудыг санал болгоно.\n\nХэрэв таны батарей дуусах гэж байвал та Батарей хэмнэгчийг хүссэн үедээ асаах боломжтой."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Таны апп хэвийн хэмжээний батарей ашиглаж байна. Хэрэв апп хэт их батарей ашиглаж байвал таны таблет танд авах боломжтой алхмуудыг санал болгоно.\n\nХэрэв таны батарей дуусах гэж байвал та Батарей хэмнэгчийг хүссэн үедээ асаах боломжтой."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Таны апп хэвийн хэмжээний батарей ашиглаж байна. Хэрэв апп хэт их батарей ашиглаж байвал таны төхөөрөмж танд авах боломжтой алхмуудыг санал болгоно.\n\nХэрэв таны батарей дуусах гэж байвал та Батарей хэмнэгчийг хүссэн үедээ асаах боломжтой."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"батарей <xliff:g id="PERCENT">%1$s</xliff:g> болоход"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Батарейн хувь"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Батарейн хувийг статус самбарт харуулах"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Сүүлд бүрэн цэнэглэснээс хойших батарейн түвшин"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Өнгөрсөн 24 цагийн батарейн түвшин"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Сүүлд бүрэн цэнэглэснээс хойших апп ашиглалт"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Өнгөрсөн 24 цагийн аппын ашиглалт"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Сүүлд бүрэн цэнэглэснээс хойших системийн ашиглалт"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Өнгөрсөн 24 цагийн системийн ашиглалт"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"<xliff:g id="SLOT">%s</xliff:g>-н системийн ашиглалт"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"<xliff:g id="SLOT">%s</xliff:g>-н аппын ашиглалт"</string>
@@ -4437,8 +4448,8 @@
<item quantity="other">Ашиглаагүй <xliff:g id="COUNT_1">%d</xliff:g> апп</item>
<item quantity="one">Ашиглаагүй <xliff:g id="COUNT_0">%d</xliff:g> апп</item>
</plurals>
- <string name="unused_apps_category" msgid="8954930958175500851">"Хэрэглээгүй аппын тохиргоо"</string>
- <string name="unused_apps_switch" msgid="7595419855882245772">"Ашигладаггүй бол аппын үйл ажиллагааг түр зогсоох"</string>
+ <string name="unused_apps_category" msgid="8954930958175500851">"Ашиглаагүй аппын тохиргоо"</string>
+ <string name="unused_apps_switch" msgid="7595419855882245772">"Ашиглаагүй бол аппын үйл ажиллагааг түр зогсоох"</string>
<string name="unused_apps_switch_summary" msgid="2171098908014596802">"Зөвшөөрлийг хасаж, түр зуурын файлыг устгаж мөн мэдэгдлийг зогсооно"</string>
<string name="filter_all_apps" msgid="6645539744080251371">"Бүх апп"</string>
<string name="filter_enabled_apps" msgid="8868356616126759124">"Суулгасан апп"</string>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index 6dc13c2..ac4c564 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"आपल्याकडे ब्लूटूथ सेटिंग्ज बदलण्याची परवानगी नाही."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"नवीन डिव्हाइससोबत पेअर करा"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"ब्लूटूथ"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"उजवा कान पेअर करा"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"डावा कान पेअर करा"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"तुमचा दुसरा कान पेअर करा"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"तुमचे डावे श्रवणयंत्र कनेक्ट केलेले आहे.\n\nउजवे पेअर करण्यासाठी, ते सुरू केलेले आणि पेअर करण्याकरिता तयार असल्याची खात्री करा."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"तुमचे उजवे श्रवणयंत्र कनेक्ट केलेले आहे.\n\nडावे पेअर करण्यासाठी, ते सुरू केलेले आणि पेअर करण्याकरिता तयार असल्याची खात्री करा."</string>
@@ -2456,7 +2458,7 @@
<string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"स्पर्श आणि धरण्याचा विलंब"</string>
<string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"कलर इन्व्हर्जन"</string>
<string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"कलर इन्व्हर्जन वापरा"</string>
- <string name="accessibility_display_inversion_shortcut_title" msgid="6889624526691513462">"कलर इंव्हर्जनचा शॉर्टकट"</string>
+ <string name="accessibility_display_inversion_shortcut_title" msgid="6889624526691513462">"कलर इन्व्हर्जनचा शॉर्टकट"</string>
<string name="accessibility_display_inversion_preference_intro_text" msgid="1159663288481145318">"कलर इन्व्हर्जन हे फिकट रंगाच्या स्क्रीन गडद करते. हे गडद स्क्रीन फिकटदेखील करते."</string>
<string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>लक्षात ठेवा, की</b><br/> <ol> <li> मीडिया आणि इमेज यांमधील रंग बदलतील</li> <li> कलर इन्व्हर्जन हे सर्व ॲप्सवर काम करते</li> <li> गडद बॅकग्राउंड प्रदर्शित करण्यासाठी, त्याऐवजी गडद थीम वापरता येते</li> </ol>"</string>
<string name="accessibility_autoclick_preference_title" msgid="2703143361605555752">"ऑटोक्लिक (थांबल्याची वेळ)"</string>
@@ -2760,8 +2762,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"काही वैशिष्ट्ये मर्यादित असू शकतात"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"उच्च बॅटरी वापर"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"सर्वात जास्त वापरली जाणारी ॲप्स पहा"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"चार्जिंग तात्पुरते मर्यादित आहे"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"तुमची बॅटरी वाचवण्यासाठी. अधिक जाणून घ्या."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"चार्जिंग पुन्हा सुरू करा"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"उच्च तापमान आणि दीर्घ कालावधीसाठी चार्जिंग करणे यांसारख्या काही परिस्थितींमध्ये, बॅटरीची क्षमता कायम ठेवण्यात मदत व्हावी यासाठी चार्जिंग हे <xliff:g id="PERCENT">%1$s</xliff:g> पर्यंत मर्यादित केले जाऊ शकते.\n\nअशा परिस्थितींमधून बाहेर पडल्यावर, तुमचा फोन नेहमीप्रमाणे आपोआप चार्ज होईल."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"उच्च तापमान आणि दीर्घ कालावधीसाठी चार्जिंग करणे यांसारख्या काही परिस्थितींमध्ये, बॅटरीची क्षमता कायम ठेवण्यात मदत व्हावी यासाठी चार्जिंग हे <xliff:g id="PERCENT">%1$s</xliff:g> पर्यंत मर्यादित केले जाऊ शकते.\n\nअशा परिस्थितींमधून बाहेर पडल्यावर, तुमचा टॅबलेट नेहमीप्रमाणे आपोआप चार्ज होईल."</string>
@@ -2797,6 +2803,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"या ॲपला बॅकग्राउंडमध्ये बॅटरी वापरता येईल. तुमची बॅटरी अपेक्षेपेक्षा लवकर संपू शकते."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"काढा"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"रद्द करा"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"तुमची अॅप्स योग्य प्रमाणात बॅटरी वापरत आहेत. तुमची अॅप्स जास्त बॅटरी वापरत असल्यास तुमचा फोन तुम्ही करू शकता अशा कृत्या सुचवेल.\n\nबॅटरी संपत आली असल्यास तुम्ही कायम बॅटरी सेव्हर सुरू करू शकता."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"तुमची अॅप्स योग्य प्रमाणात बॅटरी वापरत आहेत. तुमची अॅप्स जास्त बॅटरी वापरत असल्यास तुमचा टॅब्लेट तुम्ही करू शकता अशा कृत्या सुचवेल.\n\nबॅटरी संपत आली असल्यास तुम्ही कायम बॅटरी सेव्हर सुरू करू शकता."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"तुमची अॅप्स योग्य प्रमाणात बॅटरी वापरत आहेत. तुमची अॅप्स जास्त बॅटरी वापरत असल्यास तुमचे डिव्हाइस तुम्ही करू शकता अशा क्रिया सुचवेल. \n\nबॅटरी संपत आली असल्यास तुम्ही कायम बॅटरी सेव्हर सुरू करू शकता."</string>
@@ -2974,8 +2982,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"<xliff:g id="PERCENT">%1$s</xliff:g>बॅटरीवर"</string>
<string name="battery_percentage" msgid="1779934245963043490">"बॅटरी टक्केवारी"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"स्टेटस बारमध्ये बॅटरी टक्केवारी दर्शवा"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"शेवटच्या पूर्ण चार्जनंतरची बॅटरी पातळी"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"मागील २४ तासांमधील बॅटरीची पातळी"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"शेवटच्या पूर्ण चार्जनंतरचा अॅप वापर"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"मागील २४ तासांमधील ॲपचा वापर"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"शेवटच्या पूर्ण चार्जनंतरचा सिस्टीम वापर"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"मागील २४ तासांमधील सिस्टीमचा वापर"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"<xliff:g id="SLOT">%s</xliff:g> साठी सिस्टीमचा वापर"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"<xliff:g id="SLOT">%s</xliff:g> साठी ॲपचा वापर"</string>
@@ -4086,12 +4097,12 @@
<string name="picture_in_picture_app_detail_title" msgid="4442235098255164650">"चित्रात चित्र"</string>
<string name="picture_in_picture_app_detail_switch" msgid="8544190716075624017">"चित्रात चित्राची अनुमती द्या"</string>
<string name="picture_in_picture_app_detail_summary" msgid="2503211101305358849">"अॅप सुरू असताना किंवा तुम्ही ते सोडल्यानंतर या अॅपला चित्रात चित्र विंडो तयार करण्याची परवानगी द्या (उदाहरणार्थ, व्हिडिओ पाहणे सुरू ठेवणे). ही विंडो तुम्ही वापरत असलेल्या इतर अॅप्सच्या वरती दिसते."</string>
- <string name="interact_across_profiles_title" msgid="7285906999927669971">"कनेक्ट केलेली कामाशी संबंधित आणि वैयक्तिक ॲप्स"</string>
+ <string name="interact_across_profiles_title" msgid="7285906999927669971">"कनेक्ट केलेली कार्य आणि वैयक्तिक ॲप्स"</string>
<string name="interact_across_profiles_summary_allowed" msgid="1365881452153799092">"कनेक्ट केले आहे"</string>
<string name="interact_across_profiles_summary_not_allowed" msgid="5802674212788171790">"कनेक्ट केलेले नाही"</string>
<string name="interact_across_profiles_empty_text" msgid="419061031064397168">"कोणतीही कनेक्ट केलेली अॅप्स नाहीत"</string>
<string name="interact_across_profiles_keywords" msgid="5996472773111665049">"क्रॉस प्रोफाइल कनेक्ट केलेली ॲप्स कार्य आणि वैयक्तिक"</string>
- <string name="interact_across_profiles_app_detail_title" msgid="7776184211173575648">"कनेक्ट केलेली कामाशी संबंधित आणि वैयक्तिक ॲप्स"</string>
+ <string name="interact_across_profiles_app_detail_title" msgid="7776184211173575648">"कनेक्ट केलेली कार्य आणि वैयक्तिक ॲप्स"</string>
<string name="interact_across_profiles_switch_enabled" msgid="7294719120282287495">"कनेक्ट केलेले"</string>
<string name="interact_across_profiles_switch_disabled" msgid="4312196170211463988">"ही अॅप्स कनेक्ट करा"</string>
<string name="interact_across_profiles_summary_1" msgid="6093976896137600231">"कनेक्ट केलेली अॅप्स परवानग्या शेअर करतात आणि एकमेकांचा डेटा अॅक्सेस करू शकतात."</string>
@@ -5145,7 +5156,7 @@
<string name="storage_audio" msgid="5994664984472140386">"ऑडिओ"</string>
<string name="storage_apps" msgid="3564291603258795216">"ॲप्स"</string>
<string name="storage_documents_and_other" msgid="3293689243732236480">"दस्तऐवज आणि इतर"</string>
- <string name="storage_system" msgid="8472410119822911844">"सिस्टम"</string>
+ <string name="storage_system" msgid="8472410119822911844">"सिस्टीम"</string>
<string name="storage_trash" msgid="2807138998886084856">"ट्रॅश"</string>
<string name="storage_trash_dialog_title" msgid="2296169576049935200">"ट्रॅश रिकामा करायचा?"</string>
<string name="storage_trash_dialog_ask_message" msgid="8982602137242358798">"ट्रॅशमध्ये <xliff:g id="TOTAL">%1$s</xliff:g> फाइल आहेत. सर्व आयटम कायमचे हटवले जातील आणि तुम्हाला ते रिस्टोअर करता येणार नाहीत."</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 0feb85c..39575a5 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Anda tidak mempunyai kebenaran untuk menukar tetapan Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Gandingkan peranti baharu"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Gandingkan telinga kanan"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Gandingkan telinga kiri"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Gandingkan telinga lagi satu"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Alat bantu pendengaran kiri anda disambungkan.\n\nUntuk menggandingkan alat bantu pendengaran kanan, pastikan alat dihidupkan dan sedia untuk digandingkan."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Alat bantu pendengaran kanan anda disambungkan.\n\nUntuk menggandingkan alat bantu pendengaran kiri, pastikan alat dihidupkan dan sedia untuk digandingkan."</string>
@@ -1625,7 +1627,7 @@
<string name="storage_menu_manage" msgid="7465522758801346408">"Urus storan"</string>
<string name="keywords_storage_menu_free" msgid="2275406357317597106">"bersih, storan"</string>
<string name="storage_free_up_space_title" msgid="281047807372131975">"Kosongkan ruang"</string>
- <string name="storage_free_up_space_summary" msgid="6650027929735481350">"Pergi ke apl Fail untuk mengurus dan mengosongkan ruang"</string>
+ <string name="storage_free_up_space_summary" msgid="6650027929735481350">"Pergi ke apl Files untuk mengurus dan mengosongkan ruang"</string>
<string name="storage_title_usb" msgid="1332488715547400452">"Sambungan komputer USB"</string>
<string name="usb_connection_category" msgid="2288543238378907242">"Sambung sebagai"</string>
<string name="usb_mtp_title" msgid="9068009584556422314">"Peranti media (MTP)"</string>
@@ -2318,7 +2320,7 @@
<string name="select_to_speak_summary" msgid="1995285446766920925">"Ketik item pada skrin anda untuk mendengar item itu dibaca"</string>
<string name="accessibility_captioning_title" msgid="4561871958958925225">"Pilihan sari kata"</string>
<string name="accessibility_captioning_about_title" msgid="3542171637334191563">"Perihal pilihan kapsyen"</string>
- <string name="accessibility_captioning_footer_learn_more_content_description" msgid="5730040700677017706">"Ketahui lebih lanjut tentang pilihan kapsyen"</string>
+ <string name="accessibility_captioning_footer_learn_more_content_description" msgid="5730040700677017706">"Ketahui lebih lanjut tentang pilihan sari kata"</string>
<string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Pembesaran"</string>
<string name="accessibility_screen_magnification_shortcut_title" msgid="2387963646377987780">"Pintasan pembesaran"</string>
<string name="accessibility_screen_magnification_follow_typing_title" msgid="6379517513916651560">"Besarkan taipan"</string>
@@ -2509,7 +2511,7 @@
<string name="accessibility_daltonizer_footer_learn_more_content_description" msgid="2091679253892040910">"Ketahui lebih lanjut tentang pembetulan warna"</string>
<string name="accessibility_color_inversion_about_title" msgid="8275754480247040136">"Perihal penyongsangan warna"</string>
<string name="accessibility_color_inversion_footer_learn_more_content_description" msgid="5382579548498952445">"Ketahui lebih lanjut tentang penyongsangan warna"</string>
- <string name="accessibility_caption_primary_switch_title" msgid="8901149325574757370">"Tunjukkan kapsyen"</string>
+ <string name="accessibility_caption_primary_switch_title" msgid="8901149325574757370">"Tunjukkan sari kata"</string>
<string name="accessibility_caption_primary_switch_summary" msgid="2754071646412717674">"Untuk apl yang disokong sahaja"</string>
<string name="captioning_caption_appearance_title" msgid="4501313548541670063">"Saiz dan gaya sari kata"</string>
<string name="captioning_caption_appearance_summary" msgid="7340741178479381312">"Saiz teks <xliff:g id="ACCESSIBILITY_FONT_SIZE">%1$s</xliff:g>"</string>
@@ -2601,7 +2603,7 @@
<string name="captioning_edge_color" msgid="6035818279902597518">"Warna sisi"</string>
<string name="captioning_edge_type" msgid="5281259280060811506">"Jenis sisi"</string>
<string name="captioning_typeface" msgid="285325623518361407">"Keluarga fon"</string>
- <string name="captioning_preview_text" msgid="4973475065545995704">"Kapsyen akan kelihatan seperti ini"</string>
+ <string name="captioning_preview_text" msgid="4973475065545995704">"Sari kata akan kelihatan seperti ini"</string>
<string name="captioning_preview_characters" msgid="7854812443613580460">"Aa"</string>
<string name="locale_default" msgid="8948077172250925164">"Lalai"</string>
<string name="color_title" msgid="2511586788643787427">"Warna"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Sesetengah ciri mungkin terhad"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Penggunaan bateri tertinggi"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Lihat apl dengan penggunaan tertinggi"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Pengecasan terhad sementara"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Untuk menjimatkan bateri anda. Ketahui lebih lanjut."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Sambung semula pengecasan"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Dalam keadaan tertentu, seperti suhu tinggi dan tempoh pengecasan yang panjang, pengecasan mungkin dihadkan kepada <xliff:g id="PERCENT">%1$s</xliff:g> untuk membantu anda mengekalkan kesihatan bateri.\n\nApabila keadaan tersebut berakhir, telefon anda akan dicas secara automatik seperti biasa."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Dalam keadaan tertentu, seperti suhu tinggi dan tempoh pengecasan yang panjang, pengecasan mungkin dihadkan kepada <xliff:g id="PERCENT">%1$s</xliff:g> untuk membantu anda mengekalkan kesihatan bateri.\n\nApabila keadaan tersebut berakhir, tablet anda akan dicas secara automatik seperti biasa."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Apl ini dapat menggunakan bateri di latar belakang. Bateri anda mungkin kehabisan lebih cepat daripada yang dijangkakan."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Alih keluar"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Batal"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Apl anda menggunakan jumlah kuasa bateri seperti biasa. Jika apl menggunakan terlalu banyak kuasa bateri, telefon anda akan mencadangkan tindakan yang boleh anda ambil.\n\nAnda boleh menghidupkan Penjimat Bateri pada sepanjang masa jika anda hampir kehabisan kuasa bateri."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Apl anda menggunakan jumlah kuasa bateri seperti biasa. Jika apl menggunakan terlalu banyak kuasa bateri, tablet anda akan mencadangkan tindakan yang boleh anda ambil.\n\nAnda boleh menghidupkan Penjimat Bateri pada sepanjang masa jika anda hampir kehabisan kuasa bateri."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Apl anda menggunakan jumlah kuasa bateri seperti biasa. Jika apl menggunakan terlalu banyak kuasa bateri, peranti anda akan mencadangkan tindakan yang boleh anda ambil.\n\nAnda boleh menghidupkan Penjimat Bateri pada sepanjang masa jika anda hampir kehabisan kuasa bateri."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"pada <xliff:g id="PERCENT">%1$s</xliff:g> bateri"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Peratusan kuasa bateri"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Tunjukkan peratusan kuasa bateri dalam bar status"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Tahap bateri sejak cas penuh terakhir"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Tahap bateri untuk tempoh 24 jam lalu"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Penggunaan apl sejak cas penuh terakhir"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Penggunaan apl untuk tempoh 24 jam lalu"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Penggunaan sistem sejak cas penuh terakhir"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Penggunaan sistem untuk tempoh 24 jam lalu"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Penggunaan sistem untuk <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Penggunaan apl untuk <xliff:g id="SLOT">%s</xliff:g>"</string>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index ebad7bf..6480831 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"ဘလူးတုသ် ဆက်တင်များကို ပြောင်းလဲရန် သင့်ဆီမှာ ခွင့်ပြုချက် မရှိပါ။"</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"စက်အသစ် တွဲချိတ်ရန်"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"ဘလူးတုသ်"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"ညာဘက်ကိုတွဲချိတ်ရန်"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"ဘယ်ဘက်ကိုတွဲချိတ်ရန်"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"အခြားတစ်ဖက်တွဲချိတ်ခြင်း"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"သင့်ဘယ်ဘက် နားကြားကိရိယာကို ချိတ်ဆက်ပြီးပြီ။\n\nညာဘက်ဖြင့် တွဲချိတ်ရန် ၎င်းကိုဖွင့်ထားပြီး တွဲချိတ်ရန်အသင့်ဖြစ်နေကြောင်း သေချာပါစေ။"</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"သင့်ညာဘက် နားကြားကိရိယာကို ချိတ်ဆက်ပြီးပြီ။\n\nဘယ်ဘက်ဖြင့် တွဲချိတ်ရန် ၎င်းကိုဖွင့်ထားပြီး တွဲချိတ်ရန်အသင့်ဖြစ်နေကြောင်း သေချာပါစေ။"</string>
@@ -147,8 +149,8 @@
<string name="bluetooth_pref_summary" product="tablet" msgid="3506962706611366830">"သင့်တက်ဘလက်အား အနီးအနားရှိ \'ဘလူးတုသ်\' စက်ပစ္စည်းများနှင့် ချိတ်ဆက်ခွင့်ပေးသည်"</string>
<string name="bluetooth_pref_summary" product="device" msgid="2192027516577675587">"သင့်စက်ပစ္စည်းအား အနီးအနားရှိ \'ဘလူးတုသ်\' စက်ပစ္စည်းများနှင့် ချိတ်ဆက်ခွင့်ပေးသည်"</string>
<string name="bluetooth_pref_summary" product="default" msgid="768958961865499804">"သင့်ဖုန်းအား အနီးအနားရှိ \'ဘလူးတုသ်\' စက်ပစ္စည်းများနှင့် ချိတ်ဆက်ခွင့်ပေးသည်"</string>
- <string name="bluetooth_disable_a2dp_hw_offload" msgid="5942913792817797541">"ဘလူးတုသ် A2DP ဟာ့ဒ်ဝဲဖြုတ်ခြင်း ပိတ်ရန်"</string>
- <string name="bluetooth_disable_le_audio_hw_offload" msgid="4656853795514691257">"ဘလူးတုသ် LE အသံ ဟာ့ဒ်ဝဲဖြုတ်ချမှု ပိတ်ရန်"</string>
+ <string name="bluetooth_disable_a2dp_hw_offload" msgid="5942913792817797541">"ဘလူးတုသ် A2DP ဟာ့ဒ်ဝဲသုံးပို့ခြင်း ပိတ်ရန်"</string>
+ <string name="bluetooth_disable_le_audio_hw_offload" msgid="4656853795514691257">"ဘလူးတုသ် LE အသံ ဟာ့ဒ်ဝဲသုံးပို့ခြင်း ပိတ်ရန်"</string>
<string name="bluetooth_disable_hw_offload_dialog_title" msgid="6001142380445276918">"စက်ပြန်စလိုပါသလား။"</string>
<string name="bluetooth_disable_hw_offload_dialog_message" msgid="1524373895333698779">"ဤဆက်တင်ကိုပြောင်းရန် သင့်စက်ကို ပြန်စရမည်။"</string>
<string name="bluetooth_disable_hw_offload_dialog_confirm" msgid="5594859658551707592">"ပြန်စရန်"</string>
@@ -159,7 +161,7 @@
<string name="connected_device_call_device_title" msgid="88732390601723608">"ခေါ်ဆိုမှု စက်ပစ္စည်းများ"</string>
<string name="connected_device_other_device_title" msgid="4652120430615729193">"အခြား စက်ပစ္စည်းများ"</string>
<string name="connected_device_saved_title" msgid="5607274378851905959">"သိမ်းထားသည့် စက်ပစ္စည်းများ"</string>
- <string name="connected_device_add_device_summary" msgid="8671009879957120802">"တွဲချိတ်ရန် \'ဘလူးတုသ်\' ကို ဖွင့်ပါမည်"</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_title" msgid="605808252622814415">"ယခင်က ချိတ်ဆက်ထားသော စက်များ"</string>
<string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"ယခင် ချိတ်ဆက်ထားသည်များ"</string>
@@ -1055,7 +1057,7 @@
<string name="wifi_ap_5G" msgid="3493942667238551207">"၅.၀ GHz"</string>
<string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Wi‑Fi ဟော့စပေါ့အတွက် အနည်းဆုံး လိုင်းတစ်လိုင်းရွေးပါ−"</string>
<string name="wifi_ip_settings" msgid="6420498748726599133">"IP ဆက်တင်များ"</string>
- <string name="wifi_privacy_settings" msgid="3283946009000725698">"ကန့်သတ်ဆက်တင်"</string>
+ <string name="wifi_privacy_settings" msgid="3283946009000725698">"ကိုယ်ရေးအချက်အလက်လုံခြုံမှု"</string>
<string name="wifi_subscription" msgid="4432423938285430113">"စာရင်းသွင်းမှု"</string>
<string name="wifi_subscription_summary" msgid="18802471063384598">"စာရင်းသွင်းမှုကို ကြည့်ရန် သို့မဟုတ် ပြောင်းရန်"</string>
<string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"ကျပန်း MAC"</string>
@@ -1434,8 +1436,8 @@
<string name="dark_ui_summary_on_auto_mode_custom_bedtime" msgid="1976993025762551246">"အိပ်ချိန်ကျော်လျှင် အလိုအလျောက်ပိတ်ပေးမည်"</string>
<string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"<xliff:g id="ID_1">%1$s</xliff:g> အထိ ဖွင့်ရန်"</string>
<string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"<xliff:g id="ID_1">%1$s</xliff:g> အထိ ပိတ်ရန်"</string>
- <string name="dark_ui_text" msgid="4392646155331126666">"အချို့ဖန်သားပြင်များတွင် ဘက်ထရီသက်တမ်း ပိုခံနိုင်ရန် မှောင်သည့် အပြင်အဆင်က အနက်ရောင်နောက်ခံကို အသုံးပြုသည်။ သင့်ဖန်သားပြင်ပိတ်သည်အထိ စောင့်ပြီးမှ မှောင်သည့် အပြင်အဆင် စတင်သည်။"</string>
- <string name="dark_ui_bedtime_footer_summary" msgid="5576501833145170581">"မှောင်သည့် အပြင်အဆင်သည် သင့်အိပ်ချိန်မုဒ် အချိန်ဇယားအတိုင်း ယခုလုပ်ဆောင်နေသည်"</string>
+ <string name="dark_ui_text" msgid="4392646155331126666">"အချို့ဖန်သားပြင်များတွင် ဘက်ထရီသက်တမ်း ပိုခံနိုင်ရန် အမှောင်နောက်ခံက အနက်ရောင်နောက်ခံကို အသုံးပြုသည်။ သင့်ဖန်သားပြင်ပိတ်သည်အထိ စောင့်ပြီးမှ အမှောင်နောက်ခံ စတင်သည်။"</string>
+ <string name="dark_ui_bedtime_footer_summary" msgid="5576501833145170581">"အမှောင်နောက်ခံသည် လက်ရှိတွင် သင့်အိပ်ချိန်မုဒ် အချိန်ဇယားအတိုင်း လုပ်ဆောင်နေသည်"</string>
<string name="dark_ui_bedtime_footer_action" msgid="1493095487994054339">"အိပ်ချိန်မုဒ် ဆက်တင်များ"</string>
<string name="screen_timeout" msgid="7709947617767439410">"ဖန်သားပြင် ခဏရပ်ချိန်"</string>
<string name="screen_timeout_title" msgid="785134393520893049">"မျက်နှာပြင်ကို ပိတ်ထားသည်"</string>
@@ -2340,7 +2342,7 @@
<string name="accessibility_magnification_switch_shortcut_positive_button" msgid="2446942190957296957">"အများသုံးစွဲနိုင်မှု ခလုတ်သို့ ပြောင်းရန်"</string>
<string name="accessibility_magnification_switch_shortcut_negative_button" msgid="7115794462123071594">"သုံးချက်တို့ခြင်းကို သုံးရန်"</string>
<string name="accessibility_magnification_triple_tap_warning_title" msgid="8484669851397296597">"၎င်းသည် သင့်ကီးဘုတ်ကို နှေးသွားစေနိုင်သည်"</string>
- <string name="accessibility_magnification_triple_tap_warning_message" msgid="2008671502848936410">"သင်၏ဖန်သားပြင် တစ်စိတ်တစ်ပိုင်းကို ချဲ့ရန် သုံးချက်တို့သောအခါ ကီးဘုတ်တွင် ပြဿနာများကို တွေ့နိုင်သည်။\n\nဤသို့မဖြစ်စေရန် ချဲ့သည့်ဖြတ်လမ်းလင့်ခ်ကို သုံးချက်တို့ခြင်းမှ အခြားပုံစံတစ်ခုသို့ ပြောင်းနိုင်သည်။\n"<annotation id="link">"ဆက်တင်ပြောင်းရန်"</annotation></string>
+ <string name="accessibility_magnification_triple_tap_warning_message" msgid="2008671502848936410">"သင်၏ဖန်သားပြင် တစ်စိတ်တစ်ပိုင်းကို ချဲ့ရန် သုံးချက်တို့သောအခါ ကီးဘုတ်တွင် ပြဿနာများကို တွေ့နိုင်သည်။\n\nဤသို့မဖြစ်စေရန် ချဲ့သည့်ဖြတ်လမ်းအတွက် သုံးချက်တို့ခြင်းမှ အခြားပုံစံတစ်ခုသို့ ပြောင်းနိုင်သည်။\n"<annotation id="link">"ဆက်တင်ပြောင်းရန်"</annotation></string>
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"မည်သို့ပင်ဖြစ်စေ ရှေ့ဆက်ရန်"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"မလုပ်တော့"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"ပုံကြီးချဲ့ခြင်း ဆက်တင်များ"</string>
@@ -2448,7 +2450,7 @@
<string name="accessibility_timeout_2mins" msgid="7901692984522708679">"၂ မိနစ်"</string>
<string name="accessibility_setting_item_control_timeout_title" msgid="1600516937989217899">"လုပ်ရန်အချိန် (အသုံးလွယ်မှုအချိန်ကုန်ခြင်း)"</string>
<string name="accessibility_control_timeout_about_title" msgid="813588002683460837">"လုပ်ရန်အချိန် အကြောင်း (အများသုံးစွဲနိုင်မှု အချိန်ကုန်သွားခြင်း)"</string>
- <string name="accessibility_control_timeout_footer_learn_more_content_description" msgid="8118584413220542193">"လုပ်ရန်အချိန် အကြောင်း (အများသုံးစွဲနိုင်မှု အချိန်ကုန်သွားခြင်း) ပိုမိုလေ့လာရန်"</string>
+ <string name="accessibility_control_timeout_footer_learn_more_content_description" msgid="8118584413220542193">"လုပ်ဆောင်ရန် လိုအပ်ချိန် (အများသုံးစွဲနိုင်မှု အချိန်ကုန်သွားခြင်း) အကြောင်း ပိုမိုလေ့လာရန်"</string>
<string name="accessibility_control_timeout_preference_title" msgid="1443940538597464758">"တစ်ခုခုလုပ်ဆောင်ရန် အချိန်"</string>
<string name="accessibility_control_timeout_preference_summary" msgid="4037051091059316310">"ဤအချိန်ကိုက်ခြင်းသတ်မှတ်ချက်ကို အက်ပ်တိုင်းက မပံ့ပိုးပါ"</string>
<string name="accessibility_control_timeout_preference_intro_text" msgid="1398116710556762245">"တစ်ခုခုလုပ်ဆောင်ရန်ပြောသည့် ယာယီမက်ဆေ့ဂျ်များ မည်မျှကြာပြရမည်ကို ရွေးနိုင်သည်"</string>
@@ -2457,10 +2459,10 @@
<string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"အရောင် ပြောင်းပြန်လှန်ခြင်းကို သုံးပါ"</string>
<string name="accessibility_display_inversion_shortcut_title" msgid="6889624526691513462">"အရောင်ပြောင်းပြန်ပြုလုပ်ခြင်း ဖြတ်လမ်းလင့်ခ်"</string>
<string name="accessibility_display_inversion_preference_intro_text" msgid="1159663288481145318">"အရောင်ပြောင်းပြန်ပြုလုပ်ခြင်းသည် လင်းသည့်ဖန်သားပြင်ကို မှောင်စေသည်။ မှောင်သည့်ဖန်သားပြင်ကိုလည်း လင်းစေသည်။"</string>
- <string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>သတိပြုရန်</b><br/> <ol> <li> မီဒီယာနှင့် ပုံများတွင် အရောင်ပြောင်းသွားမည်</li> <li> အရောင်ပြောင်းပြန်ပြုလုပ်ခြင်းသည် အက်ပ်အားလုံးတွင် အလုပ်လုပ်သည်</li> <li> နောက်ခံအမှောင်ပြရန် ‘မှောင်သည့် အပြင်အဆင်’ ကို အစားထိုးသုံးနိုင်သည်</li> </ol>"</string>
- <string name="accessibility_autoclick_preference_title" msgid="2703143361605555752">"အလိုအလျောက် နှိပ်ခြင်း (ရွေ့လျားခြင်းမရှိသည့်အချိန်)"</string>
- <string name="accessibility_autoclick_about_title" msgid="152923024405552594">"အလိုအလျောက်ကလစ် အကြောင်း (ကြာချိန်)"</string>
- <string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"အလိုအလျောက်ကလစ် အကြောင်း (ကြာချိန်) ပိုမိုလေ့လာရန်"</string>
+ <string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>သတိပြုရန်</b><br/> <ol> <li> မီဒီယာနှင့် ပုံများတွင် အရောင်ပြောင်းသွားမည်</li> <li> အရောင်ပြောင်းပြန်ပြုလုပ်ခြင်းသည် အက်ပ်အားလုံးတွင် အလုပ်လုပ်သည်</li> <li> နောက်ခံအမှောင်ပြရန်အတွက် ၎င်းအစား ‘အမှောင်’ နောက်ခံကို သုံးနိုင်သည်</li> </ol>"</string>
+ <string name="accessibility_autoclick_preference_title" msgid="2703143361605555752">"အလိုအလျောက်ကလစ် (စောင့်ဆိုင်းချိန်)"</string>
+ <string name="accessibility_autoclick_about_title" msgid="152923024405552594">"အလိုအလျောက်ကလစ် (စောင့်ဆိုင်းချိန်) အကြောင်း"</string>
+ <string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"အလိုအလျောက်ကလစ် (စောင့်ဆိုင်းချိန်) အကြောင်း ပိုမိုလေ့လာရန်"</string>
<string name="accessibility_autoclick_intro_text" msgid="8959680635470639347">"ကာဆာလှုပ်ရှားမှုရပ်သည့် အချိန်အပိုင်းအခြားတစ်ခုတွင် ချိတ်ဆက်ထားသည့်မောက်စ်ကို အလိုအလျောက်နှိပ်ရန် သတ်မှတ်နိုင်သည်"</string>
<string name="accessibility_autoclick_description" msgid="6695732131412361101">"အော်တိုနှိပ်ခြင်းသည် မောက်စ်နှိပ်ရန် အခက်တွေ့ချိန်၌ အသုံးဝင်နိုင်သည်"</string>
<string name="accessibility_autoclick_default_title" msgid="2024730028293793490">"အော်တိုနှိပ်ခြင်း ပိတ်ထားသည်"</string>
@@ -2635,7 +2637,7 @@
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"မည်သည့် ဝန်ဆောင်မှုကိုမျှ ရွေးမထားပါ"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"မည်သည့်အကြောင်းအရာမှမရှိပါ"</string>
<string name="settings_button" msgid="2195468788019730377">"ဆက်တင်များ"</string>
- <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"အလင်းသိမ်မွေ့မှု၊ အလင်းကြောက်ခြင်း၊ မှောင်သည့် အပြင်အဆင်၊ ခေါင်းတစ်ခြမ်းကိုက်ခြင်း၊ ခေါင်းကိုက်ခြင်း၊ စာဖတ်မုဒ်၊ ညသုံးမုဒ်၊ တောက်ပမှုကို လျှော့ခြင်း၊ အဖြူရောင်အမှတ်"</string>
+ <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"အလင်းသိမ်မွေ့မှု၊ အလင်းကြောက်ခြင်း၊ အမှောင်နောက်ခံ၊ ခေါင်းတစ်ခြမ်းကိုက်ခြင်း၊ ခေါင်းကိုက်ခြင်း၊ စာဖတ်မုဒ်၊ ညသုံးမုဒ်၊ တောက်ပမှုကို လျှော့ခြင်း၊ အဖြူရောင်အမှတ်"</string>
<string name="keywords_accessibility" msgid="4263443239404659143">"အသုံးပြုရလွယ်ခြင်း၊ သုံးလွယ်ခြင်း၊ အကူအညီ၊ ကူညီပေးသော"</string>
<string name="keywords_magnification" msgid="3908145308269840862">"ဝင်းဒိုးမှန်ဘီလူး၊ ဇူးမ်၊ ချဲ့ခြင်း၊ အမြင်အာရုံချို့တဲ့ခြင်း၊ ပုံကြီးချဲ့ခြင်း၊ ပိုကြီးအောင်လုပ်ခြင်း"</string>
<string name="keywords_talkback" msgid="2816435437095102527"></string>
@@ -2706,14 +2708,14 @@
<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>
- <string name="manager_battery_usage_unrestricted_summary" msgid="6819279865465667692">"ကန့်သတ်ချက်များမရှိဘဲ ဘက်ထရီ အသုံးပြုမှုကို နောက်ခံတွင် ခွင့်ပြုသည်။ ဘက်ထရီ ပိုသုံးနိုင်သည်။"</string>
+ <string name="manager_battery_usage_unrestricted_summary" msgid="6819279865465667692">"နောက်ခံတွင် ဘက်ထရီကို အကန့်အသတ်မရှိ သုံးခွင့်ပြုသည်။ ဘက်ထရီ ပိုသုံးနိုင်သည်။"</string>
<string name="manager_battery_usage_optimized_summary" msgid="1332545476428039900">"သင်၏အသုံးပြုမှုပေါ် အခြေခံ၍ ပိုကောင်းအောင်လုပ်သည်။ အက်ပ်အများစုအတွက် အကြံပြုထားသည်။"</string>
<string name="manager_battery_usage_restricted_summary" msgid="8324695640704416905">"နောက်ခံတွင်ရှိနေစဉ် ဘက်ထရီ အသုံးပြုမှုကို ကန့်သတ်သည်။ အက်ပ်သည် မျှော်မှန်းထားသည့်အတိုင်း အလုပ်မလုပ်နိုင်ပါ။ အကြောင်းကြားချက်များ ကြန့်ကြာနိုင်ပါသည်။"</string>
<string name="manager_battery_usage_footer" msgid="2635906573922553766">"အက်ပ်၏ဘက်ထရီအသုံးပြုပုံကို ပြောင်းခြင်းက ၎င်း၏စွမ်းဆောင်ရည်အပေါ် သက်ရောက်မှုရှိနိုင်သည်။"</string>
<string name="manager_battery_usage_footer_limited" msgid="5180776148877306780">"ဤအက်ပ်သည် <xliff:g id="STATE">%1$s</xliff:g> ဘက်ထရီ အသုံးပြုမှု လိုအပ်သည်။"</string>
<string name="manager_battery_usage_unrestricted_only" msgid="3646162131339418216">"အကန့်အသတ်မဲ့"</string>
<string name="manager_battery_usage_optimized_only" msgid="7121785281913056432">"သင့်မြတ်အောင်ဆောင်ရွက်ထားသော"</string>
- <string name="manager_battery_usage_link_a11y" msgid="374918091821438564">"ဘက်ထရီ အသုံးပြုမှုဆိုင်ရာ ရွေးချယ်စရာများအကြောင်း ပိုမိုလေ့လာပါ"</string>
+ <string name="manager_battery_usage_link_a11y" msgid="374918091821438564">"ဘက်ထရီ အသုံးပြုမှုဆိုင်ရာ ရွေးချယ်စရာများအကြောင်း ပိုမိုလေ့လာရန်"</string>
<string name="device_screen_usage" msgid="1011630249648289909">"အားအပြည့်သွင်းကတည်းက မျက်နှာပြင်သုံးမှု"</string>
<string name="power_usage_list_summary" msgid="3237540201918492925">"အားအပြည့်သွင်းပြီးသည့် အချိန်မှစ၍ ဘက်ထရီအသုံးပြုမှု"</string>
<string name="screen_usage_summary" msgid="1393184943010909471">"အားအပြည့်သွင်းပြီးသည့် အချိန်မှစ၍ မျက်နှာပြင်ကို ဖွင့်ထားသောအချိန်"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"အချို့သော ဝန်ဆောင်မှုများကို ကန့်သတ်ထားနိုင်ပါသည်"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"ပိုမြင့်သော ဘက်ထရီအသုံးပြုမှု"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"အများဆုံးသုံးသည့် အက်ပ်များ ကြည့်ပါ"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"အားသွင်းခြင်းကို လောလောဆယ် ကန့်သတ်ထားသည်"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"သင့် ဘက်ထရီသက်တမ်းကို ထိန်းသိမ်းရန် ဖြစ်သည်။ ပိုမိုလေ့လာရန်။"</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"ဆက်အားသွင်းရန်"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"အရမ်းပူချိန်နှင့် ကြာမြင့်စွာအားသွင်းရခြင်း စသည့် အခြေအနေများတွင် ဘက်ထရီသက်တမ်း ပိုကြာစေရန် <xliff:g id="PERCENT">%1$s</xliff:g> အထိသာ အားသွင်းရန် ကန့်သတ်နိုင်သည်။\n\n၎င်းအခြေအနေများ မရှိတော့ပါက ဖုန်းကို အလိုအလျောက် ပုံမှန်အားပြန်သွင်းပါမည်။"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"အရမ်းပူနေချိန်နှင့် ကြာမြင့်စွာအားသွင်းရခြင်း စသည့် အခြေအနေများတွင် ဘက်ထရီသက်တမ်း ပိုကြာစေရန် <xliff:g id="PERCENT">%1$s</xliff:g> အထိသာ အားသွင်းရန် ကန့်သတ်နိုင်သည်။\n\n၎င်းအခြေအနေများ မရှိတော့ပါက တက်ဘလက်ကို အလိုအလျောက် ပုံမှန်အားပြန်သွင်းပါမည်။"</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"ဤအက်ပ်သည် နောက်ခံတွင် ဘက်ထရီကို အသုံးပြုနိုင်ပါသည်။ သင်၏ ဘက်ထရီသည် ခန့်မှန်းထားသည်ထက် စောလျင်စွာ ကုန်နိုင်ပါသည်။"</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"ဖယ်ရှားရန်"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"မလုပ်တော့"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"သင့်အက်ပ်များသည် ပုံမှန်ဘက်ထရီပမာဏကို အသုံးပြုနေသည်။ ၎င်းတို့ ဘက်ထရီအသုံးများလျှင် သင့်ဖုန်းက သင်လုပ်ဆောင်နိုင်သည်များကို အကြံပြုပါမည်။ \n\nဘက်ထရီအားနည်းနေလျှင် \'ဘက်ထရီအားထိန်း\' ကို အချိန်မရွေး ဖွင့်နိုင်ပါသည်။"</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"သင့်အက်ပ်များသည် ပုံမှန်ဘက်ထရီအားကို အသုံးပြုနေသည်။ ၎င်းတို့ ဘက်ထရီအသုံးများလျှင် သင့်တက်ဘလက်က သင်လုပ်ဆောင်နိုင်သည်များကို အကြံပြုပါမည်။ \n\nဘက်ထရီအားနည်းနေလျှင် \'ဘက်ထရီအားထိန်း\' ကို အချိန်မရွေး ဖွင့်နိုင်ပါသည်။"</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"သင့်အက်ပ်များသည် ပုံမှန်ဘက်ထရီအားကို အသုံးပြုနေသည်။ ၎င်းတို့ ဘက်ထရီအသုံးများလျှင် သင့်စက်က သင်လုပ်ဆောင်နိုင်သည်များကို အကြံပြုပါမည်။ \n\nဘက်ထရီအားနည်းနေလျှင် \'ဘက်ထရီအားထိန်း\' ကို အချိန်မရွေး ဖွင့်နိုင်ပါသည်။"</string>
@@ -2849,7 +2857,7 @@
<string name="power_cell" msgid="7793805106954398186">"မိုဘိုင်းကွန်ရက်"</string>
<string name="power_phone" msgid="2768396619208561670">"အသံဖြင့်ခေါ်ဆိုမှုများ"</string>
<string name="power_idle" product="tablet" msgid="4689321599298911021">"တက်ဘလက်အားမသုံးသည့်အခါ"</string>
- <string name="power_idle" product="default" msgid="9132502722499465252">"ဖုန်း မသုံးသည့်အခါ"</string>
+ <string name="power_idle" product="default" msgid="9132502722499465252">"ဖုန်းအသုံးမပြုခြင်း"</string>
<string name="power_unaccounted" msgid="2160811497426475703">"အထွေထွေ အကြောင်းအရာများ"</string>
<string name="power_overcounted" msgid="3681101460287472876">"အပိုရေတွက်မှု"</string>
<string name="usage_type_cpu" msgid="8544148642836549011">"စုစုပေါင်းCPU"</string>
@@ -2917,7 +2925,7 @@
<string name="battery_detail_info_title" msgid="5896661833554333683">"အားဖြည့်ပြီးချိန်ကတည်းက"</string>
<string name="battery_detail_manage_title" msgid="7910805419446927887">"ဘက်ထရီအသုံးပြုမှုကို စီမံခန့်ခွဲရန်"</string>
<string name="battery_total_and_bg_usage" msgid="8266478675516886819">"စုစုပေါင်း <xliff:g id="TIME_0">^1</xliff:g> • နောက်ဆုံးအကြိမ် အားအပြည့်သွင်းပြီးနောက်\nနောက်ခံအချိန်က <xliff:g id="TIME_1">^2</xliff:g> ရှိသည်"</string>
- <string name="battery_total_and_bg_usage_24hr" msgid="2393832614028187281">"စုစုပေါင်း <xliff:g id="TIME_0">^1</xliff:g> • ပြီးခဲ့သော ၂၄ နာရီအတွက်\nနောက်ခံအချိန်က <xliff:g id="TIME_1">^2</xliff:g> ရှိသည်"</string>
+ <string name="battery_total_and_bg_usage_24hr" msgid="2393832614028187281">"စုစုပေါင်း <xliff:g id="TIME_0">^1</xliff:g> • ပြီးခဲ့သော ၂၄ နာရီအတွင်း\nနောက်ခံအချိန်က <xliff:g id="TIME_1">^2</xliff:g> ရှိသည်"</string>
<string name="battery_total_and_bg_usage_with_period" msgid="2809037516933951047">"စုစုပေါင်း <xliff:g id="TIME_0">^1</xliff:g> • <xliff:g id="TIME_PERIOD">^3</xliff:g> အတွက်\nနောက်ခံအချိန်က <xliff:g id="TIME_1">^2</xliff:g> ရှိသည်"</string>
<string name="battery_total_usage_less_minute" msgid="7614894994853812076">"နောက်ဆုံးအကြိမ် အားအပြည့်သွင်းပြီးနောက် စုစုပေါင်းက တစ်မိနစ်အောက် ရှိသည်"</string>
<string name="battery_total_usage_less_minute_24hr" msgid="699268449496083696">"ပြီးခဲ့သော ၂၄ နာရီအတွင်း စုစုပေါင်း တစ်မိနစ်အောက် ရှိသည်"</string>
@@ -2929,13 +2937,13 @@
<string name="battery_total_usage_24hr" msgid="3907495067623665787">"ပြီးခဲ့သော ၂၄ နာရီအတွင်း စုစုပေါင်း <xliff:g id="TIME">^1</xliff:g> ရှိသည်"</string>
<string name="battery_total_usage_with_period" msgid="2849061229625950626">"<xliff:g id="TIME_PERIOD">^2</xliff:g> အတွက် စုစုပေါင်းက <xliff:g id="TIME_0">^1</xliff:g> ရှိသည်"</string>
<string name="battery_bg_usage" msgid="548670902301883980">"နောက်ဆုံးအကြိမ် အားအပြည့်သွင်းပြီးနောက် နောက်ခံအချိန်က <xliff:g id="TIME">^1</xliff:g> ရှိသည်"</string>
- <string name="battery_bg_usage_24hr" msgid="1999734910656674710">"ပြီးခဲ့သော ၂၄ နာရီအတွက် နောက်ခံအချိန်က <xliff:g id="TIME">^1</xliff:g> ရှိသည်"</string>
+ <string name="battery_bg_usage_24hr" msgid="1999734910656674710">"ပြီးခဲ့သော ၂၄ နာရီအတွင်း နောက်ခံအချိန်က <xliff:g id="TIME">^1</xliff:g> ရှိသည်"</string>
<string name="battery_bg_usage_with_period" msgid="992952174445045711">"<xliff:g id="TIME_PERIOD">^2</xliff:g> အတွက် နောက်ခံအချိန်က <xliff:g id="TIME_0">^1</xliff:g> ရှိသည်"</string>
<string name="battery_total_usage_and_bg_less_minute_usage" msgid="1460882261983325026">"စုစုပေါင်း <xliff:g id="TIME">^1</xliff:g> • နောက်ဆုံးအကြိမ် အားအပြည့်သွင်းပြီးနောက်\nနောက်ခံအချိန်က တစ်မိနစ်အောက် ရှိသည်"</string>
- <string name="battery_total_usage_and_bg_less_minute_usage_24hr" msgid="1721830675789709748">"စုစုပေါင်း <xliff:g id="TIME">^1</xliff:g> • ပြီးခဲ့သော ၂၄ နာရီအတွက်\nနောက်ခံအချိန်က တစ်မိနစ်အောက် ရှိသည်"</string>
+ <string name="battery_total_usage_and_bg_less_minute_usage_24hr" msgid="1721830675789709748">"စုစုပေါင်း <xliff:g id="TIME">^1</xliff:g> • ပြီးခဲ့သော ၂၄ နာရီအတွင်း\nနောက်ခံအချိန်က တစ်မိနစ်အောက် ရှိသည်"</string>
<string name="battery_total_usage_and_bg_less_minute_usage_with_period" msgid="5943281928474598517">"စုစုပေါင်း <xliff:g id="TIME_0">^1</xliff:g> • <xliff:g id="TIME_PERIOD">^2</xliff:g> အတွက်\nနောက်ခံအချိန်က တစ်မိနစ်အောက် ရှိသည်"</string>
<string name="battery_not_usage" msgid="1472275761547230196">"နောက်ဆုံးအကြိမ် အားအပြည့်သွင်းပြီးနောက် အသုံးပြုမှု မရှိပါ"</string>
- <string name="battery_not_usage_24hr" msgid="8397519536160741248">"ပြီးခဲ့သော ၂၄ နာရီအတွက် အသုံးပြုမှု မရှိပါ"</string>
+ <string name="battery_not_usage_24hr" msgid="8397519536160741248">"ပြီးခဲ့သော ၂၄ နာရီအတွင်း အသုံးပြုမှု မရှိပါ"</string>
<string name="battery_usage_without_time" msgid="1346894834339420538"></string>
<string name="battery_usage_other_users" msgid="9002643295562500693">"အခြားအသုံးပြုသူများ"</string>
<string name="advanced_battery_graph_subtext" msgid="6816737986172678550">"ဘက်ထရီလက်ကျန်ခန့်မှန်းချက်သည် သင့်စက်၏ အသုံးပြုမှုအပေါ် အခြေခံပါသည်"</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"ဘတ်ထရီ <xliff:g id="PERCENT">%1$s</xliff:g> ၌"</string>
<string name="battery_percentage" msgid="1779934245963043490">"ဘက်ထရီ ရာခိုင်နှုန်း"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"ဘက်ထရီ ရာခိုင်နှုန်းကို အခြေအနေဘားတန်းတွင် ပြသပါသည်"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"နောက်ဆုံးအကြိမ် အားအပြည့်သွင်းပြီးနောက် ဘက်ထရီအား"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"ပြီးခဲ့သော ၂၄ နာရီအတွင်း ဘက်ထရီအား"</string>
- <string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"ပြီးခဲ့သော ၂၄ နာရီအတွက် အက်ပ်အသုံးပြုမှု"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"နောက်ဆုံးအကြိမ် အားအပြည့်သွင်းပြီးနောက် အက်ပ်အသုံးပြုမှု"</string>
+ <string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"ပြီးခဲ့သော ၂၄ နာရီအတွင်း အက်ပ်အသုံးပြုမှု"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"နောက်ဆုံးအကြိမ် အားအပြည့်သွင်းပြီးနောက် စနစ်အသုံးပြုမှု"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"ပြီးခဲ့သော ၂၄ နာရီအတွင်း စနစ်အသုံးပြုမှု"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"<xliff:g id="SLOT">%s</xliff:g> အတွက် စနစ်အသုံးပြုမှု"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"<xliff:g id="SLOT">%s</xliff:g> အတွက် အက်ပ်အသုံးပြုမှု"</string>
@@ -3674,7 +3685,7 @@
<string name="keywords_model_and_hardware" msgid="4723665865709965044">"အမှတ်စဉ်၊ ဟာ့ဒ်ဝဲ ဗားရှင်း"</string>
<string name="keywords_android_version" msgid="1629882125290323070">"android လုံခြုံရေး ပက်ချ် အဆင့်၊ baseband ဗားရှင်း၊ kernel ဗားရှင်း"</string>
<string name="keywords_dark_ui_mode" msgid="6373999418195344014">"အပြင်အဆင်၊ အလင်း၊ အမှောင်၊ မုဒ်၊ အလင်းသိမ်မွေ့မှု၊ အလင်းကြောက်ခြင်း၊ ပိုမှောင်အောင်လုပ်ခြင်း၊ မှောင်မည်းလာခြင်း၊ အမှောင်မုဒ်၊ ခေါင်းတစ်ခြမ်းကိုက်ခြင်း"</string>
- <string name="keywords_systemui_theme" msgid="6341194275296707801">"မှောင်သည့် အပြင်အဆင်"</string>
+ <string name="keywords_systemui_theme" msgid="6341194275296707801">"အမှောင်နောက်ခံ"</string>
<string name="keywords_device_feedback" msgid="5489930491636300027">"ချွတ်ယွင်းမှု"</string>
<string name="keywords_ambient_display_screen" msgid="661492302323274647">"ဝန်းကျင် ပြကွက်၊ လော့ခ်မျက်နှာပြင် ပြကွက်"</string>
<string name="keywords_lock_screen_notif" msgid="6363144436467429932">"လော့ခ်မျက်နှာပြင် အကြောင်းကြားချက်များ၊ အကြောင်းကြားချက်များ"</string>
@@ -3938,7 +3949,7 @@
<string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"ဆွဲချစာရင်း၊ အခြေအနေပြဘားတန်းနှင့် လော့ခ်မျက်နှာပြင်တွင် ပြပါ"</string>
<string name="silent_notifications_status_bar" msgid="6113307620588767516">"အခြေအနေပြဘားရှိ အသံတိတ် အကြောင်းကြားချက်ကို ဖျောက်ပါ"</string>
<string name="notification_pulse_title" msgid="8013178454646671529">"မီး မှိတ်တုတ်မှိတ်တုတ်လုပ်ပါ"</string>
- <string name="lock_screen_notifications_title" msgid="2876323153692406203">"ကန့်သတ်ဆက်တင်"</string>
+ <string name="lock_screen_notifications_title" msgid="2876323153692406203">"ကိုယ်ရေးအချက်အလက်လုံခြုံမှု"</string>
<string name="lockscreen_bypass_title" msgid="6519964196744088573">"လော့ခ်မျက်နှာပြင် ကျော်ရန်"</string>
<string name="lockscreen_bypass_summary" msgid="464277506200346748">"လော့ခ်ဖွင့်ပြီးပါက နောက်ဆုံးသုံးခဲ့သည့် ဖန်သားပြင်သို့ တန်းသွားပါ"</string>
<string name="keywords_lockscreen_bypass" msgid="41035425468915498">"လော့ခ်မျက်နှာပြင်၊ လော့ခ်ချမျက်နှာပြင်၊ ကျော်ရန်"</string>
@@ -3949,9 +3960,9 @@
<string name="lock_screen_notifs_show_alerting" msgid="6584682657382684566">"အရေးကြီးသော အကြောင်းကြားချက်များ ပြရန်"</string>
<string name="lock_screen_notifs_show_none" msgid="1941044980403067101">"အကြောင်းကြားချက်များ မပြပါနှင့်"</string>
<string name="lock_screen_notifs_redact" msgid="9024158855454642296">"အရေးကြီးသည့် အကြောင်းကြားချက်များ"</string>
- <string name="lock_screen_notifs_redact_summary" msgid="1395483766035470612">"လော့ခ်ချထားစဉ် အရေးကြီးသည့် အကြောင်းအရာကို ပြရန်"</string>
+ <string name="lock_screen_notifs_redact_summary" msgid="1395483766035470612">"လော့ခ်ချထားစဉ် သတိထားရမည့် အကြောင်းအရာကို ပြရန်"</string>
<string name="lock_screen_notifs_redact_work" msgid="3833920196569208430">"အရေးကြီးသည့် အလုပ်ပရိုဖိုင် အကြောင်းကြားချက်များ"</string>
- <string name="lock_screen_notifs_redact_work_summary" msgid="3238238380405430156">"လော့ခ်ချထားစဉ် အရေးကြီးသည့် အလုပ်ပရိုဖိုင် အကြောင်းအရာကို ပြရန်"</string>
+ <string name="lock_screen_notifs_redact_work_summary" msgid="3238238380405430156">"လော့ခ်ချထားစဉ် သတိထားရမည့် အလုပ်ပရိုဖိုင် အကြောင်းအရာကို ပြရန်"</string>
<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>
@@ -4466,7 +4477,7 @@
<item quantity="other">အက်ပ် <xliff:g id="COUNT">%d</xliff:g> ခုသည် ပံ့ပိုးထားသော လင့်ခ်များကို ဖွင့်နေသည်</item>
<item quantity="one">အက်ပ်တစ်ခုသည် ပံ့ပိုးထားသော လင့်ခ်များကို ဖွင့်နေသည်</item>
</plurals>
- <string name="app_link_open_always" msgid="9167065494930657503">"ပံ့ပိုးထားသောလင့်ခ်များ ဖွင့်ရန် အက်ပ်ကို ခွင့်ပြုပါ"</string>
+ <string name="app_link_open_always" msgid="9167065494930657503">"ပံ့ပိုးထားသောလင့်ခ်များ ဖွင့်ရန် အက်ပ်ကို ခွင့်ပြုသည်"</string>
<string name="app_link_open_ask" msgid="2422450109908936371">"အမြဲမေးရန်"</string>
<string name="app_link_open_never" msgid="5299808605386052350">"လင့်ခ်ကို ဖွင့်ရန် အက်ပ်အား ခွင့်မပြုပါ"</string>
<plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
@@ -4529,7 +4540,7 @@
<string name="battery_summary" msgid="2491764359695671207">"နောက်ဆုံးအကြိမ် အားအပြည့်သွင်းပြီးနောက် <xliff:g id="PERCENTAGE">%1$s</xliff:g> အသုံးပြုထားပါသည်"</string>
<string name="battery_summary_24hr" msgid="7656033283282656551">"ပြီးခဲ့သော ၂၄ နာရီအတွက် <xliff:g id="PERCENTAGE">%1$s</xliff:g> ရာခိုင်နှုန်း အသုံးပြုသည်"</string>
<string name="no_battery_summary" msgid="5769159953384122003">"နောက်ဆုံးအကြိမ် အားအပြည့်သွင်းပြီးကတည်းက ဘက်ထရီမသုံးပါ"</string>
- <string name="no_battery_summary_24hr" msgid="6280079526797873842">"ပြီးခဲ့သော ၂၄ နာရီအတွက် ဘက်ထရီ အသုံးပြုမှု မရှိပါ"</string>
+ <string name="no_battery_summary_24hr" msgid="6280079526797873842">"ပြီးခဲ့သော ၂၄ နာရီအတွင်း ဘက်ထရီ အသုံးပြုမှု မရှိပါ"</string>
<string name="app_notification_preferences" msgid="2004680717999108725">"အက်ပ်ဆက်တင်များ"</string>
<string name="system_ui_settings" msgid="936169564323330967">"SystemUI Tuner ပြရန်"</string>
<string name="additional_permissions" msgid="4656871347558988462">"ထပ်တိုး ခွင့်ပြုချက်များ"</string>
@@ -4685,7 +4696,7 @@
<string name="storage_summary" msgid="5903562203143572768">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> သုံးထား - <xliff:g id="FREE_SPACE">%2$s</xliff:g> လွတ်"</string>
<string name="storage_summary_with_sdcard" msgid="2063780050580228868">"စက်တွင်းသိုလှောင်ခန်း− <xliff:g id="PERCENTAGE">%1$s</xliff:g> ကို အသုံးပြုထားပြီး - <xliff:g id="FREE_SPACE">%2$s</xliff:g> လွတ်နေပါသည်"</string>
<string name="display_summary" msgid="5526061030874717172">"<xliff:g id="TIMEOUT_DESCRIPTION">%1$s</xliff:g> ကြာမျှ လှုပ်ရှားမှုမရှိလျှင် ပိတ်လိုက်ပါ"</string>
- <string name="display_dashboard_summary" msgid="1599453894989339454">"မှောင်သည့် အပြင်အဆင်၊ ဖောင့်အရွယ်အစား၊ တောက်ပမှု"</string>
+ <string name="display_dashboard_summary" msgid="1599453894989339454">"အမှောင်နောက်ခံ၊ ဖောင့်အရွယ်အစား၊ တောက်ပမှု"</string>
<string name="display_summary_example" msgid="4275121979039344438">"၁၀ မိနစ်ကြာမျှ လှုပ်ရှားမှုမရှိလျှင် ပိတ်လိုက်ပါ"</string>
<string name="memory_summary" msgid="8221954450951651735">"မှတ်ဉာဏ် <xliff:g id="TOTAL_MEMORY">%2$s</xliff:g> မှ ပျှမ်းမျှ <xliff:g id="USED_MEMORY">%1$s</xliff:g> ကိုသုံးထားသည်"</string>
<string name="users_summary" msgid="8473589474976307510">"<xliff:g id="USER_NAME">%1$s</xliff:g> အဖြစ် လက်မှတ်ထိုးဝင်ထားသည်"</string>
@@ -4895,12 +4906,12 @@
<string name="bluetooth_connected_summary" msgid="8043167194934315712">"<xliff:g id="ID_1">%1$s</xliff:g> နှင့် ချိတ်ဆက်ထားပါသည်"</string>
<string name="bluetooth_connected_multiple_devices_summary" msgid="2294954614327771844">"စက်ပစ္စည်းအများအပြားနှင့် ချိတ်ဆက်ထားပါသည်"</string>
<string name="demo_mode" msgid="6566167465451386728">"စနစ် UI သရုပ်ပြမုဒ်"</string>
- <string name="dark_ui_mode" msgid="898146394425795281">"မှောင်သည့် အပြင်အဆင်"</string>
+ <string name="dark_ui_mode" msgid="898146394425795281">"အမှောင်နောက်ခံ"</string>
<string name="dark_ui_mode_disabled_summary_dark_theme_on" msgid="4554134480159161533">"\'ဘက်ထရီအားထိန်း\' ကြောင့် ယာယီပိတ်ထားသည်"</string>
<string name="ambient_camera_summary_battery_saver_on" msgid="1787784892047029560">"‘ဘက်ထရီ အားထိန်း’ ကြောင့် ယာယီပိတ်ထားသည်"</string>
<string name="ambient_camera_battery_saver_off" msgid="689825730569761613">"ဘက်ထရီ အားထိန်း ပိတ်ရန်"</string>
<string name="dark_ui_mode_disabled_summary_dark_theme_off" msgid="4154227921313505702">"\'ဘက်ထရီအားထိန်း\' ကြောင့် ယာယီဖွင့်ထားသည်"</string>
- <string name="dark_theme_slice_title" msgid="4684222119481114062">"အမှောင်ဖြင့် စမ်းကြည့်ပါ"</string>
+ <string name="dark_theme_slice_title" msgid="4684222119481114062">"အမှောင်နောက်ခံ စမ်းကြည့်ပါ"</string>
<string name="dark_theme_slice_subtitle" msgid="5555724345330434268">"ဘက်ထရီသက်တမ်း ပိုတိုးစေသည်"</string>
<string name="quick_settings_developer_tiles" msgid="7336007844525766623">"ဆော့ဖ်ဝဲရေးသူ အကွက်များ အမြန်သတ်မှတ်ခြင်း"</string>
<string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Adb ခွင့်ပြုချက် အချိန်ကုန်သွားခြင်းကို ပိတ်ရန်"</string>
@@ -5676,7 +5687,7 @@
<string name="category_name_display_controls" msgid="7046581691184725216">"အခြား ဖန်သားပြင်ထိန်းချုပ်မှုများ"</string>
<string name="category_name_others" msgid="2366006298768550310">"အခြား"</string>
<string name="category_name_general" msgid="7737273712848115886">"အထွေထွေ"</string>
- <string name="dark_theme_main_switch_title" msgid="4045147031947562280">"မှောင်သည့်အပြင်အဆင် သုံးရန်"</string>
+ <string name="dark_theme_main_switch_title" msgid="4045147031947562280">"အမှောင်နောက်ခံ သုံးရန်"</string>
<string name="bluetooth_main_switch_title" msgid="8409835540311309632">"ဘလူးတုသ်သုံးရန်"</string>
<string name="prevent_ringing_main_switch_title" msgid="4726252811262086643">"ဖုန်းသံမမြည်အောင်လုပ်ပါ"</string>
<string name="use_wifi_hotsopt_main_switch_title" msgid="3909731167290690539">"Wi‑Fi ဟော့စပေါ့ကို သုံးခြင်း"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 796ae4e..c484642 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Du har ikke tillatelse til å endre Bluetooth-innstillingene."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Koble til en ny enhet"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Tilkoble høyre øre"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Tilkoble venstre øre"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Tilkoble det andre øret"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Det venstre høreapparatet ditt er tilkoblet.\n\nFor å koble til det høyre høreapparatet må du sørge for at det er slått på og klart til å koble til."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Det høyre høreapparatet ditt er tilkoblet.\n\nFor å koble til det venstre høreapparatet må du sørge for at det er slått på og klart til å koble til."</string>
@@ -954,12 +956,12 @@
<string name="nfc_disabled_summary" msgid="8737797364522502351">"Utilgjengelig fordi NFC er slått av"</string>
<string name="android_beam_label" msgid="7168565080321110094">"Android Beam"</string>
<string name="android_beam_explained" msgid="5684416131846701256">"Når denne funksjonen er slått på, kan du beame appinnhold til en annen enhet som støtter nærfeltskommunikasjon (NFC). Du gjør dette ved å holde enhetene tett sammen. Du kan for eksempel beame nettsider, YouTube-videoer, kontakter med mer.\n\nDu holder bare enhetene mot hverandre (vanligvis rygg mot rygg) og trykker på skjermen. Appen avgjør hva som beames."</string>
- <string name="wifi_quick_toggle_title" msgid="2737097538432862807">"Wi-Fi"</string>
+ <string name="wifi_quick_toggle_title" msgid="2737097538432862807">"Wifi"</string>
<string name="wifi_quick_toggle_summary" msgid="4957267477820468553">"Slå på Wi-Fi"</string>
- <string name="wifi_settings" msgid="8313301946393559700">"Wi-Fi"</string>
+ <string name="wifi_settings" msgid="8313301946393559700">"Wifi"</string>
<string name="wifi_settings_primary_switch_title" msgid="628360786662947258">"Bruk Wi-Fi"</string>
<string name="wifi_settings_category" msgid="3523464780563778321">"Innstillinger for Wi-Fi"</string>
- <string name="wifi_settings_title" msgid="3879649725059512799">"Wi-Fi"</string>
+ <string name="wifi_settings_title" msgid="3879649725059512799">"Wifi"</string>
<string name="wifi_settings_summary" msgid="784074686763572811">"Sett opp og styr trådløse aksesspunkt"</string>
<string name="wifi_select_network" msgid="6692897876718813259">"Velg Wi-Fi-nettverk"</string>
<string name="wifi_starting" msgid="6147022683967506341">"Slår på Wi-Fi …"</string>
@@ -1245,12 +1247,12 @@
<skip />
<string name="wifi_calling_roaming_mode_dialog_title" msgid="5382466713784067077">"Roaming-innstilling"</string>
<string-array name="wifi_calling_mode_choices_v2">
- <item msgid="6052353275413974742">"Wi-Fi"</item>
+ <item msgid="6052353275413974742">"Wifi"</item>
<item msgid="8622872038388687383">"Mobil"</item>
<item msgid="3027927219952052398">"Bare Wi-Fi"</item>
</string-array>
<string-array name="wifi_calling_mode_choices_v2_without_wifi_only">
- <item msgid="588620799769664461">"Wi-Fi"</item>
+ <item msgid="588620799769664461">"Wifi"</item>
<item msgid="7566603075659706590">"Mobil"</item>
</string-array>
<string name="wifi_calling_mode_wifi_preferred_summary" msgid="3240387177966098351">"Bruk mobilnettverk hvis Wi-Fi er utilgjengelig"</string>
@@ -2727,7 +2729,7 @@
<string name="battery_stats_gps_on_label" msgid="5626424078405382686">"GPS på"</string>
<string name="battery_stats_camera_on_label" msgid="555635201416769359">"Kameraet er på"</string>
<string name="battery_stats_flashlight_on_label" msgid="1621027969559427783">"Lommelykten er på"</string>
- <string name="battery_stats_wifi_running_label" msgid="6461551370010379049">"Wi-Fi"</string>
+ <string name="battery_stats_wifi_running_label" msgid="6461551370010379049">"Wifi"</string>
<string name="battery_stats_wake_lock_label" msgid="8115041205778441548">"Aktiv"</string>
<string name="battery_stats_phone_signal_label" msgid="679649411998679555">"Mobilnettverkets signal"</string>
<!-- no translation found for battery_stats_last_duration (3088100394725340600) -->
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Noen funksjoner kan være begrenset"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Høyere batteribruk"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Se appene med høyest batteribruk"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Lading er midlertidig begrenset"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"For å forlenge batterilevetiden. Finn ut mer."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Gjenoppta ladingen"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Under visse omstendigheter, for eksempel høye temperaturer og lange ladetider, kan ladingen begrenses til <xliff:g id="PERCENT">%1$s</xliff:g> for å bevare batteriet.\n\nNår slike omstendigheter er over, gjenopptar telefonen automatisk normal lading."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Under visse omstendigheter, for eksempel høye temperaturer og lange ladetider, kan ladingen begrenses til <xliff:g id="PERCENT">%1$s</xliff:g> for å bevare batteriet.\n\nNår slike omstendigheter er over, gjenopptar telefonen automatisk normal lading."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Denne appen kan bruke batteri i bakgrunnen. Batteriet kan gå tomt raskere enn forventet."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Fjern"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Avbryt"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Appene bruker en normal batterimengde. Hvis apper bruker for mye batteri, får du forslag om hva du kan gjøre.\n\nDu kan når som helst slå på batterisparing hvis du har lite batteri."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Appene bruker en normal batterimengde. Hvis apper bruker for mye batteri, får du forslag om hva du kan gjøre.\n\nDu kan når som helst slå på batterisparing hvis du har lite batteri."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Appene bruker en normal batterimengde. Hvis apper bruker for mye batteri, får du forslag om hva du kan gjøre.\n\nDu kan når som helst slå på batterisparing hvis du har lite batteri."</string>
@@ -2844,7 +2852,7 @@
<string name="power_screen" msgid="4596900105850963806">"Skjerm"</string>
<string name="power_flashlight" msgid="8993388636332573202">"Lommelykt"</string>
<string name="power_camera" msgid="4778315081581293923">"Kamera"</string>
- <string name="power_wifi" msgid="4614007837288250325">"Wi-Fi"</string>
+ <string name="power_wifi" msgid="4614007837288250325">"Wifi"</string>
<string name="power_bluetooth" msgid="5085900180846238196">"Bluetooth"</string>
<string name="power_cell" msgid="7793805106954398186">"Mobilnettverk"</string>
<string name="power_phone" msgid="2768396619208561670">"Telefonsamtaler"</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"med <xliff:g id="PERCENT">%1$s</xliff:g> batteri"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Batteriprosent"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Vis batteriprosenten i statusfeltet"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Batterinivå siden sist batteriet var fulladet"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Batterinivå de siste 24 timene"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Appbruk siden sist batteriet var fulladet"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Appbruk de siste 24 timene"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Systembruk siden sist batteriet var fulladet"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Systembruk de siste 24 timene"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Systembruk for <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Appbruk for <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -3229,7 +3240,7 @@
<string name="data_usage_disable_4g_limit" msgid="3084868504051520840">"Angi datagrense for 4G"</string>
<string name="data_usage_disable_3g_limit" msgid="8867555130268898044">"Angi datagrense for 2G/3G"</string>
<string name="data_usage_disable_wifi_limit" msgid="7222459951785404241">"Angi datagrense for Wi-Fi"</string>
- <string name="data_usage_tab_wifi" msgid="801667863336456787">"Wi-Fi"</string>
+ <string name="data_usage_tab_wifi" msgid="801667863336456787">"Wifi"</string>
<string name="data_usage_tab_ethernet" msgid="2951873059375493878">"Ethernet"</string>
<string name="data_usage_tab_mobile" msgid="952231704205870928">"Mobil"</string>
<string name="data_usage_tab_4g" msgid="3265237821331861756">"4G"</string>
@@ -4764,7 +4775,7 @@
<string name="wifi_data_usage" msgid="6868503699134605707">"Wi-Fi-databruk"</string>
<string name="non_carrier_data_usage" msgid="6494603202578414755">"Databruk utenfor operatøren"</string>
<string name="ethernet_data_usage" msgid="4552227880905679761">"Ethernet-databruk"</string>
- <string name="wifi" msgid="2932584495223243842">"Wi-Fi"</string>
+ <string name="wifi" msgid="2932584495223243842">"Wifi"</string>
<string name="ethernet" msgid="4665162609974492983">"Ethernet"</string>
<string name="cell_data_template" msgid="6077963976103260821">"<xliff:g id="AMOUNT">^1</xliff:g> mobildata"</string>
<string name="wifi_data_template" msgid="935934798340307438">"<xliff:g id="AMOUNT">^1</xliff:g> Wi-Fi-data"</string>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 1809cc4..12420b4 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -52,8 +52,8 @@
<string name="font_size_summary" msgid="1296835853522566260">"स्क्रिनमा भएको पाठ अझै सानो वा ठुलो बनाउनुहोस्।"</string>
<string name="font_size_make_smaller_desc" msgid="4978038055549590140">"अझ सानो बनाउनुहोस्"</string>
<string name="font_size_make_larger_desc" msgid="5583046033381722247">"अझ ठुलो बनाउनुहोस्"</string>
- <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"स्वतः रोटेट हुने सुविधा प्रयोग गर्नुहोस्"</string>
- <string name="smart_rotate_text_headline" msgid="5878008933992951904">"स्वतः रोटेट गर्ने सुविधाको सटीकता सुधार गर्न अनुहार पत्ता लगाउने सुविधाले अगाडिको क्यामेरा प्रयोग गर्छ। फोटोहरू कहिल्यै पनि भण्डारण गरिँदैनन् वा Google मा पठाइँदैनन्।"</string>
+ <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"अटो-रोटेट प्रयोग गर्नुहोस्"</string>
+ <string name="smart_rotate_text_headline" msgid="5878008933992951904">"अटो-रोटेटको सटीकता सुधार गर्न अनुहार पत्ता लगाउने सुविधाले अगाडिको क्यामेरा प्रयोग गर्छ। फोटोहरू कहिल्यै पनि भण्डारण गरिँदैनन् वा Google मा पठाइँदैनन्।"</string>
<string name="font_size_preview_text_headline" msgid="1173103737980511652">"नमूना पाठ"</string>
<string name="font_size_preview_text_title" msgid="6363561029914452382">"दि वन्डरफुल विजार्ड अफ ओज"</string>
<string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"अध्याय ११: दि वन्डरफुल एमरल्ड सिटी अफ ओज"</string>
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"तपाईं सँग ब्लुटुथ सेटिङहरू परिवर्तन गर्न अनुमति छैन।"</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"नयाँ डिभाइस कनेक्ट गर्नुहोस्"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"ब्लुटुथ"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"दायाँ भाग कनेक्ट गर्नुहोस्"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"बायाँ भाग कनेक्ट गर्नुहोस्"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"अर्को भाग कनेक्ट गर्नुहोस्"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"तपाईंको बायाँ हियरिङ डिभाइस कनेक्ट गरिएको छ।\n\nदायाँ हियरिङ डिभाइस कनेक्ट गर्न उक्त डिभाइस अन छ र कनेक्ट गर्नका निम्ति तयार छ भन्ने कुरा सुनिश्चित गर्नुहोस्।"</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"तपाईंको दायाँ हियरिङ डिभाइस कनेक्ट गरिएको छ।\n\nबायाँ हियरिङ डिभाइस कनेक्ट गर्न उक्त डिभाइस अन छ र कनेक्ट गर्नका निम्ति तयर छ भन्ने कुरा सुनिश्चित गर्नुहोस्।"</string>
@@ -616,7 +618,7 @@
<string name="fingerprint_last_delete_title" msgid="4081475675646514726">"सबै फिंगरप्रिन्टहरू हटाउने हो?"</string>
<string name="fingerprint_delete_title" msgid="1469865327307917858">"\'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' हटाउनुहोस्"</string>
<string name="fingerprint_delete_message" msgid="1454995433333496541">"तपाईं यो फिंगरप्रिन्ट मेट्न चाहनुहुन्छ?"</string>
- <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"यो फिंगरप्रिन्ट मेटाइयो भने तपाईंको डिभाइसमा भण्डार गरिएका \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' सँग सम्बन्धित फिंगरप्रिन्टका फोटो र मोडेल मेटाइन्छन्"</string>
+ <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"यो फिंगरप्रिन्ट मेटाइयो भने तपाईंको डिभाइसमा भण्डारण गरिएका \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' सँग सम्बन्धित फिंगरप्रिन्टका फोटो र मोडेल मेटाइन्छन्"</string>
<string name="fingerprint_last_delete_message" msgid="7860374760549404410">"तपाईं आफ्नो फोन अनलक गर्न वा एपमा आफ्नो पहिचान पुष्टि गर्न आफ्नो फिंगरप्रिन्ट प्रयोग गर्न सक्नु हुने छैन।"</string>
<string name="fingerprint_last_delete_message_profile_challenge" msgid="4104208067277655068">"तपाईं आफ्नो कार्य प्रोफाइल अनलक गर्न, खरिद गर्ने अनुमति दिन, वा कामसम्बन्धी एपमा साइन इन गर्न आफ्नो फिंगरप्रिन्ट प्रयोग गर्न सक्नु हुने छैन।"</string>
<string name="fingerprint_last_delete_confirm" msgid="3294910995598819259">"हो, हटाउनुहोस्"</string>
@@ -1324,8 +1326,8 @@
<string name="auto_rotate_option_on" msgid="5776678230808498171">"अन छ"</string>
<string name="auto_rotate_option_face_based" msgid="3438645484087953174">"अन छ - अनुहारमा आधारित"</string>
<string name="auto_rotate_switch_face_based" msgid="9116123744601564320">"अनुहार पत्ता लगाउने सुविधा"</string>
- <string name="auto_rotate_screen_summary" msgid="4547268203621754096">"तपाईंले आफ्नो फोन पोर्ट्रेट र ल्यान्डस्केपबिच अदलबदल गर्दा स्क्रिनको ओरियन्टेसन स्वतः मिलाइयोस्"</string>
- <string name="auto_rotate_link_a11y" msgid="5146188567212233286">"स्वतः रोटेट हुने सुविधाका बारेमा थप जान्नुहोस्"</string>
+ <string name="auto_rotate_screen_summary" msgid="4547268203621754096">"फोन पोर्ट्रेट र ल्यान्डस्केपबिच अदलबदल गर्दा स्क्रिनको ओरियन्टेसन स्वतः मिलाइयोस्"</string>
+ <string name="auto_rotate_link_a11y" msgid="5146188567212233286">"अटोरोटेटका बारेमा थप जान्नुहोस्"</string>
<string name="auto_rotate_summary_a11y" msgid="1505094100328581685">"तपाईंले आफ्नो फोन पोर्ट्रेट र ल्यान्डस्केपबिच अदलबदल गर्दा"</string>
<string name="screen_resolution_title" msgid="2690518693139811486">"स्क्रिन रिजोल्युसन"</string>
<string name="screen_resolution_option_high" msgid="2617496842852992853">"उच्च रिजोल्युसन"</string>
@@ -1661,7 +1663,7 @@
<string name="storage_wizard_format_confirm_title" msgid="4898014527956178762">"आन्तरिक भण्डारणको रुपमा ढाँचा गर्नुहोस्"</string>
<string name="storage_wizard_format_confirm_body" msgid="5514665245241830772">"यो सुरक्षित बनाउन यसलाई <xliff:g id="NAME_0">^1</xliff:g> ढाँचा बनाउन आवश्यकता छ। \n\nढाँचामा मिलाएपछि, यो डिभाइसमा यसले <xliff:g id="NAME_1">^1</xliff:g> मात्र काम गर्ने छ। \n\n"<b>" ढाँचा मिलाउँदा <xliff:g id="NAME_2">^1</xliff:g> मा हालैका भण्डारित सबै डेटा मेटिन्छ।"</b>" डेटा गुमाउनुपर्ने बाट जोगिन, यसको ब्याकअप राख्ने बारे विचार गर्नुहोस्।"</string>
<string name="storage_wizard_format_confirm_public_title" msgid="649252654496577680">"पोर्टेबल भण्डारणका रूपमा फर्म्याट गर्नुहोस्"</string>
- <string name="storage_wizard_format_confirm_public_body" msgid="6219883780307218266">"यसको लागि <xliff:g id="NAME_0">^1</xliff:g> फर्म्याट गर्न आवश्यक छ।\n\n"<b>"फर्म्याट गर्दा <xliff:g id="NAME_1">^1</xliff:g> भण्डार गरिएका सबै डेटा नष्ट हुनेछ।"</b>"डेटा जोगाउन ब्याकअप गर्ने बारे बिचार गर्नुहोस्।"</string>
+ <string name="storage_wizard_format_confirm_public_body" msgid="6219883780307218266">"यसको लागि <xliff:g id="NAME_0">^1</xliff:g> फर्म्याट गर्न आवश्यक छ।\n\n"<b>"फर्म्याट गर्दा <xliff:g id="NAME_1">^1</xliff:g> भण्डारण गरिएका सबै डेटा नष्ट हुनेछ।"</b>"डेटा जोगाउन ब्याकअप गर्ने बारे बिचार गर्नुहोस्।"</string>
<string name="storage_wizard_format_confirm_next" msgid="4412063054982084056">"ढाँचा मेटाउनुहोस्"</string>
<string name="storage_wizard_format_progress_title" msgid="9170393018855949774">"<xliff:g id="NAME">^1</xliff:g> ढाँचा मिलाइदै ..."</string>
<string name="storage_wizard_format_progress_body" msgid="1044024044955390417">"<xliff:g id="NAME">^1</xliff:g> फर्म्याट भइरहेको बेला यसलाई नहटाउनुहोस्।"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"केही सुविधाहरू सीमित हुन सक्छन्"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"तुलनात्मक रूपमा ब्याट्रीको उच्च खपत"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"ब्याट्री सबैभन्दा धेरै खपत गर्ने एपहरू हेर्नुहोस्"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"चार्जिङ केही समयका लागि सीमित पारिएको छ"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"ब्याट्री जोगाउन। थप जान्नुहोस्।"</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"चार्जिङ सुचारु गर्नुहोस्"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"तापक्रम उच्च भएको वा चार्ज गर्न बढी समय लाग्ने अवस्थालगायतका केही निश्चित अवस्थाहरूमा ब्याट्री टिक्ने समय घट्न नदिन तपाईंको फोनको ब्याट्री <xliff:g id="PERCENT">%1$s</xliff:g> भन्दा बढी चार्ज नगरिन सक्छ।\n\nती अवस्थाहरूको अन्त्य भएपछि तपाईंको फोनको ब्याट्री सामान्य तरिकाले चार्ज हुने छ।"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"तापक्रम उच्च भएको वा चार्ज गर्न बढी समय लाग्ने अवस्थालगायतका केही निश्चित अवस्थाहरूमा ब्याट्री टिक्ने समय घट्न नदिन तपाईंको ट्याब्लेटको ब्याट्री <xliff:g id="PERCENT">%1$s</xliff:g> भन्दा बढी चार्ज नगरिन सक्छ।\n\nती अवस्थाहरूको अन्त्य भएपछि तपाईंको ट्याब्लेटको ब्याट्री सामान्य तरिकाले चार्ज हुने छ।"</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"यो एप ब्याकग्राउन्डमा ब्याट्रीको खपत गर्न सक्षम हुने छ। तपाईंको ब्याट्री अपेक्षा गरेभन्दा चाँडै सकिन सक्छ।"</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"हटाउनुहोस्"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"रद्द गर्नुहोस्"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"तपाईंका एपहरूले सामान्य मात्रामा ब्याट्रीको खपत गर्दै छन्। एपहरूले अत्यन्त धेरै ब्याट्रीको खपत गरेको खण्डमा तपाईंको फोनले कारबाहीको सुझाव दिन्छ। \n\nतपाईंको ब्याट्री कम हुँदै गएको छ भने तपाईंले सधैँ ब्याट्री सेभर सक्रिय पार्न सक्नुहुन्छ।"</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"तपाईंका एपहरूले सामान्य मात्रामा ब्याट्रीको खपत गर्दै छन्। एपहरूले अत्यन्त धेरै ब्याट्रीको खपत गरेको खण्डमा तपाईंको ट्याब्लेटले कारबाहीको सुझाव दिन्छ। \n\nतपाईंको ब्याट्री कम हुँदै गएको छ भने तपाईंले सधैँ ब्याट्री सेभर सक्रिय पार्न सक्नुहुन्छ।"</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"तपाईंका एपहरूले सामान्य मात्रामा ब्याट्रीको खपत गर्दै छन्। एपहरूले अत्यन्त धेरै ब्याट्रीको खपत गरेको खण्डमा तपाईंको यन्त्रले कारबाहीको सुझाव दिन्छ। \n\nतपाईंको ब्याट्री कम हुँदै गएको छ भने तपाईंले सधैँ ब्याट्री सेभर सक्रिय पार्न सक्नुहुन्छ।"</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"<xliff:g id="PERCENT">%1$s</xliff:g> ब्याट्री हुँदा"</string>
<string name="battery_percentage" msgid="1779934245963043490">"ब्याट्रीको प्रतिशत"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"स्टाटस बारमा ब्याट्रीको प्रतिशत देखाइयोस्"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"पछिल्लो पटक पूर्ण रूपले चार्ज भएपछि ब्याट्रीको लेबल"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"विगत २४ घन्टामा ब्याट्रीको स्तर"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"पछिल्लो पटक पूर्ण रूपले चार्ज भएपछि एपको प्रयोग"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"विगत २४ घन्टामा एपले खपत गरेको ब्याट्री"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"पछिल्लो पटक पूर्ण रूपले चार्ज भएपछि सिस्टमको प्रयोग"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"विगत २४ घन्टामा सिस्टमले खपत गरेको ब्याट्री"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"<xliff:g id="SLOT">%s</xliff:g> मा सिस्टमले खपत गरेको ब्याट्री"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"<xliff:g id="SLOT">%s</xliff:g> मा एपले खपत गरेको ब्याट्री"</string>
diff --git a/res/values-night/colors.xml b/res/values-night/colors.xml
index 4e4ee5d..0017c2c 100644
--- a/res/values-night/colors.xml
+++ b/res/values-night/colors.xml
@@ -52,5 +52,8 @@
<!-- Material inverse ripple color, useful for inverted backgrounds. -->
<color name="ripple_material_inverse">@*android:color/ripple_material_light</color>
+
+ <!-- Icon tint color for battery usage system icon -->
+ <color name="battery_usage_system_icon_color">@android:color/white</color>
</resources>
diff --git a/res/values-nl/arrays.xml b/res/values-nl/arrays.xml
index ef318f2..d25be4c 100644
--- a/res/values-nl/arrays.xml
+++ b/res/values-nl/arrays.xml
@@ -504,7 +504,7 @@
<item msgid="9080166583718385565">"0"</item>
</string-array>
<string-array name="wifi_metered_entries">
- <item msgid="3237321077949659241">"Detecteer automatisch"</item>
+ <item msgid="3237321077949659241">"Automatisch detecteren"</item>
<item msgid="3779092145391320375">"Behandelen als wifi met datalimiet"</item>
<item msgid="2047166446768045816">"Behandelen als wifi zonder datalimiet"</item>
</string-array>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index fd06fd8..c555769 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Je hebt geen rechten om de Bluetooth-instellingen te wijzigen."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Apparaat koppelen"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Rechteroor koppelen"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Linkeroor koppelen"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Je andere oor koppelen"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Je linkerhoortoestel is verbonden.\n\nAls je het rechterhoortoestel wilt koppelen, zorg dan dat dit aanstaat en klaar is voor koppelen."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Je rechterhoortoestel is verbonden.\n\nAls je het linkerhoortoestel wilt koppelen, zorg dan dat dit aanstaat en klaar is voor koppelen."</string>
@@ -325,7 +327,7 @@
<string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Laden…"</string>
<string name="location_settings_footer_general" msgid="1040507068701188821">"Apps met rechten voor apparaten in de buurt kunnen ongeveer inschatten waar verbonden apparaten zijn."</string>
<string name="location_settings_footer_location_off" msgid="8568995909147566720">"Toegang tot de locatie staat uit voor apps en services. De locatie van je apparaat kan nog steeds worden verstuurd naar nooddiensten als je een alarmnummer belt of sms\'t."</string>
- <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"Meer informatie over locatie-instellingen."</string>
+ <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"Meer informatie over locatie-instellingen"</string>
<string name="account_settings_title" msgid="9138880127246241885">"Accounts"</string>
<string name="security_settings_title" msgid="6710768415432791970">"Beveiliging"</string>
<string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Versleuteling en inloggegevens"</string>
@@ -616,7 +618,7 @@
<string name="fingerprint_last_delete_title" msgid="4081475675646514726">"Alle vingerafdrukken verwijderen?"</string>
<string name="fingerprint_delete_title" msgid="1469865327307917858">"\'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' verwijderen"</string>
<string name="fingerprint_delete_message" msgid="1454995433333496541">"Wil je deze vingerafdruk verwijderen?"</string>
- <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"Hiermee verwijder je vingerafdrukafbeeldingen en het aan <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> gekoppelde model die zijn opgeslagen op je apparaat"</string>
+ <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"Hiermee verwijder je vingerafdrukafbeeldingen en het aan <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> gekoppelde model die zijn opgeslagen op je apparaat."</string>
<string name="fingerprint_last_delete_message" msgid="7860374760549404410">"Je kunt je vingerafdruk dan niet meer gebruiken om je telefoon te ontgrendelen of voor verificatie in apps."</string>
<string name="fingerprint_last_delete_message_profile_challenge" msgid="4104208067277655068">"Je kunt je vingerafdruk dan niet meer gebruiken om je werkprofiel te ontgrendelen, aankopen te autoriseren of in te loggen bij werk-apps."</string>
<string name="fingerprint_last_delete_confirm" msgid="3294910995598819259">"Ja, verwijderen"</string>
@@ -744,7 +746,7 @@
<string name="unlock_footer_high_complexity_requested" msgid="4471274783909915352">"<xliff:g id="APP_NAME">%1$s</xliff:g> raadt een sterke pincode of sterk wachtwoord aan en werkt zonder een van deze mogelijk niet zoals verwacht"</string>
<string name="unlock_footer_medium_complexity_requested" msgid="5515870066751600640">"<xliff:g id="APP_NAME">%1$s</xliff:g> raadt een nieuwe pincode of nieuw wachtwoord aan en werkt zonder een van deze mogelijk niet zoals verwacht"</string>
<string name="unlock_footer_low_complexity_requested" msgid="2517656037576567971">"<xliff:g id="APP_NAME">%1$s</xliff:g> raadt een nieuw patroon, nieuwe pincode of nieuw wachtwoord aan en werkt zonder een van deze mogelijk niet zoals verwacht"</string>
- <string name="unlock_footer_none_complexity_requested" msgid="8534900170428140529">"<xliff:g id="APP_NAME">%1$s</xliff:g> raadt een nieuwe schermvergrendeling aan"</string>
+ <string name="unlock_footer_none_complexity_requested" msgid="8534900170428140529">"<xliff:g id="APP_NAME">%1$s</xliff:g> raadt een nieuwe schermvergrendeling aan."</string>
<string name="lock_failed_attempts_before_wipe" msgid="6874652886647631418">"Probeer het opnieuw. Poging <xliff:g id="CURRENT_ATTEMPTS">%1$d</xliff:g> van <xliff:g id="TOTAL_ATTEMPTS">%2$d</xliff:g>."</string>
<string name="lock_last_attempt_before_wipe_warning_title" msgid="7450322567217745999">"Je gegevens worden verwijderd"</string>
<string name="lock_last_pattern_attempt_before_wipe_device" msgid="5816668400104558952">"Als je bij de volgende poging een onjuist patroon opgeeft, worden de gegevens van dit apparaat verwijderd"</string>
@@ -2339,7 +2341,7 @@
<string name="accessibility_magnification_switch_shortcut_message" msgid="7718653917415163833">"Als je 3 keer tikken gebruikt om een gedeelte van je scherm te vergroten, worden typen en andere acties vertraagd.\n\nJe ziet de knop Toegankelijkheid vóór andere apps op het scherm. Tik op de knop om te vergroten."</string>
<string name="accessibility_magnification_switch_shortcut_positive_button" msgid="2446942190957296957">"Overschakelen naar knop Toegankelijkheid"</string>
<string name="accessibility_magnification_switch_shortcut_negative_button" msgid="7115794462123071594">"3 keer tikken gebruiken"</string>
- <string name="accessibility_magnification_triple_tap_warning_title" msgid="8484669851397296597">"Hierdoor kan je toetsenbord langzamer worden"</string>
+ <string name="accessibility_magnification_triple_tap_warning_title" msgid="8484669851397296597">"Dit kan je toetsenbord langzamer maken"</string>
<string name="accessibility_magnification_triple_tap_warning_message" msgid="2008671502848936410">"Als je 3 keer tikken gebruikt om een deel van het scherm te vergroten, kun je problemen met het toetsenbord krijgen.\n\nJe kunt dit voorkomen door een ander gebaar in te stellen als je snelkoppeling voor vergroting.\n"<annotation id="link">"Instelling wijzigen"</annotation></string>
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Toch doorgaan"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Annuleren"</string>
@@ -2450,7 +2452,7 @@
<string name="accessibility_control_timeout_about_title" msgid="813588002683460837">"Over Tijd voor actie (time-out voor toegankelijkheid)"</string>
<string name="accessibility_control_timeout_footer_learn_more_content_description" msgid="8118584413220542193">"Meer informatie over Tijd voor actie (time-out voor toegankelijkheid)"</string>
<string name="accessibility_control_timeout_preference_title" msgid="1443940538597464758">"Tijd om actie te ondernemen"</string>
- <string name="accessibility_control_timeout_preference_summary" msgid="4037051091059316310">"Niet alle apps ondersteunen deze voorkeur voor timing"</string>
+ <string name="accessibility_control_timeout_preference_summary" msgid="4037051091059316310">"Niet alle apps ondersteunen deze voorkeur voor timing."</string>
<string name="accessibility_control_timeout_preference_intro_text" msgid="1398116710556762245">"Kies hoelang je tijdelijke berichten wilt zien die je vragen om actie te ondernemen"</string>
<string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Vertraging voor blijven aanraken"</string>
<string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Kleurinversie"</string>
@@ -2462,7 +2464,7 @@
<string name="accessibility_autoclick_about_title" msgid="152923024405552594">"Over automatisch klikken (rusttijd)"</string>
<string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"Meer informatie over automatisch klikken (rusttijd)"</string>
<string name="accessibility_autoclick_intro_text" msgid="8959680635470639347">"Je kunt instellen dat een verbonden muis automatisch klikt als de cursor gedurende een bepaalde tijd niet beweegt"</string>
- <string name="accessibility_autoclick_description" msgid="6695732131412361101">"Automatisch klikken kan handig zijn als klikken met de muis moeilijk voor je is"</string>
+ <string name="accessibility_autoclick_description" msgid="6695732131412361101">"Automatisch klikken kan handig zijn als klikken met de muis moeilijk voor je is."</string>
<string name="accessibility_autoclick_default_title" msgid="2024730028293793490">"Automatisch klikken uit"</string>
<string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Kort"</string>
<string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 seconden"</string>
@@ -2515,7 +2517,7 @@
<string name="captioning_caption_appearance_summary" msgid="7340741178479381312">"Tekstgrootte <xliff:g id="ACCESSIBILITY_FONT_SIZE">%1$s</xliff:g>"</string>
<string name="captioning_more_options_title" msgid="3484496882942539652">"Meer opties"</string>
<string name="accessibility_caption_preference_intro" msgid="6662649135457507767">"Pas het formaat en de stijl van de ondertiteling aan zodat je deze makkelijker kunt lezen"</string>
- <string name="accessibility_caption_preference_summary" msgid="632875702223135121">"Niet alle media-apps ondersteunen deze voorkeuren voor de ondertiteling"</string>
+ <string name="accessibility_caption_preference_summary" msgid="632875702223135121">"Niet alle media-apps ondersteunen deze voorkeuren voor de ondertiteling."</string>
<string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Knop Toegankelijkheid"</string>
<string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Omhoog swipen met twee vingers"</string>
<string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Houd de volumetoetsen ingedrukt"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Sommige functies zijn mogelijk beperkt"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Hoger batterijverbruik"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Apps met het hoogste verbruik bekijken"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Opladen tijdelijk beperkt"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Om batterij te sparen. Meer informatie"</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Opladen hervatten"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Onder bepaalde omstandigheden (zoals hoge temperaturen en lange oplaadtijden) kan het opladen worden beperkt tot <xliff:g id="PERCENT">%1$s</xliff:g> omdat dit beter is voor de batterij.\n\nAls die omstandigheden niet meer gelden, wordt je telefoon weer normaal opgeladen."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Onder bepaalde omstandigheden (zoals hoge temperaturen en lange oplaadtijden) kan het opladen worden beperkt tot <xliff:g id="PERCENT">%1$s</xliff:g> omdat dit beter is voor de batterij.\n\nAls die omstandigheden niet meer gelden, wordt je tablet weer normaal opgeladen."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Deze app kan de batterij op de achtergrond gebruiken. Je batterij is mogelijk eerder leeg dan verwacht."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Verwijderen"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Annuleren"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Je apps gebruiken een normale hoeveelheid batterijlading. Als apps te veel batterijlading gebruiken, stelt je telefoon acties voor die je kunt uitvoeren.\n\nJe kunt Batterijbesparing altijd aanzetten als de batterij bijna leeg is."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Je apps gebruiken een normale hoeveelheid batterijlading. Als apps te veel batterijlading gebruiken, stelt je tablet acties voor die je kunt uitvoeren.\n\nJe kunt Batterijbesparing altijd aanzetten als de batterij bijna leeg is."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Je apps gebruiken een normale hoeveelheid batterijlading. Als apps te veel batterijlading gebruiken, stelt je apparaat acties voor die je kunt uitvoeren.\n\nJe kunt Batterijbesparing altijd aanzetten als de batterij bijna leeg is."</string>
@@ -2926,7 +2934,7 @@
<string name="battery_bg_usage_less_minute_24hr" msgid="5016983623297552985">"Achtergrondgebruik minder dan een minuut in de afgelopen 24 u"</string>
<string name="battery_bg_usage_less_minute_with_period" msgid="7624741677867017430">"Achtergrondgebruik minder dan een minuut gedurende <xliff:g id="TIME_PERIOD">^1</xliff:g>"</string>
<string name="battery_total_usage" msgid="4685408616230899847">"<xliff:g id="TIME">^1</xliff:g> totaal gebruik sinds laatste volledige lading"</string>
- <string name="battery_total_usage_24hr" msgid="3907495067623665787">"<xliff:g id="TIME">^1</xliff:g> totaal gebruik in de afgelopen 24 u"</string>
+ <string name="battery_total_usage_24hr" msgid="3907495067623665787">"<xliff:g id="TIME">^1</xliff:g> gebruikt in de afgelopen 24 u"</string>
<string name="battery_total_usage_with_period" msgid="2849061229625950626">"<xliff:g id="TIME_0">^1</xliff:g> totaal gebruik van <xliff:g id="TIME_PERIOD">^2</xliff:g>"</string>
<string name="battery_bg_usage" msgid="548670902301883980">"<xliff:g id="TIME">^1</xliff:g> achtergrondgebruik sinds laatste volledige lading"</string>
<string name="battery_bg_usage_24hr" msgid="1999734910656674710">"<xliff:g id="TIME">^1</xliff:g> achtergrondgebruik in de afgelopen 24 u"</string>
@@ -2958,7 +2966,7 @@
<string name="battery_saver_auto_percentage" msgid="558533724806281980">"Gebaseerd op percentage"</string>
<string name="battery_saver_auto_routine_summary" msgid="3913145448299472628">"Batterijbesparing wordt aangezet als de batterij waarschijnlijk leeg raakt vóór de volgende verwachte keer dat je oplaadt."</string>
<string name="battery_saver_auto_percentage_summary" msgid="6190884450723824287">"Wordt aangezet bij <xliff:g id="PERCENT">%1$s</xliff:g>"</string>
- <string name="battery_saver_schedule_settings_title" msgid="3688019979950082237">"Een planning instellen"</string>
+ <string name="battery_saver_schedule_settings_title" msgid="3688019979950082237">"Planning instellen"</string>
<string name="battery_saver_turn_on_summary" msgid="1433919417587171160">"Gebruiksduur van de batterij verlengen"</string>
<string name="battery_saver_sticky_title_new" msgid="5942813274115684599">"Uitzetten na opladen"</string>
<string name="battery_saver_sticky_description_new" product="default" msgid="492221102651829607">"Batterijbesparing wordt uitgezet als je telefoon meer dan <xliff:g id="NUMBER">^1</xliff:g><xliff:g id="UNIT">%</xliff:g> batterij heeft"</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"bij <xliff:g id="PERCENT">%1$s</xliff:g> batterijlading"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Batterijpercentage"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Toon batterijpercentage in statusbalk"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Batterijniveau sinds de laatste volledige lading"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Batterijniveau voor afgelopen 24 uur"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"App-gebruik sinds de laatste volledige lading"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"App-gebruik voor afgelopen 24 uur"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Systeemgebruik sinds de laatste volledige lading"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Systeemgebruik voor afgelopen 24 uur"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Systeemgebruik voor <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"App-gebruik voor <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -3751,7 +3762,7 @@
<string name="live_caption_summary" msgid="2898451867595161809">"Ondertitel media automatisch"</string>
<string name="spatial_audio_speaker" msgid="9145233652433523302">"Telefoonspeaker"</string>
<string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Bedrade hoofdtelefoon"</string>
- <string name="spatial_audio_text" msgid="8201387855375146000">"Geschikte media leveren een royaler geluid"</string>
+ <string name="spatial_audio_text" msgid="8201387855375146000">"Compatibele media leveren een royaler geluid"</string>
<string name="spatial_summary_off" msgid="8272678804629774378">"Uit"</string>
<string name="spatial_summary_on_one" msgid="6239933399496282994">"Aan: <xliff:g id="OUTPUT_DEVICE">%1$s</xliff:g>"</string>
<string name="spatial_summary_on_two" msgid="4526919818832483883">"Aan: <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> en <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
@@ -4603,7 +4614,7 @@
</plurals>
<string name="running_frequency" msgid="7260225121706316639">"Frequentie"</string>
<string name="memory_maximum_usage" msgid="2047013391595835607">"Maximaal gebruik"</string>
- <string name="no_data_usage" msgid="4665617440434654132">"Geen gegevens gebruikt"</string>
+ <string name="no_data_usage" msgid="4665617440434654132">"Geen data gebruikt"</string>
<string name="zen_access_warning_dialog_title" msgid="6323325813123130154">"Toegang tot \'Niet storen\' toestaan voor <xliff:g id="APP">%1$s</xliff:g>?"</string>
<string name="zen_access_warning_dialog_summary" msgid="8468714854067428987">"De app kan de functie Niet storen aan- of uitzetten en gerelateerde instellingen wijzigen."</string>
<string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Moet aan blijven omdat toegang tot meldingen is gegeven"</string>
@@ -4762,7 +4773,7 @@
<string name="cellular_data_usage" msgid="5874156338825285334">"Gebruik van mobiele data"</string>
<string name="app_cellular_data_usage" msgid="7603292978956033926">"Datagebruik van app"</string>
<string name="wifi_data_usage" msgid="6868503699134605707">"Wifi-datagebruik"</string>
- <string name="non_carrier_data_usage" msgid="6494603202578414755">"Ander datagebruik dan door providers"</string>
+ <string name="non_carrier_data_usage" msgid="6494603202578414755">"Ander datagebruik dan van providers"</string>
<string name="ethernet_data_usage" msgid="4552227880905679761">"Ethernetdatagebruik"</string>
<string name="wifi" msgid="2932584495223243842">"Wifi"</string>
<string name="ethernet" msgid="4665162609974492983">"Ethernet"</string>
@@ -5792,7 +5803,7 @@
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Nu opnieuw opstarten"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Later opnieuw opstarten"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Ruimtelijke audio"</string>
- <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Geschikte media leveren een royaler geluid"</string>
+ <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Compatibele media leveren een royaler geluid"</string>
<string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Bewegingen van het hoofd volgen"</string>
<string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"De audio wordt aangepast als je je hoofd beweegt, voor een natuurlijker geluid"</string>
<string name="ingress_rate_limit_title" msgid="2106694002836274350">"Limiet voor downloadsnelheid van netwerk"</string>
diff --git a/res/values-or/arrays.xml b/res/values-or/arrays.xml
index 3418fa1..b339d4a 100644
--- a/res/values-or/arrays.xml
+++ b/res/values-or/arrays.xml
@@ -509,8 +509,8 @@
<item msgid="2047166446768045816">"ମିଟର୍ ହୋଇନଥିବା ରୂପେ ବିବେଚନା କରନ୍ତୁ"</item>
</string-array>
<string-array name="wifi_privacy_entries">
- <item msgid="3485945604919292489">"ରେଣ୍ଡମାଇଜ୍ MAC ବ୍ୟବହାର କରନ୍ତୁ (ଡିଫଲ୍ଟ)"</item>
- <item msgid="741680937828608749">"MAC ଡିଭାଇସ୍ ବ୍ୟବହାର କରନ୍ତୁ"</item>
+ <item msgid="3485945604919292489">"ରେଣ୍ଡମାଇଜ୍ଡ MAC ବ୍ୟବହାର କରନ୍ତୁ (ଡିଫଲ୍ଟ)"</item>
+ <item msgid="741680937828608749">"MAC ଡିଭାଇସ ବ୍ୟବହାର କରନ୍ତୁ"</item>
</string-array>
<string-array name="wifi_hidden_entries">
<item msgid="342232116597649254">"ନା"</item>
@@ -526,7 +526,7 @@
<item msgid="8657797891533816070">"ଶବ୍ଦବହୁଳ"</item>
</string-array>
<string-array name="cdma_system_select_choices">
- <item msgid="1205665684426617345">"କେବଳ ହୋମ୍ ନେଟ୍ୱର୍କ"</item>
+ <item msgid="1205665684426617345">"କେବଳ ହୋମ"</item>
<item msgid="6691772120712000966">"ଅଟୋମେଟିକ"</item>
</string-array>
<string-array name="preferred_network_mode_choices">
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index 27989b2..f5dba22 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"ବ୍ଲୁଟୂଥ୍ ସେଟିଂସ ବଦଳାଇବା ପାଇଁ ଆପଣଙ୍କ ପାଖରେ ଅନୁମତି ନାହିଁ।"</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"ନୂଆ ଡିଭାଇସ୍ ପେୟାର୍ କରନ୍ତୁ"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"ବ୍ଲୁଟୁଥ୍"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"ଡାହାଣ କାନକୁ ପେୟାର କର"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"ବାମ କାନକୁ ପେୟାର କର"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"ଅନ୍ୟ କାନକୁ ପେୟାର କରନ୍ତୁ"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"ଆପଣଙ୍କ ବାମ ଶ୍ରବଣ ଯନ୍ତ୍ର ସଂଯୋଗ କରାଯାଇଛି।\n\nଡାହାଣ ଶ୍ରବଣ ଯନ୍ତ୍ରକୁ ପେୟାର କରିବା ପାଇଁ, ଏହା ଚାଲୁ ଥିବା ଏବଂ ପେୟାର କରିବାକୁ ପ୍ରସ୍ତୁତ ଥିବା ସୁନିଶ୍ଚିତ କରନ୍ତୁ।"</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"ଆପଣଙ୍କ ଡାହାଣ ଶ୍ରବଣ ଯନ୍ତ୍ର ସଂଯୋଗ କରାଯାଇଛି।\n\nବାମ ଶ୍ରବଣ ଯନ୍ତ୍ରକୁ ପେୟାର କରିବା ପାଇଁ, ଏହା ଚାଲୁ ଥିବା ଏବଂ ପେୟାର କରିବାକୁ ପ୍ରସ୍ତୁତ ଥିବା ସୁନିଶ୍ଚିତ କରନ୍ତୁ।"</string>
@@ -160,7 +162,7 @@
<string name="connected_device_other_device_title" msgid="4652120430615729193">"ଅନ୍ୟ ଡିଭାଇସ୍ଗୁଡ଼ିକ"</string>
<string name="connected_device_saved_title" msgid="5607274378851905959">"ସେଭ ହୋଇଥିବା ଡିଭାଇସଗୁଡ଼ିକ"</string>
<string name="connected_device_add_device_summary" msgid="8671009879957120802">"ପେୟାର୍ କରିବା ପାଇଁ ବ୍ଲୁଟୂଥ୍ ଚାଲୁ ହେବ"</string>
- <string name="connected_device_connections_title" msgid="4164120115341579170">"ସଂଯୋଗ ପସନ୍ଦଗୁଡ଼ିକ"</string>
+ <string name="connected_device_connections_title" msgid="4164120115341579170">"କନେକ୍ସନ ପସନ୍ଦଗୁଡ଼ିକ"</string>
<string name="connected_device_previously_connected_title" msgid="605808252622814415">"ପୂର୍ବରୁ ସଂଯୁକ୍ତ ହୋଇଥିବା ଡିଭାଇସଗୁଡ଼ିକ"</string>
<string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"ପୂର୍ବରୁ ସଂଯୋଗ ହୋଇଛି"</string>
<string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"ବ୍ଲୁ-ଟୁଥ୍ ଅନ୍ କରାଗଲା"</string>
@@ -265,7 +267,7 @@
<string name="roaming" msgid="3055365654530847985">"ରୋମିଂ"</string>
<string name="roaming_enable" msgid="7845716016861535340">"ରୋମିଙ୍ଗରେ ଥିବାବେଳେ ଡାଟା ସେବା ସହ ସଂଯୋଗ କରନ୍ତୁ"</string>
<string name="roaming_disable" msgid="729512894708689604">"ରୋମିଙ୍ଗ ବେଳେ ଡାଟା ସେବାଗୁଡିକୁ ସଂଯୋଗ କରନ୍ତୁ"</string>
- <string name="roaming_reenable_message" msgid="5150423860521673540">"ଆପଣ ଡାଟା ସଂଯୁକ୍ତତାକୁ ହରାଇଛନ୍ତି, କାରଣ ଆପଣ ଡାଟା ରୋମିଙ୍ଗ ସହିତ ନିଜର ହୋମ୍ ନେଟ୍ୱର୍କକୁ ବନ୍ଦ କରିଦେଇଛନ୍ତି।"</string>
+ <string name="roaming_reenable_message" msgid="5150423860521673540">"ଆପଣ ଡାଟା କନେକ୍ଟିଭିଟି ହରାଇଛନ୍ତି, କାରଣ ଆପଣ ଡାଟା ରୋମିଙ୍ଗ ସହିତ ନିଜର ହୋମ ନେଟୱର୍କକୁ ବନ୍ଦ କରିଦେଇଛନ୍ତି।"</string>
<string name="roaming_turn_it_on_button" msgid="6999283810847157816">"ଏହାକୁ ଚାଲୁ କରନ୍ତୁ"</string>
<string name="roaming_warning" msgid="7703647889040229013">"ରୋମିଂ ଚାର୍ଜ୍ ଲାଗୁ ହୋଇପାରେ।"</string>
<string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"ଆପଣ ଡାଟା ରୋମିଂକୁ ଅନୁମତି ଦେଲେ, ରୋମିଂ ଚାର୍ଜ୍ ଲାଗୁ ହୋଇପାରେ। \n\nଏହି ଟାବ୍ଲେଟ୍ର ସମସ୍ତ ଉପଯୋଗକର୍ତ୍ତାଙ୍କୁ ଏହି ସେଟିଂ ପ୍ରଭାବିତ କରିଥାଏ।"</string>
@@ -316,7 +318,7 @@
<string name="show_profile_info_on_lockscreen_label" msgid="5734739022887933365">"ଲକ୍ ସ୍କ୍ରୀନ୍ରେ ପ୍ରୋଫାଇଲ୍ ସୂଚନା ଦେଖନ୍ତୁ"</string>
<string name="Accounts_settings_title" msgid="8434263183710375412">"ଆକାଉଣ୍ଟ"</string>
<string name="location_settings_title" msgid="8375074508036087178">"ଲୋକେସନ୍"</string>
- <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"ଲୋକେସନ୍ ବ୍ୟବହାର କରନ୍ତୁ"</string>
+ <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"ଲୋକେସନ ବ୍ୟବହାର କରନ୍ତୁ"</string>
<string name="location_settings_summary_location_off" msgid="4797932754681162262">"ବନ୍ଦ"</string>
<plurals name="location_settings_summary_location_on" formatted="false" msgid="1019959038518185676">
<item quantity="other">ଚାଲୁ - <xliff:g id="COUNT_1">%1$d</xliff:g>ଟି ଆପର ଲୋକେସନ୍କୁ ଆକ୍ସେସ୍ ଅଛି</item>
@@ -324,7 +326,7 @@
</plurals>
<string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"ଲୋଡ୍ ହେଉଛି…"</string>
<string name="location_settings_footer_general" msgid="1040507068701188821">"ଆଖପାଖର ଡିଭାଇସଗୁଡ଼ିକ ପାଇଁ ଅନୁମତି ଥିବା ଆପଗୁଡ଼ିକ ସଂଯୁକ୍ତ ଡିଭାଇସଗୁଡ଼ିକର ଆପେକ୍ଷିକ ଅବସ୍ଥିତିକୁ ନିର୍ଦ୍ଧାରଣ କରିପାରିବ।"</string>
- <string name="location_settings_footer_location_off" msgid="8568995909147566720">"ଆପ୍ ଓ ସେବାଗୁଡ଼ିକ ପାଇଁ ଲୋକେସନ୍ ଆକ୍ସେସ୍ ବନ୍ଦ ଅଛି। ଆପଣ ଏକ ଜରୁରୀକାଳୀନ ନମ୍ବରକୁ କଲ୍ କରିବା କିମ୍ବା ଟେକ୍ସଟ୍ ମେସେଜ୍ ପଠାଇବା ସମୟରେ ଆପଣଙ୍କ ଡିଭାଇସର ଲୋକେସନ୍ ଏବେ ବି ଜରୁରୀକାଳୀନ ଉତ୍ତରଦାତାମାନଙ୍କୁ ପଠାଯାଇପାରେ।"</string>
+ <string name="location_settings_footer_location_off" msgid="8568995909147566720">"ଆପ ଓ ସେବାଗୁଡ଼ିକ ପାଇଁ ଲୋକେସନ ଆକ୍ସେସ ବନ୍ଦ ଅଛି। ଆପଣ ଏକ ଜରୁରୀକାଳୀନ ନମ୍ବରକୁ କଲ କରିବା କିମ୍ବା ଟେକ୍ସଟ ମେସେଜ ପଠାଇବା ସମୟରେ ଆପଣଙ୍କ ଡିଭାଇସର ଲୋକେସନ ଏବେ ବି ଜରୁରୀକାଳୀନ ଉତ୍ତରଦାତାମାନଙ୍କୁ ପଠାଯାଇପାରେ।"</string>
<string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"ଲୋକେସନ ସେଟିଂସ ବିଷୟରେ ଅଧିକ ଜାଣନ୍ତୁ।"</string>
<string name="account_settings_title" msgid="9138880127246241885">"ଆକାଉଣ୍ଟ"</string>
<string name="security_settings_title" msgid="6710768415432791970">"ସୁରକ୍ଷା"</string>
@@ -374,7 +376,7 @@
<string name="security_settings_face_enroll_introduction_consent_message" product="default" msgid="5164079708894687560">"ଏକ ଦୃଢ଼ ପାଟର୍ନ କିମ୍ବା PIN ଅପେକ୍ଷା ଆପଣଙ୍କ ପିଲାର ଫେସ ବ୍ୟବହାର କରି ତା\'ର ଫୋନକୁ ଅନଲକ କରିବା କମ୍ ସୁରକ୍ଷିତ ହୋଇପାରେ।"</string>
<string name="security_settings_face_enroll_introduction_consent_message" product="tablet" msgid="4155504156661531649">"ଏକ ଦୃଢ଼ ପାଟର୍ନ କିମ୍ବା PIN ଅପେକ୍ଷା ଆପଣଙ୍କ ପିଲାର ଫେସ ବ୍ୟବହାର କରି ତା\'ର ଟାବଲେଟକୁ ଅନଲକ କରିବା କମ୍ ସୁରକ୍ଷିତ ହୋଇପାରେ।"</string>
<string name="security_settings_face_enroll_introduction_consent_message" product="device" msgid="7233598320061107964">"ଏକ ଦୃଢ଼ ପାଟର୍ନ କିମ୍ବା PIN ଅପେକ୍ଷା ଆପଣଙ୍କ ପିଲାର ଫେସ ବ୍ୟବହାର କରି ତା\'ର ଡିଭାଇସକୁ ଅନଲକ କରିବା କମ୍ ସୁରକ୍ଷିତ ହୋଇପାରେ।"</string>
- <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="5841976283789481311">"ଫୋନ୍କୁ ଅନଲକ୍ କରିବା କିମ୍ୱା କିଣାକିଣିକୁ ଅନୁମୋଦନ କରିବା ପାଇଁ ନିଜ ଫେସର ବ୍ୟବହାର କରନ୍ତୁ।\n\nଧ୍ୟାନ ଦିଅନ୍ତୁ: ଏହି ଡିଭାଇସ୍ ଅନଲକ୍ କରିବାକୁ ଆପଣ ଆପଣଙ୍କ ଫେସ୍ ବ୍ୟବହାର କରିପାରିବେ ନାହିଁ। ଅଧିକ ସୂଚନା ପାଇଁ, ଆପଣଙ୍କ ସଂସ୍ଥାର ଆଡମିନଙ୍କ ସହ ଯୋଗାଯୋଗ କରନ୍ତୁ।"</string>
+ <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="5841976283789481311">"ଫୋନକୁ ଅନଲକ କରିବା କିମ୍ୱା କ୍ରୟକୁ ଅନୁମୋଦନ କରିବା ପାଇଁ ନିଜ ଫେସର ବ୍ୟବହାର କରନ୍ତୁ।\n\nଧ୍ୟାନ ଦିଅନ୍ତୁ: ଏହି ଡିଭାଇସ ଅନଲକ କରିବାକୁ ଆପଣ ଆପଣଙ୍କ ଫେସ ବ୍ୟବହାର କରିପାରିବେ ନାହିଁ। ଅଧିକ ସୂଚନା ପାଇଁ, ଆପଣଙ୍କ ସଂସ୍ଥାର ଆଡମିନଙ୍କ ସହ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ।"</string>
<string name="security_settings_face_enroll_introduction_message_setup" msgid="765965418187421753">"ନିଜର ଫୋନ୍ ଅନଲକ୍ କରିବା ପାଇଁ ନିଜର ଫେସ୍ ବ୍ୟବହାର କରନ୍ତୁ, କିଣାକିଣିକଗୁଡ଼ିକୁ ସ୍ୱୀକୃତି ଦିଅନ୍ତୁ, କିମ୍ବା ଆପ୍ଗୁଡ଼ିକରେ ସାଇନ୍ ଇନ୍ କରନ୍ତୁ।"</string>
<string name="security_settings_face_enroll_introduction_info_title" msgid="7120796118179406944"></string>
<string name="security_settings_face_enroll_introduction_info_glasses" msgid="2733870453868907471"></string>
@@ -448,7 +450,7 @@
<string name="security_settings_fingerprint_enroll_introduction_footer_message_1" msgid="7817635368506064516">"ଟିପଚିହ୍ନ ମାଧ୍ୟମରେ ରେକର୍ଡ କରାଯାଇଥିବା ଡାଟା ସୁରକ୍ଷିତ ଭାବେ ଷ୍ଟୋର କରାଯାଇଥାଏ ଏବଂ ଏହା କେବେ ବି ଆପଣଙ୍କ ଫୋନରୁ କାଢ଼ି ହେବ ନାହିଁ। ଆପଣ ସେଟିଂସରେ ଯେ କୌଣସି ସମୟରେ ଆପଣଙ୍କ ଡାଟା ଡିଲିଟ କରିପାରିବେ।"</string>
<string name="security_settings_fingerprint_enroll_introduction_footer_message_2" msgid="3507618608004123384">"ଏକ ଦୃଢ଼ ପାଟର୍ନ କିମ୍ବା PINଠାରୁ ଆପଣଙ୍କ ଟିପଚିହ୍ନ କମ୍ ସୁରକ୍ଷିତ ହୋଇପାରେ।"</string>
<string name="security_settings_fingerprint_enroll_introduction_footer_message_3" product="default" msgid="4757472591076060066">"ଉନ୍ନତ ଟିପଚିହ୍ନ ମଡେଲଗୁଡ଼ିକୁ ତିଆରି କରିବା ପାଇଁ ଆପଣଙ୍କର ଫୋନ୍ ବେଳେବେଳେ ଆପଣଙ୍କ ବର୍ତ୍ତମାନର ଟିପଚିହ୍ନ ଛବିଗୁଡ଼ିକୁ ବ୍ୟବହାର କରିବ।"</string>
- <string name="security_settings_fingerprint_enroll_introduction_message_unlock_disabled" msgid="8957789840251747092">"ଫୋନ୍କୁ ଅନ୍ଲକ୍ କରିବା କିମ୍ୱା କିଣାକିଣିକୁ ଅନୁମୋଦନ କରିବା ପାଇଁ ନିଜ ଟିପଚିହ୍ନର ବ୍ୟବହାର କରନ୍ତୁ।\n\nଧ୍ୟାନଦିଅନ୍ତୁ: ଏହି ଡିଭାଇସ୍ ଅନଲକ୍ କରିବାକୁ ଆପଣ ଟିପଚିହ୍ନ ବ୍ୟବହାର କରିପାରିବେ ନାହିଁ। ଅଧିକ ସୂଚନା ପାଇଁ, ଆପଣଙ୍କ ସଂସ୍ଥାର ଆଡମିନଙ୍କ ସହ ଯୋଗାଯୋଗ କରନ୍ତୁ।"</string>
+ <string name="security_settings_fingerprint_enroll_introduction_message_unlock_disabled" msgid="8957789840251747092">"ଫୋନକୁ ଅନଲକ କରିବା କିମ୍ୱା କ୍ରୟକୁ ଅନୁମୋଦନ କରିବା ପାଇଁ ନିଜ ଟିପଚିହ୍ନର ବ୍ୟବହାର କରନ୍ତୁ।\n\nଧ୍ୟାନଦିଅନ୍ତୁ: ଏହି ଡିଭାଇସ ଅନଲକ କରିବାକୁ ଆପଣ ଟିପଚିହ୍ନ ବ୍ୟବହାର କରିପାରିବେ ନାହିଁ। ଅଧିକ ସୂଚନା ପାଇଁ, ଆପଣଙ୍କ ସଂସ୍ଥାର ଆଡମିନଙ୍କ ସହ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ।"</string>
<string name="security_settings_fingerprint_enroll_introduction_cancel" msgid="6086532316718920562">"ବାତିଲ"</string>
<string name="security_settings_fingerprint_enroll_introduction_no_thanks" msgid="6104718999323591180">"ନା, ଧନ୍ୟବାଦ"</string>
<string name="security_settings_fingerprint_enroll_introduction_agree" msgid="4068276083536421828">"ମୁଁ ରାଜି"</string>
@@ -600,7 +602,7 @@
<string name="fingerprint_enroll_button_add" msgid="6652490687672815760">"ଆଉ ଗୋଟିଏ ଯୋଗ କରନ୍ତୁ"</string>
<string name="fingerprint_enroll_button_next" msgid="1034110123277869532">"ପରବର୍ତ୍ତୀ"</string>
<string name="security_settings_fingerprint_enroll_disclaimer" msgid="7875826823637114097">"ଆପଣଙ୍କ ଫୋନ୍ ଅନଲକ୍ କରିବା ସହ, କ୍ରୟ କରିବାକୁ ଏବଂ ଆପ୍ ଆକ୍ସେସ୍ ସ୍ୱୀକୃତି ଦେବାକୁ ଆପଣଙ୍କ ଟିପଚିହ୍ନ ମଧ୍ୟ ବ୍ୟବହାର କରିପାରିବେ। "<annotation id="url">"ଅଧିକ ଜାଣନ୍ତୁ"</annotation></string>
- <string name="security_fingerprint_disclaimer_lockscreen_disabled_1" msgid="294529888220959309">"ସ୍କ୍ରିନ ଲକ ବିକଳ୍ପକୁ ଅକ୍ଷମ କରାଯାଇଛି। ଅଧିକ ଜାଣିବା ପାଇଁ, ଆପଣଙ୍କ ସଂସ୍ଥାର ଆଡମିନଙ୍କ ସହ ଯୋଗାଯୋଗ କରନ୍ତୁ।"</string>
+ <string name="security_fingerprint_disclaimer_lockscreen_disabled_1" msgid="294529888220959309">"ସ୍କ୍ରିନ ଲକ ବିକଳ୍ପକୁ ଅକ୍ଷମ କରାଯାଇଛି। ଅଧିକ ଜାଣିବା ପାଇଁ, ଆପଣଙ୍କ ସଂସ୍ଥାର ଆଡମିନଙ୍କ ସହ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ।"</string>
<string name="security_fingerprint_disclaimer_lockscreen_disabled_2" msgid="8070829069640846543">"କ୍ରୟ ଏବଂ ଆପ ଆକ୍ସେସକୁ ଅଧିକାର ଦେବା ପାଇଁ ଆପଣ ଏବେ ବି ଆପଣଙ୍କ ଟିପଚିହ୍ନକୁ ବ୍ୟବହାର କରିପାରିବେ।"</string>
<string name="security_settings_fingerprint_enroll_lift_touch_again" msgid="2590665137265458789">"ଆଙ୍ଗୁଠିକୁ ଉଠାନ୍ତୁ ଓ ତା’ପରେ ସେନ୍ସରକୁ ପୁଣିଥରେ ଛୁଅଁନ୍ତୁ"</string>
<string name="security_settings_fingerprint_bad_calibration" msgid="598502302101068608">"ଟିପଚିହ୍ନ ସେନ୍ସରକୁ ବ୍ୟବହାର କରାଯାଇପାରିବ ନାହିଁ। ଏକ ମରାମତି କେନ୍ଦ୍ରକୁ ଭିଜିଟ୍ କରନ୍ତୁ"</string>
@@ -616,8 +618,8 @@
<string name="fingerprint_last_delete_title" msgid="4081475675646514726">"ସମସ୍ତ ଟିପଚିହ୍ନ କାଢ଼ିଦେବେ?"</string>
<string name="fingerprint_delete_title" msgid="1469865327307917858">"\'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ବାହାର କରନ୍ତୁ"</string>
<string name="fingerprint_delete_message" msgid="1454995433333496541">"ଆପଣ ଏହି ଟିପଚିହ୍ନକୁ ଡିଲିଟ୍ କରିବାକୁ ଚାହୁଁଛନ୍ତି?"</string>
- <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"ଏହା ଆପଣଙ୍କ ଡିଭାଇସରେ ଷ୍ଟୋର୍ କରାଯାଇଥିବା \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ସହ ସମ୍ବନ୍ଧିତ ଟିପଚିହ୍ନର ଛବି ଏବଂ ମଡେଲଗୁଡ଼ିକୁ ଡିଲିଟ୍ କରିଦିଏ"</string>
- <string name="fingerprint_last_delete_message" msgid="7860374760549404410">"ଆପଣ ଆପଣଙ୍କ ଫୋନକୁ ଅନଲକ୍ କରିବା କିମ୍ବା ଆପଗୁଡ଼ିକରେ ଏହା ଆପଣ ବୋଲି ଯାଞ୍ଚ କରିବା ପାଇଁ ଆପଣଙ୍କ ଟିପଚିହ୍ନ ବ୍ୟବହାର କରିବାକୁ ସକ୍ଷମ ହେବେ ନାହିଁ।"</string>
+ <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"ଏହା ଆପଣଙ୍କ ଡିଭାଇସରେ ଷ୍ଟୋର କରାଯାଇଥିବା \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ସହ ସମ୍ବନ୍ଧିତ ଟିପଚିହ୍ନର ଛବି ଏବଂ ମଡେଲଗୁଡ଼ିକୁ ଡିଲିଟ କରିଦିଏ"</string>
+ <string name="fingerprint_last_delete_message" msgid="7860374760549404410">"ଆପଣ ଆପଣଙ୍କ ଫୋନକୁ ଅନଲକ କରିବା କିମ୍ବା ଆପଗୁଡ଼ିକରେ ଏହା ଆପଣ ବୋଲି ଯାଞ୍ଚ କରିବା ପାଇଁ ଆପଣଙ୍କ ଟିପଚିହ୍ନ ବ୍ୟବହାର କରିବାକୁ ସକ୍ଷମ ହେବେ ନାହିଁ।"</string>
<string name="fingerprint_last_delete_message_profile_challenge" msgid="4104208067277655068">"ଆପଣ ଆପଣଙ୍କ ୱାର୍କ ପ୍ରୋଫାଇଲକୁ ଅନଲକ୍ କରିବା, କ୍ରୟଗୁଡ଼ିକୁ ଅନୁମୋଦନ ଦେବା କିମ୍ବା ୱାର୍କ ଆପଗୁଡ଼ିକରେ ସାଇନ୍ ଇନ୍ କରିବା ପାଇଁ ଆପଣଙ୍କ ଟିପଚିହ୍ନ ବ୍ୟବହାର କରିବାକୁ ସକ୍ଷମ ହେବେ ନାହିଁ।"</string>
<string name="fingerprint_last_delete_confirm" msgid="3294910995598819259">"ହଁ, କାଢ଼ି ଦିଅନ୍ତୁ"</string>
<string name="encryption_settings_title" msgid="2848716008695618360">"ଏନକ୍ରିପ୍ସନ"</string>
@@ -863,7 +865,7 @@
<string name="bluetooth_pairing_dialog_paring_request" msgid="1545098121090892788">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ବ୍ଲୁଟୂଥ୍ ସହିତ ଫେୟାର୍ କରିବାକୁ ଚାହୁଁଛି। ସଂଯୁକ୍ତ ହେଲେ, ଏହା ଆପଣଙ୍କର ଯୋଗାଯୋଗ ଓ କଲ୍ ହିଷ୍ଟୋରୀକୁ ଆକ୍ସେସ୍ କରିବ।"</string>
<string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"ଉପଲବ୍ଧ ଡିଭାଇସ୍"</string>
<string name="bluetooth_preference_no_found_devices" msgid="1331122763066030155">"କୌଣସି ଡିଭାଇସ୍ ଉପଲବ୍ଧ ନାହିଁ"</string>
- <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"ସଂଯୋଗ କରନ୍ତୁ"</string>
+ <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_device_context_unpair" msgid="7525735305244087162">"ଅନପେୟାର୍ କରନ୍ତୁ"</string>
@@ -875,7 +877,7 @@
<string name="bluetooth_scanning_on_info_message" msgid="6667723887545056976">"ବ୍ଲୁଟୁଥ୍ ଚାଲୁ ଥିବାବେଳେ ଆପଣଙ୍କ ଡିଭାଇସ ଆଖପାଖରେ ଥିବା ଅନ୍ୟ ବ୍ଲୁଟୁଥ୍ ଡିଭାଇସ ସହ ଯୋଗାଯୋଗ କରିପାରିବ। \n\nଡିଭାଇସ ଅନୁଭୂତିକୁ ଉନ୍ନତ କରିବା ପାଇଁ, ବ୍ଲୁଟୁଥ୍ ବନ୍ଦ ଥିଲେ ମଧ୍ୟ ଆପ୍ସ ଓ ସେବାଗୁଡ଼ିକ ଯେ କୌଣସି ସମୟରେ ଆଖପାଖର ଡିଭାଇସଗୁଡ଼ିକ ପାଇଁ ଏବେ ବି ସ୍କାନ କରିପାରିବ। ଉଦାହରଣ ସ୍ଵରୂପ, ଲୋକେସନ-ଆଧାରିତ ଫିଚର ଓ ସେବାଗୁଡ଼ିକୁ ଉନ୍ନତ କରିବା ପାଇଁ ଏହାକୁ ବ୍ୟବହାର କରାଯାଇପାରିବ। ଆପଣ ଏହାକୁ "<annotation id="link">"ବ୍ଲୁଟୁଥ୍ ସ୍କାନିଂ ସେଟିଂସ"</annotation>"ରେ ବଦଳାଇପାରିବେ।"</string>
<string name="ble_scan_notify_text" msgid="1358879010396045164">"ଲୋକେସନ ସଠିକତାକୁ ଉନ୍ନତ କରିବା ପାଇଁ, ସିଷ୍ଟମ ଆପ ଓ ସେବାଗୁଡ଼ିକ ବ୍ଲୁଟୂଥ୍ ଡିଭାଇସଗୁଡ଼ିକୁ ଚିହ୍ନଟ କରିପାରେ। ଆପଣ ଏହାକୁ <xliff:g id="LINK_BEGIN_0">LINK_BEGIN</xliff:g>ସ୍କାନିଂ ସେଟିଂସ<xliff:g id="LINK_END_1">LINK_END</xliff:g>ରେ ବଦଳାଇପାରିବେ।"</string>
<string name="bluetooth_connect_failed" msgid="7892663424429584925">"ସଂଯୋଗ କରିପାରୁନାହିଁ। ପୁଣିଥରେ ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
- <string name="device_details_title" msgid="1155622417516195481">"ଡିଭାଇସ୍ର ବିବରଣୀ"</string>
+ <string name="device_details_title" msgid="1155622417516195481">"ଡିଭାଇସର ବିବରଣୀ"</string>
<string name="bluetooth_device_mac_address" msgid="4873325074786732703">"ଡିଭାଇସ୍ର ବ୍ଲୁଟୁଥ ଠିକଣା ହେଉଛି: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
<string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"ଡିଭାଇସର ବ୍ଲୁଟୁଥ ଠିକଣା:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
<string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"ଡିଭାଇସ୍ଟିକୁ ଭୁଲିଯିବେ?"</string>
@@ -895,7 +897,7 @@
<string name="bluetooth_disconnect_pan_nap_profile" product="tablet" msgid="733193449967330892">"ଏହି ଟାବ୍ଲେଟ୍ର ଇଣ୍ଟର୍ନେଟ୍ ସଂଯୋଗ ଶେୟାରିଙ୍ଗ କରିବାରୁ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ବିଚ୍ଛିନ୍ନ ହେବ।"</string>
<string name="bluetooth_disconnect_pan_nap_profile" product="default" msgid="7852265676243153982">"ଏହି ଫୋନ୍ର ଇଣ୍ଟରନେଟ୍ ସଂଯୋଗକୁ ସେୟାର୍ କରିବାରୁ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ବିଚ୍ଛିନ୍ନ ହୋଇଯିବ।"</string>
<string name="bluetooth_device_advanced_title" msgid="1181664272013729515">"ପେୟାର୍ ହୋଇଥିବା ବ୍ଲୁଟୂଥ୍ ଡିଭାଇସ୍"</string>
- <string name="bluetooth_device_advanced_online_mode_title" msgid="8302236592496988747">"ସଂଯୋଗ"</string>
+ <string name="bluetooth_device_advanced_online_mode_title" msgid="8302236592496988747">"କନେକ୍ଟ କରନ୍ତୁ"</string>
<string name="bluetooth_device_advanced_online_mode_summary" msgid="271856759516576615">"ବ୍ଲୁଟୂଥ୍ ଡିଭାଇସ୍ରେ ସଂଯୋଗ କରନ୍ତୁ"</string>
<string name="bluetooth_device_advanced_profile_header_title" msgid="7892879890208207223">"ଏହା ପାଇଁ ବ୍ୟବହାର କରନ୍ତୁ"</string>
<string name="bluetooth_device_advanced_rename_device" msgid="4798081898389041132">"ନାମ ବଦଳାନ୍ତୁ"</string>
@@ -1067,14 +1069,14 @@
<string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"ୱାଇ-ଫାଇ ସେୟାର୍ କରନ୍ତୁ"</string>
<string name="wifi_dpp_scan_qr_code_with_another_device" msgid="6967364080214325016">"“<xliff:g id="SSID">%1$s</xliff:g>”ରେ ଯୋଗଦେବାକୁ, ଏହି QR କୋଡକୁ ଅନ୍ୟ ଏକ ଡିଭାଇସରେ ସ୍କାନ୍ କରନ୍ତୁ"</string>
<string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"“<xliff:g id="SSID">%1$s</xliff:g>”କୁ ସଂଯୋଗ କରିବାକୁ ଏହି QR କୋଡ୍ ସ୍କାନ୍ କରନ୍ତୁ"</string>
- <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ। ଯଦି ସମସ୍ୟା ଜାରି ରୁହେ, ଡିଭାଇସ୍ର ନିର୍ମାତାଙ୍କୁ ଯୋଗାଯୋଗ କରନ୍ତୁ"</string>
+ <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ। ଯଦି ସମସ୍ୟା ଜାରି ରୁହେ, ଡିଭାଇସର ନିର୍ମାତାଙ୍କୁ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ"</string>
<string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"କିଛି ଭୁଲ ହୋଇଗଲା"</string>
<string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"ଡିଭାଇସ୍ ପ୍ଲଗ୍ ଇନ୍ ହୋଇଥିବା, ଚାର୍ଜ ହୋଇଥିବା ଏବଂ ଚାଲୁ ରହିଥିବା ସୁନିଶ୍ଚିତ ହୁଅନ୍ତୁ"</string>
- <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"ଡିଭାଇସ୍ ପ୍ଲଗ୍ ଇନ୍, ଚାର୍ଜ, ଏବଂ ଚାଲୁ ରହିଥିବା ସୁନିଶ୍ଚିତ ହୁଅନ୍ତୁ। ଯଦି ସମସ୍ୟା ଜାରି ରୁହେ, ଡିଭାଇସ୍ର ନିର୍ମାତାଙ୍କୁ ଯୋଗାଯୋଗ କରନ୍ତୁ"</string>
+ <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"ଡିଭାଇସ ପ୍ଲଗ ଇନ, ଚାର୍ଜ, ଏବଂ ଚାଲୁ ରହିଥିବା ସୁନିଶ୍ଚିତ ହୁଅନ୍ତୁ। ଯଦି ସମସ୍ୟା ଜାରି ରୁହେ, ଡିଭାଇସର ନିର୍ମାତାଙ୍କୁ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ"</string>
<string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"ଏହି ଡିଭାଇସ୍ରେ “<xliff:g id="SSID">%1$s</xliff:g>” ଯୋଗ କରିବା ସମର୍ଥିତ ନୁହେଁ"</string>
<string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"ଡିଭାଇସ୍ଟିକୁ ଆପଣଙ୍କର ୱାଇ-ଫାଇ ଆକ୍ସେସ୍ ପଏଣ୍ଟ/ରାଉଟର୍ ପାଖକୁ ନେଇ ଯିବାକୁ ଚେଷ୍ଟା କରନ୍ତୁ"</string>
<string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"ପାସ୍ୱାର୍ଡର ଯାଞ୍ଚ କରନ୍ତୁ ଏବଂ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ"</string>
- <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"ଡିଭାଇସ୍ର ନିର୍ମାତାଙ୍କ ସହିତ ଯୋଗାଯୋଗ କରନ୍ତୁ"</string>
+ <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"ଡିଭାଇସର ନିର୍ମାତାଙ୍କ ସହିତ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ"</string>
<string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"ସଂଯୋଗ ଯାଞ୍ଚ କରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ"</string>
<string name="wifi_dpp_choose_network" msgid="3987007684129341427">"ନେଟ୍ୱର୍କ ବାଛନ୍ତୁ"</string>
<string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"ଆପଣଙ୍କ ଡିଭାଇସ୍ ସହ ସଂଯୋଗ କରିବାକୁ, ଏକ ନେଟ୍ୱର୍କ ବାଛନ୍ତୁ"</string>
@@ -1118,7 +1120,7 @@
<string name="wifi_scan_always_confirm_deny" msgid="6997087934558839256">"ଅଗ୍ରାହ୍ୟ କରନ୍ତୁ"</string>
<string name="wifi_hotspot_title" msgid="1918712370697971229">"ସଂଯୋଗ କରିବା ପାଇଁ ସାଇନ୍ ଇନ୍ କରିବେ?"</string>
<string name="wifi_hotspot_message" msgid="5245614124614833169">"ଆପଣ ନେଟ୍ୱର୍କକୁ ସଂଯୋଗ କରିବା ପୂର୍ବରୁ <xliff:g id="APP_NAME">%1$s</xliff:g> ଆପଣଙ୍କୁ ଅନ୍ଲାଇନ୍ରେ ସାଇନ୍ ଇନ୍ କରିବାକୁ କୁହେ।"</string>
- <string name="wifi_hotspot_connect" msgid="1916314048788438331">"ସଂଯୁକ୍ତ କରନ୍ତୁ"</string>
+ <string name="wifi_hotspot_connect" msgid="1916314048788438331">"କନେକ୍ଟ କରନ୍ତୁ"</string>
<string name="no_internet_access_text" msgid="3611993143350310936">"ଏହି ନେଟ୍ୱର୍କର କୌଣସି ଇଣ୍ଟରନେଟ୍ ଆକ୍ସେସ୍ ନାହିଁ। ସଂଯୁକ୍ତ ହୋଇ ରହିବେ?"</string>
<string name="partial_connectivity_text" msgid="8874614799723694554">"ସୀମିତ ସଂଯୋଗ ପ୍ରକ୍ରିୟା ଯୋଗୁଁ କିଛି ଆପ୍ସ ଏବଂ ସେବା କାମ କରିନପାରେ। ଯେପରି ହେଉ ବ୍ୟବହାର କରିବେ କି?"</string>
<string name="no_internet_access_remember" msgid="5113610157731269258">"ଏହି ନେଟୱାର୍କ୍ ପାଇଁ ପୁନଃ ପଚାରନ୍ତୁ ନାହିଁ"</string>
@@ -1127,7 +1129,7 @@
<string name="lost_internet_access_switch" msgid="7935665847081706202">"ମୋବାଇଲ୍ ଡାଟା ବ୍ୟବହାର କରନ୍ତୁ"</string>
<string name="lost_internet_access_cancel" msgid="1981171269794585284">"ୱାଇ-ଫାଇରେ ରୁହନ୍ତୁ"</string>
<string name="lost_internet_access_persist" msgid="6813604557672782197">"ଆଉ ଆଦୌ ଦେଖାଅ ନାହିଁ"</string>
- <string name="wifi_connect" msgid="2481467560349907397">"ସଂଯୋଗ କରନ୍ତୁ"</string>
+ <string name="wifi_connect" msgid="2481467560349907397">"କନେକ୍ଟ କରନ୍ତୁ"</string>
<string name="wifi_turned_on_message" msgid="8069855406962662881">"ୱାଇ-ଫାଇ ଅନ୍ ଅଛି"</string>
<string name="wifi_connected_to_message" msgid="8976048616505112896">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> ସହ ସଂଯୁକ୍ତ ହୋଇଛି"</string>
<string name="wifi_connecting_to_message" msgid="3153205024060064551">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> ସହ ସଂଯୋଗ ହେଉଛି"</string>
@@ -1165,7 +1167,7 @@
<string name="wifi_type_title" msgid="2174893488722015838">"ପ୍ରକାର"</string>
<string name="wifi_details_dns" msgid="273231528073312579">"DNS"</string>
<string name="wifi_details_ipv6_address_header" msgid="1913151339341722443">"IPv6 ଠିକଣା"</string>
- <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"ସେଭ୍ ହୋଇଥିବା ନେଟ୍ୱାର୍କ"</string>
+ <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"ସେଭ ହୋଇଥିବା ନେଟୱାର୍କ"</string>
<string name="wifi_subscribed_access_points_tab" msgid="7224061396195667208">"ସଦସ୍ୟତା"</string>
<string name="wifi_saved_other_networks_tab" msgid="7942647415716557293">"ଅନ୍ୟ ନେଟୱାର୍କ"</string>
<string name="wifi_advanced_settings_label" msgid="5880605751602184383">"IP ସେଟିଂସ"</string>
@@ -1217,7 +1219,7 @@
<string name="wifi_tether_starting" msgid="8879874184033857814">"ହଟସ୍ପଟ ଅନ କରୁଛି…"</string>
<string name="wifi_tether_stopping" msgid="4416492968019409188">"ହଟସ୍ପଟ୍ ଅଫ୍ କରାଯାଉଛି…"</string>
<string name="wifi_tether_carrier_unsupport_dialog_title" msgid="3089432578433978073">"ଟିଥରିଂ ଉପଲବ୍ଧ ନାହିଁ"</string>
- <string name="wifi_tether_carrier_unsupport_dialog_content" msgid="5920421547607921112">"ବିବରଣୀ ପାଇଁ ଆପଣଙ୍କ କ୍ୟାରିଅର ସହ ଯୋଗାଯୋଗ କରନ୍ତୁ"</string>
+ <string name="wifi_tether_carrier_unsupport_dialog_content" msgid="5920421547607921112">"ବିବରଣୀ ପାଇଁ ଆପଣଙ୍କ କ୍ୟାରିଅର ସହ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ"</string>
<string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> ସକ୍ରିୟ ଅଛି"</string>
<string name="wifi_tether_failed_subtext" msgid="437190628041885500">"ପୋର୍ଟବଲ୍ ୱାଇ-ଫାଇ ହଟ୍ସ୍ପଟ୍ର ସମସ୍ୟା"</string>
<string name="wifi_tether_configure_ap_text" msgid="7072559431286459122">"ୱାଇ-ଫାଇ ହଟସ୍ପଟ୍ ସେଟ୍ ଅପ୍ କରନ୍ତୁ"</string>
@@ -1319,7 +1321,7 @@
<string name="accessibility_personal_account_title" msgid="8535265881509557013">"ବ୍ୟକ୍ତିଗତ ଆକାଉଣ୍ଟ - <xliff:g id="MANAGED_BY">%s</xliff:g>"</string>
<string name="search_settings" msgid="7573686516434589771">"ସନ୍ଧାନ କରନ୍ତୁ"</string>
<string name="display_settings" msgid="7197750639709493852">"ଡିସପ୍ଲେ"</string>
- <string name="accelerometer_title" msgid="7745991950833748909">"ଅଟୋ-ରୋଟେଟ୍ ସ୍କ୍ରିନ୍"</string>
+ <string name="accelerometer_title" msgid="7745991950833748909">"ଅଟୋ-ରୋଟେଟ ସ୍କ୍ରିନ"</string>
<string name="auto_rotate_option_off" msgid="2788096269396290731">"ବନ୍ଦ ଅଛି"</string>
<string name="auto_rotate_option_on" msgid="5776678230808498171">"ଚାଲୁ ଅଛି"</string>
<string name="auto_rotate_option_face_based" msgid="3438645484087953174">"ଚାଲୁ ଅଛି - ଫେସ୍-ଆଧାରିତ"</string>
@@ -1442,7 +1444,7 @@
<string name="screen_timeout_summary" msgid="5558778019594643427">"ନିଷ୍କ୍ରିୟତାର <xliff:g id="TIMEOUT_DESCRIPTION">%1$s</xliff:g> ପରେ"</string>
<string name="wallpaper_settings_title" msgid="5635129851136006383">"ୱାଲପେପର୍"</string>
<string name="style_and_wallpaper_settings_title" msgid="2232042809407308946">"ୱାଲପେପର ଏବଂ ଷ୍ଟାଇଲ"</string>
- <string name="wallpaper_dashboard_summary" msgid="2324472863981057118">"ମୂଳପୃଷ୍ଠା, ଲକ୍ ସ୍କ୍ରିନ୍"</string>
+ <string name="wallpaper_dashboard_summary" msgid="2324472863981057118">"ହୋମ, ଲକ ସ୍କ୍ରିନ"</string>
<string name="wallpaper_settings_summary_default" msgid="7569803705735001813">"ପୂର୍ବ-ନିର୍ଦ୍ଧାରିତ"</string>
<string name="wallpaper_settings_summary_custom" msgid="3174561317688848729">"କଷ୍ଟମ୍"</string>
<string name="wallpaper_suggestion_title" msgid="3812842717939877330">"ୱାଲପେପର ପରିବର୍ତ୍ତନ କରନ୍ତୁ"</string>
@@ -1505,19 +1507,19 @@
<string name="sim_change_data_ok" msgid="4922114750417276560">"<xliff:g id="CARRIER">%1$s</xliff:g> ବ୍ୟବହାର କରନ୍ତୁ"</string>
<string name="sim_preferred_title" msgid="7182406911552216373">"ନିଜ ପସନ୍ଦର ସିମ୍ କାର୍ଡକୁ ଅପଡେଟ୍ କରିବେ?"</string>
<string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> ହେଉଛି ଆପଣଙ୍କ ଡିଭାଇସ୍ରେ ଥିବା ଏକମାତ୍ର SIM। ମୋବାଇଲ୍ ଡାଟା, କଲ୍ ଓ SMS ପାଇଁ ଏହାକୁ ହିଁ ବ୍ୟବହାର କରିବେ?"</string>
- <string name="wrong_pin_code_pukked" msgid="3414172752791445033">"ଭୁଲ SIM PIN କୋଡ୍, ଆପଣଙ୍କ ଡିଭାଇସ୍କୁ ଅନଲକ୍ କରିବା ପାଇଁ ଏବେ ହିଁ ନିଜ କେରିଅର୍ଙ୍କ ସହ ସମ୍ପର୍କ କରନ୍ତୁ।"</string>
+ <string name="wrong_pin_code_pukked" msgid="3414172752791445033">"ଭୁଲ SIM PIN କୋଡ, ଆପଣଙ୍କ ଡିଭାଇସକୁ ଅନଲକ କରିବା ପାଇଁ ଏବେ ହିଁ ନିଜ କ୍ଯାରିଅର ସହ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ।"</string>
<plurals name="wrong_pin_code" formatted="false" msgid="4054088588731305475">
- <item quantity="other">SIMର PIN କୋଡ୍ଟି ଭୁଲ୍, ଆପଣ ଆଉ <xliff:g id="NUMBER_1">%d</xliff:g> ଥର ପ୍ରୟାସ କରିପାରିବେ।</item>
- <item quantity="one">SIMର PIN କୋଡ୍ଟି ଭୁଲ୍, ଆପଣଙ୍କ ଡିଭାଇସ୍ ଅନଲକ୍ କରିବାକୁ ଆପଣ ଆଉ <xliff:g id="NUMBER_0">%d</xliff:g> ଥର ପ୍ରୟାସ କରିପାରିବେ, ତା\'ପରେ ଆପଣଙ୍କୁ ନିଜ କେରିଅର୍ଙ୍କ ସହିତ ଯୋଗାଯୋଗ କରିବାକୁ ହେବ।</item>
+ <item quantity="other">SIMର PIN କୋଡଟି ଭୁଲ, ଆପଣଙ୍କ ଡିଭାଇସ ଅନଲକ କରିବାକୁ ଆପଣ ଆଉ <xliff:g id="NUMBER_1">%d</xliff:g> ଥର ପ୍ରୟାସ କରିପାରିବେ, ତା\'ପରେ ଆପଣଙ୍କୁ ନିଜ କ୍ଯାରିଅର ସହିତ କଣ୍ଟାକ୍ଟ କରିବାକୁ ହେବ।</item>
+ <item quantity="one">SIMର PIN କୋଡଟି ଭୁଲ, ଆପଣଙ୍କ ଡିଭାଇସ ଅନଲକ କରିବାକୁ ଆପଣ ଆଉ <xliff:g id="NUMBER_0">%d</xliff:g> ଥର ପ୍ରୟାସ କରିପାରିବେ, ତା\'ପରେ ଆପଣଙ୍କୁ ନିଜ କ୍ଯାରିଅର ସହିତ କଣ୍ଟାକ୍ଟ କରିବାକୁ ହେବ।</item>
</plurals>
- <string name="wrong_pin_code_one" msgid="6924852214263071441">"ଭୁଲ SIM PIN କୋଡ୍, ଆପଣଙ୍କ ଡିଭାଇସ୍ ଅନଲକ୍ କରିବାକୁ ଆପଣ ଆପଣଙ୍କର ମୋବାଇଲ୍ କମ୍ପାନୀ ସହିତ ନିଶ୍ଚିତରୂପେ ଯୋଗାଯୋଗ କରିବା ପୂର୍ବରୁ ଆପଣଙ୍କ ପାଖରେ 1ଟି ପ୍ରଚେଷ୍ଟା ବାକି ଅଛି।"</string>
+ <string name="wrong_pin_code_one" msgid="6924852214263071441">"ଭୁଲ SIM PIN କୋଡ, ଆପଣଙ୍କ ଡିଭାଇସ ଅନଲକ କରିବାକୁ ଆପଣଙ୍କ କ୍ଯାରିଅର ସହ କଣ୍ଟାକ୍ଟ କରିବା ପୂର୍ବରୁ ଆପଣଙ୍କ ପାଖରେ 1ଟି ପ୍ରଚେଷ୍ଟା ବାକି ଅଛି।"</string>
<string name="pin_failed" msgid="3726505565797352255">"ସିମ୍ ପିନ୍ କାମ ବିଫଳ ହେଲା!"</string>
<string name="system_update_settings_list_item_title" msgid="3398346836439366350">"ସିଷ୍ଟମ୍ ଅପଡେଟ୍"</string>
<string name="system_update_settings_list_item_summary" msgid="6703752298349642101"></string>
<string name="firmware_version" msgid="1606901586501447275">"Android ସଂସ୍କରଣ"</string>
<string name="security_patch" msgid="4071756145347865382">"Android ସୁରକ୍ଷା ଅପଡେଟ୍"</string>
- <string name="model_info" msgid="8997566254717810904">"ମଡେଲ୍"</string>
- <string name="hardware_revision" msgid="3454709180861965025">"ହାର୍ଡୱେର୍ ଭର୍ସନ୍"</string>
+ <string name="model_info" msgid="8997566254717810904">"ମଡେଲ"</string>
+ <string name="hardware_revision" msgid="3454709180861965025">"ହାର୍ଡୱେର ସଂସ୍କରଣ"</string>
<string name="fcc_equipment_id" msgid="6596668314025646129">"ଉପକରଣ ଆଇଡି"</string>
<string name="baseband_version" msgid="2600182227599835857">"ବେସ୍ବ୍ୟାଣ୍ଡ ଭର୍ସନ୍"</string>
<string name="kernel_version" msgid="3513538109381366881">"କର୍ନେଲ୍ ଭର୍ସନ୍"</string>
@@ -1528,7 +1530,7 @@
<string name="device_status" msgid="7988547478034984649">"ସ୍ଥିତି"</string>
<string name="device_status_summary" product="tablet" msgid="8826216824111648900">"ବ୍ୟାଟେରୀ, ନେଟ୍ୱର୍କର ସ୍ଥିତି ଓ ଅନ୍ୟାନ୍ୟ ସୂଚନା"</string>
<string name="device_status_summary" product="default" msgid="8132661857066128832">"ଫୋନ ନମ୍ୱର, ସିଗ୍ନାଲ ଆଦି"</string>
- <string name="storage_settings" msgid="7472188817781592677">"ଷ୍ଟୋରେଜ୍"</string>
+ <string name="storage_settings" msgid="7472188817781592677">"ଷ୍ଟୋରେଜ"</string>
<string name="storage_settings_for_app" msgid="229425418984637483">"ଷ୍ଟୋରେଜ୍ & କେଚ୍"</string>
<string name="storage_usb_settings" msgid="7058142934214211583">"ଷ୍ଟୋରେଜ୍"</string>
<string name="storage_settings_title" msgid="486118156723194815">"ଷ୍ଟୋରେଜ ସେଟିଂସ"</string>
@@ -1769,7 +1771,7 @@
<string name="reset_network_desc" msgid="1112523764899788246">"ଏହା:\n\n"<li>"ୱାଇ-ଫାଇ"</li>\n<li>"ମୋବାଇଲ ଡାଟା"</li>\n<li>"ବ୍ଲୁଟୁଥ୍"</li>" ସମେତ ସମସ୍ତ ନେଟୱାର୍କ ସେଟିଂସକୁ ରିସେଟ କରିବ"</string>
<string name="erase_euicc_data_button" msgid="728078969563311737">"ଖାଲି କରନ୍ତୁ"</string>
<string name="reset_esim_title" msgid="6152167073280852849">"ଡାଉନଲୋଡ୍ ହୋଇଥିବା SIMକୁ ଖାଲି କରନ୍ତୁ"</string>
- <string name="reset_esim_desc" msgid="3662444090563399131">"ଏହା କୌଣସି ମୋବାଇଲ ସେବା ପ୍ଲାନକୁ ବାତିଲ କରିବ ନାହିଁ। ରିପ୍ଲେସମେଣ୍ଟ SIMଗୁଡ଼ିକୁ ଡାଉନଲୋଡ କରିବା ପାଇଁ ଆପଣଙ୍କ କ୍ୟାରିଅର ସହ ଯୋଗାଯୋଗ କରନ୍ତୁ।"</string>
+ <string name="reset_esim_desc" msgid="3662444090563399131">"ଏହା କୌଣସି ମୋବାଇଲ ସେବା ପ୍ଲାନକୁ ବାତିଲ କରିବ ନାହିଁ। ରିପ୍ଲେସମେଣ୍ଟ SIMଗୁଡ଼ିକୁ ଡାଉନଲୋଡ କରିବା ପାଇଁ ଆପଣଙ୍କ କ୍ୟାରିଅର ସହ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ।"</string>
<string name="reset_network_button_text" msgid="2281476496459610071">"ସେଟିଂସ ରିସେଟ କରନ୍ତୁ"</string>
<string name="reset_network_final_desc" msgid="5304365082065278425">"ସମସ୍ତ ନେଟୱାର୍କ ସେଟିଂସ ରିସେଟ କରିବେ? ଏହାକୁ ଆପଣ ଆଉ ପୂର୍ବବତ୍ କରିପାରିବେ ନାହିଁ।"</string>
<string name="reset_network_final_desc_esim" msgid="8342882682282693844">"ସମସ୍ତ ନେଟୱାର୍କ ସେଟିଂସ ରିସେଟ ଏବଂ ଡାଉନଲୋଡ ହୋଇଥିବା SIMକୁ ଖାଲି କରିବେ କି? ଆପଣ ଏହି କାର୍ଯ୍ୟକୁ ପୂର୍ବବତ୍ କରିପାରିବେ ନାହିଁ।"</string>
@@ -1870,10 +1872,10 @@
<string name="mobile_connect_to_internet" msgid="8162654404357069060">"ଇଣ୍ଟର୍ନେଟ୍ ସହ ସଂଯୋଗ କରନ୍ତୁ"</string>
<string name="location_category_recent_location_requests" msgid="2205900488782832082">"ବର୍ତ୍ତମାନର ଲୋକେସନ୍ ଅନୁରୋଧ"</string>
<string name="location_recent_location_requests_see_all" msgid="7918405176741692524">"ସବୁ ଦେଖନ୍ତୁ"</string>
- <string name="location_category_location_services" msgid="8163798686832434284">"ଲୋକେସନ୍ ସେବା"</string>
+ <string name="location_category_location_services" msgid="8163798686832434284">"ଲୋକେସନ ସେବା"</string>
<string name="location_title" msgid="5819154746934945021">"ମୋ ଲୋକେସନ୍"</string>
<string name="managed_profile_location_switch_title" msgid="1265007506385460066">"ୱାର୍କ ପ୍ରୋଫାଇଲ୍ ପାଇଁ ଲୋକେସନ୍"</string>
- <string name="location_app_level_permissions" msgid="907206607664629759">"ଆପର ଲୋକେସନ୍ ଅନୁମତିଗୁଡ଼ିକ"</string>
+ <string name="location_app_level_permissions" msgid="907206607664629759">"ଆପର ଲୋକେସନ ଅନୁମତିଗୁଡ଼ିକ"</string>
<string name="location_app_permission_summary_location_off" msgid="2711822936853500335">"ଲୋକେସନ୍ ବନ୍ଦ ଅଛି"</string>
<plurals name="location_app_permission_summary_location_on" formatted="false" msgid="8286873148858526214">
<item quantity="other"> <xliff:g id="TOTAL_LOCATION_APP_COUNT_3">%2$d</xliff:g> ମଧ୍ୟରୁ <xliff:g id="PERMITTED_LOCATION_APP_COUNT_2">%1$d</xliff:g> ଟି ଆପର ଲୋକେସନ୍କୁ ଆକ୍ସେସ୍ ଅଛି</item>
@@ -1890,8 +1892,8 @@
<string name="location_scanning_wifi_always_scanning_description" msgid="6236055656376931306">"ଆପ୍ ଓ ସେବାଗୁଡ଼ିକୁ ଯେ କୌଣସି ସମୟରେ ୱାଇ-ଫାଇ ନେଟ୍ୱାର୍କ ପାଇଁ ସ୍କାନ୍ କରିବାକୁ ଦିଅନ୍ତୁ, ଏପରିକି ୱାଇ-ଫାଇ ବନ୍ଦ ଥିଲେ ମଧ୍ୟ। ଏହାକୁ ଲୋକେସନ୍ ଆଧାରିତ ଫିଚର୍ ଓ ସେବା ଇତ୍ୟାଦିକୁ ଉନ୍ନତ କରିବା ପାଇଁ ବ୍ୟବହାର କରାଯାଇପାରେ।"</string>
<string name="location_scanning_bluetooth_always_scanning_title" msgid="1809309545730215891">"ବ୍ଲୁଟୁଥ ସ୍କାନିଂ"</string>
<string name="location_scanning_bluetooth_always_scanning_description" msgid="5362988856388462841">"ଆପ୍ ଓ ସେବାଗୁଡ଼ିକୁ ଯେକୌଣସି ସମୟରେ ଆଖପାଖରେ ଥିବା ଡିଭାଇସ୍ ଖୋଜିବାକୁ ଦିଅନ୍ତୁ, ଏପରିକି ବ୍ଲୁଟୂଥ୍ ଅଫ୍ ଥିଲେ ମଧ୍ୟ। ଏହାକୁ ଲୋକେସନ୍ ଆଧାରିତ ଫିଚର୍ ଓ ସେବା ଇତ୍ୟାଦିକୁ ଉନ୍ନତ କରିବା ପାଇଁ ବ୍ୟବହାର କରାଯାଇପାରେ।"</string>
- <string name="location_services_preference_title" msgid="604317859531782159">"ଲୋକେସନ୍ ସେବା"</string>
- <string name="location_services_screen_title" msgid="5640002489976602476">"ଲୋକେସନ୍ ସେବାଗୁଡ଼ିକ"</string>
+ <string name="location_services_preference_title" msgid="604317859531782159">"ଲୋକେସନ ସେବା"</string>
+ <string name="location_services_screen_title" msgid="5640002489976602476">"ଲୋକେସନ ସେବା"</string>
<string name="managed_profile_location_services" msgid="8172092734138341880">"କାର୍ଯ୍ୟ ପାଇଁ ଲୋକେସନ୍ ସମ୍ପର୍କିତ ସେବା"</string>
<string name="location_time_zone_detection_toggle_title" msgid="6518338597250564260">"ଟାଇମ୍ ଜୋନ୍ ସେଟ୍ କରିବାକୁ ଲୋକେସନ୍ ବ୍ୟବହାର କରନ୍ତୁ"</string>
<string name="location_time_zone_detection_location_is_off_dialog_title" msgid="231698690198001146">"ଡିଭାଇସର ଲୋକେସନ୍ ଆବଶ୍ୟକ"</string>
@@ -2047,7 +2049,7 @@
<item quantity="other">ସମସ୍ତ %1$d ଆପ୍ ଦେଖନ୍ତୁ</item>
<item quantity="one">ସମସ୍ତ ଆପ୍ ଦେଖନ୍ତୁ</item>
</plurals>
- <string name="forgot_password_title" msgid="3967873480875239885">"ଆପଣଙ୍କର IT ଆଡମିନଙ୍କୁ ଯୋଗାଯୋଗ କରନ୍ତୁ"</string>
+ <string name="forgot_password_title" msgid="3967873480875239885">"ଆପଣଙ୍କର IT ଆଡମିନଙ୍କୁ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ"</string>
<string name="forgot_password_text" msgid="2583194470767613163">"ଆପଣଙ୍କର PIN, ପାଟର୍ନ ବା ପାସୱାର୍ଡ ରିସେଟ୍ କରିବାରେ ସେମାନେ ଆପଣଙ୍କ ସାହାଯ୍ୟ କରିପାରିବେ"</string>
<string name="install_all_warning" product="tablet" msgid="7010749217925069520">"ଆପଣଙ୍କ ଟାବଲେଟ୍ ଏବଂ ବ୍ୟକ୍ତିଗତ ଡାଟା ଅଜ୍ଞାତ ଆପସ୍ ଦ୍ୱାରା ଆକ୍ରମଣ କରାଯିବାରେ ଅଧିକ ଉନ୍ମୁକ୍ତ ହୋଇଥାଆନ୍ତି। ଏହି ଉତ୍ସରୁ ଆପସ୍ ସଂସ୍ଥାପନ କରିବା ଦ୍ୱାରା, ଆପଣ ରାଜି ହୁଅନ୍ତି ଯେ ଆପଣଙ୍କ ଟାବଲେଟ୍ରେ ହେବା କୌଣସି ପ୍ରକାର କ୍ଷତି କିମ୍ବା ସେଗୁଡିକ ବ୍ୟବହାରରୁ ଘଟିବା କୌଣସି ପ୍ରକାର ଡାଟାର ହାନୀ ପାଇଁ ଆପଣ ଉତ୍ତରଦାୟୀ ଅଟନ୍ତି।"</string>
<string name="install_all_warning" product="default" msgid="652516435709047343">"ଅଜ୍ଞାତ ଆପ୍ସ ଦ୍ୱାରା ଆପଣଙ୍କ ଫୋନ ଏବଂ ବ୍ୟକ୍ତିଗତ ଡାଟା ଆକ୍ରାନ୍ତ ହେବାର ସମ୍ଭାବନା ବହୁତ ଅଧିକ। ଏହି ସୋର୍ସରୁ ଆପ୍ସ ଇନଷ୍ଟଲ କରି, ଆପଣଙ୍କ ଫୋନରେ ଘଟିବା କୌଣସି ପ୍ରକାର କ୍ଷତି କିମ୍ବା ସେଗୁଡ଼ିକ ବ୍ୟବହାର କରିବାରୁ କୌଣସି ପ୍ରକାର ଡାଟାର ହାନୀ ପାଇଁ ଆପଣ ଦାୟୀ ହେବାକୁ ରାଜି।"</string>
@@ -2055,7 +2057,7 @@
<string name="advanced_settings" msgid="2368905204839169094">"ଉନ୍ନତ ସେଟିଂସ"</string>
<string name="advanced_settings_summary" msgid="1823765348195530035">"ଅଧିକ ସେଟିଂସ ବିକଳ୍ପ ସକ୍ଷମ କରନ୍ତୁ"</string>
<string name="application_info_label" msgid="1015706497694165866">"ଆପ ସୂଚନା"</string>
- <string name="storage_label" msgid="2522307545547515733">"ଷ୍ଟୋରେଜ୍"</string>
+ <string name="storage_label" msgid="2522307545547515733">"ଷ୍ଟୋରେଜ"</string>
<string name="auto_launch_label" msgid="4069860409309364872">"ଡିଫଲ୍ଟ ଭାବରେ ଖୋଲାଯାଉ"</string>
<string name="auto_launch_label_generic" msgid="5033137408273064599">"ଡିଫଲ୍ଟ"</string>
<string name="screen_compatibility_label" msgid="7549658546078613431">"ସ୍କ୍ରୀନ୍ ସୁସଙ୍ଗତା"</string>
@@ -2177,7 +2179,7 @@
<string name="running_processes_header_title" msgid="558961782589967366">"ଡିଭାଇସ୍ ମେମୋରୀ"</string>
<string name="running_processes_header_footer" msgid="2726092156680487584">"ଆପ୍ ରାମ୍ ବ୍ୟବହାର"</string>
<string name="running_processes_header_system_prefix" msgid="8819527769608555124">"ସିଷ୍ଟମ୍"</string>
- <string name="running_processes_header_apps_prefix" msgid="4151874328324238133">"ଆପ୍"</string>
+ <string name="running_processes_header_apps_prefix" msgid="4151874328324238133">"ଆପ୍ସ"</string>
<string name="running_processes_header_free_prefix" msgid="4271100378295864738">"ଖାଲି"</string>
<string name="running_processes_header_used_prefix" msgid="5205762402234243007">"ବ୍ୟବହୃତ"</string>
<string name="running_processes_header_cached_prefix" msgid="839132595831993521">"କ୍ୟାଶ୍ ହୋଇଛି"</string>
@@ -2710,7 +2712,7 @@
<string name="manager_battery_usage_optimized_summary" msgid="1332545476428039900">"ଆପଣଙ୍କ ବ୍ୟବହାର ଆଧାରରେ ଅପ୍ଟିମାଇଜ୍ କରନ୍ତୁ। ଅଧିକାଂଶ ଆପ୍ ପାଇଁ ସୁପାରିଶ କରାଯାଇଛି।"</string>
<string name="manager_battery_usage_restricted_summary" msgid="8324695640704416905">"ପୃଷ୍ଠପଟରେ ଥିବା ସମୟରେ ବ୍ୟାଟେରୀ ବ୍ୟବହାରକୁ ପ୍ରତିବନ୍ଧିତ କରନ୍ତୁ। ଆପ୍ ଆଶା କରାଯାଉଥିବା ପରି କାମ କରିନପାରେ। ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ ବିଳମ୍ବିତ ହୋଇପାରେ।"</string>
<string name="manager_battery_usage_footer" msgid="2635906573922553766">"କୌଣସି ଆପ୍ କିପରି ଆପଣଙ୍କ ବ୍ୟାଟେରୀ ବ୍ୟବହାର କରେ ତାହା ପରିବର୍ତ୍ତନ କରିବା ଏହାର ପରଫରମାନ୍ସ ଉପରେ ପ୍ରଭାବ ପକାଇପାରେ।"</string>
- <string name="manager_battery_usage_footer_limited" msgid="5180776148877306780">"ଏହି ଆପ୍ <xliff:g id="STATE">%1$s</xliff:g> ବ୍ୟାଟେରୀ ବ୍ୟବହାର ଆବଶ୍ୟକ କରେ।"</string>
+ <string name="manager_battery_usage_footer_limited" msgid="5180776148877306780">"ଏହି ଆପ <xliff:g id="STATE">%1$s</xliff:g> ବ୍ୟାଟେରୀ ବ୍ୟବହାର ଆବଶ୍ୟକ କରେ।"</string>
<string name="manager_battery_usage_unrestricted_only" msgid="3646162131339418216">"ଅପ୍ରତିବନ୍ଧିତ"</string>
<string name="manager_battery_usage_optimized_only" msgid="7121785281913056432">"ଅପ୍ଟିମାଇଜ୍ କରାଯାଇଛି"</string>
<string name="manager_battery_usage_link_a11y" msgid="374918091821438564">"ବ୍ୟାଟେରୀ ବ୍ୟବହାର ବିକଳ୍ପଗୁଡ଼ିକ ବିଷୟରେ ଅଧିକ ଜାଣନ୍ତୁ"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"କିଛି ଫିଚର୍ ସୀମିତ ହୋଇପାରେ"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"ଅଧିକ ବ୍ୟାଟେରୀ ବ୍ୟବହାର"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"ସର୍ବାଧିକ ବ୍ୟାଟେରୀ ବ୍ୟବହାର ଥିବା ଆପଗୁଡ଼ିକୁ ଦେଖନ୍ତୁ"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"ଚାର୍ଜିଂ ଅସ୍ଥାୟୀ ଭାବେ ସୀମିତ କରାଯାଇଛି"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"ଆପଣଙ୍କ ବ୍ୟାଟେରୀ ସଂରକ୍ଷିତ କରି ରଖିବାକୁ। ଅଧିକ ଜାଣନ୍ତୁ।"</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"ଚାର୍ଜିଂ ପୁଣି ଆରମ୍ଭ କରନ୍ତୁ"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"ଉଚ୍ଚ ତାପମାତ୍ରା ଏବଂ ଅଧିକ ସମୟର ଚାର୍ଜିଂ ଅବଧି ପରି ନିର୍ଦ୍ଦିଷ୍ଟ ଅବସ୍ଥାଗୁଡ଼ିକରେ, ବ୍ୟାଟେରୀ ହେଲ୍ଥକୁ ସଂରକ୍ଷିତ ରଖିବାରେ ସାହାଯ୍ୟ କରିବା ପାଇଁ ଚାର୍ଜିଂକୁ <xliff:g id="PERCENT">%1$s</xliff:g>ରେ ସୀମିତ ରଖାଯାଇପାରେ।\n\nସେହି ଅବସ୍ଥାଗୁଡ଼ିକ ସମାପ୍ତ ହେଲେ, ଆପଣଙ୍କ ଫୋନ୍ ସ୍ୱାଭାବିକ ରୂପେ ସ୍ୱଚାଳିତ ଭାବେ ଚାର୍ଜ ହେବ।"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"ଉଚ୍ଚ ତାପମାତ୍ରା ଏବଂ ଅଧିକ ସମୟର ଚାର୍ଜିଂ ଅବଧି ପରି ନିର୍ଦ୍ଦିଷ୍ଟ ଅବସ୍ଥାଗୁଡ଼ିକରେ, ବ୍ୟାଟେରୀ ହେଲ୍ଥକୁ ସଂରକ୍ଷିତ ରଖିବାରେ ସାହାଯ୍ୟ କରିବା ପାଇଁ ଚାର୍ଜିଂକୁ <xliff:g id="PERCENT">%1$s</xliff:g>ରେ ସୀମିତ ରଖାଯାଇପାରେ।\n\nସେହି ଅବସ୍ଥାଗୁଡ଼ିକ ସମାପ୍ତ ହେଲେ, ଆପଣଙ୍କ ଟାବଲେଟ୍ ସ୍ୱାଭାବିକ ରୂପେ ସ୍ୱଚାଳିତ ଭାବେ ଚାର୍ଜ ହେବ।"</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"ଏହି ଆପ୍ ବ୍ୟାକ୍ଗ୍ରାଉଣ୍ଡରେ ବ୍ୟାଟେରୀ ବ୍ୟବହାର କରିପାରିବ। ଆପଣଙ୍କ ବ୍ୟାଟେରୀ ଅନୁମାନ କରିଥିବା ସମୟର ପୂର୍ବରୁ ହିଁ ସରିଯାଇପାରେ।"</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"କାଢ଼ିଦିଅନ୍ତୁ"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"ବାତିଲ"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"ଆପଣଙ୍କର ଆପ୍ସ ସାଧାରଣ ଭାବେ ବ୍ୟାଟେରୀ ଖର୍ଚ୍ଚ କରୁଛି। ଯଦି ଆପ୍ସ ଅଧିକ ବ୍ୟାଟେରୀ ଖର୍ଚ୍ଚ କରେ, ତେବେ ଆପଣଙ୍କ ଫୋନ୍ ପଦକ୍ଷେପ ନେବା ପାଇଁ ଆପଣଙ୍କୁ ପରାମର୍ଶ ଦେବ। \n\n ବ୍ୟାଟେରୀ ଅଧିକ ଖର୍ଚ୍ଚ ହେଉଥିଲେ ଆପଣ ସର୍ବଦା ବ୍ୟାଟେରୀ ସେଭର୍କୁ ଚାଲୁ କରିପାରିବେ।"</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"ଆପଣଙ୍କର ଆପଗୁଡ଼ିକ ସାଧାରଣ ଭାବେ ବ୍ୟାଟେରୀ ଖର୍ଚ୍ଚ କରୁଛନ୍ତି। ଯଦି ଆପଗୁଡ଼ିକ ଅଧିକ ବ୍ୟାଟେରୀ ଖର୍ଚ୍ଚ କରନ୍ତି, ତେବେ ଆପଣଙ୍କ ଟାବଲେଟ୍ ପଦକ୍ଷେପ ନେବା ପାଇଁ ଆପଣଙ୍କୁ ପରାମର୍ଶ ଦେବ। \n\n ବ୍ୟାଟେରୀ ଅଧିକ ଖର୍ଚ୍ଚ ହେଉଥିଲେ ଆପଣ ସର୍ବଦା ବ୍ୟାଟେରୀ ସେଭର୍କୁ ଚାଲୁ କରିପାରିବେ।"</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"ଆପଣଙ୍କର ଆପ୍ ସାଧାରଣ ଭାବେ ବ୍ୟାଟେରୀ ଖର୍ଚ୍ଚ କରୁଛି। ଯଦି ଆପ୍ ଅଧିକ ବ୍ୟାଟେରୀ ଖର୍ଚ୍ଚ କରନ୍ତି, ତେବେ ଡିଭାଇସ୍ ପଦକ୍ଷେପ ନେବା ପାଇଁ ଆପଣଙ୍କୁ ପରାମର୍ଶ ଦେବ। \n\n ବ୍ୟାଟେରୀ ଅଧିକ ଖର୍ଚ୍ଚ ହେଉଥିଲେ ଆପଣ ସର୍ବଦା ବ୍ୟାଟେରୀ ସେଭର୍କୁ ଚାଲୁ କରିପାରିବେ।"</string>
@@ -2849,7 +2857,7 @@
<string name="power_cell" msgid="7793805106954398186">"ମୋବାଇଲ ନେଟୱାର୍କ"</string>
<string name="power_phone" msgid="2768396619208561670">"ଭଏସ୍ କଲ୍"</string>
<string name="power_idle" product="tablet" msgid="4689321599298911021">"ଟାବ୍ଲେଟ୍ ନିଷ୍କ୍ରିୟ ଅଛି"</string>
- <string name="power_idle" product="default" msgid="9132502722499465252">"ଫୋନ୍ ନିଷ୍କ୍ରିୟ"</string>
+ <string name="power_idle" product="default" msgid="9132502722499465252">"ଫୋନ ନିଷ୍କ୍ରିୟ"</string>
<string name="power_unaccounted" msgid="2160811497426475703">"ବିବିଧ"</string>
<string name="power_overcounted" msgid="3681101460287472876">"ଆବଶ୍ୟକତାଠାରୁ ଅଧିକ"</string>
<string name="usage_type_cpu" msgid="8544148642836549011">"CPU ସମୁଦାୟ"</string>
@@ -2858,7 +2866,7 @@
<string name="usage_type_gps" msgid="4118035982288964651">"GPS"</string>
<string name="usage_type_wifi_running" msgid="5573404832197356206">"ୱାଇ-ଫାଇ ଚାଲୁଛି"</string>
<string name="usage_type_phone" product="tablet" msgid="4527092861928972130">"ଟାବଲେଟ୍"</string>
- <string name="usage_type_phone" product="default" msgid="4149330237181984782">"ଫୋନ୍"</string>
+ <string name="usage_type_phone" product="default" msgid="4149330237181984782">"ଫୋନ"</string>
<string name="usage_type_data_send" msgid="4375755152437282184">"ମୋବାଇଲ୍ ଡାଟା ପଠାଗଲା"</string>
<string name="usage_type_data_recv" msgid="7821924049621005218">"ମୋବାଇଲ୍ ନେଟ୍ୱର୍କ ଡାଟା ମିଳିଯାଇଛି"</string>
<string name="usage_type_radio_active" msgid="1876069445855950097">"ମୋବାଇଲ୍ ରେଡିଓ ସକ୍ରିୟ"</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"ବ୍ୟାଟେରୀ <xliff:g id="PERCENT">%1$s</xliff:g> ରେ"</string>
<string name="battery_percentage" msgid="1779934245963043490">"ବ୍ୟାଟେରୀ ଶତକଡ଼ା"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"ଷ୍ଟାଟସ୍ ବାର୍ରେ ବ୍ୟାଟେରୀ ଶତକଡ଼ା ଦେଖାନ୍ତୁ"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"ସମ୍ପୂର୍ଣ୍ଣ ଚାର୍ଜ ହେବା ପରଠାରୁ ବ୍ୟାଟେରୀ ଲେଭେଲ"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"ଗତ 24 ଘଣ୍ଟାରେ ବ୍ୟାଟେରୀର ସ୍ତର"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"ସମ୍ପୂର୍ଣ୍ଣ ଚାର୍ଜ ହେବା ପରଠାରୁ ଆପ ବ୍ୟବହାର"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"ଗତ 24 ଘଣ୍ଟାରେ ଆପର ବ୍ୟବହାର"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"ସମ୍ପୂର୍ଣ୍ଣ ଚାର୍ଜ ହେବା ପରଠାରୁ ସିଷ୍ଟମ ବ୍ୟବହାର"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"ଗତ 24 ଘଣ୍ଟାର ସିଷ୍ଟମ୍ ବ୍ୟବହାର"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"<xliff:g id="SLOT">%s</xliff:g> ପାଇଁ ସିଷ୍ଟମ୍ ବ୍ୟବହାର"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"<xliff:g id="SLOT">%s</xliff:g> ପାଇଁ ଆପ୍ ବ୍ୟବହାର"</string>
@@ -3173,7 +3184,7 @@
<string name="sync_one_time_sync" msgid="8114337154112057462">"<xliff:g id="LAST_SYNC_TIME">
%1$s</xliff:g> ବର୍ତ୍ତମାନ ସିଙ୍କ କରିବାକୁ ଟାପ୍ କରନ୍ତୁ"</string>
<string name="sync_gmail" msgid="228561698646018808">"Gmail"</string>
- <string name="sync_calendar" msgid="4603704438090387251">"କ୍ୟାଲେଣ୍ଡର୍"</string>
+ <string name="sync_calendar" msgid="4603704438090387251">"କ୍ୟାଲେଣ୍ଡର"</string>
<string name="sync_contacts" msgid="2376465611511325472">"ସମ୍ପର୍କ"</string>
<string name="sync_plug" msgid="7956982719077985381"><font fgcolor="#ffffffff">"Google ସିଙ୍କକୁ ସ୍ୱାଗତ!"</font>" \nଆପଣ ଯେଉଁଠି ବି ଥାଆନ୍ତୁ ନାଁ କାହିଁକି ଆପଣଙ୍କ ସମ୍ପର୍କ, ଆପଏଣ୍ଟମେଣ୍ଟ ଏବଂ ଆହୁରି ଅନେକ କିଛିକୁ ଆକସେସ୍ ଅନୁମତି ଦେବା ପାଇଁ ଡାଟା ସିଙ୍କ କରିବାକୁ Google ର ଏକ ପ୍ରୟାସ।"</string>
<string name="header_application_sync_settings" msgid="7427706834875419243">"ଆପ ସିଙ୍କ ସେଟିଂସ"</string>
@@ -3280,7 +3291,7 @@
<string name="data_usage_metered_wifi" msgid="4807465959110473407">"Wi‑Fi ନେଟୱର୍କର ତାଲିକା"</string>
<string name="data_usage_metered_wifi_disabled" msgid="4664158157415362613">"ମିଟରଯୁକ୍ତ ନେଟ୍ୱର୍କଗୁଡିକର ଚୟନ କରିବାକୁ, ୱାଇ-ଫାଇ ଅନ୍ କରନ୍ତୁ।"</string>
<string name="data_usage_metered_auto" msgid="1560514082131687116">"ଅଟୋମେଟିକ"</string>
- <string name="wifi_metered_title" msgid="6623732965268033931">"ନେଟ୍ୱାର୍କର ବ୍ୟବହାର"</string>
+ <string name="wifi_metered_title" msgid="6623732965268033931">"ନେଟୱାର୍କର ବ୍ୟବହାର"</string>
<string name="data_usage_metered_yes" msgid="4262598072030135223">"ମିଟର୍ଡ"</string>
<string name="data_usage_metered_no" msgid="1685828958417926268">"ମପାଯାଉନାହିଁ"</string>
<string name="data_usage_disclaimer" msgid="3271450299386176770">"ଆପଣଙ୍କ ଡିଭାଇସ୍ରେ କ୍ୟାରିଅରଙ୍କ ଡାଟା ଗଣନା ଭିନ୍ନ ହୋଇପାରେ।"</string>
@@ -3312,7 +3323,7 @@
<string name="vpn_cancel" msgid="5929410618112404383">"ବାତିଲ କରନ୍ତୁ"</string>
<string name="vpn_done" msgid="5137858784289564985">"ଖାରଜ"</string>
<string name="vpn_save" msgid="683868204634860888">"ସେଭ୍ କରନ୍ତୁ"</string>
- <string name="vpn_connect" msgid="7102335248484045354">"ସଂଯୋଗ କରନ୍ତୁ"</string>
+ <string name="vpn_connect" msgid="7102335248484045354">"କନେକ୍ଟ କରନ୍ତୁ"</string>
<string name="vpn_replace" msgid="1533147558671640341">"ପରିବର୍ତ୍ତନ"</string>
<string name="vpn_edit" msgid="5862301148429324911">"VPN ପ୍ରୋଫାଇଲ ଏଡିଟ କରନ୍ତୁ"</string>
<string name="vpn_forget" msgid="2913950864877236737">"ଭୁଲିଯାଆନ୍ତୁ"</string>
@@ -3381,8 +3392,8 @@
<item quantity="other">ସର୍ଟିଫିକେଟ୍ଗୁଡ଼ିକୁ ବିଶ୍ୱାସ କରନ୍ତୁ କିମ୍ୱା କାଢ଼ିଦିଅନ୍ତୁ</item>
<item quantity="one">ସର୍ଟିଫିକେଟ୍କୁ ବିଶ୍ୱାସ କରନ୍ତୁ କିମ୍ୱା କାଢ଼ିଦିଅନ୍ତୁ</item>
</plurals>
- <string name="ssl_ca_cert_info_message_device_owner" msgid="7528581447864707873">"{numberOfCertificates,plural, =1{{orgName} ଆପଣଙ୍କ ଡିଭାଇସରେ ଏକ ସାର୍ଟିଫିକେଟ କର୍ତ୍ତୃପକ୍ଷ ଇନଷ୍ଟଲ କରିଛନ୍ତି, ଯାହା ଇମେଲ, ଆପ୍ସ ଓ ସୁରକ୍ଷିତ ୱେବସାଇଟଗୁଡ଼ିକ ସମେତ, ଆପଣଙ୍କ ଡିଭାଇସର ନେଟୱାର୍କ କାର୍ଯ୍ୟକଳାପକୁ ମନିଟର କରିବା ପାଇଁ ତାଙ୍କୁ ଅନୁମତି ଦେଇପାରେ।\n\nଏହି ସାର୍ଟିଫିକେଟ ବିଷୟରେ ଅଧିକ ସୂଚନା ପାଇଁ ଆପଣଙ୍କ ଆଡମିନଙ୍କ ସହ ଯୋଗାଯୋଗ କରନ୍ତୁ।}other{{orgName} ଆପଣଙ୍କ ଡିଭାଇସରେ ସାର୍ଟିଫିକେଟ କର୍ତ୍ତୃପକ୍ଷଗୁଡ଼ିକ ଇନଷ୍ଟଲ କରିଛନ୍ତି, ଯାହା ଇମେଲ, ଆପ୍ସ ଓ ସୁରକ୍ଷିତ ୱେବସାଇଟଗୁଡ଼ିକ ସମେତ, ଆପଣଙ୍କ ଡିଭାଇସର ନେଟୱାର୍କ କାର୍ଯ୍ୟକଳାପକୁ ମନିଟର କରିବା ପାଇଁ ତାଙ୍କୁ ଅନୁମତି ଦେଇପାରେ।\n\nଏହି ସାର୍ଟିଫିକେଟଗୁଡ଼ିକ ବିଷୟରେ ଅଧିକ ସୂଚନା ପାଇଁ ଆପଣଙ୍କ ଆଡମିନଙ୍କ ସହ ଯୋଗାଯୋଗ କରନ୍ତୁ।}}"</string>
- <string name="ssl_ca_cert_info_message" msgid="3111724430981667845">"{numberOfCertificates,plural, =1{{orgName} ଆପଣଙ୍କ ୱାର୍କ ପ୍ରୋଫାଇଲ ପାଇଁ ଏକ ସାର୍ଟିଫିକେଟ କର୍ତ୍ତୃପକ୍ଷ ଇନଷ୍ଟଲ କରିଛନ୍ତି, ଯାହା ଇମେଲ, ଆପ୍ସ ଓ ସୁରକ୍ଷିତ ୱେବସାଇଟଗୁଡ଼ିକ ସମେତ, ୱାର୍କ ନେଟୱାର୍କର କାର୍ଯ୍ୟକଳାପକୁ ମନିଟର କରିବା ପାଇଁ ତାଙ୍କୁ ଅନୁମତି ଦେଇପାରେ।\n\nଏହି ସାର୍ଟିଫିକେଟ ବିଷୟରେ ଅଧିକ ସୂଚନା ପାଇଁ ଆପଣଙ୍କ ଆଡମିନଙ୍କ ସହ ଯୋଗାଯୋଗ କରନ୍ତୁ।}other{{orgName} ଆପଣଙ୍କ ୱାର୍କ ପ୍ରୋଫାଇଲ ପାଇଁ ସାର୍ଟିଫିକେଟ କର୍ତ୍ତୃପକ୍ଷଗୁଡ଼ିକ ଇନଷ୍ଟଲ କରିଛନ୍ତି, ଯାହା ଇମେଲ, ଆପ୍ସ ଓ ସୁରକ୍ଷିତ ୱେବସାଇଟଗୁଡ଼ିକ ସମେତ, ୱାର୍କ ନେଟୱାର୍କର କାର୍ଯ୍ୟକଳାପକୁ ମନିଟର କରିବା ପାଇଁ ତାଙ୍କୁ ଅନୁମତି ଦେଇପାରେ।\n\nଏହି ସାର୍ଟିଫିକେଟଗୁଡ଼ିକ ବିଷୟରେ ଅଧିକ ସୂଚନା ପାଇଁ ଆପଣଙ୍କ ଆଡମିନଙ୍କ ସହ ଯୋଗାଯୋଗ କରନ୍ତୁ।}}"</string>
+ <string name="ssl_ca_cert_info_message_device_owner" msgid="7528581447864707873">"{numberOfCertificates,plural, =1{{orgName} ଆପଣଙ୍କ ଡିଭାଇସରେ ଏକ ସାର୍ଟିଫିକେଟ କର୍ତ୍ତୃପକ୍ଷ ଇନଷ୍ଟଲ କରିଛନ୍ତି, ଯାହା ଇମେଲ, ଆପ୍ସ ଓ ସୁରକ୍ଷିତ ୱେବସାଇଟଗୁଡ଼ିକ ସମେତ, ଆପଣଙ୍କ ଡିଭାଇସର ନେଟୱାର୍କ କାର୍ଯ୍ୟକଳାପକୁ ତଦାରଖ କରିବା ପାଇଁ ତାଙ୍କୁ ଅନୁମତି ଦେଇପାରେ।\n\nଏହି ସାର୍ଟିଫିକେଟ ବିଷୟରେ ଅଧିକ ସୂଚନା ପାଇଁ ଆପଣଙ୍କ ଆଡମିନଙ୍କ ସହ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ।}other{{orgName} ଆପଣଙ୍କ ଡିଭାଇସରେ ଏକ ସାର୍ଟିଫିକେଟ କର୍ତ୍ତୃପକ୍ଷ ଇନଷ୍ଟଲ କରିଛନ୍ତି, ଯାହା ଇମେଲ, ଆପ୍ସ ଓ ସୁରକ୍ଷିତ ୱେବସାଇଟଗୁଡ଼ିକ ସମେତ, ଆପଣଙ୍କ ଡିଭାଇସର ନେଟୱାର୍କ କାର୍ଯ୍ୟକଳାପକୁ ମନିଟର କରିବା ପାଇଁ ତାଙ୍କୁ ଅନୁମତି ଦେଇପାରେ।\n\nଏହି ସାର୍ଟିଫିକେଟ ବିଷୟରେ ଅଧିକ ସୂଚନା ପାଇଁ ଆପଣଙ୍କ ଆଡମିନଙ୍କ ସହ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ।}}"</string>
+ <string name="ssl_ca_cert_info_message" msgid="3111724430981667845">"{numberOfCertificates,plural, =1{{orgName} ଆପଣଙ୍କ ୱାର୍କ ପ୍ରୋଫାଇଲ ପାଇଁ ଏକ ସାର୍ଟିଫିକେଟ ପ୍ରାଧିକରଣ ଇନଷ୍ଟଲ କରିଛନ୍ତି, ଯାହା ଇମେଲ, ଆପ୍ସ ଓ ସୁରକ୍ଷିତ ୱେବସାଇଟଗୁଡ଼ିକ ସମେତ, ୱାର୍କ ନେଟୱାର୍କର କାର୍ଯ୍ୟକଳାପକୁ ମନିଟର କରିବା ପାଇଁ ତାଙ୍କୁ ଅନୁମତି ଦେଇପାରେ।\n\nଏହି ସାର୍ଟିଫିକେଟ ବିଷୟରେ ଅଧିକ ସୂଚନା ପାଇଁ ଆପଣଙ୍କ ଆଡମିନଙ୍କ ସହ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ।}other{{orgName} ଆପଣଙ୍କ ୱାର୍କ ପ୍ରୋଫାଇଲ ପାଇଁ ଏକ ସାର୍ଟିଫିକେଟ ପ୍ରାଧିକରଣ ଇନଷ୍ଟଲ କରିଛନ୍ତି, ଯାହା ଇମେଲ, ଆପ୍ସ ଓ ସୁରକ୍ଷିତ ୱେବସାଇଟଗୁଡ଼ିକ ସମେତ, ୱାର୍କ ନେଟୱାର୍କର କାର୍ଯ୍ୟକଳାପକୁ ମନିଟର କରିବା ପାଇଁ ତାଙ୍କୁ ଅନୁମତି ଦେଇପାରେ।\n\nଏହି ସାର୍ଟିଫିକେଟଗୁଡ଼ିକ ବିଷୟରେ ଅଧିକ ସୂଚନା ପାଇଁ ଆପଣଙ୍କ ଆଡମିନଙ୍କ ସହ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ।}}"</string>
<string name="ssl_ca_cert_warning_message" msgid="4374052724815563051">"ଇମେଲ୍, ଆପ୍ ଏବଂ ନିରାପଦ ୱେବ୍ସାଇଟ୍ଗୁଡ଼ିକ ଅନ୍ତର୍ଭୂକ୍ତ କରି ଏକ ତୃତୀୟ ପକ୍ଷ ଆପଣଙ୍କ ନେଟୱାର୍କ୍ ଗତିବିଧି ମନିଟର୍ କରିପାରିବେ।\n\nଆପଣଙ୍କ ଡିଭାଇସ୍ରେ ଇନ୍ଷ୍ଟଲ୍ କରାଯାଇଥିବା ତଥ୍ୟ ଏହା କରାଇବାରେ ସମ୍ଭବ କରାଉଛି।"</string>
<plurals name="ssl_ca_cert_settings_button" formatted="false" msgid="125941406175485894">
<item quantity="other">ସର୍ଟିଫିକେଟ୍ଗୁଡ଼ିକୁ ଦେଖନ୍ତୁ</item>
@@ -3390,8 +3401,8 @@
</plurals>
<string name="user_settings_title" msgid="6550866465409807877">"ଏକାଧିକ ଉପଯୋଗକର୍ତ୍ତା"</string>
<string name="user_settings_footer_text" product="device" msgid="7523914344521302179">"ନୂଆ ଉପଯୋଗକର୍ତ୍ତାଙ୍କୁ ଯୋଗ କରି ଆପଣଙ୍କ ଡିଭାଇସ ସେୟାର କରନ୍ତୁ। କଷ୍ଟମ ହୋମ ସ୍କ୍ରିନ, ଆକାଉଣ୍ଟ, ଆପ୍ସ, ସେଟିଂସ ଏବଂ ଅଧିକ ପାଇଁ ଆପଣଙ୍କ ଡିଭାଇସରେ ପ୍ରତ୍ୟକ ଉପଯୋଗକର୍ତ୍ତାଙ୍କ ପାଇଁ ଏକ ବ୍ୟକ୍ତିଗତ ସ୍ପେସ ରହିଛି।"</string>
- <string name="user_settings_footer_text" product="tablet" msgid="3730074318510244552">"ନୂଆ ଉପଯୋଗକର୍ତ୍ତା ଯୋଗ କରି ଆପଣଙ୍କ ଟାବଲେଟ ସେୟାର କରନ୍ତୁ। କଷ୍ଟମ ହୋମ୍ ସ୍କ୍ରିନ, ଆକାଉଣ୍ଟ, ଆପ୍ସ, ସେଟିଂସ ଏବଂ ଅଧିକ ପାଇଁ ଆପଣଙ୍କ ଟାବଲେଟରେ ପ୍ରତି ଉପଯୋଗକର୍ତ୍ତାଙ୍କର ଏକ ବ୍ୟକ୍ତିଗତ ସ୍ଥାନ ରହିଛି।"</string>
- <string name="user_settings_footer_text" product="default" msgid="4420915712050349125">"ନୂଆ ଉପଯୋଗକର୍ତ୍ତାଙ୍କୁ ଯୋଗ କରି ଆପଣଙ୍କ ଫୋନ ସେୟାର୍ କରନ୍ତୁ। କଷ୍ଟମ୍ ହୋମ ସ୍କ୍ରିନ, ଆକାଉଣ୍ଟ, ଆପ୍ସ, ସେଟିଂସ ଏବଂ ଆହୁରି ଅଧିକ ପାଇଁ ଆପଣଙ୍କ ଫୋନରେ ପ୍ରତ୍ୟେକ ଉପଯୋଗକର୍ତ୍ତାଙ୍କ ପାଇଁ ଏକ ବ୍ୟକ୍ତିଗତ ସ୍ପେସ୍ ରହିଛି।"</string>
+ <string name="user_settings_footer_text" product="tablet" msgid="3730074318510244552">"ନୂଆ ଉପଯୋଗକର୍ତ୍ତା ଯୋଗ କରି ଆପଣଙ୍କ ଟାବଲେଟ ସେୟାର କରନ୍ତୁ। କଷ୍ଟମ ହୋମ ସ୍କ୍ରିନ, ଆକାଉଣ୍ଟ, ଆପ୍ସ, ସେଟିଂସ ଏବଂ ଅଧିକ ପାଇଁ ଆପଣଙ୍କ ଟାବଲେଟରେ ପ୍ରତି ଉପଯୋଗକର୍ତ୍ତାଙ୍କର ଏକ ବ୍ୟକ୍ତିଗତ ସ୍ଥାନ ରହିଛି।"</string>
+ <string name="user_settings_footer_text" product="default" msgid="4420915712050349125">"ନୂଆ ଉପଯୋଗକର୍ତ୍ତାଙ୍କୁ ଯୋଗ କରି ଆପଣଙ୍କ ଫୋନ ସେୟାର କରନ୍ତୁ। କଷ୍ଟମ ହୋମ ସ୍କ୍ରିନ, ଆକାଉଣ୍ଟ, ଆପ୍ସ, ସେଟିଂସ ଏବଂ ଆହୁରି ଅଧିକ ପାଇଁ ଆପଣଙ୍କ ଫୋନରେ ପ୍ରତ୍ୟେକ ଉପଯୋଗକର୍ତ୍ତାଙ୍କ ପାଇଁ ଏକ ବ୍ୟକ୍ତିଗତ ସ୍ପେସ ରହିଛି।"</string>
<string name="user_list_title" msgid="1387379079186123404">"ଉପଯୋଗକର୍ତ୍ତା ଓ ପ୍ରୋଫାଇଲ୍"</string>
<string name="user_add_user_or_profile_menu" msgid="305851380425838287">"ୟୁଜର୍ ବା ପ୍ରୋଫାଇଲ ଯୋଡ଼ନ୍ତୁ"</string>
<string name="user_summary_restricted_profile" msgid="451650609582185813">"ପ୍ରତିବନ୍ଧିତ ପ୍ରୋଫାଇଲ୍"</string>
@@ -3592,7 +3603,7 @@
<string name="network_dashboard_title" msgid="788543070557731240">"ନେଟ୍ୱାର୍କ ଓ ଇଣ୍ଟରନେଟ୍"</string>
<string name="network_dashboard_summary_mobile" msgid="7750924671970583670">"ମୋବାଇଲ, ୱାଇ-ଫାଇ, ହଟସ୍ପଟ୍"</string>
<string name="network_dashboard_summary_no_mobile" msgid="4022575916334910790">"ୱାଇ-ଫାଇ, ହଟସ୍ପଟ୍"</string>
- <string name="connected_devices_dashboard_title" msgid="19868275519754895">"ସଂଯୁକ୍ତ ଡିଭାଇସଗୁଡ଼ିକ"</string>
+ <string name="connected_devices_dashboard_title" msgid="19868275519754895">"କନେକ୍ଟ କରାଯାଇଥିବା ଡିଭାଇସଗୁଡ଼ିକ"</string>
<string name="connected_devices_dashboard_default_summary" msgid="7211769956193710397">"ବ୍ଲୁଟୁଥ୍, ପେୟାରିଂ"</string>
<string name="connected_devices_dashboard_summary" msgid="6927727617078296491">"ବ୍ଲୁଟୂଥ୍, ଡ୍ରାଇଭିଙ୍ଗ ମୋଡ୍, NFC"</string>
<string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"ବ୍ଲୁଟୂଥ୍, ଡ୍ରାଇଭିଙ୍ଗ ମୋଡ୍"</string>
@@ -4044,9 +4055,9 @@
<string name="no_notification_listeners" msgid="2839354157349636000">"ଇନ୍ଷ୍ଟଲ୍ କରାଯାଇଥିବା କୌଣସି ଆପ୍ ବିଜ୍ଞପ୍ତି ଆକସେସ୍ କରିବାର ଅନୁରୋଧ କରିନାହିଁ।"</string>
<string name="notification_access_detail_switch" msgid="46386786409608330">"ବିଜ୍ଞପ୍ତି ଆକ୍ସେସ୍ କରିବା ପାଇଁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
<string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"<xliff:g id="SERVICE">%1$s</xliff:g> ପାଇଁ ବିଜ୍ଞପ୍ତି ଆକ୍ସେସ୍ର ଅନୁମତି ଦେବେ?"</string>
- <string name="notification_assistant_security_warning_summary" msgid="4846559755787348129">"Android 12ରେ Android ଆଡେପ୍ଟିଭ୍ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ଉନ୍ନତ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକରେ ପରିବର୍ତ୍ତନ କରାଯାଇଛି। ଏହି ଫିଚର୍ ପ୍ରସ୍ତାବିତ କାର୍ଯ୍ୟ ଏବଂ ପ୍ରତ୍ୟୁତ୍ତରଗୁଡ଼ିକୁ ଦେଖାଏ ଏବଂ ଆପଣଙ୍କ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ବ୍ୟବସ୍ଥିତ କରେ। \n\nଉନ୍ନତ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ ଯୋଗାଯୋଗ ନାମ ଏବଂ ମେସେଜଗୁଡ଼ିକ ପରି ବ୍ୟକ୍ତିଗତ ସୂଚନା ସମେତ ବିଜ୍ଞପ୍ତିର ବିଷୟବସ୍ତୁକୁ ଆକ୍ସେସ୍ କରିପାରିବ। ଏହି ଫିଚର୍ ଫୋନ୍ କଲଗୁଡ଼ିକର ଉତ୍ତର ଦେବା ଏବଂ \'ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ\'କୁ ନିୟନ୍ତ୍ରଣ କରିବା ପରି, ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ମଧ୍ୟ ଖାରଜ କରିପାରିବ କିମ୍ବା ସେଗୁଡ଼ିକର ଉତ୍ତର ଦେଇପାରିବ।"</string>
+ <string name="notification_assistant_security_warning_summary" msgid="4846559755787348129">"Android 12ରେ Android ଆଡେପ୍ଟିଭ୍ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ଉନ୍ନତ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକରେ ପରିବର୍ତ୍ତନ କରାଯାଇଛି। ଏହି ଫିଚର ପ୍ରସ୍ତାବିତ କାର୍ଯ୍ୟ ଏବଂ ପ୍ରତ୍ୟୁତ୍ତରଗୁଡ଼ିକୁ ଦେଖାଏ ଏବଂ ଆପଣଙ୍କ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ବ୍ୟବସ୍ଥିତ କରେ। \n\nଉନ୍ନତ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ କଣ୍ଟାକ୍ଟ ନାମ ଏବଂ ମେସେଜଗୁଡ଼ିକ ପରି ବ୍ୟକ୍ତିଗତ ସୂଚନା ସମେତ ବିଜ୍ଞପ୍ତିର ବିଷୟବସ୍ତୁକୁ ଆକ୍ସେସ କରିପାରିବ। ଏହି ଫିଚର ଫୋନ କଲଗୁଡ଼ିକର ଉତ୍ତର ଦେବା ଏବଂ \'ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ\'କୁ ନିୟନ୍ତ୍ରଣ କରିବା ପରି, ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ମଧ୍ୟ ଖାରଜ କରିପାରିବ କିମ୍ବା ସେଗୁଡ଼ିକର ଉତ୍ତର ଦେଇପାରିବ।"</string>
<string name="notification_listener_security_warning_title" msgid="5791700876622858363">"<xliff:g id="SERVICE">%1$s</xliff:g> ପାଇଁ ବିଜ୍ଞପ୍ତି ଆକ୍ସେସ୍ର ଅନୁମତି ଦେବେ?"</string>
- <string name="notification_listener_security_warning_summary" msgid="4317764112725749020">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> ଯୋଗାଯୋଗ ନାମ, ଫଟୋ ଏବଂ ଆପଣ ପାଇଥିବା ମେସେଜର ଟେକ୍ସଟ ପରି ବ୍ୟକ୍ତିଗତ ସୂଚନା ସମେତ ସମସ୍ତ ବିଜ୍ଞପ୍ତି ପଢ଼ିବାକୁ ସକ୍ଷମ ହେବ। ଏହି ଆପ ଫୋନ କଲଗୁଡ଼ିକର ଉତ୍ତର ଦେବା ସହ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ସ୍ନୁଜ କିମ୍ବା ଖାରଜ କରିବାକୁ କିମ୍ବା ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକରେ ଥିବା ବଟନଗୁଡ଼ିକ ଉପରେ ପଦକ୍ଷେପ ନେବା ପାଇଁ ମଧ୍ୟ ସକ୍ଷମ ହେବ। \n\nଏହା ଆପଟିକୁ \"ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ\"କୁ ଚାଲୁ କିମ୍ବା ବନ୍ଦ କରିବା ଏବଂ ସମ୍ବନ୍ଧିତ ସେଟିଂସ ପରିବର୍ତ୍ତନ କରିବା ପାଇଁ ମଧ୍ୟ କ୍ଷମତା ଦେବ।"</string>
+ <string name="notification_listener_security_warning_summary" msgid="4317764112725749020">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> କଣ୍ଟାକ୍ଟ ନାମ, ଫଟୋ ଏବଂ ଆପଣ ପାଇଥିବା ମେସେଜର ଟେକ୍ସଟ ପରି ବ୍ୟକ୍ତିଗତ ସୂଚନା ସମେତ ସମସ୍ତ ବିଜ୍ଞପ୍ତି ପଢ଼ିବାକୁ ସକ୍ଷମ ହେବ। ଏହି ଆପ ଫୋନ କଲଗୁଡ଼ିକର ଉତ୍ତର ଦେବା ସହ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ସ୍ନୁଜ କିମ୍ବା ଖାରଜ କରିବାକୁ କିମ୍ବା ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକରେ ଥିବା ବଟନଗୁଡ଼ିକ ଉପରେ ପଦକ୍ଷେପ ନେବା ପାଇଁ ମଧ୍ୟ ସକ୍ଷମ ହେବ। \n\nଏହା ଆପଟିକୁ \"ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ\"କୁ ଚାଲୁ କିମ୍ବା ବନ୍ଦ କରିବା ଏବଂ ସମ୍ବନ୍ଧିତ ସେଟିଂସ ପରିବର୍ତ୍ତନ କରିବା ପାଇଁ ମଧ୍ୟ କ୍ଷମତା ଦେବ।"</string>
<string name="nls_warning_prompt" msgid="9143226910825830619">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> ଏହା କରିବାକୁ ସକ୍ଷମ ହେବ:"</string>
<string name="nls_feature_read_title" msgid="7629713268744220437">"ଆପଣଙ୍କ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ପଢ଼ନ୍ତୁ"</string>
<string name="nls_feature_read_summary" msgid="1064698238110273593">"ଏହା ଯୋଗାଯୋଗ, ମେସେଜ ଏବଂ ଫଟୋଗୁଡ଼ିକ ପରି ବ୍ୟକ୍ତିଗତ ସୂଚନା ସମେତ ଆପଣଙ୍କ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ପଢ଼ିବା ପାଇଁ ସକ୍ଷମ ହେବ।"</string>
@@ -4085,12 +4096,12 @@
<string name="picture_in_picture_app_detail_title" msgid="4442235098255164650">"ପିକଚର୍-ଇନ୍-ପିକଚର୍"</string>
<string name="picture_in_picture_app_detail_switch" msgid="8544190716075624017">"ପିକଚର୍-ଇନ୍-ପିକଚରର ଅନୁମତି ଦିଅନ୍ତୁ"</string>
<string name="picture_in_picture_app_detail_summary" msgid="2503211101305358849">"ଏପ ଖୋଲା ଥିବାବେଳେ କିମ୍ୱା ଏହାକୁ ଆପଣ ଛାଡ଼ିବା ପରେ (ଉଦାହରଣସ୍ୱରୂପ, ଏକ ଭିଡିଓ ଦେଖିବା ଜାରି ରଖିବାକୁ) ଏକ ଛବି-ଭିତରେ-ଛବି ୱିଣ୍ଡୋ ତିଆରି କରିବା ପାଇଁ ଏହି ଏପକୁ ଅନୁମତି ଦିଅନ୍ତୁ। ଏହି ୱିଣ୍ଡୋ, ଆପଣ ବ୍ୟବହାର କରୁଥିବା ଅନ୍ୟ ଏପଗୁଡ଼ିକ ଉପରେ ଦେଖାଦେବ।"</string>
- <string name="interact_across_profiles_title" msgid="7285906999927669971">"ସଂଯୁକ୍ତ ୱାର୍କ୍ ଓ ବ୍ୟକ୍ତିଗତ ଆପ୍ସ"</string>
+ <string name="interact_across_profiles_title" msgid="7285906999927669971">"କନେକ୍ଟ କରାଯାଇଥିବା ୱାର୍କ ଓ ବ୍ୟକ୍ତିଗତ ଆପ୍ସ"</string>
<string name="interact_across_profiles_summary_allowed" msgid="1365881452153799092">"ସଂଯୋଗ ହୋଇଛି"</string>
<string name="interact_across_profiles_summary_not_allowed" msgid="5802674212788171790">"ସଂଯୋଗ ହୋଇନାହିଁ"</string>
<string name="interact_across_profiles_empty_text" msgid="419061031064397168">"କୌଣସି ସଂଯୁକ୍ତ ଥିବା ଆପ୍ ନାହିଁ"</string>
<string name="interact_across_profiles_keywords" msgid="5996472773111665049">"କ୍ରସ୍ ପ୍ରୋଫାଇଲରେ ସଂଯୁକ୍ତ ଥିବା ଆପ୍, କାର୍ଯ୍ୟସ୍ଥଳୀ ଏବଂ ବ୍ୟକ୍ତିଗତ ଆପଗୁଡ଼ିକ"</string>
- <string name="interact_across_profiles_app_detail_title" msgid="7776184211173575648">"ସଂଯୁକ୍ତ ୱାର୍କ୍ ଓ ବ୍ୟକ୍ତିଗତ ଆପ୍ସ"</string>
+ <string name="interact_across_profiles_app_detail_title" msgid="7776184211173575648">"କନେକ୍ଟ କରାଯାଇଥିବା ୱାର୍କ ଓ ବ୍ୟକ୍ତିଗତ ଆପ୍ସ"</string>
<string name="interact_across_profiles_switch_enabled" msgid="7294719120282287495">"ସଂଯୋଗ କରାଯାଇଛି"</string>
<string name="interact_across_profiles_switch_disabled" msgid="4312196170211463988">"ଏହି ଆପଗୁଡ଼ିକୁ ସଂଯୋଗ କରନ୍ତୁ"</string>
<string name="interact_across_profiles_summary_1" msgid="6093976896137600231">"ସଂଯୁକ୍ତ ଥିବା ଆପଗୁଡ଼ିକ ଅନୁମତିଗୁଡ଼ିକୁ ସେୟାର୍ କରି ପରସ୍ପରର ଡାଟା ଆକ୍ସେସ୍ କରିପାରିବେ।"</string>
@@ -4155,7 +4166,7 @@
<string name="notification_vibrate_title" msgid="1422330728336623351">"ଭାଇବ୍ରେସନ୍"</string>
<string name="notification_channel_sound_title" msgid="9018031231387273476">"ସାଉଣ୍ଡ"</string>
<string name="notification_conversation_important" msgid="4365437037763608045">"ପ୍ରାଥମିକତା"</string>
- <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"ମୂଳ ସ୍କ୍ରିନରେ ଯୋଗ କରନ୍ତୁ"</string>
+ <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"ହୋମ ସ୍କ୍ରିନରେ ଯୋଗ କରନ୍ତୁ"</string>
<string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"ଡିଲିଟ୍ କରନ୍ତୁ"</string>
<string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"ରିନେମ୍"</string>
<string name="zen_mode_rule_name" msgid="7303080427006917702">"ସିଡୁଲ୍ ନାମ"</string>
@@ -4209,13 +4220,13 @@
<string name="zen_mode_conversations_count" msgid="3199310723073707153">"{count,plural, =0{କିଛି ନାହିଁ}=1{1ଟି ବାର୍ତ୍ତାଳାପ}other{#ଟି ବାର୍ତ୍ତାଳାପ}}"</string>
<string name="zen_mode_people_calls_messages_section_title" msgid="6815202112413762206">"କିଏ ବାଧା ସୃଷ୍ଟି କରିପାରିବ"</string>
<string name="zen_mode_people_footer" msgid="7710707353004137431">"ଯଦିଓ ମେସେଜିଂ କିମ୍ବା କଲିଂ ଆପ୍ସ ଆପଣଙ୍କୁ ସୂଚିତ କରିପାରିବ ନାହିଁ, ଆପଣ ଏଠାରେ ବାଛିଥିବା ଲୋକମାନେ ତଥାପି ସେହି ଆପ୍ସ ମାଧ୍ୟମରେ ଆପଣଙ୍କ ସହ ଯୋଗାଯୋଗ କରିପାରିବେ"</string>
- <string name="zen_mode_calls_title" msgid="2078578043677037740">"କଲ୍"</string>
- <string name="zen_mode_calls" msgid="7653245854493631095">"କଲ୍ଗୁଡ଼ିକ"</string>
+ <string name="zen_mode_calls_title" msgid="2078578043677037740">"କଲ"</string>
+ <string name="zen_mode_calls" msgid="7653245854493631095">"କଲଗୁଡ଼ିକ"</string>
<string name="zen_mode_calls_list" msgid="5044730950895749093">"କଲଗୁଡ଼ିକ"</string>
<string name="zen_mode_calls_header" msgid="8379225445095856726">"ବାଧା ସୃଷ୍ଟି କରିପାରୁଥିବା କଲଗୁଡ଼ିକ"</string>
<string name="zen_mode_calls_footer" msgid="2008079711083701243">"ଅନୁମତି ପ୍ରାପ୍ତ କଲଗୁଡ଼ିକ ଆସିଲେ ସାଉଣ୍ଡ ହେବାକୁ ସୁନିଶ୍ଚିତ କରିବା ପାଇଁ ଡିଭାଇସଟି ରିଂ ହେବା ମୋଡରେ ସେଟ୍ କରାଯାଇଛି ବୋଲି ଯାଞ୍ଚ କରନ୍ତୁ"</string>
- <string name="zen_mode_custom_calls_footer" msgid="6521283204577441053">"‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’ ପାଇଁ ଇନକମିଂ କଲଗୁଡ଼ିକ ବ୍ଲକ କରାଯାଇଛି। ଆପଣଙ୍କର ସାଙ୍ଗ,ପରିବାର କିମ୍ବା ଅନ୍ୟ ଯୋଗାଯୋଗ ଆପଣଙ୍କୁ ସମ୍ପର୍କ କରିବା ପାଇଁ ଆପଣ ସେଟିଂସକୁ ଆଡଜଷ୍ଟ କରିପାରିବେ।"</string>
- <string name="zen_mode_starred_contacts_title" msgid="630299631659575589">"ତାରାଙ୍କିତ ଯୋଗାଯୋଗ"</string>
+ <string name="zen_mode_custom_calls_footer" msgid="6521283204577441053">"‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’ ପାଇଁ ଇନକମିଂ କଲଗୁଡ଼ିକ ବ୍ଲକ କରାଯାଇଛି। ଆପଣଙ୍କର ସାଙ୍ଗ,ପରିବାର କିମ୍ବା ଅନ୍ୟ କଣ୍ଟାକ୍ଟ ଆପଣଙ୍କୁ ସମ୍ପର୍କ କରିବା ପାଇଁ ଆପଣ ସେଟିଂସକୁ ଆଡଜଷ୍ଟ କରିପାରିବେ।"</string>
+ <string name="zen_mode_starred_contacts_title" msgid="630299631659575589">"ତାରାଙ୍କିତ କଣ୍ଟାକ୍ଟ"</string>
<string name="zen_mode_starred_contacts_summary_contacts" msgid="1629467178444895094">"{count,plural,offset:2 =0{କିଛି ନାହିଁ}=1{{contact_1}}=2{{contact_1} ଏବଂ {contact_2}}=3{{contact_1}, {contact_2} ଏବଂ {contact_3}}other{{contact_1}, {contact_2} ଏବଂ ଅନ୍ୟ #ଟି ଯୋଗାଯୋଗ}}"</string>
<string name="zen_mode_starred_contacts_empty_name" msgid="2906404745550293688">"(କୌଣସି ନାମ ନାହିଁ)"</string>
<string name="zen_mode_messages" msgid="7315084748885170585">"ମେସେଜ୍"</string>
@@ -4226,10 +4237,10 @@
<string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’ ପାଇଁ ଇନକମିଂ ମେସେଜଗୁଡ଼ିକ ବ୍ଲକ କରାଯାଇଛି। ଆପଣଙ୍କ ସାଙ୍ଗ, ପରିବାର କିମ୍ବା ଅନ୍ୟ ଯୋଗାଯୋଗ ଆପଣଙ୍କୁ ସମ୍ପର୍କ କରିବା ପାଇଁ ଆପଣ ସେଟିଂସକୁ ଆଡଜଷ୍ଟ କରିପାରିବେ।"</string>
<string name="zen_mode_all_messages_summary" msgid="3756267858343104554">"ସମସ୍ତ ମେସେଜ୍ ଆପଣଙ୍କ ପାଖରେ ପହଞ୍ଚିପାରିବ"</string>
<string name="zen_mode_all_calls_summary" msgid="7337907849083824698">"ସମସ୍ତ କଲ୍ ଆପଣଙ୍କ ପାଖରେ ପହଞ୍ଚିପାରିବ"</string>
- <string name="zen_mode_contacts_count" msgid="6568631261119795799">"{count,plural, =0{କିଛି ନାହିଁ}=1{1ଟି ଯୋଗାଯୋଗ}other{#ଟି ଯୋଗାଯୋଗ}}"</string>
+ <string name="zen_mode_contacts_count" msgid="6568631261119795799">"{count,plural, =0{କିଛି ନାହିଁ}=1{1ଟି କଣ୍ଟାକ୍ଟ}other{#ଟି କଣ୍ଟାକ୍ଟ}}"</string>
<string name="zen_mode_from_anyone" msgid="6027004263046694174">"ଯେ କୌଣସି ବ୍ୟକ୍ତି"</string>
<string name="zen_mode_from_contacts" msgid="2989933306317064818">"ଯୋଗାଯୋଗଗୁଡ଼ିକ"</string>
- <string name="zen_mode_from_starred" msgid="8616516644241652287">"ତାରାଙ୍କିତ ଯୋଗାଯୋଗଗୁଡ଼ିକ"</string>
+ <string name="zen_mode_from_starred" msgid="8616516644241652287">"ତାରାଙ୍କିତ କଣ୍ଟାକ୍ଟ"</string>
<string name="zen_mode_from_some" msgid="3708450042225044524">"କିଛି ଲୋକ କିମ୍ବା ବାର୍ତ୍ତାଳାପ"</string>
<string name="zen_calls_summary_starred_repeat" msgid="8078759939219244001">"ତାରାଙ୍କିତ ଯୋଗାଯୋଗ ଓ ବାରମ୍ୱାର କରୁଥିବା କଲର୍ଙ୍କଠାରୁ"</string>
<string name="zen_calls_summary_contacts_repeat" msgid="2276432091940405376">"ଯୋଗାଯୋଗ ଓ ବାରମ୍ୱାର କରୁଥିବା କଲର୍ଙ୍କଠାରୁ"</string>
@@ -4266,7 +4277,7 @@
<string name="zen_mode_bypassing_apps_summary_some" msgid="5315750826830358230">"କିଛି ବିଜ୍ଞପ୍ତି"</string>
<string name="zen_mode_bypassing_apps_footer" msgid="1454862989340760124">"ଆପଣ ଆପଗୁଡ଼ିକୁ ବାଧା ସୃଷ୍ଟି କରିବାକୁ ଅନୁମତି ନଦେଲେ ମଧ୍ୟ ଆପଣଙ୍କ ପାଖରେ ଚୟନିତ ଲୋକମାନେ ପହଞ୍ଚି ପାରିବେ"</string>
<string name="zen_mode_bypassing_apps_subtext" msgid="5258652366929842710">"{count,plural,offset:2 =0{କୌଣସି ଆପ୍ ବାଧା ସୃଷ୍ଟି କରିପାରିବ ନାହିଁ}=1{{app_1} ବାଧା ସୃଷ୍ଟି କରିପାରିବ}=2{{app_1} ଏବଂ {app_2} ବାଧା ସୃଷ୍ଟି କରିପାରିବ}=3{{app_1}, {app_2} ଏବଂ {app_3} ବାଧା ସୃଷ୍ଟି କରିପାରିବ}other{{app_1}, {app_2}, ଏବଂ ଆହୁରି #ଟି ଆପ୍ ବାଧା ସୃଷ୍ଟି କରିପାରିବ}}"</string>
- <string name="zen_mode_bypassing_apps_title" msgid="371050263563164059">"ଆପଗୁଡ଼ିକ"</string>
+ <string name="zen_mode_bypassing_apps_title" msgid="371050263563164059">"ଆପ୍ସ"</string>
<string name="zen_mode_bypassing_apps_all_summary" msgid="5197566190120503132">"ସମସ୍ତ ବିଜ୍ଞପ୍ତି"</string>
<string name="zen_mode_bypassing_apps_some_summary" msgid="1514572070650411509">"କିଛି ବିଜ୍ଞପ୍ତି"</string>
<string name="zen_mode_bypassing_app_channels_header" msgid="4011017798712587373">"ବାଧା ସୃଷ୍ଟି କରିପାରୁଥିବା ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ"</string>
@@ -4277,10 +4288,10 @@
<string name="zen_mode_people_some" msgid="9101872681298810281">"କିଛି ଲୋକ ବାଧା ଦେଇପାରନ୍ତି"</string>
<string name="zen_mode_people_all" msgid="311036110283015205">"ସବୁ ଲୋକ ବାଧା ଉପୁଯାଇପାରିବେ"</string>
<string name="zen_mode_repeat_callers" msgid="2270356100287792138">"ବାରମ୍ୱାର ଫୋନ୍ କରୁଥିବା କଲର୍"</string>
- <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"ବାରମ୍ବାର କଲ୍ କରୁଥିବା ବ୍ୟକ୍ତିଙ୍କ ପାଇଁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
+ <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"ବାରମ୍ବାର କଲ କରୁଥିବା ବ୍ୟକ୍ତିଙ୍କ ପାଇଁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
<string name="zen_mode_all_callers" msgid="8104755389401941875">"ଯେକୌଣସି ବ୍ୟକ୍ତି"</string>
<string name="zen_mode_contacts_callers" msgid="5429267704011896833">"ଯୋଗାଯୋଗ"</string>
- <string name="zen_mode_starred_callers" msgid="1002370699564211178">"ତାରାଙ୍କିତ ଯୋଗାଯୋଗ"</string>
+ <string name="zen_mode_starred_callers" msgid="1002370699564211178">"ତାରାଙ୍କିତ କଣ୍ଟାକ୍ଟ"</string>
<string name="zen_mode_repeat_callers_list" msgid="181819778783743847">"ବାରମ୍ୱାର ଫୋନ୍ କରୁଥିବା କଲର୍"</string>
<!-- no translation found for zen_mode_calls_summary_one (1928015516061784276) -->
<skip />
@@ -4438,7 +4449,7 @@
<item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>ଟି ଅବ୍ୟବହୃତ ଆପ୍</item>
</plurals>
<string name="unused_apps_category" msgid="8954930958175500851">"ଅବ୍ୟବହୃତ ଆପ ସେଟିଂସ"</string>
- <string name="unused_apps_switch" msgid="7595419855882245772">"ବ୍ୟବହାର ହେଉନଥିଲେ ଆପ କାର୍ଯ୍ୟକଳାପ ବିରତ କର"</string>
+ <string name="unused_apps_switch" msgid="7595419855882245772">"ବ୍ୟବହାର ହେଉନଥିଲେ ଆପ କାର୍ଯ୍ୟକଳାପ ବିରତ କରନ୍ତୁ"</string>
<string name="unused_apps_switch_summary" msgid="2171098908014596802">"ଅନୁମତିଗୁଡ଼ିକୁ କାଢ଼ି ଦିଅନ୍ତୁ, ଅସ୍ଥାୟୀ ଫାଇଲଗୁଡ଼ିକୁ ଡିଲିଟ କରନ୍ତୁ ଏବଂ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ବନ୍ଦ କରନ୍ତୁ"</string>
<string name="filter_all_apps" msgid="6645539744080251371">"ସମସ୍ତ ଆପ୍ସ"</string>
<string name="filter_enabled_apps" msgid="8868356616126759124">"ଇନ୍ଷ୍ଟଲ୍ ହୋଇଥିବା ଆପ୍ଗୁଡ଼ିକ"</string>
@@ -4537,7 +4548,7 @@
<string name="share_remote_bugreport_dialog_title" msgid="1575283098565582433">"ତୃଟି ସମ୍ପର୍କିତ ରିପୋର୍ଟ ସେୟାର୍ କରିବେ?"</string>
<string name="share_remote_bugreport_dialog_message_finished" msgid="4869053468609007680">"ଏହି ଡିଭାଇସ୍ର ସମସ୍ୟା ସମାଧାନ କରିବା ପାଇଁ ଆପଣଙ୍କର IT ଆଡମିନ୍ ଏକ ତ୍ରୁଟି ରିପୋର୍ଟ ମାଗିଛନ୍ତି। ଆପ୍ ଓ ଡାଟା ଶେୟର୍ ହୋଇପାରେ।"</string>
<string name="share_remote_bugreport_dialog_message" msgid="8714439220818865391">"ଏହି ଡିଭାଇସ୍ର ସମସ୍ୟା ସମାଧାନ କରିବା ପାଇଁ ଆପଣଙ୍କର IT ଆଡମିନ୍ ଏକ ତ୍ରୁଟି ରିପୋର୍ଟ ମାଗିଛନ୍ତି। ଆପ୍ ଓ ଡାଟା ଶେୟର୍ ହୋଇପାରେ ଏବଂ ଆପଣଙ୍କର ଡିଭାଇସ୍ କିଛି ସମୟ ପାଇଁ ମନ୍ଥର ହୋଇଯାଇପାରେ।"</string>
- <string name="sharing_remote_bugreport_dialog_message" msgid="3523877008096439251">"ଆପଣଙ୍କ ଆଡମିନ୍ଙ୍କ ସହିତ ଏହି ତ୍ରୁଟି ରିପୋର୍ଟ ସେୟାର୍ କରାଯାଇଛି। ଅଧିକ ବିବରଣୀ ପାଇଁ ତାଙ୍କ ସହିତ ସମ୍ପର୍କ କରନ୍ତୁ।"</string>
+ <string name="sharing_remote_bugreport_dialog_message" msgid="3523877008096439251">"ଆପଣଙ୍କ ଆଡମିନଙ୍କ ସହିତ ଏହି ତ୍ରୁଟି ରିପୋର୍ଟ ସେୟାର କରାଯାଇଛି। ଅଧିକ ବିବରଣୀ ପାଇଁ ତାଙ୍କ ସହିତ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ।"</string>
<string name="share_remote_bugreport_action" msgid="7173093464692893276">"ସେୟାର୍ କରନ୍ତୁ"</string>
<string name="decline_remote_bugreport_action" msgid="1276509879613158895">"ଅଗ୍ରାହ୍ୟ କରନ୍ତୁ"</string>
<string name="usb_use_charging_only" msgid="1743303747327057947">"କୌଣସି ଡାଟା ଟ୍ରାନ୍ସଫର୍ ହୋଇନାହିଁ"</string>
@@ -4619,7 +4630,7 @@
<string name="accessibility_lock_screen_progress" msgid="4597298121698665401">"<xliff:g id="COUNT_1">%2$d</xliff:g> ର <xliff:g id="COUNT_0">%1$d</xliff:g> ଅକ୍ଷର ବ୍ୟବହୃତ ହୋଇଛି"</string>
<string name="draw_overlay" msgid="7902083260500573027">"ଅନ୍ୟ ଆପ୍ଗୁଡ଼ିକ ଉପରେ ଦେଖାନ୍ତୁ"</string>
<string name="system_alert_window_settings" msgid="6458633954424862521">"ଅନ୍ୟ ଆପ୍ଗୁଡ଼ିକ ଉପରେ ଦେଖାନ୍ତୁ"</string>
- <string name="system_alert_window_apps_title" msgid="1537949185175079866">"ଆପ୍"</string>
+ <string name="system_alert_window_apps_title" msgid="1537949185175079866">"ଆପ୍ସ"</string>
<string name="system_alert_window_access_title" msgid="3074573819155116817">"ଅନ୍ୟ ଆପ୍ଗୁଡ଼ିକ ଉପରେ ଦେଖାନ୍ତୁ"</string>
<string name="permit_draw_overlay" msgid="4468994037192804075">"ଅନ୍ୟ ଆପ୍ଗୁଡ଼ିକ ଉପରେ ଦେଖାଇବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
<string name="allow_overlay_description" msgid="1607235723669496298">"ଆପଣ ବ୍ୟବହାର କରୁଥିବା ଅନ୍ୟ ଆପଗୁଡ଼ିକ ଉପରେ ଏହି ଆପକୁ ଡିସପ୍ଲେ ହେବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ। ଆପଣ କେଊଁଠି ଟାପ୍ କରନ୍ତି କିମ୍ବା ସ୍କ୍ରିନରେ ଯାହା ଡିସପ୍ଲେ ହୋଇଛି ସେଥିରେ ପରିବର୍ତ୍ତନ କରନ୍ତି ତାହା ଏହି ଆପ୍ ଦେଖିବାକୁ ସକ୍ଷମ ହେବ।"</string>
@@ -4672,7 +4683,7 @@
<string name="screen_zoom_conversation_timestamp_3" msgid="1659313906250856104">"ମଙ୍ଗଳବାର 6:02PM"</string>
<string name="screen_zoom_conversation_timestamp_4" msgid="2046797647382623313">"ମଙ୍ଗଳବାର 6:03PM"</string>
<string name="disconnected" msgid="3469373726996129247">"ସଂଯୁକ୍ତ ନୁହେଁ"</string>
- <string name="keyboard_disconnected" msgid="796053864561894531">"ସଂଯୁକ୍ତ ହୋଇନାହିଁ"</string>
+ <string name="keyboard_disconnected" msgid="796053864561894531">"କନେକ୍ଟ ହୋଇନାହିଁ"</string>
<string name="data_usage_summary_format" msgid="6844301859713164522">"<xliff:g id="AMOUNT">%1$s</xliff:g> ଡାଟା ବ୍ୟବହୃତ"</string>
<string name="data_usage_wifi_format" msgid="7644390582649568117">"<xliff:g id="AMOUNT">^1</xliff:g> ୱାଇ-ଫାଇରେ ବ୍ୟବହୃତ ହୋଇଛି"</string>
<plurals name="notification_summary" formatted="false" msgid="7638388920823212470">
@@ -4703,7 +4714,7 @@
<string name="disabled_by_policy_title_financed_device" msgid="2328740314082888228">"ଆପଣଙ୍କ କ୍ରେଡିଟ୍ ପ୍ରଦାନକାରୀଙ୍କ ଦ୍ୱାରା ବ୍ଲକ୍ ହୋଇଛି"</string>
<string name="disabled_by_policy_title_biometric_parental_consent" msgid="2463673997797134678">"ବାପାମାଙ୍କ ଅନୁମତି ଆବଶ୍ୟକ"</string>
<string name="disabled_by_policy_content_biometric_parental_consent" msgid="7124116806784305206">"ଏହାକୁ ସେଟ୍ ଅପ୍ କରିବା ଆରମ୍ଭ କରିବାକୁ ଫୋନଟି ତୁମ ବାପାମାଙ୍କୁ ଦିଅ"</string>
- <string name="default_admin_support_msg" msgid="8338570262037182531">"ଯଦି ଆପଣଙ୍କର କିଛି ପ୍ରଶ୍ନ ଥାଏ, ତେବେ ନିଜ IT ଆଡମିନ୍ଙ୍କ ସହ ସମ୍ପର୍କ କରନ୍ତୁ"</string>
+ <string name="default_admin_support_msg" msgid="8338570262037182531">"ଯଦି ଆପଣଙ୍କର କିଛି ପ୍ରଶ୍ନ ଥାଏ, ତେବେ ନିଜ IT ଆଡମିନଙ୍କ ସହ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ"</string>
<string name="admin_support_more_info" msgid="8407433155725898290">"ଅଧିକ ବିବରଣୀ"</string>
<string name="admin_profile_owner_message" msgid="8860709969532649195">"ସେଟିଂସ, ଅନୁମତି, କର୍ପୋରେଟ୍ ଆକ୍ସେସ, ନେଟୱାର୍କ କାର୍ଯ୍ୟକଳାପ ଓ ଡିଭାଇସର ଲୋକେସନ ସୂଚନା ସମେତ ଆପଣଙ୍କର କାର୍ଯ୍ୟ ପ୍ରୋଫାଇଲ ସହ ଜଡ଼ିତ ଥିବା ଆପ୍ସ ଓ ଡାଟାକୁ ଆପଣଙ୍କ ଆଡମିନ ତଦାରଖ ଓ ପରିଚାଳନା କରିପାରିବେ।"</string>
<string name="admin_profile_owner_user_message" msgid="4929926887231544950">"ସେଟିଂସ, ଅନୁମତି, କର୍ପୋରେଟ ଆକ୍ସେସ, ନେଟୱାର୍କ କାର୍ଯ୍ୟକଳାପ ଏବଂ ଡିଭାଇସର ଲୋକେସନ ସୂଚନା ସମେତ ଏହି ଉପଯୋଗକର୍ତ୍ତାଙ୍କ ସହ ଜଡ଼ିତ ଥିବା ଆପ୍ସ ଓ ଡାଟାକୁ ଆପଣଙ୍କର ଆଡମିନ ତଦାରଖ ଓ ପରିଚାଳନା କରିପାରିବେ।"</string>
@@ -4762,7 +4773,7 @@
<string name="cellular_data_usage" msgid="5874156338825285334">"ମୋବାଇଲ୍ ଡାଟା ବ୍ୟବହାର"</string>
<string name="app_cellular_data_usage" msgid="7603292978956033926">"ଆପ୍ ଦ୍ୱାରା ଡାଟା ବ୍ୟବହାର"</string>
<string name="wifi_data_usage" msgid="6868503699134605707">"ୱାଇ-ଫାଇ ଡାଟା ବ୍ୟବହାର"</string>
- <string name="non_carrier_data_usage" msgid="6494603202578414755">"ନନ୍-କ୍ୟାରିଅର୍ ଡାଟା ବ୍ୟବହାର"</string>
+ <string name="non_carrier_data_usage" msgid="6494603202578414755">"ନନ-କ୍ୟାରିଅର ଡାଟା ବ୍ୟବହାର"</string>
<string name="ethernet_data_usage" msgid="4552227880905679761">"ଇଥରନେଟ୍ ଦ୍ୱାରା ବ୍ୟବହୃତ ଡାଟା"</string>
<string name="wifi" msgid="2932584495223243842">"ୱାଇ-ଫାଇ"</string>
<string name="ethernet" msgid="4665162609974492983">"ଇଥରନେଟ୍"</string>
@@ -4823,8 +4834,8 @@
<string name="data_saver_switch_title" msgid="7111538580123722959">"ଡାଟା ସେଭର୍ ବ୍ୟବହାର କରନ୍ତୁ"</string>
<string name="unrestricted_app_title" msgid="7117585996574329284">"ଅପ୍ରତିବନ୍ଧିତ ଡାଟା ବ୍ୟବହାର"</string>
<string name="unrestricted_app_summary" msgid="282698963532000403">"ଡାଟା ସେଭର୍ ଚାଲୁଥିବାବେଳେ ଅପ୍ରତିବନ୍ଧିତ ଡାଟା ବ୍ୟବହାର କରିବାର ଅନୁମତି ଦିଅନ୍ତୁ"</string>
- <string name="home_app" msgid="6056850504746902747">"ହୋମ୍ ଆପ୍"</string>
- <string name="no_default_home" msgid="3588073707316139318">"ପୂର୍ବ-ନିର୍ଦ୍ଧାରିତ ହୋମ୍ ସେଟ୍ କରା ନାହିଁ"</string>
+ <string name="home_app" msgid="6056850504746902747">"ହୋମ ଆପ"</string>
+ <string name="no_default_home" msgid="3588073707316139318">"ଡିଫଲ୍ଟ ହୋମ ନାହିଁ"</string>
<string name="lockpattern_settings_require_cred_before_startup" msgid="4098653943835666086">"ସୁରକ୍ଷିତ ଭାବେ ଆରମ୍ଭ କରନ୍ତୁ"</string>
<string name="lockpattern_settings_require_pattern_before_startup_summary" msgid="311325321794497404">"ଆପଣଙ୍କର ଡିଭାଇସ୍କୁ ଆରମ୍ଭ କରିବା ପାଇଁ ପାଟର୍ନ ଆବଶ୍ୟକ। ବନ୍ଦ ଥିବାବେଳେ ଏହି ଡିଭାଇସ୍ କଲ୍, ମେସେଜ୍, ବିଜ୍ଞପ୍ତି ଗ୍ରହଣ କରିବ ନାହିଁ କିମ୍ୱା ଆଲାର୍ମ ବଜାଇବ ନାହିଁ।"</string>
<string name="lockpattern_settings_require_pin_before_startup_summary" msgid="1881271630312222251">"ଆପଣଙ୍କର ଡିଭାଇସ୍କୁ ଆରମ୍ଭ କରିବା ପାଇଁ PIN ଆବଶ୍ୟକ। ବନ୍ଦ ଥିବାବେଳେ ଏହି ଡିଭାଇସ୍ କଲ୍, ମେସେଜ୍, ବିଜ୍ଞପ୍ତି ଗ୍ରହଣ କରିବ ନାହିଁ କିମ୍ୱା ଆଲାର୍ମ ବଜାଇବ ନାହିଁ।"</string>
@@ -4944,18 +4955,18 @@
<string name="double_twist_for_camera_suggestion_title" msgid="8178844037382604158">"ଦ୍ରୁତ ଗତିରେ ସେଲ୍ଫୀ ନିଅନ୍ତୁ"</string>
<string name="system_navigation_title" msgid="1698862900901417194">"ସିଷ୍ଟମ୍ ନାଭିଗେସନ୍"</string>
<string name="swipe_up_to_switch_apps_title" msgid="6677266952021118342">"2-ବଟନ୍ ନାଭିଗେସନ୍"</string>
- <string name="swipe_up_to_switch_apps_summary" msgid="1415457307836359560">"ଆପ୍ସକୁ ସ୍ୱିଚ୍ କରିବା ପାଇଁ, ମୂଳପୃଷ୍ଠା ବଟନ୍ରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ। ସମସ୍ତ ଆପ୍କୁ ଦେଖିବାକୁ, ପୁଣି ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ। ପଛକୁ ଫେରିବା ପାଇଁ, ପଛକୁ ଫେରିବା ବଟନ୍ରେ ଟାପ୍ କରନ୍ତୁ।"</string>
- <string name="swipe_up_to_switch_apps_suggestion_title" msgid="5754081720589900007">"ନୂଆ ହୋମ୍ ବଟନ୍ ବ୍ୟବହାର କରନ୍ତୁ"</string>
+ <string name="swipe_up_to_switch_apps_summary" msgid="1415457307836359560">"ଆପ୍ସକୁ ସ୍ୱିଚ କରିବା ପାଇଁ, ହୋମ ବଟନରେ ଉପରକୁ ସ୍ୱାଇପ କରନ୍ତୁ। ସମସ୍ତ ଆପକୁ ଦେଖିବାକୁ, ପୁଣି ଉପରକୁ ସ୍ୱାଇପ କରନ୍ତୁ। ପଛକୁ ଫେରିବା ପାଇଁ, ପଛକୁ ଫେରିବା ବଟନରେ ଟାପ କରନ୍ତୁ।"</string>
+ <string name="swipe_up_to_switch_apps_suggestion_title" msgid="5754081720589900007">"ନୂଆ ହୋମ ବଟନ ବ୍ୟବହାର କରନ୍ତୁ"</string>
<string name="swipe_up_to_switch_apps_suggestion_summary" msgid="8885866570559435110">"ଆପ୍କୁ ବଦଳାଇବା ପାଇଁ ନୂଆ ଜେଶ୍ଚର୍ ଚାଲୁ କରନ୍ତୁ"</string>
<string name="emergency_settings_preference_title" msgid="6183455153241187148">"ସୁରକ୍ଷା ଓ ଜରୁରୀକାଳୀନ ପରିସ୍ଥିତି"</string>
<string name="emergency_dashboard_summary" msgid="401033951074039302">"ଜରୁରୀକାଳୀନ SOS, ମେଡିକାଲ୍ ସୂଚନା, ଆଲର୍ଟ"</string>
<string name="edge_to_edge_navigation_title" msgid="714427081306043819">"ଜେଶ୍ଚର୍ ନାଭିଗେସନ୍"</string>
- <string name="edge_to_edge_navigation_summary" msgid="8497033810637690561">"ମୂଳପୃଷ୍ଠାକୁ ଯିବା ପାଇଁ, ସ୍କ୍ରିନ୍ର ତଳୁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ। ଆପ୍ସ ସ୍ୱିଚ୍ କରିବା ପାଇଁ, ତଳୁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ, ଧରି ରଖନ୍ତୁ, ଏହା ପରେ ରିଲିଜ୍ କରନ୍ତୁ। ପଛକୁ ଫେରିବା ପାଇଁ, ବାମ କିମ୍ବା ଡାହାଣ ଏଜରୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ।"</string>
+ <string name="edge_to_edge_navigation_summary" msgid="8497033810637690561">"ହୋମକୁ ଯିବା ପାଇଁ, ସ୍କ୍ରିନର ତଳୁ ଉପରକୁ ସ୍ୱାଇପ କରନ୍ତୁ। ଆପ୍ସ ସ୍ୱିଚ କରିବା ପାଇଁ, ତଳୁ ଉପରକୁ ସ୍ୱାଇପ କରନ୍ତୁ, ଧରି ରଖନ୍ତୁ, ପରେ ରିଲିଜ କରନ୍ତୁ। ପଛକୁ ଫେରିବା ପାଇଁ, ବାମ କିମ୍ବା ଡାହାଣ ଏଜରୁ ସ୍ୱାଇପ କରନ୍ତୁ।"</string>
<string name="legacy_navigation_title" msgid="7877402855994423727">"3-ବଟନ୍ ନାଭିଗେସନ୍"</string>
- <string name="legacy_navigation_summary" msgid="5905301067778326433">"ଆପଣଙ୍କ ସ୍କ୍ରିନ୍ର ତଳେ ଦିଆଯାଇଥିବା ବଟନ୍ଗୁଡ଼ିକ ସାହାଯ୍ୟରେ ପଛକୁ ଫେରନ୍ତୁ, ମୂଳପୃଷ୍ଠାକୁ ଯାଆନ୍ତୁ ଏବଂ ଆପ୍ସ ସ୍ୱିଚ୍ କରନ୍ତୁ।"</string>
+ <string name="legacy_navigation_summary" msgid="5905301067778326433">"ଆପଣଙ୍କ ସ୍କ୍ରିନର ତଳେ ଦିଆଯାଇଥିବା ବଟନଗୁଡ଼ିକ ସାହାଯ୍ୟରେ ପଛକୁ ଫେରନ୍ତୁ, ହୋମକୁ ଯାଆନ୍ତୁ ଏବଂ ଆପ୍ସ ସ୍ୱିଚ କରନ୍ତୁ।"</string>
<string name="keywords_system_navigation" msgid="3131782378486554934">"ସିଷ୍ଟମ୍ ନାଭିଗେସନ୍, 2 ବଟନ୍ ନାଭିଗେସନ୍, 3 ବଟନ୍ ନାଭିଗେସନ୍, ଜେଶ୍ଚର୍ ନାଭିଗେସନ୍, ସ୍ୱାଇପ୍"</string>
- <string name="gesture_not_supported_dialog_message" msgid="5316512246119347889">"ଆପଣଙ୍କ ଡିଫଲ୍ଟ ହୋମ୍ ଆପ୍ <xliff:g id="DEFAULT_HOME_APP">%s</xliff:g> ଦ୍ୱାରା ସମର୍ଥନ କରୁନାହିଁ"</string>
- <string name="gesture_not_supported_positive_button" msgid="7909969459977021893">"ଡିଫଲ୍ଟ ହୋମ୍ ଆପ୍ରେ ସ୍ୱିଚ୍ କରନ୍ତୁ"</string>
+ <string name="gesture_not_supported_dialog_message" msgid="5316512246119347889">"ଆପଣଙ୍କ ଡିଫଲ୍ଟ ହୋମ ଆପ <xliff:g id="DEFAULT_HOME_APP">%s</xliff:g> ଦ୍ୱାରା ସମର୍ଥିତ ନୁହଁ"</string>
+ <string name="gesture_not_supported_positive_button" msgid="7909969459977021893">"ଡିଫଲ୍ଟ ହୋମ ଆପରେ ସ୍ୱିଚ କରନ୍ତୁ"</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>
@@ -5020,7 +5031,7 @@
<string name="gesture_setting_off" msgid="3444029475726294919">"ବନ୍ଦ"</string>
<string name="oem_unlock_enable_disabled_summary_bootloader_unlocked" msgid="65713754674288193">"ବୁଟ୍ଲୋଡର୍ ପୂର୍ବରୁ ଅନଲକ୍ ହୋଇଛି"</string>
<string name="oem_unlock_enable_disabled_summary_connectivity" msgid="8045017109714463041">"ପ୍ରଥମେ ଇଣ୍ଟରନେଟ୍ ସହ ସଂଯୋଗ କରନ୍ତୁ"</string>
- <string name="oem_unlock_enable_disabled_summary_connectivity_or_locked" msgid="7425519481227423860">"ଇଣ୍ଟର୍ନେଟ୍ ସହ ସଂଯୋଗ କରନ୍ତୁ କିମ୍ୱା ନିଜ ମୋବାଇଲ୍ ସେବା ପ୍ରଦାତାକୁ ସମ୍ପର୍କ କରନ୍ତୁ"</string>
+ <string name="oem_unlock_enable_disabled_summary_connectivity_or_locked" msgid="7425519481227423860">"ଇଣ୍ଟରନେଟ ସହ କନେକ୍ଟ କରନ୍ତୁ କିମ୍ୱା ନିଜ କ୍ଯାରିଅର ସହ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ"</string>
<string name="oem_unlock_enable_disabled_summary_sim_locked_device" msgid="168124660162907358">"ବାହକ ଦ୍ୱାରା ଲକ କରାଯାଇଥିବା ଡିଭାଇସଗୁଡ଼ିକରେ ଉପଲବ୍ଧ ନାହିଁ"</string>
<string name="oem_lock_info_message" msgid="8843145669619429197">"ଡିଭାଇସ୍ର ସୁରକ୍ଷା ବୈଶିଷ୍ଟ୍ୟକୁ ସକ୍ରିୟ କରିବା ପାଇଁ ଡିଭାଇସ୍କୁ ରିଷ୍ଟାର୍ଟ କରନ୍ତୁ"</string>
<string name="automatic_storage_manager_freed_bytes" msgid="706230592123831676">"<xliff:g id="SIZE">%1$s</xliff:g> ସମୁଦାୟ ଉପଲବ୍ଧ କରାଯାଇଛି\n\n<xliff:g id="DATE">%2$s</xliff:g>ରେ ଶେଷଥର ଚାଲିଥିଲା"</string>
@@ -5043,7 +5054,7 @@
<string name="enterprise_privacy_settings" msgid="786350385374794180">"ପରିଚାଳିତ ଡିଭାଇସ୍ ସୂଚନା"</string>
<string name="enterprise_privacy_settings_summary_generic" msgid="5471858290610344646">"ଆପଣଙ୍କ ସଂସ୍ଥା ଦ୍ୱାରା ପରିଚାଳିତ ପରିବର୍ତ୍ତନ ଓ ସେଟିଂସ"</string>
<string name="enterprise_privacy_settings_summary_with_name" msgid="1315413275836515937">"<xliff:g id="ORGANIZATION_NAME">%s</xliff:g> ଦ୍ୱାରା ପରିଚାଳିତ ପରିବର୍ତ୍ତନ ଓ ସେଟିଂସ"</string>
- <string name="enterprise_privacy_header" msgid="4626225398848641603">"ଆପଣଙ୍କର କାର୍ଯ୍ୟ ଡାଟାକୁ ଆକ୍ସେସ ପ୍ରଦାନ କରିବା ପାଇଁ, ଆପଣଙ୍କ ସଂସ୍ଥା ସେଟିଂସ ବଦଳାଇପାରନ୍ତି ଏବଂ ଆପଣଙ୍କ ଡିଭାଇସରେ ସଫ୍ଟୱେର ଇନଷ୍ଟଲ କରିପାରନ୍ତି। \n\n ଅଧିକ ବିବରଣୀ ପାଇଁ, ନିଜ ସଂସ୍ଥାର ଆଡମିନଙ୍କ ସହ ଯୋଗାଯୋଗ କରନ୍ତୁ।"</string>
+ <string name="enterprise_privacy_header" msgid="4626225398848641603">"ଆପଣଙ୍କର କାର୍ଯ୍ୟ ଡାଟାକୁ ଆକ୍ସେସ ପ୍ରଦାନ କରିବା ପାଇଁ, ଆପଣଙ୍କ ସଂସ୍ଥା ସେଟିଂସ ବଦଳାଇପାରନ୍ତି ଏବଂ ଆପଣଙ୍କ ଡିଭାଇସରେ ସଫ୍ଟୱେର ଇନଷ୍ଟଲ କରିପାରନ୍ତି। \n\n ଅଧିକ ବିବରଣୀ ପାଇଁ, ନିଜ ସଂସ୍ଥାର ଆଡମିନଙ୍କ ସହ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ।"</string>
<string name="enterprise_privacy_exposure_category" msgid="2507761423540037308">"ସୂଚନାର ପ୍ରକାର, ଯାହା ଆପଣଙ୍କର ସଂସ୍ଥା ଦେଖିପାରିବ"</string>
<string name="enterprise_privacy_exposure_changes_category" msgid="5459989751333816587">"ଆପଣଙ୍କ ସଂସ୍ଥାର ଆଡ୍ମିନ୍ଙ୍କ ଦ୍ୱାରା କରାଯାଇଥିବା ପରିବର୍ତ୍ତନ"</string>
<string name="enterprise_privacy_device_access_category" msgid="140157499478630004">"ଏହି ଡିଭାଇସ୍ ପ୍ରତି ଆପଣଙ୍କର ଆକ୍ସେସ୍"</string>
@@ -5097,7 +5108,7 @@
<string name="toast_allows_restricted_settings_successfully" msgid="1219116121291466102">"<xliff:g id="APP_NAME">%s</xliff:g> ପାଇଁ ପ୍ରତିବନ୍ଧିତ ସେଟିଂସକୁ ଅନୁମତି ଦିଆଯାଇଛି"</string>
<string name="blocked_by_restricted_settings_content" msgid="3628660029601161080">"ଆପଣଙ୍କ ସୁରକ୍ଷା ପାଇଁ ଏହି ସେଟିଂ ବର୍ତ୍ତମାନ ଅନୁପଲବ୍ଧ ଅଟେ।"</string>
<string name="financed_privacy_settings" msgid="2575114436197204145">"ଫାଇନାନ୍ସଡ୍ ଡିଭାଇସ୍ ସୂଚନା"</string>
- <string name="financed_privacy_intro" msgid="5458393846604867947">"ଆପଣଙ୍କ କ୍ରେଡିଟ ପ୍ରଦାନକାରୀ ଏହି ଡିଭାଇସରେ ସେଟିଂସ ପରିବର୍ତ୍ତନ ଏବଂ ସଫ୍ଟୱେର ଇନଷ୍ଟଲ କରିପାରିବେ।\n\nଯଦି ଆପଣ କୌଣସି ପେମେଣ୍ଟ ହରାନ୍ତି, ତେବେ ଆପଣଙ୍କ ଡିଭାଇସ ଲକ ହୋଇଯିବ।\n\nଅଧିକ ଜାଣିବାକୁ, ଆପଣଙ୍କ କ୍ରେଡିଟ ପ୍ରଦାନକାରୀ ସହ ଯୋଗାଯୋଗ କରନ୍ତୁ।"</string>
+ <string name="financed_privacy_intro" msgid="5458393846604867947">"ଆପଣଙ୍କ କ୍ରେଡିଟ ପ୍ରଦାନକାରୀ ଏହି ଡିଭାଇସରେ ସେଟିଂସ ପରିବର୍ତ୍ତନ ଏବଂ ସଫ୍ଟୱେର ଇନଷ୍ଟଲ କରିପାରିବେ।\n\nଯଦି ଆପଣ କୌଣସି ପେମେଣ୍ଟ ହରାନ୍ତି, ତେବେ ଆପଣଙ୍କ ଡିଭାଇସ ଲକ ହୋଇଯିବ।\n\nଅଧିକ ଜାଣିବାକୁ, ଆପଣଙ୍କ କ୍ରେଡିଟ ପ୍ରଦାନକାରୀ ସହ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ।"</string>
<string name="financed_privacy_restrictions_category" msgid="2472659467919651602">"ଯଦି ଡିଭାଇସର ଫାଇନାନ୍ସ କରାଯାଇଛି, ତେବେ ଆପଣ ଏହା କରିପାରିବେ ନାହିଁ:"</string>
<string name="financed_privacy_install_apps" msgid="7381718005710210851">"Play Store ବାହାରୁ ଆସୁଥିବା ଆପ୍ସକୁ ଇନଷ୍ଟଲ କରନ୍ତୁ"</string>
<string name="financed_privacy_safe_mode" msgid="5362149445732602578">"ଆପଣଙ୍କ ଡିଭାଇସକୁ ସୁରକ୍ଷିତ ମୋଡରେ ରିବୁଟ କରନ୍ତୁ"</string>
@@ -5142,7 +5153,7 @@
<string name="storage_images" msgid="2055893015567979387">"ଇମେଜ୍"</string>
<string name="storage_videos" msgid="6117698226447251033">"ଭିଡିଓଗୁଡ଼ିକ"</string>
<string name="storage_audio" msgid="5994664984472140386">"ଅଡିଓ"</string>
- <string name="storage_apps" msgid="3564291603258795216">"ଆପଗୁଡ଼ିକ"</string>
+ <string name="storage_apps" msgid="3564291603258795216">"ଆପ୍ସ"</string>
<string name="storage_documents_and_other" msgid="3293689243732236480">"ଡକ୍ୟୁମେଣ୍ଟଗୁଡ଼ିକ ଏବଂ ଅନ୍ୟ"</string>
<string name="storage_system" msgid="8472410119822911844">"ସିଷ୍ଟମ୍"</string>
<string name="storage_trash" msgid="2807138998886084856">"ଟ୍ରାସ୍"</string>
@@ -5237,7 +5248,7 @@
<string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"ଡିଭାଇସ୍ର ନାମ"</string>
<string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"ମୌଳିକ ସୂଚନା"</string>
<string name="my_device_info_legal_category_title" msgid="7732792841537995127">"ଲିଗାଲ୍ ନୋଟିସ୍ ଏବଂ ରେଗୁଲେଟୋରୀ ସୂଚନା"</string>
- <string name="my_device_info_device_details_category_title" msgid="4848438695638348680">"ଡିଭାଇସ୍ ବିବରଣୀ"</string>
+ <string name="my_device_info_device_details_category_title" msgid="4848438695638348680">"ଡିଭାଇସର ବିବରଣୀ"</string>
<string name="my_device_info_device_identifiers_category_title" msgid="2197063484127704153">"ଡିଭାଇସ୍ ଚିହ୍ନଟକାରୀ"</string>
<string name="change_wifi_state_title" msgid="5629648102837821525">"ୱାଇ-ଫାଇର ନିୟନ୍ତ୍ରଣ"</string>
<string name="change_wifi_state_app_detail_switch" msgid="1385358508267180745">"ୱାଇ-ଫାଇକୁ ନିୟନ୍ତ୍ରଣ କରିବା ପାଇଁ ଆପ୍କୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
@@ -5245,7 +5256,7 @@
<string name="media_output_title" msgid="8283629315159510680">"ମିଡିଆ ଚଲାନ୍ତୁ"</string>
<string name="media_output_label_title" msgid="4139048973886819148">"ଏଥିରେ <xliff:g id="LABEL">%s</xliff:g> ଚଲାନ୍ତୁ"</string>
<string name="media_output_default_summary" msgid="4200343059396412376">"ଏହି ଡିଭାଇସ୍"</string>
- <string name="media_output_summary" product="default" msgid="4760338801715262899">"ଫୋନ୍"</string>
+ <string name="media_output_summary" product="default" msgid="4760338801715262899">"ଫୋନ"</string>
<string name="media_output_summary" product="tablet" msgid="5138101426462250247">"ଟାବଲେଟ୍"</string>
<string name="media_output_summary" product="device" msgid="3598300438694764381">"ଡିଭାଇସ୍"</string>
<string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"କଲ୍ କରିବାବେଳେ ଉପଲବ୍ଧ ନଥାଏ"</string>
@@ -5608,7 +5619,7 @@
<string name="connected_device_see_all_summary" msgid="2056010318537268108">"ବ୍ଲୁଟୁଥ୍ ଚାଲୁ ହେବ"</string>
<string name="bluetooth_setting_on" msgid="4808458394436224124">"ଚାଲୁ ଅଛି"</string>
<string name="bluetooth_setting_off" msgid="4965493913199554789">"ବନ୍ଦ ଅଛି"</string>
- <string name="provider_internet_settings" msgid="3831259474776313323">"ଇଣ୍ଟରନେଟ୍"</string>
+ <string name="provider_internet_settings" msgid="3831259474776313323">"ଇଣ୍ଟରନେଟ"</string>
<string name="provider_network_settings_title" msgid="2624756136016346774">"SIMଗୁଡ଼ିକ"</string>
<string name="keywords_airplane_safe_networks" msgid="5902708537892978245">"ଏୟାରପ୍ଲେନ୍, ଏୟାରପ୍ଲେନ୍-ସେଫ୍"</string>
<string name="calls_and_sms" msgid="1931855083959003306">"କଲ୍ ଓ SMS"</string>
@@ -5662,7 +5673,7 @@
<string name="not_allowed_by_ent" msgid="1958611623122304411">"ଆପଣଙ୍କ ସଂସ୍ଥା ଦ୍ୱାରା ଅନୁମତି ଦିଆଯାଇ ନାହିଁ"</string>
<string name="aware_summary_when_bedtime_on" msgid="2063856008597376344">"ଶୋଇବା ସମୟ ମୋଡ୍ ଚାଲୁ ଥିବା ଯୋଗୁଁ ଉପଲବ୍ଧ ନାହିଁ"</string>
<string name="reset_importance_completed" msgid="3595536767426097205">"ବିଜ୍ଞପ୍ତିର ପ୍ରାଥମିକତା ରିସେଟ୍ କରିବା ସମ୍ପୂର୍ଣ୍ଣ ହୋଇଛି।"</string>
- <string name="apps_dashboard_title" msgid="3269953499954393706">"ଆପଗୁଡ଼ିକ"</string>
+ <string name="apps_dashboard_title" msgid="3269953499954393706">"ଆପ୍ସ"</string>
<string name="bluetooth_message_access_notification_content" msgid="5111712860712823893">"ଏକ ଡିଭାଇସ୍ ଆପଣଙ୍କ ମେସେଜଗୁଡ଼ିକୁ ଆକ୍ସେସ୍ କରିବାକୁ ଚାହୁଁଛି। ବିବରଣୀ ପାଇଁ ଟାପ୍ କରନ୍ତୁ।"</string>
<string name="bluetooth_message_access_dialog_title" msgid="9009836130395061579">"ମେସେଜଗୁଡ଼ିକୁ ଆକ୍ସେସ୍ କରିବା ପାଇଁ ଅନୁମତି ଦେବେ?"</string>
<string name="bluetooth_message_access_dialog_content" msgid="7186694737578788487">"ଏକ ବ୍ଲୁଟୁଥ୍ ଡିଭାଇସ୍, <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>, ଆପଣଙ୍କ ମେସେଜଗୁଡ଼ିକୁ ଆକ୍ସେସ୍ କରିବାକୁ ଚାହୁଁଛି।\n\nଆପଣ ପୂର୍ବରୁ <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> ସହ ସଂଯୁକ୍ତ ହୋଇନାହାଁନ୍ତି।"</string>
@@ -5735,7 +5746,7 @@
<string name="bluetooth_connect_access_dialog_title" msgid="1948056782712451381">"ବ୍ଲୁଟୁଥ୍ ଡିଭାଇସ୍ ସହ ସଂଯୋଗ କରିବେ?"</string>
<string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> ଆପଣଙ୍କ ଫୋନ୍ ସହ ସଂଯୋଗ କରିବାକୁ ଚାହୁଁଛି।\n\nଆପଣ ପୂର୍ବରୁ <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> ସହ ସଂଯୁକ୍ତ ହୋଇନାହାଁନ୍ତି।"</string>
<string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"ସଂଯୋଗ କରନ୍ତୁ ନାହିଁ"</string>
- <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"ସଂଯୋଗ କରନ୍ତୁ"</string>
+ <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"କନେକ୍ଟ କରନ୍ତୁ"</string>
<string name="tare_settings" msgid="3788654800004869077">"TARE ସେଟିଂସ"</string>
<string name="tare_on" msgid="2386073225978684535">"ଚାଲୁ ଅଛି"</string>
<string name="tare_off" msgid="6305694402929756726">"ବନ୍ଦ ଅଛି"</string>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 93f308c..05d13dc 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"ਤੁਹਾਨੂੰ ਬਲੂਟੁੱਥ ਸੈਟਿੰਗਾਂ ਬਦਲਣ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਹੈ।"</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"ਨਵਾਂ ਡੀਵਾਈਸ ਜੋੜਾਬੱਧ ਕਰੋ"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"ਬਲੂਟੁੱਥ"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"ਸੱਜਾ ਕੰਨ ਜੋੜਾਬੱਧ ਕਰੋ"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"ਖੱਬਾ ਕੰਨ ਜੋੜਾਬੱਧ ਕਰੋ"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"ਆਪਣਾ ਦੂਜਾ ਕੰਨ ਜੋੜਾਬੱਧ ਕਰੋ"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"ਤੁਹਾਡਾ ਖੱਬਾ ਸੁਣਨ ਦਾ ਸਾਧਨ ਕਨੈਕਟ ਹੈ।\n\nਸੱਜੇ ਨੂੰ ਜੋੜਾਬੱਧ ਕਰਨ ਲਈ, ਪੱਕਾ ਕਰੋ ਕਿ ਇਹ ਚਾਲੂ ਹੈ ਅਤੇ ਜੋੜਾਬੱਧ ਕਰਨ ਲਈ ਤਿਆਰ ਹੈ।"</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"ਤੁਹਾਡਾ ਸੱਜਾ ਸੁਣਨ ਦਾ ਸਾਧਨ ਕਨੈਕਟ ਹੈ।\n\nਖੱਬੇ ਨੂੰ ਜੋੜਾਬੱਧ ਕਰਨ ਲਈ, ਪੱਕਾ ਕਰੋ ਕਿ ਇਹ ਚਾਲੂ ਹੈ ਅਤੇ ਜੋੜਾਬੱਧ ਕਰਨ ਲਈ ਤਿਆਰ ਹੈ।"</string>
@@ -2448,7 +2450,7 @@
<string name="accessibility_timeout_2mins" msgid="7901692984522708679">"2 ਮਿੰਟ"</string>
<string name="accessibility_setting_item_control_timeout_title" msgid="1600516937989217899">"ਕਾਰਵਾਈ ਕਰਨ ਦਾ ਸਮਾਂ (ਪਹੁੰਚਯੋਗਤਾ ਸਮਾਂ ਸਮਾਪਤੀ)"</string>
<string name="accessibility_control_timeout_about_title" msgid="813588002683460837">"ਕਾਰਵਾਈ ਕਰਨ ਦਾ ਸਮਾਂ (ਪਹੁੰਚਯੋਗਤਾ ਸਮਾਂ ਸਮਾਪਤ) ਬਾਰੇ"</string>
- <string name="accessibility_control_timeout_footer_learn_more_content_description" msgid="8118584413220542193">"ਕਾਰਵਾਈ ਕਰਨ ਦਾ ਸਮਾਂ (ਪਹੁੰਚਯੋਗਤਾ ਸਮਾਂ ਸਮਾਪਤ) ਬਾਰੇ ਹੋਰ ਜਾਣੋ"</string>
+ <string name="accessibility_control_timeout_footer_learn_more_content_description" msgid="8118584413220542193">"ਕਾਰਵਾਈ ਕਰਨ ਦੇ ਸਮੇਂ (ਪਹੁੰਚਯੋਗਤਾ ਸਮਾਂ ਸਮਾਪਤ) ਬਾਰੇ ਹੋਰ ਜਾਣੋ"</string>
<string name="accessibility_control_timeout_preference_title" msgid="1443940538597464758">"ਕਾਰਵਾਈ ਕਰਨ ਦਾ ਸਮਾਂ"</string>
<string name="accessibility_control_timeout_preference_summary" msgid="4037051091059316310">"ਸਮੇਂ ਸੰਬੰਧੀ ਇਸ ਤਰਜੀਹ ਦਾ ਸਮਰਥਨ ਸਾਰੀਆਂ ਐਪਾਂ ਵੱਲੋਂ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ"</string>
<string name="accessibility_control_timeout_preference_intro_text" msgid="1398116710556762245">"ਚੁਣੋ ਕਿ ਤੁਹਾਨੂੰ ਕਾਰਵਾਈ ਕਰਨ ਲਈ ਕਹਿਣ ਵਾਲੇ ਅਸਥਾਈ ਸੁਨੇਹਿਆਂ ਨੂੰ ਕਿੰਨੀ ਦੇਰ ਤੱਕ ਦਿਖਾਉਣਾ ਹੈ"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"ਕੁਝ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਵਰਤੋਂ ਸੀਮਤ ਹੋ ਸਕਦੀ ਹੈ"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"ਬੈਟਰੀ ਦੀ ਜ਼ਿਆਦਾ ਵਰਤੋਂ"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"ਸਭ ਤੋਂ ਵੱਧ ਬੈਟਰੀ ਵਰਤੋਂ ਵਾਲੀਆਂ ਐਪਾਂ ਦੇਖੋ"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"ਚਾਰਜਿੰਗ ਕੁਝ ਸਮੇਂ ਲਈ ਰੋਕੀ ਗਈ"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"ਤੁਹਾਡੀ ਬੈਟਰੀ ਨੂੰ ਬਚਾਉਣ ਲਈ। ਹੋਰ ਜਾਣੋ।"</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"ਚਾਰਜਿੰਗ ਮੁੜ-ਚਾਲੂ ਕਰੋ"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"ਕੁਝ ਵਿਸ਼ੇਸ਼ ਹਾਲਾਤਾਂ ਵਿੱਚ, ਜਿਵੇਂ ਕਿ ਉੱਚ ਤਾਪਮਾਨ ਅਤੇ ਲੰਮੇ ਸਮੇਂ ਤੱਕ ਚਾਰਜ ਕਰਨਾ, ਬੈਟਰੀ ਦੀ ਕਾਰਗੁਜ਼ਾਰੀ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ, ਸ਼ਾਇਦ ਚਾਰਜਿੰਗ <xliff:g id="PERCENT">%1$s</xliff:g> ਤੱਕ ਸੀਮਤ ਹੋ ਸਕਦੀ ਹੈ।\n\nਉਨ੍ਹਾਂ ਹਾਲਾਤਾਂ ਦੇ ਸਮਾਪਤ ਹੋਣ \'ਤੇ, ਤੁਹਾਡਾ ਫ਼ੋਨ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਸਧਾਰਨ ਤਰੀਕੇ ਨਾਲ ਚਾਰਜ ਹੋ ਜਾਵੇਗਾ।"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"ਕੁਝ ਵਿਸ਼ੇਸ਼ ਹਾਲਾਤਾਂ ਵਿੱਚ, ਜਿਵੇਂ ਕਿ ਉੱਚ ਤਾਪਮਾਨ ਅਤੇ ਲੰਮੇ ਸਮੇਂ ਤੱਕ ਚਾਰਜ ਕਰਨਾ, ਬੈਟਰੀ ਦੀ ਕਾਰਗੁਜ਼ਾਰੀ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ, ਸ਼ਾਇਦ ਚਾਰਜਿੰਗ <xliff:g id="PERCENT">%1$s</xliff:g> ਤੱਕ ਸੀਮਤ ਹੋ ਸਕਦੀ ਹੈ।\n\nਉਨ੍ਹਾਂ ਹਾਲਾਤਾਂ ਦੇ ਸਮਾਪਤ ਹੋਣ \'ਤੇ, ਤੁਹਾਡਾ ਟੈਬਲੈੱਟ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਸਧਾਰਨ ਤਰੀਕੇ ਨਾਲ ਵਿੱਚ ਚਾਰਜ ਹੋ ਜਾਵੇਗਾ।"</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"ਇਹ ਐਪ ਬੈਕਗ੍ਰਾਊਂਡ ਵਿੱਚ ਬੈਟਰੀ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕੇਗੀ। ਤੁਹਾਡੀ ਬੈਟਰੀ ਉਮੀਦ ਨਾਲੋਂ ਛੇਤੀ ਹੀ ਖਤਮ ਹੋ ਸਕਦੀ ਹੈ।"</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"ਹਟਾਓ"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"ਰੱਦ ਕਰੋ"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"ਤੁਹਾਡੀਆਂ ਐਪਾਂ ਆਮ ਵਾਂਗ ਬੈਟਰੀ ਵਰਤ ਰਹੀਆਂ ਹਨ। ਐਪਾਂ ਵੱਲੋਂ ਭਾਰੀ ਮਾਤਰਾ ਵਿੱਚ ਬੈਟਰੀ ਦੀ ਵਰਤੋਂ ਕਰਨ \'ਤੇ ਤੁਹਾਡਾ ਫ਼ੋਨ ਤੁਹਾਨੂੰ ਕਾਰਵਾਈਆਂ ਕਰਨ ਦੇ ਸੁਝਾਅ ਦੇਵੇਗਾ।\n\nਬੈਟਰੀ ਘੱਟ ਹੋਣ \'ਤੇ ਤੁਸੀਂ ਹਮੇਸ਼ਾਂ \'ਬੈਟਰੀ ਸੇਵਰ\' ਨੂੰ ਚਾਲੂ ਕਰ ਸਕਦੇ ਹੋ।"</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"ਤੁਹਾਡੀਆਂ ਐਪਾਂ ਆਮ ਵਾਂਗ ਬੈਟਰੀ ਵਰਤ ਰਹੀਆਂ ਹਨ। ਐਪਾਂ ਵੱਲੋਂ ਭਾਰੀ ਮਾਤਰਾ ਵਿੱਚ ਬੈਟਰੀ ਦੀ ਵਰਤੋਂ ਕਰਨ \'ਤੇ ਤੁਹਾਡਾ ਟੈਬਲੈੱਟ ਤੁਹਾਨੂੰ ਕਾਰਵਾਈਆਂ ਕਰਨ ਦੇ ਸੁਝਾਅ ਦੇਵੇਗਾ।\n\nਬੈਟਰੀ ਘੱਟ ਹੋਣ \'ਤੇ ਤੁਸੀਂ ਹਮੇਸ਼ਾਂ \'ਬੈਟਰੀ ਸੇਵਰ\' ਨੂੰ ਚਾਲੂ ਕਰ ਸਕਦੇ ਹੋ।"</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"ਤੁਹਾਡੀਆਂ ਐਪਾਂ ਆਮ ਵਾਂਗ ਬੈਟਰੀ ਵਰਤ ਰਹੀਆਂ ਹਨ। ਐਪਾਂ ਵੱਲੋਂ ਭਾਰੀ ਮਾਤਰਾ ਵਿੱਚ ਬੈਟਰੀ ਦੀ ਵਰਤੋਂ ਕਰਨ \'ਤੇ ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਤੁਹਾਨੂੰ ਕਾਰਵਾਈਆਂ ਕਰਨ ਦੇ ਸੁਝਾਅ ਦੇਵੇਗਾ।\n\nਬੈਟਰੀ ਘੱਟ ਹੋਣ \'ਤੇ ਤੁਸੀਂ ਹਮੇਸ਼ਾਂ \'ਬੈਟਰੀ ਸੇਵਰ\' ਨੂੰ ਚਾਲੂ ਕਰ ਸਕਦੇ ਹੋ।"</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"<xliff:g id="PERCENT">%1$s</xliff:g> \'ਤੇ ਬੈਟਰੀ"</string>
<string name="battery_percentage" msgid="1779934245963043490">"ਬੈਟਰੀ ਫ਼ੀਸਦ"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"ਸਥਿਤੀ ਪੱਟੀ ਵਿੱਚ ਬੈਟਰੀ ਫ਼ੀਸਦ ਦਿਖਾਓ"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"ਪਿਛਲੀ ਵਾਰ ਪੂਰਾ ਚਾਰਜ ਕਰਨ ਤੋਂ ਬਾਅਦ ਬੈਟਰੀ ਪੱਧਰ"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"ਪਿਛਲੇ 24 ਘੰਟਿਆਂ ਦੌਰਾਨ ਬੈਟਰੀ ਪੱਧਰ"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"ਪਿਛਲੀ ਵਾਰ ਪੂਰਾ ਚਾਰਜ ਕਰਨ ਤੋਂ ਬਾਅਦ ਐਪ ਵਰਤੋਂ"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"ਪਿਛਲੇ 24 ਘੰਟਿਆਂ ਦੌਰਾਨ ਐਪ ਦੀ ਵਰਤੋਂ"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"ਪਿਛਲੀ ਵਾਰ ਪੂਰਾ ਚਾਰਜ ਕਰਨ ਤੋਂ ਬਾਅਦ ਸਿਸਟਮ ਵਰਤੋਂ"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"ਪਿਛਲੇ 24 ਘੰਟਿਆਂ ਦੌਰਾਨ ਸਿਸਟਮ ਦੀ ਵਰਤੋਂ"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"<xliff:g id="SLOT">%s</xliff:g> ਦੌਰਾਨ ਸਿਸਟਮ ਦੀ ਵਰਤੋਂ"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"<xliff:g id="SLOT">%s</xliff:g> ਦੌਰਾਨ ਐਪ ਦੀ ਵਰਤੋਂ"</string>
@@ -3889,7 +3900,7 @@
<string name="asst_importance_reset_summary" msgid="684794589254282667">"ਵਰਤੋਂਕਾਰਾਂ ਵੱਲੋਂ ਬਦਲੀਆਂ ਗਈਆਂ ਮਹੱਤਤਾ ਵਾਲੀਆਂ ਸੈਟਿੰਗਾਂ ਨੂੰ ਰੀਸੈੱਟ ਕਰੋ ਅਤੇ ਸੂਚਨਾ ਸਹਾਇਕ ਨੂੰ ਤਰਜੀਹ ਦੇਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿਓ"</string>
<string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"ਸੁਝਾਈਆਂ ਗਈਆਂ ਕਾਰਵਾਈਆਂ ਅਤੇ ਜਵਾਬ"</string>
<string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਸੁਝਾਈਆਂ ਗਈਆਂ ਕਾਰਵਾਈਆਂ ਅਤੇ ਜਵਾਬਾਂ ਨੂੰ ਦਿਖਾਓ"</string>
- <string name="notification_history_summary" msgid="5434741516307706892">"ਹਾਲੀਆਂ ਅਤੇ ਸਨੂਜ਼ ਕੀਤੀਆਂ ਸੂਚਨਾਵਾਂ ਦਿਖਾਓ"</string>
+ <string name="notification_history_summary" msgid="5434741516307706892">"ਹਾਲੀਆ ਅਤੇ ਸਨੂਜ਼ ਕੀਤੀਆਂ ਸੂਚਨਾਵਾਂ ਦਿਖਾਓ"</string>
<string name="notification_history" msgid="8663811361243456201">"ਸੂਚਨਾ ਇਤਿਹਾਸ"</string>
<string name="notification_history_toggle" msgid="9093762294928569030">"ਸੂਚਨਾ ਇਤਿਹਾਸ ਵਰਤੋ"</string>
<string name="notification_history_off_title_extended" msgid="853807652537281601">"ਸੂਚਨਾ ਇਤਿਹਾਸ ਬੰਦ ਹੈ"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 69cb349..99cfdb0 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -87,6 +87,10 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Nie masz uprawnień, by zmienić ustawienia Bluetootha."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Sparuj nowe urządzenie"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <!-- no translation found for bluetooth_pair_right_ear_button (3979894494803078852) -->
+ <skip />
+ <!-- no translation found for bluetooth_pair_left_ear_button (1019938875726073791) -->
+ <skip />
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Sparuj drugie ucho"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Aparat słuchowy w lewym uchu jest połączony.\n\nAby sparować aparat w prawym uchu, upewnij się, że jest włączony i gotowy do parowania."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Aparat słuchowy w prawym uchu jest połączony.\n\nAby sparować aparat w lewym uchu, upewnij się, że jest włączony i gotowy do parowania."</string>
@@ -624,7 +628,7 @@
<string name="fingerprint_last_delete_title" msgid="4081475675646514726">"Usunąć wszystkie odciski palców?"</string>
<string name="fingerprint_delete_title" msgid="1469865327307917858">"Usuń „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>”"</string>
<string name="fingerprint_delete_message" msgid="1454995433333496541">"Czy chcesz usunąć ten odcisk palca?"</string>
- <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"Ta czynność usuwa zapisane na urządzeniu obrazy i modele odcisku palca powiązane z: „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>”"</string>
+ <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"Ta czynność usuwa zapisane na urządzeniu obrazy i modele odcisku palca powiązane z „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>”"</string>
<string name="fingerprint_last_delete_message" msgid="7860374760549404410">"Nie będzie można używać odcisku palca do odblokowywania telefonu i potwierdzania tożsamości w aplikacjach."</string>
<string name="fingerprint_last_delete_message_profile_challenge" msgid="4104208067277655068">"Nie będzie można używać odcisku palca do odblokowywania profilu służbowego, zatwierdzania zakupów czy logowania się w aplikacjach służbowych."</string>
<string name="fingerprint_last_delete_confirm" msgid="3294910995598819259">"Tak, usuń"</string>
@@ -2387,7 +2391,7 @@
<string name="accessibility_magnification_switch_shortcut_message" msgid="7718653917415163833">"Powiększanie ekranu trzykrotnym kliknięciem opóźnia pisanie i inne działania.\n\nPrzycisk ułatwień dostępu pływa na ekranie przed innymi aplikacjami. Kliknij go, aby powiększyć."</string>
<string name="accessibility_magnification_switch_shortcut_positive_button" msgid="2446942190957296957">"Zmień na przycisk ułatwień dostępu"</string>
<string name="accessibility_magnification_switch_shortcut_negative_button" msgid="7115794462123071594">"Używaj trzykrotnego kliknięcia"</string>
- <string name="accessibility_magnification_triple_tap_warning_title" msgid="8484669851397296597">"Może to spowolnić klawiaturę"</string>
+ <string name="accessibility_magnification_triple_tap_warning_title" msgid="8484669851397296597">"To może spowolnić klawiaturę"</string>
<string name="accessibility_magnification_triple_tap_warning_message" msgid="2008671502848936410">"Gdy używasz trzykrotnego kliknięcia do powiększenia fragmentu ekranu, możesz zauważyć problemy dotyczące klawiatury.\n\nAby ich uniknąć, możesz zmienić skrót powiększania z trzykrotnego kliknięcia na inny.\n"<annotation id="link">"Zmień ustawienie"</annotation></string>
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Kontynuuj mimo to"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Anuluj"</string>
@@ -2506,7 +2510,7 @@
<string name="accessibility_display_inversion_shortcut_title" msgid="6889624526691513462">"Skrót do odwrócenia kolorów"</string>
<string name="accessibility_display_inversion_preference_intro_text" msgid="1159663288481145318">"Odwrócenie kolorów zamienia jasne obszary na ciemne. Z kolei ciemne obszary zamienia na jasne."</string>
<string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>Pamiętaj</b><br/> <ol> <li> Zmienią się kolory w multimediach i na obrazach</li> <li> Odwrócenie kolorów działa we wszystkich aplikacjach</li> <li> Ciemne tło można też wyświetlać w ciemnym motywie</li> </ol>"</string>
- <string name="accessibility_autoclick_preference_title" msgid="2703143361605555752">"Automatyczne kliknięcie (czas oczekiwania)"</string>
+ <string name="accessibility_autoclick_preference_title" msgid="2703143361605555752">"Automatyczne kliknięcie (czas kontaktu)"</string>
<string name="accessibility_autoclick_about_title" msgid="152923024405552594">"O automatycznym kliknięciu (czas kontaktu)"</string>
<string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"Więcej informacji o automatycznym kliknięciu (czas kontaktu)"</string>
<string name="accessibility_autoclick_intro_text" msgid="8959680635470639347">"Możesz skonfigurować automatyczne kliknięcie podłączoną myszą, gdy kursor nie przesuwa się od pewnego czasu"</string>
@@ -2821,8 +2825,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Niektóre funkcje mogą być ograniczone"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Wyższe wykorzystanie baterii"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Zobacz aplikacje, które najbardziej wykorzystują baterię"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Ładowanie tymczasowo ograniczone"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Aby wydłużyć żywotność baterii. Więcej informacji."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Wznów ładowanie"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"W niektórych warunkach (np. przy długotrwałym ładowaniu i wysokiej temperaturze) ładowanie może być ograniczone do <xliff:g id="PERCENT">%1$s</xliff:g>, ponieważ pomaga to utrzymać baterię w dobrym stanie.\n\nGdy te warunki się zmienią, telefon automatycznie przejdzie do normalnego ładowania."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"W niektórych warunkach (np. przy długotrwałym ładowaniu i wysokiej temperaturze) ładowanie może być ograniczone do <xliff:g id="PERCENT">%1$s</xliff:g>, ponieważ pomaga to utrzymać baterię w dobrym stanie.\n\nGdy te warunki się zmienią, telefon automatycznie przejdzie do normalnego ładowania."</string>
@@ -2868,6 +2876,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Ta aplikacja może wykorzystywać baterię, działając w tle. Może to powodować szybsze wyczerpywanie baterii."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Usuń"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Anuluj"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Aplikacje zużywają normalną ilość energii. Jeśli będą zużywały jej za dużo, telefon zasugeruje działania, które będzie można podjąć.\n\nZawsze możesz włączyć Oszczędzanie baterii, gdy spadnie poziom jej naładowania."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Aplikacje zużywają normalną ilość energii. Jeśli będą zużywały jej za dużo, tablet zasugeruje działania, które będzie można podjąć.\n\nZawsze możesz włączyć Oszczędzanie baterii, gdy spadnie poziom jej naładowania."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Aplikacje zużywają normalną ilość energii. Jeśli będą zużywały jej za dużo, urządzenie zasugeruje działania, które będzie można podjąć.\n\nZawsze możesz włączyć Oszczędzanie baterii, gdy spadnie poziom jej naładowania."</string>
@@ -3049,8 +3059,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"przy <xliff:g id="PERCENT">%1$s</xliff:g> baterii"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Procent naładowania baterii"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Pokazuj procentowy poziom naładowania baterii na pasku stanu"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Poziom baterii od ostatniego pełnego naładowania"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Poziom naładowania baterii w ciągu ostatnich 24 godzin"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Wykorzystanie przez aplikacje od ostatniego naładowania"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Wykorzystanie przez aplikacje w ciągu ostatnich 24 godzin"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Wykorzystanie systemu od ostatniego pełnego naładowania"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Wykorzystanie przez system w ciągu ostatnich 24 godzin"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Wykorzystanie przez system w godz. <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Wykorzystanie przez aplikacje w godz. <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -3837,7 +3850,7 @@
<string name="live_caption_summary" msgid="2898451867595161809">"Automatycznie wyświetlaj napisy do multimediów"</string>
<string name="spatial_audio_speaker" msgid="9145233652433523302">"Głośnik telefonu"</string>
<string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Słuchawki przewodowe"</string>
- <string name="spatial_audio_text" msgid="8201387855375146000">"Dźwięk ze zgodnych multimediów ma jeszcze lepszą jakość"</string>
+ <string name="spatial_audio_text" msgid="8201387855375146000">"Dźwięk z kompatybilnych multimediów ma jeszcze lepszą jakość"</string>
<string name="spatial_summary_off" msgid="8272678804629774378">"Wyłączono"</string>
<string name="spatial_summary_on_one" msgid="6239933399496282994">"Włączony / <xliff:g id="OUTPUT_DEVICE">%1$s</xliff:g>"</string>
<string name="spatial_summary_on_two" msgid="4526919818832483883">"Włączony / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> i <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
@@ -5309,7 +5322,7 @@
<string name="storage_videos" msgid="6117698226447251033">"Filmy"</string>
<string name="storage_audio" msgid="5994664984472140386">"Dźwięk"</string>
<string name="storage_apps" msgid="3564291603258795216">"Aplikacje"</string>
- <string name="storage_documents_and_other" msgid="3293689243732236480">"Dokumenty i inne dane"</string>
+ <string name="storage_documents_and_other" msgid="3293689243732236480">"Dokumenty i inne pliki"</string>
<string name="storage_system" msgid="8472410119822911844">"System"</string>
<string name="storage_trash" msgid="2807138998886084856">"Kosz"</string>
<string name="storage_trash_dialog_title" msgid="2296169576049935200">"Opróżnić kosz?"</string>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index d068e8b..5f2444a 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Você não tem permissão para alterar as configurações de Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Parear novo dispositivo"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Parear lado direito"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Parear lado esquerdo"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Pareie o outro lado"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Seu aparelho auditivo esquerdo está conectado.\n\nPara parear o direito, confira se ele está ligado e pronto para parear."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Seu aparelho auditivo direito está conectado.\n\nPara parear o esquerdo, confira se ele está ligado e pronto para parear."</string>
@@ -2761,8 +2763,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Alguns recursos podem ser limitados"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Maior uso da bateria"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Ver apps com maior uso"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Carregamento temporariamente limitado"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Para economia de bateria. Saiba mais."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Retomar o carregamento"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Em determinadas condições, como temperaturas altas ou longos períodos de carregamento, a carga pode ser limitada a <xliff:g id="PERCENT">%1$s</xliff:g> para preservar a integridade da bateria.\n\nQuando sair de uma condição assim, o smartphone voltará a ser carregado normalmente."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Em determinadas condições, como temperaturas altas ou longos períodos de carregamento, a carga pode ser limitada a <xliff:g id="PERCENT">%1$s</xliff:g> para preservar a integridade da bateria.\n\nQuando sair de uma condição assim, o tablet voltará a ser carregado normalmente."</string>
@@ -2798,6 +2804,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Esse app poderá usar a bateria em segundo plano. É possível que sua bateria acabe antes do esperado."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Remover"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Cancelar"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Seus apps estão consumindo uma quantidade normal de bateria. Se o consumo for excessivo, algumas ações serão sugeridas no smartphone.\n\nSe a bateria estiver acabando, você poderá ativar o recurso Economia de bateria."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Seus apps estão consumindo uma quantidade normal de bateria. Se o consumo for excessivo, algumas ações serão sugeridas no tablet.\n\nSe a bateria estiver acabando, você poderá ativar o recurso Economia de bateria."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Seus apps estão consumindo uma quantidade normal de bateria. Se o consumo for excessivo, algumas ações serão sugeridas no dispositivo.\n\nSe a bateria estiver acabando, você poderá ativar o recurso Economia de bateria."</string>
@@ -2975,8 +2983,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"com <xliff:g id="PERCENT">%1$s</xliff:g> de bateria"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Porcentagem da bateria"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Mostrar a porcentagem da bateria na barra de status"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Nível da bateria desde a última carga completa"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Nível da bateria nas últimas 24h"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Uso de apps desde a última carga completa"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Uso do app nas últimas 24h"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Uso do sistema desde a última carga completa"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Uso do sistema nas últimas 24h"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Uso do sistema entre <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Uso do app em <xliff:g id="SLOT">%s</xliff:g>"</string>
diff --git a/res/values-pt-rPT/arrays.xml b/res/values-pt-rPT/arrays.xml
index c61e794..b7e7632 100644
--- a/res/values-pt-rPT/arrays.xml
+++ b/res/values-pt-rPT/arrays.xml
@@ -509,8 +509,8 @@
<item msgid="2047166446768045816">"Tratar como acesso ilimitado"</item>
</string-array>
<string-array name="wifi_privacy_entries">
- <item msgid="3485945604919292489">"Utilizar MAC aleatório (predefinição)"</item>
- <item msgid="741680937828608749">"Utilizar MAC do dispositivo"</item>
+ <item msgid="3485945604919292489">"Usar MAC aleatório (predefinição)"</item>
+ <item msgid="741680937828608749">"Usar MAC do dispositivo"</item>
</string-array>
<string-array name="wifi_hidden_entries">
<item msgid="342232116597649254">"Não"</item>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 5ab6930..c6a8a68 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Não tem autorização para alterar as definições de Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Sincronizar novo dispositivo"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Sincr. ouv. direito"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Sincr. ouv. esquerdo"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Sincroniz. o outro ouvido"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"O seu aparelho auditivo esquerdo está ligado.\n\nPara sincronizar o direito, certifique-se de que o mesmo está ativado e pronto a sincronizar."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"O seu aparelho auditivo direito está ligado.\n\nPara sincronizar o esquerdo, certifique-se de que o mesmo está ativado e pronto a sincronizar."</string>
@@ -1421,7 +1423,7 @@
<string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Horário"</string>
<string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Nenhum"</string>
<string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Ativado do pôr ao nascer do sol"</string>
- <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"É ativado à hora personalizada"</string>
+ <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Ativado à hora personalizada"</string>
<string name="dark_ui_auto_mode_custom_bedtime" msgid="8465023741946439266">"É ativado à hora de dormir"</string>
<string name="dark_ui_status_title" msgid="3505119141437774329">"Estado"</string>
<string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Nunca se ativa automaticamente"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Algumas funcionalidades podem estar limitadas"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Maior utilização da bateria"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Veja as apps com maior utilização"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Carregamento limitado temporariamente"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Para preservar a bateria. Saiba mais."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Retomar carregamento"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Em determinadas condições, como temperaturas elevadas e períodos de carregamento longos, o carregamento pode estar limitado a <xliff:g id="PERCENT">%1$s</xliff:g> para ajudar a preservar o estado da bateria.\n\nQuando essas condições terminarem, o telemóvel irá carregar normalmente de forma automática."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Em determinadas condições, como temperaturas elevadas e períodos de carregamento longos, o carregamento pode estar limitado a <xliff:g id="PERCENT">%1$s</xliff:g> para ajudar a preservar o estado da bateria.\n\nQuando essas condições terminarem, o tablet irá carregar normalmente de forma automática."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Esta aplicação poderá utilizar a bateria em segundo plano e, por conseguinte, pode ficar sem bateria mais cedo do que o esperado."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Remover"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Cancelar"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"As suas aplicações estão a utilizar uma quantidade de bateria normal. Se as aplicações utilizarem demasiada bateria, o telemóvel sugere ações que pode realizar.\n\nPode sempre ativar a Poupança de bateria se estiver a ficar sem bateria."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"As suas aplicações estão a utilizar uma quantidade de bateria normal. Se as aplicações utilizarem demasiada bateria, o tablet sugere ações que pode realizar.\n\nPode sempre ativar a Poupança de bateria se estiver a ficar sem bateria."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"As suas aplicações estão a utilizar uma quantidade de bateria normal. Se as aplicações utilizarem demasiada bateria, o dispositivo sugere ações que pode realizar.\n\nPode sempre ativar a Poupança de bateria se estiver a ficar sem bateria."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"ao alcançar <xliff:g id="PERCENT">%1$s</xliff:g> de bateria"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Percentagem da bateria"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Mostrar percentagem da bateria na barra de estado"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Nível de bateria desde o último carregamento completo"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Nível da bateria durante as últimas 24 h"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Utilização de apps desde o último carregamento completo"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Utilização de apps durante as últimas 24 h"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Utilização do sistema desde o último carregamento completo"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Utilização do sistema durante as últimas 24 h"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Utilização do sistema durante <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Utilização da app durante <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -3458,7 +3469,7 @@
<string name="nfc_payment_default" msgid="3769788268378614608">"Pagamento predefinido"</string>
<string name="nfc_payment_default_not_set" msgid="6471905683119084622">"Não definida"</string>
<string name="nfc_payment_app_and_desc" msgid="2607417639227030398">"<xliff:g id="APP">%1$s</xliff:g> – <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string>
- <string name="nfc_payment_use_default" msgid="6127665705799658860">"Utilize a app de pagamentos predefinida"</string>
+ <string name="nfc_payment_use_default" msgid="6127665705799658860">"Usar a app de pagamentos predefinida"</string>
<string name="nfc_payment_use_default_dialog" msgid="8556328090777785383">"Utilize a app de pagamentos predefinida"</string>
<string name="nfc_payment_favor_default" msgid="4508491832174644772">"Sempre"</string>
<string name="nfc_payment_favor_open" msgid="8554643344050373346">"Exceto enquanto outra app de pagamentos está aberta"</string>
@@ -4432,7 +4443,7 @@
<string name="runtime_permissions_summary_control_app_access" msgid="3744591396348990500">"Controle o acesso de apps aos seus dados"</string>
<string name="permissions_usage_title" msgid="2942741460679049132">"Painel de privacidade"</string>
<string name="permissions_usage_summary" msgid="6784310472062516454">"Mostrar apps que usaram autorizações recentemente"</string>
- <string name="unused_apps" msgid="4566272194756830656">"Apps não utilizadas"</string>
+ <string name="unused_apps" msgid="4566272194756830656">"Apps não usadas"</string>
<plurals name="unused_apps_summary" formatted="false" msgid="3827583582750975783">
<item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> apps não utilizadas</item>
<item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> app não utilizada</item>
@@ -4603,7 +4614,7 @@
</plurals>
<string name="running_frequency" msgid="7260225121706316639">"Frequência"</string>
<string name="memory_maximum_usage" msgid="2047013391595835607">"Utilização máxima"</string>
- <string name="no_data_usage" msgid="4665617440434654132">"Sem dados utilizados"</string>
+ <string name="no_data_usage" msgid="4665617440434654132">"Sem dados usados"</string>
<string name="zen_access_warning_dialog_title" msgid="6323325813123130154">"Permitir o acesso a Não incomodar para <xliff:g id="APP">%1$s</xliff:g>?"</string>
<string name="zen_access_warning_dialog_summary" msgid="8468714854067428987">"A aplicação conseguirá ligar e desligar o modo Não incomodar e efetuar alterações nas definições relacionadas."</string>
<string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Tem de permanecer ativado porque o acesso às notificações está ativado"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index d068e8b..5f2444a 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Você não tem permissão para alterar as configurações de Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Parear novo dispositivo"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Parear lado direito"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Parear lado esquerdo"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Pareie o outro lado"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Seu aparelho auditivo esquerdo está conectado.\n\nPara parear o direito, confira se ele está ligado e pronto para parear."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Seu aparelho auditivo direito está conectado.\n\nPara parear o esquerdo, confira se ele está ligado e pronto para parear."</string>
@@ -2761,8 +2763,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Alguns recursos podem ser limitados"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Maior uso da bateria"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Ver apps com maior uso"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Carregamento temporariamente limitado"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Para economia de bateria. Saiba mais."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Retomar o carregamento"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Em determinadas condições, como temperaturas altas ou longos períodos de carregamento, a carga pode ser limitada a <xliff:g id="PERCENT">%1$s</xliff:g> para preservar a integridade da bateria.\n\nQuando sair de uma condição assim, o smartphone voltará a ser carregado normalmente."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Em determinadas condições, como temperaturas altas ou longos períodos de carregamento, a carga pode ser limitada a <xliff:g id="PERCENT">%1$s</xliff:g> para preservar a integridade da bateria.\n\nQuando sair de uma condição assim, o tablet voltará a ser carregado normalmente."</string>
@@ -2798,6 +2804,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Esse app poderá usar a bateria em segundo plano. É possível que sua bateria acabe antes do esperado."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Remover"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Cancelar"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Seus apps estão consumindo uma quantidade normal de bateria. Se o consumo for excessivo, algumas ações serão sugeridas no smartphone.\n\nSe a bateria estiver acabando, você poderá ativar o recurso Economia de bateria."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Seus apps estão consumindo uma quantidade normal de bateria. Se o consumo for excessivo, algumas ações serão sugeridas no tablet.\n\nSe a bateria estiver acabando, você poderá ativar o recurso Economia de bateria."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Seus apps estão consumindo uma quantidade normal de bateria. Se o consumo for excessivo, algumas ações serão sugeridas no dispositivo.\n\nSe a bateria estiver acabando, você poderá ativar o recurso Economia de bateria."</string>
@@ -2975,8 +2983,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"com <xliff:g id="PERCENT">%1$s</xliff:g> de bateria"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Porcentagem da bateria"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Mostrar a porcentagem da bateria na barra de status"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Nível da bateria desde a última carga completa"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Nível da bateria nas últimas 24h"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Uso de apps desde a última carga completa"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Uso do app nas últimas 24h"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Uso do sistema desde a última carga completa"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Uso do sistema nas últimas 24h"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Uso do sistema entre <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Uso do app em <xliff:g id="SLOT">%s</xliff:g>"</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index cb2f0a0..5e2f938 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -86,6 +86,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Nu aveți permisiunea de a modifica setările Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Asociați un nou dispozitiv"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Urechea dreaptă"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Urechea stângă"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Asociați cealaltă ureche"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Aparatul auditiv stâng este conectat.\n\nCa să-l asociați pe cel drept, verificați dacă este pornit și gata de asociat."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Aparatul auditiv drept este conectat.\n\nCa să-l asociați pe cel stâng, verificați dacă este pornit și gata de asociat."</string>
@@ -2792,8 +2794,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Unele funcții pot fi limitate"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Utilizare mai mare a bateriei"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Vedeți aplicațiile cu cea mai mare utilizare"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Încărcare limitată temporar"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Pentru a prelungi durata de viață a bateriei. Aflați mai multe."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Reluați încărcarea"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"În anumite condiții, cum ar fi temperaturile ridicate și perioadele lungi de încărcare, încărcarea poate fi limitată la <xliff:g id="PERCENT">%1$s</xliff:g> pentru a conserva buna funcționare a bateriei.\n\nCând condițiile respective dispar, telefonul se va încărca normal în mod automat."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"În anumite condiții, cum ar fi temperaturile ridicate și perioadele lungi de încărcare, încărcarea poate fi limitată la <xliff:g id="PERCENT">%1$s</xliff:g> pentru a conserva buna funcționare a bateriei.\n\nCând condițiile respective dispar, tableta se va încărca normal în mod automat."</string>
@@ -2834,6 +2840,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Această aplicație va putea utiliza bateria în fundal. Bateria se poate descărca mai repede decât vă așteptați."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Eliminați"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Anulați"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Aplicațiile consumă un procent normal de baterie. Dacă aplicațiile consumă prea multă baterie, telefonul va sugera acțiuni posibile.\n\nPuteți oricând să activați Economisirea bateriei dacă aceasta se descarcă."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Aplicațiile consumă un procent normal de baterie. Dacă aplicațiile consumă prea multă baterie, tableta va sugera acțiuni posibile.\n\nPuteți oricând să activați Economisirea bateriei dacă aceasta se descarcă."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Aplicațiile consumă un procent normal de baterie. Dacă aplicațiile consumă prea multă baterie, dispozitivul va sugera acțiuni posibile.\n\nPuteți oricând să activați Economisirea bateriei dacă aceasta se descarcă."</string>
@@ -3013,8 +3021,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"la baterie <xliff:g id="PERCENT">%1$s</xliff:g>"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Procentajul bateriei"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Se afișează procentajul bateriei în bara de stare"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Nivelul bateriei de la ultima încărcare completă"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Nivelul bateriei în ultimele 24 h"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Utilizarea aplicațiilor de la ultima încărcare completă"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Utilizarea de către aplicații în ultimele 24 h"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Utilizarea sistemului de la ultima încărcare completă"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Utilizarea de către sistem în ultimele 24 h"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Utilizarea de către sistem pentru <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Utilizarea de către aplicații pentru <xliff:g id="SLOT">%s</xliff:g>"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index e7367ba..ed9abf8 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -87,6 +87,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"У вас нет разрешения на смену настроек Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Добавить устройство"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Подключить прав. ухо"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Подключить левое ухо"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Подключить другое ухо"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Левый слуховой аппарат подключен.\n\nУбедитесь, что правый аппарат работает и готов к подключению."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Правый слуховой аппарат подключен.\n\nУбедитесь, что левый аппарат работает и готов к подключению."</string>
@@ -2414,7 +2416,7 @@
<string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Изменение масштаба тремя нажатиями"</string>
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Чтобы увеличить масштаб, нажмите кнопку"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Быстрое увеличение масштаба."</string>
- <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Чтобы увеличить масштаб:</b><br/> {0,number,integer}. Выполните действие быстрого запуска для перехода в режим увеличения.<br/> {1,number,integer}. Коснитесь экрана.<br/> {2,number,integer}. При желании перетащите область увеличения двумя пальцами.<br/> {3,number,integer}. Чтобы скорректировать масштаб, сведите два пальца вместе.<br/> {4,number,integer}. Чтобы выйти из режима увеличения, выполните действие быстрого запуска.<br/><br/> <b>Чтобы временно увеличить масштаб:</b><br/> {0,number,integer}. Убедитесь, что выбран режим увеличения \"Весь экран\".<br/> {1,number,integer}. Выполните действие быстрого запуска для перехода в режим увеличения.<br/> {2,number,integer}. Коснитесь любой области экрана и удерживайте палец.<br/> {3,number,integer}. Если нужно, перетащите область увеличения.<br/> {4,number,integer}. Чтобы вернуть исходный масштаб, уберите палец с экрана."</string>
+ <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Чтобы увеличить масштаб:</b><br/> {0,number,integer}. Выполните действие быстрого запуска для перехода в режим увеличения.<br/> {1,number,integer}. Коснитесь экрана.<br/> {2,number,integer}. Если нужно, перетащите область увеличения двумя пальцами.<br/> {3,number,integer}. Чтобы скорректировать масштаб, сведите два пальца вместе.<br/> {4,number,integer}. Чтобы выйти из режима увеличения, выполните действие быстрого запуска.<br/><br/> <b>Чтобы временно увеличить масштаб:</b><br/> {0,number,integer}. Убедитесь, что выбран режим увеличения \"Весь экран\".<br/> {1,number,integer}. Выполните действие быстрого запуска для перехода в режим увеличения.<br/> {2,number,integer}. Коснитесь любой области экрана и удерживайте палец.<br/> {3,number,integer}. Если нужно, перетащите область увеличения.<br/> {4,number,integer}. Чтобы вернуть исходный масштаб, уберите палец с экрана."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Благодаря функции увеличения вы сможете приближать изображение на экране.\n\n"<b>"Если вы хотите увеличить изображение"</b>", включите функцию и нажмите на экран в любом месте.\n"<ul><li>"Для прокрутки проведите двумя пальцами."</li>\n<li>"Чтобы изменить масштаб, сведите два пальца вместе или разведите их."</li></ul>\n\n<b>"Если нужно временно увеличить масштаб"</b>", включите функцию увеличения, коснитесь экрана и удерживайте.\n"<ul><li>"Для обзора проведите по экрану."</li>\n<li>"Чтобы уменьшить масштаб, отпустите палец."</li></ul>\n\n"Эти жесты не работают на клавиатуре и панели навигации."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Страница <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> из <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Используйте кнопку специальных возможностей"</string>
@@ -2604,7 +2606,7 @@
<string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Дейтераномалия (нарушено восприятие зеленого)"</string>
<string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Протаномалия (нарушено восприятие красного)"</string>
<string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Тританомалия"</string>
- <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Дополнительное уменьшение яркости"</string>
+ <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Доп. уменьшение яркости"</string>
<string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Дополнительно уменьшить яркость экрана"</string>
<string name="reduce_bright_colors_shortcut_title" msgid="495648157059202745">"Быстрый запуск дополнительного уменьшения яркости"</string>
<string name="reduce_bright_colors_about_title" msgid="503655452544934393">"О дополнительном уменьшении яркости"</string>
@@ -2821,8 +2823,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Функциональность некоторых сервисов может быть ограничена"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Повышенный расход заряда батареи"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Посмотрите, какие приложения расходуют больше всего заряда."</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Зарядка временно ограничена"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Это сделано для защиты вашей батареи. Подробнее…"</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Продолжить зарядку"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"В определенных условиях, например при высокой температуре окружающей среды и продолжительной зарядке, система может установить ограничение <xliff:g id="PERCENT">%1$s</xliff:g> для уровня заряда, чтобы продлить срок службы батареи.\n\nКогда условия нормализуются, телефон будет заряжаться как обычно."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"В определенных условиях, например при высокой температуре окружающей среды и продолжительной зарядке, система может установить ограничение <xliff:g id="PERCENT">%1$s</xliff:g> для уровня заряда, чтобы продлить срок службы батареи.\n\nКогда условия нормализуются, планшет будет заряжаться как обычно."</string>
@@ -2868,6 +2874,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Это приложение сможет потреблять энергию в фоновом режиме. Расход заряда батареи будет выше ожидаемого."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Удалить"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Отмена"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Ваши приложения расходуют заряд батареи нормально. При повышенном расходе вы получите рекомендации о том, что можно предпринять.\n\nЕсли заряд батареи будет на исходе, вы можете включить режим энергосбережения."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Ваши приложения расходуют заряд батареи нормально. При повышенном расходе вы получите рекомендации о том, что можно предпринять.\n\nЕсли заряд батареи будет на исходе, вы можете включить режим энергосбережения."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Ваши приложения расходуют заряд батареи нормально. При повышенном расходе вы получите рекомендации о том, что можно предпринять.\n\nЕсли заряд батареи будет на исходе, вы можете включить режим энергосбережения."</string>
@@ -3049,8 +3057,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"при <xliff:g id="PERCENT">%1$s</xliff:g> заряда"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Уровень заряда батареи"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Показывать уровень заряда батареи в строке состояния"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Уровень заряда батареи с момента последней полной зарядки"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Уровень заряда батареи за последние 24 часа"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Использование приложений с момента последней полной зарядки"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Расход приложениями за 24 часа"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Использование системы с момента последней полной зарядки"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Расход системой за 24 часа"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Использование системой в период <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Использование приложениями в период <xliff:g id="SLOT">%s</xliff:g>"</string>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index e7b5021..fe486b4 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"බ්ලූටූත් සැකසීම් වෙනස් කිරීමට ඔබට අවසර නැත."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"නව උපාංගය යුගල කරන්න"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"බ්ලූටූත්"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"දකුණු කණ යුගල කරන්න"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"වම් කණ යුගල කරන්න"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"ඔබගේ අනෙක් කණ යුගල කරන්න"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"ඔබගේ වම් ශ්රවණාධාරකය සම්බන්ධ කර ඇත.\n\nදකුණු එක යුගල කිරීමට, එය ක්රියාත්මක කර යුගල කිරීමට සූදානම් බව සහතික කර ගන්න."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"ඔබගේ දකුණු ශ්රවණාධාරකය සම්බන්ධ කර ඇත.\n\nවම් එක යුගල කිරීමට, එය ක්රියාත්මක කර යුගල කිරීමට සූදානම් බව සහතික කර ගන්න."</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"සමහර විශේෂාංග සීමිත විය හැකිය"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"වඩා වැඩි බැටරි භාවිතය"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"ඉහළම භාවිතය සහිත යෙදුම් බලන්න"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"ආරෝපණය කිරීම තාවකාලිකව සීමා කර ඇත"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"ඔබගේ බැටය ආරක්ෂා කර ගැනීමට. තව දැන ගන්න."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"ආරෝපණය යළි ආරම්භ කරන්න"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"ඉහළ උෂ්ණත්ව සහ දිගු ආරෝපණ කාල සීමා වැනි, යම් තත්ත්වවලදී, බැටරි සෞඛ්යය රැක ගැනීමට උදව් වීමට අරෝපණය <xliff:g id="PERCENT">%1$s</xliff:g>ට සීමා විය හැකිය.\n\nඑම තත්ත්ව අවසන් වූ විට, ඔබගේ දුරකථනය සාමාන්ය ලෙස ආරෝපණය වනු ඇත."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"ඉහළ උෂ්ණත්ව සහ දිගු ආරෝපණ කාල සීමා වැනි, යම් තත්ත්වවලදී, බැටරි සෞඛ්යය රැක ගැනීමට උදව් වීමට අරෝපණය <xliff:g id="PERCENT">%1$s</xliff:g>ට සීමා විය හැකිය.\n\nඑම තත්ත්ව අවසන් වූ විට, ඔබගේ ටැබ්ලටය සාමාන්ය ලෙස ආරෝපණය වනු ඇත."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"මෙම යෙදුමට පසුබිමින් බැටරිය භාවිත කිරීමට හැකි වනු ඇත. ඔබේ බැටරිය බලාපොරොත්තු වනවාට වඩා ඉක්මනින් අවසන් විය හැකිය."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"ඉවත් කරන්න"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"අවලංගු කරන්න"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"ඔබගේ යෙදුම් බැටරිය සාමාන්ය ප්රමාණයක් භාවිතා කරයි. යෙදුම් බැටරිය ඉතා වැඩියෙන් භාවිතා කරන්නේ නම්, ඔබේ දුරකථනය ඔබට ගත හැකි පියවර යෝජනා කරනු ඇත.\n\nඔබට බැටරිය අඩු වන සෑම විටම බැටරි සුරැකුම ක්රියාත්මක කළ හැකිය."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"ඔබගේ යෙදුම් බැටරිය සාමාන්ය ප්රමාණයක් භාවිතා කරයි. යෙදුම් බැටරිය ඉතා වැඩියෙන් භාවිතා කරන්නේ නම්, ඔබේ ටැබ්ලට් උපාංගය ඔබට ගත හැකි පියවර යෝජනා කරනු ඇත.\n\nඔබට බැටරිය අඩු වන සෑම විටම බැටරි සුරැකුම ක්රියාත්මක කළ හැකිය."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"ඔබගේ යෙදුම් බැටරිය සාමාන්ය ප්රමාණයක් භාවිතා කරයි. යෙදුම් බැටරිය ඉතා වැඩියෙන් භාවිතා කරන්නේ නම්, ඔබේ උපාංගය ඔබට ගත හැකි පියවර යෝජනා කරනු ඇත.\n\nඔබට බැටරිය අඩු වන සෑම විටම බැටරි සුරැකුම ක්රියාත්මක කළ හැකිය."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"බැටරිය <xliff:g id="PERCENT">%1$s</xliff:g> හි"</string>
<string name="battery_percentage" msgid="1779934245963043490">"බැටරි ප්රතිශතය"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"තත්ත්ව තීරුව තුළ බැටරි ප්රතිශතය පෙන්වන්න"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"අවසන් පූර්ණ ආරෝපණයේ සිට බැටරි මට්ටම"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"පසුගිය පැය 24 සඳහා බැටරි මට්ටම"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"අවසන් පූර්ණ ආරෝපණයේ සිට යෙදුම් භාවිතය"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"පසුගිය පැය 24 සඳහා යෙදුම් භාවිතය"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"අවසන් පූර්ණ ආරෝපණයේ සිට පද්ධති භාවිතය"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"පසුගිය පැය 24 සඳහා පද්ධති භාවිතය"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"<xliff:g id="SLOT">%s</xliff:g> සඳහා පද්ධති භාවිතය"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"<xliff:g id="SLOT">%s</xliff:g> සඳහා යෙදුම් භාවිතය"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 2f94c71..29459cc 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -87,6 +87,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Nemáte povolenie na zmenu nastavení Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Spárovať nové zariadenie"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Spárovať pravé ucho"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Spárovať ľavé ucho"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Spárujte si druhé ucho"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Je pripojené vaše ľavé načúvadlo.\n\nAk chcete spárovať pravé, skontrolujte, či je zapnuté a pripravené na párovanie."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Je pripojené vaše pravé načúvadlo.\n\nAk chcete spárovať ľavé, skontrolujte, či je zapnuté a pripravené na párovanie."</string>
@@ -624,9 +626,9 @@
<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>
<string name="fingerprint_last_delete_title" msgid="4081475675646514726">"Odstrániť všetky odtlačky prstov?"</string>
- <string name="fingerprint_delete_title" msgid="1469865327307917858">"Odstránenie odtlačku prsta <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>"</string>
+ <string name="fingerprint_delete_title" msgid="1469865327307917858">"Chcete odstrániť „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“?"</string>
<string name="fingerprint_delete_message" msgid="1454995433333496541">"Chcete tento odtlačok prsta odstrániť?"</string>
- <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"Týmto odstránite obrázky a model odtlačku prsta spojené s identifikátorom <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>, ktoré sú uložené vo vašom zariadení"</string>
+ <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"Týmto odstránite snímky a model odtlačku prsta „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“, ktoré sú uložené vo vašom zariadení."</string>
<string name="fingerprint_last_delete_message" msgid="7860374760549404410">"Nebudete môcť odomykať telefón ani overovať svoju totožnosť v aplikáciách odtlačkom prsta."</string>
<string name="fingerprint_last_delete_message_profile_challenge" msgid="4104208067277655068">"Nebudete môcť odomykať pracovný profil, schvaľovať nákupy ani sa prihlasovať do pracovných aplikácií odtlačkom prsta."</string>
<string name="fingerprint_last_delete_confirm" msgid="3294910995598819259">"Áno, odstrániť"</string>
@@ -1366,7 +1368,7 @@
<string name="auto_rotate_option_on" msgid="5776678230808498171">"Zapnuté"</string>
<string name="auto_rotate_option_face_based" msgid="3438645484087953174">"Zapnuté – podľa tváre"</string>
<string name="auto_rotate_switch_face_based" msgid="9116123744601564320">"Rozpoznávanie tváre"</string>
- <string name="auto_rotate_screen_summary" msgid="4547268203621754096">"Automaticky upravujte orientáciu obrazovky pri otáčaní telefónu medzi orientáciou na výšku a na šírku"</string>
+ <string name="auto_rotate_screen_summary" msgid="4547268203621754096">"Automaticky meniť orientáciu obrazovky, keď telefón otočíte na výšku alebo na šírku"</string>
<string name="auto_rotate_link_a11y" msgid="5146188567212233286">"Ďalšie informácie o automatickom otáčaní"</string>
<string name="auto_rotate_summary_a11y" msgid="1505094100328581685">"Keď telefón otočíte z režimu na výšku do režimu na šírku"</string>
<string name="screen_resolution_title" msgid="2690518693139811486">"Rozlíšenie obrazovky"</string>
@@ -2512,7 +2514,7 @@
<string name="accessibility_autoclick_about_title" msgid="152923024405552594">"Automat. kliknutie (čas zotrvania)"</string>
<string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"Ďalšie informácie o automatickom kliknutí (čase zotrvania)"</string>
<string name="accessibility_autoclick_intro_text" msgid="8959680635470639347">"Môžete nastaviť pripojenú myš, aby klikala automaticky, keď sa kurzor nebude určitý čas hýbať"</string>
- <string name="accessibility_autoclick_description" msgid="6695732131412361101">"Automatické kliknutie môže byť užitočné, keď je náročné klikať na myš"</string>
+ <string name="accessibility_autoclick_description" msgid="6695732131412361101">"Automatické kliknutie môže byť užitočné, keď je náročné klikať na myš."</string>
<string name="accessibility_autoclick_default_title" msgid="2024730028293793490">"Automatické kliknutie je vypnuté"</string>
<string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Krátke"</string>
<string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 sekundy"</string>
@@ -2565,7 +2567,7 @@
<string name="captioning_caption_appearance_summary" msgid="7340741178479381312">"Veľkosť textu: <xliff:g id="ACCESSIBILITY_FONT_SIZE">%1$s</xliff:g>"</string>
<string name="captioning_more_options_title" msgid="3484496882942539652">"Ďalšie možnosti"</string>
<string name="accessibility_caption_preference_intro" msgid="6662649135457507767">"Prispôsobte si veľkosť a štýl titulkov, aby sa ľahšie čítali."</string>
- <string name="accessibility_caption_preference_summary" msgid="632875702223135121">"Tieto predvoľby titulkov nie sú podporované všetkými prehrávačmi"</string>
+ <string name="accessibility_caption_preference_summary" msgid="632875702223135121">"Tieto predvoľby titulkov nie sú podporované všetkými prehrávačmi."</string>
<string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Tlačidlo dostupnosti"</string>
<string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"potiahnutie dvoma prstami z dolnej časti nahor"</string>
<string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Podržanie tlačidiel hlasitosti"</string>
@@ -2823,8 +2825,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Niektoré funkcie môžu byť obmedzené"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Vysoká spotreba batérie"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Prezrite si aplikácie s najvyššou spotrebou"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Nabíjanie je dočasne obmedzené"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Na šetrenie batérie. Ďalšie informácie"</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Pokračovať v nabíjaní"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Za určitých podmienok, ako sú vysoké teploty a dlhé časy nabíjania, môže byť nabíjanie v rámci šetrenia batérie obmedzené na <xliff:g id="PERCENT">%1$s</xliff:g>.\n\nKeď tieto podmienky pominú, telefón sa bude automaticky nabíjať ako zvyčajne."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Za určitých podmienok, ako sú vysoké teploty a dlhé časy nabíjania, môže byť nabíjanie v rámci šetrenia batérie obmedzené na <xliff:g id="PERCENT">%1$s</xliff:g>.\n\nKeď tieto podmienky pominú, tablet sa bude automaticky nabíjať ako zvyčajne."</string>
@@ -2870,6 +2876,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Aplikácia bude môcť využívať batériu na pozadí. Batéria sa môže minúť skôr, ako sa očakávalo."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Odstrániť"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Zrušiť"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Vaše aplikácie majú normálnu spotrebu batérie. Ak ju využívajú nadmerne, telefón vám navrhne možné opatrenia.\n\nAk vám dochádza batéria, môžete ešte vždy zapnúť šetrič batérie."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Vaše aplikácie majú normálnu spotrebu batérie. Ak ju využívajú nadmerne, tablet vám navrhne možné opatrenia.\n\nAk vám dochádza batéria, môžete ešte vždy zapnúť šetrič batérie."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Vaše aplikácie majú normálnu spotrebu batérie. Ak ju využívajú nadmerne, zariadenie vám navrhne možné opatrenia.\n\nAk vám dochádza batéria, môžete ešte vždy zapnúť šetrič batérie."</string>
@@ -3051,8 +3059,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"pri <xliff:g id="PERCENT">%1$s</xliff:g> batérie"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Percentá batérie"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Zobrazovať percentá v stavovom riadku"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Úroveň batérie od posledného úplného dobitia"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Úroveň batérie za posledných 24 hodín"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Využitie aplikácií od posledného úplného dobitia"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Spotreba batérie aplikáciami za posledných 24 h"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Využitie systému od posledného úplného dobitia"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Spotreba batérie systémom za posledných 24 h"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Spotreba batérie systémom: <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Spotreba batérie aplikáciou: <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -3814,7 +3825,7 @@
<string name="notification_ringtone_title" msgid="6924501621312095512">"Predvolený zvuk upozornenia"</string>
<string name="notification_unknown_sound_title" msgid="1319708450698738980">"Zvuk z aplikácie"</string>
<string name="notification_sound_default" msgid="8630353701915294299">"Predvolený zvuk upozornenia"</string>
- <string name="alarm_ringtone_title" msgid="6680761007731764726">"Predvolený zvuk budíkov"</string>
+ <string name="alarm_ringtone_title" msgid="6680761007731764726">"Predvolený zvuk budíka"</string>
<string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibrovať pri hovoroch"</string>
<string name="keywords_vibrate_for_calls" msgid="1019870409730074899">"Vibrácie"</string>
<string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Vypnúť vibrovanie"</string>
@@ -5106,7 +5117,7 @@
<string name="edge_to_edge_navigation_title" msgid="714427081306043819">"Navigácia gestami"</string>
<string name="edge_to_edge_navigation_summary" msgid="8497033810637690561">"Na plochu prejdete tak, že potiahnete nahor z dolnej časti obrazovky. Aplikácie prepnete tak, že potiahnete zdola nahor, podržíte a pustíte. Späť sa vrátite tak, že potiahnete od ľavého alebo pravého okraja obrazovky."</string>
<string name="legacy_navigation_title" msgid="7877402855994423727">"Navigácia troma tlačidlami"</string>
- <string name="legacy_navigation_summary" msgid="5905301067778326433">"Na návrat späť, zobrazenie plochy a prepínanie aplikácií slúžia tlačidlá dole na obrazovke."</string>
+ <string name="legacy_navigation_summary" msgid="5905301067778326433">"Na návrat späť, zobrazenie plochy a prepínanie aplikácií slúžia tlačidlá v dolnej časti obrazovky."</string>
<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="gesture_not_supported_dialog_message" msgid="5316512246119347889">"Predvolená vstupná aplikácia <xliff:g id="DEFAULT_HOME_APP">%s</xliff:g> túto funkciu nepodporuje"</string>
<string name="gesture_not_supported_positive_button" msgid="7909969459977021893">"Prepnúť predvolenú vstupnú aplikáciu"</string>
@@ -5733,7 +5744,7 @@
<string name="cards_passes_sentence" msgid="1866311782387946944">"Karty a lístky"</string>
<string name="cards_passes_lower" msgid="2429722007109957877">"karty a lístky"</string>
<string name="power_menu_setting_name" msgid="2394440932633137229">"Pridržanie vypínača"</string>
- <string name="power_menu_long_press_category_title" msgid="1051146091093775002">"Prístup získate pridržaním vypínača"</string>
+ <string name="power_menu_long_press_category_title" msgid="1051146091093775002">"Prístup pridržaním vypínača"</string>
<string name="power_menu_long_press_for_power_menu_title" msgid="477584639843663599">"Ponuka vypínača"</string>
<string name="power_menu_long_press_for_assistant_title" msgid="6557738348262616455">"Digitálny asistent"</string>
<string name="power_menu_summary_long_press_for_assistant" msgid="32706459458422952">"Prístup k digitálnemu asistentovi"</string>
@@ -5852,7 +5863,7 @@
<string name="category_name_display_controls" msgid="7046581691184725216">"Ďalšie ovládanie obrazovky"</string>
<string name="category_name_others" msgid="2366006298768550310">"Iné"</string>
<string name="category_name_general" msgid="7737273712848115886">"Všeobecné"</string>
- <string name="dark_theme_main_switch_title" msgid="4045147031947562280">"Použiť tmavý motív"</string>
+ <string name="dark_theme_main_switch_title" msgid="4045147031947562280">"Používať tmavý motív"</string>
<string name="bluetooth_main_switch_title" msgid="8409835540311309632">"Používať Bluetooth"</string>
<string name="prevent_ringing_main_switch_title" msgid="4726252811262086643">"Vypnúť zvonenie"</string>
<string name="use_wifi_hotsopt_main_switch_title" msgid="3909731167290690539">"Používať hotspot Wi‑Fi"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 1ac239e..745f5a1 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -87,6 +87,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Nimate dovoljenja za spreminjanje nastavitev za Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Seznanitev nove naprave"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Seznani desno uho"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Seznani levo uho"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Seznanite drugo uho"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Povezava z levim slušnim aparatom je vzpostavljena.\n\nČe želite seznaniti desnega, se prepričajte, da je vklopljen in pripravljen za seznanjanje."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Povezava z desnim slušnim aparatom je vzpostavljena.\n\nČe želite seznaniti levega, se prepričajte, da je vklopljen in pripravljen za seznanjanje."</string>
@@ -626,7 +628,7 @@
<string name="fingerprint_last_delete_title" msgid="4081475675646514726">"Želite odstraniti vse prstne odtise?"</string>
<string name="fingerprint_delete_title" msgid="1469865327307917858">"Odstrani »<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>«"</string>
<string name="fingerprint_delete_message" msgid="1454995433333496541">"Ali želite izbrisati ta prstni odtis?"</string>
- <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"S tem boste izbrisali v napravi shranjene slike in model prstnega odtisa, povezane z odtisom »<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>«."</string>
+ <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"S tem boste izbrisali v napravi shranjene slike in model prstnega odtisa, povezan z odtisom »<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>«."</string>
<string name="fingerprint_last_delete_message" msgid="7860374760549404410">"Za odklepanje telefona ali potrditev identitete v aplikacijah ne boste mogli uporabljati prstnega odtisa."</string>
<string name="fingerprint_last_delete_message_profile_challenge" msgid="4104208067277655068">"Za odklepanje delovnega profila, odobritev nakupov ali prijavo v delovne aplikacije ne boste mogli uporabljati prstnega odtisa."</string>
<string name="fingerprint_last_delete_confirm" msgid="3294910995598819259">"Da, odstrani"</string>
@@ -2538,7 +2540,7 @@
<string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibriranje pri zvonjenju"</string>
<string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibriranje pri obvestilih"</string>
<string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Odziv na dotik"</string>
- <string name="accessibility_service_primary_switch_title" msgid="437610853412159406">"Uporabi storitev <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+ <string name="accessibility_service_primary_switch_title" msgid="437610853412159406">"Uporabi funkcijo <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
<string name="accessibility_service_primary_open_title" msgid="8655108684769091154">"Odpiranje aplikacije <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
<string name="accessibility_service_auto_added_qs_tooltip_content" msgid="2941824314912928072">"Funkcija <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> je dodana v hitre nastavitve. Kadar koli jo lahko vklopite ali izklopite tako, da povlečete navzdol."</string>
<string name="accessibility_service_qs_tooltip_content" msgid="6002493441414967868">"Funkcijo <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> lahko v hitre nastavitve dodate tudi z vrha zaslona."</string>
@@ -2773,7 +2775,7 @@
<string name="manager_battery_usage_unrestricted_summary" msgid="6819279865465667692">"Neomejena poraba energije baterije med izvajanjem v ozadju. Poraba energije baterije bo morda višja."</string>
<string name="manager_battery_usage_optimized_summary" msgid="1332545476428039900">"Optimizirano na podlagi vaše porabe. Priporočeno za večino aplikacij."</string>
<string name="manager_battery_usage_restricted_summary" msgid="8324695640704416905">"Omejena poraba energije baterije med izvajanjem v ozadju. Aplikacija morda ne bo delovala po pričakovanjih. Obvestila bodo morda zakasnjena."</string>
- <string name="manager_battery_usage_footer" msgid="2635906573922553766">"Če spremenite način, na katerega aplikacija porablja energijo baterije, lahko vplivate na zmogljivost baterije."</string>
+ <string name="manager_battery_usage_footer" msgid="2635906573922553766">"Če spremenite način, na katerega aplikacija porablja energijo baterije, lahko vplivate na delovanje aplikacije."</string>
<string name="manager_battery_usage_footer_limited" msgid="5180776148877306780">"Ta aplikacija potrebuje <xliff:g id="STATE">%1$s</xliff:g> porabo energije baterije."</string>
<string name="manager_battery_usage_unrestricted_only" msgid="3646162131339418216">"neomejeno"</string>
<string name="manager_battery_usage_optimized_only" msgid="7121785281913056432">"optimizirano"</string>
@@ -2823,8 +2825,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Nekatere funkcije bodo morda omejene"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Višja poraba energije baterije"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Ogled aplikacij z najvišjo porabo energije"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Začasno omejeno polnjenje"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Za ohranjanje baterije. Več o tem"</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Nadaljuj polnjenje"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"V nekaterih pogojih, na primer pri visokih temperaturah ali daljšem polnjenju, bo polnjenje morda omejeno na <xliff:g id="PERCENT">%1$s</xliff:g> za ohranjanje ustreznega stanja baterije.\n\nKo teh pogojev ni več, polnjenje baterije telefona samodejno zopet poteka kot običajno."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"V nekaterih pogojih, na primer pri visokih temperaturah ali daljšem polnjenju, bo polnjenje morda omejeno na <xliff:g id="PERCENT">%1$s</xliff:g> za ohranjanje ustreznega stanja baterije.\n\nKo teh pogojev ni več, polnjenje baterije tabličnega računalnika samodejno zopet poteka kot običajno."</string>
@@ -2870,6 +2876,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Ta aplikacija bo lahko porabljala energijo baterije za izvajanje v ozadju. Baterija se bo morda izpraznila prej, kot bi pričakovali."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Odstrani"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Prekliči"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Aplikacije porabljajo običajno količino energije baterije. V primeru prekomerne porabe energije vam bo telefon predlagal ustrezne ukrepe.\n\nČe bateriji zmanjkuje energije, lahko vedno vklopite varčevanje z energijo baterije."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Aplikacije porabljajo običajno količino energije baterije. V primeru prekomerne porabe energije vam bo tablični računalnik predlagal ustrezne ukrepe.\n\nČe bateriji zmanjkuje energije, lahko vedno vklopite varčevanje z energijo baterije."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Aplikacije porabljajo običajno količino energije baterije. V primeru prekomerne porabe energije vam bo naprava predlagala ustrezne ukrepe.\n\nČe bateriji zmanjkuje energije, lahko vedno vklopite varčevanje z energijo baterije."</string>
@@ -3051,8 +3059,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"pri <xliff:g id="PERCENT">%1$s</xliff:g> napolnjenosti baterije"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Odstotek napolnjenosti baterije"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Pokaži odstotek napolnjenosti baterije v vrstici stanja."</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Raven napolnjenosti baterije od zadnje polne napolnjenosti baterije"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Raven napolnjenosti baterije v zadnjih 24 urah"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Poraba aplikacij od zadnje polne napolnjenosti baterije"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Poraba aplikacij v zadnjih 24 urah"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Poraba sistema od zadnje polne napolnjenosti baterije"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Poraba sistema v zadnjih 24 urah"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Poraba sistema za <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Poraba aplikacij za <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -3996,7 +4007,7 @@
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Oblački"</string>
<string name="bubbles_conversation_app_link" msgid="5468779786387915337">"Vse nastavitve oblačkov"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Prikaži ta pogovor v oblačku"</string>
- <string name="bubbles_conversation_toggle_summary" msgid="720229032254323578">"Prikaži plavajočo ikono čez aplikacije."</string>
+ <string name="bubbles_conversation_toggle_summary" msgid="720229032254323578">"Prikaži plavajočo ikono čez aplikacije"</string>
<string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> lahko nekatera obvestila prikaže kot oblačke"</string>
<string name="bubbles_feature_disabled_dialog_title" msgid="1794193899792284007">"Želite vklopiti oblačke za napravo?"</string>
<string name="bubbles_feature_disabled_dialog_text" msgid="5275666953364031055">"Če vklopite oblačke za to aplikacijo, bodo vklopljeni tudi za napravo.\n\nTo vpliva na druge aplikacije ali pogovore, v katerih je prikaz v oblačkih že omogočen."</string>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index 624cf81..82f9e55 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Nuk ke leje për të ndryshuar cilësimet e \"Bluetooth-it\"."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Çifto pajisjen e re"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Çifto anën e djathtë"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Çifto anën e majtë"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Çifto anën tjetër"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Aparati i dëgjimit në anën e majtë është lidhur.\n\nPër të çiftuar atë në anën e djathtë, sigurohu që ai të jetë i ndezur dhe gati për t\'u çiftuar."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Aparati i dëgjimit në anën e djathtë është lidhur.\n\nPër të çiftuar atë në anën e majtë, sigurohu që ai të jetë i ndezur dhe gati për t\'u çiftuar."</string>
@@ -536,7 +538,7 @@
<string name="security_settings_fingerprint_enroll_finish_title" msgid="3606325177406951457">"Gjurma e gishtit u shtua"</string>
<string name="security_settings_fingerprint_enroll_finish_v2_message" product="tablet" msgid="5918110416185820480">"\"Shkyçja me gjurmën e gishtit\" përmirësohet sa më shumë që e përdor atë për të shkyçur tabletin tënd ose për të verifikuar që je ti në aplikacione"</string>
<string name="security_settings_fingerprint_enroll_finish_v2_message" product="device" msgid="2989276789236025675">"\"Shkyçja me gjurmën e gishtit\" përmirësohet sa më shumë që e përdor atë për të shkyçur pajisjen tënde ose për të verifikuar që je ti në aplikacione"</string>
- <string name="security_settings_fingerprint_enroll_finish_v2_message" product="default" msgid="6506437402392739879">"\"Shkyçja me gjurmën e gishtit\" përmirësohet sa më shumë që e përdorur atë për të shkyçur telefonin tënd ose për të verifikuar që je ti në aplikacione"</string>
+ <string name="security_settings_fingerprint_enroll_finish_v2_message" product="default" msgid="6506437402392739879">"\"Shkyçja me gjurmën e gishtit\" përmirësohet sa më shumë që e përdor atë për të shkyçur telefonin tënd ose për të verifikuar që je ti në aplikacione"</string>
<string name="security_settings_fingerprint_enroll_enrolling_skip" msgid="3004786457919122854">"Bëje më vonë"</string>
<string name="security_settings_udfps_tip_fingerprint_help" msgid="7580784640741217494">"Ngrije dhe më pas prek përsëri"</string>
<string name="security_settings_udfps_side_fingerprint_help" msgid="2567232481013195191">"Vendos anën e gjurmës së gishtit në sensor dhe mbaje, më pas kalo në anën tjetër"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Disa veçori mund të jenë të kufizuara"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Përdorim më i lartë i baterisë"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Shiko aplikacionet me përdorimin më të lartë"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Karikimi përkohësisht i kufizuar"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Për të kursyer baterinë. Mëso më shumë."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Vazhdo karikimin"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Karikimi mund të kufizohet në <xliff:g id="PERCENT">%1$s</xliff:g> për të ndihmuar në ruajtjen e gjendjes së baterisë në kushte të caktuara, si p.sh. në temperatura të larta dhe periudha të gjata karikimi.\n\nKur këto kushte përfundojnë, telefoni yt do të karikohet automatikisht si zakonisht."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Karikimi mund të kufizohet në <xliff:g id="PERCENT">%1$s</xliff:g> për të ndihmuar në ruajtjen e gjendjes së baterisë në kushte të caktuara, si p.sh. në temperatura të larta dhe periudha të gjata karikimi.\n\nKur këto kushte përfundojnë, tableta jote do të karikohet automatikisht si zakonisht."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Ky aplikacion do të mund ta përdorë baterinë në sfond. Bateria mund të mbarojë më shpejt nga sa pritet."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Hiq"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Anulo"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Aplikacionet e tua po përdorin një sasi normale të baterisë. Nëse aplikacionet përdorin një sasi të madhe të baterisë, telefoni yt do të japë sugjerime për veprimet që mund të kryesh.\n\nMund të aktivizosh gjithmonë \"Kursyesin e baterisë\" nëse bateria është në nivel të ulët."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Aplikacionet e tua po përdorin një sasi normale të baterisë. Nëse aplikacionet përdorin një sasi të madhe të baterisë, tableti yt do të japë sugjerime për veprimet që mund të kryesh.\n\nMund të aktivizosh gjithmonë \"Kursyesin e baterisë\" nëse bateria është në nivel të ulët."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Aplikacionet e tua po përdorin një sasi normale të baterisë. Nëse aplikacionet përdorin një sasi të madhe të baterisë, pajisja jote do të japë sugjerime për veprimet që mund të kryesh.\n\nMund të aktivizosh gjithmonë \"Kursyesin e baterisë\" nëse bateria është në nivel të ulët."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"me <xliff:g id="PERCENT">%1$s</xliff:g> bateri"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Përqindja e baterisë"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Shfaq përqindjen e baterisë në shiritin e statusit"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Niveli i baterisë që nga karikimi i fundit i plotë"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Niveli i baterisë për 24 orët e fundit"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Përdorimi i aplikacioneve që nga karikimi i fundit i plotë"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Përdorimi i aplikacionit për 24 orët e fundit"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Përdorimi i sistemit që nga karikimi i fundit i plotë"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Përdorimi i sistemit për 24 orët e fundit"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Përdorimi i sistemit për: <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Përdorimi i aplikacionit për: <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -3025,7 +3036,7 @@
<string name="voice_input_settings_title" msgid="3708147270767296322">"Hyrja zanore"</string>
<string name="voice_service_preference_section_title" msgid="4807795449147187497">"Shërbime të hyrjes zanore"</string>
<string name="voice_interactor_preference_summary" msgid="3942881638813452880">"Ndërveprimi dhe fjalëkyçi i aktivizimit (hotword), i plotë"</string>
- <string name="voice_recognizer_preference_summary" msgid="9195427725367463336">"Shërbim i thjeshtë \"ligjërim-në-tekst\""</string>
+ <string name="voice_recognizer_preference_summary" msgid="9195427725367463336">"Shërbim i thjeshtë \"Ligjërim në tekst\""</string>
<string name="voice_interaction_security_warning" msgid="7962884055885987671">"Ky shërbim i hyrjes së zërit do të kryejë gjithmonë monitorim të zërit si dhe do të kontrollojë në emrin tënd, të gjitha aplikacionet që mundësohen me zë. Ai ofrohet nga aplikacioni <xliff:g id="VOICE_INPUT_SERVICE_APP_NAME">%s</xliff:g>. Të aktivizohet përdorimi e këtij shërbimi?"</string>
<string name="on_device_recognition_settings" msgid="6503160369314598069">"Cilësimet e njohjes në pajisje"</string>
<string name="on_device_recognition_settings_title" msgid="7137599722039096545">"Njohja në pajisje"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index e5e9e12..33ece97 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -86,6 +86,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Немате дозволу за промену подешавања Bluetooth-а."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Упари нови уређај"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Упари десно уво"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Упари лево уво"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Упарите друго уво"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Леви слушни апарат је повезан.\n\nДа бисте упарили десни, уверите се да је укључен и спреман за упаривање."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Десни слушни апарат је повезан.\n\nДа бисте упарили леви, уверите се да је укључен и спреман за упаривање."</string>
@@ -621,7 +623,7 @@
<string name="fingerprint_delete_title" msgid="1469865327307917858">"Уклоните „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“"</string>
<string name="fingerprint_delete_message" msgid="1454995433333496541">"Желите ли да избришете овај отисак прста?"</string>
<string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"Овим се бришу слике и модел отиска прста у вези са отиском <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> који су сачувани на уређају"</string>
- <string name="fingerprint_last_delete_message" msgid="7860374760549404410">"Нећете моћи да користите отисак прста да бисте откључавали телефон или верификовали идентитет у апликацијама."</string>
+ <string name="fingerprint_last_delete_message" msgid="7860374760549404410">"Нећете моћи да користите отисак прста да бисте откључавали телефон ни верификовали идентитет у апликацијама."</string>
<string name="fingerprint_last_delete_message_profile_challenge" msgid="4104208067277655068">"Нећете моћи да користите отисак прста за откључавање пословног профила, овлашћивање куповина или пријављивање у пословне апликације."</string>
<string name="fingerprint_last_delete_confirm" msgid="3294910995598819259">"Да, уклони"</string>
<string name="encryption_settings_title" msgid="2848716008695618360">"Шифровање"</string>
@@ -1441,7 +1443,7 @@
<string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Распоред"</string>
<string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Ништа"</string>
<string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Укључује се од сумрака до свитања"</string>
- <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Укључује се у жељено време"</string>
+ <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Укључује се у прилагођено време"</string>
<string name="dark_ui_auto_mode_custom_bedtime" msgid="8465023741946439266">"Укључује се када је време за спавање"</string>
<string name="dark_ui_status_title" msgid="3505119141437774329">"Статус"</string>
<string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Никада се не укључује аутоматски"</string>
@@ -2790,8 +2792,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Неке функције могу да буду ограничене"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Највећа потрошња батерије"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Погледајте апликације са највећом потрошњом батерије"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Пуњење је привремено ограничено"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Да би се сачувала батерија. Сазнајте више."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Настави са пуњењем"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"У одређеним условима, на пример, високе температуре и дуги периоди пуњења, пуњење може да буде ограничено на <xliff:g id="PERCENT">%1$s</xliff:g> ради бољег стања батерије.\n\nКада ти услови престану, телефон ће аутоматски почети нормално да се пуни."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"У одређеним условима, на пример, високе температуре и дуги периоди пуњења, пуњење може да буде ограничено на <xliff:g id="PERCENT">%1$s</xliff:g> ради бољег стања батерије.\n\nКада ти услови престану, таблет ће аутоматски почети нормално да се пуни."</string>
@@ -2832,6 +2838,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Ова апликација ће моћи да користи батерију у позадини. Батерија може да се испразни раније него што је очекивано."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Уклони"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Откажи"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Апликације користе уобичајену количину батерије. Ако апликације користе превише батерије, телефон ће вам предложити радње које можете да предузмете.\n\nУвек можете да укључите Уштеду батерије ако вам је батерија при крају."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Апликације користе уобичајену количину батерије. Ако апликације користе превише батерије, таблет ће вам предложити радње које можете да предузмете.\n\nУвек можете да укључите Уштеду батерије ако вам је батерија при крају."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Апликације користе уобичајену количину батерије. Ако апликације користе превише батерије, уређај ће вам предложити радње које можете да предузмете.\n\nУвек можете да укључите Уштеду батерије ако вам је батерија при крају."</string>
@@ -3011,8 +3019,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"на <xliff:g id="PERCENT">%1$s</xliff:g> батерије"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Проценат напуњености батерије"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Приказује проценат напуњености батерије на статусној траци"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Ниво напуњености батерије од последњег потпуног пуњења"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Ниво напуњености батерије у последња 24 сата"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Коришћење апликација од последњег потпуног пуњења"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Потрошња од стране апликација у последња 24 сата"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Коришћење система од последњег потпуног пуњења"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Потрошња од стране система у последња 24 сата"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Потрошња од стране система за: <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Потрошња од стране апликација за: <xliff:g id="SLOT">%s</xliff:g>"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 61b44c3..84e7dec 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Du saknar behörighet att ändra Bluetooth-inställningarna."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Parkoppla en ny enhet"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Parkoppla höger"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Parkoppla vänster"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Parkoppla andra örat"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Vänster hörapparat har anslutits.\n\nOm du vill parkoppla den högra kontrollerar du att den är på och i parkopplingsläge."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Höger hörapparat har anslutits.\n\nOm du vill parkoppla den vänstra kontrollerar du att den är på och i parkopplingsläge."</string>
@@ -2561,7 +2563,7 @@
<string name="reduce_bright_colors_preference_summary" product="default" msgid="7878756844769221647">"Gör skärmen mer dimmad än telefonens lägsta ljusstyrka"</string>
<string name="reduce_bright_colors_preference_summary" product="tablet" msgid="8959794720356934888">"Gör skärmen mer dimmad än surfplattans lägsta ljusstyrka"</string>
<string name="reduce_bright_colors_preference_intro_text" msgid="3502290826747650566">"Dämpa skärmens ljusstyrka ytterligare så att det blir behagligare för ögonen att läsa"</string>
- <string name="reduce_bright_colors_preference_subtitle" product="default" msgid="8573408446901659333">"Extradimmat kan vara användbart när <ol> <li> telefonens lägsta ljusstyrka fortfarande är för ljus</li> <li> du använder telefonen i mörker, t.ex. på natten eller i ett mörkt rum innan du ska sova.</li> </ol>"</string>
+ <string name="reduce_bright_colors_preference_subtitle" product="default" msgid="8573408446901659333">"Extradimmat kan vara användbart när <ol> <li>&nbsp;telefonens lägsta ljusstyrka fortfarande är för ljus</li> <li>&nbsp;du använder telefonen i mörker, t.ex. på natten eller i ett mörkt rum innan du ska sova.</li> </ol>"</string>
<string name="reduce_bright_colors_preference_subtitle" product="tablet" msgid="5158211121482010799">"Extradimmat kan vara användbart när <ol> <li> surfplattans lägsta ljusstyrka fortfarande är för ljus</li> <li> du använder surfplattan i mörker, t.ex. på natten eller i ett mörkt rum innan du ska sova.</li> </ol>"</string>
<string name="reduce_bright_colors_intensity_preference_title" msgid="7455443033955118267">"Intensitet"</string>
<string name="reduce_bright_colors_intensity_start_label" msgid="930387498396426039">"Svagare"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Vissa funktioner kan begränsas"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Högre batteriförbrukning"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Se appar med högst batteriförbrukning"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Laddning har begränsats tillfälligt"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Detta bevarar batteriets livslängd. Läs mer."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Återuppta laddning"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Under vissa omständigheter, till exempel vid höga temperaturer och långa laddningsperioder, kan laddningen begränsas till <xliff:g id="PERCENT">%1$s</xliff:g> för att bevara batteriets livslängd.\n\nTelefonen återgår automatiskt till normal laddning när det är möjligt."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Under vissa omständigheter, till exempel vid höga temperaturer och långa laddningsperioder, kan laddningen begränsas till <xliff:g id="PERCENT">%1$s</xliff:g> för att bevara batteriets livslängd.\n\nSurfplattan återgår automatiskt till normal laddning när det är möjligt."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Den här appen kan dra batteri i bakgrunden. Batteriet kan ta slut snabbare än beräknat."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Ta bort"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Avbryt"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Batteriförbrukningen för apparna är normal. Om apparnas batteriförbrukning är för hög visas förslag på telefonen om åtgärder du kan vidta.\n\nOm batteriet börjar ta slut kan du aktivera batterisparläget."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Batteriförbrukningen för apparna är normal. Om apparnas batteriförbrukning är för hög visas förslag på surfplattan om åtgärder du kan vidta.\n\nOm batteriet börjar ta slut kan du aktivera batterisparläget."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Batteriförbrukningen för apparna är normal. Om apparnas batteriförbrukning är för hög visas förslag på enheten om åtgärder du kan vidta.\n\nOm batteriet börjar ta slut kan du aktivera batterisparläget."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"vid <xliff:g id="PERCENT">%1$s</xliff:g> batteri"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Batteriprocent"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Visa batteriprocent i statusfältet"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Batterinivå sedan batteriet senast var fulladdat"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Batterinivå för de senaste 24 timmarna"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Appanvändning sedan batteriet senast var fulladdat"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Appanvändning för de senaste 24 timmarna"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Systemanvändning sedan batteriet senast var fulladdat"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Systemanvändning för de senaste 24 timmarna"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Systemanvändning för <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Appanvändning för <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -4762,7 +4773,7 @@
<string name="cellular_data_usage" msgid="5874156338825285334">"Användning av mobildata"</string>
<string name="app_cellular_data_usage" msgid="7603292978956033926">"Appars dataanvändning"</string>
<string name="wifi_data_usage" msgid="6868503699134605707">"Dataanvändning via wifi"</string>
- <string name="non_carrier_data_usage" msgid="6494603202578414755">"Dataanvändning via nätverk som inte tillhör operatörer"</string>
+ <string name="non_carrier_data_usage" msgid="6494603202578414755">"Dataanvändning för andra nätverk"</string>
<string name="ethernet_data_usage" msgid="4552227880905679761">"Användning av ethernetdata"</string>
<string name="wifi" msgid="2932584495223243842">"Wifi"</string>
<string name="ethernet" msgid="4665162609974492983">"Ethernet"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 4605cfe..f8ee6bd 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Huna ruhusa ya kubadilisha mipangilio ya Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Oanisha kifaa kipya"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Oanisha kisaidizi cha kulia"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Oanisha kisaidizi cha kushoto"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Oanisha kisaidizi cha sikio lako lingine"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Kisaidizi chako cha kusikia cha kushoto kimeunganishwa.\n\nIli uoanishe cha kulia, hakikisha kimewashwa na kipo tayari kuoanishwa."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Kisaidizi chako cha kusikia cha kulia kimeunganishwa.\n\nIli uoanishe cha kushoto, hakikisha kimewashwa na kipo tayari kuoanishwa."</string>
@@ -2341,7 +2343,7 @@
<string name="accessibility_magnification_switch_shortcut_negative_button" msgid="7115794462123071594">"Tumia kipengele cha kugusa mara tatu"</string>
<string name="accessibility_magnification_triple_tap_warning_title" msgid="8484669851397296597">"Huenda hali hii ikapunguza kasi ya kibodi yako"</string>
<string name="accessibility_magnification_triple_tap_warning_message" msgid="2008671502848936410">"Unapotumia kipengele cha kugusa mara tatu ili kukuza sehemu ya skrini yako, huenda ukatambua hitilafu kwenye kibodi.\n\nIli uepuke hali hii, unaweza kubadilisha njia yako ya mkato ya ukuzaji kutoka kugusa mara tatu na utumie chaguo lingine.\n"<annotation id="link">"Badilisha mipangilio"</annotation></string>
- <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Endelea licha ya hayo"</string>
+ <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Endelea tu"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Ghairi"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Mipangilio ya ukuzaji"</string>
<string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Kuza kwa kugusa mara tatu"</string>
@@ -2358,7 +2360,7 @@
<string name="accessibility_text_reading_confirm_dialog_title" msgid="2865331351355690389">"Ungependa kubadilisha ukubwa wa skrini na maandishi?"</string>
<string name="accessibility_text_reading_confirm_dialog_message" product="default" msgid="517090197003540264">"Mapendeleo ya maandishi na ukubwa wa skrini yako yatarejeshwa kwenye mipangilio halisi ya simu"</string>
<string name="accessibility_text_reading_confirm_dialog_message" product="tablet" msgid="1291629915534156671">"Mapendeleo yako ya maandishi na ukubwa wa skrini yatarejeshwa katika mipangilio halisi ya kompyuta kibao"</string>
- <string name="accessibility_text_reading_confirm_dialog_reset_button" msgid="8215800137850243736">"Badilisha"</string>
+ <string name="accessibility_text_reading_confirm_dialog_reset_button" msgid="8215800137850243736">"Weka upya"</string>
<string name="accessibility_text_reading_conversation_message_1" msgid="7883952203831957831">"Una mipango yoyote ya wikendi?"</string>
<string name="accessibility_text_reading_conversation_message_2" msgid="8112160435318635856">"Ninaelekea ufukweni. Ungependa kuja?"</string>
<string name="accessibility_screen_option" msgid="8465307075278878145">"Chaguo"</string>
@@ -2458,9 +2460,9 @@
<string name="accessibility_display_inversion_shortcut_title" msgid="6889624526691513462">"Njia ya mkato ya ugeuzaji rangi"</string>
<string name="accessibility_display_inversion_preference_intro_text" msgid="1159663288481145318">"Ugeuzaji rangi hubadilisha skrini zenye mwangaza kuwa nyeusi. Pia hubadilisha skrini nyeusi kuwa zenye mwangaza."</string>
<string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>Kumbuka</b><br/> <ol> <li> Rangi zitabadilika kwenye maudhui na picha</li> <li> Ugeuzaji rangi unafanya kazi kwenye programu zote</li> <li> Ili uonyeshe mandharinyuma meusi, Mandhari meusi yanaweza kutumika badala yake</li> </ol>"</string>
- <string name="accessibility_autoclick_preference_title" msgid="2703143361605555752">"Kubofya kiotomatiki (muda wa kuchukua hatua)"</string>
- <string name="accessibility_autoclick_about_title" msgid="152923024405552594">"Kuhusu kubofya kiotomatiki (kuchukua hatua baada ya kiteuzi kusimama)"</string>
- <string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"Pata maelezo zaidi kuhusu kubofya kiotomatiki (kuchukua hatua baada ya kiteuzi kusimama)"</string>
+ <string name="accessibility_autoclick_preference_title" msgid="2703143361605555752">"Kubofya kiotomatiki (muda kabla ya kubofya kiotomatiki)"</string>
+ <string name="accessibility_autoclick_about_title" msgid="152923024405552594">"Kuhusu kubofya kiotomatiki (muda kabla ya kubofya kiotomatiki)"</string>
+ <string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"Pata maelezo zaidi kuhusu kubofya kiotomatiki (muda kabla ya kubofya kiotomatiki)"</string>
<string name="accessibility_autoclick_intro_text" msgid="8959680635470639347">"Unaweza kuweka mipangilio ya kipanya kilichounganishwa ili ubofye kiotomatiki wakati ambapo kiteuzi kinaacha kusogea kwa muda fulani"</string>
<string name="accessibility_autoclick_description" msgid="6695732131412361101">"Kubofya kiotomatiki kunaweza kusaidia iwapo ni vigumu kubofya kipanya"</string>
<string name="accessibility_autoclick_default_title" msgid="2024730028293793490">"Kubofya kiotomatiki kumezimwa"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Huenda baadhi ya vipengele vimedhibitiwa"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Matumizi ya betri ya kiwango cha juu"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Angalia programu zinazotumia betri zaidi"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Kuchaji kumedhibitiwa kwa muda"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Ili kudumisha betri yako. Pata maelezo zaidi."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Endelea kuchaji"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Katika hali fulani, kama vile halijoto za kiwango cha juu na vipindi virefu vya kuchaji, huenda isichaji zaidi ya <xliff:g id="PERCENT">%1$s</xliff:g> ili kusaidia kudumisha muda wa matumizi ya betri. \n\nHali hizo zitakapoisha, simu yako itachaji kiotomatiki kwa njia ya kawaida."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Katika hali fulani, kama vile halijoto za kiwango cha juu na vipindi virefu vya kuchaji, huenda isichaji zaidi ya <xliff:g id="PERCENT">%1$s</xliff:g> ili kusaidia kudumisha muda wa matumizi ya betri. \n\nHali hizo zitakapoisha, kompyuta yako kibao itachaji kiotomatiki kwa njia ya kawaida."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Programu hii itatumia chaji chinichini. Hali hii inaweza kufanya chaji ya betri iishe haraka."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Ondoa"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Ghairi"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Programu zako zinatumia kiwango cha kawaida cha betri. Programu zikitumia kiwango cha juu zaidi cha betri, simu yako itapendekeza hatua unazoweza kuchukua.\n\nUnaweza kuwasha Kiokoa Betri wakati wowote, kama chaji ya betri yako inakaribia kuisha."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Programu zako zinatumia kiwango cha kawaida cha betri. Programu zikitumia kiwango cha juu zaidi cha betri, kompyuta yako kibao itapendekeza hatua unazoweza kuchukua.\n\nUnaweza kuwasha Kiokoa Betri wakati wowote, kama chaji ya betri yako inakaribia kuisha."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Programu zako zinatumia kiwango cha kawaida cha betri. Programu zikitumia kiwango cha juu zaidi cha betri, kifaa chako kitapendekeza hatua unazoweza kuchukua.\n\nUnaweza kuwasha Kiokoa Betri wakati wowote, kama chaji ya betri yako inakaribia kuisha."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"chaji ya betri ikiwa <xliff:g id="PERCENT">%1$s</xliff:g>"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Asilimia ya chaji ya betri"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Onyesha asilimia ya chaji ya betri kwenye sehemu ya arifa"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Kiwango cha betri tangu ilipojaa mara ya mwisho"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Kiwango cha betri katika saa 24 zilizopita"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Matumizi ya programu tangu betri ilipojaa chaji mara ya mwisho"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Matumizi ya programu katika saa 24 zilizopita"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Matumizi ya mfumo tangu betri ilipojaa mara ya mwisho"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Matumizi ya mfumo katika saa 24 zilizopita"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Matumizi ya mfumo kwa <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Matumizi ya programu kwa <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -4087,7 +4098,7 @@
<string name="picture_in_picture_app_detail_summary" msgid="2503211101305358849">"Ruhusu programu hii iunde kidirisha cha picha ndani ya picha wakati programu imefunguka au baada ya kuifunga (kwa mfano, ili uendelee kutazama video). Kidirisha hiki kitaonekana juu ya programu zingine unazotumia."</string>
<string name="interact_across_profiles_title" msgid="7285906999927669971">"Programu za kazi na za binafsi pamoja"</string>
<string name="interact_across_profiles_summary_allowed" msgid="1365881452153799092">"Imeunganishwa"</string>
- <string name="interact_across_profiles_summary_not_allowed" msgid="5802674212788171790">"Haijaunganishwa"</string>
+ <string name="interact_across_profiles_summary_not_allowed" msgid="5802674212788171790">"Hazijaunganishwa"</string>
<string name="interact_across_profiles_empty_text" msgid="419061031064397168">"Hakuna programu zilizounganishwa"</string>
<string name="interact_across_profiles_keywords" msgid="5996472773111665049">"sehemu ya wasifu programu zilizounganishwa programu za kazini na binafsi"</string>
<string name="interact_across_profiles_app_detail_title" msgid="7776184211173575648">"Programu za kazi na za binafsi pamoja"</string>
@@ -4214,7 +4225,7 @@
<string name="zen_mode_calls_list" msgid="5044730950895749093">"simu"</string>
<string name="zen_mode_calls_header" msgid="8379225445095856726">"Simu zinazoweza kukatiza"</string>
<string name="zen_mode_calls_footer" msgid="2008079711083701243">"Ili uhakikishe kuwa simu zinazoruhusiwa zinatoa sauti, hakikisha umeweka mipangilio ya kifaa kulia"</string>
- <string name="zen_mode_custom_calls_footer" msgid="6521283204577441053">"Kwa ‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’ simu zinazoingia zimezuiwa. Unaweza kubadilisha mipangilio ili uwaruhusu marafiki, familia na watu wengine wawasiliane nawe."</string>
+ <string name="zen_mode_custom_calls_footer" msgid="6521283204577441053">"Kwa hali ya ‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’, simu zinazoingia zimezuiwa. Unaweza kubadilisha mipangilio ili uwaruhusu marafiki, familia na watu wengine wawasiliane nawe."</string>
<string name="zen_mode_starred_contacts_title" msgid="630299631659575589">"Anwani zenye nyota"</string>
<string name="zen_mode_starred_contacts_summary_contacts" msgid="1629467178444895094">"{count,plural,offset:2 =0{Hamna}=1{{contact_1}}=2{{contact_1} na {contact_2}}=3{{contact_1}, {contact_2} na {contact_3}}other{{contact_1}, {contact_2} na zingine #}}"</string>
<string name="zen_mode_starred_contacts_empty_name" msgid="2906404745550293688">"(Hakuna jina)"</string>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index b50e23b..53c9c0c 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"புளுடூத் அமைப்புகளை மாற்ற உங்களுக்கு அனுமதியில்லை."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"புதிய சாதனத்தை இணை"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"புளூடூத்"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"வலதுபுற கருவியை இணை"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"இடதுபுற கருவியை இணை"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"மற்றொரு கருவியை இணைத்தல்"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"இடதுபுறச் செவித்துணைக் கருவி இணைக்கப்பட்டுள்ளது.\n\nவலதுபுறக் கருவியை இணைக்க, அது இயக்கப்பட்டு இணைப்பதற்குத் தயாராக இருப்பதை உறுதிசெய்துகொள்ளவும்."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"வலதுபுறச் செவித்துணைக் கருவி இணைக்கப்பட்டுள்ளது.\n\nஇடதுபுறக் கருவியை இணைக்க, அது இயக்கப்பட்டு இணைப்பதற்குத் தயாராக இருப்பதை உறுதிசெய்துகொள்ளவும்."</string>
@@ -1324,7 +1326,7 @@
<string name="auto_rotate_option_on" msgid="5776678230808498171">"ஆன்"</string>
<string name="auto_rotate_option_face_based" msgid="3438645484087953174">"ஆன் - முகம் அடிப்படையிலானது"</string>
<string name="auto_rotate_switch_face_based" msgid="9116123744601564320">"முகம் கண்டறிதல்"</string>
- <string name="auto_rotate_screen_summary" msgid="4547268203621754096">"போர்ட்ரெய்ட் மற்றும் லேண்ட்ஸ்கேப் காட்சிகளுக்கிடையே உங்கள் மொபைல் மாறும்போது திரையின் திசையமைப்பைத் தானாகவே சரிசெய்யும்"</string>
+ <string name="auto_rotate_screen_summary" msgid="4547268203621754096">"போர்ட்ரெய்ட் அல்லது லேண்ட்ஸ்கேப் நிலைக்கு மொபைலை நீங்கள் சுழற்றும்போது திரையும் தானாகவே சரிசெய்யும்"</string>
<string name="auto_rotate_link_a11y" msgid="5146188567212233286">"\'தானாகச் சுழற்று\' அமைப்பு குறித்து மேலும் அறிக"</string>
<string name="auto_rotate_summary_a11y" msgid="1505094100328581685">"போர்ட்ரெய்ட் & லேண்ட்ஸ்கேப் காட்சிக்கு மொபைலை மாற்றும்போது"</string>
<string name="screen_resolution_title" msgid="2690518693139811486">"திரையின் தெளிவுத்திறன்"</string>
@@ -1420,7 +1422,7 @@
<string name="dark_ui_title" msgid="3373976268671557416">"டார்க் பயன்முறை"</string>
<string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"திட்ட அட்டவணை"</string>
<string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"எதுவுமில்லை"</string>
- <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"மாலை முதல் காலை வரை ஆன் செய்யும்"</string>
+ <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"மாலை முதல் காலை வரை இயங்கும்"</string>
<string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"குறிப்பிட்ட நேரத்தில் இயக்கும்"</string>
<string name="dark_ui_auto_mode_custom_bedtime" msgid="8465023741946439266">"உறக்கநேரத்தில் டார்க் தீமை இயக்கும்"</string>
<string name="dark_ui_status_title" msgid="3505119141437774329">"நிலை"</string>
@@ -2511,7 +2513,7 @@
<string name="accessibility_color_inversion_footer_learn_more_content_description" msgid="5382579548498952445">"கலர் இன்வெர்ஷன் பற்றி மேலும் அறிந்துகொள்ளலாம்"</string>
<string name="accessibility_caption_primary_switch_title" msgid="8901149325574757370">"தலைப்புகளைக் காண்பி"</string>
<string name="accessibility_caption_primary_switch_summary" msgid="2754071646412717674">"ஆதரிக்கப்படும் ஆப்ஸுக்கு மட்டும்"</string>
- <string name="captioning_caption_appearance_title" msgid="4501313548541670063">"தலைப்பின் அளவும் நடையும்"</string>
+ <string name="captioning_caption_appearance_title" msgid="4501313548541670063">"வசனத்தின் அளவும் நடையும்"</string>
<string name="captioning_caption_appearance_summary" msgid="7340741178479381312">"<xliff:g id="ACCESSIBILITY_FONT_SIZE">%1$s</xliff:g> உரை அளவு"</string>
<string name="captioning_more_options_title" msgid="3484496882942539652">"மேலும் விருப்பங்கள்"</string>
<string name="accessibility_caption_preference_intro" msgid="6662649135457507767">"படிப்பதை எளிதாக்க, வசனத்தின் அளவையும் தோற்றத்தையும் பிரத்தியேகமாக்கலாம்"</string>
@@ -2590,7 +2592,7 @@
<string name="captioning_standard_options_title" msgid="5360264497750980205">"நிலையான விருப்பங்கள்"</string>
<string name="captioning_locale" msgid="5533303294290661590">"மொழி"</string>
<string name="captioning_text_size" msgid="8039448543171463017">"உரையின் அளவு"</string>
- <string name="captioning_preset" msgid="4174276086501638524">"தலைப்பின் நடை"</string>
+ <string name="captioning_preset" msgid="4174276086501638524">"வசனத்தின் நடை"</string>
<string name="captioning_custom_options_title" msgid="3858866498893566351">"பிரத்தியேக விருப்பங்கள்"</string>
<string name="captioning_background_color" msgid="5231412761368883107">"பின்புல வண்ணம்"</string>
<string name="captioning_background_opacity" msgid="6453738649182382614">"பின்னணி ஒளிபுகாத்தன்மை"</string>
@@ -2601,7 +2603,7 @@
<string name="captioning_edge_color" msgid="6035818279902597518">"விளிம்பின் வண்ணம்"</string>
<string name="captioning_edge_type" msgid="5281259280060811506">"விளிம்பின் வகை"</string>
<string name="captioning_typeface" msgid="285325623518361407">"எழுத்து வடிவக் குடும்பம்"</string>
- <string name="captioning_preview_text" msgid="4973475065545995704">"தலைப்புகள் இப்படி இருக்கும்"</string>
+ <string name="captioning_preview_text" msgid="4973475065545995704">"வசனங்கள் இப்படித் தோன்றும்"</string>
<string name="captioning_preview_characters" msgid="7854812443613580460">"Aa"</string>
<string name="locale_default" msgid="8948077172250925164">"இயல்புநிலை"</string>
<string name="color_title" msgid="2511586788643787427">"நிறம்"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"சில அம்சங்கள் வரம்பிடப்பட்டிருக்கலாம்"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"அதிக பேட்டரி உபயோகம்"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"பேட்டரியை அதிகமாக உபயோகிக்கும் ஆப்ஸைக் காண்க"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"சார்ஜாவது தற்காலிகமாக வரம்பிடப்பட்டுள்ளது"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"உங்கள் பேட்டரியின் சார்ஜைச் சேமிக்க. மேலும் அறிக."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"சார்ஜ் செய்வதை மீண்டும் தொடங்கு"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"அதிக வெப்பநிலை மற்றும் நீண்ட நேரம் சார்ஜ் ஆவது போன்ற குறிப்பிட்ட சில சூழல்களில் பேட்டரியின் ஆயுளைப் பாதுகாக்க <xliff:g id="PERCENT">%1$s</xliff:g> அளவிற்கு மட்டுமே உங்கள் மொபைல் சார்ஜ் ஆகக்கூடும்.\n\n அந்தச் சூழல்கள் முடிந்த பின் உங்கள் மொபைல் தானாக எப்போதும் போல் சார்ஜ் ஆகும்."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"அதிக வெப்பநிலை மற்றும் நீண்ட நேரம் சார்ஜ் ஆவது போன்ற குறிப்பிட்ட சில சூழல்களில் பேட்டரியின் ஆயுளைப் பாதுகாக்க <xliff:g id="PERCENT">%1$s</xliff:g> அளவிற்கு மட்டுமே உங்கள் டேப்லெட் சார்ஜ் ஆகக்கூடும்.\n\n அந்தச் சூழல்கள் முடிந்த பின் உங்கள் டேப்லெட் தானாக முன்பு போல் சார்ஜ் ஆகும்."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"இந்த ஆப்ஸ், பின்னணியில் இயங்கி பேட்டரியைப் பயன்படுத்த முடியும். இதனால், பேட்டரி வழக்கத்தைவிட வேகமாகத் தீர்ந்துவிடக்கூடும்."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"அகற்று"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"ரத்துசெய்"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"வழக்கமான பேட்டரி அளவை உங்கள் ஆப்ஸ் பயன்படுத்துகின்றன. அதிகளவு பேட்டரியை அவைப் பயன்படுத்தினால், நீங்கள் செய்யக்கூடிய செயல்களை உங்கள் சாதனம் பரிந்துரைக்கும்.\n\nபேட்டரி குறைவாக இருக்கும்போது பேட்டரி சேமிப்பானை எப்போது வேண்டுமானாலும் ஆன் செய்துகொள்ளலாம்."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"வழக்கமான பேட்டரி அளவை உங்கள் ஆப்ஸ் பயன்படுத்துகின்றன. அதிகளவு பேட்டரியை அவைப் பயன்படுத்தினால், நீங்கள் செய்யக்கூடிய செயல்களை உங்கள் சாதனம் பரிந்துரைக்கும்.\n\nபேட்டரி குறைவாக இருக்கும்போது பேட்டரி சேமிப்பானை எப்போது வேண்டுமானாலும் ஆன் செய்துகொள்ளலாம்."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"வழக்கமான பேட்டரி அளவை உங்கள் ஆப்ஸ் பயன்படுத்துகின்றன. அதிகளவு பேட்டரியை அவைப் பயன்படுத்தினால், நீங்கள் செய்யக்கூடிய செயல்களை உங்கள் சாதனம் பரிந்துரைக்கும்.\n\nபேட்டரி குறைவாக இருக்கும்போது பேட்டரி சேமிப்பானை எப்போது வேண்டுமானாலும் ஆன் செய்துகொள்ளலாம்."</string>
@@ -2926,7 +2934,7 @@
<string name="battery_bg_usage_less_minute_24hr" msgid="5016983623297552985">"கடந்த 24 மணிநேரத்தில் ஒரு நிமிடத்திற்கும் குறைவான பின்னணி உபயோகம்"</string>
<string name="battery_bg_usage_less_minute_with_period" msgid="7624741677867017430">"<xliff:g id="TIME_PERIOD">^1</xliff:g> கால அளவில் ஒரு நிமிடத்திற்கும் குறைவான பின்னணி உபயோகம்"</string>
<string name="battery_total_usage" msgid="4685408616230899847">"கடந்த முறை முழு சார்ஜ் ஆனதிலிருந்து மொத்த உபயோகம்: <xliff:g id="TIME">^1</xliff:g>"</string>
- <string name="battery_total_usage_24hr" msgid="3907495067623665787">"கடந்த 24 மணிநேரத்தில் மொத்த உபயோகம்: <xliff:g id="TIME">^1</xliff:g>"</string>
+ <string name="battery_total_usage_24hr" msgid="3907495067623665787">"கடந்த 24 மணிநேரத்தில்: <xliff:g id="TIME">^1</xliff:g>"</string>
<string name="battery_total_usage_with_period" msgid="2849061229625950626">"<xliff:g id="TIME_PERIOD">^2</xliff:g> கால அளவில் மொத்த உபயோகம் <xliff:g id="TIME_0">^1</xliff:g>"</string>
<string name="battery_bg_usage" msgid="548670902301883980">"கடந்த முறை முழு சார்ஜ் ஆனதிலிருந்து பின்னணி உபயோகம்: <xliff:g id="TIME">^1</xliff:g>"</string>
<string name="battery_bg_usage_24hr" msgid="1999734910656674710">"கடந்த 24 மணிநேரத்தில் பின்னணி உபயோகம்: <xliff:g id="TIME">^1</xliff:g>"</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"<xliff:g id="PERCENT">%1$s</xliff:g> பேட்டரி இருக்கும் போது"</string>
<string name="battery_percentage" msgid="1779934245963043490">"பேட்டரி சதவீதம்"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"பேட்டரி சதவீதத்தை நிலைப் பட்டியில் காட்டும்"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"பேட்டரியின் உபயோகம் (கடைசியாக முழு சார்ஜ் செய்யப்பட்டதிலிருந்து)"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"கடந்த 24 மணிநேரத்திற்கான பேட்டரி உபயோகம்"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"ஆப்ஸின் உபயோகம் (கடைசியாக முழு சார்ஜ் செய்யப்பட்டதிலிருந்து)"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"கடந்த 24 மணிநேரத்திற்கான ஆப்ஸ் உபயோகம்"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"சிஸ்டத்தின் உபயோகம் (கடைசியாக முழு சார்ஜ் செய்யப்பட்டதிலிருந்து)"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"கடந்த 24 மணிநேரத்திற்கான சிஸ்டம் உபயோகம்"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"<xliff:g id="SLOT">%s</xliff:g>க்கான சிஸ்டம் உபயோகம்"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"<xliff:g id="SLOT">%s</xliff:g>க்கான ஆப்ஸ் உபயோகம்"</string>
diff --git a/res/values-te/arrays.xml b/res/values-te/arrays.xml
index aa8beda..1416f95 100644
--- a/res/values-te/arrays.xml
+++ b/res/values-te/arrays.xml
@@ -504,7 +504,7 @@
<item msgid="9080166583718385565">"0"</item>
</string-array>
<string-array name="wifi_metered_entries">
- <item msgid="3237321077949659241">"ఆటోమేటిక్గా గుర్తించు"</item>
+ <item msgid="3237321077949659241">"ఆటోమేటిక్గా గుర్తించండి"</item>
<item msgid="3779092145391320375">"లెక్కించబడేదానిగా పరిగణించండి"</item>
<item msgid="2047166446768045816">"లెక్కించబడనిదిగా పరిగణించండి"</item>
</string-array>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 07f8fbc..c8b280d 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"మీకు బ్లూటూత్ సెట్టింగ్లను మార్చడానికి అనుమతి లేదు."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"కొత్త పరికరాన్ని పెయిర్ చేయండి"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"బ్లూటూత్"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"కుడి చెవి పెయిర్"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"ఎడమ చెవి పెయిర్"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"మీ మరో చెవిని పెయిర్ చేయి"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"మీ ఎడమ వినికిడి పరికరం కనెక్ట్ చేయబడింది.\n\nకుడి వైపు వినికిడి పరికరాన్ని పెయిర్ చేయడానికి, అది ఆన్ చేయబడిందని, పెయిర్ చేయడానికి సిద్ధంగా ఉందని నిర్ధారించుకోండి."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"మీ కుడి వినికిడి పరికరం కనెక్ట్ చేయబడింది.\n\nఎడమ వైపు వినికిడి పరికరాన్ని పెయిర్ చేయడానికి, అది ఆన్ చేయబడిందని, పెయిర్ చేయడానికి సిద్ధంగా ఉందని నిర్ధారించుకోండి."</string>
@@ -1208,7 +1210,7 @@
<string name="wifi_hotspot_password_title" msgid="9096340919454296786">"హాట్స్పాట్ పాస్వర్డ్"</string>
<string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP బ్యాండ్"</string>
<string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"మీ ఇతర పరికరాల కోసం Wi-Fi నెట్వర్క్ని క్రియేట్ చేయడానికి హాట్స్పాట్ని ఉపయోగించండి. హాట్స్పాట్ అనేది మీ మొబైల్ డేటా కనెక్షన్ని ఉపయోగించి ఇంటర్నెట్ని అందిస్తుంది. అదనపు మొబైల్ డేటా ఛార్జీలు చెల్లించాల్సి రావచ్చు."</string>
- <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"యాప్లు సమీప పరికరాలతో కంటెంట్ని షేర్ చేయడం కోసం హాట్స్పాట్ని సృష్టించవచ్చు."</string>
+ <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"యాప్లు సమీప పరికరాలతో కంటెంట్ని షేర్ చేయడం కోసం హాట్స్పాట్ని క్రియేట్ చేయవచ్చు."</string>
<string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"హాట్స్పాట్ను ఆటోమేటిక్గా ఆఫ్ చేయి"</string>
<string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"పరికరాలేవీ కనెక్ట్ చేసి లేనప్పుడు"</string>
<string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"అనుకూలతను పెంచండి"</string>
@@ -1850,7 +1852,7 @@
<string name="bluetooth_untether_blank" msgid="5087548945727762308">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> అన్టీథెర్ చేయబడుతుంది."</string>
<string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"ఈథర్నెట్ టెథరింగ్"</string>
<string name="ethernet_tethering_subtext" product="default" msgid="5998100693350351694">"ఈథర్నెట్ ద్వారా ఫోన్ ఇంటర్నెట్ కనెక్షన్ను షేర్ చేయండి"</string>
- <string name="tethering_footer_info" msgid="6782375845587483281">"మీ మొబైల్ డేటా కనెక్షన్ ద్వారా ఇతర పరికరాలకు ఇంటర్నెట్ని అందించడం కోసం హాట్స్పాట్ మరియు టెథెరింగ్ని ఉపయోగించండి. ఇంకా, యాప్లు సమీప పరికరాలతో కంటెంట్ని షేర్ చేయడం కోసం హాట్స్పాట్ని సృష్టించవచ్చు."</string>
+ <string name="tethering_footer_info" msgid="6782375845587483281">"మీ మొబైల్ డేటా కనెక్షన్ ద్వారా ఇతర పరికరాలకు ఇంటర్నెట్ని అందించడం కోసం హాట్స్పాట్ మరియు టెథెరింగ్ని ఉపయోగించండి. ఇంకా, యాప్లు సమీప పరికరాలతో కంటెంట్ని షేర్ చేయడం కోసం హాట్స్పాట్ని క్రియేట్ చేయవచ్చు."</string>
<string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"మీ Wi‑Fi లేదా మొబైల్ డేటా కనెక్షన్ ద్వారా ఇతర పరికరాలకు ఇంటర్నెట్ను అందించడం కోసం హాట్స్పాట్ అలాగే టెథరింగ్ను ఉపయోగించండి. సమీప పరికరాలతో కంటెంట్ను షేర్ చేయడం కోసం యాప్లు కూడా హాట్స్పాట్ను క్రియేట్ చేయవచ్చు."</string>
<string name="tethering_help_button_text" msgid="2823655011510912001">"సహాయం"</string>
<string name="network_settings_title" msgid="4663717899931613176">"మొబైల్ నెట్వర్క్"</string>
@@ -2319,10 +2321,10 @@
<string name="accessibility_captioning_title" msgid="4561871958958925225">"క్యాప్షన్ ప్రాధాన్యతలు"</string>
<string name="accessibility_captioning_about_title" msgid="3542171637334191563">"క్యాప్షన్ ప్రాధాన్యతల గురించి"</string>
<string name="accessibility_captioning_footer_learn_more_content_description" msgid="5730040700677017706">"క్యాప్షన్ ప్రాధాన్యతల గురించి మరింత తెలుసుకోండి"</string>
- <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"మాగ్నిఫికేషన్"</string>
+ <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"మ్యాగ్నిఫికేషన్"</string>
<string name="accessibility_screen_magnification_shortcut_title" msgid="2387963646377987780">"మ్యాగ్నిఫికేషన్ షార్ట్కట్"</string>
- <string name="accessibility_screen_magnification_follow_typing_title" msgid="6379517513916651560">"టైపింగ్ను మాగ్నిఫై చేయండి"</string>
- <string name="accessibility_screen_magnification_follow_typing_summary" msgid="2882250257391761678">"మీరు టైప్ చేస్తున్నప్పుడు మాగ్నిఫైయర్ టెక్స్ట్ను ఫాలో అవుతుంది"</string>
+ <string name="accessibility_screen_magnification_follow_typing_title" msgid="6379517513916651560">"టైపింగ్ను మ్యాగ్నిఫై చేయండి"</string>
+ <string name="accessibility_screen_magnification_follow_typing_summary" msgid="2882250257391761678">"మీరు టైప్ చేస్తున్నప్పుడు మ్యాగ్నిఫయర్ టెక్స్ట్ను ఫాలో అవుతుంది"</string>
<string name="accessibility_screen_magnification_about_title" msgid="8857919020223505415">"మ్యాగ్నిఫికేషన్ గురించి"</string>
<string name="accessibility_screen_magnification_footer_learn_more_content_description" msgid="924848332575978463">"మ్యాగ్నిఫికేషన్ గురించి మరింత తెలుసుకోండి"</string>
<string name="accessibility_magnification_mode_title" msgid="8446475127807168063">"మ్యాగ్నిఫికేషన్ రకం"</string>
@@ -2332,7 +2334,7 @@
<string name="accessibility_magnification_area_settings_all_summary" msgid="8107511976748799455">"ఫుల్, పాక్షిక స్క్రీన్ మధ్య మారండి"</string>
<string name="accessibility_magnification_mode_dialog_title" msgid="9151027667059878578">"ఎలా మ్యాగ్నిఫై చేయాలో ఎంచుకోండి"</string>
<string name="accessibility_magnification_mode_dialog_option_full_screen" msgid="4892487869954032029">"ఫుల్ స్క్రీన్ను మ్యాగ్నిఫై చేయండి"</string>
- <string name="accessibility_magnification_mode_dialog_option_window" msgid="4492443201099153362">"స్క్రీన్లో భాగాన్ని మాగ్నిఫై చేయండి"</string>
+ <string name="accessibility_magnification_mode_dialog_option_window" msgid="4492443201099153362">"స్క్రీన్లో భాగాన్ని మ్యాగ్నిఫై చేయండి"</string>
<string name="accessibility_magnification_mode_dialog_option_switch" msgid="561043521011229424">"ఫుల్, పాక్షిక స్క్రీన్ మధ్య మారండి"</string>
<string name="accessibility_magnification_area_settings_mode_switch_summary" msgid="2885238806099080966">"రెండు ఆప్షన్ల మధ్య మారడానికి స్విచ్ బటన్ను ట్యాప్ చేయండి"</string>
<string name="accessibility_magnification_switch_shortcut_title" msgid="3671432048806533079">"యాక్సెసిబిలిటీ బటన్కు స్విచ్ చేయాలా?"</string>
@@ -2340,13 +2342,13 @@
<string name="accessibility_magnification_switch_shortcut_positive_button" msgid="2446942190957296957">"యాక్సెసిబిలిటీ బటన్కు స్విచ్ చేయి"</string>
<string name="accessibility_magnification_switch_shortcut_negative_button" msgid="7115794462123071594">"మూడు-సార్లు నొక్కే ఆప్షన్ను ఉపయోగించండి"</string>
<string name="accessibility_magnification_triple_tap_warning_title" msgid="8484669851397296597">"ఇది మీ కీబోర్డ్ వేగాన్ని తగ్గించవచ్చు"</string>
- <string name="accessibility_magnification_triple_tap_warning_message" msgid="2008671502848936410">"మీ స్క్రీన్లో కొంత భాగాన్ని మ్యాగ్నిఫై చేయడానికి \'ట్రిపుల్-ట్యాప్ చేయండి\'ని ఉపయోగిస్తున్నప్పుడు, మీరు కీబోర్డ్లో సమస్యలను గమనించవచ్చు.\n\nదీన్ని నివారించడానికి, మీరు మీ మాగ్నిఫికేషన్ షార్ట్కట్ను ట్రిపుల్-ట్యాప్ చేయండి\'నుండి మరొక ఆప్షన్కు మార్చవచ్చు.\n"<annotation id="link">"సెట్టింగ్ను మార్చండి"</annotation></string>
+ <string name="accessibility_magnification_triple_tap_warning_message" msgid="2008671502848936410">"మీ స్క్రీన్లో కొంత భాగాన్ని మ్యాగ్నిఫై చేయడానికి \'ట్రిపుల్-ట్యాప్ చేయండి\'ని ఉపయోగిస్తున్నప్పుడు, మీరు కీబోర్డ్లో సమస్యలను గమనించవచ్చు.\n\nదీన్ని నివారించడానికి, మీరు మీ మ్యాగ్నిఫికేషన్ షార్ట్కట్ను ట్రిపుల్-ట్యాప్ చేయండి\'నుండి మరొక ఆప్షన్కు మార్చవచ్చు.\n"<annotation id="link">"సెట్టింగ్ను మార్చండి"</annotation></string>
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"ఏదేమైనా కొనసాగించండి"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"రద్దు చేయండి"</string>
- <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"మాగ్నిఫికేషన్ సెట్టింగ్లు"</string>
- <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"మూడుసార్లు నొక్కడంతో మాగ్నిఫై చేయండి"</string>
- <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"షార్ట్కట్తో మాగ్నిఫై చేయండి"</string>
- <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"షార్ట్కట్తో, మూడుసార్లు నొక్కి మాగ్నిఫై చేయండి"</string>
+ <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"మ్యాగ్నిఫికేషన్ సెట్టింగ్లు"</string>
+ <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"మూడుసార్లు నొక్కడంతో మ్యాగ్నిఫై చేయండి"</string>
+ <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"షార్ట్కట్తో మ్యాగ్నిఫై చేయండి"</string>
+ <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"షార్ట్కట్తో, మూడుసార్లు నొక్కి మ్యాగ్నిఫై చేయండి"</string>
<string name="accessibility_introduction_title" msgid="8834950581512452348">"\'<xliff:g id="SERVICE">%1$s</xliff:g>\' పరిచయం"</string>
<string name="accessibility_text_reading_options_title" msgid="3224648909213325563">"డిస్ప్లే సైజ్, టెక్స్ట్ ఎంపికలు"</string>
<string name="accessibility_text_reading_options_suggestion_title" msgid="2492155642665312733">"టెక్స్ట్ ఎలా ప్రదర్శించబడుతుందో మార్చండి"</string>
@@ -2366,8 +2368,8 @@
<string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"జూమ్ చేయడానికి 3 సార్లు నొక్కండి"</string>
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"జూమ్ చేయడం కోసం బటన్ని నొక్కండి"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"కంటెంట్ను పెద్దదిగా చేయడానికి స్క్రీన్పై త్వరగా జూమ్ - ఇన్ చేయండి"</string>
- <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>జూమ్ చేయడానికి:</b><br/> {0,number,integer}. మాగ్నిఫికేషన్ను ప్రారంభించడానికి షార్ట్కట్ను ఉపయోగించండి<br/> {1,number,integer}. స్క్రీన్ను ట్యాప్ చేయండి<br/> {2,number,integer}. స్క్రీన్ చుట్టూ కదిలేందుకు 2 వేళ్లతో లాగండి<br/> {3,number,integer}. జూమ్ చేయడాన్ని సర్దుబాటు చేయడానికి 2 వేళ్లతో స్క్రీన్ను నియంత్రించండి<br/> {4,number,integer}. మాగ్నిఫికేషన్ను ఆపివేయడానికి షార్ట్కట్ను ఉపయోగించండి<br/><br/><b>తాత్కాలికంగా జూమ్ చేయడానికి:</b><br/> {0,number,integer}. మీ మాగ్నిఫికేషన్ రకం ఫుల్ స్క్రీన్కు సెట్ చేయబడిందని నిర్ధారించుకోండి<br/> {1,number,integer}. మాగ్నిఫికేషన్ను ప్రారంభించడానికి షార్ట్కట్ను ఉపయోగించండి<br/> {2,number,integer}. స్క్రీన్పై ఎక్కడైనా తాకి & హోల్డ్ చేయండి<br/> {3,number,integer}. స్క్రీన్ చుట్టూ కదిలేందుకు వేలితో లాగండి<br/> {4,number,integer}. మాగ్నిఫికేషన్ను ఆపివేయడానికి వేలును స్క్రీన్పై నుండి తీసివేయండి"</string>
- <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"మాగ్నిఫికేషన్ను ఆన్ చేసినప్పుడు, మీ స్క్రీన్పైన దగ్గరకు జూమ్ చేయవచ్చు.\n\n"<b>"జూమ్ చేయడానికి"</b>", మాగ్నిఫికేషన్ను ప్రారంభించి, తర్వాత స్క్రీన్పై ఎక్కడైనా నొక్కండి.\n"<ul><li>"స్క్రోల్ చేయడానికి 2 లేదా అంతకంటే ఎక్కువ వేళ్లతో లాగండి"</li>\n<li>"జూమ్ను సర్దుబాటు చేయడానికి 2 లేదా అంతకంటే ఎక్కువ వేళ్లను దగ్గరకు లేదా దూరానికి లాగండి"</li></ul>\n\n<b>"తాత్కాలికంగా జూమ్ చేయడానికి"</b>", మాగ్నిఫికేషన్ను ప్రారంభించి, తర్వాత స్క్రీన్ను ఎక్కడైనా తాకి & పట్టుకోండి.\n"<ul><li>"స్క్రీన్ పైన కదలడానికి లాగండి"</li>\n<li>"దూరంగా జూమ్ చేయడానికి వేలిని పైకి ఎత్తండి"</li></ul>\n\n"కీబోర్డ్లో లేదా నావిగేషన్ బార్లో మీరు దగ్గరగా జూమ్ చేయలేరు."</string>
+ <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>జూమ్ చేయడానికి:</b><br/> {0,number,integer}. మ్యాగ్నిఫికేషన్ను ప్రారంభించడానికి షార్ట్కట్ను ఉపయోగించండి<br/> {1,number,integer}. స్క్రీన్ను ట్యాప్ చేయండి<br/> {2,number,integer}. స్క్రీన్ చుట్టూ కదిలేందుకు 2 వేళ్లతో లాగండి<br/> {3,number,integer}. జూమ్ చేయడాన్ని సర్దుబాటు చేయడానికి 2 వేళ్లతో స్క్రీన్ను నియంత్రించండి<br/> {4,number,integer}. మ్యాగ్నిఫికేషన్ను ఆపివేయడానికి షార్ట్కట్ను ఉపయోగించండి<br/><br/><b>తాత్కాలికంగా జూమ్ చేయడానికి:</b><br/> {0,number,integer}. మీ మ్యాగ్నిఫికేషన్ రకం ఫుల్ స్క్రీన్కు సెట్ చేయబడిందని నిర్ధారించుకోండి<br/> {1,number,integer}. మ్యాగ్నిఫికేషన్ను ప్రారంభించడానికి షార్ట్కట్ను ఉపయోగించండి<br/> {2,number,integer}. స్క్రీన్పై ఎక్కడైనా తాకి & హోల్డ్ చేయండి<br/> {3,number,integer}. స్క్రీన్ చుట్టూ కదిలేందుకు వేలితో లాగండి<br/> {4,number,integer}. మ్యాగ్నిఫికేషన్ను ఆపివేయడానికి వేలును స్క్రీన్పై నుండి తీసివేయండి"</string>
+ <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"మ్యాగ్నిఫికేషన్ను ఆన్ చేసినప్పుడు, మీ స్క్రీన్పైన దగ్గరకు జూమ్ చేయవచ్చు.\n\n"<b>"జూమ్ చేయడానికి"</b>", మ్యాగ్నిఫికేషన్ను ప్రారంభించి, తర్వాత స్క్రీన్పై ఎక్కడైనా నొక్కండి.\n"<ul><li>"స్క్రోల్ చేయడానికి 2 లేదా అంతకంటే ఎక్కువ వేళ్లతో లాగండి"</li>\n<li>"జూమ్ను సర్దుబాటు చేయడానికి 2 లేదా అంతకంటే ఎక్కువ వేళ్లను దగ్గరకు లేదా దూరానికి లాగండి"</li></ul>\n\n<b>"తాత్కాలికంగా జూమ్ చేయడానికి"</b>", మ్యాగ్నిఫికేషన్ను ప్రారంభించి, తర్వాత స్క్రీన్ను ఎక్కడైనా తాకి & పట్టుకోండి.\n"<ul><li>"స్క్రీన్ పైన కదలడానికి లాగండి"</li>\n<li>"దూరంగా జూమ్ చేయడానికి వేలిని పైకి ఎత్తండి"</li></ul>\n\n"కీబోర్డ్లో లేదా నావిగేషన్ బార్లో మీరు దగ్గరగా జూమ్ చేయలేరు."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g>లో <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>వ పేజీ"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"తెరవడానికి యాక్సెసిబిలిటీ బటన్ను ఉపయోగించండి"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"తెరవడానికి వాల్యూమ్ కీలను పట్టుకుని అలాగే ఉండండి"</string>
@@ -2377,7 +2379,7 @@
<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_triple" msgid="5219991116201165146">"మ్యాగ్నిఫికేషన్ను ప్రారంభించడానికి అలాగే ఆపడానికి, మీ స్క్రీన్పై ఎక్కడైనా మూడు సార్లు ట్యాప్ చేయండి."</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>
@@ -2402,8 +2404,8 @@
<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>
<string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"అధునాతన సెట్టింగ్లు"</string>
- <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"యాక్సెస్ సామర్థ్య బటన్ <xliff:g id="SERVICE">%1$s</xliff:g>కు సెట్ చేయబడింది. మాగ్నిఫికేషన్ని ఉపయోగించాలంటే, యాక్సెస్ సామర్ధ్య బటన్ని తాకి, ఉంచి, ఆపై మాగ్నిఫికేషన్ని ఎంచుకోండి."</string>
- <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"సంజ్ఞ యాక్సెసిబిలిటీ అనేది <xliff:g id="SERVICE">%1$s</xliff:g>కు సెట్ చేయబడింది. మాగ్నిఫికేషన్ను ఉపయోగించడానికి, రెండు వేళ్లతో స్క్రీన్ను కింద నుండి పైకి స్వైప్ చేసి పట్టుకోండి. ఆ తర్వాత మాగ్నిఫికేషన్ను ఎంచుకోండి."</string>
+ <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"యాక్సెస్ సామర్థ్య బటన్ <xliff:g id="SERVICE">%1$s</xliff:g>కు సెట్ చేయబడింది. మ్యాగ్నిఫికేషన్ను ఉపయోగించాలంటే, యాక్సెస్ సామర్ధ్య బటన్ని తాకి, ఉంచి, ఆపై మ్యాగ్నిఫికేషన్ను ఎంచుకోండి."</string>
+ <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"సంజ్ఞ యాక్సెసిబిలిటీ అనేది <xliff:g id="SERVICE">%1$s</xliff:g>కు సెట్ చేయబడింది. మ్యాగ్నిఫికేషన్ను ఉపయోగించడానికి, రెండు వేళ్లతో స్క్రీన్ను కింద నుండి పైకి స్వైప్ చేసి పట్టుకోండి. ఆ తర్వాత మ్యాగ్నిఫికేషన్ను ఎంచుకోండి."</string>
<string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"వాల్యూమ్ కీ షార్ట్కట్"</string>
<string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"షార్ట్కట్ సేవ"</string>
<string name="accessibility_shortcut_settings" msgid="836783442658447995">"షార్ట్కట్ సెట్టింగ్లు"</string>
@@ -2457,7 +2459,7 @@
<string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"\'కలర్ మార్పిడి\'ని ఉపయోగించండి"</string>
<string name="accessibility_display_inversion_shortcut_title" msgid="6889624526691513462">"కలర్ మార్పిడి షార్ట్కట్"</string>
<string name="accessibility_display_inversion_preference_intro_text" msgid="1159663288481145318">"కలర్ మార్పిడి ప్రకాశవంతంగా వుండే స్క్రీన్లను ముదురు రంగులోకి మారుస్తుంది. ఇది ముదురు రంగు స్క్రీన్లను ప్రకాశవంతంగా కూడా మారుస్తుంది."</string>
- <string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>గుర్తుంచుకోండి</b><br/> <ol> <li> మీడియా, ఇమేజ్లలో రంగులు మారుతాయి</li> <li> అన్ని యాప్లలో కలర్ మార్పిడి పని చేస్తుంది</li> <li> ప్రదర్శించడానికి ముదురు రంగు బ్యాక్గ్రౌండ్, బదులుగా ముదురు రంగు రూపాన్ని ఉపయోగించవచ్చు</li> </ol>"</string>
+ <string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>గుర్తుంచుకోండి</b><br/> <ol> <li> మీడియా అలాగే ఇమేజ్లలోని రంగులు మారతాయి.</li> <li> కలర్ మార్పిడి అన్ని యాప్లలో పని చేస్తుంది</li> <li> ముదురు రంగు బ్యాక్గ్రౌండ్ను డిస్ప్లే చేయడానికి ముదురు రంగు రూపాన్ని ఉపయోగించవచ్చు.</li> </ol>"</string>
<string name="accessibility_autoclick_preference_title" msgid="2703143361605555752">"ఆటో-క్లిక్ (డ్వెల్ టైమింగ్)"</string>
<string name="accessibility_autoclick_about_title" msgid="152923024405552594">"ఆటోక్లిక్ (డ్వెల్ టైమింగ్) గురించి"</string>
<string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"ఆటోక్లిక్ (డ్వెల్ టైమింగ్) గురించి మరింత తెలుసుకోండి"</string>
@@ -2468,7 +2470,7 @@
<string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 సెకన్లు"</string>
<string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"మధ్యస్థం"</string>
<string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6 సెకన్లు"</string>
- <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"పొడవైన"</string>
+ <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"సుదీర్ఘంగా"</string>
<string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 సెకను"</string>
<string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"అనుకూలం"</string>
<string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"మరింత తక్కువ సమయం"</string>
@@ -2515,7 +2517,7 @@
<string name="captioning_caption_appearance_summary" msgid="7340741178479381312">"<xliff:g id="ACCESSIBILITY_FONT_SIZE">%1$s</xliff:g> టెక్స్ట్ సైజ్"</string>
<string name="captioning_more_options_title" msgid="3484496882942539652">"మరిన్ని ఆప్షన్లు"</string>
<string name="accessibility_caption_preference_intro" msgid="6662649135457507767">"క్యాప్షన్లను సులభంగా చదవగలిగేలా వాటి సైజును, స్టయిల్ను అనుకూలంగా మార్చండి"</string>
- <string name="accessibility_caption_preference_summary" msgid="632875702223135121">"ఈ క్యాప్షన్ ప్రాధాన్యతలకు అన్ని మీడియా యాప్లు సపోర్ట్ చేయవు"</string>
+ <string name="accessibility_caption_preference_summary" msgid="632875702223135121">"ఈ క్యాప్షన్ ప్రాధాన్యతలను అన్ని మీడియా యాప్లు సపోర్ట్ చేయవు"</string>
<string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"యాక్సెసిబిలిటీ బటన్"</string>
<string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"2-వేళ్లతో కింది నుండి పైకి స్వైప్ చేయడం"</string>
<string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"వాల్యూమ్ కీలను నొక్కి, ఉంచడం"</string>
@@ -2637,7 +2639,7 @@
<string name="settings_button" msgid="2195468788019730377">"సెట్టింగ్లు"</string>
<string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"లైట్ సెన్సిటివిటీ, ఫోటోఫోబియా, ముదురు రంగు రూపం, మైగ్రేన్, తలనొప్పి, రీడింగ్ మోడ్, నైట్ మోడ్, బ్రైట్నెస్ను తగ్గించండి, వైట్ పాయింట్"</string>
<string name="keywords_accessibility" msgid="4263443239404659143">"సులభమైన వాడకం, సులభంగా యాక్సెస్, సహాయం, సహాయకరం"</string>
- <string name="keywords_magnification" msgid="3908145308269840862">"విండో మాగ్నిఫైయర్, జూమ్, మాగ్నిఫికేషన్, తక్కువ విజన్, పెద్దదిగా చేయి, పెద్దగా చేయి"</string>
+ <string name="keywords_magnification" msgid="3908145308269840862">"విండో మాగ్నిఫైయర్, జూమ్, మ్యాగ్నిఫికేషన్, తక్కువ విజన్, పెద్దదిగా చేయి, పెద్దగా చేయి"</string>
<string name="keywords_talkback" msgid="2816435437095102527"></string>
<string name="keywords_live_caption" msgid="1667203998080567556">"క్యాప్షన్లు, సబ్టైటిల్స్, CC, Live Transcribe, వినడంలో సమస్య, వినికిడి ఎర్రర్, CART, స్పీచ్ టూ టెక్స్ట్, సబ్టైటిల్"</string>
<string name="keywords_live_transcribe" msgid="3226990195174890997"></string>
@@ -2657,8 +2659,8 @@
<string name="print_settings" msgid="8519810615863882491">"ప్రింటింగ్"</string>
<string name="print_settings_summary_no_service" msgid="6721731154917653862">"ఆఫ్"</string>
<plurals name="print_settings_summary" formatted="false" msgid="1034273609054146099">
- <item quantity="other"><xliff:g id="COUNT">%1$d</xliff:g> ప్రింట్ సేవలు ఆన్ చేయబడ్డాయి</item>
- <item quantity="one">1 ప్రింట్ సేవ ఆన్ చేయబడింది</item>
+ <item quantity="other"><xliff:g id="COUNT">%1$d</xliff:g> ప్రింట్ సర్వీస్లు, ఆన్ చేయబడ్డాయి</item>
+ <item quantity="one">1 ప్రింట్ సర్వీస్, ఆన్ చేయబడింది</item>
</plurals>
<plurals name="print_jobs_summary" formatted="false" msgid="3933688846338306536">
<item quantity="other"><xliff:g id="COUNT">%1$d</xliff:g> ముద్రణ జాబ్లు</item>
@@ -2712,7 +2714,7 @@
<string name="manager_battery_usage_footer" msgid="2635906573922553766">"యాప్ మీ బ్యాటరీని ఎలా ఉపయోగిస్తుందో మార్చడం దాని పనితీరును ప్రభావితం చేయవచ్చు."</string>
<string name="manager_battery_usage_footer_limited" msgid="5180776148877306780">"ఈ యాప్నకు <xliff:g id="STATE">%1$s</xliff:g> బ్యాటరీ వినియోగం అవసరం."</string>
<string name="manager_battery_usage_unrestricted_only" msgid="3646162131339418216">"అపరిమిత"</string>
- <string name="manager_battery_usage_optimized_only" msgid="7121785281913056432">"ఆప్టిమైజ్ చేయబడినది"</string>
+ <string name="manager_battery_usage_optimized_only" msgid="7121785281913056432">"ఆప్టిమైజ్ చేయబడిన"</string>
<string name="manager_battery_usage_link_a11y" msgid="374918091821438564">"బ్యాటరీ వినియోగ ఆప్షన్ల గురించి మరింత తెలుసుకోండి"</string>
<string name="device_screen_usage" msgid="1011630249648289909">"పూర్తిగా ఛార్జ్ చేసినప్పటి నుండి స్క్రీన్ వినియోగం"</string>
<string name="power_usage_list_summary" msgid="3237540201918492925">"ఫుల్ ఛార్జ్ చేసినప్పటి నుండి ఇప్పటి దాకా బ్యాటరీ వినియోగం"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"కొన్ని ఫీచర్లు పరిమితం చేయబడి ఉండవచ్చు"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"మరింత ఎక్కువ బ్యాటరీ వినియోగం"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"చాలా ఎక్కువగా బ్యాటరీని వినియోగించే యాప్లను చూడండి"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"ఛార్జింగ్ తాత్కాలికంగా పరిమితం చేయబడింది"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"మీ బ్యాటరీని కాపాడటానికి. మరింత తెలుసుకోండి."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"ఛార్జింగ్ను కొనసాగించండి"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"అధిక ఉష్ణోగ్రతలు, సుదీర్ఘ ఛార్జింగ్ వంటి కొన్ని సందర్భాల్లో, బ్యాటరీని కాపాడటానికి ఛార్జింగ్ <xliff:g id="PERCENT">%1$s</xliff:g>నికి పరిమితం చేయబడవచ్చు.\n\nఆ పరిస్థితులు మారినప్పుడు, మీ ఫోన్ ఆటోమేటిక్గా సాధారణంగా ఛార్జ్ అవుతుంది."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"అధిక ఉష్ణోగ్రతలు, దీర్ఘకాలిక ఛార్జింగ్ వంటి కొన్ని సందర్భాలలో, బ్యాటరీ స్థితిని కాపాడటానికి ఛార్జింగ్ <xliff:g id="PERCENT">%1$s</xliff:g>కు పరిమితం చేయబడవచ్చు.\n\nఆ పరిస్థితులు మారినప్పుడు, మీ టాబ్లెట్ ఆటోమేటిక్గా సాధారణంగా ఛార్జ్ అవుతుంది."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"ఈ యాప్ బ్యాక్గ్రౌండ్లో బ్యాటరీని ఉపయోగించగలదు. మీ బ్యాటరీ ఛార్జింగ్ త్వరగా ఖాళీ కావచ్చు."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"తీసివేయండి"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"రద్దు చేయండి"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"యాప్ల బ్యాటరీ వినియోగం సాధారణంగా ఉంది. యాప్లు చాలా ఎక్కువ బ్యాటరీని వాడుతుంటే ఏం చేయాలనేది మీ ఫోన్ సూచిస్తుంది. \n\nబ్యాటరీ తక్కువగా ఉంటే బ్యాటరీ సేవర్ ఆన్ చేయవచ్చు."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"మీ యాప్లు సాధారణ స్థాయిలో బ్యాటరీను వినియోగిస్తున్నాయి. యాప్లు చాలా ఎక్కువ బ్యాటరీని వినియోగిస్తున్నట్లయితే, మీ టాబ్లెట్, మీరు తీసుకోగల చర్యలను సూచిస్తుంది. \n\nమీరు తక్కువ బ్యాటరీను కలిగి ఉంటే, ఎప్పుడైనా మీరు బ్యాటరీ సేవర్ను ఆన్ చేయవచ్చు."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"మీ యాప్లు సాధారణ స్థాయిలో బ్యాటరీను వినియోగిస్తున్నాయి. యాప్లు చాలా ఎక్కువ బ్యాటరీని వినియోగిస్తున్నట్లయితే, మీ పరికరం, మీరు తీసుకోగల చర్యలను సూచిస్తుంది. \n\nమీరు తక్కువ బ్యాటరీను కలిగి ఉంటే, ఎప్పుడైనా మీరు బ్యాటరీ సేవర్ను ఆన్ చేయవచ్చు."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"<xliff:g id="PERCENT">%1$s</xliff:g> బ్యాటరీ ఉన్నప్పుడు"</string>
<string name="battery_percentage" msgid="1779934245963043490">"బ్యాటరీ పవర్ శాతం"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"స్టేటస్ బార్లో బ్యాటరీ పవర్ శాతాన్ని చూపుతుంది"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"చివరిసారి పూర్తి ఛార్జింగ్ నుండి బ్యాటరీ స్థాయి"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"గత 24 గంటలకు బ్యాటరీ స్థాయి"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"చివరిసారి పూర్తి ఛార్జింగ్ నుండి యాప్ వినియోగం"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"గత 24 గంటలకు యాప్ వినియోగం"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"చివరిసారి పూర్తి ఛార్జింగ్ నుండి సిస్టమ్ వినియోగం"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"గత 24 గంటలకు సిస్టమ్ వినియోగం"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"<xliff:g id="SLOT">%s</xliff:g> కోసం సిస్టమ్ వినియోగం సమాచారం"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"<xliff:g id="SLOT">%s</xliff:g> కోసం యాప్ వినియోగ సమాచారం"</string>
@@ -4073,7 +4084,7 @@
<string name="notif_listener_excluded_app_screen_title" msgid="8636196723227432994">"పరికరంలో కనిపించే యాప్లు"</string>
<string name="notif_listener_not_migrated" msgid="6265206376374278226">"మెరుగుపరిచిన సెట్టింగ్లను ఈ యాప్ సపోర్ట్ చేయదు"</string>
<string name="vr_listeners_title" msgid="4960357292472540964">"VR సహాయక సర్వీసులు"</string>
- <string name="no_vr_listeners" msgid="8442646085375949755">"ఇన్స్టాల్ చేసిన యాప్లు ఏవీ VR సహాయక సర్వీసులుగా అమలు కావడానికి రిక్వెస్ట్ చేయబడలేదు."</string>
+ <string name="no_vr_listeners" msgid="8442646085375949755">"ఇన్స్టాల్ చేసిన యాప్లేవీ వాటిని VR సహాయక సేవలుగా రన్ చేయాల్సిందిగా రిక్వెస్ట్ చేయలేదు."</string>
<string name="vr_listener_security_warning_title" msgid="7026351795627615177">"<xliff:g id="SERVICE">%1$s</xliff:g> కోసం VR సేవ యాక్సెస్ను అనుమతించాలా?"</string>
<string name="vr_listener_security_warning_summary" msgid="1888843557687017791">"మీరు వర్చువల్ రియాలిటీ మోడ్లో యాప్లను ఉపయోగిస్తున్నప్పుడు <xliff:g id="VR_LISTENER_NAME">%1$s</xliff:g> అమలు కాగలదు."</string>
<string name="display_vr_pref_title" msgid="4850474436291113569">"పరికరం VRలో ఉన్నప్పుడు"</string>
@@ -4364,7 +4375,7 @@
<string name="imei_information_title" msgid="8703564992893669514">"IMEI సమాచారం"</string>
<string name="imei_information_summary" msgid="4763358372990258786">"IMEI సంబంధిత సమాచారం"</string>
<string name="slot_number" msgid="2663789411468530397">"(స్లాట్<xliff:g id="SLOT_NUM">%1$d</xliff:g>)"</string>
- <string name="launch_by_default" msgid="892824422067985734">"ఆటోమేటిక్గా తెరువు"</string>
+ <string name="launch_by_default" msgid="892824422067985734">"ఆటోమేటిక్గా తెరవండి"</string>
<string name="app_launch_domain_links_title" msgid="6702041169676128550">"లింక్లను తెరవడం"</string>
<string name="app_launch_open_domain_urls_title" msgid="4805388403977096285">"సపోర్ట్ చేసే లింక్లను తెరవడం"</string>
<string name="app_launch_top_intro_message" msgid="137370923637482459">"ఈ యాప్లో వెబ్ లింక్లను తెరవడానికి అనుమతించండి"</string>
@@ -4438,7 +4449,7 @@
<item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> ఉపయోగించని యాప్</item>
</plurals>
<string name="unused_apps_category" msgid="8954930958175500851">"ఉపయోగించని యాప్ సెట్టింగ్లు"</string>
- <string name="unused_apps_switch" msgid="7595419855882245772">"ఉపయోగించని యాప్ యాక్టివిటీని పాజ్ చేయండి"</string>
+ <string name="unused_apps_switch" msgid="7595419855882245772">"యాప్ను ఉపయోగించకపోతే దాని యాక్టివిటీని పాజ్ చేయండి"</string>
<string name="unused_apps_switch_summary" msgid="2171098908014596802">"అనుమతులను తీసివేయండి, తాత్కాలిక ఫైళ్లను తొలగించండి, అలాగే నోటిఫికేషన్లను ఆపివేయండి"</string>
<string name="filter_all_apps" msgid="6645539744080251371">"అన్ని యాప్లు"</string>
<string name="filter_enabled_apps" msgid="8868356616126759124">"ఇన్స్టాల్ చేసిన యాప్లు"</string>
diff --git a/res/values-th/arrays.xml b/res/values-th/arrays.xml
index f4705c9..6e1be01 100644
--- a/res/values-th/arrays.xml
+++ b/res/values-th/arrays.xml
@@ -506,7 +506,7 @@
<string-array name="wifi_metered_entries">
<item msgid="3237321077949659241">"ตรวจหาโดยอัตโนมัติ"</item>
<item msgid="3779092145391320375">"ถือว่ามีการจำกัดปริมาณอินเทอร์เน็ต"</item>
- <item msgid="2047166446768045816">"ถือว่าไม่มีการวัดปริมาณอินเทอร์เน็ต"</item>
+ <item msgid="2047166446768045816">"ถือว่าไม่มีการจำกัดปริมาณอินเทอร์เน็ต"</item>
</string-array>
<string-array name="wifi_privacy_entries">
<item msgid="3485945604919292489">"ใช้ MAC แบบสุ่ม (ค่าเริ่มต้น)"</item>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 0ccc06f..8db8b3d 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"คุณไม่มีสิทธิ์ในการเปลี่ยนการตั้งค่าบลูทูธ"</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"จับคู่อุปกรณ์ใหม่"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"บลูทูธ"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"จับคู่หูฟังข้างขวา"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"จับคู่หูฟังข้างซ้าย"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"จับคู่หูฟังอีกข้าง"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"เชื่อมต่อเครื่องช่วยฟังข้างซ้ายแล้ว\n\nหากต้องการจับคู่ข้างขวา โปรดตรวจสอบว่าคุณเปิดเครื่องช่วยฟังแล้วและอุปกรณ์พร้อมจับคู่"</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"เชื่อมต่อเครื่องช่วยฟังข้างขวาแล้ว\n\nหากต้องการจับคู่ข้างซ้าย โปรดตรวจสอบว่าคุณเปิดเครื่องช่วยฟังแล้วและอุปกรณ์พร้อมจับคู่"</string>
@@ -536,7 +538,7 @@
<string name="security_settings_fingerprint_enroll_finish_title" msgid="3606325177406951457">"เพิ่มลายนิ้วมือแล้ว"</string>
<string name="security_settings_fingerprint_enroll_finish_v2_message" product="tablet" msgid="5918110416185820480">"ฟีเจอร์ปลดล็อกด้วยลายนิ้วมือจะยิ่งทำงานได้ดีขึ้น เมื่อคุณใช้ปลดล็อกแท็บเล็ตหรือยืนยันตัวตนในแอปมากยิ่งขึ้น"</string>
<string name="security_settings_fingerprint_enroll_finish_v2_message" product="device" msgid="2989276789236025675">"ฟีเจอร์ปลดล็อกด้วยลายนิ้วมือจะยิ่งทำงานได้ดีขึ้น เมื่อคุณใช้ปลดล็อกอุปกรณ์หรือยืนยันตัวตนในแอปมากยิ่งขึ้น"</string>
- <string name="security_settings_fingerprint_enroll_finish_v2_message" product="default" msgid="6506437402392739879">"ฟีเจอร์ปลดล็อกด้วยลายนิ้วมือจะยิ่งทำงานได้ดีขึ้น เมื่อคุณใช้ปลดล็อกโทรศัพท์หรือยืนยันตัวตนในแอปมากยิ่งขึ้น"</string>
+ <string name="security_settings_fingerprint_enroll_finish_v2_message" product="default" msgid="6506437402392739879">"ฟีเจอร์ปลดล็อกด้วยลายนิ้วมือจะทำงานได้ดียิ่งขึ้นเมื่อใช้ปลดล็อกโทรศัพท์หรือยืนยันตัวตนในแอปบ่อยๆ"</string>
<string name="security_settings_fingerprint_enroll_enrolling_skip" msgid="3004786457919122854">"ข้ามไปก่อน"</string>
<string name="security_settings_udfps_tip_fingerprint_help" msgid="7580784640741217494">"ยกนิ้วขึ้นแล้วแตะอีกครั้ง"</string>
<string name="security_settings_udfps_side_fingerprint_help" msgid="2567232481013195191">"วางด้านข้างของนิ้วค้างไว้บนเซ็นเซอร์ จากนั้นเปลี่ยนข้าง"</string>
@@ -617,7 +619,7 @@
<string name="fingerprint_delete_title" msgid="1469865327307917858">"นำ \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" ออก"</string>
<string name="fingerprint_delete_message" msgid="1454995433333496541">"คุณต้องการลบลายนิ้วมือนี้ไหม"</string>
<string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"การดำเนินการนี้จะลบรูปภาพและโมเดลลายนิ้วมือที่เชื่อมโยงกับ \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" ที่จัดเก็บในอุปกรณ์ของคุณ"</string>
- <string name="fingerprint_last_delete_message" msgid="7860374760549404410">"คุณจะไม่สามารถใช้ลายนิ้วมือเพื่อปลดล็อกโทรศัพท์หรือยืนยันว่าเป็นคุณในแอป"</string>
+ <string name="fingerprint_last_delete_message" msgid="7860374760549404410">"คุณจะไม่สามารถใช้ลายนิ้วมือของคุณปลดล็อกโทรศัพท์หรือยืนยันว่าเป็นคุณในแอป"</string>
<string name="fingerprint_last_delete_message_profile_challenge" msgid="4104208067277655068">"คุณจะไม่สามารถใช้ลายนิ้วมือเพื่อปลดล็อกโปรไฟล์งาน ให้สิทธิ์การซื้อ หรือลงชื่อเข้าใช้แอปงาน"</string>
<string name="fingerprint_last_delete_confirm" msgid="3294910995598819259">"ใช่ นำออกเลย"</string>
<string name="encryption_settings_title" msgid="2848716008695618360">"การเข้ารหัส"</string>
@@ -1324,9 +1326,9 @@
<string name="auto_rotate_option_on" msgid="5776678230808498171">"เปิด"</string>
<string name="auto_rotate_option_face_based" msgid="3438645484087953174">"เปิด - ตามใบหน้า"</string>
<string name="auto_rotate_switch_face_based" msgid="9116123744601564320">"การตรวจจับใบหน้า"</string>
- <string name="auto_rotate_screen_summary" msgid="4547268203621754096">"ปรับการวางแนวหน้าจอโดยอัตโนมัติเมื่อคุณหันโทรศัพท์ไปมาระหว่างแนวตั้งและแนวนอน"</string>
+ <string name="auto_rotate_screen_summary" msgid="4547268203621754096">"ปรับการวางแนวหน้าจอโดยอัตโนมัติเมื่อคุณหมุนโทรศัพท์ไปมาระหว่างแนวตั้งและแนวนอน"</string>
<string name="auto_rotate_link_a11y" msgid="5146188567212233286">"ดูข้อมูลเพิ่มเติมเกี่ยวกับการหมุนอัตโนมัติ"</string>
- <string name="auto_rotate_summary_a11y" msgid="1505094100328581685">"เมื่อคุณหันโทรศัพท์ไปมาระหว่างแนวตั้งและแนวนอน"</string>
+ <string name="auto_rotate_summary_a11y" msgid="1505094100328581685">"เมื่อคุณหมุนโทรศัพท์ไปมาระหว่างแนวตั้งและแนวนอน"</string>
<string name="screen_resolution_title" msgid="2690518693139811486">"ความละเอียดของหน้าจอ"</string>
<string name="screen_resolution_option_high" msgid="2617496842852992853">"ความละเอียดสูง"</string>
<string name="screen_resolution_option_highest" msgid="9134161136319625840">"ความละเอียดเต็ม"</string>
@@ -2329,11 +2331,11 @@
<string name="accessibility_magnification_area_settings_message" msgid="8498648925928109462">"ขยายเป็นเต็มหน้าจอ ขยายพื้นที่ที่เจาะจง หรือจะสลับไปมาระหว่างตัวเลือกทั้ง 2 อย่างก็ได้"</string>
<string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"เต็มหน้าจอ"</string>
<string name="accessibility_magnification_area_settings_window_screen_summary" msgid="9191632962955877019">"หน้าจอบางส่วน"</string>
- <string name="accessibility_magnification_area_settings_all_summary" msgid="8107511976748799455">"สลับไปมาระหว่างแบบเต็มหน้าจอกับบางส่วน"</string>
+ <string name="accessibility_magnification_area_settings_all_summary" msgid="8107511976748799455">"สลับไปมาระหว่างหน้าจอแบบเต็มกับหน้าจอบางส่วน"</string>
<string name="accessibility_magnification_mode_dialog_title" msgid="9151027667059878578">"เลือกวิธีขยาย"</string>
<string name="accessibility_magnification_mode_dialog_option_full_screen" msgid="4892487869954032029">"ขยายเป็นเต็มหน้าจอ"</string>
<string name="accessibility_magnification_mode_dialog_option_window" msgid="4492443201099153362">"ขยายบางส่วนของหน้าจอ"</string>
- <string name="accessibility_magnification_mode_dialog_option_switch" msgid="561043521011229424">"สลับไปมาระหว่างแบบเต็มหน้าจอกับบางส่วน"</string>
+ <string name="accessibility_magnification_mode_dialog_option_switch" msgid="561043521011229424">"สลับไปมาระหว่างหน้าจอแบบเต็มกับหน้าจอบางส่วน"</string>
<string name="accessibility_magnification_area_settings_mode_switch_summary" msgid="2885238806099080966">"แตะปุ่มเปลี่ยนเพื่อสลับไปมาระหว่างทั้ง 2 ตัวเลือก"</string>
<string name="accessibility_magnification_switch_shortcut_title" msgid="3671432048806533079">"เปลี่ยนไปใช้ปุ่มการช่วยเหลือพิเศษใช่ไหม"</string>
<string name="accessibility_magnification_switch_shortcut_message" msgid="7718653917415163833">"การใช้การแตะ 3 ครั้งเพื่อขยายบางส่วนของหน้าจอจะทำให้การพิมพ์และการดำเนินการอื่นๆ ล่าช้า\n\nปุ่มการช่วยเหลือพิเศษจะลอยอยู่บนหน้าจอเหนือแอปอื่นๆ แตะปุ่มดังกล่าวเพื่อขยาย"</string>
@@ -2366,7 +2368,7 @@
<string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"แตะ 3 ครั้งเพื่อซูม"</string>
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"แตะปุ่มเพื่อซูม"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"ซูมเข้าอย่างรวดเร็วบนหน้าจอเพื่อทำให้เนื้อหาใหญ่ขึ้น"</string>
- <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>วิธีซูมเข้า</b><br/> {0,number,integer} ใช้ทางลัดเพื่อเริ่มการขยาย<br/> {1,number,integer} แตะหน้าจอ<br/> {2,number,integer} ใช้ 2 นิ้วลากเพื่อย้ายไปรอบๆ หน้าจอ<br/> {3,number,integer} บีบ 2 นิ้วเพื่อปรับการซูม<br/> {4,number,integer} ใช้ทางลัดเพื่อหยุดการขยาย<br/><br/> <b>วิธีซูมเข้าชั่วคราว</b><br/> {0,number,integer} ตรวจสอบว่าตั้งค่าประเภทการขยายเป็นเต็มหน้าจอ<br/> {1,number,integer} ใช้ทางลัดเพื่อเริ่มการขยาย<br/> {2,number,integer} แตะที่ใดก็ได้บนหน้าจอค้างไว้<br/> {3,number,integer} ลากนิ้วเพื่อย้ายไปรอบๆ หน้าจอ<br/> {4,number,integer} ยกนิ้วขึ้นเพื่อหยุดการขยาย"</string>
+ <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>วิธีซูมเข้า</b><br/> {0,number,integer} ใช้ทางลัดเพื่อเริ่มการขยาย<br/> {1,number,integer} แตะหน้าจอ<br/> {2,number,integer} ใช้ 2 นิ้วลากเพื่อย้ายไปรอบๆ หน้าจอ<br/> {3,number,integer} บีบ 2 นิ้วเพื่อปรับการซูม<br/> {4,number,integer} ใช้ทางลัดเพื่อหยุดการขยาย<br/><br/> <b>วิธีซูมเข้าชั่วคราว</b><br/> {0,number,integer} ตรวจสอบว่าตั้งค่าประเภทการขยายเป็นแบบเต็มหน้าจอ<br/> {1,number,integer} ใช้ทางลัดเพื่อเริ่มการขยาย<br/> {2,number,integer} แตะที่ใดก็ได้บนหน้าจอค้างไว้<br/> {3,number,integer} ลากนิ้วเพื่อย้ายไปรอบๆ หน้าจอ<br/> {4,number,integer} ยกนิ้วขึ้นเพื่อหยุดการขยาย"</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"คุณจะซูมหน้าจอเข้าได้เมื่อเปิดการขยาย\n\n"<b>"วิธีซูมคือ"</b>" เริ่มการขยาย จากนั้นแตะบริเวณที่ต้องการซูมในหน้าจอ\n"<ul><li>"ลากนิ้วอย่างน้อย 2 นิ้วเพื่อเลื่อน"</li>\n<li>"บีบนิ้วอย่างน้อย 2 นิ้วเพื่อปรับการซูม"</li></ul>\n\n<b>"วิธีซูมชั่วคราวคือ"</b>" เริ่มการขยาย จากนั้นแตะบริเวณที่ต้องการซูมในหน้าจอค้างไว้\n"<ul><li>"ลากเพื่อไปยังส่วนต่างๆ ในหน้าจอ"</li>\n<li>"ยกนิ้วขึ้นเพื่อซูมออก"</li></ul>\n\n"คุณซูมเข้าโดยใช้แป้นพิมพ์หรือแถบนำทางไม่ได้"</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"หน้า <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> จาก <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"ใช้ปุ่มการช่วยเหลือพิเศษเพื่อเปิด"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"อาจมีการจำกัดฟีเจอร์บางอย่าง"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"การใช้งานแบตเตอรี่สูงกว่าปกติ"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"ดูแอปที่มีการใช้งานแบตเตอรี่สูงสุด"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"จำกัดการชาร์จชั่วคราว"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"เพื่อถนอมแบตเตอรี่ ดูข้อมูลเพิ่มเติม"</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"ชาร์จต่อ"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"ในบางสภาวะ เช่น อุณหภูมิสูงและชาร์จเป็นเวลานาน การชาร์จอาจจำกัดอยู่ที่ <xliff:g id="PERCENT">%1$s</xliff:g> เพื่อรักษาประสิทธิภาพของแบตเตอรี่\n\nโทรศัพท์จะกลับมาชาร์จตามปกติโดยอัตโนมัติเมื่อไม่ได้อยู่ในสภาวะดังกล่าวแล้ว"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"ในบางสภาวะ เช่น อุณหภูมิสูงและชาร์จเป็นเวลานาน การชาร์จอาจจำกัดอยู่ที่ <xliff:g id="PERCENT">%1$s</xliff:g> เพื่อรักษาประสิทธิภาพของแบตเตอรี่\n\nแท็บเล็ตจะกลับมาชาร์จตามปกติโดยอัตโนมัติเมื่อไม่ได้อยู่ในสภาวะดังกล่าวแล้ว"</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"แอปนี้จะใช้แบตเตอรี่ในเบื้องหลังได้ แบตเตอรี่จึงอาจจะหมดเร็วกว่าที่คาดไว้"</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"นำออก"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"ยกเลิก"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"แอปกำลังใช้แบตเตอรี่ตามปกติ หากแอปใช้แบตเตอรี่มากเกินไป โทรศัพท์จะแนะนำการดำเนินการที่คุณทำได้\n\nคุณเปิดโหมดประหยัดแบตเตอรี่ได้ทุกเมื่อหากแบตเตอรี่เหลือน้อย"</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"แอปกำลังใช้แบตเตอรี่ตามปกติ หากแอปใช้แบตเตอรี่มากเกินไป แท็บเล็ตจะแนะนำการดำเนินการที่คุณทำได้\n\nคุณเปิดโหมดประหยัดแบตเตอรี่ได้ทุกเมื่อหากแบตเตอรี่เหลือน้อย"</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"แอปกำลังใช้แบตเตอรี่ตามปกติ หากแอปใช้แบตเตอรี่มากเกินไป อุปกรณ์จะแนะนำการดำเนินการที่คุณทำได้\n\nคุณเปิดโหมดประหยัดแบตเตอรี่ได้ทุกเมื่อหากแบตเตอรี่เหลือน้อย"</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"ที่แบตเตอรี่ <xliff:g id="PERCENT">%1$s</xliff:g>"</string>
<string name="battery_percentage" msgid="1779934245963043490">"เปอร์เซ็นต์แบตเตอรี่"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"แสดงเปอร์เซ็นต์แบตเตอรี่ในแถบสถานะ"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"ระดับแบตเตอรี่นับตั้งแต่ชาร์จจนเต็มครั้งล่าสุด"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"ระดับแบตเตอรี่ใน 24 ชม. ที่ผ่านมา"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"การใช้งานแอปนับตั้งแต่ชาร์จจนเต็มครั้งล่าสุด"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"การใช้งานแอปใน 24 ชม. ที่ผ่านมา"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"การใช้งานระบบนับตั้งแต่ชาร์จจนเต็มครั้งล่าสุด"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"การใช้งานระบบใน 24 ชม. ที่ผ่านมา"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"การใช้งานระบบเมื่อ <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"การใช้งานแอปเมื่อ <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -4214,7 +4225,7 @@
<string name="zen_mode_calls_list" msgid="5044730950895749093">"การโทร"</string>
<string name="zen_mode_calls_header" msgid="8379225445095856726">"การโทรเข้าที่รบกวนคุณได้"</string>
<string name="zen_mode_calls_footer" msgid="2008079711083701243">"ตรวจสอบว่าคุณตั้งค่าอุปกรณ์ให้ส่งเสียง เพื่อให้แน่ใจว่าอุปกรณ์จะส่งเสียงเมื่อมีสายเรียกเข้าที่อนุญาต"</string>
- <string name="zen_mode_custom_calls_footer" msgid="6521283204577441053">"บล็อกสายเรียกเข้าสำหรับ \"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\" เอาไว้ คุณปรับเปลี่ยนการตั้งค่าเพื่ออนุญาตให้เพื่อน ครอบครัว หรือรายชื่อติดต่อคนอื่นๆ ติดต่อคุณได้"</string>
+ <string name="zen_mode_custom_calls_footer" msgid="6521283204577441053">"บล็อกสายเรียกเข้าเอาไว้สำหรับ \"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\" คุณปรับเปลี่ยนการตั้งค่าเพื่ออนุญาตให้เพื่อน ครอบครัว หรือรายชื่อติดต่อคนอื่นๆ ติดต่อคุณได้"</string>
<string name="zen_mode_starred_contacts_title" msgid="630299631659575589">"รายชื่อติดต่อที่ติดดาว"</string>
<string name="zen_mode_starred_contacts_summary_contacts" msgid="1629467178444895094">"{count,plural,offset:2 =0{ไม่มี}=1{{contact_1}}=2{{contact_1} และ {contact_2}}=3{{contact_1}, {contact_2} และ {contact_3}}other{{contact_1}, {contact_2} และคนอื่นๆ อีก # ราย}}"</string>
<string name="zen_mode_starred_contacts_empty_name" msgid="2906404745550293688">"(ไม่มีชื่อ)"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 1962d57..f040b4d 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Wala kang pahintulot na palitan ang mga setting ng Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Magpares ng bagong device"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Ipares ang kanan"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Ipares ang kaliwa"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Ipares ang kabila"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Nakakonekta ang iyong kaliwang hearing aid.\n\nPara ipares ang kanan, tiyaking naka-on ito at handang ipares."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Nakakonekta ang iyong kanang hearing aid.\n\nPara ipares ang kaliwa, tiyaking naka-on ito at handang ipares."</string>
@@ -872,7 +874,7 @@
<string name="bluetooth_menu_advanced" msgid="7633682234855216066">"Advanced"</string>
<string name="bluetooth_advanced_titlebar" msgid="5369701494951467257">"Advanced na Bluetooth"</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_scanning_on_info_message" msgid="6667723887545056976">"Kapag naka-on ang Bluetooth, puwedeng makipag-ugnayan ang iyong device sa iba pang malapit na Bluetooth device.\n\nPara mapaganda ang karanasan 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 "<annotation id="link">"mga setting ng pag-scan ng Bluetooth"</annotation>"."</string>
+ <string name="bluetooth_scanning_on_info_message" msgid="6667723887545056976">"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 "<annotation id="link">"mga setting ng pag-scan ng Bluetooth"</annotation>"."</string>
<string name="ble_scan_notify_text" msgid="1358879010396045164">"Upang pahusayin ang katumpakan ng lokasyon, maaari pa ring mag-detect ng mga Bluetooth device ang mga app at serbisyo ng system. Maaari mo itong baguhin sa <xliff:g id="LINK_BEGIN_0">LINK_BEGIN</xliff:g>mga setting ng pag-scan<xliff:g id="LINK_END_1">LINK_END</xliff:g>."</string>
<string name="bluetooth_connect_failed" msgid="7892663424429584925">"Hindi makakonekta. Subukang muli."</string>
<string name="device_details_title" msgid="1155622417516195481">"Mga detalye ng device"</string>
@@ -1392,8 +1394,8 @@
<string name="night_display_text" msgid="4789324042428095383">"Dahil sa Night Light, nagiging kulay amber ang iyong screen. Mas pinapadali nitong matingnan ang iyong screen o makapagbasa sa dim light, at maaaring makatulong sa iyong mas mabilis na makatulog."</string>
<string name="night_display_auto_mode_title" msgid="5869128421470824381">"Iskedyul"</string>
<string name="night_display_auto_mode_never" msgid="2721729920187175239">"Wala"</string>
- <string name="night_display_auto_mode_custom" msgid="3938791496034086916">"Ino-on sa custom na oras"</string>
- <string name="night_display_auto_mode_twilight" msgid="4291855156158833997">"Ino-on mula sunset hanggang sunrise"</string>
+ <string name="night_display_auto_mode_custom" msgid="3938791496034086916">"On sa custom na oras"</string>
+ <string name="night_display_auto_mode_twilight" msgid="4291855156158833997">"On mula sunset hanggang sunrise"</string>
<string name="night_display_start_time_title" msgid="2611541851596977786">"Oras ng pagsisimula"</string>
<string name="night_display_end_time_title" msgid="5243112480391192111">"Oras ng pagtatapos"</string>
<string name="night_display_status_title" msgid="9006282950657941820">"Status"</string>
@@ -1420,8 +1422,8 @@
<string name="dark_ui_title" msgid="3373976268671557416">"Dark Mode"</string>
<string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Iskedyul"</string>
<string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Wala"</string>
- <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Ino-on sunset hanggang sunrise"</string>
- <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Ino-on sa custom na oras"</string>
+ <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"On mula sunset hanggang sunrise"</string>
+ <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"On sa custom na oras"</string>
<string name="dark_ui_auto_mode_custom_bedtime" msgid="8465023741946439266">"Nag-o-on sa oras ng pagtulog"</string>
<string name="dark_ui_status_title" msgid="3505119141437774329">"Status"</string>
<string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Hindi awtomatikong mag-o-on kailanman"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Maaaring limitado ang ilang feature"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Mas malakas na paggamit ng baterya"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Tingnan ang mga app na pinakamalakas gumamit"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Pansamantalang limitado ang pag-charge"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Para tumagal ang iyong baterya. Matuto pa."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Ituloy ang pag-charge"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Sa ilang partikular na kundisyon, tulad ng maiinit na temperatura at matatagal na pag-charge, posibleng malimitahan ang pag-charge sa <xliff:g id="PERCENT">%1$s</xliff:g> para makatulong na patagalin ang baterya.\n\nKapag wala na ang mga kundisyong iyon, awtomatikong magcha-charge nang normal ang iyong telepono."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Sa ilang partikular na kundisyon, tulad ng maiinit na temperatura at matatagal na pag-charge, posibleng malimitahan ang pag-charge sa <xliff:g id="PERCENT">%1$s</xliff:g> para makatulong na patagalin ang baterya.\n\nKapag wala na ang mga kundisyong iyon, awtomatikong magcha-charge nang normal ang iyong tablet."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Makakagamit ang app na ito ng baterya sa background. Maaaring maubos ang iyong baterya nang mas maaga kaysa sa inaasahan."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Alisin"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Kanselahin"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Karaniwan lang ang paggamit ng baterya ng iyong mga app. Kung masyadong malakas gumamit ng baterya ang mga app, magmumungkahi ang iyong telepono ng mga aksyong puwede mong gawin.\n\nPuwede mong i-on ang Pantipid ng Baterya anumang oras kung paubos na ang baterya mo."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Karaniwan lang ang paggamit ng baterya ng iyong mga app. Kung masyadong malakas gumamit ng baterya ang mga app, magmumungkahi ang iyong tablet ng mga aksyong puwede mong gawin.\n\nPuwede mong i-on ang Pantipid ng Baterya anumang oras kung paubos na ang baterya mo."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Karaniwan lang ang paggamit ng baterya ng iyong mga app. Kung masyadong malakas gumamit ng baterya ang mga app, magmumungkahi ang iyong device ng mga aksyong puwede mong gawin.\n\nPuwede mong i-on ang Pantipid ng Baterya anumang oras kung paubos na ang baterya mo."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"sa <xliff:g id="PERCENT">%1$s</xliff:g> baterya"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Porsyento ng baterya"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Ipakita ang porsyento ng baterya sa status bar"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Antas ng baterya mula noong huling napuno ang baterya"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Level ng baterya sa huling 24 na oras"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Paggamit ng app mula noong huling napuno ang baterya"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Paggamit ng app sa huling 24 na oras"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Paggamit ng system mula noong huling napuno ang baterya"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Paggamit ng system sa huling 24 na oras"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Paggamit ng system sa <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Paggamit ng app sa <xliff:g id="SLOT">%s</xliff:g>"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 26403ef..feffc70 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Bluetooth ayarlarını değiştirmek için izniniz yok."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Yeni cihaz eşle"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Sağ kulağı eşle"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Sol kulağı eşle"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Diğer kulağınızı eşleyin"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Soldaki işitme cihazınız bağlandı.\n\nSağdakini eşlemek için cihazın açık ve eşlenmeye hazır olduğundan emin olun."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Sağdaki işitme cihazınız bağlandı.\n\nSoldakini eşlemek için cihazın açık ve eşlenmeye hazır olduğundan emin olun."</string>
@@ -872,7 +874,7 @@
<string name="bluetooth_menu_advanced" msgid="7633682234855216066">"Gelişmiş"</string>
<string name="bluetooth_advanced_titlebar" msgid="5369701494951467257">"Gelişmiş Bluetooth"</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_scanning_on_info_message" msgid="6667723887545056976">"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 yakındaki cihazları Bluetooth kapalıyken bile her zaman tarayabilir. Bu özellik, örneğin, konuma dayalı özellikleri ve hizmetleri iyileştirmek için kullanılabilir. Bunu istediğiniz zaman "<annotation id="link">"Bluetooth tarama ayarlarından"</annotation>" değiştirebilirsiniz."</string>
+ <string name="bluetooth_scanning_on_info_message" msgid="6667723887545056976">"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 her zaman için tarama yapabilir. Bu özellik, örneğin, konuma dayalı özellikleri ve hizmetleri iyileştirmek için kullanılabilir. Bunu istediğiniz zaman "<annotation id="link">"Bluetooth tarama ayarlarından"</annotation>" değiştirebilirsiniz."</string>
<string name="ble_scan_notify_text" msgid="1358879010396045164">"Sistem uygulamaları ve hizmetleri, konum doğruluğunu iyileştirmek için Bluetooth cihazları yine de algılayabilir. Bu ayarı, <xliff:g id="LINK_BEGIN_0">LINK_BEGIN</xliff:g>tarama ayarlarından<xliff:g id="LINK_END_1">LINK_END</xliff:g> değiştirebilirsiniz."</string>
<string name="bluetooth_connect_failed" msgid="7892663424429584925">"Bağlanılamadı. Tekrar deneyin."</string>
<string name="device_details_title" msgid="1155622417516195481">"Cihaz ayrıntıları"</string>
@@ -2552,8 +2554,8 @@
<string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Mavi-sarı"</string>
<string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Gri tonlama"</string>
<string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Yeşil zayıf, yeşil renk körlüğü"</string>
- <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Kırmızı zayıf, kırmızı renk körlüğü"</string>
- <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Mavi renk körlüğü"</string>
+ <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Kırmızı zayıf, protanomali"</string>
+ <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomali"</string>
<string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Ekstra loş"</string>
<string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Ekranı ekstra loş yap"</string>
<string name="reduce_bright_colors_shortcut_title" msgid="495648157059202745">"Ekstra loş kısayolu"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Bazı özellikler sınırlı olabilir"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Yüksek pil kullanımı"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"En fazla pil kullanan uygulamaları göster"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Şarj etme geçici olarak sınırlı"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Pilinizi korumak için. Daha fazla bilgi edinin."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Şarja devam et"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Yüksek sıcaklıklar ve uzun şarj etme süreleri gibi belirli durumlarda pil sağlığını korumak için şarj etme işlemi <xliff:g id="PERCENT">%1$s</xliff:g> ile sınırlanabilir.\n\nBu gibi durumlar sona erdiğinde telefonunuz otomatik olarak normal şarj etmeye başlar."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Yüksek sıcaklıklar ve uzun şarj etme süreleri gibi belirli durumlarda pil sağlığını korumak için şarj etme işlemi <xliff:g id="PERCENT">%1$s</xliff:g> ile sınırlanabilir.\n\nBu gibi durumlar sona erdiğinde tabletiniz otomatik olarak normal şarj etmeye başlar."</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Bu uygulama arka planda pil gücünü kullanabilecek. Piliniz beklenenden daha erken bitebilir."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Kaldır"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"İptal"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Uygulamalarınız normal miktarda pil kullanıyor. Uygulamalar çok fazla pil kullanırsa telefonunuz size bazı önerilerde bulunacaktır.\n\nPiliniz azaldığında her zaman Pil Tasarrufu\'nu açabilirsiniz."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Uygulamalarınız normal miktarda pil kullanıyor. Uygulamalar çok fazla pil kullanırsa tabletiniz size bazı önerilerde bulunacaktır.\n\nPiliniz azaldığında her zaman Pil Tasarrufu\'nu açabilirsiniz."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Uygulamalarınız normal miktarda pil kullanıyor. Uygulamalar çok fazla pil kullanırsa cihazınız size bazı önerilerde bulunacaktır.\n\nPiliniz azaldığında her zaman Pil Tasarrufu\'nu açabilirsiniz."</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"<xliff:g id="PERCENT">%1$s</xliff:g> pil gücü"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Pil yüzdesi"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Durum çubuğunda pil yüzdesini göster"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Son tam şarjdan bu yana pil seviyesi"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Son 24 saatteki pil seviyesi"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Son tam şarjdan bu yana uygulama kullanımı"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Son 24 saatteki uygulama kullanımı"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Son tam şarjdan bu yana sistem kullanımı"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Son 24 saatteki sistem kullanımı"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"<xliff:g id="SLOT">%s</xliff:g> için sistem kullanımı"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"<xliff:g id="SLOT">%s</xliff:g> için uygulama kullanımı"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index ca18eba..b2f7e25 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -87,6 +87,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Ви не маєте дозволу змінювати налаштування Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Підключити новий пристрій"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Підключити правий"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Підключити лівий"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Підключити другий"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Ваш лівий слуховий апарат підключено.\n\nЩоб підключити правий слуховий апарат, переконайтеся, що він увімкнений і готовий до підключення."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Ваш правий слуховий апарат підключено.\n\nЩоб підключити лівий слуховий апарат, переконайтеся, що він увімкнений і готовий до підключення."</string>
@@ -1667,7 +1669,7 @@
<string name="storage_menu_manage" msgid="7465522758801346408">"Керувати сховищем"</string>
<string name="keywords_storage_menu_free" msgid="2275406357317597106">"очистити, пам\'ять"</string>
<string name="storage_free_up_space_title" msgid="281047807372131975">"Звільнити місце"</string>
- <string name="storage_free_up_space_summary" msgid="6650027929735481350">"Щоб упорядкувати файли та звільнити місце, перейдіть у додаток Файли"</string>
+ <string name="storage_free_up_space_summary" msgid="6650027929735481350">"Щоб упорядкувати файли та звільнити місце, перейдіть у додаток Files"</string>
<string name="storage_title_usb" msgid="1332488715547400452">"USB-з’єднання комп’ютера"</string>
<string name="usb_connection_category" msgid="2288543238378907242">"Під’єднати як"</string>
<string name="usb_mtp_title" msgid="9068009584556422314">"Пристрій зберігання даних (MTP)"</string>
@@ -2506,7 +2508,7 @@
<string name="accessibility_display_inversion_shortcut_title" msgid="6889624526691513462">"Швидкий запуск інверсії кольорів"</string>
<string name="accessibility_display_inversion_preference_intro_text" msgid="1159663288481145318">"Інверсія кольорів перетворює світлі кольори на темні та навпаки."</string>
<string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>Зверніть увагу</b><br/> <ol> <li> Інверсія також змінить кольори зображень і мультимедійного контенту</li> <li> Інверсія кольорів вплине на всі додатки</li> <li> Якщо потрібно зробити фон інтерфейсу не таким яскравим, натомість увімкніть Темну тему</li> </ol>"</string>
- <string name="accessibility_autoclick_preference_title" msgid="2703143361605555752">"Автоматичне натискання (час взаємодії)"</string>
+ <string name="accessibility_autoclick_preference_title" msgid="2703143361605555752">"Автонатискання (час взаємодії)"</string>
<string name="accessibility_autoclick_about_title" msgid="152923024405552594">"Про авт. натискання (час взаємодії)"</string>
<string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"Докладніше про автоматичне натискання (час взаємодії)"</string>
<string name="accessibility_autoclick_intro_text" msgid="8959680635470639347">"Можна налаштувати автоматичне натискання підключеної миші, коли курсор не рухається впродовж певного часу"</string>
@@ -2821,8 +2823,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Деякі функції можуть не працювати"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Збільшене використання заряду"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Переглянути додатки, що найбільше використовують заряд"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Заряджання тимчасово обмежено"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Це запобігає старінню акумулятора. Докладніше."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Відновити заряджання"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"За певних умов, таких як висока температура й довготривале заряджання, система може встановлювати для рівня заряду обмеження <xliff:g id="PERCENT">%1$s</xliff:g>, щоб подовжити термін служби акумулятора.\n\nКоли умови нормалізуються, телефон заряджатиметься, як зазвичай."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"За певних умов, таких як висока температура й довготривале заряджання, система може встановлювати для рівня заряду обмеження <xliff:g id="PERCENT">%1$s</xliff:g>, щоб подовжити термін служби акумулятора.\n\nКоли умови нормалізуються, планшет заряджатиметься, як зазвичай."</string>
@@ -2868,6 +2874,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Цей додаток зможе споживати заряд акумулятора у фоновому режимі. Акумулятор може розрядитися швидше."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Видалити"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Скасувати"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Додатки використовують звичайний обсяг заряду акумулятора. Якщо вони споживатимуть забагато енергії, телефон запропонує відповідні дії.\n\nВи завжди можете ввімкнути режим економії заряду акумулятора."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Додатки використовують звичайний обсяг заряду акумулятора. Якщо вони споживатимуть забагато енергії, планшет запропонує відповідні дії.\n\nВи завжди можете ввімкнути режим економії заряду акумулятора."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Додатки використовують звичайний обсяг заряду акумулятора. Якщо вони споживатимуть забагато енергії, пристрій запропонує відповідні дії.\n\nВи завжди можете ввімкнути режим економії заряду акумулятора."</string>
@@ -3049,8 +3057,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"коли рівень заряду акумулятора – <xliff:g id="PERCENT">%1$s</xliff:g>"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Заряд акумулятора у відсотках"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Показувати відсоток заряду в рядку стану"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Рівень заряду акумулятора після останнього повного заряджання"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Заряд акумулятора за останні 24 години"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Використання додатками після останнього повного заряджання"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Споживання додатками за останні 24 години"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Використання системою після останнього повного заряджання"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Споживання системою за останні 24 години"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Споживання на роботу системи (<xliff:g id="SLOT">%s</xliff:g>)"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Споживання на роботу додатків (<xliff:g id="SLOT">%s</xliff:g>)"</string>
@@ -4317,7 +4328,7 @@
<string name="zen_mode_calls_header" msgid="8379225445095856726">"Хто може турбувати"</string>
<string name="zen_mode_calls_footer" msgid="2008079711083701243">"Щоб не пропустити виклик від дозволеного абонента, переконайтеся, що телефон не перебуває в беззвучному режимі"</string>
<string name="zen_mode_custom_calls_footer" msgid="6521283204577441053">"Вхідні виклики блокуються, коли активовано розклад \"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\". Ви можете змінити налаштування, щоб потрібні люди могли зв’язатися з вами."</string>
- <string name="zen_mode_starred_contacts_title" msgid="630299631659575589">"Позначені контакти"</string>
+ <string name="zen_mode_starred_contacts_title" msgid="630299631659575589">"Контакти із зірочками"</string>
<string name="zen_mode_starred_contacts_summary_contacts" msgid="1629467178444895094">"{count,plural,offset:2 =0{Немає}=1{{contact_1}}=2{{contact_1} і {contact_2}}=3{{contact_1}, {contact_2} і {contact_3}}one{{contact_1}, {contact_2} і ще #}few{{contact_1}, {contact_2} і ще #}many{{contact_1}, {contact_2} і ще #}other{{contact_1}, {contact_2} і ще #}}"</string>
<string name="zen_mode_starred_contacts_empty_name" msgid="2906404745550293688">"(Без імені)"</string>
<string name="zen_mode_messages" msgid="7315084748885170585">"Повідомлення"</string>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index d7dd6d1..4db391f 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"آپ کو بلوٹوتھ ترتیبات میں تبدیلی کرنے کی اجازت نہیں ہے۔"</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"نئے آلہ کا جوڑا بنائیں"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"بلوٹوتھ"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"دائیں کان کا جوڑا بنائیں"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"بائیں کان کا جوڑا بنائیں"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"اپنے دوسرے کان کا جوڑا بنائیں"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"آپ کے بائیں کان کا سماعتی آلہ منسلک ہے۔\n\nدائیں کان کا جوڑا بنانے کے لیے، اس بات کو یقینی بنائیں کہ یہ آن ہے اور جوڑا بنانے کے لیے تیار ہے۔"</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"آپ کے دائیں کان کا سماعتی آلہ منسلک ہے۔\n\nبائیں کان کا جوڑا بنانے کے لیے، اس بات کو یقینی بنائیں کہ یہ آن ہے اور جوڑا بنانے کے لیے تیار ہے۔"</string>
@@ -2457,7 +2459,7 @@
<string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"رنگوں کی تقلیب استعمال کریں"</string>
<string name="accessibility_display_inversion_shortcut_title" msgid="6889624526691513462">"رنگوں کی تقلیب کا شارٹ کٹ"</string>
<string name="accessibility_display_inversion_preference_intro_text" msgid="1159663288481145318">"رنگوں کی تقلیب سے اسکرینز کا ہلکا رنگ گہرا ہو جاتا ہے۔ یہ گہری اسکرینز کو ہلکے رنگ میں بھی تبدیل کرتی ہے۔"</string>
- <string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>یاد رکھیں</b><br/> <ol> <li> میڈیا اور تصاویر میں رنگ تبدیل ہو جائیں گے</li> <li> رنگوں کی تقلیب تمام ایپس پر کام کرتی ہے</li> <li> گہرے پس منظر کو ڈسپلے کرنے کے لیے، اس کی بجائے گہری تھیم کا استعمال کیا جا سکتا ہے</li> </ol>"</string>
+ <string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>یاد رکھیں</b><br/> <ol> <li> میڈیا اور تصاویر میں رنگ تبدیل ہو جائیں گے</li> <li> رنگوں کی تقلیب تمام ایپس پر کام کرتی ہے</li> <li> گہرے پس منظر کو ڈسپلے کرنے کے لیے، اس کی بجائے گہری تھیم کا استعمال کیا جا سکتا ہے</li> </ol>"</string>
<string name="accessibility_autoclick_preference_title" msgid="2703143361605555752">"خودکار کلک (ہولڈ کا وقت)"</string>
<string name="accessibility_autoclick_about_title" msgid="152923024405552594">"خودکار کلک کے بارے میں (پسنے کا وقت)"</string>
<string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"خود کار کلک کے بارے میں مزید جانیں (پسنے کا وقت)"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"کچھ خصوصیات محدود ہو سکتی ہيں"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"بیٹری کا بہت زیادہ استعمال"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"سب سے زیادہ بیٹری استعمال کرنے والی ایپس دیکھیں"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"چارجنگ عارضی طور پر محدود ہے"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"آپ کی بیٹری کو محفوظ رکھنے کے لیے۔ مزید جانیں۔"</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"چارج کرنا دوبارہ شروع کریں"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"بہت زیادہ درجہ حرارت اور چارجنگ کی طویل مدتوں جیسے مخصوص حالات میں، چارجنگ بیٹری کی صحت کی حفاظت میں مدد کے لیے <xliff:g id="PERCENT">%1$s</xliff:g> تک محدود ہو سکتی ہے۔\n\nان حالات کے ختم ہونے پر آپ کا فون نارمل طریقے سے خودکار طور پر چارج ہوگا۔"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"بہت زیادہ درجہ حرارت اور چارجنگ کی طویل مدتوں جیسے مخصوص حالات میں، چارجنگ بیٹری کی صحت کی حفاظت میں مدد کے لیے <xliff:g id="PERCENT">%1$s</xliff:g> تک محدود ہو سکتی ہے۔\n\nان حالات کے ختم ہونے پر آپ کا ٹیبلیٹ نارمل طریقے سے خودکار طور پر چارج ہوگا۔"</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"یہ ایپ پس منظر میں بیٹری استعمال کر سکے گی۔ آپ کی بیٹری توقع سے پہلے ختم ہو سکتی ہے۔"</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"ہٹائیں"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"منسوخ کریں"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"آپ کی ایپس حسب معمول مقدار میں بیٹری استعمال کر رہی ہیں۔ اگر ایپس بہت زیادہ بیٹری استعمال کرتی ہیں تو آپ کا فون ایسے اقدامات کی تجویز پیش کرے گا جو آپ کر سکتے ہیں۔\n\nاگر آپ کی بیٹری کم ہو رہی ہے تو آپ ہمیشہ بیٹری سیور آن کر سکتے ہیں۔"</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"آپ کی ایپس حسب معمول مقدار میں بیٹری استعمال کر رہی ہیں۔ اگر ایپس بہت زیادہ بیٹری استعمال کرتی ہیں تو آپ کا ٹیبلیٹ ایسے اقدامات کی تجویز پیش کرے گا جو آپ کر سکتے ہیں۔\n\nاگر آپ کی بیٹری کم ہو رہی ہے تو آپ ہمیشہ بیٹری سیور آن کر سکتے ہیں۔"</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"آپ کی ایپس حسب معمول مقدار میں بیٹری استعمال کر رہی ہیں۔ اگر ایپس بہت زیادہ بیٹری استعمال کرتی ہیں تو آپ کا آلہ ایسے اقدامات کی تجویز پیش کرے گا جو آپ کر سکتے ہیں۔\n\nاگر آپ کی بیٹری کم ہو رہی ہے تو آپ ہمیشہ بیٹری سیور آن کر سکتے ہیں۔"</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"<xliff:g id="PERCENT">%1$s</xliff:g> بیٹری پر"</string>
<string name="battery_percentage" msgid="1779934245963043490">"بیٹری فیصد"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"اسٹیٹس بار میں بیٹری فیصد دکھائیں"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"پچھلی بار مکمل چارج کرنے کے بعد سے بیٹری لیول"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"گزشتہ 24 گھنٹے میں بیٹری لیول"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"پچھلی بار مکمل چارج کرنے کے بعد سے ایپ کا استعمال"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"گزشتہ 24 گھنٹے میں ایپ کا استعمال"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"پچھلی بار مکمل چارج کرنے کے بعد سے سسٹم کا استعمال"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"گزشتہ 24 گھنٹے میں سسٹم کا استعمال"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"<xliff:g id="SLOT">%s</xliff:g> کے لیے سسٹم کا استعمال"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"<xliff:g id="SLOT">%s</xliff:g> کے لیے ایپ کا استعمال"</string>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index 13317d7..a2ed298 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Sizda Bluetooth sozlamalarini o‘zgartirish uchun ruxsat yo‘q."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Yangi qurilmani juftlash"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Oʻng quloqni ulash"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Chap quloqni ulash"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Boshqa quloqni ulash"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Chap eshitish moslamasi ulangan.\n\nOʻngini ulash uchun u yoniq va ulash uchun tayyor boʻlishi kerak."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Oʻng eshitish moslamasi ulangan.\n\nChapini ulash uchun u yoniq va ulash uchun tayyor boʻlishi kerak."</string>
@@ -2368,7 +2370,7 @@
<string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"3 marta bosib masshtabni o‘zgartirish"</string>
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Kattalashtirish uchun tugmani bosing"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Kontentni kattaroq koʻrish uchun ekranni tezkor yaqinlashtiring"</string>
- <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Vaqtincha kattalashtirish uchun:</b><br/> {0,number,integer}. Kattalashtirish tugmasini bosing<br/> {1,number,integer}. Ekranga bosing<br/> {2,number,integer}. Ekranni 2 ta barmoq bilan suring<br/> {3,number,integer}. Moslash uchun 2 ta barmoq bilan chimding<br/> {4,number,integer}. Yakunlash uchun kattalashtirish tugmasini bosing<br/><br/><b>Vaqtincha kattalashtirish uchun:</b><br/> {0,number,integer}. Kattalashtirish rejimi butun ekranga tatbiq etilganiga ishonch hosil qiling.<br/> {1,number,integer}. Kattalashtirish tugmasini bosing<br/> {2,number,integer}. Ekranning istalgan qismini bosib turing<br/> {3,number,integer}. Ekranni barmoq bilan suring<br/> {4,number,integer}. Yakunlash uchun barmoqni ekrandan oling"</string>
+ <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Kattalashtirish uchun:</b><br/> {0,number,integer}. Kattalashtirish tugmasini bosing<br/> {1,number,integer}. Ekranga bosing<br/> {2,number,integer}. Ekranni 2 ta barmoq bilan suring<br/> {3,number,integer}. Moslash uchun 2 ta barmoq bilan chimding<br/> {4,number,integer}. Yakunlash uchun kattalashtirish tugmasini bosing<br/><br/><b>Vaqtincha kattalashtirish uchun:</b><br/> {0,number,integer}. Kattalashtirish rejimi butun ekranga tatbiq etilganiga ishonch hosil qiling.<br/> {1,number,integer}. Kattalashtirish tugmasini bosing<br/> {2,number,integer}. Ekranning istalgan qismini bosib turing<br/> {3,number,integer}. Ekranni barmoq bilan suring<br/> {4,number,integer}. Yakunlash uchun barmoqni ekrandan oling"</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Agar kattalashtirish yoqilsa, ekrandagi maʼlumotlarni kattalashtirish mumkin.\n\n"<b>"Kattalashtirish"</b>" uchun zum tugmasini bosib, ekranning istalgan joyini bosing.\n"<ul><li>"Siljitish uchun bir nechta barmogʻingiz bilan suring"</li>\n<li>"Masshtabini oʻzgartirish uchun bir nechta barmogʻingizni jipslashtiring"</li></ul>\n\n<b>"Vaqtinchalik kattalashtirish uchun"</b>" zum tugmasini bosib, ekranning istalgan joyini bosing va ushlab turing.\n"<ul><li>"Ekran boʻylab harakatlanish uchun suring"</li>\n<li>"Oʻz holatiga qaytarish uchun barmoqni qoʻyib yuboring"</li></ul>\n\n"Klaviatura yoki navigatsiya paneli orqali kattalashtirib boʻlmaydi."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Sahifa: <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> / <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Maxsus imkoniyatlar tugmasi bilan oching"</string>
@@ -2761,8 +2763,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Ayrim funksiyalar cheklanishi mumkin"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Batareya ortiqcha sarflanmoqda"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Batareyani koʻp sarflayotgan ilovalar"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Quvvatlash vaqtincha cheklangan"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Batareyangizni asrash uchun. Batafsil."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Davom ettirish"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Batareya quvvati yaroqlilik muddatini uzaytirishda yordam berish maqsadida yuqori harorat va uzoq quvvatlash davrlar kabi muayyan shartlarda quvvatlash <xliff:g id="PERCENT">%1$s</xliff:g> gacha cheklanadi.\n\nBu shartlar tugaganda telefoningiz avtomatik ravishda normal quvvat olishni boshlaydi."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Batareya quvvati yaroqlilik muddatini uzaytirishda yordam berish maqsadida yuqori harorat va uzoq quvvatlash davrlar kabi muayyan shartlarda quvvatlash <xliff:g id="PERCENT">%1$s</xliff:g> gacha cheklanadi.\n\nBu shartlar tugaganda planshetingiz avtomatik ravishda normal quvvat olishni boshlaydi."</string>
@@ -2798,6 +2804,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Bu ilova fonda batareya quvvatini ishlata oladi. Batareya quvvati kutilgandan tezroq tugashi mumkin."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Ha"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Bekor qilish"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Ilovalaringiz batareya quvvatini odatdagidek sarflamoqda. Agar ilovalar batareya quvvatini ortiqcha sarflasa, telefoningiz nimalar qilishingiz kerakligini tavsiya qiladi.\n\nAgar batareya quvvati kamaysa, doim Quvvat tejash rejimini yoqishingiz mumkin."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Ilovalaringiz batareya quvvatini odatdagidek sarflamoqda. Agar ilovalar batareya quvvatini ortiqcha sarflasa, planshetingiz nimalar qilishingiz kerakligini tavsiya qiladi.\n\nAgar batareya quvvati kamaysa, doim Quvvat tejash rejimini yoqishingiz mumkin."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Ilovalaringiz batareya quvvatini odatdagidek sarflamoqda. Agar ilovalar batareya quvvatini ortiqcha sarflasa, qurilmangiz nimalar qilishingiz kerakligini tavsiya qiladi.\n\nAgar batareya quvvati kamaysa, doim Quvvat tejash rejimini yoqishingiz mumkin."</string>
@@ -2975,8 +2983,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"batareya quvvati: <xliff:g id="PERCENT">%1$s</xliff:g>"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Batareya quvvati foizi"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Holat qatorida batareya foizini chiqarish"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Oxirgi toʻliq quvvatlashdan keyin batareya darajasi"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Oxirgi 24 soat ichida batareya darajasi"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Toʻliq quvvat olgandan keyin ilovalardan foydalanish"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Oxirgi 24 soat ichida ilovadan foydalanish"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Oxirgi toʻliq quvvatlashdan keyin tizimdan foydalanish"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Oxirgi 24 soat ichida tizimdan foydalanish"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Tizimdan foydalanish: <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Ilovalardan foydalanish: <xliff:g id="SLOT">%s</xliff:g>"</string>
@@ -4440,7 +4451,7 @@
<item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> ta ishlatilmagan ilova</item>
</plurals>
<string name="unused_apps_category" msgid="8954930958175500851">"Ishlatilmagan ilova sozlamalari"</string>
- <string name="unused_apps_switch" msgid="7595419855882245772">"Ishlatilmaydigan paytda ilovalarni toʻxtatish"</string>
+ <string name="unused_apps_switch" msgid="7595419855882245772">"Ishlatilmayotgan ilovalarni pauzalash"</string>
<string name="unused_apps_switch_summary" msgid="2171098908014596802">"Ruxsatlarni olib tashlash, vaqtinchalik fayllarni oʻchirish va bildirishnomalarni toʻxtatish"</string>
<string name="filter_all_apps" msgid="6645539744080251371">"Barcha ilovalar"</string>
<string name="filter_enabled_apps" msgid="8868356616126759124">"Oʻrnatilgan ilovalar"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index f9d682e..929e11a 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Bạn không có quyền thay đổi cài đặt Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Ghép nối thiết bị mới"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Ghép nối tai phải"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Ghép nối tai trái"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Ghép nối tai khác"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Bạn đã kết nối máy trợ thính cho tai bên trái.\n\nĐể ghép nối máy trợ thính cho tai bên phải, hãy đảm bảo đã bật máy và máy ở trạng thái sẵn sàng ghép nối."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Bạn đã kết nối máy trợ thính cho tai bên phải.\n\nĐể ghép nối máy trợ thính cho tai bên trái, đảm bảo đã bật máy và máy ở trạng thái sẵn sàng ghép nối."</string>
@@ -538,7 +540,7 @@
<string name="security_settings_fingerprint_enroll_finish_title" msgid="3606325177406951457">"Đã thêm vân tay"</string>
<string name="security_settings_fingerprint_enroll_finish_v2_message" product="tablet" msgid="5918110416185820480">"Tính năng mở khóa bằng vân tay cải thiện hơn khi bạn sử dụng để mở khóa thiết bị hoặc xác minh nhận dạng trong các ứng dụng"</string>
<string name="security_settings_fingerprint_enroll_finish_v2_message" product="device" msgid="2989276789236025675">"Tính năng mở khóa bằng vân tay cải thiện hơn khi bạn sử dụng để mở khóa thiết bị hoặc xác minh nhận dạng trong các ứng dụng"</string>
- <string name="security_settings_fingerprint_enroll_finish_v2_message" product="default" msgid="6506437402392739879">"Tính năng mở khóa bằng vân tay cải thiện hơn khi bạn sử dụng để mở khóa thiết bị hoặc xác minh nhận dạng trong các ứng dụng"</string>
+ <string name="security_settings_fingerprint_enroll_finish_v2_message" product="default" msgid="6506437402392739879">"Tính năng mở khóa bằng vân tay cải thiện hơn khi bạn sử dụng để mở khóa thiết bị hoặc xác minh danh tính của bạn trong các ứng dụng"</string>
<string name="security_settings_fingerprint_enroll_enrolling_skip" msgid="3004786457919122854">"Thực hiện sau"</string>
<string name="security_settings_udfps_tip_fingerprint_help" msgid="7580784640741217494">"Nhấc ngón tay lên rồi chạm lại"</string>
<string name="security_settings_udfps_side_fingerprint_help" msgid="2567232481013195191">"Đặt vân tay ở phần bên của ngón tay lên cảm biến rồi giữ, sau đó chuyển sang phần bên kia"</string>
@@ -999,7 +1001,7 @@
<string name="wifi_cellular_data_fallback_summary" msgid="7039944853033554386">"Sử dụng dữ liệu di động khi Wi‑Fi không truy cập được Internet. Bạn có thể mất thêm phí sử dụng dữ liệu."</string>
<string name="wifi_add_network" msgid="4178564862173751181">"Thêm mạng"</string>
<string name="wifi_configure_settings_preference_title" msgid="2536725796700696566">"Tùy chọn Wi‑Fi"</string>
- <string name="wifi_configure_settings_preference_summary_wakeup_on" msgid="7822368955551467382">"Wi-Fi bật lại tự động"</string>
+ <string name="wifi_configure_settings_preference_summary_wakeup_on" msgid="7822368955551467382">"Wi-Fi sẽ được tự động bật lại"</string>
<string name="wifi_configure_settings_preference_summary_wakeup_off" msgid="5710203586018223864">"Wi-Fi không bật lại tự động"</string>
<string name="wifi_access_points" msgid="5846755709207101844">"Mạng Wi‑Fi"</string>
<string name="wifi_menu_more_options" msgid="1236651929987819716">"Tùy chọn khác"</string>
@@ -1876,7 +1878,7 @@
<string name="location_title" msgid="5819154746934945021">"Vị trí của tôi"</string>
<string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Vị trí của hồ sơ công việc"</string>
<string name="location_app_level_permissions" msgid="907206607664629759">"Quyền truy cập thông tin vị trí cho ứng dụng"</string>
- <string name="location_app_permission_summary_location_off" msgid="2711822936853500335">"Vị trí đang tắt"</string>
+ <string name="location_app_permission_summary_location_off" msgid="2711822936853500335">"Dịch vụ vị trí hiện đang tắt"</string>
<plurals name="location_app_permission_summary_location_on" formatted="false" msgid="8286873148858526214">
<item quantity="other"> <xliff:g id="PERMITTED_LOCATION_APP_COUNT_2">%1$d</xliff:g>/<xliff:g id="TOTAL_LOCATION_APP_COUNT_3">%2$d</xliff:g> ứng dụng có quyền truy cập vào vị trí</item>
<item quantity="one"> <xliff:g id="PERMITTED_LOCATION_APP_COUNT_0">%1$d</xliff:g>/<xliff:g id="TOTAL_LOCATION_APP_COUNT_1">%2$d</xliff:g> ứng dụng có quyền truy cập vào vị trí</item>
@@ -2511,7 +2513,7 @@
<string name="accessibility_daltonizer_footer_learn_more_content_description" msgid="2091679253892040910">"Tìm hiểu thêm về tính năng chỉnh màu"</string>
<string name="accessibility_color_inversion_about_title" msgid="8275754480247040136">"Giới thiệu về tính năng đảo màu"</string>
<string name="accessibility_color_inversion_footer_learn_more_content_description" msgid="5382579548498952445">"Tìm hiểu thêm về tính năng đảo màu"</string>
- <string name="accessibility_caption_primary_switch_title" msgid="8901149325574757370">"Hiển thị phụ đề"</string>
+ <string name="accessibility_caption_primary_switch_title" msgid="8901149325574757370">"Hiện phụ đề"</string>
<string name="accessibility_caption_primary_switch_summary" msgid="2754071646412717674">"Chỉ dành cho ứng dụng được hỗ trợ"</string>
<string name="captioning_caption_appearance_title" msgid="4501313548541670063">"Kích thước và kiểu phụ đề"</string>
<string name="captioning_caption_appearance_summary" msgid="7340741178479381312">"Kích thước văn bản <xliff:g id="ACCESSIBILITY_FONT_SIZE">%1$s</xliff:g>"</string>
@@ -2761,8 +2763,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Một số tính năng có thể bị hạn chế"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Mức sử dụng pin cao"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Xem các ứng dụng có mức sử dụng pin cao nhất"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Chức năng sạc tạm thời bị hạn chế"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Để kéo dài thời lượng pin. Tìm hiểu thêm."</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Tiếp tục sạc"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Trong một số điều kiện, chẳng hạn như nhiệt độ cao và thời gian sạc lâu, mức sạc có thể bị hạn chế ở <xliff:g id="PERCENT">%1$s</xliff:g> để duy trì độ bền của pin.\n\nKhi các điều kiện đó chấm dứt, điện thoại của bạn sẽ tự động sạc như bình thường."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Trong một số điều kiện, chẳng hạn như nhiệt độ cao và thời gian sạc lâu, mức sạc có thể bị hạn chế ở <xliff:g id="PERCENT">%1$s</xliff:g> để duy trì độ bền của pin.\n\nKhi các điều kiện đó chấm dứt, điện thoại của bạn sẽ tự động sạc như bình thường."</string>
@@ -2798,6 +2804,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Ứng dụng này có thể sử dụng pin trong nền. Pin có thể hết sớm hơn dự kiến."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Xóa"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Hủy"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Các ứng dụng của bạn đang sử dụng lượng pin ở mức bình thường. Nếu các ứng dụng sử dụng quá nhiều pin, thì điện thoại sẽ đề xuất các hành động mà bạn có thể thực hiện.\n\nBạn luôn có thể bật Trình tiết kiệm pin nếu sắp hết pin."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Các ứng dụng của bạn đang sử dụng lượng pin ở mức bình thường. Nếu các ứng dụng sử dụng quá nhiều pin, thì máy tính bảng sẽ đề xuất các hành động mà bạn có thể thực hiện.\n\nBạn luôn có thể bật Trình tiết kiệm pin nếu sắp hết pin."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Các ứng dụng của bạn đang sử dụng lượng pin ở mức bình thường. Nếu các ứng dụng sử dụng quá nhiều pin, thì thiết bị sẽ đề xuất các hành động mà bạn có thể thực hiện.\n\nBạn luôn có thể bật Trình tiết kiệm pin nếu sắp hết pin."</string>
@@ -2975,8 +2983,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"ở mức <xliff:g id="PERCENT">%1$s</xliff:g> pin"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Phần trăm pin"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Hiện số phần trăm pin trên thanh trạng thái"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Mức pin kể từ lần sạc đầy gần đây nhất"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Mức pin trong 24 giờ qua"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Mức sử dụng ứng dụng kể từ lần sạc đầy gần đây nhất"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Mức sử dụng pin của ứng dụng trong 24 giờ qua"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Mức sử dụng hệ thống kể từ lần sạc đầy gần đây nhất"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Mức sử dụng pin của hệ thống trong 24 giờ qua"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Mức sử dụng pin của hệ thống từ <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Mức sử dụng pin của ứng dụng từ <xliff:g id="SLOT">%s</xliff:g>"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 32ad128..d2876b4 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"您无权更改蓝牙设置。"</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"与新设备配对"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"蓝牙"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"为右耳进行配对"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"为左耳进行配对"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"为另一个耳朵进行配对"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"您的助听器左耳已连接。\n\n如需为右耳进行配对,请确保设备已开启,并且已准备好进行配对。"</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"您的助听器右耳已连接。\n\n如需为左耳进行配对,请确保设备已开启,并且已准备好进行配对。"</string>
@@ -536,7 +538,7 @@
<string name="security_settings_fingerprint_enroll_finish_title" msgid="3606325177406951457">"指纹已添加"</string>
<string name="security_settings_fingerprint_enroll_finish_v2_message" product="tablet" msgid="5918110416185820480">"越经常使用“指纹解锁”功能解锁平板电脑或在应用中验证您的身份,“指纹解锁”的使用效果就越好"</string>
<string name="security_settings_fingerprint_enroll_finish_v2_message" product="device" msgid="2989276789236025675">"经常使用“指纹解锁”功能解锁设备或在应用中验证您的身份有助于改善“指纹解锁”的使用效果"</string>
- <string name="security_settings_fingerprint_enroll_finish_v2_message" product="default" msgid="6506437402392739879">"经常使用“指纹解锁”功能解锁手机或在应用中验证您的身份有助于改善“指纹解锁”的使用效果"</string>
+ <string name="security_settings_fingerprint_enroll_finish_v2_message" product="default" msgid="6506437402392739879">"您越常使用指纹解锁手机或在应用中验证身份,“指纹解锁”的准确度就越高"</string>
<string name="security_settings_fingerprint_enroll_enrolling_skip" msgid="3004786457919122854">"以后再说"</string>
<string name="security_settings_udfps_tip_fingerprint_help" msgid="7580784640741217494">"移开手指,然后再次触摸传感器"</string>
<string name="security_settings_udfps_side_fingerprint_help" msgid="2567232481013195191">"将指纹的一侧放在传感器上并按住,然后切换到另一侧"</string>
@@ -616,7 +618,7 @@
<string name="fingerprint_last_delete_title" msgid="4081475675646514726">"要移除所有指纹吗?"</string>
<string name="fingerprint_delete_title" msgid="1469865327307917858">"移除“<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>”"</string>
<string name="fingerprint_delete_message" msgid="1454995433333496541">"要删除此指纹吗?"</string>
- <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"如果您确认删除,您设备上存储的与“<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>”关联的指纹图片和模型将被删除"</string>
+ <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"确认删除后,设备上存储的与“<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>”关联的指纹图片和模型将被删除"</string>
<string name="fingerprint_last_delete_message" msgid="7860374760549404410">"您将无法使用指纹来解锁手机或在应用中验证自己的身份。"</string>
<string name="fingerprint_last_delete_message_profile_challenge" msgid="4104208067277655068">"您将无法使用指纹来解锁自己的工作资料、对购买交易进行授权或登录工作应用。"</string>
<string name="fingerprint_last_delete_confirm" msgid="3294910995598819259">"是,移除"</string>
@@ -1418,7 +1420,7 @@
<string name="dark_ui_activation_on_auto" msgid="4824339634784765049">"开启,直到日出"</string>
<string name="dark_ui_activation_off_auto" msgid="9136717444658505208">"关闭,直到日落"</string>
<string name="dark_ui_title" msgid="3373976268671557416">"深色模式"</string>
- <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"排定时间"</string>
+ <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"设定时间"</string>
<string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"无"</string>
<string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"在日落到日出期间开启"</string>
<string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"在设定的时间开启"</string>
@@ -1625,7 +1627,7 @@
<string name="storage_menu_manage" msgid="7465522758801346408">"管理存储空间"</string>
<string name="keywords_storage_menu_free" msgid="2275406357317597106">"清理, 存储空间"</string>
<string name="storage_free_up_space_title" msgid="281047807372131975">"释放空间"</string>
- <string name="storage_free_up_space_summary" msgid="6650027929735481350">"转到谷歌文件极客应用管理和释放空间"</string>
+ <string name="storage_free_up_space_summary" msgid="6650027929735481350">"前往谷歌文件极客应用管理和释放空间"</string>
<string name="storage_title_usb" msgid="1332488715547400452">"USB计算机连接"</string>
<string name="usb_connection_category" msgid="2288543238378907242">"连接方式"</string>
<string name="usb_mtp_title" msgid="9068009584556422314">"媒体设备(MTP)"</string>
@@ -2515,7 +2517,7 @@
<string name="captioning_caption_appearance_summary" msgid="7340741178479381312">"文字大小:<xliff:g id="ACCESSIBILITY_FONT_SIZE">%1$s</xliff:g>"</string>
<string name="captioning_more_options_title" msgid="3484496882942539652">"更多选项"</string>
<string name="accessibility_caption_preference_intro" msgid="6662649135457507767">"自定义字幕的字号及样式,使其更易于阅读"</string>
- <string name="accessibility_caption_preference_summary" msgid="632875702223135121">"某些媒体应用可能不支持这些字幕偏好设置"</string>
+ <string name="accessibility_caption_preference_summary" msgid="632875702223135121">"有些媒体应用可能不支持这些字幕偏好设置"</string>
<string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"“无障碍”按钮"</string>
<string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"用两根手指从屏幕底部向上滑动"</string>
<string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"按住音量键"</string>
@@ -2759,8 +2761,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"部分功能可能会受到限制"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"耗电量较高"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"查看耗电量较高的应用"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"充电暂时受限"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"旨在延长电池使用寿命。了解详情。"</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"继续充电"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"在某些情况下(例如高温和长时间充电时),手机可能会限制充电量,充电到 <xliff:g id="PERCENT">%1$s</xliff:g> 时便暂停充电。这样有助于使电池保持良好状态。\n\n这类情况结束时,手机会自动恢复正常充电。"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"在某些情况下(例如高温和长时间充电时),平板电脑可能会限制充电量,充电到 <xliff:g id="PERCENT">%1$s</xliff:g> 时便暂停充电。这样有助于使电池保持良好状态。\n\n这类情况结束时,平板电脑会自动恢复正常充电。"</string>
@@ -2796,6 +2802,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"此应用将能够在后台消耗电量。这可能会导致电量耗尽速度比预期更快。"</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"移除"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"取消"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"您的应用目前耗电量正常。如果应用耗电量过高,您的手机会提供操作建议。\n\n如果电池电量不足,您可以随时开启省电模式。"</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"您的应用目前耗电量正常。如果应用耗电量过高,您的平板电脑会为您提供操作建议。\n\n如果电池电量不足,您可以随时开启省电模式。"</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"您的应用目前耗电量正常。如果应用耗电量过高,您的设备会为您提供操作建议。\n\n如果电池电量不足,您可以随时开启省电模式。"</string>
@@ -2973,8 +2981,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"电量剩余 <xliff:g id="PERCENT">%1$s</xliff:g> 时"</string>
<string name="battery_percentage" msgid="1779934245963043490">"电池电量百分比"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"在状态栏中显示电池电量百分比"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"自上次充满电后的电池电量"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"过去 24 小时内的电池电量变化"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"自上次充满电后的应用耗电量"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"过去 24 小时内的应用耗电量"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"自上次充满电后的系统耗电量"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"过去 24 小时内的系统耗电量"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"<xliff:g id="SLOT">%s</xliff:g>的系统耗电量"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"<xliff:g id="SLOT">%s</xliff:g>的应用耗电量"</string>
@@ -3750,7 +3761,7 @@
<string name="live_caption_title" msgid="8617086825712756983">"实时字幕"</string>
<string name="live_caption_summary" msgid="2898451867595161809">"自动生成媒体字幕"</string>
<string name="spatial_audio_speaker" msgid="9145233652433523302">"手机扬声器"</string>
- <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"有线头戴式耳机"</string>
+ <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"有线耳机"</string>
<string name="spatial_audio_text" msgid="8201387855375146000">"播放兼容的媒体内容时,音频更具沉浸感"</string>
<string name="spatial_summary_off" msgid="8272678804629774378">"关闭"</string>
<string name="spatial_summary_on_one" msgid="6239933399496282994">"开启/<xliff:g id="OUTPUT_DEVICE">%1$s</xliff:g>"</string>
@@ -5143,7 +5154,7 @@
<string name="storage_videos" msgid="6117698226447251033">"视频"</string>
<string name="storage_audio" msgid="5994664984472140386">"音频"</string>
<string name="storage_apps" msgid="3564291603258795216">"应用"</string>
- <string name="storage_documents_and_other" msgid="3293689243732236480">"文档和其他"</string>
+ <string name="storage_documents_and_other" msgid="3293689243732236480">"文档和其他文件"</string>
<string name="storage_system" msgid="8472410119822911844">"系统"</string>
<string name="storage_trash" msgid="2807138998886084856">"回收站"</string>
<string name="storage_trash_dialog_title" msgid="2296169576049935200">"要清空回收站吗?"</string>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 890954b..cc745a4 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -53,7 +53,7 @@
<string name="font_size_make_smaller_desc" msgid="4978038055549590140">"縮小"</string>
<string name="font_size_make_larger_desc" msgid="5583046033381722247">"放大"</string>
<string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"使用自動旋轉"</string>
- <string name="smart_rotate_text_headline" msgid="5878008933992951904">"臉孔偵測功能會使用前置鏡頭提高自動旋轉的準確度。系統絕不會將相關圖像儲存或傳送給 Google。"</string>
+ <string name="smart_rotate_text_headline" msgid="5878008933992951904">"面孔偵測功能會使用前置鏡頭提高自動旋轉的準確度。系統絕不會將相關圖像儲存或傳送給 Google。"</string>
<string name="font_size_preview_text_headline" msgid="1173103737980511652">"範例文字"</string>
<string name="font_size_preview_text_title" msgid="6363561029914452382">"《綠野仙蹤》"</string>
<string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"第 11 章:奧茲國的奇妙翡翠城"</string>
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"您沒有變更藍牙設定的權限。"</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"配對新裝置"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"藍牙"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"配對右耳"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"配對左耳"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"配對另一耳的裝置"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"左耳助聽器已連接。\n\n如要配對右耳,請確認該耳助聽器已開啟並可開始配對。"</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"右耳助聽器已連接。\n\n如要配對左耳,請確認該耳助聽器已開啟並可開始配對。"</string>
@@ -343,13 +345,13 @@
<string name="security_dashboard_summary" msgid="7571035662779425918">"螢幕鎖定, 尋找我的裝置, 應用程式安全性"</string>
<string name="safety_center_title" msgid="7732397372178774777">"安全性與私隱權"</string>
<string name="safety_center_summary" msgid="3554867379951053869">"應用程式安全性、裝置鎖定、權限"</string>
- <string name="security_settings_face_preference_summary" msgid="6675126437396914838">"已加入臉孔"</string>
+ <string name="security_settings_face_preference_summary" msgid="6675126437396914838">"已加入面孔"</string>
<string name="security_settings_face_preference_summary_none" msgid="5952752252122581846">"輕按即可設定面孔"</string>
<string name="security_settings_face_preference_title" msgid="2126625155005348417">"面孔解鎖"</string>
<string name="security_settings_face_profile_preference_title" msgid="7519527436266375005">"工作設定檔的「面孔解鎖」"</string>
<string name="security_settings_face_enroll_education_title" msgid="6448806884597691208">"如何設定「面孔解鎖」"</string>
<string name="security_settings_face_enroll_education_title_accessibility" msgid="3701874093226957891">"設定「面孔解鎖」"</string>
- <string name="security_settings_face_enroll_education_title_unlock_disabled" msgid="8810954233979716906">"使用臉孔驗證"</string>
+ <string name="security_settings_face_enroll_education_title_unlock_disabled" msgid="8810954233979716906">"使用面孔驗證"</string>
<string name="security_settings_face_enroll_education_message" msgid="4308030157487176799"></string>
<string name="security_settings_face_enroll_education_message_accessibility" msgid="1986648712195281391"></string>
<string name="security_settings_face_enroll_education_start" msgid="8830924400907195590">"開始"</string>
@@ -366,7 +368,7 @@
<string name="security_settings_face_enroll_introduction_more" msgid="1970820298889710532">"更多"</string>
<string name="security_settings_face_enroll_introduction_title" msgid="7061610077237098046">"使用面孔解鎖"</string>
<string name="security_settings_face_enroll_consent_introduction_title" msgid="3942331854413767814">"允許使用「面孔解鎖」"</string>
- <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="5903924766168353113">"使用臉孔驗證"</string>
+ <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="5903924766168353113">"使用面孔驗證"</string>
<string name="security_settings_face_enroll_introduction_message" msgid="3015751486939484934">"使用面孔解鎖手機、授權購物或登入應用程式。"</string>
<string name="security_settings_face_enroll_introduction_consent_message_0" product="default" msgid="3708441779746110890">"允許子女使用面孔解鎖手機"</string>
<string name="security_settings_face_enroll_introduction_consent_message_0" product="tablet" msgid="8406386084543310653">"允許子女使用面孔解鎖平板電腦"</string>
@@ -392,15 +394,15 @@
<string name="security_settings_face_enroll_introduction_control_consent_title" msgid="5892729331412694759"></string>
<string name="security_settings_face_enroll_introduction_control_message" msgid="4818463420573540379"></string>
<string name="security_settings_face_enroll_introduction_control_consent_message" msgid="4658082872829249850"></string>
- <string name="security_settings_face_enroll_repeat_title" msgid="4446229670377418717">"將您的臉孔置於圓圈中心"</string>
+ <string name="security_settings_face_enroll_repeat_title" msgid="4446229670377418717">"將您的面孔置於圓圈中心"</string>
<string name="security_settings_face_enroll_enrolling_skip" msgid="5568617401632528567">"略過"</string>
- <string name="face_add_max" msgid="4578405795494514876">"您可以加入最多 <xliff:g id="COUNT">%d</xliff:g> 張臉孔"</string>
- <string name="face_intro_error_max" msgid="2474735057709291626">"您加入的臉孔數目已達上限"</string>
- <string name="face_intro_error_unknown" msgid="1626057493054989995">"無法加入更多臉孔"</string>
+ <string name="face_add_max" msgid="4578405795494514876">"您可以加入最多 <xliff:g id="COUNT">%d</xliff:g> 張面孔"</string>
+ <string name="face_intro_error_max" msgid="2474735057709291626">"您加入的面孔數目已達上限"</string>
+ <string name="face_intro_error_unknown" msgid="1626057493054989995">"無法加入更多面孔"</string>
<string name="security_settings_face_enroll_error_dialog_title" msgid="2460820099922775936">"尚未完成註冊"</string>
<string name="security_settings_face_enroll_dialog_ok" msgid="1674650455786434426">"確定"</string>
- <string name="security_settings_face_enroll_error_timeout_dialog_message" msgid="7768349698547951750">"臉孔註冊時限已過,請再試一次。"</string>
- <string name="security_settings_face_enroll_error_generic_dialog_message" msgid="3186810411630091490">"無法註冊臉孔。"</string>
+ <string name="security_settings_face_enroll_error_timeout_dialog_message" msgid="7768349698547951750">"面孔註冊時限已過,請再試一次。"</string>
+ <string name="security_settings_face_enroll_error_generic_dialog_message" msgid="3186810411630091490">"無法註冊面孔。"</string>
<string name="security_settings_face_enroll_finish_title" msgid="5882322568359775393">"完成註冊,效果不錯。"</string>
<string name="security_settings_face_enroll_done" msgid="3048687969498187442">"完成"</string>
<string name="security_settings_face_enroll_should_re_enroll_title" msgid="6835778900387289683">"提升「面孔解鎖」效能"</string>
@@ -538,7 +540,7 @@
<string name="security_settings_fingerprint_enroll_finish_title" msgid="3606325177406951457">"已加入指紋"</string>
<string name="security_settings_fingerprint_enroll_finish_v2_message" product="tablet" msgid="5918110416185820480">"當您越常使用指紋解鎖功能來解鎖平板電腦或在應用程式中驗證身分,準確度就會越高"</string>
<string name="security_settings_fingerprint_enroll_finish_v2_message" product="device" msgid="2989276789236025675">"當您越常使用指紋解鎖功能來解鎖裝置或在應用程式中驗證身分,準確度就會越高"</string>
- <string name="security_settings_fingerprint_enroll_finish_v2_message" product="default" msgid="6506437402392739879">"當您越常使用指紋解鎖功能來解鎖手機或在應用程式中驗證身分,準確度就會越高"</string>
+ <string name="security_settings_fingerprint_enroll_finish_v2_message" product="default" msgid="6506437402392739879">"您越常使用「指紋解鎖」來解鎖手機或在應用程式中驗證身分,其準確度就會越高"</string>
<string name="security_settings_fingerprint_enroll_enrolling_skip" msgid="3004786457919122854">"稍後再做"</string>
<string name="security_settings_udfps_tip_fingerprint_help" msgid="7580784640741217494">"移開手指,然後再次輕觸感應器"</string>
<string name="security_settings_udfps_side_fingerprint_help" msgid="2567232481013195191">"將指紋的一側放上感應器並按住,然後再換另一側"</string>
@@ -687,7 +689,7 @@
<string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"圖案 • 面孔 • 指紋"</string>
<string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • 面孔 • 指紋"</string>
<string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"密碼 • 面孔 • 指紋"</string>
- <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"繼續但不設定臉孔或指紋解鎖"</string>
+ <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"繼續但不設定面孔或指紋解鎖"</string>
<string name="biometrics_unlock_title" msgid="616524056055233041">"您可以使用面孔或指紋解鎖手機。為安全起見,此選項需要設定後備螢幕鎖定方式。"</string>
<string name="unlock_set_unlock_disabled_summary" msgid="4022867760387966129">"已由管理員、加密政策或認證儲存空間停用"</string>
<string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"無"</string>
@@ -2762,8 +2764,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"部分功能可能受到限制"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"查看用電量較高的應用程式"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"查看用電量最高的應用程式"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"充電暫時受限"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"延長電池壽命。瞭解詳情。"</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"繼續充電"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"在特定情況下 (例如高溫和長時間充電),充電可能會限於 <xliff:g id="PERCENT">%1$s</xliff:g> 以延長電池壽命。\n\n當這些情況結束時,手機將會自動正常充電。"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"在特定情況下 (例如高溫和長時間充電),充電可能會限於 <xliff:g id="PERCENT">%1$s</xliff:g> 以延長電池壽命。\n\n當這些情況結束時,平板電腦將會自動正常充電。"</string>
@@ -2799,6 +2805,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"此應用程式會在背景使用電量。您的電池電量可能會比預期更快耗盡。"</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"移除"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"取消"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"您的應用程式目前的耗電量正常。如果應用程式耗電過多,手機會建議您執行一些操作。\n\n如果電量不足,您隨時都可以開啟「省電模式」。"</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"您的應用程式目前的耗電量正常。如果應用程式耗電過多,平板電腦將會為您提供操作建議。\n\n如果電量較低,您可以隨時開啟省電模式。"</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"您的應用程式目前的耗電量正常。如果應用程式耗電過多,裝置將會為您提供操作建議。\n\n如果電量較低,您可以隨時開啟省電模式。"</string>
@@ -2976,8 +2984,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"<xliff:g id="PERCENT">%1$s</xliff:g> 電量"</string>
<string name="battery_percentage" msgid="1779934245963043490">"電量百分比"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"在狀態列中顯示電量百分比"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"上次充滿電後的電量"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"過去 24 小時的電量變化"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"上次充滿電後的應用程式使用情況"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"應用程式在過去 24 小時的用電量"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"上次充滿電後的系統使用情況"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"系統在過去 24 小時的電量"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"<xliff:g id="SLOT">%s</xliff:g>的系統電池用量"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"<xliff:g id="SLOT">%s</xliff:g>的應用程式電池用量"</string>
@@ -3671,7 +3682,7 @@
<string name="keywords_backup" msgid="707735920706667685">"備份內容, 備份"</string>
<string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"手勢"</string>
<string name="keywords_face_unlock" msgid="545338452730885392">"臉容, 解鎖, 驗證, 登入"</string>
- <string name="keywords_biometric_unlock" msgid="8569545388717753692">"臉孔, 解鎖, 驗證, 登入, 指紋, 生物識別"</string>
+ <string name="keywords_biometric_unlock" msgid="8569545388717753692">"面孔, 解鎖, 驗證, 登入, 指紋, 生物識別"</string>
<string name="keywords_imei_info" msgid="8848791606402333514">"MEI, MEID, MIN, PRL 版本, IMEI SV"</string>
<string name="keywords_sim_status" msgid="8784456547742075508">"網絡, 流動網絡狀態, 服務狀態, 訊號強度, 流動網絡類型, 漫遊, ICCID, EID"</string>
<string name="keywords_model_and_hardware" msgid="4723665865709965044">"序號, 硬件版本"</string>
@@ -3681,7 +3692,7 @@
<string name="keywords_device_feedback" msgid="5489930491636300027">"錯誤"</string>
<string name="keywords_ambient_display_screen" msgid="661492302323274647">"微光螢幕, 上鎖畫面"</string>
<string name="keywords_lock_screen_notif" msgid="6363144436467429932">"上鎖畫面通知, 通知"</string>
- <string name="keywords_face_settings" msgid="1360447094486865058">"臉孔"</string>
+ <string name="keywords_face_settings" msgid="1360447094486865058">"面孔"</string>
<string name="keywords_fingerprint_settings" msgid="7345121109302813358">"指紋, 新增指紋"</string>
<string name="keywords_biometric_settings" msgid="2173605297939326549">"面孔, 指紋, 新增指紋"</string>
<string name="keywords_display_auto_brightness" msgid="7162942396941827998">"調暗螢幕, 觸控螢幕, 電池, 智能亮度, 動態亮度, 自動調整亮度"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index c830058..877e0a3 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"你沒有變更藍牙設定的權限。"</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"配對新裝置"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"藍牙"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"配對右耳的裝置"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"配對左耳的裝置"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"配對另一耳的裝置"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"左耳助聽器連線成功。\n\n如要配對右耳,請確認該耳助聽器已開啟並可開始配對。"</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"右耳助聽器連線成功。\n\n如要配對左耳,請確認該耳助聽器已開啟並可開始配對。"</string>
@@ -618,7 +620,7 @@
<string name="fingerprint_last_delete_title" msgid="4081475675646514726">"要移除所有指紋嗎?"</string>
<string name="fingerprint_delete_title" msgid="1469865327307917858">"移除「<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>」"</string>
<string name="fingerprint_delete_message" msgid="1454995433333496541">"要刪除這個指紋嗎?"</string>
- <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"這麼做會刪除與裝置上儲存的「<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>」相關聯的指紋圖像和模型"</string>
+ <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"系統會一併刪除裝置上與「<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>」連結的指紋圖像和模型"</string>
<string name="fingerprint_last_delete_message" msgid="7860374760549404410">"你將無法使用指紋解鎖手機或在應用程式中驗證身分。"</string>
<string name="fingerprint_last_delete_message_profile_challenge" msgid="4104208067277655068">"你將無法使用指紋解鎖工作資料夾、授權購買交易,或是登入工作應用程式。"</string>
<string name="fingerprint_last_delete_confirm" msgid="3294910995598819259">"是,移除"</string>
@@ -2385,7 +2387,7 @@
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"如要使用無障礙功能,請用 2 指從螢幕底部向上滑動。\n\n如要切換不同的功能,請用 2 指向上滑動並按住。"</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"如要使用無障礙功能,請用 3 指從螢幕底部向上滑動。\n\n如要切換不同的功能,請用 3 指向上滑動並按住。"</string>
<string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"我知道了"</string>
- <string name="accessibility_shortcut_title" msgid="8125867833704517463">"「<xliff:g id="SERVICE">%1$s</xliff:g>」快速鍵"</string>
+ <string name="accessibility_shortcut_title" msgid="8125867833704517463">"「<xliff:g id="SERVICE">%1$s</xliff:g>」捷徑"</string>
<string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"無障礙工具按鈕"</string>
<string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"無障礙手勢"</string>
<string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"使用 2 指向上滑動"</string>
@@ -2761,8 +2763,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"部分功能可能受到限制"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"電池用量較高的應用程式"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"查看電池用量最高的應用程式"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"已暫時限制充電"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"這是為了延長電池壽命。瞭解詳情。"</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"繼續充電"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"在高溫和長時間充電等特定情況下,手機可能會將充電量限制在 <xliff:g id="PERCENT">%1$s</xliff:g> 以延長電池壽命。\n\n當上述情況解除後,手機就會自動正常充電。"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"在高溫和長時間充電等特定情況下,平板電腦可能會將充電量限制在 <xliff:g id="PERCENT">%1$s</xliff:g> 以延長電池壽命。\n\n當上述情況解除後,平板電腦就會自動正常充電。"</string>
@@ -2798,6 +2804,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"這個應用程式將會在背景耗用電量。你的電池電力可能會比預期更快耗盡。"</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"移除"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"取消"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"你的應用程式目前耗用的電力正常。如果應用程式耗用過多電力,你的手機會為你提供操作建議。\n\n如果電池電量偏低,你隨時可以開啟省電模式。"</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"你的應用程式目前耗用的電力正常。如果應用程式耗用過多電力,你的平板電腦會為你提供操作建議。\n\n如果電池電量偏低,你隨時可以開啟省電模式。"</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"你的應用程式目前耗用的電力正常。如果應用程式耗用過多電力,裝置會提供相關操作建議。\n\n如果電池電量偏低,你隨時可以開啟省電模式。"</string>
@@ -2975,8 +2983,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"電量為 <xliff:g id="PERCENT">%1$s</xliff:g> 時"</string>
<string name="battery_percentage" msgid="1779934245963043490">"電量百分比"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"在狀態列中顯示電量百分比"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"上次充飽電後的電池電量變化"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"過去 24 小時的電池電量變化"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"上次充飽電後的應用程式用量"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"應用程式在過去 24 小時的電池用量"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"上次充飽電後的系統用量"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"系統在過去 24 小時的電池用量"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"<xliff:g id="SLOT">%s</xliff:g>的系統電池用量"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"<xliff:g id="SLOT">%s</xliff:g>的應用程式電池用量"</string>
@@ -3752,7 +3763,7 @@
<string name="live_caption_title" msgid="8617086825712756983">"即時字幕"</string>
<string name="live_caption_summary" msgid="2898451867595161809">"自動產生媒體字幕"</string>
<string name="spatial_audio_speaker" msgid="9145233652433523302">"手機喇叭"</string>
- <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"有線耳罩式耳機"</string>
+ <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"有線耳機"</string>
<string name="spatial_audio_text" msgid="8201387855375146000">"相容媒體裝置可提供更有臨場感的聲音體驗"</string>
<string name="spatial_summary_off" msgid="8272678804629774378">"已關閉"</string>
<string name="spatial_summary_on_one" msgid="6239933399496282994">"已開啟/<xliff:g id="OUTPUT_DEVICE">%1$s</xliff:g>"</string>
@@ -4198,7 +4209,7 @@
<string name="zen_mode_custom_behavior_title" msgid="92525364576358085">"「零打擾」模式的行為"</string>
<string name="zen_mode_custom_behavior_summary_default" msgid="3259312823717839148">"使用預設設定"</string>
<string name="zen_mode_custom_behavior_summary" msgid="5390522750884328843">"為這項排程建立自訂設定"</string>
- <string name="zen_mode_custom_behavior_category_title" msgid="7815612569425733764">"用於「<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>」"</string>
+ <string name="zen_mode_custom_behavior_category_title" msgid="7815612569425733764">"「<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>」排程"</string>
<string name="summary_divider_text" msgid="8836285171484563986">"、 "</string>
<string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
<string name="summary_range_verbal_combination" msgid="6022314482293187463">"<xliff:g id="START">%1$s</xliff:g>到<xliff:g id="END">%2$s</xliff:g>"</string>
@@ -4216,7 +4227,7 @@
<string name="zen_mode_calls_list" msgid="5044730950895749093">"通話"</string>
<string name="zen_mode_calls_header" msgid="8379225445095856726">"例外的通話"</string>
<string name="zen_mode_calls_footer" msgid="2008079711083701243">"為了確保你在接到允許的來電時會聽到音效,請確認裝置已設為響鈴"</string>
- <string name="zen_mode_custom_calls_footer" msgid="6521283204577441053">"系統會在「<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>」啟用時封鎖來電。你可以調整設定,讓好友、家人或其他聯絡人能聯絡你。"</string>
+ <string name="zen_mode_custom_calls_footer" msgid="6521283204577441053">"系統會在「<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>」排程啟用時封鎖來電。你可以調整設定,讓好友、家人或其他聯絡人能聯絡你。"</string>
<string name="zen_mode_starred_contacts_title" msgid="630299631659575589">"已加星號的聯絡人"</string>
<string name="zen_mode_starred_contacts_summary_contacts" msgid="1629467178444895094">"{count,plural,offset:2 =0{無}=1{{contact_1}}=2{{contact_1}和{contact_2}}=3{{contact_1}、{contact_2}和{contact_3}}other{{contact_1}、{contact_2}和另外 # 人}}"</string>
<string name="zen_mode_starred_contacts_empty_name" msgid="2906404745550293688">"(無顯示名稱)"</string>
@@ -5145,7 +5156,7 @@
<string name="storage_videos" msgid="6117698226447251033">"影片"</string>
<string name="storage_audio" msgid="5994664984472140386">"音訊"</string>
<string name="storage_apps" msgid="3564291603258795216">"應用程式"</string>
- <string name="storage_documents_and_other" msgid="3293689243732236480">"文件及其他內容"</string>
+ <string name="storage_documents_and_other" msgid="3293689243732236480">"文件和其他檔案"</string>
<string name="storage_system" msgid="8472410119822911844">"系統"</string>
<string name="storage_trash" msgid="2807138998886084856">"垃圾桶"</string>
<string name="storage_trash_dialog_title" msgid="2296169576049935200">"要清空垃圾桶嗎?"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 27bc4f1..fe9e374 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -85,6 +85,8 @@
<string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Awunayo imvume yokushintsha izilungiselelo ze-Bluetooth."</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Bhangqa idivayisi entsha"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"i-bluetooth"</string>
+ <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Bhangqa indlebe engakwesokudla"</string>
+ <string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Bhangqa indlebe engakwesokunxele"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Bhangqa enye indlebe yakho"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_message" msgid="7936892941892347102">"Umshini wakho wendlebe ongakwesokunxele uxhunyiwe.\n\nUkuze ubhangqe ongakwesokudla, qiniseka ukuthi uvuliwe futhi ukulungele ukubhangqa."</string>
<string name="bluetooth_pair_other_ear_dialog_right_ear_message" msgid="8242208936062915941">"Umshini wakho wendlebe ongakwesokudla uxhunyiwe.\n\nUkuze ubhangqe ongakwesokunxele, qiniseka ukuthi uvuliwe futhi ukulungele ukubhangqa."</string>
@@ -2760,8 +2762,12 @@
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Ezinye izici zingakhawulelwa"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Ukusetshenziswa kakhulu kwebhethri"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Bona ama-app asetshenziswa kakhulu"</string>
- <string name="battery_tip_limited_temporarily_title" msgid="5231061779363606924">"Ukushaja kukhawulelwe okwesikhashana"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="8504402301403419444">"Ukonga ibhethri yakho. Funda kabanzi"</string>
+ <!-- no translation found for battery_tip_limited_temporarily_title (5962767837251276527) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_summary (4236185146380247801) -->
+ <skip />
+ <!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
+ <skip />
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Qalisa kabusha ukukhokhisa"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="8125639486214812735">"Ezimweni ezithile, njengamazinga okushisa aphezulu nezikhathi ezinde zokushaja, ukushaja kungakhawulelwa ku-<xliff:g id="PERCENT">%1$s</xliff:g> ukusiza ukonga impilo yebhethri.\n\nLapho lezo zimo ziphela, ifoni yakho izokhokhiswa ngokuzenzakalelayo ngokujwayelekile."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="3890877885222574553">"Ezimweni ezithile, njengamazinga okushisa aphezulu nezikhathi ezinde zokushaja, ukushaja kungakhawulelwa ku-<xliff:g id="PERCENT">%1$s</xliff:g> ukusiza ukonga impilo yebhethri.\n\nLapho lezo zimo ziphela, ithebhulethi yakho izokhokhiswa ngokuzenzakalelayo ngokujwayelekile."</string>
@@ -2797,6 +2803,8 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Lolu hlelo lokusebenza luzokwazi ukusebenzisa ibhethri ngemuva. Ibhethri lakho lingaphela ngokushesha kunokulindelekile."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Susa"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Khansela"</string>
+ <!-- no translation found for battery_tip_charge_to_full_button (6701709034348116261) -->
+ <skip />
<string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Izinhlelo zakho zokusebenza zisebenzisa inani elivamile lebhethri. Uma izinhlelo zokusebenza zisebenzisa ibhethri eliningi, ifoni yakho izophakamisa izenzo ongazenza.\n\nUngahlala uvula isilondolozi sebhethri uma uphelelwa ibethri."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Izinhlelo zakho zokusebenza zisebenzisa inani elivamile lebhethri. Uma izinhlelo zokusebenza zisebenzisa ibhethri eliningi, idivayisi yakho izophakamisa izenzo ongazenza.\n\nUngahlala uvula isilondolozi sebhethri uma uphelelwa ibethri."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Izinhlelo zakho zokusebenza zisebenzisa inani elivamile lebhethri. Uma izinhlelo zokusebenza zisebenzisa ibhethri eliningi, idivayisi yakho izophakamisa izenzo ongazenza.\n\nUngahlala uvula isilondolozi sebhethri uma uphelelwa ibethri."</string>
@@ -2974,8 +2982,11 @@
<string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"kokungu-<xliff:g id="PERCENT">%1$s</xliff:g> kubhethri"</string>
<string name="battery_percentage" msgid="1779934245963043490">"Amaphesenti ebhethri"</string>
<string name="battery_percentage_description" msgid="2321465139126125541">"Bonisa amaphesenti ebhethri kubha yesimo"</string>
+ <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Ileveli yebhethri ukusukela ekushajweni kokugcina okugcwele"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Ileveli yebhethri emahoreni angama-24 adlule"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Ukusetshenziswa kwe-app ukusukela ekushajweni kokugcina okugcwele"</string>
<string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Ukusetshenziswa kwe-app emahoreni angama-24 adlule"</string>
+ <string name="battery_system_usage" msgid="1395943945140097585">"Ukusetshenziswa kwesistimu ukusukela ekushajweni kokugcina okugcwele"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Ukusetshenziswa kwesistimu emahoreni angama-24 adlule"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Ukusetshenziswa kwesistimu nge-<xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_app_usage_for" msgid="7309909074935858949">"Ukusetshenziswa kwe-app nge-<xliff:g id="SLOT">%s</xliff:g>"</string>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index e818a28..7ca1ab2 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -209,4 +209,7 @@
<!-- Background for multiple user settings page avatars -->
<color name="user_avatar_color_bg">?androidprv:attr/colorSurface</color>
+
+ <!-- Icon tint color for battery usage system icon -->
+ <color name="battery_usage_system_icon_color">?android:attr/textColorPrimary</color>
</resources>
diff --git a/res/values/config.xml b/res/values/config.xml
index 00117d7..4180154 100755
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -622,6 +622,15 @@
<!-- Whether to put the apps with system UID into system component bucket or not -->
<bool name="config_battery_combine_system_components">false</bool>
+ <!-- The extra value for battery tip -->
+ <integer name="config_battery_extra_tip_value">12</integer>
+
<!-- Whether to enable the advanced vpn feature. The default is not to. -->
<bool name="config_advanced_vpn_enabled">false</bool>
+
+ <!-- An array of uid name for which packages exempt from Wi-Fi permission check. -->
+ <string-array name="config_exempt_wifi_permission_uid_name" translatable="false">
+ <item>@string/config_settingsintelligence_package_name</item>
+ <item>android.uid.system:1000</item>
+ </string-array>
</resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 520f786..c035320 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -506,4 +506,6 @@
<dimen name="qrcode_preview_margin">40dp</dimen>
<dimen name="qrcode_preview_radius">30dp</dimen>
<dimen name="qrcode_icon_size">27dp</dimen>
+ <!-- Margin for SD card setup completion Image -->
+ <dimen name="setup_completion_margin_top">88dp</dimen>
</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 9f8df7b..dca7ed3 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -184,6 +184,11 @@
<!-- Keywords for bluetooth pairing item [CHAR LIMIT=30] -->
<string name="keywords_add_bt_device">bluetooth</string>
+
+ <!-- Button to help user to pair right ear of the hearing aid device. It will show when only one of the hearing aid device set is connected. [CHAR LIMIT=20] -->
+ <string name="bluetooth_pair_right_ear_button">Pair right ear</string>
+ <!-- Button to help user to pair left ear of the hearing aid device. It will show when only one of the hearing aid device set is connected. [CHAR LIMIT=20] -->
+ <string name="bluetooth_pair_left_ear_button">Pair left ear</string>
<!-- Connected devices settings. Title of the dialog to hint user to pair other ear of the hearing aid device. Shows when only one of the hearing aid device set is connected. [CHAR LIMIT=25] -->
<string name="bluetooth_pair_other_ear_dialog_title">Pair your other ear</string>
<!-- Connected devices settings. Message of the dialog to hint user to pair right ear of the hearing aid device. Shows when only left side of hearing aid device set is connected. [CHAR LIMIT=NONE] -->
@@ -484,6 +489,12 @@
<!-- Title for the locale picker activity. [CHAR LIMIT=30]-->
<string name="language_picker_title">Languages</string>
+ <!-- Title for category of the locale picker . [CHAR LIMIT=50]-->
+ <string name="language_picker_category_title">Preferred language order</string>
+
+ <!-- Description for indication of current system default language. [CHAR LIMIT=50]-->
+ <string name="desc_current_default_language">System language</string>
+
<!-- Menu item in the locale menu. Will remove the selected locales. [CHAR LIMIT=30] -->
<string name="locale_remove_menu">Remove</string>
@@ -497,13 +508,13 @@
<string name="locale_picker_category_title">Preferred Language</string>
<!-- Title for the Apps' locale menu entry [CHAR LIMIT=50]-->
- <string name="app_locales_picker_menu_title">App Languages</string>
+ <string name="app_locales_picker_menu_title">App languages</string>
<!-- Summary for the app's locale picker activity. [CHAR LIMIT=50]-->
<string name="app_locale_picker_summary">Set the language for each app</string>
<!-- Title for the App's locale picker activity. [CHAR LIMIT=50]-->
- <string name="app_locale_picker_title">App Language</string>
+ <string name="app_locale_picker_title">App language</string>
<!-- Category for the suggested app's locales. [CHAR LIMIT=50]-->
<string name="suggested_app_locales_title">Suggested languages</string>
@@ -526,6 +537,18 @@
<!-- Description for introduction of the locale selection supported of app list [CHAR LIMIT=NONE]-->
<string name="desc_app_locale_selection_supported">Only apps that support language selection are shown here.</string>
+ <!-- Description for the introduction to language picker activity. [CHAR LIMIT=NONE]-->
+ <string name="desc_introduction_of_language_picker">Your system, apps, and websites use the first supported language from your preferred languages.</string>
+
+ <!-- Description for the notice of language picker. [CHAR LIMIT=NONE]-->
+ <string name="desc_notice_of_language_picker">To select a language for each app, go to app language settings.</string>
+
+ <!-- Title for locale helper page [CHAR LIMIT=NONE] -->
+ <string name="desc_locale_helper_footer_general">Learn more about languages</string>
+
+ <!-- Link for Locale helper page. [CHAR LIMIT=NONE]-->
+ <string name="link_locale_picker_footer_learn_more" translatable="false">https://support.google.com/android?p=per_language_app_settings</string>
+
<!-- The title of the confirmation dialog shown when the user selects one / several languages and tries to remove them [CHAR LIMIT=60] -->
<plurals name="dlg_remove_locales_title">
<item quantity="one">Remove selected language?</item>
@@ -541,7 +564,7 @@
<string name="dlg_remove_locales_error_message">Keep at least one preferred language</string>
<!-- This text shows in the language picker when the system is not translated into that languages [CHAR LIMIT=80] -->
- <string name="locale_not_translated">May not be available in some apps</string>
+ <string name="locale_not_translated">Not available as system language</string>
<!-- Label for an accessibility action that moves a language up in the ordered language list [CHAR LIMIT=20] -->
<string name="action_drag_label_move_up">Move up</string>
@@ -3598,12 +3621,14 @@
<string name="storage_menu_mount">Mount</string>
<!-- Storage setting. Menu option for unmounting a storage device [CHAR LIMIT=30]-->
<string name="storage_menu_unmount">Eject</string>
- <!-- Storage setting. Menu option for erasing and formatting a storage device [CHAR LIMIT=30]-->
- <string name="storage_menu_format">Format</string>
+ <!-- Storage setting. Menu option for erasing and formatting a storage device [CHAR LIMIT=50]-->
+ <string name="storage_menu_format">Format SD card for portable storage</string>
+ <!-- Storage setting. Button option for erasing and formatting a storage device [CHAR LIMIT=30]-->
+ <string name="storage_menu_format_button">Format card</string>
<!-- Storage setting. Menu option for erasing and formatting a storage device [CHAR LIMIT=30]-->
<string name="storage_menu_format_public">Format as portable</string>
- <!-- Storage setting. Menu option for erasing and formatting a storage device [CHAR LIMIT=30]-->
- <string name="storage_menu_format_private">Format as internal</string>
+ <!-- Storage setting. Menu option for erasing and formatting a storage device [CHAR LIMIT=20]-->
+ <string name="storage_menu_format_option">Format</string>
<!-- Storage setting. Menu option for migrating data to a storage device [CHAR LIMIT=30]-->
<string name="storage_menu_migrate">Migrate data</string>
<!-- Storage setting. Menu option for forgetting a storage device [CHAR LIMIT=30]-->
@@ -3676,8 +3701,10 @@
\n\nTo use this <xliff:g id="name" example="SD card">^1</xliff:g>, you have to set it up first.</string>
<!-- Body of dialog informing user about consequences of formatting an internal storage device [CHAR LIMIT=NONE]-->
- <string name="storage_internal_format_details">After formatting, you can use this <xliff:g id="name" example="SD card">^1</xliff:g> in other devices.
-\n\nAll data on this <xliff:g id="name" example="SD card">^1</xliff:g> will be erased. Consider backing up first.
+ <string name="storage_internal_format_details">You can format this SD card to store photos, videos, music,
+ and more and access them on other devices.
+ \n\n<b>All data on this SD card will be erased.</b>
+ \n\n<b>Before formatting</b>
\n\n<b>Back up photos & other media</b>
\nMove your media files to alternative storage on this device, or transfer them to a computer using a USB cable.
\n\n<b>Back up apps</b>
@@ -3701,16 +3728,19 @@
<!-- Body of dialog informing user about the storage used by the Android System [CHAR LIMIT=NONE]-->
<string name="storage_detail_dialog_system">System includes files used to run Android version <xliff:g id="version" example="8.0">%s</xliff:g></string>
- <!-- Title of wizard step prompting user to setup a storage device [CHAR LIMIT=32] -->
+ <!-- Message to notify guest users as to why they can't set up the storage device [CHAR LIMIT=50]-->
+ <string name="storage_wizard_guest">Guest mode users cannot format SD cards</string>
+
+ <!-- Title of wizard step prompting user to setup a storage device [CHAR LIMIT=32] -->
<string name="storage_wizard_init_title">Set up your <xliff:g id="name" example="SD card">^1</xliff:g></string>
<!-- Title of wizard choice to use storage device as external storage [CHAR LIMIT=64] -->
- <string name="storage_wizard_init_external_title">Use as portable storage</string>
+ <string name="storage_wizard_init_external_title">Format SD card for portable storage</string>
<!-- Summary of wizard choice to use storage device as external storage [CHAR LIMIT=NONE] -->
- <string name="storage_wizard_init_external_summary">For moving photos and other media between devices.</string>
+ <string name="storage_wizard_init_external_summary">Save photos, videos, music, and more and access them from other devices</string>
<!-- Title of wizard choice to use storage device as internal storage [CHAR LIMIT=64] -->
- <string name="storage_wizard_init_internal_title">Use as internal storage</string>
+ <string name="storage_wizard_init_internal_title">Format SD card for internal storage</string>
<!-- Summary of wizard choice to use storage device as internal storage [CHAR LIMIT=NONE] -->
- <string name="storage_wizard_init_internal_summary">For storing anything on this device only, including apps and photos. Requires formatting that prevents it from working with other devices.</string>
+ <string name="storage_wizard_init_internal_summary">Save apps \u0026 media to use on this phone only</string>
<!-- Title of wizard step prompting user to format a storage device [CHAR LIMIT=32] -->
<string name="storage_wizard_format_confirm_title">Format as internal storage</string>
@@ -3765,13 +3795,11 @@
</string>
<!-- Title of a full-screen message. This string lets the user know that their storage device is ready to use. They can tap a button at the bottom of the screen to complete the setup process. The placeholder is for the specific device (e.g. SD card, USB drive, etc.). [CHAR LIMIT=32] -->
- <string name="storage_wizard_ready_title">Your <xliff:g id="name" example="SD card">^1</xliff:g> is ready to use</string>
+ <string name="storage_wizard_ready_title"><xliff:g id="name" example="SD card">^1</xliff:g> formatted</string>
<!-- Body of wizard step indicating that external storage is ready [CHAR LIMIT=NONE] -->
- <string name="storage_wizard_ready_external_body">Your <xliff:g id="name" example="SD card">^1</xliff:g> is all set to use with photos and other media.</string>
+ <string name="storage_wizard_ready_external_body">You can start using your <xliff:g id="name" example="SD card">^1</xliff:g></string>
<!-- Body of wizard step indicating that internal storage is ready [CHAR LIMIT=NONE] -->
- <string name="storage_wizard_ready_internal_body">Your new <xliff:g id="name" example="SD card">^1</xliff:g> is working.
-\n\nTo move photos, files, and app data to this device, go to Settings > Storage.
- </string>
+ <string name="storage_wizard_ready_internal_body">You can start using your <xliff:g id="name" example="SD card">^1</xliff:g></string>
<!-- Title of wizard step prompting user to move an app [CHAR LIMIT=32] -->
<string name="storage_wizard_move_confirm_title">Move <xliff:g id="app" example="Calculator">^1</xliff:g></string>
@@ -3801,26 +3829,26 @@
<!-- This is the title of a full-screen message. After this question, the user will get to choose how they want to use the storage device that they have in their phone. The placeholder is for the specific device (e.g. SD card, USB drive, etc.). [CHAR LIMIT=32] -->
<string name="storage_wizard_init_v2_title">How will you use this <xliff:g id="name" example="SD card">^1</xliff:g>?</string>
- <!-- Title of a line item. Below this title, a user can tap a button to select this option if they want to use their SD card as extra device storage. [CHAR LIMIT=32] -->
- <string name="storage_wizard_init_v2_internal_title" product="tablet">Use for extra tablet storage</string>
- <!-- Subtext for a line item. Below this subtext, a user can tap a button to select this option if they want to use their SD card as extra device storage. [CHAR LIMIT=64] -->
- <string name="storage_wizard_init_v2_internal_summary" product="tablet">For apps, files, and media on this tablet only</string>
+ <!-- Title of a line item. Below this title, a user can tap a button to select this option if they want to use their SD card as extra device storage. [CHAR LIMIT=50] -->
+ <string name="storage_wizard_init_v2_internal_title" product="tablet">Format SD card for internal storage</string>
+ <!-- Subtext for a line item. Below this subtext, a user can tap a button to select this option if they want to use their SD card as extra device storage. [CHAR LIMIT=NONE] -->
+ <string name="storage_wizard_init_v2_internal_summary" product="tablet">Store apps \u0026 media to use on this tablet only. <a href="https://support.google.com/android/answer/12153449">Learn more about setting up an SD card</a></string>
<!-- Button text. A user can tap this button if they want to use their SD card as extra device storage. [CHAR LIMIT=32] -->
- <string name="storage_wizard_init_v2_internal_action" product="tablet">Tablet storage</string>
- <!-- Title of a line item. Below this title, a user can tap a button to select this option if they want to use their SD card as extra device storage. [CHAR LIMIT=32] -->
- <string name="storage_wizard_init_v2_internal_title" product="default">Use for extra phone storage</string>
- <!-- Subtext for a line item. Below this subtext, a user can tap a button to select this option if they want to use their SD card as extra device storage. [CHAR LIMIT=64] -->
- <string name="storage_wizard_init_v2_internal_summary" product="default">For apps, files, and media on this phone only</string>
+ <string name="storage_wizard_init_v2_internal_action" product="tablet">Format</string>
+ <!-- Title of a line item. Below this title, a user can tap a button to select this option if they want to use their SD card as extra device storage. [CHAR LIMIT=50] -->
+ <string name="storage_wizard_init_v2_internal_title" product="default">Format SD card for internal storage</string>
+ <!-- Subtext for a line item. Below this subtext, a user can tap a button to select this option if they want to use their SD card as extra device storage. [CHAR LIMIT=NONE] -->
+ <string name="storage_wizard_init_v2_internal_summary" product="default">Store apps \u0026 media to use on this phone only. <a href="https://support.google.com/android/answer/12153449">Learn more about setting up an SD card</a></string>
<!-- Button text. A user can tap this button if they want to use their SD card as extra device storage. [CHAR LIMIT=32] -->
- <string name="storage_wizard_init_v2_internal_action" product="default">Phone storage</string>
+ <string name="storage_wizard_init_v2_internal_action" product="default">Format</string>
<!-- This text separates two options in a full-screen message. It's used to indicate a user can choose one option or the other. [CHAR LIMIT=16] -->
<string name="storage_wizard_init_v2_or">Or</string>
- <!-- Title of a line item. Below this title, a user can tap a button to select this option if they want to use their SD card as portable device storage. [CHAR LIMIT=32] -->
- <string name="storage_wizard_init_v2_external_title">Use for portable storage</string>
- <!-- Subtext for a line item. Below this subtext, a user can tap a button to select this option if they want to use their SD card as portable device storage. [CHAR LIMIT=64] -->
- <string name="storage_wizard_init_v2_external_summary">For transferring files and media between devices</string>
+ <!-- Title of a line item. Below this title, a user can tap a button to select this option if they want to use their SD card as portable device storage. [CHAR LIMIT=50] -->
+ <string name="storage_wizard_init_v2_external_title">Format SD card for portable storage</string>
+ <!-- Subtext for a line item. Below this subtext, a user can tap a button to select this option if they want to use their SD card as portable device storage. [CHAR LIMIT=NONE] -->
+ <string name="storage_wizard_init_v2_external_summary">Store photos, videos, music, and more and access them from other devices. <a href="https://support.google.com/android/answer/12153449">Learn more about setting up an SD card</a></string>
<!-- Button text. A user can tap this button if they want to use their SD card as portable device storage. [CHAR LIMIT=32] -->
- <string name="storage_wizard_init_v2_external_action">Portable storage</string>
+ <string name="storage_wizard_init_v2_external_action">Format</string>
<!-- Button text. A user can tap this button if they want to delay setting up their SD card until a later time. [CHAR LIMIT=32] -->
<string name="storage_wizard_init_v2_later">Set up later</string>
@@ -3829,6 +3857,9 @@
<!-- Body of a dialog. This text is confirming that the user wants to use their SD card as extra phone storage, but the formatting process will erase existing content on the card. The first placeholder is for the name of the device (e.g. a brand name of the SD card or USB drive). The second and third placeholders are for the general references (e.g. SD card, USB drive). [CHAR LIMIT=NONE] -->
<string name="storage_wizard_format_confirm_v2_body">This <xliff:g id="name" example="SanDisk SD card">^1</xliff:g> needs to be formatted to store apps, files, and media.
\n\nFormatting will erase existing content on the <xliff:g id="name" example="SD card">^2</xliff:g>. To avoid losing content, back it up to another <xliff:g id="name" example="SD card">^3</xliff:g> or device.</string>
+ <!-- Body of a dialog. This text is confirming that the user wants to use their SD card as portable storage, but the formatting process will erase existing content on the card. The first placeholder is for the name of the device (e.g. a brand name of the SD card or USB drive). The second and third placeholders are for the general references (e.g. SD card, USB drive). [CHAR LIMIT=NONE] -->
+ <string name="storage_wizard_format_confirm_v2_body_external">This <xliff:g id="name" example="SanDisk SD card">^1</xliff:g> needs to be formatted to store photos, videos, music, and more.
+ \n\nFormatting will erase existing content on the <xliff:g id="name" example="SD card">^2</xliff:g>. To avoid losing content, back it up to another <xliff:g id="name" example="SD card">^3</xliff:g> or device.</string>
<!-- Button text. If a user taps this button, their SD card or USB device will be formatted and used as extra phone storage. The placeholder is for the specific device (e.g. SD card, USB drive, etc.). [CHAR LIMIT=16] -->
<string name="storage_wizard_format_confirm_v2_action">Format <xliff:g id="name" example="SD card">^1</xliff:g></string>
@@ -3872,12 +3903,11 @@
<string name="storage_wizard_slow_v2_continue">Continue</string>
<!-- Title of a full-screen message. This text lets the user know how to manage the storage device moving forward. The placeholder is for the name of the device (e.g. brand name of the SD card). [CHAR LIMIT=NONE] -->
- <string name="storage_wizard_ready_v2_external_body">You can move content to <xliff:g id="name" example="SanDisk SD card">^1</xliff:g></string>
+ <string name="storage_wizard_ready_v2_external_body">You can start using your <xliff:g id="name" example="SD card">^1</xliff:g></string>
<!-- Title of a full-screen message. This text lets the user know that their content was moved to their storage device and how to manage the storage device moving forward. The placeholder is for the name of the device (e.g. brand name of the SD card). [CHAR LIMIT=NONE] -->
- <string name="storage_wizard_ready_v2_internal_body">To move content to <xliff:g id="name" example="SanDisk SD card">^1</xliff:g>, go to <b>Settings > Storage</b></string>
+ <string name="storage_wizard_ready_v2_internal_body">You can start using your <xliff:g id="name" example="SD card">^1</xliff:g></string>
<!-- Title of a full-screen message. This text lets the user know that their content was moved to their storage device and how to manage the storage device moving forward. The placeholder is for the name of the device (e.g. brand name of the SD card). [CHAR LIMIT=NONE] -->
- <string name="storage_wizard_ready_v2_internal_moved_body">Your content was moved to <xliff:g id="name" example="SanDisk SD card">^1</xliff:g>.
-\n\nTo manage this <xliff:g id="name" example="SD card">^2</xliff:g>, go to <b>Settings > Storage</b>.</string>
+ <string name="storage_wizard_ready_v2_internal_moved_body">You can start using your <xliff:g id="name" example="SD card">^1</xliff:g></string>
<!-- Phone info screen, section titles: -->
<string name="battery_status_title">Battery status</string>
@@ -6273,9 +6303,11 @@
<!-- Summary for the battery high usage tip, which presents apps with highest usage [CHAR LIMIT=NONE] -->
<string name="battery_tip_high_usage_summary">See apps with highest usage</string>
<!-- Title for the battery limited temporarily tip [CHAR LIMIT=NONE] -->
- <string name="battery_tip_limited_temporarily_title">Charging temporarily limited</string>
+ <string name="battery_tip_limited_temporarily_title">Charging is paused</string>
<!-- Summary for the battery limited temporarily tip [CHAR LIMIT=NONE] -->
- <string name="battery_tip_limited_temporarily_summary">To preserve your battery. Learn more.</string>
+ <string name="battery_tip_limited_temporarily_summary">Protecting battery to extend battery lifespan\nTap to learn more</string>
+ <!-- Summary for the battery limited temporarily extra tip [CHAR LIMIT=NONE] -->
+ <string name="battery_tip_limited_temporarily_extra_summary"><xliff:g id="percent" example="10%">%1$s</xliff:g></string>
<!-- Text of battery limited temporarily tip resume charge button. [CHAR LIMIT=NONE] -->
<string name="battery_tip_limited_temporarily_dialog_resume_charge">Resume charging</string>
<!-- Message of battery limited temporarily tip. [CHAR LIMIT=NONE] -->
@@ -6332,6 +6364,8 @@
<string name="battery_tip_unrestrict_app_dialog_ok">Remove</string>
<!-- CANCEL button for dialog to remove restriction for app [CHAR LIMIT=NONE] -->
<string name="battery_tip_unrestrict_app_dialog_cancel">Cancel</string>
+ <!-- Charge to full button for battery defender tips [CHAR LIMIT=NONE] -->
+ <string name="battery_tip_charge_to_full_button">Charge to full</string>
<!-- Message for battery tip dialog to show the battery summary -->
<string name="battery_tip_dialog_summary_message" product="default">Your apps are using a normal amount of battery. If apps use too much battery, your phone will suggest actions you can take.\n\nYou can always turn on Battery Saver if you\u2019re running low on battery.</string>
@@ -6744,10 +6778,16 @@
<!-- [CHAR_LIMIT=NONE] Battery percentage: Description for preference -->
<string name="battery_percentage_description">Show battery percentage in status bar</string>
+ <!-- [CHAR_LIMIT=NONE] Battery usage main screen chart graph hint since last full charge -->
+ <string name="battery_usage_chart_graph_hint_last_full_charge">Battery level since last full charge</string>
<!-- [CHAR_LIMIT=NONE] Battery usage main screen chart graph hint -->
<string name="battery_usage_chart_graph_hint">Battery level for past 24 hr</string>
+ <!-- [CHAR_LIMIT=NONE] Battery app usage section header since last full charge -->
+ <string name="battery_app_usage">App usage since last full charge</string>
<!-- [CHAR_LIMIT=NONE] Battery app usage section header for past 24 hour -->
<string name="battery_app_usage_for_past_24">App usage for past 24 hr</string>
+ <!-- [CHAR_LIMIT=NONE] Battery system usage section header since last full charge -->
+ <string name="battery_system_usage">System usage since last full charge</string>
<!-- [CHAR_LIMIT=NONE] Battery system usage section header for past 24 hour -->
<string name="battery_system_usage_for_past_24">System usage for past 24 hr</string>
<!-- [CHAR_LIMIT=NONE] Battery system usage section header -->
@@ -6768,6 +6808,10 @@
<string name="battery_usage_screen_footer_empty">Battery usage data will be available after you use your phone for a few hours</string>
<!-- [CHAR_LIMIT=NONE] Accessibility content description for battery chart view. -->
<string name="battery_usage_chart">Battery usage chart</string>
+ <!-- [CHAR_LIMIT=NONE] Accessibility content description for daily battery chart view. -->
+ <string name="daily_battery_usage_chart">Daily battery usage chart</string>
+ <!-- [CHAR_LIMIT=NONE] Accessibility content description for hourly battery chart view. -->
+ <string name="hourly_battery_usage_chart">Hourly battery usage chart</string>
<!-- Process Stats strings -->
<skip />
@@ -8205,6 +8249,10 @@
<string name="wizard_back">Back</string>
<!-- Wizard next button label [CHAR LIMIT=25] -->
<string name="wizard_next">Next</string>
+ <!-- Wizard next button label for portable [CHAR LIMIT=25] -->
+ <string name="wizard_back_portable">Switch to portable</string>
+ <!-- Wizard next button label for adoptable [CHAR LIMIT=25] -->
+ <string name="wizard_back_adoptable">Format another way</string>
<!-- Wizard finish button label [CHAR LIMIT=25] -->
<string name="wizard_finish">Finish</string>
@@ -13608,6 +13656,10 @@
<string name="media_controls_resume_title">Pin media player</string>
<!-- Description of toggle to enable or disable the media resumption feature in quick settings [CHAR LIMIT=NONE]-->
<string name="media_controls_resume_description">To quickly resume playback, media player stays open in Quick Settings</string>
+ <!-- Title of toggle to enable or disable the media resumption on lockscreen [CHAR LIMIT=NONE]-->
+ <string name="media_controls_lockscreen_title">Show media on lock screen</string>
+ <!-- Description of toggle to enable or disable the media resumption on lockscreen [CHAR LIMIT=NONE]-->
+ <string name="media_controls_lockscreen_description">To quickly resume playback, media player stays open on lock screen</string>
<!-- Title of toggle to enable or disable media recommendations in quick settings [CHAR LIMIT=NONE] -->
<string name="media_controls_recommendations_title">Show media recommendations</string>
<!-- Description of toggle to enable or disable media recommendations based on user's activity [CHAR LIMIT=NONE] -->
diff --git a/res/values/styles.xml b/res/values/styles.xml
index f147ce9..8dee082 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -969,4 +969,19 @@
<item name="android:textColor">?android:attr/textColorPrimary</item>
<item name="android:textDirection">locale</item>
</style>
+
+ <style name="CardPreferencePrimaryButton" parent="@style/ActionPrimaryButton">
+ <item name="android:fontFamily">google-sans-medium</item>
+ <item name="android:textSize">14sp</item>
+ <item name="android:textAllCaps">false</item>
+ <item name="android:singleLine">true</item>
+ </style>
+
+ <style name="CardPreferenceBorderlessButton"
+ parent="@style/Widget.AppCompat.Button.Borderless.Colored">
+ <item name="android:fontFamily">google-sans-medium</item>
+ <item name="android:textSize">14sp</item>
+ <item name="android:textAllCaps">false</item>
+ <item name="android:singleLine">true</item>
+ </style>
</resources>
diff --git a/res/xml/bluetooth_device_details_fragment.xml b/res/xml/bluetooth_device_details_fragment.xml
index f330b19..efb2bf7 100644
--- a/res/xml/bluetooth_device_details_fragment.xml
+++ b/res/xml/bluetooth_device_details_fragment.xml
@@ -42,6 +42,12 @@
settings:searchable="false"
settings:controller="com.android.settings.bluetooth.LeAudioBluetoothDetailsHeaderController"/>
+ <com.android.settingslib.widget.ButtonPreference
+ android:key="hearing_aid_pair_other_button"
+ android:gravity="center" />
+ <com.android.settings.applications.SpacePreference
+ android:layout_height="8dp" />
+
<com.android.settingslib.widget.ActionButtonsPreference
android:key="action_buttons"
settings:allowDividerBelow="true"/>
diff --git a/res/xml/configure_notification_settings.xml b/res/xml/configure_notification_settings.xml
index 4e58e66..96a3f85 100644
--- a/res/xml/configure_notification_settings.xml
+++ b/res/xml/configure_notification_settings.xml
@@ -156,7 +156,7 @@
android:title="@string/notification_pulse_title"
settings:controller="com.android.settings.notification.PulseNotificationPreferenceController"/>
- <SwitchPreference
+ <com.android.settingslib.PrimarySwitchPreference
android:key="notification_assistant"
android:order="23"
android:title="@string/notification_assistant_title"
diff --git a/res/xml/languages.xml b/res/xml/languages.xml
new file mode 100644
index 0000000..0f45540
--- /dev/null
+++ b/res/xml/languages.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2022 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/language_settings">
+
+ <com.android.settingslib.widget.TopIntroPreference
+ android:title="@string/desc_introduction_of_language_picker"
+ android:persistent="false"
+ android:selectable="false"/>
+
+ <PreferenceCategory
+ android:title="@string/language_picker_category_title">
+ <com.android.settingslib.widget.LayoutPreference
+ android:key="languages_picker"
+ android:layout="@layout/locale_order_list" />
+ </PreferenceCategory>
+
+ <com.android.settingslib.widget.FooterPreference
+ android:key="footer_languages_picker"
+ android:title="@string/desc_notice_of_language_picker"
+ android:persistent="false"
+ android:selectable="false"
+ settings:controller="com.android.settings.localepicker.LocaleHelperPreferenceController"/>
+
+</PreferenceScreen>
diff --git a/res/xml/media_controls_settings.xml b/res/xml/media_controls_settings.xml
index 0318097..822639a 100644
--- a/res/xml/media_controls_settings.xml
+++ b/res/xml/media_controls_settings.xml
@@ -28,6 +28,12 @@
app:controller="com.android.settings.sound.MediaControlsPreferenceController" />
<SwitchPreference
+ android:key="media_controls_lockscreen"
+ android:title="@string/media_controls_lockscreen_title"
+ android:summary="@string/media_controls_lockscreen_description"
+ app:controller="com.android.settings.sound.MediaControlsLockScreenPreferenceController" />
+
+ <SwitchPreference
android:key="media_controls_recommendations"
android:title="@string/media_controls_recommendations_title"
android:summary="@string/media_controls_recommendations_description"
diff --git a/res/xml/privacy_advanced_settings.xml b/res/xml/privacy_advanced_settings.xml
index 9f465d4..b028008 100644
--- a/res/xml/privacy_advanced_settings.xml
+++ b/res/xml/privacy_advanced_settings.xml
@@ -51,6 +51,14 @@
android:summary="@string/summary_placeholder"
settings:searchable="false"/>
+ <!-- Show media on lock screen -->
+ <SwitchPreference
+ android:key="privacy_media_controls_lockscreen"
+ android:title="@string/media_controls_lockscreen_title"
+ android:summary="@string/media_controls_lockscreen_description"
+ settings:controller=
+ "com.android.settings.sound.MediaControlsLockScreenPreferenceController" />
+
<!-- Privacy Service -->
<PreferenceCategory
android:key="privacy_services"
diff --git a/res/xml/privacy_dashboard_settings.xml b/res/xml/privacy_dashboard_settings.xml
index 0a7cab5..f8f916e 100644
--- a/res/xml/privacy_dashboard_settings.xml
+++ b/res/xml/privacy_dashboard_settings.xml
@@ -89,6 +89,14 @@
android:summary="@string/summary_placeholder"
settings:searchable="false"/>
+ <!-- Show media on lock screen -->
+ <SwitchPreference
+ android:key="privacy_media_controls_lockscreen"
+ android:title="@string/media_controls_lockscreen_title"
+ android:summary="@string/media_controls_lockscreen_description"
+ settings:controller=
+ "com.android.settings.sound.MediaControlsLockScreenPreferenceController" />
+
<!-- Privacy Service -->
<PreferenceCategory
android:key="privacy_services"
diff --git a/src/com/android/settings/applications/appinfo/AppBatteryPreferenceController.java b/src/com/android/settings/applications/appinfo/AppBatteryPreferenceController.java
index 99c630d..732163b 100644
--- a/src/com/android/settings/applications/appinfo/AppBatteryPreferenceController.java
+++ b/src/com/android/settings/applications/appinfo/AppBatteryPreferenceController.java
@@ -179,7 +179,7 @@
return null;
}
final BatteryDiffEntry entry =
- BatteryChartPreferenceController.getBatteryLast24HrUsageData(
+ BatteryChartPreferenceController.getAppBatteryUsageData(
mContext, mPackageName, mUserId);
Log.d(TAG, "loadBatteryDiffEntries():\n" + entry);
return entry;
@@ -200,10 +200,10 @@
mBatteryPercent = Utils.formatPercentage(
mBatteryDiffEntry.getPercentOfTotal(), /* round */ true);
mPreference.setSummary(mContext.getString(
- R.string.battery_summary_24hr, mBatteryPercent));
+ R.string.battery_summary, mBatteryPercent));
} else {
mPreference.setSummary(
- mContext.getString(R.string.no_battery_summary_24hr));
+ mContext.getString(R.string.no_battery_summary));
}
}
diff --git a/src/com/android/settings/applications/appinfo/AppLocalePreferenceController.java b/src/com/android/settings/applications/appinfo/AppLocalePreferenceController.java
index f406d87..6bf94a6 100644
--- a/src/com/android/settings/applications/appinfo/AppLocalePreferenceController.java
+++ b/src/com/android/settings/applications/appinfo/AppLocalePreferenceController.java
@@ -22,7 +22,6 @@
import android.content.pm.ResolveInfo;
import android.net.Uri;
import android.text.TextUtils;
-import android.util.FeatureFlagUtils;
import android.util.Log;
import androidx.annotation.VisibleForTesting;
@@ -51,9 +50,7 @@
@Override
public int getAvailabilityStatus() {
- boolean isFeatureOn = FeatureFlagUtils
- .isEnabled(mContext, FeatureFlagUtils.SETTINGS_APP_LANGUAGE_SELECTION);
- return isFeatureOn && canDisplayLocaleUi() ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+ return canDisplayLocaleUi() ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
}
@Override
diff --git a/src/com/android/settings/applications/appinfo/ManageAppLocalePreferenceController.java b/src/com/android/settings/applications/appinfo/ManageAppLocalePreferenceController.java
deleted file mode 100644
index aa12b62..0000000
--- a/src/com/android/settings/applications/appinfo/ManageAppLocalePreferenceController.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.applications.appinfo;
-
-import android.content.Context;
-import android.util.FeatureFlagUtils;
-
-import com.android.settings.core.BasePreferenceController;
-
-/**
- * A controller to update current locale information of application
- * and a entry to launch {@link ManageApplications}.
- * TODO(209775925) After feature release, this class may be removed.
- */
-public class ManageAppLocalePreferenceController extends BasePreferenceController {
- public ManageAppLocalePreferenceController(Context context, String key) {
- super(context, key);
- }
-
- @Override
- public int getAvailabilityStatus() {
- return FeatureFlagUtils
- .isEnabled(mContext, FeatureFlagUtils.SETTINGS_APP_LANGUAGE_SELECTION)
- ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
- }
-}
diff --git a/src/com/android/settings/applications/manageapplications/ManageApplications.java b/src/com/android/settings/applications/manageapplications/ManageApplications.java
index e12bc1c..30d4a71 100644
--- a/src/com/android/settings/applications/manageapplications/ManageApplications.java
+++ b/src/com/android/settings/applications/manageapplications/ManageApplications.java
@@ -126,6 +126,8 @@
import com.android.settings.widget.LoadingViewController;
import com.android.settings.wifi.AppStateChangeWifiStateBridge;
import com.android.settings.wifi.ChangeWifiStateDetails;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedLockUtilsInternal;
import com.android.settingslib.applications.AppIconCacheManager;
import com.android.settingslib.applications.AppUtils;
import com.android.settingslib.applications.ApplicationsState;
@@ -776,7 +778,18 @@
mShowSystem = !mShowSystem;
mApplications.rebuild();
} else if (i == R.id.reset_app_preferences) {
- mResetAppsHelper.buildResetDialog();
+ final boolean appsControlDisallowedBySystem =
+ RestrictedLockUtilsInternal.hasBaseUserRestriction(getActivity(),
+ UserManager.DISALLOW_APPS_CONTROL, UserHandle.myUserId());
+ final RestrictedLockUtils.EnforcedAdmin appsControlDisallowedAdmin =
+ RestrictedLockUtilsInternal.checkIfRestrictionEnforced(getActivity(),
+ UserManager.DISALLOW_APPS_CONTROL, UserHandle.myUserId());
+ if (appsControlDisallowedAdmin != null && !appsControlDisallowedBySystem) {
+ RestrictedLockUtils.sendShowAdminSupportDetailsIntent(
+ getActivity(), appsControlDisallowedAdmin);
+ } else {
+ mResetAppsHelper.buildResetDialog();
+ }
return true;
} else if (i == R.id.advanced) {
if (mListType == LIST_TYPE_NOTIFICATION) {
diff --git a/src/com/android/settings/applications/specialaccess/notificationaccess/BridgedAppsLinkPreferenceController.java b/src/com/android/settings/applications/specialaccess/notificationaccess/BridgedAppsLinkPreferenceController.java
index 1c787ba..6a641b3 100644
--- a/src/com/android/settings/applications/specialaccess/notificationaccess/BridgedAppsLinkPreferenceController.java
+++ b/src/com/android/settings/applications/specialaccess/notificationaccess/BridgedAppsLinkPreferenceController.java
@@ -18,10 +18,11 @@
import android.os.Build;
import android.service.notification.NotificationListenerFilter;
+import androidx.preference.Preference;
+
import com.android.settings.core.BasePreferenceController;
import com.android.settings.notification.NotificationBackend;
-
public class BridgedAppsLinkPreferenceController extends BasePreferenceController {
private ComponentName mCn;
@@ -61,7 +62,6 @@
if (mTargetSdk > Build.VERSION_CODES.S) {
return AVAILABLE;
}
-
mNlf = mNm.getListenerFilter(mCn, mUserId);
if (!mNlf.areAllTypesAllowed() || !mNlf.getDisallowedPackages().isEmpty()) {
return AVAILABLE;
@@ -69,4 +69,10 @@
}
return DISABLED_DEPENDENT_SETTING;
}
+
+ @Override
+ public void updateState(Preference pref) {
+ pref.setEnabled(getAvailabilityStatus() == AVAILABLE);
+ super.updateState(pref);
+ }
}
diff --git a/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessDetails.java b/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessDetails.java
index da25f17..e6feebb 100644
--- a/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessDetails.java
+++ b/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessDetails.java
@@ -233,11 +233,7 @@
apc.updateState(screen.findPreference(apc.getPreferenceKey()));
getPreferenceControllers().forEach(controllers -> {
controllers.forEach(controller -> {
- if (controller instanceof TypeFilterPreferenceController) {
- TypeFilterPreferenceController tfpc =
- (TypeFilterPreferenceController) controller;
- tfpc.updateState(screen.findPreference(tfpc.getPreferenceKey()));
- }
+ controller.updateState(screen.findPreference(controller.getPreferenceKey()));
});
});
}
@@ -249,11 +245,7 @@
apc.updateState(screen.findPreference(apc.getPreferenceKey()));
getPreferenceControllers().forEach(controllers -> {
controllers.forEach(controller -> {
- if (controller instanceof TypeFilterPreferenceController) {
- TypeFilterPreferenceController tfpc =
- (TypeFilterPreferenceController) controller;
- tfpc.updateState(screen.findPreference(tfpc.getPreferenceKey()));
- }
+ controller.updateState(screen.findPreference(controller.getPreferenceKey()));
});
});
}
diff --git a/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java b/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java
index bd79cc2..404fe6d 100644
--- a/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java
+++ b/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java
@@ -127,13 +127,14 @@
@Override
public boolean onPreferenceTreeClick(Preference preference) {
final String key = preference.getKey();
+ final Context context = requireActivity().getApplicationContext();
// Generate challenge (and request LSS to create a HAT) each time the preference is clicked,
// since FingerprintSettings and FaceSettings revoke the challenge when finishing.
if (getFacePreferenceKey().equals(key)) {
mDoNotFinishActivity = true;
mFaceManager.generateChallenge(mUserId, (sensorId, userId, challenge) -> {
- final byte[] token = BiometricUtils.requestGatekeeperHat(getActivity(), mGkPwHandle,
+ final byte[] token = BiometricUtils.requestGatekeeperHat(context, mGkPwHandle,
mUserId, challenge);
final Bundle extras = preference.getExtras();
extras.putByteArray(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, token);
@@ -146,7 +147,7 @@
} else if (getFingerprintPreferenceKey().equals(key)) {
mDoNotFinishActivity = true;
mFingerprintManager.generateChallenge(mUserId, (sensorId, userId, challenge) -> {
- final byte[] token = BiometricUtils.requestGatekeeperHat(getActivity(), mGkPwHandle,
+ final byte[] token = BiometricUtils.requestGatekeeperHat(context, mGkPwHandle,
mUserId, challenge);
final Bundle extras = preference.getExtras();
extras.putByteArray(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, token);
diff --git a/src/com/android/settings/biometrics/combination/CombinedBiometricStatusPreferenceController.java b/src/com/android/settings/biometrics/combination/CombinedBiometricStatusPreferenceController.java
index ba09e5f..978fb0d 100644
--- a/src/com/android/settings/biometrics/combination/CombinedBiometricStatusPreferenceController.java
+++ b/src/com/android/settings/biometrics/combination/CombinedBiometricStatusPreferenceController.java
@@ -40,6 +40,7 @@
@VisibleForTesting
RestrictedPreference mPreference;
protected final CombinedBiometricStatusUtils mCombinedBiometricStatusUtils;
+ private PreferenceScreen mPreferenceScreen;
public CombinedBiometricStatusPreferenceController(Context context) {
this(context, KEY_BIOMETRIC_SETTINGS, null /* lifecycle */);
@@ -66,11 +67,15 @@
@OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
public void onResume() {
updateStateInternal();
+ if (mPreferenceScreen != null) {
+ displayPreference(mPreferenceScreen);
+ }
}
@Override
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
+ mPreferenceScreen = screen;
mPreference = screen.findPreference(mPreferenceKey);
}
diff --git a/src/com/android/settings/biometrics/face/FaceStatusPreferenceController.java b/src/com/android/settings/biometrics/face/FaceStatusPreferenceController.java
index 9b4b433..7c41957 100644
--- a/src/com/android/settings/biometrics/face/FaceStatusPreferenceController.java
+++ b/src/com/android/settings/biometrics/face/FaceStatusPreferenceController.java
@@ -40,6 +40,7 @@
protected final FaceManager mFaceManager;
@VisibleForTesting
RestrictedPreference mPreference;
+ private PreferenceScreen mPreferenceScreen;
private final FaceStatusUtils mFaceStatusUtils;
public FaceStatusPreferenceController(Context context) {
@@ -67,11 +68,15 @@
@OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
public void onResume() {
updateStateInternal();
+ if (mPreferenceScreen != null) {
+ displayPreference(mPreferenceScreen);
+ }
}
@Override
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
+ mPreferenceScreen = screen;
mPreference = screen.findPreference(mPreferenceKey);
}
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintStatusPreferenceController.java b/src/com/android/settings/biometrics/fingerprint/FingerprintStatusPreferenceController.java
index 62edcf0..1ed0688 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintStatusPreferenceController.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintStatusPreferenceController.java
@@ -41,6 +41,7 @@
@VisibleForTesting
RestrictedPreference mPreference;
private final FingerprintStatusUtils mFingerprintStatusUtils;
+ private PreferenceScreen mPreferenceScreen;
public FingerprintStatusPreferenceController(Context context) {
this(context, KEY_FINGERPRINT_SETTINGS);
@@ -68,11 +69,15 @@
@OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
public void onResume() {
updateStateInternal();
+ if (mPreferenceScreen != null) {
+ displayPreference(mPreferenceScreen);
+ }
}
@Override
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
+ mPreferenceScreen = screen;
mPreference = screen.findPreference(mPreferenceKey);
}
diff --git a/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensor.java b/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensor.java
index 7256511..1ae5dae 100644
--- a/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensor.java
+++ b/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensor.java
@@ -77,7 +77,7 @@
@NonNull
public AlertDialog.Builder onCreateDialogBuilder() {
- return new AlertDialog.Builder(getContext())
+ return new AlertDialog.Builder(getActivity(), R.style.GlifV2ThemeAlertDialog)
.setTitle(R.string.setup_fingerprint_enroll_skip_title)
.setPositiveButton(R.string.skip_anyway_button_label, this)
.setNegativeButton(R.string.go_back_button_label, this)
diff --git a/src/com/android/settings/bluetooth/BluetoothBroadcastDialog.java b/src/com/android/settings/bluetooth/BluetoothBroadcastDialog.java
index b2636a6..62a66cf 100644
--- a/src/com/android/settings/bluetooth/BluetoothBroadcastDialog.java
+++ b/src/com/android/settings/bluetooth/BluetoothBroadcastDialog.java
@@ -41,15 +41,18 @@
* nearby broadcast sources.
*/
public class BluetoothBroadcastDialog extends InstrumentedDialogFragment {
+
public static final String KEY_APP_LABEL = "app_label";
public static final String KEY_DEVICE_ADDRESS =
BluetoothFindBroadcastsFragment.KEY_DEVICE_ADDRESS;
+ public static final String KEY_MEDIA_STREAMING = "media_streaming";
private static final String TAG = "BTBroadcastsDialog";
private static final CharSequence UNKNOWN_APP_LABEL = "unknown";
private Context mContext;
private CharSequence mCurrentAppLabel = UNKNOWN_APP_LABEL;
private String mDeviceAddress;
+ private boolean mIsMediaStreaming;
private LocalBluetoothManager mLocalBluetoothManager;
private AlertDialog mAlertDialog;
@@ -59,6 +62,7 @@
mContext = getActivity();
mCurrentAppLabel = getActivity().getIntent().getCharSequenceExtra(KEY_APP_LABEL);
mDeviceAddress = getActivity().getIntent().getStringExtra(KEY_DEVICE_ADDRESS);
+ mIsMediaStreaming = getActivity().getIntent().getBooleanExtra(KEY_MEDIA_STREAMING, false);
mLocalBluetoothManager = Utils.getLocalBtManager(mContext);
setShowsDialog(true);
}
@@ -70,21 +74,29 @@
TextView title = layout.findViewById(com.android.settingslib.R.id.dialog_title);
TextView subTitle = layout.findViewById(com.android.settingslib.R.id.dialog_subtitle);
- title.setText(mContext.getString(R.string.bluetooth_broadcast_dialog_title));
- subTitle.setText(
- mContext.getString(R.string.bluetooth_broadcast_dialog_broadcast_message));
Button broadcastBtn = layout.findViewById(com.android.settingslib.R.id.positive_btn);
- if (TextUtils.isEmpty(mCurrentAppLabel)) {
- broadcastBtn.setText(mContext.getString(R.string.bluetooth_broadcast_dialog_title));
- } else {
- broadcastBtn.setText(mContext.getString(
+ if (isBroadcastSupported() && mIsMediaStreaming) {
+ title.setText(mContext.getString(R.string.bluetooth_broadcast_dialog_title));
+ subTitle.setText(
+ mContext.getString(R.string.bluetooth_broadcast_dialog_broadcast_message));
+ broadcastBtn.setVisibility(View.VISIBLE);
+ if (TextUtils.isEmpty(mCurrentAppLabel)) {
+ broadcastBtn.setText(mContext.getString(R.string.bluetooth_broadcast_dialog_title));
+ } else {
+ broadcastBtn.setText(mContext.getString(
R.string.bluetooth_broadcast_dialog_broadcast_app,
String.valueOf(mCurrentAppLabel)));
+ }
+ broadcastBtn.setOnClickListener((view) -> {
+ launchMediaOutputBroadcastDialog();
+ });
+ } else {
+ title.setText(mContext.getString(R.string.bluetooth_find_broadcast));
+ subTitle.setText(
+ mContext.getString(R.string.bluetooth_broadcast_dialog_find_message));
+ broadcastBtn.setVisibility(View.GONE);
}
- broadcastBtn.setOnClickListener((view) -> {
- launchMediaOutputBroadcastDialog();
- });
Button findBroadcastBtn = layout.findViewById(com.android.settingslib.R.id.negative_btn);
findBroadcastBtn.setText(mContext.getString(R.string.bluetooth_find_broadcast));
@@ -169,4 +181,10 @@
.setPackage(MediaOutputConstants.SETTINGS_PACKAGE_NAME)
.setAction(MediaOutputConstants.ACTION_CLOSE_PANEL));
}
+
+ boolean isBroadcastSupported() {
+ LocalBluetoothLeBroadcast broadcast =
+ mLocalBluetoothManager.getProfileManager().getLeAudioBroadcastProfile();
+ return broadcast != null;
+ }
}
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsPairOtherController.java b/src/com/android/settings/bluetooth/BluetoothDetailsPairOtherController.java
new file mode 100644
index 0000000..d14a9b1
--- /dev/null
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsPairOtherController.java
@@ -0,0 +1,102 @@
+/*
+ * Copyright (C) 2022 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.bluetooth;
+
+import android.content.Context;
+
+import androidx.preference.PreferenceFragmentCompat;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.HearingAidProfile;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.widget.ButtonPreference;
+
+/**
+ * This class handles button preference logic to display for hearing aid device.
+ */
+public class BluetoothDetailsPairOtherController extends BluetoothDetailsController {
+ private static final String KEY_PAIR_OTHER = "hearing_aid_pair_other_button";
+
+ private ButtonPreference mPreference;
+
+ public BluetoothDetailsPairOtherController(Context context,
+ PreferenceFragmentCompat fragment,
+ CachedBluetoothDevice device,
+ Lifecycle lifecycle) {
+ super(context, fragment, device, lifecycle);
+ lifecycle.addObserver(this);
+ }
+
+ @Override
+ public boolean isAvailable() {
+ return getButtonPreferenceVisibility(mCachedDevice);
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return KEY_PAIR_OTHER;
+ }
+
+ @Override
+ protected void init(PreferenceScreen screen) {
+ final int side = mCachedDevice.getDeviceSide();
+ final int stringRes = (side == HearingAidProfile.DeviceSide.SIDE_LEFT)
+ ? R.string.bluetooth_pair_right_ear_button
+ : R.string.bluetooth_pair_left_ear_button;
+
+ mPreference = screen.findPreference(getPreferenceKey());
+ mPreference.setTitle(stringRes);
+ mPreference.setOnClickListener(v -> launchPairingDetail());
+ }
+
+ @Override
+ protected void refresh() {
+ mPreference.setVisible(getButtonPreferenceVisibility(mCachedDevice));
+ }
+
+ private boolean getButtonPreferenceVisibility(CachedBluetoothDevice cachedDevice) {
+ return isBinauralMode(cachedDevice) && isOnlyOneSideConnected(cachedDevice);
+ }
+
+ private void launchPairingDetail() {
+ new SubSettingLauncher(mContext)
+ .setDestination(BluetoothPairingDetail.class.getName())
+ .setSourceMetricsCategory(
+ ((BluetoothDeviceDetailsFragment) mFragment).getMetricsCategory())
+ .launch();
+ }
+
+ private boolean isBinauralMode(CachedBluetoothDevice cachedDevice) {
+ return cachedDevice.getDeviceMode() == HearingAidProfile.DeviceMode.MODE_BINAURAL;
+ }
+
+ private boolean isOnlyOneSideConnected(CachedBluetoothDevice cachedDevice) {
+ if (!cachedDevice.isConnectedHearingAidDevice()) {
+ return false;
+ }
+
+ final CachedBluetoothDevice subDevice = cachedDevice.getSubDevice();
+ if (subDevice != null && subDevice.isConnectedHearingAidDevice()) {
+ return false;
+ }
+
+ return true;
+ }
+}
diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
index c118a43..999e34d 100644
--- a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
+++ b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
@@ -251,6 +251,8 @@
lifecycle));
controllers.add(new BluetoothDetailsRelatedToolsController(context, this, mCachedDevice,
lifecycle));
+ controllers.add(new BluetoothDetailsPairOtherController(context, this, mCachedDevice,
+ lifecycle));
}
return controllers;
}
diff --git a/src/com/android/settings/bluetooth/QrCodeScanModeFragment.java b/src/com/android/settings/bluetooth/QrCodeScanModeFragment.java
index dcf89ca..0253aa6 100644
--- a/src/com/android/settings/bluetooth/QrCodeScanModeFragment.java
+++ b/src/com/android/settings/bluetooth/QrCodeScanModeFragment.java
@@ -36,16 +36,15 @@
import android.view.accessibility.AccessibilityEvent;
import android.widget.TextView;
+import androidx.annotation.NonNull;
+import androidx.annotation.StringRes;
+
import com.android.settings.core.InstrumentedFragment;
import com.android.settingslib.R;
import com.android.settingslib.bluetooth.BluetoothBroadcastUtils;
import com.android.settingslib.bluetooth.BluetoothUtils;
-import com.android.settingslib.core.lifecycle.ObservableFragment;
import com.android.settingslib.qrcode.QrCamera;
-import androidx.annotation.NonNull;
-import androidx.annotation.StringRes;
-
public class QrCodeScanModeFragment extends InstrumentedFragment implements
TextureView.SurfaceTextureListener,
QrCamera.ScannerCallback {
@@ -232,8 +231,7 @@
}
private void updateSummary() {
- mSummary.setText(getString(R.string.bt_le_audio_scan_qr_code_scanner,
- null /* broadcast_name*/));;
+ mSummary.setText(getString(R.string.bt_le_audio_scan_qr_code_scanner));
}
@Override
diff --git a/src/com/android/settings/datausage/BillingCyclePreference.java b/src/com/android/settings/datausage/BillingCyclePreference.java
index 116ed89..1bd2be8 100644
--- a/src/com/android/settings/datausage/BillingCyclePreference.java
+++ b/src/com/android/settings/datausage/BillingCyclePreference.java
@@ -20,6 +20,7 @@
import android.net.NetworkTemplate;
import android.os.Bundle;
import android.os.RemoteException;
+import android.telephony.TelephonyManager;
import android.telephony.data.ApnSetting;
import android.util.AttributeSet;
@@ -78,7 +79,7 @@
try {
setEnabled(mServices.mNetworkService.isBandwidthControlEnabled()
&& mServices.mTelephonyManager.createForSubscriptionId(mSubId)
- .isDataEnabledForApn(ApnSetting.TYPE_DEFAULT)
+ .isDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER)
&& mServices.mUserManager.isAdminUser());
} catch (RemoteException e) {
setEnabled(false);
diff --git a/src/com/android/settings/development/qstile/DevelopmentTiles.java b/src/com/android/settings/development/qstile/DevelopmentTiles.java
index 0483aea..343ed24 100644
--- a/src/com/android/settings/development/qstile/DevelopmentTiles.java
+++ b/src/com/android/settings/development/qstile/DevelopmentTiles.java
@@ -476,4 +476,77 @@
Settings.System.SHOW_TOUCHES, isEnabled ? SETTING_VALUE_ON : SETTING_VALUE_OFF);
}
}
+
+ /**
+ * Tile to enable desktop mode
+ */
+ public static class DesktopMode extends DevelopmentTiles {
+
+ private static final int SETTING_VALUE_ON = 1;
+ private static final int SETTING_VALUE_OFF = 0;
+ private Context mContext;
+
+ @Override
+ public void onCreate() {
+ super.onCreate();
+ mContext = getApplicationContext();
+ }
+
+ @Override
+ protected boolean isEnabled() {
+ return Settings.System.getInt(mContext.getContentResolver(),
+ Settings.System.DESKTOP_MODE, SETTING_VALUE_OFF) == SETTING_VALUE_ON;
+ }
+
+ private boolean isDesktopModeFlagEnabled() {
+ return SystemProperties.getBoolean("persist.wm.debug.desktop_mode", false);
+ }
+
+ private boolean isFreeformFlagEnabled() {
+ return Settings.Global.getInt(mContext.getContentResolver(),
+ Settings.Global.DEVELOPMENT_ENABLE_FREEFORM_WINDOWS_SUPPORT, SETTING_VALUE_OFF)
+ == SETTING_VALUE_ON;
+ }
+
+ private boolean isCaptionOnShellEnabled() {
+ return SystemProperties.getBoolean("persist.wm.debug.caption_on_shell", false);
+ }
+
+ @Override
+ protected void setIsEnabled(boolean isEnabled) {
+ if (isEnabled) {
+ // Check that all required features are enabled
+ if (!isDesktopModeFlagEnabled()) {
+ closeShade();
+ showMessage(
+ "Enable 'Desktop Windowing Proto 1' from the Flag Flipper app");
+ return;
+ }
+ if (!isCaptionOnShellEnabled()) {
+ closeShade();
+ showMessage("Enable 'Captions in Shell' from the Flag Flipper app");
+ return;
+ }
+ if (!isFreeformFlagEnabled()) {
+ closeShade();
+ showMessage(
+ "Enable freeform windows from developer settings");
+ return;
+ }
+ }
+
+ Settings.System.putInt(mContext.getContentResolver(),
+ Settings.System.DESKTOP_MODE,
+ isEnabled ? SETTING_VALUE_ON : SETTING_VALUE_OFF);
+ closeShade();
+ }
+
+ private void closeShade() {
+ sendBroadcast(new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));
+ }
+
+ private void showMessage(String message) {
+ Toast.makeText(mContext, message, Toast.LENGTH_LONG).show();
+ }
+ }
}
diff --git a/src/com/android/settings/deviceinfo/PublicVolumeSettings.java b/src/com/android/settings/deviceinfo/PublicVolumeSettings.java
index f7dd85a..d43b254 100644
--- a/src/com/android/settings/deviceinfo/PublicVolumeSettings.java
+++ b/src/com/android/settings/deviceinfo/PublicVolumeSettings.java
@@ -19,6 +19,7 @@
import android.app.ActivityManager;
import android.app.settings.SettingsEnums;
import android.content.Context;
+import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.UserManager;
@@ -57,15 +58,34 @@
private String mVolumeId;
private VolumeInfo mVolume;
+ private final View.OnClickListener mUnmountListener = new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ new UnmountTask(getActivity(), mVolume).execute();
+ }
+ };
private DiskInfo mDisk;
-
private UsageProgressBarPreference mSummary;
-
private Preference mMount;
private Preference mFormatPublic;
- private Preference mFormatPrivate;
private Button mUnmount;
+ private final StorageEventListener mStorageListener = new StorageEventListener() {
+ @Override
+ public void onVolumeStateChanged(VolumeInfo vol, int oldState, int newState) {
+ if (Objects.equals(mVolume.getId(), vol.getId())) {
+ mVolume = vol;
+ update();
+ }
+ }
+ @Override
+ public void onVolumeRecordChanged(VolumeRecord rec) {
+ if (Objects.equals(mVolume.getFsUuid(), rec.getFsUuid())) {
+ mVolume = mStorageManager.findVolumeById(mVolumeId);
+ update();
+ }
+ }
+ };
private boolean mIsPermittedToAdopt;
private boolean isVolumeValid() {
@@ -120,10 +140,7 @@
mUnmount = new Button(getActivity());
mUnmount.setText(R.string.storage_menu_unmount);
mUnmount.setOnClickListener(mUnmountListener);
- mFormatPublic = buildAction(R.string.storage_menu_format);
- if (mIsPermittedToAdopt) {
- mFormatPrivate = buildAction(R.string.storage_menu_format_private);
- }
+ mFormatPublic = buildAction(R.string.storage_menu_format_option);
}
@Override
@@ -176,9 +193,6 @@
mUnmount.setVisibility(View.GONE);
}
addPreference(mFormatPublic);
- if (mDisk.isAdoptable() && mIsPermittedToAdopt) {
- addPreference(mFormatPrivate);
- }
}
private void addPreference(Preference pref) {
@@ -215,39 +229,14 @@
@Override
public boolean onPreferenceTreeClick(Preference pref) {
+ final Intent intent = new Intent(getActivity(), StorageWizardInit.class);
+ intent.putExtra(VolumeInfo.EXTRA_VOLUME_ID, mVolume.getId());
if (pref == mMount) {
new MountTask(getActivity(), mVolume).execute();
} else if (pref == mFormatPublic) {
- StorageWizardFormatConfirm.showPublic(getActivity(), mDisk.getId());
- } else if (pref == mFormatPrivate) {
- StorageWizardFormatConfirm.showPrivate(getActivity(), mDisk.getId());
+ startActivity(intent);
}
return super.onPreferenceTreeClick(pref);
}
-
- private final View.OnClickListener mUnmountListener = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- new UnmountTask(getActivity(), mVolume).execute();
- }
- };
-
- private final StorageEventListener mStorageListener = new StorageEventListener() {
- @Override
- public void onVolumeStateChanged(VolumeInfo vol, int oldState, int newState) {
- if (Objects.equals(mVolume.getId(), vol.getId())) {
- mVolume = vol;
- update();
- }
- }
-
- @Override
- public void onVolumeRecordChanged(VolumeRecord rec) {
- if (Objects.equals(mVolume.getFsUuid(), rec.getFsUuid())) {
- mVolume = mStorageManager.findVolumeById(mVolumeId);
- update();
- }
- }
- };
-}
+}
\ No newline at end of file
diff --git a/src/com/android/settings/deviceinfo/StorageWizardBase.java b/src/com/android/settings/deviceinfo/StorageWizardBase.java
index b1b956e..801baec 100644
--- a/src/com/android/settings/deviceinfo/StorageWizardBase.java
+++ b/src/com/android/settings/deviceinfo/StorageWizardBase.java
@@ -41,17 +41,19 @@
import androidx.fragment.app.FragmentActivity;
import com.android.settings.R;
-import com.android.settingslib.Utils;
+import com.android.settings.SetupWizardUtils;
import com.google.android.setupcompat.template.FooterBarMixin;
import com.google.android.setupcompat.template.FooterButton;
import com.google.android.setupdesign.GlifLayout;
+import com.google.android.setupdesign.util.ThemeHelper;
import java.text.NumberFormat;
import java.util.List;
import java.util.Objects;
public abstract class StorageWizardBase extends FragmentActivity {
+
private static final String TAG = "StorageWizardBase";
protected static final String EXTRA_FORMAT_FORGET_UUID = "format_forget_uuid";
@@ -70,6 +72,8 @@
@Override
protected void onCreate(Bundle savedInstanceState) {
+ setTheme(SetupWizardUtils.getTheme(this, getIntent()));
+ ThemeHelper.trySetDynamicColor(this);
super.onCreate(savedInstanceState);
mStorage = getSystemService(StorageManager.class);
@@ -97,20 +101,20 @@
mFooterBarMixin = getGlifLayout().getMixin(FooterBarMixin.class);
mFooterBarMixin.setSecondaryButton(
- new FooterButton.Builder(this)
- .setText(R.string.wizard_back)
- .setListener(this::onNavigateBack)
- .setButtonType(FooterButton.ButtonType.OTHER)
- .setTheme(R.style.SudGlifButton_Secondary)
- .build()
+ new FooterButton.Builder(this)
+ .setText(R.string.wizard_back)
+ .setListener(this::onNavigateBack)
+ .setButtonType(FooterButton.ButtonType.OTHER)
+ .setTheme(R.style.SudGlifButton_Secondary)
+ .build()
);
mFooterBarMixin.setPrimaryButton(
- new FooterButton.Builder(this)
- .setText(R.string.wizard_next)
- .setListener(this::onNavigateNext)
- .setButtonType(FooterButton.ButtonType.NEXT)
- .setTheme(R.style.SudGlifButton_Primary)
- .build()
+ new FooterButton.Builder(this)
+ .setText(R.string.wizard_next)
+ .setListener(this::onNavigateNext)
+ .setButtonType(FooterButton.ButtonType.NEXT)
+ .setTheme(R.style.SudGlifButton_Primary)
+ .build()
);
mBack = mFooterBarMixin.getSecondaryButton();
mNext = mFooterBarMixin.getPrimaryButton();
@@ -149,7 +153,7 @@
protected void setCurrentProgress(int progress) {
getProgressBar().setProgress(progress);
((TextView) requireViewById(R.id.storage_wizard_progress_summary)).setText(
- NumberFormat.getPercentInstance().format((double) progress / 100));
+ NumberFormat.getPercentInstance().format((double) progress / 100));
}
protected void setHeaderText(int resId, CharSequence... args) {
@@ -167,14 +171,14 @@
protected void setAuxChecklist() {
final FrameLayout aux = requireViewById(R.id.storage_wizard_aux);
aux.addView(LayoutInflater.from(aux.getContext())
- .inflate(R.layout.storage_wizard_checklist, aux, false));
+ .inflate(R.layout.storage_wizard_checklist, aux, false));
aux.setVisibility(View.VISIBLE);
// Customize string based on disk
((TextView) aux.requireViewById(R.id.storage_wizard_migrate_v2_checklist_media))
- .setText(TextUtils.expandTemplate(
- getText(R.string.storage_wizard_migrate_v2_checklist_media),
- getDiskShortDescription()));
+ .setText(TextUtils.expandTemplate(
+ getText(R.string.storage_wizard_migrate_v2_checklist_media),
+ getDiskShortDescription()));
}
protected void setBackButtonText(int resId, CharSequence... args) {
@@ -198,7 +202,6 @@
protected void setIcon(int resId) {
final GlifLayout layout = getGlifLayout();
final Drawable icon = getDrawable(resId).mutate();
- icon.setTintList(Utils.getColorAccent(layout.getContext()));
layout.setIcon(icon);
}
@@ -250,14 +253,14 @@
final List<VolumeInfo> vols = mStorage.getVolumes();
for (VolumeInfo vol : vols) {
if (Objects.equals(mDisk.getId(), vol.getDiskId()) && (vol.getType() == type)
- && (vol.getState() == VolumeInfo.STATE_MOUNTED)) {
+ && (vol.getState() == VolumeInfo.STATE_MOUNTED)) {
return vol;
}
}
if (--attempts > 0) {
Log.w(TAG, "Missing mounted volume of type " + type + " hosted by disk "
- + mDisk.getId() + "; trying again");
+ + mDisk.getId() + "; trying again");
SystemClock.sleep(250);
} else {
return null;
@@ -265,7 +268,8 @@
}
}
- protected @NonNull CharSequence getDiskDescription() {
+ protected @NonNull
+ CharSequence getDiskDescription() {
if (mDisk != null) {
return mDisk.getDescription();
} else if (mVolume != null) {
@@ -275,7 +279,8 @@
}
}
- protected @NonNull CharSequence getDiskShortDescription() {
+ protected @NonNull
+ CharSequence getDiskShortDescription() {
if (mDisk != null) {
return mDisk.getShortDescription();
} else if (mVolume != null) {
@@ -294,4 +299,4 @@
}
}
};
-}
+}
\ No newline at end of file
diff --git a/src/com/android/settings/deviceinfo/StorageWizardFormatConfirm.java b/src/com/android/settings/deviceinfo/StorageWizardFormatConfirm.java
index 9c18a0d..e2d8c7e 100644
--- a/src/com/android/settings/deviceinfo/StorageWizardFormatConfirm.java
+++ b/src/com/android/settings/deviceinfo/StorageWizardFormatConfirm.java
@@ -84,15 +84,23 @@
builder.setTitle(TextUtils.expandTemplate(
getText(R.string.storage_wizard_format_confirm_v2_title),
disk.getShortDescription()));
- builder.setMessage(TextUtils.expandTemplate(
- getText(R.string.storage_wizard_format_confirm_v2_body),
+ if (formatPrivate) {
+ builder.setMessage(TextUtils.expandTemplate(
+ getText(R.string.storage_wizard_format_confirm_v2_body),
+ disk.getDescription(),
+ disk.getShortDescription(),
+ disk.getShortDescription()));
+ } else {
+ builder.setMessage(TextUtils.expandTemplate(
+ getText(R.string.storage_wizard_format_confirm_v2_body_external),
disk.getDescription(),
disk.getShortDescription(),
disk.getShortDescription()));
+ }
builder.setNegativeButton(android.R.string.cancel, null);
builder.setPositiveButton(
- TextUtils.expandTemplate(getText(R.string.storage_wizard_format_confirm_v2_action),
+ TextUtils.expandTemplate(getText(R.string.storage_menu_format_option),
disk.getShortDescription()),
(dialog, which) -> {
final Intent intent = new Intent(context, StorageWizardFormatProgress.class);
@@ -104,4 +112,4 @@
return builder.create();
}
-}
+}
\ No newline at end of file
diff --git a/src/com/android/settings/deviceinfo/StorageWizardInit.java b/src/com/android/settings/deviceinfo/StorageWizardInit.java
index 426395c..962c65c 100644
--- a/src/com/android/settings/deviceinfo/StorageWizardInit.java
+++ b/src/com/android/settings/deviceinfo/StorageWizardInit.java
@@ -18,21 +18,27 @@
import android.app.ActivityManager;
import android.app.settings.SettingsEnums;
-import android.content.Intent;
import android.os.Bundle;
import android.os.UserManager;
-import android.os.storage.DiskInfo;
-import android.os.storage.VolumeInfo;
+import android.text.Html;
+import android.text.Spannable;
+import android.text.method.LinkMovementMethod;
+import android.text.style.TypefaceSpan;
+import android.text.style.URLSpan;
import android.view.View;
-import android.widget.Button;
+import android.widget.TextView;
+import android.widget.Toast;
+import android.widget.ViewFlipper;
import com.android.settings.R;
import com.android.settings.overlay.FeatureFactory;
public class StorageWizardInit extends StorageWizardBase {
- private Button mInternal;
private boolean mIsPermittedToAdopt;
+ private boolean mPortable;
+
+ private ViewFlipper mFlipper;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -41,63 +47,111 @@
finish();
return;
}
- setContentView(R.layout.storage_wizard_init);
mIsPermittedToAdopt = UserManager.get(this).isAdminUser()
- && !ActivityManager.isUserAMonkey();
+ && !ActivityManager.isUserAMonkey();
- setHeaderText(R.string.storage_wizard_init_v2_title, getDiskShortDescription());
+ if (!mIsPermittedToAdopt) {
+ //Notify guest users as to why formatting is disallowed
+ Toast.makeText(getApplicationContext(),
+ R.string.storage_wizard_guest, Toast.LENGTH_LONG).show();
+ finish();
+ return;
+ }
- mInternal = requireViewById(R.id.storage_wizard_init_internal);
+ setContentView(R.layout.storage_wizard_init);
+ setupHyperlink();
+ mPortable = true;
- setBackButtonText(R.string.storage_wizard_init_v2_later);
- setNextButtonVisibility(View.INVISIBLE);
+ mFlipper = (ViewFlipper) findViewById(R.id.viewFlipper);
+ mFlipper.setDisplayedChild(0);
+ setHeaderText(R.string.storage_wizard_init_v2_external_title,
+ getDiskShortDescription());
+
+ setNextButtonText(R.string.storage_wizard_init_v2_external_action);
+ setBackButtonText(R.string.wizard_back_adoptable);
+ setNextButtonVisibility(View.VISIBLE);
if (!mDisk.isAdoptable()) {
- // If not adoptable, we only have one choice
- mInternal.setEnabled(false);
- onNavigateExternal(null);
- } else if (!mIsPermittedToAdopt) {
- // TODO: Show a message about why this is disabled for guest and
- // that only an admin user can adopt an sd card.
- mInternal.setEnabled(false);
+ setBackButtonVisibility(View.GONE);
}
}
@Override
- public void onNavigateBack(View view) {
- finish();
+ public void onNavigateBack(View v) {
+ if (!mIsPermittedToAdopt) {
+ // TODO: Show a message about why this is disabled for guest and
+ // that only an admin user can adopt an sd card.
+
+ v.setEnabled(false);
+ } else if (mPortable == false) {
+ mFlipper.showNext();
+ setHeaderText(R.string.storage_wizard_init_v2_external_title,
+ getDiskShortDescription());
+ setNextButtonText(R.string.storage_wizard_init_v2_external_action);
+ setBackButtonText(R.string.wizard_back_adoptable);
+ setBackButtonVisibility(View.VISIBLE);
+ mPortable = true;
+ } else {
+ mFlipper.showNext();
+ setHeaderText(R.string.storage_wizard_init_v2_internal_title,
+ getDiskShortDescription());
+ setNextButtonText(R.string.storage_wizard_init_v2_internal_action);
+ setBackButtonText(R.string.wizard_back_adoptable);
+ setBackButtonVisibility(View.VISIBLE);
+ mPortable = false;
+ }
+ }
+
+ @Override
+ public void onNavigateNext(View v) {
+ if (mPortable) {
+ onNavigateExternal(v);
+ } else {
+ onNavigateInternal(v);
+ }
}
public void onNavigateExternal(View view) {
if (view != null) {
// User made an explicit choice for external
FeatureFactory.getFactory(this).getMetricsFeatureProvider().action(this,
- SettingsEnums.ACTION_STORAGE_INIT_EXTERNAL);
+ SettingsEnums.ACTION_STORAGE_INIT_EXTERNAL);
}
-
- if (mVolume != null && mVolume.getType() == VolumeInfo.TYPE_PUBLIC
- && mVolume.getState() != VolumeInfo.STATE_UNMOUNTABLE) {
- // Remember that user made decision
- mStorage.setVolumeInited(mVolume.getFsUuid(), true);
-
- final Intent intent = new Intent(this, StorageWizardReady.class);
- intent.putExtra(DiskInfo.EXTRA_DISK_ID, mDisk.getId());
- startActivity(intent);
- finish();
-
- } else {
- // Gotta format to get there
- StorageWizardFormatConfirm.showPublic(this, mDisk.getId());
- }
+ StorageWizardFormatConfirm.showPublic(this, mDisk.getId());
}
public void onNavigateInternal(View view) {
if (view != null) {
// User made an explicit choice for internal
FeatureFactory.getFactory(this).getMetricsFeatureProvider().action(this,
- SettingsEnums.ACTION_STORAGE_INIT_INTERNAL);
+ SettingsEnums.ACTION_STORAGE_INIT_INTERNAL);
}
-
StorageWizardFormatConfirm.showPrivate(this, mDisk.getId());
}
-}
+
+ private void setupHyperlink() {
+ TextView external_storage_textview = findViewById(R.id.storage_wizard_init_external_text);
+ TextView internal_storage_textview = findViewById(R.id.storage_wizard_init_internal_text);
+ String external_storage_text = getResources().getString(R.string.
+ storage_wizard_init_v2_external_summary);
+ String internal_storage_text = getResources().getString(R.string.
+ storage_wizard_init_v2_internal_summary);
+
+ Spannable external_storage_spannable = styleFont(external_storage_text);
+ Spannable internal_storage_spannable = styleFont(internal_storage_text);
+ external_storage_textview.setText(external_storage_spannable);
+ internal_storage_textview.setText(internal_storage_spannable);
+
+ external_storage_textview.setMovementMethod(LinkMovementMethod.getInstance());
+ internal_storage_textview.setMovementMethod(LinkMovementMethod.getInstance());
+ }
+
+ private Spannable styleFont(String text) {
+ Spannable s = (Spannable) Html.fromHtml(text);
+ for (URLSpan span : s.getSpans(0, s.length(), URLSpan.class)) {
+ TypefaceSpan typefaceSpan = new TypefaceSpan("sans-serif-medium");
+ s.setSpan(typefaceSpan, s.getSpanStart(span), s.getSpanEnd(span), 0);
+ }
+ return s;
+ }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/deviceinfo/StorageWizardReady.java b/src/com/android/settings/deviceinfo/StorageWizardReady.java
index 813bcc6..8de9472 100644
--- a/src/com/android/settings/deviceinfo/StorageWizardReady.java
+++ b/src/com/android/settings/deviceinfo/StorageWizardReady.java
@@ -19,6 +19,7 @@
import android.os.Bundle;
import android.os.storage.VolumeInfo;
import android.view.View;
+import android.widget.ImageView;
import com.android.settings.R;
@@ -48,7 +49,9 @@
setBodyText(R.string.storage_wizard_ready_v2_external_body,
getDiskDescription());
}
-
+ ImageView img = (ImageView) findViewById(R.id.storage_wizard_body_image);
+ img.setImageResource(R.drawable.ic_storage_wizard_ready);
+ setIcon(R.drawable.ic_test_tick);
setNextButtonText(R.string.done);
setBackButtonVisibility(View.INVISIBLE);
}
diff --git a/src/com/android/settings/deviceinfo/VolumeOptionMenuController.java b/src/com/android/settings/deviceinfo/VolumeOptionMenuController.java
index 4b87e42..289db52 100644
--- a/src/com/android/settings/deviceinfo/VolumeOptionMenuController.java
+++ b/src/com/android/settings/deviceinfo/VolumeOptionMenuController.java
@@ -30,6 +30,7 @@
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
+import android.widget.Toast;
import androidx.annotation.VisibleForTesting;
import androidx.fragment.app.Fragment;
@@ -55,7 +56,9 @@
OnPrepareOptionsMenu, OnOptionsItemSelected {
private static final String TAG = "VolumeOptionMenuController";
-
+ private final Context mContext;
+ private final Fragment mFragment;
+ private final PackageManager mPackageManager;
@VisibleForTesting
MenuItem mRename;
@VisibleForTesting
@@ -74,18 +77,12 @@
MenuItem mFree;
@VisibleForTesting
MenuItem mForget;
-
- private final Context mContext;
- private final Fragment mFragment;
- private final PackageManager mPackageManager;
- private final StorageManager mStorageManager;
private StorageEntry mStorageEntry;
public VolumeOptionMenuController(Context context, Fragment parent, StorageEntry storageEntry) {
mContext = context;
mFragment = parent;
mPackageManager = context.getPackageManager();
- mStorageManager = context.getSystemService(StorageManager.class);
mStorageEntry = storageEntry;
}
@@ -162,12 +159,7 @@
if (mStorageEntry.isPublic()) {
mRename.setVisible(true);
mUnmount.setVisible(true);
- mFormat.setVisible(true);
- final DiskInfo diskInfo = mStorageManager.findDiskById(mStorageEntry.getDiskId());
- mFormatAsInternal.setVisible(diskInfo != null
- && diskInfo.isAdoptable()
- && UserManager.get(mContext).isAdminUser()
- && !ActivityManager.isUserAMonkey());
+ mFormatAsInternal.setVisible(true);
return;
}
}
@@ -225,6 +217,16 @@
}
if (menuId == R.id.storage_format_as_portable) {
if (mStorageEntry.isPrivate()) {
+ boolean mIsPermittedToAdopt = UserManager.get(mContext).isAdminUser()
+ && !ActivityManager.isUserAMonkey();
+
+ if(!mIsPermittedToAdopt){
+ //Notify guest users as to why formatting is disallowed
+ Toast.makeText(mFragment.getActivity(),
+ R.string.storage_wizard_guest,Toast.LENGTH_LONG).show();
+ (mFragment.getActivity()).finish();
+ return false;
+ }
final Bundle args = new Bundle();
args.putString(VolumeInfo.EXTRA_VOLUME_ID, mStorageEntry.getId());
new SubSettingLauncher(mContext)
@@ -239,8 +241,9 @@
}
if (menuId == R.id.storage_format_as_internal) {
if (mStorageEntry.isPublic()) {
- StorageWizardFormatConfirm.showPrivate(mFragment.getActivity(),
- mStorageEntry.getDiskId());
+ final Intent intent = new Intent(mFragment.getActivity(), StorageWizardInit.class);
+ intent.putExtra(VolumeInfo.EXTRA_VOLUME_ID, mStorageEntry.getId());
+ mContext.startActivity(intent);
return true;
}
return false;
@@ -269,4 +272,4 @@
updateOptionsMenu();
}
-}
+}
\ No newline at end of file
diff --git a/src/com/android/settings/dream/DreamComplicationPreferenceController.java b/src/com/android/settings/dream/DreamComplicationPreferenceController.java
index d9c4fb3..596fe20 100644
--- a/src/com/android/settings/dream/DreamComplicationPreferenceController.java
+++ b/src/com/android/settings/dream/DreamComplicationPreferenceController.java
@@ -42,14 +42,12 @@
@Override
public boolean isChecked() {
- return mBackend.getEnabledComplications().containsAll(mBackend.getSupportedComplications());
+ return mBackend.getComplicationsEnabled();
}
@Override
public boolean setChecked(boolean isChecked) {
- for (int complication : mBackend.getSupportedComplications()) {
- mBackend.setComplicationEnabled(complication, isChecked);
- }
+ mBackend.setComplicationsEnabled(isChecked);
return true;
}
diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
index d096d49..db98a4c 100644
--- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
+++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
@@ -539,16 +539,13 @@
return null;
}
if (totalTimeMs == 0) {
- final int batteryWithoutUsageTime = consumedPower > 0
- ? R.string.battery_usage_without_time : R.string.battery_not_usage_24hr;
- usageTimeSummary = getText(isChartGraphEnabled
- ? batteryWithoutUsageTime : R.string.battery_not_usage);
+ usageTimeSummary = getText(
+ isChartGraphEnabled && consumedPower > 0 ? R.string.battery_usage_without_time
+ : R.string.battery_not_usage);
} else if (slotTime == null) {
- // Shows summary text with past 24 hr or full charge if slot time is null.
- usageTimeSummary = isChartGraphEnabled
- ? getAppPast24HrActiveSummary(foregroundTimeMs, backgroundTimeMs, totalTimeMs)
- : getAppFullChargeActiveSummary(
- foregroundTimeMs, backgroundTimeMs, totalTimeMs);
+ // Shows summary text with last full charge if slot time is null.
+ usageTimeSummary = getAppFullChargeActiveSummary(
+ foregroundTimeMs, backgroundTimeMs, totalTimeMs);
} else {
// Shows summary text with slot time.
usageTimeSummary = getAppActiveSummaryWithSlotTime(
diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
index 83d7a33..94a93b8 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
@@ -140,6 +140,11 @@
boolean isAdaptiveChargingSupported();
/**
+ * Returns {@code true} if current defender mode is extra defend
+ */
+ boolean isExtraDefend();
+
+ /**
* Gets a intent for one time bypass charge limited to resume charging.
*/
Intent getResumeChargeIntent();
diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
index 1262641..0adfc9d 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
@@ -161,6 +161,11 @@
}
@Override
+ public boolean isExtraDefend() {
+ return false;
+ }
+
+ @Override
public Map<Long, Map<String, BatteryHistEntry>> getBatteryHistory(Context context) {
return null;
}
diff --git a/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoader.java b/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoader.java
index 4b98587..95145ba 100644
--- a/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoader.java
+++ b/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoader.java
@@ -72,7 +72,8 @@
tips.add(new SmartBatteryDetector(
context, policy, batteryInfo, context.getContentResolver()).detect());
tips.add(new EarlyWarningDetector(policy, context).detect());
- tips.add(new BatteryDefenderDetector(batteryInfo).detect());
+ tips.add(new BatteryDefenderDetector(
+ batteryInfo, context.getApplicationContext()).detect());
Collections.sort(tips);
return tips;
}
diff --git a/src/com/android/settings/fuelgauge/batterytip/detectors/BatteryDefenderDetector.java b/src/com/android/settings/fuelgauge/batterytip/detectors/BatteryDefenderDetector.java
index 5befa33..87d4a0b 100644
--- a/src/com/android/settings/fuelgauge/batterytip/detectors/BatteryDefenderDetector.java
+++ b/src/com/android/settings/fuelgauge/batterytip/detectors/BatteryDefenderDetector.java
@@ -16,26 +16,33 @@
package com.android.settings.fuelgauge.batterytip.detectors;
+import android.content.Context;
+
import com.android.settings.fuelgauge.BatteryInfo;
import com.android.settings.fuelgauge.batterytip.tips.BatteryDefenderTip;
import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
+import com.android.settings.overlay.FeatureFactory;
/**
* Detect whether the battery is overheated
*/
public class BatteryDefenderDetector implements BatteryTipDetector {
- private BatteryInfo mBatteryInfo;
+ private final BatteryInfo mBatteryInfo;
+ private final Context mContext;
- public BatteryDefenderDetector(BatteryInfo batteryInfo) {
+ public BatteryDefenderDetector(BatteryInfo batteryInfo, Context context) {
mBatteryInfo = batteryInfo;
+ mContext = context;
}
@Override
public BatteryTip detect() {
- final int state =
- mBatteryInfo.isOverheated
- ? BatteryTip.StateType.NEW
- : BatteryTip.StateType.INVISIBLE;
- return new BatteryDefenderTip(state);
+ if (mBatteryInfo.isOverheated) {
+ final boolean extraDefend = FeatureFactory.getFactory(mContext)
+ .getPowerUsageFeatureProvider(mContext)
+ .isExtraDefend();
+ return new BatteryDefenderTip(BatteryTip.StateType.NEW, extraDefend);
+ }
+ return new BatteryDefenderTip(BatteryTip.StateType.INVISIBLE);
}
}
diff --git a/src/com/android/settings/fuelgauge/batterytip/tips/BatteryDefenderTip.java b/src/com/android/settings/fuelgauge/batterytip/tips/BatteryDefenderTip.java
index a2890ad..5c0fc58 100644
--- a/src/com/android/settings/fuelgauge/batterytip/tips/BatteryDefenderTip.java
+++ b/src/com/android/settings/fuelgauge/batterytip/tips/BatteryDefenderTip.java
@@ -18,18 +18,36 @@
import android.app.settings.SettingsEnums;
import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.os.BatteryManager;
import android.os.Parcel;
+import android.util.Log;
+
+import androidx.preference.Preference;
import com.android.settings.R;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settings.widget.CardPreference;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+import java.text.NumberFormat;
+
/**
* Tip to show current battery is overheated
*/
public class BatteryDefenderTip extends BatteryTip {
+ private static final String TAG = "BatteryDefenderTip";
+ private boolean mExtraDefend = false;
+
public BatteryDefenderTip(@StateType int state) {
+ this(state, false);
+ }
+
+ public BatteryDefenderTip(@StateType int state, boolean extraDefend) {
super(TipType.BATTERY_DEFENDER, state, true /* showDialog */);
+ mExtraDefend = extraDefend;
}
private BatteryDefenderTip(Parcel in) {
@@ -43,6 +61,14 @@
@Override
public CharSequence getSummary(Context context) {
+ if (mExtraDefend) {
+ final int extraValue = context.getResources()
+ .getInteger(R.integer.config_battery_extra_tip_value);
+ final String extraPercentage = NumberFormat.getPercentInstance()
+ .format(extraValue * 0.01f);
+ return context.getString(
+ R.string.battery_tip_limited_temporarily_extra_summary, extraPercentage);
+ }
return context.getString(R.string.battery_tip_limited_temporarily_summary);
}
@@ -62,6 +88,55 @@
mState);
}
+ @Override
+ public void updatePreference(Preference preference) {
+ super.updatePreference(preference);
+ final Context context = preference.getContext();
+
+ CardPreference cardPreference = castToCardPreferenceSafely(preference);
+ if (cardPreference == null) {
+ Log.e(TAG, "cast Preference to CardPreference failed");
+ return;
+ }
+
+ cardPreference.setPrimaryButtonText(
+ context.getString(R.string.battery_tip_charge_to_full_button));
+ cardPreference.setPrimaryButtonClickListener(
+ unused -> {
+ resumeCharging(context);
+ preference.setVisible(false);
+ });
+ cardPreference.setPrimaryButtonVisible(isPluggedIn(context));
+
+ cardPreference.setSecondaryButtonText(context.getString(R.string.learn_more));
+ cardPreference.setSecondaryButtonClickListener(unused -> cardPreference.performClick());
+ cardPreference.setSecondaryButtonVisible(true);
+ }
+
+ private CardPreference castToCardPreferenceSafely(Preference preference) {
+ return preference instanceof CardPreference ? (CardPreference) preference : null;
+ }
+
+ private void resumeCharging(Context context) {
+ final Intent intent =
+ FeatureFactory.getFactory(context)
+ .getPowerUsageFeatureProvider(context)
+ .getResumeChargeIntent();
+ if (intent != null) {
+ context.sendBroadcast(intent);
+ }
+
+ Log.i(TAG, "send resume charging broadcast intent=" + intent);
+ }
+
+ private boolean isPluggedIn(Context context) {
+ final Intent batteryIntent =
+ context.registerReceiver(
+ /* receiver= */ null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
+ return batteryIntent != null
+ && batteryIntent.getIntExtra(BatteryManager.EXTRA_PLUGGED, 0) != 0;
+ }
+
public static final Creator CREATOR = new Creator() {
public BatteryTip createFromParcel(Parcel in) {
return new BatteryDefenderTip(in);
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java
index d363308..45ae8c5 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java
@@ -20,7 +20,6 @@
import android.content.Context;
import android.content.res.Configuration;
import android.graphics.drawable.Drawable;
-import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
@@ -28,7 +27,9 @@
import android.text.format.DateFormat;
import android.text.format.DateUtils;
import android.util.Log;
+import android.view.View;
+import androidx.annotation.NonNull;
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
import androidx.preference.PreferenceGroup;
@@ -53,8 +54,6 @@
import com.android.settingslib.widget.FooterPreference;
import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -62,27 +61,26 @@
/** Controls the update for chart graph and the list items. */
public class BatteryChartPreferenceController extends AbstractPreferenceController
implements PreferenceControllerMixin, LifecycleObserver, OnCreate, OnDestroy,
- OnSaveInstanceState, BatteryChartView.OnSelectListener, OnResume,
- ExpandDividerPreference.OnExpandListener {
+ OnSaveInstanceState, OnResume, ExpandDividerPreference.OnExpandListener {
private static final String TAG = "BatteryChartPreferenceController";
private static final String KEY_FOOTER_PREF = "battery_graph_footer";
private static final String PACKAGE_NAME_NONE = "none";
+ private static final int ENABLED_ICON_ALPHA = 255;
+ private static final int DISABLED_ICON_ALPHA = 255 / 3;
- /** Desired battery history size for timestamp slots. */
- public static final int DESIRED_HISTORY_SIZE = 25;
- private static final int CHART_LEVEL_ARRAY_SIZE = 13;
- private static final int CHART_KEY_ARRAY_SIZE = DESIRED_HISTORY_SIZE;
+ private static final long FADE_ANIMATION_DURATION = 350L;
private static final long VALID_USAGE_TIME_DURATION = DateUtils.HOUR_IN_MILLIS * 2;
private static final long VALID_DIFF_DURATION = DateUtils.MINUTE_IN_MILLIS * 3;
// Keys for bundle instance to restore configurations.
private static final String KEY_EXPAND_SYSTEM_INFO = "expand_system_info";
- private static final String KEY_CURRENT_TIME_SLOT = "current_time_slot";
+ private static final String KEY_DAILY_CHART_INDEX = "daily_chart_index";
+ private static final String KEY_HOURLY_CHART_INDEX = "hourly_chart_index";
private static int sUiMode = Configuration.UI_MODE_NIGHT_UNDEFINED;
@VisibleForTesting
- Map<Integer, List<BatteryDiffEntry>> mBatteryIndexedMap;
+ Map<Integer, Map<Integer, BatteryDiffData>> mBatteryUsageMap;
@VisibleForTesting
Context mPrefContext;
@@ -91,28 +89,35 @@
@VisibleForTesting
PreferenceGroup mAppListPrefGroup;
@VisibleForTesting
- BatteryChartView mBatteryChartView;
- @VisibleForTesting
ExpandDividerPreference mExpandDividerPreference;
-
@VisibleForTesting
boolean mIsExpanded = false;
- @VisibleForTesting
- int[] mBatteryHistoryLevels;
- @VisibleForTesting
- long[] mBatteryHistoryKeys;
- @VisibleForTesting
- int mTrapezoidIndex = BatteryChartView.SELECTED_INDEX_INVALID;
- private boolean mIs24HourFormat = false;
+ @VisibleForTesting
+ BatteryChartView mDailyChartView;
+ @VisibleForTesting
+ BatteryChartView mHourlyChartView;
+
+ @VisibleForTesting
+ int mDailyChartIndex = BatteryChartViewModel.SELECTED_INDEX_ALL;
+ @VisibleForTesting
+ int mHourlyChartIndex = BatteryChartViewModel.SELECTED_INDEX_ALL;
+
+ private boolean mIs24HourFormat;
private boolean mIsFooterPrefAdded = false;
+ private View mBatteryChartViewGroup;
private PreferenceScreen mPreferenceScreen;
private FooterPreference mFooterPreference;
+ // Daily view model only saves abbreviated day of week texts (e.g. MON). This field saves the
+ // full day of week texts (e.g. Monday), which is used in category title and battery detail
+ // page.
+ private List<String> mDailyTimestampFullTexts;
+ private BatteryChartViewModel mDailyViewModel;
+ private List<BatteryChartViewModel> mHourlyViewModels;
private final String mPreferenceKey;
private final SettingsActivity mActivity;
private final InstrumentedPreferenceFragment mFragment;
- private final CharSequence[] mNotAllowShowEntryPackages;
private final CharSequence[] mNotAllowShowSummaryPackages;
private final MetricsFeatureProvider mMetricsFeatureProvider;
private final Handler mHandler = new Handler(Looper.getMainLooper());
@@ -120,8 +125,6 @@
// Preference cache to avoid create new instance each time.
@VisibleForTesting
final Map<String, Preference> mPreferenceCache = new HashMap<>();
- @VisibleForTesting
- final List<BatteryDiffEntry> mSystemEntries = new ArrayList<>();
public BatteryChartPreferenceController(
Context context, String preferenceKey,
@@ -134,10 +137,6 @@
mIs24HourFormat = DateFormat.is24HourFormat(context);
mMetricsFeatureProvider =
FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
- mNotAllowShowEntryPackages =
- FeatureFactory.getFactory(context)
- .getPowerUsageFeatureProvider(context)
- .getHideApplicationEntries(context);
mNotAllowShowSummaryPackages =
FeatureFactory.getFactory(context)
.getPowerUsageFeatureProvider(context)
@@ -152,12 +151,14 @@
if (savedInstanceState == null) {
return;
}
- mTrapezoidIndex =
- savedInstanceState.getInt(KEY_CURRENT_TIME_SLOT, mTrapezoidIndex);
+ mDailyChartIndex =
+ savedInstanceState.getInt(KEY_DAILY_CHART_INDEX, mDailyChartIndex);
+ mHourlyChartIndex =
+ savedInstanceState.getInt(KEY_HOURLY_CHART_INDEX, mHourlyChartIndex);
mIsExpanded =
savedInstanceState.getBoolean(KEY_EXPAND_SYSTEM_INFO, mIsExpanded);
- Log.d(TAG, String.format("onCreate() slotIndex=%d isExpanded=%b",
- mTrapezoidIndex, mIsExpanded));
+ Log.d(TAG, String.format("onCreate() dailyIndex=%d hourlyIndex=%d isExpanded=%b",
+ mDailyChartIndex, mHourlyChartIndex, mIsExpanded));
}
@Override
@@ -179,10 +180,11 @@
if (savedInstance == null) {
return;
}
- savedInstance.putInt(KEY_CURRENT_TIME_SLOT, mTrapezoidIndex);
+ savedInstance.putInt(KEY_DAILY_CHART_INDEX, mDailyChartIndex);
+ savedInstance.putInt(KEY_HOURLY_CHART_INDEX, mHourlyChartIndex);
savedInstance.putBoolean(KEY_EXPAND_SYSTEM_INFO, mIsExpanded);
- Log.d(TAG, String.format("onSaveInstanceState() slotIndex=%d isExpanded=%b",
- mTrapezoidIndex, mIsExpanded));
+ Log.d(TAG, String.format("onSaveInstanceState() dailyIndex=%d hourlyIndex=%d isExpanded=%b",
+ mDailyChartIndex, mHourlyChartIndex, mIsExpanded));
}
@Override
@@ -204,8 +206,7 @@
mPrefContext = screen.getContext();
mAppListPrefGroup = screen.findPreference(mPreferenceKey);
mAppListPrefGroup.setOrderingAsAdded(false);
- mAppListPrefGroup.setTitle(
- mPrefContext.getString(R.string.battery_app_usage_for_past_24));
+ mAppListPrefGroup.setTitle("");
mFooterPreference = screen.findPreference(KEY_FOOTER_PREF);
// Removes footer first until usage data is loaded to avoid flashing.
if (mFooterPreference != null) {
@@ -250,17 +251,6 @@
}
@Override
- public void onSelect(int trapezoidIndex) {
- Log.d(TAG, "onChartSelect:" + trapezoidIndex);
- refreshUi(trapezoidIndex, /*isForce=*/ false);
- mMetricsFeatureProvider.action(
- mPrefContext,
- trapezoidIndex == BatteryChartView.SELECTED_INDEX_ALL
- ? SettingsEnums.ACTION_BATTERY_USAGE_SHOW_ALL
- : SettingsEnums.ACTION_BATTERY_USAGE_TIME_SLOT);
- }
-
- @Override
public void onExpand(boolean isExpanded) {
mIsExpanded = isExpanded;
mMetricsFeatureProvider.action(
@@ -272,81 +262,138 @@
void setBatteryHistoryMap(
final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap) {
- // Resets all battery history data relative variables.
- if (batteryHistoryMap == null || batteryHistoryMap.isEmpty()) {
- mBatteryIndexedMap = null;
- mBatteryHistoryKeys = null;
- mBatteryHistoryLevels = null;
- addFooterPreferenceIfNeeded(false);
+ Log.d(TAG, "setBatteryHistoryMap() " + (batteryHistoryMap == null ? "null"
+ : ("size=" + batteryHistoryMap.size())));
+ // Ensure the battery chart group is visible for users.
+ animateBatteryChartViewGroup();
+ final BatteryLevelData batteryLevelData =
+ DataProcessor.getBatteryLevelData(mContext, mHandler, batteryHistoryMap,
+ batteryUsageMap -> {
+ mBatteryUsageMap = batteryUsageMap;
+ refreshUi();
+ });
+ Log.d(TAG, "getBatteryLevelData: " + batteryLevelData);
+ mMetricsFeatureProvider.action(
+ mPrefContext,
+ SettingsEnums.ACTION_BATTERY_HISTORY_LOADED,
+ getTotalHours(batteryLevelData));
+
+ if (batteryLevelData == null) {
+ mDailyTimestampFullTexts = null;
+ mDailyViewModel = null;
+ mHourlyViewModels = null;
+ refreshUi();
return;
}
- mBatteryHistoryKeys = getBatteryHistoryKeys(batteryHistoryMap);
- mBatteryHistoryLevels = new int[CHART_LEVEL_ARRAY_SIZE];
- for (int index = 0; index < CHART_LEVEL_ARRAY_SIZE; index++) {
- final long timestamp = mBatteryHistoryKeys[index * 2];
- final Map<String, BatteryHistEntry> entryMap = batteryHistoryMap.get(timestamp);
- if (entryMap == null || entryMap.isEmpty()) {
- Log.e(TAG, "abnormal entry list in the timestamp:"
- + ConvertUtils.utcToLocalTime(mPrefContext, timestamp));
- continue;
+ mDailyTimestampFullTexts = generateTimestampDayOfWeekTexts(
+ mContext, batteryLevelData.getDailyBatteryLevels().getTimestamps(),
+ /* isAbbreviation= */ false);
+ mDailyViewModel = new BatteryChartViewModel(
+ batteryLevelData.getDailyBatteryLevels().getLevels(),
+ generateTimestampDayOfWeekTexts(
+ mContext, batteryLevelData.getDailyBatteryLevels().getTimestamps(),
+ /* isAbbreviation= */ true),
+ BatteryChartViewModel.AxisLabelPosition.CENTER_OF_TRAPEZOIDS);
+ mHourlyViewModels = new ArrayList<>();
+ for (BatteryLevelData.PeriodBatteryLevelData hourlyBatteryLevelsPerDay :
+ batteryLevelData.getHourlyBatteryLevelsPerDay()) {
+ mHourlyViewModels.add(new BatteryChartViewModel(
+ hourlyBatteryLevelsPerDay.getLevels(),
+ generateTimestampHourTexts(
+ mContext, hourlyBatteryLevelsPerDay.getTimestamps()),
+ BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS));
+ }
+ refreshUi();
+ }
+
+ void setBatteryChartView(@NonNull final BatteryChartView dailyChartView,
+ @NonNull final BatteryChartView hourlyChartView) {
+ final View parentView = (View) dailyChartView.getParent();
+ if (parentView != null && parentView.getId() == R.id.battery_chart_group) {
+ mBatteryChartViewGroup = (View) dailyChartView.getParent();
+ }
+ if (mDailyChartView != dailyChartView || mHourlyChartView != hourlyChartView) {
+ mHandler.post(() -> setBatteryChartViewInner(dailyChartView, hourlyChartView));
+ animateBatteryChartViewGroup();
+ }
+ }
+
+ private void setBatteryChartViewInner(@NonNull final BatteryChartView dailyChartView,
+ @NonNull final BatteryChartView hourlyChartView) {
+ mDailyChartView = dailyChartView;
+ mDailyChartView.setOnSelectListener(trapezoidIndex -> {
+ if (mDailyChartIndex == trapezoidIndex) {
+ return;
}
- // Averages the battery level in each time slot to avoid corner conditions.
- float batteryLevelCounter = 0;
- for (BatteryHistEntry entry : entryMap.values()) {
- batteryLevelCounter += entry.mBatteryLevel;
+ Log.d(TAG, "onDailyChartSelect:" + trapezoidIndex);
+ mDailyChartIndex = trapezoidIndex;
+ mHourlyChartIndex = BatteryChartViewModel.SELECTED_INDEX_ALL;
+ refreshUi();
+ mMetricsFeatureProvider.action(
+ mPrefContext,
+ trapezoidIndex == BatteryChartViewModel.SELECTED_INDEX_ALL
+ ? SettingsEnums.ACTION_BATTERY_USAGE_DAILY_SHOW_ALL
+ : SettingsEnums.ACTION_BATTERY_USAGE_DAILY_TIME_SLOT,
+ mDailyChartIndex);
+ });
+ mHourlyChartView = hourlyChartView;
+ mHourlyChartView.setOnSelectListener(trapezoidIndex -> {
+ if (mHourlyChartIndex == trapezoidIndex) {
+ return;
}
- mBatteryHistoryLevels[index] =
- Math.round(batteryLevelCounter / entryMap.size());
- }
- forceRefreshUi();
- Log.d(TAG, String.format(
- "setBatteryHistoryMap() size=%d key=%s\nlevels=%s",
- batteryHistoryMap.size(),
- ConvertUtils.utcToLocalTime(mPrefContext,
- mBatteryHistoryKeys[mBatteryHistoryKeys.length - 1]),
- Arrays.toString(mBatteryHistoryLevels)));
-
- // Loads item icon and label in the background.
- new LoadAllItemsInfoTask(batteryHistoryMap).execute();
- }
-
- void setBatteryChartView(final BatteryChartView batteryChartView) {
- if (mBatteryChartView != batteryChartView) {
- mHandler.post(() -> setBatteryChartViewInner(batteryChartView));
- }
- }
-
- private void setBatteryChartViewInner(final BatteryChartView batteryChartView) {
- mBatteryChartView = batteryChartView;
- mBatteryChartView.setOnSelectListener(this);
- forceRefreshUi();
- }
-
- private void forceRefreshUi() {
- final int refreshIndex =
- mTrapezoidIndex == BatteryChartView.SELECTED_INDEX_INVALID
- ? BatteryChartView.SELECTED_INDEX_ALL
- : mTrapezoidIndex;
- if (mBatteryChartView != null) {
- mBatteryChartView.setLevels(mBatteryHistoryLevels);
- mBatteryChartView.setSelectedIndex(refreshIndex);
- setTimestampLabel();
- }
- refreshUi(refreshIndex, /*isForce=*/ true);
+ Log.d(TAG, "onHourlyChartSelect:" + trapezoidIndex);
+ mHourlyChartIndex = trapezoidIndex;
+ refreshUi();
+ mMetricsFeatureProvider.action(
+ mPrefContext,
+ trapezoidIndex == BatteryChartViewModel.SELECTED_INDEX_ALL
+ ? SettingsEnums.ACTION_BATTERY_USAGE_SHOW_ALL
+ : SettingsEnums.ACTION_BATTERY_USAGE_TIME_SLOT,
+ mHourlyChartIndex);
+ });
+ refreshUi();
}
@VisibleForTesting
- boolean refreshUi(int trapezoidIndex, boolean isForce) {
- // Invalid refresh condition.
- if (mBatteryIndexedMap == null
- || mBatteryChartView == null
- || (mTrapezoidIndex == trapezoidIndex && !isForce)) {
+ boolean refreshUi() {
+ if (mDailyChartView == null || mHourlyChartView == null) {
+ // Chart views are not initialized.
return false;
}
- Log.d(TAG, String.format("refreshUi: index=%d size=%d isForce:%b",
- trapezoidIndex, mBatteryIndexedMap.size(), isForce));
+ if (mDailyViewModel == null || mHourlyViewModels == null) {
+ // Fail to get battery level data, show an empty hourly chart view.
+ mDailyChartView.setVisibility(View.GONE);
+ mHourlyChartView.setVisibility(View.VISIBLE);
+ mHourlyChartView.setViewModel(null);
+ removeAndCacheAllPrefs();
+ addFooterPreferenceIfNeeded(false);
+ return false;
+ }
+ if (mBatteryUsageMap == null) {
+ // Battery usage data is not ready, wait for data ready to refresh UI.
+ return false;
+ }
- mTrapezoidIndex = trapezoidIndex;
+ if (isBatteryLevelDataInOneDay()) {
+ // Only 1 day data, hide the daily chart view.
+ mDailyChartView.setVisibility(View.GONE);
+ mDailyChartIndex = 0;
+ } else {
+ mDailyChartView.setVisibility(View.VISIBLE);
+ mDailyViewModel.setSelectedIndex(mDailyChartIndex);
+ mDailyChartView.setViewModel(mDailyViewModel);
+ }
+
+ if (mDailyChartIndex == BatteryChartViewModel.SELECTED_INDEX_ALL) {
+ // Multiple days are selected, hide the hourly chart view.
+ mHourlyChartView.setVisibility(View.GONE);
+ } else {
+ mHourlyChartView.setVisibility(View.VISIBLE);
+ final BatteryChartViewModel hourlyViewModel = mHourlyViewModels.get(mDailyChartIndex);
+ hourlyViewModel.setSelectedIndex(mHourlyChartIndex);
+ mHourlyChartView.setViewModel(hourlyViewModel);
+ }
+
mHandler.post(() -> {
final long start = System.currentTimeMillis();
removeAndCacheAllPrefs();
@@ -359,43 +406,22 @@
}
private void addAllPreferences() {
- final List<BatteryDiffEntry> entries =
- mBatteryIndexedMap.get(Integer.valueOf(mTrapezoidIndex));
- addFooterPreferenceIfNeeded(entries != null && !entries.isEmpty());
- if (entries == null) {
- Log.w(TAG, "cannot find BatteryDiffEntry for:" + mTrapezoidIndex);
+ final BatteryDiffData batteryDiffData =
+ mBatteryUsageMap.get(mDailyChartIndex).get(mHourlyChartIndex);
+ addFooterPreferenceIfNeeded(batteryDiffData != null
+ && (!batteryDiffData.getAppDiffEntryList().isEmpty()
+ || !batteryDiffData.getSystemDiffEntryList().isEmpty()));
+ if (batteryDiffData == null) {
+ Log.w(TAG, "cannot find BatteryDiffEntry for daily_index: " + mDailyChartIndex
+ + " hourly_index: " + mHourlyChartIndex);
return;
}
- // Separates data into two groups and sort them individually.
- final List<BatteryDiffEntry> appEntries = new ArrayList<>();
- mSystemEntries.clear();
- entries.forEach(entry -> {
- final String packageName = entry.getPackageName();
- if (!isValidToShowEntry(packageName)) {
- Log.w(TAG, "ignore showing item:" + packageName);
- return;
- }
- if (entry.isSystemEntry()) {
- mSystemEntries.add(entry);
- } else {
- appEntries.add(entry);
- }
- // Validates the usage time if users click a specific slot.
- if (mTrapezoidIndex >= 0) {
- validateUsageTime(entry);
- }
- });
- Collections.sort(appEntries, BatteryDiffEntry.COMPARATOR);
- Collections.sort(mSystemEntries, BatteryDiffEntry.COMPARATOR);
- Log.d(TAG, String.format("addAllPreferences() app=%d system=%d",
- appEntries.size(), mSystemEntries.size()));
-
// Adds app entries to the list if it is not empty.
- if (!appEntries.isEmpty()) {
- addPreferenceToScreen(appEntries);
+ if (!batteryDiffData.getAppDiffEntryList().isEmpty()) {
+ addPreferenceToScreen(batteryDiffData.getAppDiffEntryList());
}
// Adds the expabable divider if we have system entries data.
- if (!mSystemEntries.isEmpty()) {
+ if (!batteryDiffData.getSystemDiffEntryList().isEmpty()) {
if (mExpandDividerPreference == null) {
mExpandDividerPreference = new ExpandDividerPreference(mPrefContext);
mExpandDividerPreference.setOnExpandListener(this);
@@ -448,6 +474,7 @@
if (!isAdded) {
mAppListPrefGroup.addPreference(pref);
}
+ appIcon.setAlpha(pref.isEnabled() ? ENABLED_ICON_ALPHA : DISABLED_ICON_ALPHA);
prefIndex++;
}
}
@@ -469,11 +496,13 @@
}
private void refreshExpandUi() {
+ final List<BatteryDiffEntry> systemEntries = mBatteryUsageMap.get(mDailyChartIndex).get(
+ mHourlyChartIndex).getSystemDiffEntryList();
if (mIsExpanded) {
- addPreferenceToScreen(mSystemEntries);
+ addPreferenceToScreen(systemEntries);
} else {
// Removes and recycles all system entries to hide all of them.
- for (BatteryDiffEntry entry : mSystemEntries) {
+ for (BatteryDiffEntry entry : systemEntries) {
final String prefKey = entry.mBatteryHistEntry.getKey();
final Preference pref = mAppListPrefGroup.findPreference(prefKey);
if (pref != null) {
@@ -499,11 +528,12 @@
}
private String getSlotInformation(boolean isApp, String slotInformation) {
+ // TODO: Updates the right slot information from daily and hourly chart selection.
// Null means we show all information without a specific time slot.
if (slotInformation == null) {
return isApp
- ? mPrefContext.getString(R.string.battery_app_usage_for_past_24)
- : mPrefContext.getString(R.string.battery_system_usage_for_past_24);
+ ? mPrefContext.getString(R.string.battery_app_usage)
+ : mPrefContext.getString(R.string.battery_system_usage);
} else {
return isApp
? mPrefContext.getString(R.string.battery_app_usage_for, slotInformation)
@@ -511,17 +541,33 @@
}
}
- private String getSlotInformation() {
- if (mTrapezoidIndex < 0) {
+ @VisibleForTesting
+ String getSlotInformation() {
+ if (mDailyTimestampFullTexts == null || mDailyViewModel == null
+ || mHourlyViewModels == null) {
+ // No data
return null;
}
- final String fromHour = ConvertUtils.utcToLocalTimeHour(mPrefContext,
- mBatteryHistoryKeys[mTrapezoidIndex * 2], mIs24HourFormat);
- final String toHour = ConvertUtils.utcToLocalTimeHour(mPrefContext,
- mBatteryHistoryKeys[(mTrapezoidIndex + 1) * 2], mIs24HourFormat);
- return mIs24HourFormat
- ? String.format("%s–%s", fromHour, toHour)
- : String.format("%s – %s", fromHour, toHour);
+ if (isAllSelected()) {
+ return null;
+ }
+
+ final String selectedDayText = mDailyTimestampFullTexts.get(mDailyChartIndex);
+ if (mHourlyChartIndex == BatteryChartViewModel.SELECTED_INDEX_ALL) {
+ return selectedDayText;
+ }
+
+ final String fromHourText = mHourlyViewModels.get(mDailyChartIndex).texts().get(
+ mHourlyChartIndex);
+ final String toHourText = mHourlyViewModels.get(mDailyChartIndex).texts().get(
+ mHourlyChartIndex + 1);
+ final String selectedHourText =
+ String.format("%s%s%s", fromHourText, mIs24HourFormat ? "-" : " - ", toHourText);
+ if (isBatteryLevelDataInOneDay()) {
+ return selectedHourText;
+ }
+
+ return String.format("%s %s", selectedDayText, selectedHourText);
}
@VisibleForTesting
@@ -575,22 +621,14 @@
@VisibleForTesting
boolean isValidToShowSummary(String packageName) {
- return !contains(packageName, mNotAllowShowSummaryPackages);
+ return !DataProcessor.contains(packageName, mNotAllowShowSummaryPackages);
}
- @VisibleForTesting
- boolean isValidToShowEntry(String packageName) {
- return !contains(packageName, mNotAllowShowEntryPackages);
- }
-
- @VisibleForTesting
- void setTimestampLabel() {
- if (mBatteryChartView == null || mBatteryHistoryKeys == null) {
- return;
+ private void animateBatteryChartViewGroup() {
+ if (mBatteryChartViewGroup != null && mBatteryChartViewGroup.getAlpha() == 0) {
+ mBatteryChartViewGroup.animate().alpha(1f).setDuration(FADE_ANIMATION_DURATION)
+ .start();
}
- final long latestTimestamp =
- mBatteryHistoryKeys[mBatteryHistoryKeys.length - 1];
- mBatteryChartView.setLatestTimestamp(latestTimestamp);
}
private void addFooterPreferenceIfNeeded(boolean containAppItems) {
@@ -605,60 +643,75 @@
mHandler.post(() -> mPreferenceScreen.addPreference(mFooterPreference));
}
- private static boolean contains(String target, CharSequence[] packageNames) {
- if (target != null && packageNames != null) {
- for (CharSequence packageName : packageNames) {
- if (TextUtils.equals(target, packageName)) {
- return true;
- }
- }
- }
- return false;
+ private boolean isBatteryLevelDataInOneDay() {
+ return mHourlyViewModels != null && mHourlyViewModels.size() == 1;
+ }
+
+ private boolean isAllSelected() {
+ return (isBatteryLevelDataInOneDay()
+ || mDailyChartIndex == BatteryChartViewModel.SELECTED_INDEX_ALL)
+ && mHourlyChartIndex == BatteryChartViewModel.SELECTED_INDEX_ALL;
}
@VisibleForTesting
- static boolean validateUsageTime(BatteryDiffEntry entry) {
- final long foregroundUsageTimeInMs = entry.mForegroundUsageTimeInMs;
- final long backgroundUsageTimeInMs = entry.mBackgroundUsageTimeInMs;
- final long totalUsageTimeInMs = foregroundUsageTimeInMs + backgroundUsageTimeInMs;
- if (foregroundUsageTimeInMs > VALID_USAGE_TIME_DURATION
- || backgroundUsageTimeInMs > VALID_USAGE_TIME_DURATION
- || totalUsageTimeInMs > VALID_USAGE_TIME_DURATION) {
- Log.e(TAG, "validateUsageTime() fail for\n" + entry);
- return false;
+ static int getTotalHours(final BatteryLevelData batteryLevelData) {
+ if (batteryLevelData == null) {
+ return 0;
}
- return true;
+ List<Long> dailyTimestamps = batteryLevelData.getDailyBatteryLevels().getTimestamps();
+ return (int) ((dailyTimestamps.get(dailyTimestamps.size() - 1) - dailyTimestamps.get(0))
+ / DateUtils.HOUR_IN_MILLIS);
+ }
+
+ private static List<String> generateTimestampDayOfWeekTexts(@NonNull final Context context,
+ @NonNull final List<Long> timestamps, final boolean isAbbreviation) {
+ final ArrayList<String> texts = new ArrayList<>();
+ for (Long timestamp : timestamps) {
+ texts.add(ConvertUtils.utcToLocalTimeDayOfWeek(context, timestamp, isAbbreviation));
+ }
+ return texts;
+ }
+
+ private static List<String> generateTimestampHourTexts(
+ @NonNull final Context context, @NonNull final List<Long> timestamps) {
+ final boolean is24HourFormat = DateFormat.is24HourFormat(context);
+ final ArrayList<String> texts = new ArrayList<>();
+ for (Long timestamp : timestamps) {
+ texts.add(ConvertUtils.utcToLocalTimeHour(context, timestamp, is24HourFormat));
+ }
+ return texts;
}
/** Used for {@link AppBatteryPreferenceController}. */
- public static List<BatteryDiffEntry> getBatteryLast24HrUsageData(Context context) {
+ public static List<BatteryDiffEntry> getAppBatteryUsageData(Context context) {
final long start = System.currentTimeMillis();
final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
FeatureFactory.getFactory(context)
.getPowerUsageFeatureProvider(context)
- .getBatteryHistory(context);
+ .getBatteryHistorySinceLastFullCharge(context);
if (batteryHistoryMap == null || batteryHistoryMap.isEmpty()) {
return null;
}
- Log.d(TAG, String.format("getBatteryLast24HrData() size=%d time=&d/ms",
+ Log.d(TAG, String.format("getBatterySinceLastFullChargeUsageData() size=%d time=%d/ms",
batteryHistoryMap.size(), (System.currentTimeMillis() - start)));
- final Map<Integer, List<BatteryDiffEntry>> batteryIndexedMap =
- ConvertUtils.getIndexedUsageMap(
- context,
- /*timeSlotSize=*/ CHART_LEVEL_ARRAY_SIZE - 1,
- getBatteryHistoryKeys(batteryHistoryMap),
- batteryHistoryMap,
- /*purgeLowPercentageAndFakeData=*/ true);
- return batteryIndexedMap.get(BatteryChartView.SELECTED_INDEX_ALL);
+
+ final Map<Integer, Map<Integer, BatteryDiffData>> batteryUsageData =
+ DataProcessor.getBatteryUsageData(context, batteryHistoryMap);
+ return batteryUsageData == null
+ ? null
+ : batteryUsageData
+ .get(BatteryChartViewModel.SELECTED_INDEX_ALL)
+ .get(BatteryChartViewModel.SELECTED_INDEX_ALL)
+ .getAppDiffEntryList();
}
/** Used for {@link AppBatteryPreferenceController}. */
- public static BatteryDiffEntry getBatteryLast24HrUsageData(
+ public static BatteryDiffEntry getAppBatteryUsageData(
Context context, String packageName, int userId) {
if (packageName == null) {
return null;
}
- final List<BatteryDiffEntry> entries = getBatteryLast24HrUsageData(context);
+ final List<BatteryDiffEntry> entries = getAppBatteryUsageData(context);
if (entries == null) {
return null;
}
@@ -673,65 +726,4 @@
}
return null;
}
-
- private static long[] getBatteryHistoryKeys(
- final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap) {
- final List<Long> batteryHistoryKeyList =
- new ArrayList<>(batteryHistoryMap.keySet());
- Collections.sort(batteryHistoryKeyList);
- final long[] batteryHistoryKeys = new long[CHART_KEY_ARRAY_SIZE];
- for (int index = 0; index < CHART_KEY_ARRAY_SIZE; index++) {
- batteryHistoryKeys[index] = batteryHistoryKeyList.get(index);
- }
- return batteryHistoryKeys;
- }
-
- // Loads all items icon and label in the background.
- private final class LoadAllItemsInfoTask
- extends AsyncTask<Void, Void, Map<Integer, List<BatteryDiffEntry>>> {
-
- private long[] mBatteryHistoryKeysCache;
- private Map<Long, Map<String, BatteryHistEntry>> mBatteryHistoryMap;
-
- private LoadAllItemsInfoTask(
- Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap) {
- this.mBatteryHistoryMap = batteryHistoryMap;
- this.mBatteryHistoryKeysCache = mBatteryHistoryKeys;
- }
-
- @Override
- protected Map<Integer, List<BatteryDiffEntry>> doInBackground(Void... voids) {
- if (mPrefContext == null || mBatteryHistoryKeysCache == null) {
- return null;
- }
- final long startTime = System.currentTimeMillis();
- final Map<Integer, List<BatteryDiffEntry>> indexedUsageMap =
- ConvertUtils.getIndexedUsageMap(
- mPrefContext, /*timeSlotSize=*/ CHART_LEVEL_ARRAY_SIZE - 1,
- mBatteryHistoryKeysCache, mBatteryHistoryMap,
- /*purgeLowPercentageAndFakeData=*/ true);
- // Pre-loads each BatteryDiffEntry relative icon and label for all slots.
- for (List<BatteryDiffEntry> entries : indexedUsageMap.values()) {
- entries.forEach(entry -> entry.loadLabelAndIcon());
- }
- Log.d(TAG, String.format("execute LoadAllItemsInfoTask in %d/ms",
- (System.currentTimeMillis() - startTime)));
- return indexedUsageMap;
- }
-
- @Override
- protected void onPostExecute(
- Map<Integer, List<BatteryDiffEntry>> indexedUsageMap) {
- mBatteryHistoryMap = null;
- mBatteryHistoryKeysCache = null;
- if (indexedUsageMap == null) {
- return;
- }
- // Posts results back to main thread to refresh UI.
- mHandler.post(() -> {
- mBatteryIndexedMap = indexedUsageMap;
- forceRefreshUi();
- });
- }
- }
}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartView.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartView.java
index 427388b..e668b37 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartView.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartView.java
@@ -18,6 +18,7 @@
import static com.android.settings.Utils.formatPercentage;
import static java.lang.Math.round;
+import static java.util.Objects.requireNonNull;
import android.accessibilityservice.AccessibilityServiceInfo;
import android.content.Context;
@@ -29,8 +30,6 @@
import android.graphics.Path;
import android.graphics.Rect;
import android.os.Handler;
-import android.text.format.DateFormat;
-import android.text.format.DateUtils;
import android.util.AttributeSet;
import android.util.Log;
import android.view.HapticFeedbackConstants;
@@ -39,6 +38,7 @@
import android.view.accessibility.AccessibilityManager;
import android.widget.TextView;
+import androidx.annotation.NonNull;
import androidx.annotation.VisibleForTesting;
import androidx.appcompat.widget.AppCompatImageView;
@@ -46,7 +46,7 @@
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.Utils;
-import java.time.Clock;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Locale;
@@ -58,36 +58,26 @@
private static final List<String> ACCESSIBILITY_SERVICE_NAMES =
Arrays.asList("SwitchAccessService", "TalkBackService", "JustSpeakService");
- private static final int DEFAULT_TRAPEZOID_COUNT = 12;
- private static final int DEFAULT_TIMESTAMP_COUNT = 4;
- private static final int TIMESTAMP_GAPS_COUNT = DEFAULT_TIMESTAMP_COUNT - 1;
private static final int DIVIDER_COLOR = Color.parseColor("#CDCCC5");
private static final long UPDATE_STATE_DELAYED_TIME = 500L;
- /** Selects all trapezoid shapes. */
- public static final int SELECTED_INDEX_ALL = -1;
- public static final int SELECTED_INDEX_INVALID = -2;
-
/** A callback listener for selected group index is updated. */
public interface OnSelectListener {
/** The callback function for selected group index is updated. */
void onSelect(int trapezoidIndex);
}
+ private BatteryChartViewModel mViewModel;
+
private int mDividerWidth;
private int mDividerHeight;
- private int mTrapezoidCount;
private float mTrapezoidVOffset;
private float mTrapezoidHOffset;
private boolean mIsSlotsClickabled;
private String[] mPercentages = getPercentages();
@VisibleForTesting
- int mHoveredIndex = SELECTED_INDEX_INVALID;
- @VisibleForTesting
- int mSelectedIndex = SELECTED_INDEX_INVALID;
- @VisibleForTesting
- String[] mTimestamps;
+ int mHoveredIndex = BatteryChartViewModel.SELECTED_INDEX_INVALID;
// Colors for drawing the trapezoid shape and dividers.
private int mTrapezoidColor;
@@ -98,25 +88,26 @@
private final Rect mIndent = new Rect();
private final Rect[] mPercentageBounds =
new Rect[]{new Rect(), new Rect(), new Rect()};
- // For drawing the timestamp information.
- private final Rect[] mTimestampsBounds =
- new Rect[]{new Rect(), new Rect(), new Rect(), new Rect()};
+ // For drawing the axis label information.
+ private final List<Rect> mAxisLabelsBounds = new ArrayList<>();
+
@VisibleForTesting
Handler mHandler = new Handler();
@VisibleForTesting
final Runnable mUpdateClickableStateRun = () -> updateClickableState();
- private int[] mLevels;
private Paint mTextPaint;
private Paint mDividerPaint;
private Paint mTrapezoidPaint;
@VisibleForTesting
Paint mTrapezoidCurvePaint = null;
- private TrapezoidSlot[] mTrapezoidSlots;
+ @VisibleForTesting
+ TrapezoidSlot[] mTrapezoidSlots;
// Records the location to calculate selected index.
- private float mTouchUpEventX = Float.MIN_VALUE;
+ @VisibleForTesting
+ float mTouchUpEventX = Float.MIN_VALUE;
private BatteryChartView.OnSelectListener mOnSelectListener;
public BatteryChartView(Context context) {
@@ -128,57 +119,25 @@
initializeColors(context);
// Registers the click event listener.
setOnClickListener(this);
- setSelectedIndex(SELECTED_INDEX_ALL);
- setTrapezoidCount(DEFAULT_TRAPEZOID_COUNT);
setClickable(false);
- setLatestTimestamp(0);
+ requestLayout();
}
- /** Sets the total trapezoid count for drawing. */
- public void setTrapezoidCount(int trapezoidCount) {
- Log.i(TAG, "trapezoidCount:" + trapezoidCount);
- mTrapezoidCount = trapezoidCount;
- mTrapezoidSlots = new TrapezoidSlot[trapezoidCount];
- // Allocates the trapezoid slot array.
- for (int index = 0; index < trapezoidCount; index++) {
- mTrapezoidSlots[index] = new TrapezoidSlot();
- }
- invalidate();
- }
-
- /** Sets all levels value to draw the trapezoid shape */
- public void setLevels(int[] levels) {
- Log.d(TAG, "setLevels() " + (levels == null ? "null" : levels.length));
- if (levels == null) {
- mLevels = null;
- return;
- }
- // We should provide trapezoid count + 1 data to draw all trapezoids.
- mLevels = levels.length == mTrapezoidCount + 1 ? levels : null;
- setClickable(false);
- invalidate();
- if (mLevels == null) {
- return;
- }
- // Sets the chart is clickable if there is at least one valid item in it.
- for (int index = 0; index < mLevels.length - 1; index++) {
- if (mLevels[index] != 0 && mLevels[index + 1] != 0) {
- setClickable(true);
- break;
- }
- }
- }
-
- /** Sets the selected group index to draw highlight effect. */
- public void setSelectedIndex(int index) {
- if (mSelectedIndex != index) {
- mSelectedIndex = index;
+ /** Sets the data model of this view. */
+ public void setViewModel(BatteryChartViewModel viewModel) {
+ if (viewModel == null) {
+ mViewModel = null;
invalidate();
- // Callbacks to the listener if we have.
- if (mOnSelectListener != null) {
- mOnSelectListener.onSelect(mSelectedIndex);
- }
+ return;
}
+
+ Log.d(TAG, String.format("setViewModel(): size: %d, selectedIndex: %d.",
+ viewModel.size(), viewModel.selectedIndex()));
+ mViewModel = viewModel;
+ initializeAxisLabelsBounds();
+ initializeTrapezoidSlots(viewModel.size() - 1);
+ setClickable(hasAnyValidTrapezoid(viewModel));
+ requestLayout();
}
/** Sets the callback to monitor the selected group index. */
@@ -195,29 +154,6 @@
} else {
mTextPaint = null;
}
- setVisibility(View.VISIBLE);
- requestLayout();
- }
-
- /** Sets the latest timestamp for drawing into x-axis information. */
- public void setLatestTimestamp(long latestTimestamp) {
- if (latestTimestamp == 0) {
- latestTimestamp = Clock.systemUTC().millis();
- }
- if (mTimestamps == null) {
- mTimestamps = new String[DEFAULT_TIMESTAMP_COUNT];
- }
- final long timeSlotOffset =
- DateUtils.HOUR_IN_MILLIS * (/*total 24 hours*/ 24 / TIMESTAMP_GAPS_COUNT);
- final boolean is24HourFormat = DateFormat.is24HourFormat(getContext());
- for (int index = 0; index < DEFAULT_TIMESTAMP_COUNT; index++) {
- mTimestamps[index] =
- ConvertUtils.utcToLocalTimeHour(
- getContext(),
- latestTimestamp - (TIMESTAMP_GAPS_COUNT - index)
- * timeSlotOffset,
- is24HourFormat);
- }
requestLayout();
}
@@ -226,6 +162,7 @@
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
// Measures text bounds and updates indent configuration.
if (mTextPaint != null) {
+ mTextPaint.setTextAlign(Paint.Align.LEFT);
for (int index = 0; index < mPercentages.length; index++) {
mTextPaint.getTextBounds(
mPercentages[index], 0, mPercentages[index].length(),
@@ -235,15 +172,14 @@
mIndent.top = mPercentageBounds[0].height();
mIndent.right = mPercentageBounds[0].width() + mTextPadding;
- if (mTimestamps != null) {
- int maxHeight = 0;
- for (int index = 0; index < DEFAULT_TIMESTAMP_COUNT; index++) {
- mTextPaint.getTextBounds(
- mTimestamps[index], 0, mTimestamps[index].length(),
- mTimestampsBounds[index]);
- maxHeight = Math.max(maxHeight, mTimestampsBounds[index].height());
+ if (mViewModel != null) {
+ int maxTop = 0;
+ for (int index = 0; index < mViewModel.size(); index++) {
+ final String text = mViewModel.texts().get(index);
+ mTextPaint.getTextBounds(text, 0, text.length(), mAxisLabelsBounds.get(index));
+ maxTop = Math.max(maxTop, -mAxisLabelsBounds.get(index).top);
}
- mIndent.bottom = maxHeight + round(mTextPadding * 1.5f);
+ mIndent.bottom = maxTop + round(mTextPadding * 2f);
}
Log.d(TAG, "setIndent:" + mPercentageBounds[0]);
} else {
@@ -254,7 +190,12 @@
@Override
public void draw(Canvas canvas) {
super.draw(canvas);
+ // Before mLevels initialized, the count of trapezoids is unknown. Only draws the
+ // horizontal percentages and dividers.
drawHorizontalDividers(canvas);
+ if (mViewModel == null) {
+ return;
+ }
drawVerticalDividers(canvas);
drawTrapezoids(canvas);
}
@@ -294,7 +235,7 @@
public void onHoverChanged(boolean hovered) {
super.onHoverChanged(hovered);
if (!hovered) {
- mHoveredIndex = SELECTED_INDEX_INVALID; // reset
+ mHoveredIndex = BatteryChartViewModel.SELECTED_INDEX_INVALID; // reset
invalidate();
}
}
@@ -307,15 +248,15 @@
}
final int trapezoidIndex = getTrapezoidIndex(mTouchUpEventX);
// Ignores the click event if the level is zero.
- if (trapezoidIndex == SELECTED_INDEX_INVALID
- || !isValidToDraw(trapezoidIndex)) {
+ if (trapezoidIndex == BatteryChartViewModel.SELECTED_INDEX_INVALID
+ || !isValidToDraw(mViewModel, trapezoidIndex)) {
return;
}
- // Selects all if users click the same trapezoid item two times.
- if (trapezoidIndex == mSelectedIndex) {
- setSelectedIndex(SELECTED_INDEX_ALL);
- } else {
- setSelectedIndex(trapezoidIndex);
+ if (mOnSelectListener != null) {
+ // Selects all if users click the same trapezoid item two times.
+ mOnSelectListener.onSelect(
+ trapezoidIndex == mViewModel.selectedIndex()
+ ? BatteryChartViewModel.SELECTED_INDEX_ALL : trapezoidIndex);
}
view.performHapticFeedback(HapticFeedbackConstants.CONTEXT_CLICK);
}
@@ -364,8 +305,8 @@
mTrapezoidCurvePaint.setStrokeWidth(mDividerWidth * 2);
} else if (mIsSlotsClickabled) {
mTrapezoidCurvePaint = null;
- // Sets levels again to force update the click state.
- setLevels(mLevels);
+ // Sets view model again to force update the click state.
+ setViewModel(mViewModel);
}
invalidate();
}
@@ -380,6 +321,13 @@
super.setClickable(clickable);
}
+ private void initializeTrapezoidSlots(int count) {
+ mTrapezoidSlots = new TrapezoidSlot[count];
+ for (int index = 0; index < mTrapezoidSlots.length; index++) {
+ mTrapezoidSlots[index] = new TrapezoidSlot();
+ }
+ }
+
private void initializeColors(Context context) {
setBackgroundColor(Color.TRANSPARENT);
mTrapezoidSolidColor = Utils.getColorAccentDefaultColor(context);
@@ -434,10 +382,10 @@
private void drawPercentage(Canvas canvas, int index, float offsetY) {
if (mTextPaint != null) {
+ mTextPaint.setTextAlign(Paint.Align.RIGHT);
canvas.drawText(
mPercentages[index],
- getWidth() - mPercentageBounds[index].width()
- - mPercentageBounds[index].left,
+ getWidth(),
offsetY + mPercentageBounds[index].height() * .5f,
mTextPaint);
}
@@ -445,9 +393,9 @@
private void drawVerticalDividers(Canvas canvas) {
final int width = getWidth() - mIndent.right;
- final int dividerCount = mTrapezoidCount + 1;
+ final int dividerCount = mTrapezoidSlots.length + 1;
final float dividerSpace = dividerCount * mDividerWidth;
- final float unitWidth = (width - dividerSpace) / (float) mTrapezoidCount;
+ final float unitWidth = (width - dividerSpace) / (float) mTrapezoidSlots.length;
final float bottomY = getHeight() - mIndent.bottom;
final float startY = bottomY - mDividerHeight;
final float trapezoidSlotOffset = mTrapezoidHOffset + mDividerWidth * .5f;
@@ -463,66 +411,140 @@
}
startX = nextX;
}
- // Draws the timestamp slot information.
- if (mTimestamps != null) {
- final float[] xOffsets = new float[DEFAULT_TIMESTAMP_COUNT];
- final float baselineX = mDividerWidth * .5f;
- final float offsetX = mDividerWidth + unitWidth;
- final int slotBarOffset = (/*total 12 bars*/ 12) / TIMESTAMP_GAPS_COUNT;
- for (int index = 0; index < DEFAULT_TIMESTAMP_COUNT; index++) {
- xOffsets[index] = baselineX + index * offsetX * slotBarOffset;
+ // Draws the axis label slot information.
+ if (mViewModel != null) {
+ final float baselineY = getHeight() - mTextPadding * 1.5f;
+ Rect[] axisLabelDisplayAreas;
+ switch (mViewModel.axisLabelPosition()) {
+ case CENTER_OF_TRAPEZOIDS:
+ axisLabelDisplayAreas = getAxisLabelDisplayAreas(
+ /* size= */ mViewModel.size() - 1,
+ /* baselineX= */ mDividerWidth + unitWidth * .5f,
+ /* offsetX= */ mDividerWidth + unitWidth,
+ baselineY,
+ /* shiftFirstAndLast= */ false);
+ break;
+ case BETWEEN_TRAPEZOIDS:
+ default:
+ axisLabelDisplayAreas = getAxisLabelDisplayAreas(
+ /* size= */ mViewModel.size(),
+ /* baselineX= */ mDividerWidth * .5f,
+ /* offsetX= */ mDividerWidth + unitWidth,
+ baselineY,
+ /* shiftFirstAndLast= */ true);
+ break;
}
- drawTimestamp(canvas, xOffsets);
+ drawAxisLabels(canvas, axisLabelDisplayAreas, baselineY);
}
}
- private void drawTimestamp(Canvas canvas, float[] xOffsets) {
- // Draws the 1st timestamp info.
- canvas.drawText(
- mTimestamps[0],
- xOffsets[0] - mTimestampsBounds[0].left,
- getTimestampY(0), mTextPaint);
- final int latestIndex = DEFAULT_TIMESTAMP_COUNT - 1;
- // Draws the last timestamp info.
- canvas.drawText(
- mTimestamps[latestIndex],
- xOffsets[latestIndex] - mTimestampsBounds[latestIndex].width()
- - mTimestampsBounds[latestIndex].left,
- getTimestampY(latestIndex), mTextPaint);
- // Draws the rest of timestamp info since it is located in the center.
- for (int index = 1; index <= DEFAULT_TIMESTAMP_COUNT - 2; index++) {
- canvas.drawText(
- mTimestamps[index],
- xOffsets[index]
- - (mTimestampsBounds[index].width() - mTimestampsBounds[index].left)
- * .5f,
- getTimestampY(index), mTextPaint);
+ /** Gets all the axis label texts displaying area positions if they are shown. */
+ private Rect[] getAxisLabelDisplayAreas(final int size, final float baselineX,
+ final float offsetX, final float baselineY, final boolean shiftFirstAndLast) {
+ final Rect[] result = new Rect[size];
+ for (int index = 0; index < result.length; index++) {
+ final float width = mAxisLabelsBounds.get(index).width();
+ float middle = baselineX + index * offsetX;
+ if (shiftFirstAndLast) {
+ if (index == 0) {
+ middle += width * .5f;
+ }
+ if (index == size - 1) {
+ middle -= width * .5f;
+ }
+ }
+ final float left = middle - width * .5f;
+ final float right = left + width;
+ final float top = baselineY + mAxisLabelsBounds.get(index).top;
+ final float bottom = top + mAxisLabelsBounds.get(index).height();
+ result[index] = new Rect(round(left), round(top), round(right), round(bottom));
+ }
+ return result;
+ }
+ private void drawAxisLabels(Canvas canvas, final Rect[] displayAreas, final float baselineY) {
+ final int lastIndex = displayAreas.length - 1;
+ // Suppose first and last labels are always able to draw.
+ drawAxisLabelText(canvas, 0, displayAreas[0], baselineY);
+ drawAxisLabelText(canvas, lastIndex, displayAreas[lastIndex], baselineY);
+ drawAxisLabelsBetweenStartIndexAndEndIndex(canvas, displayAreas, 0, lastIndex, baselineY);
+ }
+
+ /**
+ * Recursively draws axis labels between the start index and the end index. If the inner number
+ * can be exactly divided into 2 parts, check and draw the middle index label and then
+ * recursively draw the 2 parts. Otherwise, divide into 3 parts. Check and draw the middle two
+ * labels and then recursively draw the 3 parts. If there are any overlaps, skip drawing and go
+ * back to the uplevel of the recursion.
+ */
+ private void drawAxisLabelsBetweenStartIndexAndEndIndex(Canvas canvas,
+ final Rect[] displayAreas, final int startIndex, final int endIndex,
+ final float baselineY) {
+ if (endIndex - startIndex <= 1) {
+ return;
+ }
+ if ((endIndex - startIndex) % 2 == 0) {
+ int middleIndex = (startIndex + endIndex) / 2;
+ if (hasOverlap(displayAreas, startIndex, middleIndex)
+ || hasOverlap(displayAreas, middleIndex, endIndex)) {
+ return;
+ }
+ drawAxisLabelText(canvas, middleIndex, displayAreas[middleIndex], baselineY);
+ drawAxisLabelsBetweenStartIndexAndEndIndex(
+ canvas, displayAreas, startIndex, middleIndex, baselineY);
+ drawAxisLabelsBetweenStartIndexAndEndIndex(
+ canvas, displayAreas, middleIndex, endIndex, baselineY);
+ } else {
+ int middleIndex1 = startIndex + round((endIndex - startIndex) / 3f);
+ int middleIndex2 = startIndex + round((endIndex - startIndex) * 2 / 3f);
+ if (hasOverlap(displayAreas, startIndex, middleIndex1)
+ || hasOverlap(displayAreas, middleIndex1, middleIndex2)
+ || hasOverlap(displayAreas, middleIndex2, endIndex)) {
+ return;
+ }
+ drawAxisLabelText(canvas, middleIndex1, displayAreas[middleIndex1], baselineY);
+ drawAxisLabelText(canvas, middleIndex2, displayAreas[middleIndex2], baselineY);
+ drawAxisLabelsBetweenStartIndexAndEndIndex(
+ canvas, displayAreas, startIndex, middleIndex1, baselineY);
+ drawAxisLabelsBetweenStartIndexAndEndIndex(
+ canvas, displayAreas, middleIndex1, middleIndex2, baselineY);
+ drawAxisLabelsBetweenStartIndexAndEndIndex(
+ canvas, displayAreas, middleIndex2, endIndex, baselineY);
}
}
- private int getTimestampY(int index) {
- return getHeight() - mTimestampsBounds[index].height()
- + (mTimestampsBounds[index].height() + mTimestampsBounds[index].top)
- + round(mTextPadding * 1.5f);
+ private boolean hasOverlap(
+ final Rect[] displayAreas, final int leftIndex, final int rightIndex) {
+ return displayAreas[leftIndex].right + mTextPadding * 2f > displayAreas[rightIndex].left;
+ }
+
+ private void drawAxisLabelText(
+ Canvas canvas, final int index, final Rect displayArea, final float baselineY) {
+ mTextPaint.setTextAlign(Paint.Align.CENTER);
+ canvas.drawText(
+ mViewModel.texts().get(index),
+ displayArea.centerX(),
+ baselineY,
+ mTextPaint);
}
private void drawTrapezoids(Canvas canvas) {
// Ignores invalid trapezoid data.
- if (mLevels == null) {
+ if (mViewModel == null) {
return;
}
final float trapezoidBottom =
getHeight() - mIndent.bottom - mDividerHeight - mDividerWidth
- mTrapezoidVOffset;
- final float availableSpace = trapezoidBottom - mDividerWidth * .5f - mIndent.top;
+ final float availableSpace =
+ trapezoidBottom - mDividerWidth * .5f - mIndent.top - mTrapezoidVOffset;
final float unitHeight = availableSpace / 100f;
// Draws all trapezoid shapes into the canvas.
final Path trapezoidPath = new Path();
Path trapezoidCurvePath = null;
- for (int index = 0; index < mTrapezoidCount; index++) {
+ for (int index = 0; index < mTrapezoidSlots.length; index++) {
// Not draws the trapezoid for corner or not initialization cases.
- if (!isValidToDraw(index)) {
+ if (!isValidToDraw(mViewModel, index)) {
if (mTrapezoidCurvePaint != null && trapezoidCurvePath != null) {
canvas.drawPath(trapezoidCurvePath, mTrapezoidCurvePaint);
trapezoidCurvePath = null;
@@ -530,17 +552,18 @@
continue;
}
// Configures the trapezoid paint color.
- final int trapezoidColor =
- !mIsSlotsClickabled
- ? mTrapezoidColor
- : mSelectedIndex == index || mSelectedIndex == SELECTED_INDEX_ALL
- ? mTrapezoidSolidColor : mTrapezoidColor;
+ final int trapezoidColor = mIsSlotsClickabled && (mViewModel.selectedIndex() == index
+ || mViewModel.selectedIndex() == BatteryChartViewModel.SELECTED_INDEX_ALL)
+ ? mTrapezoidSolidColor : mTrapezoidColor;
final boolean isHoverState =
- mIsSlotsClickabled && mHoveredIndex == index && isValidToDraw(mHoveredIndex);
+ mIsSlotsClickabled && mHoveredIndex == index
+ && isValidToDraw(mViewModel, mHoveredIndex);
mTrapezoidPaint.setColor(isHoverState ? mTrapezoidHoverColor : trapezoidColor);
- final float leftTop = round(trapezoidBottom - mLevels[index] * unitHeight);
- final float rightTop = round(trapezoidBottom - mLevels[index + 1] * unitHeight);
+ final float leftTop = round(
+ trapezoidBottom - requireNonNull(mViewModel.levels().get(index)) * unitHeight);
+ final float rightTop = round(trapezoidBottom
+ - requireNonNull(mViewModel.levels().get(index + 1)) * unitHeight);
trapezoidPath.reset();
trapezoidPath.moveTo(mTrapezoidSlots[index].mLeft, trapezoidBottom);
trapezoidPath.lineTo(mTrapezoidSlots[index].mLeft, leftTop);
@@ -579,15 +602,37 @@
return index;
}
}
- return SELECTED_INDEX_INVALID;
+ return BatteryChartViewModel.SELECTED_INDEX_INVALID;
}
- private boolean isValidToDraw(int trapezoidIndex) {
- return mLevels != null
+ private void initializeAxisLabelsBounds() {
+ mAxisLabelsBounds.clear();
+ for (int i = 0; i < mViewModel.size(); i++) {
+ mAxisLabelsBounds.add(new Rect());
+ }
+ }
+
+ private static boolean isTrapezoidValid(
+ @NonNull BatteryChartViewModel viewModel, int trapezoidIndex) {
+ return viewModel.levels().get(trapezoidIndex) != null
+ && viewModel.levels().get(trapezoidIndex + 1) != null;
+ }
+
+ private static boolean isValidToDraw(BatteryChartViewModel viewModel, int trapezoidIndex) {
+ return viewModel != null
&& trapezoidIndex >= 0
- && trapezoidIndex < mLevels.length - 1
- && mLevels[trapezoidIndex] != 0
- && mLevels[trapezoidIndex + 1] != 0;
+ && trapezoidIndex < viewModel.size() - 1
+ && isTrapezoidValid(viewModel, trapezoidIndex);
+ }
+
+ private static boolean hasAnyValidTrapezoid(@NonNull BatteryChartViewModel viewModel) {
+ // Sets the chart is clickable if there is at least one valid item in it.
+ for (int trapezoidIndex = 0; trapezoidIndex < viewModel.size() - 1; trapezoidIndex++) {
+ if (isTrapezoidValid(viewModel, trapezoidIndex)) {
+ return true;
+ }
+ }
+ return false;
}
private static String[] getPercentages() {
@@ -621,7 +666,8 @@
}
// A container class for each trapezoid left and right location.
- private static final class TrapezoidSlot {
+ @VisibleForTesting
+ static final class TrapezoidSlot {
public float mLeft;
public float mRight;
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartViewModel.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartViewModel.java
new file mode 100644
index 0000000..ac01bfd
--- /dev/null
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartViewModel.java
@@ -0,0 +1,109 @@
+/*
+ * Copyright (C) 2022 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.fuelgauge.batteryusage;
+
+import androidx.annotation.NonNull;
+import androidx.core.util.Preconditions;
+
+import java.util.List;
+import java.util.Locale;
+import java.util.Objects;
+
+/** The view model of {@code BatteryChartView} */
+class BatteryChartViewModel {
+ private static final String TAG = "BatteryChartViewModel";
+
+ public static final int SELECTED_INDEX_ALL = -1;
+ public static final int SELECTED_INDEX_INVALID = -2;
+
+ // We need at least 2 levels to draw a trapezoid.
+ private static final int MIN_LEVELS_DATA_SIZE = 2;
+
+ enum AxisLabelPosition {
+ BETWEEN_TRAPEZOIDS,
+ CENTER_OF_TRAPEZOIDS,
+ }
+
+ private final List<Integer> mLevels;
+ private final List<String> mTexts;
+ private final AxisLabelPosition mAxisLabelPosition;
+ private int mSelectedIndex = SELECTED_INDEX_ALL;
+
+ BatteryChartViewModel(
+ @NonNull List<Integer> levels, @NonNull List<String> texts,
+ @NonNull AxisLabelPosition axisLabelPosition) {
+ Preconditions.checkArgument(
+ levels.size() == texts.size() && levels.size() >= MIN_LEVELS_DATA_SIZE,
+ String.format(Locale.ENGLISH,
+ "Invalid BatteryChartViewModel levels.size: %d, texts.size: %d.",
+ levels.size(), texts.size()));
+ mLevels = levels;
+ mTexts = texts;
+ mAxisLabelPosition = axisLabelPosition;
+ }
+
+ public int size() {
+ return mLevels.size();
+ }
+
+ public List<Integer> levels() {
+ return mLevels;
+ }
+
+ public List<String> texts() {
+ return mTexts;
+ }
+
+ public AxisLabelPosition axisLabelPosition() {
+ return mAxisLabelPosition;
+ }
+
+ public int selectedIndex() {
+ return mSelectedIndex;
+ }
+
+ public void setSelectedIndex(int index) {
+ mSelectedIndex = index;
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(mLevels, mTexts, mSelectedIndex, mAxisLabelPosition);
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (this == other) {
+ return true;
+ } else if (!(other instanceof BatteryChartViewModel)) {
+ return false;
+ }
+ final BatteryChartViewModel batteryChartViewModel = (BatteryChartViewModel) other;
+ return Objects.equals(mLevels, batteryChartViewModel.mLevels)
+ && Objects.equals(mTexts, batteryChartViewModel.mTexts)
+ && mAxisLabelPosition == batteryChartViewModel.mAxisLabelPosition
+ && mSelectedIndex == batteryChartViewModel.mSelectedIndex;
+ }
+
+ @Override
+ public String toString() {
+ return String.format(Locale.ENGLISH,
+ "levels: %s,\ntexts: %s,\naxisLabelPosition: %s, selectedIndex: %d",
+ Objects.toString(mLevels), Objects.toString(mTexts), mAxisLabelPosition,
+ mSelectedIndex);
+ }
+}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffData.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffData.java
new file mode 100644
index 0000000..b5d4dde
--- /dev/null
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffData.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2022 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.fuelgauge.batteryusage;
+
+import androidx.annotation.NonNull;
+
+import java.util.Collections;
+import java.util.List;
+
+/** Wraps the battery usage diff data for each entry used for battery usage app list. */
+public class BatteryDiffData {
+ private final List<BatteryDiffEntry> mAppEntries;
+ private final List<BatteryDiffEntry> mSystemEntries;
+
+ /** Constructor for the diff entries which already have totalConsumePower value. */
+ public BatteryDiffData(
+ @NonNull List<BatteryDiffEntry> appDiffEntries,
+ @NonNull List<BatteryDiffEntry> systemDiffEntries) {
+ mAppEntries = appDiffEntries;
+ mSystemEntries = systemDiffEntries;
+ sortEntries();
+ }
+
+ /** Constructor for the diff entries which have not set totalConsumePower value. */
+ public BatteryDiffData(
+ @NonNull List<BatteryDiffEntry> appDiffEntries,
+ @NonNull List<BatteryDiffEntry> systemDiffEntries,
+ final double totalConsumePower) {
+ mAppEntries = appDiffEntries;
+ mSystemEntries = systemDiffEntries;
+ setTotalConsumePowerForAllEntries(totalConsumePower);
+ sortEntries();
+ }
+
+ public List<BatteryDiffEntry> getAppDiffEntryList() {
+ return mAppEntries;
+ }
+
+ public List<BatteryDiffEntry> getSystemDiffEntryList() {
+ return mSystemEntries;
+ }
+
+ // Sets total consume power for each entry.
+ private void setTotalConsumePowerForAllEntries(final double totalConsumePower) {
+ mAppEntries.forEach(diffEntry -> diffEntry.setTotalConsumePower(totalConsumePower));
+ mSystemEntries.forEach(diffEntry -> diffEntry.setTotalConsumePower(totalConsumePower));
+ }
+
+ // Sorts entries based on consumed percentage.
+ private void sortEntries() {
+ Collections.sort(mAppEntries, BatteryDiffEntry.COMPARATOR);
+ Collections.sort(mSystemEntries, BatteryDiffEntry.COMPARATOR);
+ }
+}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java
index 24d6dad..ccb2fb7 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java
@@ -574,7 +574,7 @@
break;
case BatteryConsumer.POWER_COMPONENT_BLUETOOTH:
name = context.getResources().getString(R.string.power_bluetooth);
- iconId = com.android.internal.R.drawable.ic_settings_bluetooth;
+ iconId = R.drawable.ic_settings_bluetooth;
break;
case BatteryConsumer.POWER_COMPONENT_CAMERA:
name = context.getResources().getString(R.string.power_camera);
@@ -598,7 +598,7 @@
break;
case BatteryConsumer.POWER_COMPONENT_WIFI:
name = context.getResources().getString(R.string.power_wifi);
- iconId = R.drawable.ic_settings_wireless;
+ iconId = R.drawable.ic_settings_wireless_no_theme;
break;
case BatteryConsumer.POWER_COMPONENT_IDLE:
case BatteryConsumer.POWER_COMPONENT_MEMORY:
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryLoader.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryLoader.java
index 34606a5..83b2615 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryLoader.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryLoader.java
@@ -43,6 +43,6 @@
public Map<Long, Map<String, BatteryHistEntry>> loadInBackground() {
final PowerUsageFeatureProvider powerUsageFeatureProvider =
FeatureFactory.getFactory(mContext).getPowerUsageFeatureProvider(mContext);
- return powerUsageFeatureProvider.getBatteryHistory(mContext);
+ return powerUsageFeatureProvider.getBatteryHistorySinceLastFullCharge(mContext);
}
}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreference.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreference.java
index e125d17..6748223 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreference.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreference.java
@@ -49,7 +49,8 @@
private TextView mSummaryView;
private CharSequence mSummaryContent;
- private BatteryChartView mBatteryChartView;
+ private BatteryChartView mDailyChartView;
+ private BatteryChartView mHourlyChartView;
private BatteryChartPreferenceController mChartPreferenceController;
public BatteryHistoryPreference(Context context, AttributeSet attrs) {
@@ -92,8 +93,8 @@
void setChartPreferenceController(BatteryChartPreferenceController controller) {
mChartPreferenceController = controller;
- if (mBatteryChartView != null) {
- mChartPreferenceController.setBatteryChartView(mBatteryChartView);
+ if (mDailyChartView != null && mHourlyChartView != null) {
+ mChartPreferenceController.setBatteryChartView(mDailyChartView, mHourlyChartView);
}
}
@@ -105,11 +106,13 @@
return;
}
if (mIsChartGraphEnabled) {
- mBatteryChartView = (BatteryChartView) view.findViewById(R.id.battery_chart);
- mBatteryChartView.setCompanionTextView(
- (TextView) view.findViewById(R.id.companion_text));
+ final TextView companionTextView = (TextView) view.findViewById(R.id.companion_text);
+ mDailyChartView = (BatteryChartView) view.findViewById(R.id.daily_battery_chart);
+ mDailyChartView.setCompanionTextView(companionTextView);
+ mHourlyChartView = (BatteryChartView) view.findViewById(R.id.hourly_battery_chart);
+ mHourlyChartView.setCompanionTextView(companionTextView);
if (mChartPreferenceController != null) {
- mChartPreferenceController.setBatteryChartView(mBatteryChartView);
+ mChartPreferenceController.setBatteryChartView(mDailyChartView, mHourlyChartView);
}
} else {
final TextView chargeView = (TextView) view.findViewById(R.id.charge);
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryLevelData.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryLevelData.java
new file mode 100644
index 0000000..4ff9eeb
--- /dev/null
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryLevelData.java
@@ -0,0 +1,98 @@
+/*
+ * Copyright (C) 2022 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.fuelgauge.batteryusage;
+
+import androidx.annotation.NonNull;
+import androidx.core.util.Preconditions;
+
+import java.util.List;
+import java.util.Locale;
+import java.util.Objects;
+
+/** Wraps the battery timestamp and level data used for battery usage chart. */
+public final class BatteryLevelData {
+ /** A container for the battery timestamp and level data. */
+ public static final class PeriodBatteryLevelData {
+ // The length of mTimestamps and mLevels must be the same. mLevels[index] might be null when
+ // there is no level data for the corresponding timestamp.
+ private final List<Long> mTimestamps;
+ private final List<Integer> mLevels;
+
+ public PeriodBatteryLevelData(
+ @NonNull List<Long> timestamps, @NonNull List<Integer> levels) {
+ Preconditions.checkArgument(timestamps.size() == levels.size(),
+ /* errorMessage= */ "Timestamp: " + timestamps.size() + ", Level: "
+ + levels.size());
+ mTimestamps = timestamps;
+ mLevels = levels;
+ }
+
+ public List<Long> getTimestamps() {
+ return mTimestamps;
+ }
+
+ public List<Integer> getLevels() {
+ return mLevels;
+ }
+
+ @Override
+ public String toString() {
+ return String.format(Locale.ENGLISH, "timestamps: %s; levels: %s",
+ Objects.toString(mTimestamps), Objects.toString(mLevels));
+ }
+ }
+
+ /**
+ * There could be 2 cases for the daily battery levels:
+ * 1) length is 2: The usage data is within 1 day. Only contains start and end data, such as
+ * data of 2022-01-01 06:00 and 2022-01-01 16:00.
+ * 2) length > 2: The usage data is more than 1 days. The data should be the start, end and 0am
+ * data of every day between the start and end, such as data of 2022-01-01 06:00,
+ * 2022-01-02 00:00, 2022-01-03 00:00 and 2022-01-03 08:00.
+ */
+ private final PeriodBatteryLevelData mDailyBatteryLevels;
+ // The size of hourly data must be the size of daily data - 1.
+ private final List<PeriodBatteryLevelData> mHourlyBatteryLevelsPerDay;
+
+ public BatteryLevelData(
+ @NonNull PeriodBatteryLevelData dailyBatteryLevels,
+ @NonNull List<PeriodBatteryLevelData> hourlyBatteryLevelsPerDay) {
+ final long dailySize = dailyBatteryLevels.getTimestamps().size();
+ final long hourlySize = hourlyBatteryLevelsPerDay.size();
+ Preconditions.checkArgument(hourlySize == dailySize - 1,
+ /* errorMessage= */ "DailySize: " + dailySize + ", HourlySize: " + hourlySize);
+ mDailyBatteryLevels = dailyBatteryLevels;
+ mHourlyBatteryLevelsPerDay = hourlyBatteryLevelsPerDay;
+ }
+
+ public PeriodBatteryLevelData getDailyBatteryLevels() {
+ return mDailyBatteryLevels;
+ }
+
+ public List<PeriodBatteryLevelData> getHourlyBatteryLevelsPerDay() {
+ return mHourlyBatteryLevelsPerDay;
+ }
+
+ @Override
+ public String toString() {
+ return String.format(Locale.ENGLISH,
+ "dailyBatteryLevels: %s; hourlyBatteryLevelsPerDay: %s",
+ Objects.toString(mDailyBatteryLevels),
+ Objects.toString(mHourlyBatteryLevelsPerDay));
+ }
+}
+
diff --git a/src/com/android/settings/fuelgauge/batteryusage/ConvertUtils.java b/src/com/android/settings/fuelgauge/batteryusage/ConvertUtils.java
index 168fe0f..f04658d 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/ConvertUtils.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/ConvertUtils.java
@@ -140,7 +140,7 @@
/** Converts UTC timestamp to local time hour data. */
public static String utcToLocalTimeHour(
- Context context, long timestamp, boolean is24HourFormat) {
+ final Context context, final long timestamp, final boolean is24HourFormat) {
final Locale locale = getLocale(context);
// e.g. for 12-hour format: 9 pm
// e.g. for 24-hour format: 09:00
@@ -149,6 +149,15 @@
return DateFormat.format(pattern, timestamp).toString().toLowerCase(locale);
}
+ /** Converts UTC timestamp to local time day of week data. */
+ public static String utcToLocalTimeDayOfWeek(
+ final Context context, final long timestamp, final boolean isAbbreviation) {
+ final Locale locale = getLocale(context);
+ final String pattern = DateFormat.getBestDateTimePattern(locale,
+ isAbbreviation ? "E" : "EEEE");
+ return DateFormat.format(pattern, timestamp).toString();
+ }
+
/** Gets indexed battery usage data for each corresponding time slot. */
public static Map<Integer, List<BatteryDiffEntry>> getIndexedUsageMap(
final Context context,
@@ -267,7 +276,7 @@
diffEntry.setTotalConsumePower(totalConsumePower);
}
}
- insert24HoursData(BatteryChartView.SELECTED_INDEX_ALL, resultMap);
+ insert24HoursData(BatteryChartViewModel.SELECTED_INDEX_ALL, resultMap);
resolveMultiUsersData(context, resultMap);
if (purgeLowPercentageAndFakeData) {
purgeLowPercentageAndFakeData(context, resultMap);
diff --git a/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java b/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java
new file mode 100644
index 0000000..125f879
--- /dev/null
+++ b/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java
@@ -0,0 +1,1058 @@
+/*
+ * Copyright (C) 2022 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.fuelgauge.batteryusage;
+
+import static com.android.settings.fuelgauge.batteryusage.ConvertUtils.utcToLocalTime;
+
+import android.content.ContentValues;
+import android.content.Context;
+import android.os.AsyncTask;
+import android.os.Handler;
+import android.os.Looper;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.text.TextUtils;
+import android.text.format.DateUtils;
+import android.util.ArraySet;
+import android.util.Log;
+
+import androidx.annotation.Nullable;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.Utils;
+import com.android.settings.fuelgauge.BatteryUtils;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.fuelgauge.BatteryStatus;
+
+import java.time.Duration;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * A utility class to process data loaded from database and make the data easy to use for battery
+ * usage UI.
+ */
+public final class DataProcessor {
+ private static final boolean DEBUG = false;
+ private static final String TAG = "DataProcessor";
+ private static final int MIN_DAILY_DATA_SIZE = 2;
+ private static final int MIN_TIMESTAMP_DATA_SIZE = 2;
+ private static final int MAX_DIFF_SECONDS_OF_UPPER_TIMESTAMP = 5;
+ // Maximum total time value for each hourly slot cumulative data at most 2 hours.
+ private static final float TOTAL_HOURLY_TIME_THRESHOLD = DateUtils.HOUR_IN_MILLIS * 2;
+ private static final Map<String, BatteryHistEntry> EMPTY_BATTERY_MAP = new HashMap<>();
+ private static final BatteryHistEntry EMPTY_BATTERY_HIST_ENTRY =
+ new BatteryHistEntry(new ContentValues());
+
+ @VisibleForTesting
+ static final double PERCENTAGE_OF_TOTAL_THRESHOLD = 1f;
+ @VisibleForTesting
+ static final int SELECTED_INDEX_ALL = BatteryChartViewModel.SELECTED_INDEX_ALL;
+
+ /** A fake package name to represent no BatteryEntry data. */
+ public static final String FAKE_PACKAGE_NAME = "fake_package";
+
+ /** A callback listener when battery usage loading async task is executed. */
+ public interface UsageMapAsyncResponse {
+ /** The callback function when batteryUsageMap is loaded. */
+ void onBatteryUsageMapLoaded(
+ Map<Integer, Map<Integer, BatteryDiffData>> batteryUsageMap);
+ }
+
+ private DataProcessor() {
+ }
+
+ /**
+ * @return Returns battery level data and start async task to compute battery diff usage data
+ * and load app labels + icons.
+ * Returns null if the input is invalid or not having at least 2 hours data.
+ */
+ @Nullable
+ public static BatteryLevelData getBatteryLevelData(
+ Context context,
+ @Nullable Handler handler,
+ @Nullable final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap,
+ final UsageMapAsyncResponse asyncResponseDelegate) {
+ if (batteryHistoryMap == null || batteryHistoryMap.isEmpty()) {
+ Log.d(TAG, "getBatteryLevelData() returns null");
+ return null;
+ }
+ handler = handler != null ? handler : new Handler(Looper.getMainLooper());
+ // Process raw history map data into hourly timestamps.
+ final Map<Long, Map<String, BatteryHistEntry>> processedBatteryHistoryMap =
+ getHistoryMapWithExpectedTimestamps(context, batteryHistoryMap);
+ // Wrap and processed history map into easy-to-use format for UI rendering.
+ final BatteryLevelData batteryLevelData =
+ getLevelDataThroughProcessedHistoryMap(context, processedBatteryHistoryMap);
+
+ // Start the async task to compute diff usage data and load labels and icons.
+ if (batteryLevelData != null) {
+ new ComputeUsageMapAndLoadItemsTask(
+ context,
+ handler,
+ asyncResponseDelegate,
+ batteryLevelData.getHourlyBatteryLevelsPerDay(),
+ processedBatteryHistoryMap).execute();
+ }
+
+ return batteryLevelData;
+ }
+
+ /**
+ * @return Returns battery usage data of different entries.
+ * Returns null if the input is invalid or there is no enough data.
+ */
+ @Nullable
+ public static Map<Integer, Map<Integer, BatteryDiffData>> getBatteryUsageData(
+ Context context,
+ @Nullable final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap) {
+ if (batteryHistoryMap == null || batteryHistoryMap.isEmpty()) {
+ Log.d(TAG, "getBatteryLevelData() returns null");
+ return null;
+ }
+ // Process raw history map data into hourly timestamps.
+ final Map<Long, Map<String, BatteryHistEntry>> processedBatteryHistoryMap =
+ getHistoryMapWithExpectedTimestamps(context, batteryHistoryMap);
+ // Wrap and processed history map into easy-to-use format for UI rendering.
+ final BatteryLevelData batteryLevelData =
+ getLevelDataThroughProcessedHistoryMap(context, processedBatteryHistoryMap);
+ return batteryLevelData == null
+ ? null
+ : getBatteryUsageMap(
+ context,
+ batteryLevelData.getHourlyBatteryLevelsPerDay(),
+ processedBatteryHistoryMap);
+ }
+
+ /**
+ * @return Returns whether the target is in the CharSequence array.
+ */
+ public static boolean contains(String target, CharSequence[] packageNames) {
+ if (target != null && packageNames != null) {
+ for (CharSequence packageName : packageNames) {
+ if (TextUtils.equals(target, packageName)) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ /**
+ * @return Returns the processed history map which has interpolated to every hour data.
+ * The start and end timestamp must be the even hours.
+ * The keys of processed history map should contain every hour between the start and end
+ * timestamp. If there's no data in some key, the value will be the empty hashmap.
+ */
+ @VisibleForTesting
+ static Map<Long, Map<String, BatteryHistEntry>> getHistoryMapWithExpectedTimestamps(
+ Context context,
+ final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap) {
+ final long startTime = System.currentTimeMillis();
+ final List<Long> rawTimestampList = new ArrayList<>(batteryHistoryMap.keySet());
+ final Map<Long, Map<String, BatteryHistEntry>> resultMap = new HashMap();
+ if (rawTimestampList.isEmpty()) {
+ Log.d(TAG, "empty batteryHistoryMap in getHistoryMapWithExpectedTimestamps()");
+ return resultMap;
+ }
+ Collections.sort(rawTimestampList);
+ final List<Long> expectedTimestampList = getTimestampSlots(rawTimestampList);
+ final boolean isFromFullCharge =
+ isFromFullCharge(batteryHistoryMap.get(rawTimestampList.get(0)));
+ interpolateHistory(
+ context, rawTimestampList, expectedTimestampList, isFromFullCharge,
+ batteryHistoryMap, resultMap);
+ Log.d(TAG, String.format("getHistoryMapWithExpectedTimestamps() size=%d in %d/ms",
+ resultMap.size(), (System.currentTimeMillis() - startTime)));
+ return resultMap;
+ }
+
+ @VisibleForTesting
+ @Nullable
+ static BatteryLevelData getLevelDataThroughProcessedHistoryMap(
+ Context context,
+ final Map<Long, Map<String, BatteryHistEntry>> processedBatteryHistoryMap) {
+ final List<Long> timestampList = new ArrayList<>(processedBatteryHistoryMap.keySet());
+ Collections.sort(timestampList);
+ final List<Long> dailyTimestamps = getDailyTimestamps(timestampList);
+ // There should be at least the start and end timestamps. Otherwise, return null to not show
+ // data in usage chart.
+ if (dailyTimestamps.size() < MIN_DAILY_DATA_SIZE) {
+ return null;
+ }
+
+ final List<List<Long>> hourlyTimestamps = getHourlyTimestamps(dailyTimestamps);
+ final BatteryLevelData.PeriodBatteryLevelData dailyLevelData =
+ getPeriodBatteryLevelData(context, processedBatteryHistoryMap, dailyTimestamps);
+ final List<BatteryLevelData.PeriodBatteryLevelData> hourlyLevelData =
+ getHourlyPeriodBatteryLevelData(
+ context, processedBatteryHistoryMap, hourlyTimestamps);
+ return new BatteryLevelData(dailyLevelData, hourlyLevelData);
+ }
+
+ /**
+ * Computes expected timestamp slots for last full charge, which will return hourly timestamps
+ * between start and end two even hour values.
+ */
+ @VisibleForTesting
+ static List<Long> getTimestampSlots(final List<Long> rawTimestampList) {
+ final List<Long> timestampSlots = new ArrayList<>();
+ final int rawTimestampListSize = rawTimestampList.size();
+ // If timestamp number is smaller than 2, the following computation is not necessary.
+ if (rawTimestampListSize < MIN_TIMESTAMP_DATA_SIZE) {
+ return timestampSlots;
+ }
+ final long rawStartTimestamp = rawTimestampList.get(0);
+ final long rawEndTimestamp = rawTimestampList.get(rawTimestampListSize - 1);
+ // No matter the start is from last full charge or 6 days ago, use the nearest even hour.
+ final long startTimestamp = getNearestEvenHourTimestamp(rawStartTimestamp);
+ // Use the even hour before the raw end timestamp as the end.
+ final long endTimestamp = getLastEvenHourBeforeTimestamp(rawEndTimestamp);
+ // If the start timestamp is later or equal the end one, return the empty list.
+ if (startTimestamp >= endTimestamp) {
+ return timestampSlots;
+ }
+ for (long timestamp = startTimestamp; timestamp <= endTimestamp;
+ timestamp += DateUtils.HOUR_IN_MILLIS) {
+ timestampSlots.add(timestamp);
+ }
+ return timestampSlots;
+ }
+
+ /**
+ * Computes expected daily timestamp slots.
+ *
+ * The valid result should be composed of 3 parts:
+ * 1) start timestamp
+ * 2) every 00:00 timestamp (default timezone) between the start and end
+ * 3) end timestamp
+ * Otherwise, returns an empty list.
+ */
+ @VisibleForTesting
+ static List<Long> getDailyTimestamps(final List<Long> timestampList) {
+ final List<Long> dailyTimestampList = new ArrayList<>();
+ // If timestamp number is smaller than 2, the following computation is not necessary.
+ if (timestampList.size() < MIN_TIMESTAMP_DATA_SIZE) {
+ return dailyTimestampList;
+ }
+ final long startTime = timestampList.get(0);
+ final long endTime = timestampList.get(timestampList.size() - 1);
+ long nextDay = getTimestampOfNextDay(startTime);
+ dailyTimestampList.add(startTime);
+ while (nextDay < endTime) {
+ dailyTimestampList.add(nextDay);
+ nextDay += DateUtils.DAY_IN_MILLIS;
+ }
+ dailyTimestampList.add(endTime);
+ return dailyTimestampList;
+ }
+
+ @VisibleForTesting
+ static boolean isFromFullCharge(@Nullable final Map<String, BatteryHistEntry> entryList) {
+ if (entryList == null) {
+ Log.d(TAG, "entryList is null in isFromFullCharge()");
+ return false;
+ }
+ final List<String> entryKeys = new ArrayList<>(entryList.keySet());
+ if (entryKeys.isEmpty()) {
+ Log.d(TAG, "empty entryList in isFromFullCharge()");
+ return false;
+ }
+ // The hist entries in the same timestamp should have same battery status and level.
+ // Checking the first one should be enough.
+ final BatteryHistEntry firstHistEntry = entryList.get(entryKeys.get(0));
+ return BatteryStatus.isCharged(firstHistEntry.mBatteryStatus, firstHistEntry.mBatteryLevel);
+ }
+
+ @VisibleForTesting
+ static long[] findNearestTimestamp(final List<Long> timestamps, final long target) {
+ final long[] results = new long[] {Long.MIN_VALUE, Long.MAX_VALUE};
+ // Searches the nearest lower and upper timestamp value.
+ timestamps.forEach(timestamp -> {
+ if (timestamp <= target && timestamp > results[0]) {
+ results[0] = timestamp;
+ }
+ if (timestamp >= target && timestamp < results[1]) {
+ results[1] = timestamp;
+ }
+ });
+ // Uses zero value to represent invalid searching result.
+ results[0] = results[0] == Long.MIN_VALUE ? 0 : results[0];
+ results[1] = results[1] == Long.MAX_VALUE ? 0 : results[1];
+ return results;
+ }
+
+ /**
+ * @return Returns the timestamp for 00:00 1 day after the given timestamp based on local
+ * timezone.
+ */
+ @VisibleForTesting
+ static long getTimestampOfNextDay(long timestamp) {
+ return getTimestampWithDayDiff(timestamp, /*dayDiff=*/ 1);
+ }
+
+ /**
+ * Returns whether currentSlot will be used in daily chart.
+ */
+ @VisibleForTesting
+ static boolean isForDailyChart(final boolean isStartOrEnd, final long currentSlot) {
+ // The start and end timestamps will always be used in daily chart.
+ if (isStartOrEnd) {
+ return true;
+ }
+
+ // The timestamps for 00:00 will be used in daily chart.
+ final long startOfTheDay = getTimestampWithDayDiff(currentSlot, /*dayDiff=*/ 0);
+ return currentSlot == startOfTheDay;
+ }
+
+ /**
+ * @return Returns the indexed battery usage data for each corresponding time slot.
+ *
+ * There could be 2 cases of the returned value:
+ * 1) null: empty or invalid data.
+ * 2) non-null: must be a 2d map and composed by 3 parts:
+ * 1 - [SELECTED_INDEX_ALL][SELECTED_INDEX_ALL]
+ * 2 - [0][SELECTED_INDEX_ALL] ~ [maxDailyIndex][SELECTED_INDEX_ALL]
+ * 3 - [0][0] ~ [maxDailyIndex][maxHourlyIndex]
+ */
+ @VisibleForTesting
+ @Nullable
+ static Map<Integer, Map<Integer, BatteryDiffData>> getBatteryUsageMap(
+ final Context context,
+ final List<BatteryLevelData.PeriodBatteryLevelData> hourlyBatteryLevelsPerDay,
+ final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap) {
+ if (batteryHistoryMap.isEmpty()) {
+ return null;
+ }
+ final Map<Integer, Map<Integer, BatteryDiffData>> resultMap = new HashMap<>();
+ // Insert diff data from [0][0] to [maxDailyIndex][maxHourlyIndex].
+ insertHourlyUsageDiffData(
+ context, hourlyBatteryLevelsPerDay, batteryHistoryMap, resultMap);
+ // Insert diff data from [0][SELECTED_INDEX_ALL] to [maxDailyIndex][SELECTED_INDEX_ALL].
+ insertDailyUsageDiffData(hourlyBatteryLevelsPerDay, resultMap);
+ // Insert diff data [SELECTED_INDEX_ALL][SELECTED_INDEX_ALL].
+ insertAllUsageDiffData(resultMap);
+ purgeLowPercentageAndFakeData(context, resultMap);
+ if (!isUsageMapValid(resultMap, hourlyBatteryLevelsPerDay)) {
+ return null;
+ }
+ return resultMap;
+ }
+
+ /**
+ * Interpolates history map based on expected timestamp slots and processes the corner case when
+ * the expected start timestamp is earlier than what we have.
+ */
+ private static void interpolateHistory(
+ Context context,
+ final List<Long> rawTimestampList,
+ final List<Long> expectedTimestampSlots,
+ final boolean isFromFullCharge,
+ final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap,
+ final Map<Long, Map<String, BatteryHistEntry>> resultMap) {
+ if (rawTimestampList.isEmpty() || expectedTimestampSlots.isEmpty()) {
+ return;
+ }
+ final long expectedStartTimestamp = expectedTimestampSlots.get(0);
+ final long rawStartTimestamp = rawTimestampList.get(0);
+ int startIndex = 0;
+ // If the expected start timestamp is full charge or earlier than what we have, use the
+ // first data of what we have directly. This should be OK because the expected start
+ // timestamp is the nearest even hour of the raw start timestamp, their time diff is no
+ // more than 1 hour.
+ if (isFromFullCharge || expectedStartTimestamp < rawStartTimestamp) {
+ startIndex = 1;
+ resultMap.put(expectedStartTimestamp, batteryHistoryMap.get(rawStartTimestamp));
+ }
+ final int expectedTimestampSlotsSize = expectedTimestampSlots.size();
+ for (int index = startIndex; index < expectedTimestampSlotsSize; index++) {
+ final long currentSlot = expectedTimestampSlots.get(index);
+ final boolean isStartOrEnd = index == 0 || index == expectedTimestampSlotsSize - 1;
+ interpolateHistoryForSlot(
+ context, currentSlot, rawTimestampList, batteryHistoryMap, resultMap,
+ isStartOrEnd);
+ }
+ }
+
+ private static void interpolateHistoryForSlot(
+ Context context,
+ final long currentSlot,
+ final List<Long> rawTimestampList,
+ final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap,
+ final Map<Long, Map<String, BatteryHistEntry>> resultMap,
+ final boolean isStartOrEnd) {
+ final long[] nearestTimestamps = findNearestTimestamp(rawTimestampList, currentSlot);
+ final long lowerTimestamp = nearestTimestamps[0];
+ final long upperTimestamp = nearestTimestamps[1];
+ // Case 1: upper timestamp is zero since scheduler is delayed!
+ if (upperTimestamp == 0) {
+ log(context, "job scheduler is delayed", currentSlot, null);
+ resultMap.put(currentSlot, new HashMap<>());
+ return;
+ }
+ // Case 2: upper timestamp is closed to the current timestamp.
+ if ((upperTimestamp - currentSlot)
+ < MAX_DIFF_SECONDS_OF_UPPER_TIMESTAMP * DateUtils.SECOND_IN_MILLIS) {
+ log(context, "force align into the nearest slot", currentSlot, null);
+ resultMap.put(currentSlot, batteryHistoryMap.get(upperTimestamp));
+ return;
+ }
+ // Case 3: lower timestamp is zero before starting to collect data.
+ if (lowerTimestamp == 0) {
+ log(context, "no lower timestamp slot data", currentSlot, null);
+ resultMap.put(currentSlot, new HashMap<>());
+ return;
+ }
+ interpolateHistoryForSlot(context,
+ currentSlot, lowerTimestamp, upperTimestamp, batteryHistoryMap, resultMap,
+ isStartOrEnd);
+ }
+
+ private static void interpolateHistoryForSlot(
+ Context context,
+ final long currentSlot,
+ final long lowerTimestamp,
+ final long upperTimestamp,
+ final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap,
+ final Map<Long, Map<String, BatteryHistEntry>> resultMap,
+ final boolean isStartOrEnd) {
+ final Map<String, BatteryHistEntry> lowerEntryDataMap =
+ batteryHistoryMap.get(lowerTimestamp);
+ final Map<String, BatteryHistEntry> upperEntryDataMap =
+ batteryHistoryMap.get(upperTimestamp);
+ // Verifies whether the lower data is valid to use or not by checking boot time.
+ final BatteryHistEntry upperEntryDataFirstEntry =
+ upperEntryDataMap.values().stream().findFirst().get();
+ final long upperEntryDataBootTimestamp =
+ upperEntryDataFirstEntry.mTimestamp - upperEntryDataFirstEntry.mBootTimestamp;
+ // Lower data is captured before upper data corresponding device is booting.
+ // Skips the booting-specific logics and always does interpolation for daily chart level
+ // data.
+ if (lowerTimestamp < upperEntryDataBootTimestamp
+ && !isForDailyChart(isStartOrEnd, currentSlot)) {
+ // Provides an opportunity to force align the slot directly.
+ if ((upperTimestamp - currentSlot) < 10 * DateUtils.MINUTE_IN_MILLIS) {
+ log(context, "force align into the nearest slot", currentSlot, null);
+ resultMap.put(currentSlot, upperEntryDataMap);
+ } else {
+ log(context, "in the different booting section", currentSlot, null);
+ resultMap.put(currentSlot, new HashMap<>());
+ }
+ return;
+ }
+ log(context, "apply interpolation arithmetic", currentSlot, null);
+ final Map<String, BatteryHistEntry> newHistEntryMap = new HashMap<>();
+ final double timestampLength = upperTimestamp - lowerTimestamp;
+ final double timestampDiff = currentSlot - lowerTimestamp;
+ // Applies interpolation arithmetic for each BatteryHistEntry.
+ for (String entryKey : upperEntryDataMap.keySet()) {
+ final BatteryHistEntry lowerEntry = lowerEntryDataMap.get(entryKey);
+ final BatteryHistEntry upperEntry = upperEntryDataMap.get(entryKey);
+ // Checks whether there is any abnormal battery reset conditions.
+ if (lowerEntry != null) {
+ final boolean invalidForegroundUsageTime =
+ lowerEntry.mForegroundUsageTimeInMs > upperEntry.mForegroundUsageTimeInMs;
+ final boolean invalidBackgroundUsageTime =
+ lowerEntry.mBackgroundUsageTimeInMs > upperEntry.mBackgroundUsageTimeInMs;
+ if (invalidForegroundUsageTime || invalidBackgroundUsageTime) {
+ newHistEntryMap.put(entryKey, upperEntry);
+ log(context, "abnormal reset condition is found", currentSlot, upperEntry);
+ continue;
+ }
+ }
+ final BatteryHistEntry newEntry =
+ BatteryHistEntry.interpolate(
+ currentSlot,
+ upperTimestamp,
+ /*ratio=*/ timestampDiff / timestampLength,
+ lowerEntry,
+ upperEntry);
+ newHistEntryMap.put(entryKey, newEntry);
+ if (lowerEntry == null) {
+ log(context, "cannot find lower entry data", currentSlot, upperEntry);
+ continue;
+ }
+ }
+ resultMap.put(currentSlot, newHistEntryMap);
+ }
+
+ /**
+ * @return Returns the nearest even hour timestamp of the given timestamp.
+ */
+ private static long getNearestEvenHourTimestamp(long rawTimestamp) {
+ // If raw hour is even, the nearest even hour should be the even hour before raw
+ // start. The hour doesn't need to change and just set the minutes and seconds to 0.
+ // Otherwise, the nearest even hour should be raw hour + 1.
+ // For example, the nearest hour of 14:30:50 should be 14:00:00. While the nearest
+ // hour of 15:30:50 should be 16:00:00.
+ return getEvenHourTimestamp(rawTimestamp, /*addHourOfDay*/ 1);
+ }
+
+ /**
+ * @return Returns the last even hour timestamp before the given timestamp.
+ */
+ private static long getLastEvenHourBeforeTimestamp(long rawTimestamp) {
+ // If raw hour is even, the hour doesn't need to change as well.
+ // Otherwise, the even hour before raw end should be raw hour - 1.
+ // For example, the even hour before 14:30:50 should be 14:00:00. While the even
+ // hour before 15:30:50 should be 14:00:00.
+ return getEvenHourTimestamp(rawTimestamp, /*addHourOfDay*/ -1);
+ }
+
+ private static long getEvenHourTimestamp(long rawTimestamp, int addHourOfDay) {
+ final Calendar evenHourCalendar = Calendar.getInstance();
+ evenHourCalendar.setTimeInMillis(rawTimestamp);
+ // Before computing the evenHourCalendar, record raw hour based on local timezone.
+ final int rawHour = evenHourCalendar.get(Calendar.HOUR_OF_DAY);
+ if (rawHour % 2 != 0) {
+ evenHourCalendar.add(Calendar.HOUR_OF_DAY, addHourOfDay);
+ }
+ evenHourCalendar.set(Calendar.MINUTE, 0);
+ evenHourCalendar.set(Calendar.SECOND, 0);
+ evenHourCalendar.set(Calendar.MILLISECOND, 0);
+ return evenHourCalendar.getTimeInMillis();
+ }
+
+ private static List<List<Long>> getHourlyTimestamps(final List<Long> dailyTimestamps) {
+ final List<List<Long>> hourlyTimestamps = new ArrayList<>();
+ if (dailyTimestamps.size() < MIN_DAILY_DATA_SIZE) {
+ return hourlyTimestamps;
+ }
+
+ for (int dailyStartIndex = 0; dailyStartIndex < dailyTimestamps.size() - 1;
+ dailyStartIndex++) {
+ long currentTimestamp = dailyTimestamps.get(dailyStartIndex);
+ final long dailyEndTimestamp = dailyTimestamps.get(dailyStartIndex + 1);
+ final List<Long> hourlyTimestampsPerDay = new ArrayList<>();
+ while (currentTimestamp <= dailyEndTimestamp) {
+ hourlyTimestampsPerDay.add(currentTimestamp);
+ currentTimestamp += 2 * DateUtils.HOUR_IN_MILLIS;
+ }
+ hourlyTimestamps.add(hourlyTimestampsPerDay);
+ }
+ return hourlyTimestamps;
+ }
+
+ private static List<BatteryLevelData.PeriodBatteryLevelData> getHourlyPeriodBatteryLevelData(
+ Context context,
+ final Map<Long, Map<String, BatteryHistEntry>> processedBatteryHistoryMap,
+ final List<List<Long>> timestamps) {
+ final List<BatteryLevelData.PeriodBatteryLevelData> levelData = new ArrayList<>();
+ timestamps.forEach(
+ timestampList -> levelData.add(
+ getPeriodBatteryLevelData(
+ context, processedBatteryHistoryMap, timestampList)));
+ return levelData;
+ }
+
+ private static BatteryLevelData.PeriodBatteryLevelData getPeriodBatteryLevelData(
+ Context context,
+ final Map<Long, Map<String, BatteryHistEntry>> processedBatteryHistoryMap,
+ final List<Long> timestamps) {
+ final List<Integer> levels = new ArrayList<>();
+ timestamps.forEach(
+ timestamp -> levels.add(getLevel(context, processedBatteryHistoryMap, timestamp)));
+ return new BatteryLevelData.PeriodBatteryLevelData(timestamps, levels);
+ }
+
+ private static Integer getLevel(
+ Context context,
+ final Map<Long, Map<String, BatteryHistEntry>> processedBatteryHistoryMap,
+ final long timestamp) {
+ final Map<String, BatteryHistEntry> entryMap = processedBatteryHistoryMap.get(timestamp);
+ if (entryMap == null || entryMap.isEmpty()) {
+ Log.e(TAG, "abnormal entry list in the timestamp:"
+ + utcToLocalTime(context, timestamp));
+ return null;
+ }
+ // Averages the battery level in each time slot to avoid corner conditions.
+ float batteryLevelCounter = 0;
+ for (BatteryHistEntry entry : entryMap.values()) {
+ batteryLevelCounter += entry.mBatteryLevel;
+ }
+ return Math.round(batteryLevelCounter / entryMap.size());
+ }
+
+ private static void insertHourlyUsageDiffData(
+ Context context,
+ final List<BatteryLevelData.PeriodBatteryLevelData> hourlyBatteryLevelsPerDay,
+ final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap,
+ final Map<Integer, Map<Integer, BatteryDiffData>> resultMap) {
+ final int currentUserId = context.getUserId();
+ final UserHandle userHandle =
+ Utils.getManagedProfile(context.getSystemService(UserManager.class));
+ final int workProfileUserId =
+ userHandle != null ? userHandle.getIdentifier() : Integer.MIN_VALUE;
+ // Each time slot usage diff data =
+ // Math.abs(timestamp[i+2] data - timestamp[i+1] data) +
+ // Math.abs(timestamp[i+1] data - timestamp[i] data);
+ // since we want to aggregate every two hours data into a single time slot.
+ for (int dailyIndex = 0; dailyIndex < hourlyBatteryLevelsPerDay.size(); dailyIndex++) {
+ final Map<Integer, BatteryDiffData> dailyDiffMap = new HashMap<>();
+ resultMap.put(dailyIndex, dailyDiffMap);
+ if (hourlyBatteryLevelsPerDay.get(dailyIndex) == null) {
+ continue;
+ }
+ final List<Long> timestamps = hourlyBatteryLevelsPerDay.get(dailyIndex).getTimestamps();
+ for (int hourlyIndex = 0; hourlyIndex < timestamps.size() - 1; hourlyIndex++) {
+ final BatteryDiffData hourlyBatteryDiffData =
+ insertHourlyUsageDiffDataPerSlot(
+ context,
+ currentUserId,
+ workProfileUserId,
+ hourlyIndex,
+ timestamps,
+ batteryHistoryMap);
+ dailyDiffMap.put(hourlyIndex, hourlyBatteryDiffData);
+ }
+ }
+ }
+
+ private static void insertDailyUsageDiffData(
+ final List<BatteryLevelData.PeriodBatteryLevelData> hourlyBatteryLevelsPerDay,
+ final Map<Integer, Map<Integer, BatteryDiffData>> resultMap) {
+ for (int index = 0; index < hourlyBatteryLevelsPerDay.size(); index++) {
+ Map<Integer, BatteryDiffData> dailyUsageMap = resultMap.get(index);
+ if (dailyUsageMap == null) {
+ dailyUsageMap = new HashMap<>();
+ resultMap.put(index, dailyUsageMap);
+ }
+ dailyUsageMap.put(
+ SELECTED_INDEX_ALL,
+ getAccumulatedUsageDiffData(dailyUsageMap.values()));
+ }
+ }
+
+ private static void insertAllUsageDiffData(
+ final Map<Integer, Map<Integer, BatteryDiffData>> resultMap) {
+ final List<BatteryDiffData> diffDataList = new ArrayList<>();
+ resultMap.keySet().forEach(
+ key -> diffDataList.add(resultMap.get(key).get(SELECTED_INDEX_ALL)));
+ final Map<Integer, BatteryDiffData> allUsageMap = new HashMap<>();
+ allUsageMap.put(SELECTED_INDEX_ALL, getAccumulatedUsageDiffData(diffDataList));
+ resultMap.put(SELECTED_INDEX_ALL, allUsageMap);
+ }
+
+ @Nullable
+ private static BatteryDiffData insertHourlyUsageDiffDataPerSlot(
+ Context context,
+ final int currentUserId,
+ final int workProfileUserId,
+ final int currentIndex,
+ final List<Long> timestamps,
+ final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap) {
+ final List<BatteryDiffEntry> appEntries = new ArrayList<>();
+ final List<BatteryDiffEntry> systemEntries = new ArrayList<>();
+
+ final Long currentTimestamp = timestamps.get(currentIndex);
+ final Long nextTimestamp = currentTimestamp + DateUtils.HOUR_IN_MILLIS;
+ final Long nextTwoTimestamp = nextTimestamp + DateUtils.HOUR_IN_MILLIS;
+ // Fetches BatteryHistEntry data from corresponding time slot.
+ final Map<String, BatteryHistEntry> currentBatteryHistMap =
+ batteryHistoryMap.getOrDefault(currentTimestamp, EMPTY_BATTERY_MAP);
+ final Map<String, BatteryHistEntry> nextBatteryHistMap =
+ batteryHistoryMap.getOrDefault(nextTimestamp, EMPTY_BATTERY_MAP);
+ final Map<String, BatteryHistEntry> nextTwoBatteryHistMap =
+ batteryHistoryMap.getOrDefault(nextTwoTimestamp, EMPTY_BATTERY_MAP);
+ // We should not get the empty list since we have at least one fake data to record
+ // the battery level and status in each time slot, the empty list is used to
+ // represent there is no enough data to apply interpolation arithmetic.
+ if (currentBatteryHistMap.isEmpty()
+ || nextBatteryHistMap.isEmpty()
+ || nextTwoBatteryHistMap.isEmpty()) {
+ return null;
+ }
+
+ // Collects all keys in these three time slot records as all populations.
+ final Set<String> allBatteryHistEntryKeys = new ArraySet<>();
+ allBatteryHistEntryKeys.addAll(currentBatteryHistMap.keySet());
+ allBatteryHistEntryKeys.addAll(nextBatteryHistMap.keySet());
+ allBatteryHistEntryKeys.addAll(nextTwoBatteryHistMap.keySet());
+
+ double totalConsumePower = 0.0;
+ double consumePowerFromOtherUsers = 0f;
+ // Calculates all packages diff usage data in a specific time slot.
+ for (String key : allBatteryHistEntryKeys) {
+ final BatteryHistEntry currentEntry =
+ currentBatteryHistMap.getOrDefault(key, EMPTY_BATTERY_HIST_ENTRY);
+ final BatteryHistEntry nextEntry =
+ nextBatteryHistMap.getOrDefault(key, EMPTY_BATTERY_HIST_ENTRY);
+ final BatteryHistEntry nextTwoEntry =
+ nextTwoBatteryHistMap.getOrDefault(key, EMPTY_BATTERY_HIST_ENTRY);
+ // Cumulative values is a specific time slot for a specific app.
+ long foregroundUsageTimeInMs =
+ getDiffValue(
+ currentEntry.mForegroundUsageTimeInMs,
+ nextEntry.mForegroundUsageTimeInMs,
+ nextTwoEntry.mForegroundUsageTimeInMs);
+ long backgroundUsageTimeInMs =
+ getDiffValue(
+ currentEntry.mBackgroundUsageTimeInMs,
+ nextEntry.mBackgroundUsageTimeInMs,
+ nextTwoEntry.mBackgroundUsageTimeInMs);
+ double consumePower =
+ getDiffValue(
+ currentEntry.mConsumePower,
+ nextEntry.mConsumePower,
+ nextTwoEntry.mConsumePower);
+ // Excludes entry since we don't have enough data to calculate.
+ if (foregroundUsageTimeInMs == 0
+ && backgroundUsageTimeInMs == 0
+ && consumePower == 0) {
+ continue;
+ }
+ final BatteryHistEntry selectedBatteryEntry =
+ selectBatteryHistEntry(currentEntry, nextEntry, nextTwoEntry);
+ if (selectedBatteryEntry == null) {
+ continue;
+ }
+ // Forces refine the cumulative value since it may introduce deviation error since we
+ // will apply the interpolation arithmetic.
+ final float totalUsageTimeInMs =
+ foregroundUsageTimeInMs + backgroundUsageTimeInMs;
+ if (totalUsageTimeInMs > TOTAL_HOURLY_TIME_THRESHOLD) {
+ final float ratio = TOTAL_HOURLY_TIME_THRESHOLD / totalUsageTimeInMs;
+ if (DEBUG) {
+ Log.w(TAG, String.format("abnormal usage time %d|%d for:\n%s",
+ Duration.ofMillis(foregroundUsageTimeInMs).getSeconds(),
+ Duration.ofMillis(backgroundUsageTimeInMs).getSeconds(),
+ currentEntry));
+ }
+ foregroundUsageTimeInMs =
+ Math.round(foregroundUsageTimeInMs * ratio);
+ backgroundUsageTimeInMs =
+ Math.round(backgroundUsageTimeInMs * ratio);
+ consumePower = consumePower * ratio;
+ }
+ totalConsumePower += consumePower;
+
+ final boolean isFromOtherUsers = isConsumedFromOtherUsers(
+ currentUserId, workProfileUserId, selectedBatteryEntry);
+ if (isFromOtherUsers) {
+ consumePowerFromOtherUsers += consumePower;
+ } else {
+ final BatteryDiffEntry currentBatteryDiffEntry = new BatteryDiffEntry(
+ context,
+ foregroundUsageTimeInMs,
+ backgroundUsageTimeInMs,
+ consumePower,
+ selectedBatteryEntry);
+ if (currentBatteryDiffEntry.isSystemEntry()) {
+ systemEntries.add(currentBatteryDiffEntry);
+ } else {
+ appEntries.add(currentBatteryDiffEntry);
+ }
+ }
+ }
+ if (consumePowerFromOtherUsers != 0) {
+ systemEntries.add(createOtherUsersEntry(context, consumePowerFromOtherUsers));
+ }
+
+ // If there is no data, return null instead of empty item.
+ if (appEntries.isEmpty() && systemEntries.isEmpty()) {
+ return null;
+ }
+
+ final BatteryDiffData resultDiffData =
+ new BatteryDiffData(appEntries, systemEntries, totalConsumePower);
+ return resultDiffData;
+ }
+
+ private static boolean isConsumedFromOtherUsers(
+ final int currentUserId,
+ final int workProfileUserId,
+ final BatteryHistEntry batteryHistEntry) {
+ return batteryHistEntry.mConsumerType == ConvertUtils.CONSUMER_TYPE_UID_BATTERY
+ && batteryHistEntry.mUserId != currentUserId
+ && batteryHistEntry.mUserId != workProfileUserId;
+ }
+
+ @Nullable
+ private static BatteryDiffData getAccumulatedUsageDiffData(
+ final Collection<BatteryDiffData> diffEntryListData) {
+ double totalConsumePower = 0f;
+ final Map<String, BatteryDiffEntry> diffEntryMap = new HashMap<>();
+ final List<BatteryDiffEntry> appEntries = new ArrayList<>();
+ final List<BatteryDiffEntry> systemEntries = new ArrayList<>();
+
+ for (BatteryDiffData diffEntryList : diffEntryListData) {
+ if (diffEntryList == null) {
+ continue;
+ }
+ for (BatteryDiffEntry entry : diffEntryList.getAppDiffEntryList()) {
+ computeUsageDiffDataPerEntry(entry, diffEntryMap);
+ totalConsumePower += entry.mConsumePower;
+ }
+ for (BatteryDiffEntry entry : diffEntryList.getSystemDiffEntryList()) {
+ computeUsageDiffDataPerEntry(entry, diffEntryMap);
+ totalConsumePower += entry.mConsumePower;
+ }
+ }
+
+ final Collection<BatteryDiffEntry> diffEntryList = diffEntryMap.values();
+ for (BatteryDiffEntry entry : diffEntryList) {
+ // Sets total daily consume power data into all BatteryDiffEntry.
+ entry.setTotalConsumePower(totalConsumePower);
+ if (entry.isSystemEntry()) {
+ systemEntries.add(entry);
+ } else {
+ appEntries.add(entry);
+ }
+ }
+
+ return diffEntryList.isEmpty() ? null : new BatteryDiffData(appEntries, systemEntries);
+ }
+
+ private static void computeUsageDiffDataPerEntry(
+ final BatteryDiffEntry entry,
+ final Map<String, BatteryDiffEntry> diffEntryMap) {
+ final String key = entry.mBatteryHistEntry.getKey();
+ final BatteryDiffEntry oldBatteryDiffEntry = diffEntryMap.get(key);
+ // Creates new BatteryDiffEntry if we don't have it.
+ if (oldBatteryDiffEntry == null) {
+ diffEntryMap.put(key, entry.clone());
+ } else {
+ // Sums up some field data into the existing one.
+ oldBatteryDiffEntry.mForegroundUsageTimeInMs +=
+ entry.mForegroundUsageTimeInMs;
+ oldBatteryDiffEntry.mBackgroundUsageTimeInMs +=
+ entry.mBackgroundUsageTimeInMs;
+ oldBatteryDiffEntry.mConsumePower += entry.mConsumePower;
+ }
+ }
+
+ // Removes low percentage data and fake usage data, which will be zero value.
+ private static void purgeLowPercentageAndFakeData(
+ final Context context,
+ final Map<Integer, Map<Integer, BatteryDiffData>> resultMap) {
+ final Set<CharSequence> backgroundUsageTimeHideList =
+ FeatureFactory.getFactory(context)
+ .getPowerUsageFeatureProvider(context)
+ .getHideBackgroundUsageTimeSet(context);
+ final CharSequence[] notAllowShowEntryPackages =
+ FeatureFactory.getFactory(context)
+ .getPowerUsageFeatureProvider(context)
+ .getHideApplicationEntries(context);
+ resultMap.keySet().forEach(dailyKey -> {
+ final Map<Integer, BatteryDiffData> dailyUsageMap = resultMap.get(dailyKey);
+ dailyUsageMap.values().forEach(diffEntryLists -> {
+ if (diffEntryLists == null) {
+ return;
+ }
+ purgeLowPercentageAndFakeData(
+ diffEntryLists.getAppDiffEntryList(), backgroundUsageTimeHideList,
+ notAllowShowEntryPackages);
+ purgeLowPercentageAndFakeData(
+ diffEntryLists.getSystemDiffEntryList(), backgroundUsageTimeHideList,
+ notAllowShowEntryPackages);
+ });
+ });
+ }
+
+ private static void purgeLowPercentageAndFakeData(
+ final List<BatteryDiffEntry> entries,
+ final Set<CharSequence> backgroundUsageTimeHideList,
+ final CharSequence[] notAllowShowEntryPackages) {
+ final Iterator<BatteryDiffEntry> iterator = entries.iterator();
+ while (iterator.hasNext()) {
+ final BatteryDiffEntry entry = iterator.next();
+ final String packageName = entry.getPackageName();
+ if (entry.getPercentOfTotal() < PERCENTAGE_OF_TOTAL_THRESHOLD
+ || FAKE_PACKAGE_NAME.equals(packageName)
+ || contains(packageName, notAllowShowEntryPackages)) {
+ iterator.remove();
+ }
+ if (packageName != null
+ && !backgroundUsageTimeHideList.isEmpty()
+ && contains(packageName, backgroundUsageTimeHideList)) {
+ entry.mBackgroundUsageTimeInMs = 0;
+ }
+ }
+ }
+
+ private static boolean isUsageMapValid(
+ final Map<Integer, Map<Integer, BatteryDiffData>> batteryUsageMap,
+ final List<BatteryLevelData.PeriodBatteryLevelData> hourlyBatteryLevelsPerDay) {
+ if (batteryUsageMap.get(SELECTED_INDEX_ALL) == null
+ || !batteryUsageMap.get(SELECTED_INDEX_ALL).containsKey(SELECTED_INDEX_ALL)) {
+ Log.e(TAG, "no [SELECTED_INDEX_ALL][SELECTED_INDEX_ALL] in batteryUsageMap");
+ return false;
+ }
+ for (int dailyIndex = 0; dailyIndex < hourlyBatteryLevelsPerDay.size(); dailyIndex++) {
+ if (batteryUsageMap.get(dailyIndex) == null
+ || !batteryUsageMap.get(dailyIndex).containsKey(SELECTED_INDEX_ALL)) {
+ Log.e(TAG, "no [" + dailyIndex + "][SELECTED_INDEX_ALL] in batteryUsageMap, "
+ + "daily size is: " + hourlyBatteryLevelsPerDay.size());
+ return false;
+ }
+ if (hourlyBatteryLevelsPerDay.get(dailyIndex) == null) {
+ continue;
+ }
+ final List<Long> timestamps = hourlyBatteryLevelsPerDay.get(dailyIndex).getTimestamps();
+ // Length of hourly usage map should be the length of hourly level data - 1.
+ for (int hourlyIndex = 0; hourlyIndex < timestamps.size() - 1; hourlyIndex++) {
+ if (!batteryUsageMap.get(dailyIndex).containsKey(hourlyIndex)) {
+ Log.e(TAG, "no [" + dailyIndex + "][" + hourlyIndex + "] in batteryUsageMap, "
+ + "hourly size is: " + (timestamps.size() - 1));
+ return false;
+ }
+ }
+ }
+ return true;
+ }
+
+ private static long getTimestampWithDayDiff(final long timestamp, final int dayDiff) {
+ final Calendar calendar = Calendar.getInstance();
+ calendar.setTimeInMillis(timestamp);
+ calendar.add(Calendar.DAY_OF_YEAR, dayDiff);
+ calendar.set(Calendar.HOUR_OF_DAY, 0);
+ calendar.set(Calendar.MINUTE, 0);
+ calendar.set(Calendar.SECOND, 0);
+ return calendar.getTimeInMillis();
+ }
+
+ private static boolean contains(String target, Set<CharSequence> packageNames) {
+ if (target != null && packageNames != null) {
+ for (CharSequence packageName : packageNames) {
+ if (TextUtils.equals(target, packageName)) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ private static long getDiffValue(long v1, long v2, long v3) {
+ return (v2 > v1 ? v2 - v1 : 0) + (v3 > v2 ? v3 - v2 : 0);
+ }
+
+ private static double getDiffValue(double v1, double v2, double v3) {
+ return (v2 > v1 ? v2 - v1 : 0) + (v3 > v2 ? v3 - v2 : 0);
+ }
+
+ @Nullable
+ private static BatteryHistEntry selectBatteryHistEntry(
+ final BatteryHistEntry... batteryHistEntries) {
+ for (BatteryHistEntry entry : batteryHistEntries) {
+ if (entry != null && entry != EMPTY_BATTERY_HIST_ENTRY) {
+ return entry;
+ }
+ }
+ return null;
+ }
+
+ private static BatteryDiffEntry createOtherUsersEntry(
+ Context context, final double consumePower) {
+ final ContentValues values = new ContentValues();
+ values.put(BatteryHistEntry.KEY_UID, BatteryUtils.UID_OTHER_USERS);
+ values.put(BatteryHistEntry.KEY_USER_ID, BatteryUtils.UID_OTHER_USERS);
+ values.put(BatteryHistEntry.KEY_CONSUMER_TYPE, ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
+ // We will show the percentage for the "other users" item only, the aggregated
+ // running time information is useless for users to identify individual apps.
+ final BatteryDiffEntry batteryDiffEntry = new BatteryDiffEntry(
+ context,
+ /*foregroundUsageTimeInMs=*/ 0,
+ /*backgroundUsageTimeInMs=*/ 0,
+ consumePower,
+ new BatteryHistEntry(values));
+ return batteryDiffEntry;
+ }
+
+ private static void log(Context context, final String content, final long timestamp,
+ final BatteryHistEntry entry) {
+ if (DEBUG) {
+ Log.d(TAG, String.format(entry != null ? "%s %s:\n%s" : "%s %s:%s",
+ utcToLocalTime(context, timestamp), content, entry));
+ }
+ }
+
+ // Compute diff map and loads all items (icon and label) in the background.
+ private static final class ComputeUsageMapAndLoadItemsTask
+ extends AsyncTask<Void, Void, Map<Integer, Map<Integer, BatteryDiffData>>> {
+
+ private Context mApplicationContext;
+ private Handler mHandler;
+ private UsageMapAsyncResponse mAsyncResponseDelegate;
+ private List<BatteryLevelData.PeriodBatteryLevelData> mHourlyBatteryLevelsPerDay;
+ private Map<Long, Map<String, BatteryHistEntry>> mBatteryHistoryMap;
+
+ private ComputeUsageMapAndLoadItemsTask(
+ Context context,
+ Handler handler,
+ final UsageMapAsyncResponse asyncResponseDelegate,
+ final List<BatteryLevelData.PeriodBatteryLevelData> hourlyBatteryLevelsPerDay,
+ final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap) {
+ mApplicationContext = context.getApplicationContext();
+ mHandler = handler;
+ mAsyncResponseDelegate = asyncResponseDelegate;
+ mHourlyBatteryLevelsPerDay = hourlyBatteryLevelsPerDay;
+ mBatteryHistoryMap = batteryHistoryMap;
+ }
+
+ @Override
+ protected Map<Integer, Map<Integer, BatteryDiffData>> doInBackground(Void... voids) {
+ if (mApplicationContext == null
+ || mHandler == null
+ || mAsyncResponseDelegate == null
+ || mBatteryHistoryMap == null
+ || mHourlyBatteryLevelsPerDay == null) {
+ Log.e(TAG, "invalid input for ComputeUsageMapAndLoadItemsTask()");
+ return null;
+ }
+ final long startTime = System.currentTimeMillis();
+ final Map<Integer, Map<Integer, BatteryDiffData>> batteryUsageMap =
+ getBatteryUsageMap(
+ mApplicationContext, mHourlyBatteryLevelsPerDay, mBatteryHistoryMap);
+ if (batteryUsageMap != null) {
+ // Pre-loads each BatteryDiffEntry relative icon and label for all slots.
+ final BatteryDiffData batteryUsageMapForAll =
+ batteryUsageMap.get(SELECTED_INDEX_ALL).get(SELECTED_INDEX_ALL);
+ if (batteryUsageMapForAll != null) {
+ batteryUsageMapForAll.getAppDiffEntryList().forEach(
+ entry -> entry.loadLabelAndIcon());
+ batteryUsageMapForAll.getSystemDiffEntryList().forEach(
+ entry -> entry.loadLabelAndIcon());
+ }
+ }
+ Log.d(TAG, String.format("execute ComputeUsageMapAndLoadItemsTask in %d/ms",
+ (System.currentTimeMillis() - startTime)));
+ return batteryUsageMap;
+ }
+
+ @Override
+ protected void onPostExecute(
+ final Map<Integer, Map<Integer, BatteryDiffData>> batteryUsageMap) {
+ mApplicationContext = null;
+ mHourlyBatteryLevelsPerDay = null;
+ mBatteryHistoryMap = null;
+ // Post results back to main thread to refresh UI.
+ if (mHandler != null && mAsyncResponseDelegate != null) {
+ mHandler.post(() -> {
+ mAsyncResponseDelegate.onBatteryUsageMapLoaded(batteryUsageMap);
+ });
+ }
+ }
+ }
+}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummary.java
index 405d855..bca32a7 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummary.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummary.java
@@ -259,10 +259,7 @@
@VisibleForTesting
void initPreference() {
mBatteryUsagePreference = findPreference(KEY_BATTERY_USAGE);
- mBatteryUsagePreference.setSummary(
- mPowerFeatureProvider.isChartGraphEnabled(getContext())
- ? getString(R.string.advanced_battery_preference_summary_with_hours)
- : getString(R.string.advanced_battery_preference_summary));
+ mBatteryUsagePreference.setSummary(getString(R.string.advanced_battery_preference_summary));
mHelpPreference = findPreference(KEY_BATTERY_ERROR);
mHelpPreference.setVisible(false);
diff --git a/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java b/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java
index ab9110d..b3c2e30 100644
--- a/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java
+++ b/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java
@@ -43,7 +43,6 @@
import java.util.List;
import java.util.Locale;
-
class LocaleDragAndDropAdapter
extends RecyclerView.Adapter<LocaleDragAndDropAdapter.CustomViewHolder> {
@@ -154,8 +153,10 @@
final LocaleDragCell dragCell = holder.getLocaleDragCell();
final String label = feedItem.getFullNameNative();
final String description = feedItem.getFullNameInUiLanguage();
+
dragCell.setLabelAndDescription(label, description);
dragCell.setLocalized(feedItem.isTranslated());
+ dragCell.setCurrentDefault(feedItem.getLocale().equals(Locale.getDefault()));
dragCell.setMiniLabel(mNumberFormatter.format(i + 1));
dragCell.setShowCheckbox(mRemoveMode);
dragCell.setShowMiniLabel(!mRemoveMode);
diff --git a/src/com/android/settings/localepicker/LocaleDragCell.java b/src/com/android/settings/localepicker/LocaleDragCell.java
index ea86189..2f4cfef 100644
--- a/src/com/android/settings/localepicker/LocaleDragCell.java
+++ b/src/com/android/settings/localepicker/LocaleDragCell.java
@@ -33,6 +33,7 @@
private CheckBox mCheckbox;
private TextView mMiniLabel;
private TextView mLocalized;
+ private TextView mCurrentDefault;
private ImageView mDragHandle;
public LocaleDragCell(Context context, AttributeSet attrs) {
@@ -44,6 +45,7 @@
super.onFinishInflate();
mLabel = (TextView) findViewById(R.id.label);
mLocalized = (TextView) findViewById(R.id.l10nWarn);
+ mCurrentDefault = (TextView) findViewById(R.id.default_locale);
mMiniLabel = (TextView) findViewById(R.id.miniLabel);
mCheckbox = (CheckBox) findViewById(R.id.checkbox);
mDragHandle = (ImageView) findViewById(R.id.dragHandle);
@@ -100,6 +102,14 @@
invalidate();
}
+ /**
+ * Indicate current locale is system default.
+ */
+ public void setCurrentDefault(boolean isCurrentDefault) {
+ mCurrentDefault.setVisibility(isCurrentDefault ? VISIBLE : GONE);
+ invalidate();
+ }
+
public ImageView getDragHandle() {
return mDragHandle;
}
diff --git a/src/com/android/settings/localepicker/LocaleHelperPreferenceController.java b/src/com/android/settings/localepicker/LocaleHelperPreferenceController.java
new file mode 100644
index 0000000..05c7401
--- /dev/null
+++ b/src/com/android/settings/localepicker/LocaleHelperPreferenceController.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright (C) 2022 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.localepicker;
+
+import android.content.Context;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settingslib.HelpUtils;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.widget.FooterPreference;
+
+/**
+ * A controller to update current locale information of application.
+ */
+public class LocaleHelperPreferenceController extends AbstractPreferenceController {
+ private static final String TAG = LocaleHelperPreferenceController.class.getSimpleName();
+
+ private static final String KEY_FOOTER_LANGUAGE_PICKER = "footer_languages_picker";
+
+ public LocaleHelperPreferenceController(Context context) {
+ super(context);
+ }
+
+ @Override
+ public boolean isAvailable() {
+ return true;
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return KEY_FOOTER_LANGUAGE_PICKER;
+ }
+
+ @Override
+ public void displayPreference(PreferenceScreen screen) {
+ super.displayPreference(screen);
+ FooterPreference footerPreference = screen.findPreference(getPreferenceKey());
+ updateFooterPreference(footerPreference);
+ }
+
+ @VisibleForTesting
+ void updateFooterPreference(FooterPreference footerPreference) {
+ if (footerPreference != null) {
+ footerPreference.setLearnMoreAction(v -> openLocaleLearnMoreLink());
+ footerPreference.setLearnMoreText(mContext.getString(
+ R.string.desc_locale_helper_footer_general));
+ }
+ }
+
+ private void openLocaleLearnMoreLink() {
+ mContext.startActivity(
+ HelpUtils.getHelpIntent(
+ mContext,
+ mContext.getString(R.string.link_locale_picker_footer_learn_more),
+ /*backupContext=*/""));
+ }
+}
diff --git a/src/com/android/settings/localepicker/LocaleListEditor.java b/src/com/android/settings/localepicker/LocaleListEditor.java
index eac2dd1..9db3468 100644
--- a/src/com/android/settings/localepicker/LocaleListEditor.java
+++ b/src/com/android/settings/localepicker/LocaleListEditor.java
@@ -36,6 +36,7 @@
import androidx.annotation.VisibleForTesting;
import androidx.appcompat.app.AlertDialog;
+import androidx.preference.PreferenceScreen;
import androidx.recyclerview.widget.RecyclerView;
import com.android.internal.app.LocalePicker;
@@ -46,6 +47,7 @@
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.search.SearchIndexable;
import com.android.settingslib.search.SearchIndexableRaw;
+import com.android.settingslib.widget.LayoutPreference;
import java.util.ArrayList;
import java.util.List;
@@ -64,6 +66,7 @@
private static final int REQUEST_LOCALE_PICKER = 0;
private static final String INDEX_KEY_ADD_LANGUAGE = "add_language";
+ private static final String KEY_LANGUAGES_PICKER = "languages_picker";
private LocaleDragAndDropAdapter mAdapter;
private Menu mMenu;
@@ -72,6 +75,9 @@
private boolean mShowingRemoveDialog;
private boolean mIsUiRestricted;
+ private LayoutPreference mLocalePickerPreference;
+ private LocaleHelperPreferenceController mLocaleHelperPreferenceController;
+
public LocaleListEditor() {
super(DISALLOW_CONFIG_LOCALE);
}
@@ -86,6 +92,14 @@
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
+ addPreferencesFromResource(R.xml.languages);
+ final Activity activity = getActivity();
+ activity.setTitle(R.string.language_picker_title);
+ mLocaleHelperPreferenceController = new LocaleHelperPreferenceController(activity);
+ final PreferenceScreen screen = getPreferenceScreen();
+ mLocalePickerPreference = screen.findPreference(KEY_LANGUAGES_PICKER);
+ mLocaleHelperPreferenceController.displayPreference(screen);
+
LocaleStore.fillCache(this.getContext());
final List<LocaleStore.LocaleInfo> feedsList = getUserLocaleList();
mAdapter = new LocaleDragAndDropAdapter(this.getContext(), feedsList);
@@ -93,11 +107,8 @@
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstState) {
- final View result = super.onCreateView(inflater, container, savedInstState);
- final View myLayout = inflater.inflate(R.layout.locale_order_list, (ViewGroup) result);
-
- configureDragAndDrop(myLayout);
- return result;
+ configureDragAndDrop(mLocalePickerPreference);
+ return super.onCreateView(inflater, container, savedInstState);
}
@Override
@@ -287,8 +298,8 @@
return result;
}
- private void configureDragAndDrop(View view) {
- final RecyclerView list = view.findViewById(R.id.dragList);
+ private void configureDragAndDrop(LayoutPreference layout) {
+ final RecyclerView list = layout.findViewById(R.id.dragList);
final LocaleLinearLayoutManager llm = new LocaleLinearLayoutManager(getContext(), mAdapter);
llm.setAutoMeasureEnabled(true);
list.setLayoutManager(llm);
@@ -297,7 +308,7 @@
mAdapter.setRecyclerView(list);
list.setAdapter(mAdapter);
- mAddLanguage = view.findViewById(R.id.add_language);
+ mAddLanguage = layout.findViewById(R.id.add_language);
mAddLanguage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/src/com/android/settings/notification/ConfigureNotificationSettings.java b/src/com/android/settings/notification/ConfigureNotificationSettings.java
index f888ea7..1922261 100644
--- a/src/com/android/settings/notification/ConfigureNotificationSettings.java
+++ b/src/com/android/settings/notification/ConfigureNotificationSettings.java
@@ -107,7 +107,6 @@
mNotificationAssistantPreferenceController =
use(NotificationAssistantPreferenceController.class);
mNotificationAssistantPreferenceController.setFragment(this);
- mNotificationAssistantPreferenceController.setBackend(new NotificationBackend());
}
private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
diff --git a/src/com/android/settings/notification/MediaVolumePreferenceController.java b/src/com/android/settings/notification/MediaVolumePreferenceController.java
index 05c8e03..2466b77 100644
--- a/src/com/android/settings/notification/MediaVolumePreferenceController.java
+++ b/src/com/android/settings/notification/MediaVolumePreferenceController.java
@@ -29,6 +29,7 @@
import androidx.slice.builders.ListBuilder;
import androidx.slice.builders.SliceAction;
+import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.bluetooth.BluetoothBroadcastDialog;
@@ -90,13 +91,16 @@
return R.drawable.ic_media_stream_off;
}
- private boolean isSupportEndItem() {
- return getWorker() != null
- && getWorker().getActiveLocalMediaController() != null
- && isConnectedBLEDevice();
+ @VisibleForTesting
+ boolean isSupportEndItem() {
+ return isConnectedBLEDevice();
}
private boolean isConnectedBLEDevice() {
+ if (getWorker() == null) {
+ Log.d(TAG, "The Worker is null");
+ return false;
+ }
mMediaDevice = getWorker().getCurrentConnectedMediaDevice();
if (mMediaDevice != null) {
return mMediaDevice.isBLEDevice();
@@ -133,6 +137,8 @@
Utils.getApplicationLabel(mContext, getWorker().getPackageName()));
intent.putExtra(BluetoothBroadcastDialog.KEY_DEVICE_ADDRESS,
bluetoothDevice.getAddress());
+ intent.putExtra(BluetoothBroadcastDialog.KEY_MEDIA_STREAMING, getWorker() != null
+ && getWorker().getActiveLocalMediaController() != null);
pi = PendingIntent.getActivity(context, 0 /* requestCode */, intent,
PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_MUTABLE);
diff --git a/src/com/android/settings/notification/NotificationAssistantPreferenceController.java b/src/com/android/settings/notification/NotificationAssistantPreferenceController.java
index 91031c8..2c02db9 100644
--- a/src/com/android/settings/notification/NotificationAssistantPreferenceController.java
+++ b/src/com/android/settings/notification/NotificationAssistantPreferenceController.java
@@ -18,34 +18,49 @@
import android.content.ComponentName;
import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings;
+import android.service.notification.NotificationAssistantService;
import androidx.fragment.app.Fragment;
+import androidx.preference.Preference;
import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
+import com.android.settingslib.PrimarySwitchPreference;
import com.google.common.annotations.VisibleForTesting;
+import java.util.List;
+
public class NotificationAssistantPreferenceController extends TogglePreferenceController {
private static final String TAG = "NASPreferenceController";
- private static final String KEY_NAS = "notification_assistant";
+ static final String KEY_NAS = "notification_assistant";
private static final int AVAILABLE = 1;
private final UserManager mUserManager;
+ private final PackageManager mPackageManager;
private Fragment mFragment;
private int mUserId = UserHandle.myUserId();
@VisibleForTesting
protected NotificationBackend mNotificationBackend;
+ private ComponentName mDefaultNASComponent;
+ private Intent mNASSettingIntent;
public NotificationAssistantPreferenceController(Context context) {
super(context, KEY_NAS);
mUserManager = UserManager.get(context);
+ mNotificationBackend = new NotificationBackend();
+ mPackageManager = context.getPackageManager();
+ getDefaultNASIntent();
}
+
@Override
public int getAvailabilityStatus() {
return AVAILABLE;
@@ -54,14 +69,13 @@
@Override
public boolean isChecked() {
ComponentName acn = mNotificationBackend.getAllowedNotificationAssistant();
- ComponentName dcn = mNotificationBackend.getDefaultNotificationAssistant();
- return (acn != null && acn.equals(dcn));
+ return (acn != null && acn.equals(mDefaultNASComponent));
}
@Override
public boolean setChecked(boolean isChecked) {
ComponentName cn = isChecked
- ? mNotificationBackend.getDefaultNotificationAssistant() : null;
+ ? mDefaultNASComponent : null;
if (isChecked) {
if (mFragment == null) {
throw new IllegalStateException("No fragment to start activity");
@@ -101,4 +115,44 @@
void setBackend(NotificationBackend backend) {
mNotificationBackend = backend;
}
-}
\ No newline at end of file
+
+ @VisibleForTesting
+ void getDefaultNASIntent() {
+ mDefaultNASComponent = mNotificationBackend.getDefaultNotificationAssistant();
+ if (mDefaultNASComponent != null) {
+ mNASSettingIntent = new Intent(
+ NotificationAssistantService.ACTION_NOTIFICATION_ASSISTANT_DETAIL_SETTINGS);
+ mNASSettingIntent.setPackage(mDefaultNASComponent.getPackageName());
+ mNASSettingIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ }
+ }
+
+ @Override
+ public boolean isSliceable() {
+ return (mFragment != null && mFragment instanceof ConfigureNotificationSettings);
+ }
+
+ private boolean isNASSettingActivityAvailable() {
+ final List<ResolveInfo> resolved = mPackageManager.queryIntentActivities(mNASSettingIntent,
+ PackageManager.ResolveInfoFlags.of(PackageManager.MATCH_ALL));
+ return (resolved != null && !resolved.isEmpty());
+ }
+
+ @Override
+ public void updateState(Preference preference) {
+ super.updateState(preference);
+ if (isNASSettingActivityAvailable()) {
+ preference.setIntent(mNASSettingIntent);
+ } else {
+ // Cannot find settings activity from the default NAS app
+ preference.setIntent(null);
+ preference.setOnPreferenceClickListener(
+ preference1 -> {
+ onPreferenceChange(preference1, !isChecked());
+ ((PrimarySwitchPreference) preference1).setChecked(isChecked());
+ return true;
+ }
+ );
+ }
+ }
+}
diff --git a/src/com/android/settings/password/ChooseLockPassword.java b/src/com/android/settings/password/ChooseLockPassword.java
index 199d584..c4a3159 100644
--- a/src/com/android/settings/password/ChooseLockPassword.java
+++ b/src/com/android/settings/password/ChooseLockPassword.java
@@ -69,6 +69,7 @@
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.view.WindowManager;
import android.view.inputmethod.EditorInfo;
import android.widget.ImeAwareEditText;
import android.widget.TextView;
@@ -214,6 +215,7 @@
ThemeHelper.trySetDynamicColor(this);
super.onCreate(savedInstanceState);
findViewById(R.id.content_parent).setFitsSystemWindows(false);
+ getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
}
public static class ChooseLockPasswordFragment extends InstrumentedFragment
diff --git a/src/com/android/settings/password/ChooseLockPattern.java b/src/com/android/settings/password/ChooseLockPattern.java
index 6558262..c39ef66 100644
--- a/src/com/android/settings/password/ChooseLockPattern.java
+++ b/src/com/android/settings/password/ChooseLockPattern.java
@@ -41,6 +41,7 @@
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
+import android.view.WindowManager;
import android.widget.TextView;
import androidx.fragment.app.Fragment;
@@ -175,6 +176,7 @@
ThemeHelper.trySetDynamicColor(this);
super.onCreate(savedInstanceState);
findViewById(R.id.content_parent).setFitsSystemWindows(false);
+ getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
}
@Override
diff --git a/src/com/android/settings/privacy/WorkPolicyInfoPreferenceController.java b/src/com/android/settings/privacy/WorkPolicyInfoPreferenceController.java
index 55ba064..2d1d9e1 100644
--- a/src/com/android/settings/privacy/WorkPolicyInfoPreferenceController.java
+++ b/src/com/android/settings/privacy/WorkPolicyInfoPreferenceController.java
@@ -24,6 +24,8 @@
import com.android.settings.core.BasePreferenceController;
import com.android.settings.enterprise.EnterprisePrivacyFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
+import com.android.settings.safetycenter.SafetyCenterManagerWrapper;
+
public class WorkPolicyInfoPreferenceController extends BasePreferenceController {
@@ -37,7 +39,12 @@
@Override
public int getAvailabilityStatus() {
- return mEnterpriseProvider.hasWorkPolicyInfo() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+ // Your Work policy info will be shown in the Safety Center.
+ // No need to show it in the privacy settings.
+ return !SafetyCenterManagerWrapper.get().isEnabled(mContext)
+ && mEnterpriseProvider.hasWorkPolicyInfo()
+ ? AVAILABLE
+ : UNSUPPORTED_ON_DEVICE;
}
@Override
diff --git a/src/com/android/settings/sim/SimDialogActivity.java b/src/com/android/settings/sim/SimDialogActivity.java
index 732277b..9c4f8f1 100644
--- a/src/com/android/settings/sim/SimDialogActivity.java
+++ b/src/com/android/settings/sim/SimDialogActivity.java
@@ -65,6 +65,8 @@
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ SimDialogProhibitService.supportDismiss(this);
+
getWindow().addSystemFlags(
WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
showOrUpdateDialog();
@@ -225,4 +227,15 @@
}
return null;
}
+
+ /*
+ * Force dismiss this Activity.
+ */
+ protected void forceClose() {
+ if (isFinishing() || isDestroyed()) {
+ return;
+ }
+ Log.d(TAG, "Dismissed by Service");
+ finishAndRemoveTask();
+ }
}
diff --git a/src/com/android/settings/sim/SimDialogProhibitService.java b/src/com/android/settings/sim/SimDialogProhibitService.java
new file mode 100644
index 0000000..1558fb3
--- /dev/null
+++ b/src/com/android/settings/sim/SimDialogProhibitService.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2022 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.sim;
+
+import android.content.Context;
+import android.content.Intent;
+import android.util.Log;
+
+import java.lang.ref.WeakReference;
+import java.util.concurrent.RejectedExecutionException;
+
+/**
+ * A class for routing dismiss dialog request to SimDialogActivity.
+ */
+public class SimDialogProhibitService {
+
+ private static final String TAG = "SimDialogProhibitService";
+
+ private static WeakReference<SimDialogActivity> sSimDialogActivity;
+
+ /**
+ * Support the dismiss of {@link SimDialogActivity} (singletone.)
+ *
+ * @param activity {@link SimDialogActivity}
+ */
+ public static void supportDismiss(SimDialogActivity activity) {
+ sSimDialogActivity = new WeakReference<SimDialogActivity>(activity);
+ }
+
+ /**
+ * Dismiss SimDialogActivity dialog.
+ *
+ * @param context is a {@link Context}
+ */
+ public static void dismissDialog(Context context) {
+ // Dismiss existing dialog.
+ if (!dismissDialogThroughRunnable()) {
+ dismissDialogThroughIntent(context);
+ }
+ }
+
+ /**
+ * Dismiss dialog (if there's any).
+ *
+ * @return {@code true} when success, {@code false} when failure.
+ */
+ protected static boolean dismissDialogThroughRunnable() {
+ final SimDialogActivity activity = (sSimDialogActivity == null) ?
+ null : sSimDialogActivity.get();
+ if (activity == null) {
+ Log.i(TAG, "No SimDialogActivity for dismiss.");
+ return true;
+ }
+
+ try {
+ activity.getMainExecutor().execute(() -> activity.forceClose());
+ return true;
+ } catch (RejectedExecutionException exception) {
+ Log.w(TAG, "Fail to close SimDialogActivity through executor", exception);
+ }
+ return false;
+ }
+
+ /**
+ * Dismiss dialog through {@link Intent}.
+ *
+ * @param uiContext is {@link Context} for start SimDialogActivity.
+ */
+ protected static void dismissDialogThroughIntent(Context uiContext) {
+ Intent newIntent = new Intent(uiContext, SimDialogActivity.class);
+ newIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ newIntent.putExtra(SimDialogActivity.DIALOG_TYPE_KEY, SimDialogActivity.PICK_DISMISS);
+ uiContext.startActivity(newIntent);
+ }
+}
diff --git a/src/com/android/settings/sim/SimSelectNotification.java b/src/com/android/settings/sim/SimSelectNotification.java
index 5902b92..9d3f860 100644
--- a/src/com/android/settings/sim/SimSelectNotification.java
+++ b/src/com/android/settings/sim/SimSelectNotification.java
@@ -164,10 +164,7 @@
// If the dialog type is to dismiss.
if (dialogType == EXTRA_DEFAULT_SUBSCRIPTION_SELECT_TYPE_DISMISS) {
- Intent newIntent = new Intent(context, SimDialogActivity.class);
- newIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- newIntent.putExtra(SimDialogActivity.DIALOG_TYPE_KEY, PICK_DISMISS);
- context.startActivity(newIntent);
+ SimDialogProhibitService.dismissDialog(context);
return;
}
diff --git a/src/com/android/settings/sound/MediaControlsLockScreenPreferenceController.java b/src/com/android/settings/sound/MediaControlsLockScreenPreferenceController.java
new file mode 100644
index 0000000..009ab2e
--- /dev/null
+++ b/src/com/android/settings/sound/MediaControlsLockScreenPreferenceController.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2022 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.sound;
+
+import static android.provider.Settings.Secure.MEDIA_CONTROLS_LOCK_SCREEN;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import com.android.settings.R;
+import com.android.settings.core.TogglePreferenceController;
+
+/**
+ * Toggle for media control resumption on lock screen.
+ */
+public class MediaControlsLockScreenPreferenceController extends TogglePreferenceController {
+ public MediaControlsLockScreenPreferenceController(Context context, String key) {
+ super(context, key);
+ }
+
+ @Override
+ public boolean isChecked() {
+ int val = Settings.Secure.getInt(mContext.getContentResolver(),
+ MEDIA_CONTROLS_LOCK_SCREEN, 1);
+ return val == 1;
+ }
+
+ @Override
+ public boolean setChecked(boolean isChecked) {
+ int val = isChecked ? 1 : 0;
+ return Settings.Secure.putInt(mContext.getContentResolver(),
+ MEDIA_CONTROLS_LOCK_SCREEN, val);
+ }
+
+ @Override
+ public int getAvailabilityStatus() {
+ return AVAILABLE;
+ }
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_sound;
+ }
+}
diff --git a/src/com/android/settings/vpn2/AdvancedVpnFeatureProvider.java b/src/com/android/settings/vpn2/AdvancedVpnFeatureProvider.java
index cb56c35..962b6c2 100644
--- a/src/com/android/settings/vpn2/AdvancedVpnFeatureProvider.java
+++ b/src/com/android/settings/vpn2/AdvancedVpnFeatureProvider.java
@@ -47,4 +47,9 @@
* Returns {@code true} advanced vpn is removable.
*/
boolean isAdvancedVpnRemovable();
+
+ /**
+ * Returns {@code true} if the disconnect dialog is enabled when advanced vpn is connected.
+ */
+ boolean isDisconnectDialogEnabled();
}
diff --git a/src/com/android/settings/vpn2/AdvancedVpnFeatureProviderImpl.java b/src/com/android/settings/vpn2/AdvancedVpnFeatureProviderImpl.java
index c5bc69c..b8f58a9 100644
--- a/src/com/android/settings/vpn2/AdvancedVpnFeatureProviderImpl.java
+++ b/src/com/android/settings/vpn2/AdvancedVpnFeatureProviderImpl.java
@@ -46,4 +46,9 @@
public boolean isAdvancedVpnRemovable() {
return true;
}
+
+ @Override
+ public boolean isDisconnectDialogEnabled() {
+ return true;
+ }
}
diff --git a/src/com/android/settings/vpn2/VpnSettings.java b/src/com/android/settings/vpn2/VpnSettings.java
index 4380595..a91bb6c 100644
--- a/src/com/android/settings/vpn2/VpnSettings.java
+++ b/src/com/android/settings/vpn2/VpnSettings.java
@@ -26,6 +26,7 @@
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.Intent;
+import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.net.ConnectivityManager;
@@ -365,7 +366,7 @@
public void setShownPreferences(final Collection<Preference> updates) {
retainAllPreference(updates);
- final PreferenceGroup vpnGroup = getPreferenceScreen();
+ final PreferenceGroup vpnGroup = mPreferenceScreen;
updatePreferenceGroup(vpnGroup, updates);
// Show all new preferences on the screen
@@ -447,14 +448,16 @@
} else if (preference instanceof AppPreference) {
AppPreference pref = (AppPreference) preference;
boolean connected = (pref.getState() == AppPreference.STATE_CONNECTED);
+ String vpnPackageName = pref.getPackageName();
- if (!connected) {
+ if ((!connected) || (isAdvancedVpn(mFeatureProvider, vpnPackageName, getContext())
+ && !mFeatureProvider.isDisconnectDialogEnabled())) {
try {
UserHandle user = UserHandle.of(pref.getUserId());
- Context userContext = getActivity().createPackageContextAsUser(
- getActivity().getPackageName(), 0 /* flags */, user);
+ Context userContext = getContext().createPackageContextAsUser(
+ getContext().getPackageName(), 0 /* flags */, user);
PackageManager pm = userContext.getPackageManager();
- Intent appIntent = pm.getLaunchIntentForPackage(pref.getPackageName());
+ Intent appIntent = pm.getLaunchIntentForPackage(vpnPackageName);
if (appIntent != null) {
userContext.startActivityAsUser(appIntent, user);
return true;
@@ -534,9 +537,32 @@
pref.setOnPreferenceClickListener(this);
mAppPreferences.put(app, pref);
}
+ enableAdvancedVpnGearIconIfNecessary(pref);
return pref;
}
+ private void enableAdvancedVpnGearIconIfNecessary(AppPreference pref) {
+ Context context = getContext();
+ if (!isAdvancedVpn(mFeatureProvider, pref.getPackageName(), context)) {
+ return;
+ }
+
+ boolean isEnabled = false;
+ AppOpsManager appOpsManager = getContext().getSystemService(AppOpsManager.class);
+ List<AppOpsManager.PackageOps> apps =
+ appOpsManager.getPackagesForOps(
+ new int[] {OP_ACTIVATE_VPN, OP_ACTIVATE_PLATFORM_VPN});
+ if (apps != null) {
+ for (AppOpsManager.PackageOps pkg : apps) {
+ if (isAdvancedVpn(mFeatureProvider, pkg.getPackageName(), context)) {
+ isEnabled = true;
+ break;
+ }
+ }
+ }
+ pref.setOnGearClickListener(isEnabled ? mGearListener : null);
+ }
+
@WorkerThread
private Map<String, LegacyVpnInfo> getConnectedLegacyVpns() {
mConnectedLegacyVpn = mVpnManager.getLegacyVpnInfo(UserHandle.myUserId());
@@ -593,6 +619,19 @@
profileIds = Collections.singleton(UserHandle.myUserId());
}
+ if (featureProvider.isAdvancedVpnSupported(context)) {
+ PackageManager pm = context.getPackageManager();
+ try {
+ ApplicationInfo appInfo =
+ pm.getApplicationInfo(
+ featureProvider.getAdvancedVpnPackageName(), /* flags= */ 0);
+ int userId = UserHandle.getUserId(appInfo.uid);
+ result.add(new AppVpnInfo(userId, featureProvider.getAdvancedVpnPackageName()));
+ } catch (PackageManager.NameNotFoundException e) {
+ Log.e(LOG_TAG, "Advanced VPN package name not found.", e);
+ }
+ }
+
List<AppOpsManager.PackageOps> apps =
aom.getPackagesForOps(new int[] {OP_ACTIVATE_VPN, OP_ACTIVATE_PLATFORM_VPN});
if (apps != null) {
@@ -602,6 +641,9 @@
// Skip packages for users outside of our profile group.
continue;
}
+ if (isAdvancedVpn(featureProvider, pkg.getPackageName(), context)) {
+ continue;
+ }
// Look for a MODE_ALLOWED permission to activate VPN.
boolean allowed = false;
for (AppOpsManager.OpEntry op : pkg.getOps()) {
@@ -610,7 +652,7 @@
allowed = true;
}
}
- if (allowed || isAdvancedVpn(featureProvider, pkg.getPackageName(), context)) {
+ if (allowed) {
result.add(new AppVpnInfo(userId, pkg.getPackageName()));
}
}
diff --git a/src/com/android/settings/widget/CardPreference.java b/src/com/android/settings/widget/CardPreference.java
index c041552..afccfac 100644
--- a/src/com/android/settings/widget/CardPreference.java
+++ b/src/com/android/settings/widget/CardPreference.java
@@ -18,18 +18,36 @@
import android.content.Context;
import android.util.AttributeSet;
+import android.view.View;
+import android.widget.Button;
import androidx.preference.Preference;
+import androidx.preference.PreferenceViewHolder;
import com.android.settings.R;
import com.google.android.material.card.MaterialCardView;
+import java.util.Optional;
+
/**
* Preference that wrapped by {@link MaterialCardView}, only support to set icon, title and summary
*/
public class CardPreference extends Preference {
+ private View.OnClickListener mPrimaryBtnClickListener = null;
+ private View.OnClickListener mSecondaryBtnClickListener = null;
+
+ private String mPrimaryButtonText = null;
+ private String mSecondaryButtonText = null;
+
+ private Optional<Button> mPrimaryButton = Optional.empty();
+ private Optional<Button> mSecondaryButton = Optional.empty();
+ private Optional<View> mButtonsGroup = Optional.empty();
+
+ private boolean mPrimaryButtonVisible = false;
+ private boolean mSecondaryButtonVisible = false;
+
public CardPreference(Context context) {
this(context, null /* attrs */);
}
@@ -37,4 +55,94 @@
public CardPreference(Context context, AttributeSet attrs) {
super(context, attrs, R.attr.cardPreferenceStyle);
}
+
+ @Override
+ public void onBindViewHolder(PreferenceViewHolder holder) {
+ super.onBindViewHolder(holder);
+
+ initButtonsAndLayout(holder);
+ }
+
+ private void initButtonsAndLayout(PreferenceViewHolder holder) {
+ mPrimaryButton = Optional.ofNullable((Button) holder.findViewById(android.R.id.button1));
+ mSecondaryButton = Optional.ofNullable((Button) holder.findViewById(android.R.id.button2));
+ mButtonsGroup = Optional.ofNullable(holder.findViewById(R.id.card_preference_buttons));
+
+ setPrimaryButtonText(mPrimaryButtonText);
+ setPrimaryButtonClickListener(mPrimaryBtnClickListener);
+ setPrimaryButtonVisible(mPrimaryButtonVisible);
+ setSecondaryButtonText(mSecondaryButtonText);
+ setSecondaryButtonClickListener(mSecondaryBtnClickListener);
+ setSecondaryButtonVisible(mSecondaryButtonVisible);
+ }
+
+ /**
+ * Register a callback to be invoked when the primary button is clicked.
+ *
+ * @param l the callback that will run
+ */
+ public void setPrimaryButtonClickListener(View.OnClickListener l) {
+ mPrimaryButton.ifPresent(button -> button.setOnClickListener(l));
+ mPrimaryBtnClickListener = l;
+ }
+
+ /**
+ * Register a callback to be invoked when the secondary button is clicked.
+ *
+ * @param l the callback that will run
+ */
+ public void setSecondaryButtonClickListener(View.OnClickListener l) {
+ mSecondaryButton.ifPresent(button -> button.setOnClickListener(l));
+ mSecondaryBtnClickListener = l;
+ }
+
+ /**
+ * Sets the text to be displayed on primary button.
+ *
+ * @param text text to be displayed
+ */
+ public void setPrimaryButtonText(String text) {
+ mPrimaryButton.ifPresent(button -> button.setText(text));
+ mPrimaryButtonText = text;
+ }
+
+ /**
+ * Sets the text to be displayed on secondary button.
+ *
+ * @param text text to be displayed
+ */
+ public void setSecondaryButtonText(String text) {
+ mSecondaryButton.ifPresent(button -> button.setText(text));
+ mSecondaryButtonText = text;
+ }
+
+ /**
+ * Set the visible on the primary button.
+ *
+ * @param visible {@code true} for visible
+ */
+ public void setPrimaryButtonVisible(boolean visible) {
+ mPrimaryButton.ifPresent(
+ button -> button.setVisibility(visible ? View.VISIBLE : View.GONE));
+ mPrimaryButtonVisible = visible;
+ updateButtonGroupsVisibility();
+ }
+
+ /**
+ * Set the visible on the secondary button.
+ *
+ * @param visible {@code true} for visible
+ */
+ public void setSecondaryButtonVisible(boolean visible) {
+ mSecondaryButton.ifPresent(
+ button -> button.setVisibility(visible ? View.VISIBLE : View.GONE));
+ mSecondaryButtonVisible = visible;
+ updateButtonGroupsVisibility();
+ }
+
+ private void updateButtonGroupsVisibility() {
+ int visibility =
+ (mPrimaryButtonVisible || mSecondaryButtonVisible) ? View.VISIBLE : View.GONE;
+ mButtonsGroup.ifPresent(group -> group.setVisibility(visibility));
+ }
}
diff --git a/src/com/android/settings/wifi/WifiConfigController2.java b/src/com/android/settings/wifi/WifiConfigController2.java
index 9e96be9..e55ea16 100644
--- a/src/com/android/settings/wifi/WifiConfigController2.java
+++ b/src/com/android/settings/wifi/WifiConfigController2.java
@@ -42,6 +42,7 @@
import android.text.SpannableString;
import android.text.TextUtils;
import android.text.TextWatcher;
+import android.util.ArrayMap;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
@@ -1495,13 +1496,20 @@
}
// Shows display name of each active subscription.
- final ArrayList<CharSequence> displayNames = new ArrayList<>();
+ ArrayMap<Integer, CharSequence> displayNames = new ArrayMap<>();
+ int defaultDataSubscriptionId = SubscriptionManager.getDefaultDataSubscriptionId();
for (SubscriptionInfo activeSubInfo : mActiveSubscriptionInfos) {
- displayNames.add(
+ // If multiple SIMs have the same carrier id, only the first or default data SIM is
+ // displayed.
+ if (displayNames.containsKey(activeSubInfo.getCarrierId())
+ && defaultDataSubscriptionId != activeSubInfo.getSubscriptionId()) {
+ continue;
+ }
+ displayNames.put(activeSubInfo.getCarrierId(),
SubscriptionUtil.getUniqueSubscriptionDisplayName(activeSubInfo, mContext));
}
mEapSimSpinner.setAdapter(
- getSpinnerAdapter(displayNames.toArray(new String[displayNames.size()])));
+ getSpinnerAdapter(displayNames.values().toArray(new String[displayNames.size()])));
mEapSimSpinner.setSelection(0 /* position */);
if (displayNames.size() == 1) {
mEapSimSpinner.setEnabled(false);
diff --git a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
index ba7628e..f7fc07a 100644
--- a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
+++ b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
@@ -19,6 +19,7 @@
import static android.net.NetworkCapabilities.NET_CAPABILITY_PARTIAL_CONNECTIVITY;
import static android.net.NetworkCapabilities.NET_CAPABILITY_VALIDATED;
import static android.net.NetworkCapabilities.TRANSPORT_WIFI;
+import static android.telephony.TelephonyManager.UNKNOWN_CARRIER_ID;
import android.app.Activity;
import android.app.AlertDialog;
@@ -49,7 +50,6 @@
import android.provider.Telephony.CarrierId;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.util.FeatureFlagUtils;
import android.util.Log;
@@ -711,27 +711,17 @@
// Checks if the SIM subscription is active.
final List<SubscriptionInfo> activeSubscriptionInfos = mContext
.getSystemService(SubscriptionManager.class).getActiveSubscriptionInfoList();
- final int defaultDataSubscriptionId = SubscriptionManager.getDefaultDataSubscriptionId();
if (activeSubscriptionInfos != null) {
- for (SubscriptionInfo subscriptionInfo : activeSubscriptionInfos) {
- final CharSequence displayName = SubscriptionUtil.getUniqueSubscriptionDisplayName(
- subscriptionInfo, mContext);
- if (config.carrierId == subscriptionInfo.getCarrierId()) {
- mEapSimSubscriptionPref.setSummary(displayName);
- return;
- }
-
- // When it's UNKNOWN_CARRIER_ID, devices connects it with the SIM subscription of
- // defaultDataSubscriptionId.
- if (config.carrierId == TelephonyManager.UNKNOWN_CARRIER_ID
- && defaultDataSubscriptionId == subscriptionInfo.getSubscriptionId()) {
- mEapSimSubscriptionPref.setSummary(displayName);
- return;
- }
+ SubscriptionInfo info = fineSubscriptionInfo(config.carrierId, activeSubscriptionInfos,
+ SubscriptionManager.getDefaultDataSubscriptionId());
+ if (info != null) {
+ mEapSimSubscriptionPref.setSummary(
+ SubscriptionUtil.getUniqueSubscriptionDisplayName(info, mContext));
+ return;
}
}
- if (config.carrierId == TelephonyManager.UNKNOWN_CARRIER_ID) {
+ if (config.carrierId == UNKNOWN_CARRIER_ID) {
mEapSimSubscriptionPref.setSummary(R.string.wifi_no_related_sim_card);
return;
}
@@ -750,6 +740,25 @@
null /* orderBy */);
}
+ @VisibleForTesting
+ SubscriptionInfo fineSubscriptionInfo(int carrierId,
+ List<SubscriptionInfo> activeSubscriptionInfos, int defaultDataSubscriptionId) {
+ SubscriptionInfo firstMatchedInfo = null;
+ for (SubscriptionInfo info : activeSubscriptionInfos) {
+ // When it's UNKNOWN_CARRIER_ID or matched with configured CarrierId,
+ // devices connects it with the SIM subscription of defaultDataSubscriptionId.
+ if (defaultDataSubscriptionId == info.getSubscriptionId()
+ && (carrierId == info.getCarrierId() || carrierId == UNKNOWN_CARRIER_ID)) {
+ return info;
+ }
+
+ if (firstMatchedInfo == null && carrierId == info.getCarrierId()) {
+ firstMatchedInfo = info;
+ }
+ }
+ return firstMatchedInfo;
+ }
+
private void refreshMacAddress() {
final String macAddress = mWifiEntry.getMacAddress();
if (TextUtils.isEmpty(macAddress)) {
diff --git a/src/com/android/settings/wifi/slice/WifiSlice.java b/src/com/android/settings/wifi/slice/WifiSlice.java
index 2e5524e..c06e869 100644
--- a/src/com/android/settings/wifi/slice/WifiSlice.java
+++ b/src/com/android/settings/wifi/slice/WifiSlice.java
@@ -109,7 +109,7 @@
// If external calling package doesn't have Wi-Fi permission.
final boolean isPermissionGranted =
- Utils.isSettingsIntelligence(mContext) || isPermissionGranted(mContext);
+ isCallerExemptUid(mContext) || isPermissionGranted(mContext);
ListBuilder listBuilder = getListBuilder(isWifiEnabled, null /* wifiSliceItem */,
isPermissionGranted);
// If the caller doesn't have the permission granted, just return a slice without a toggle.
@@ -156,6 +156,21 @@
return userManager.isGuestUser();
}
+ private boolean isCallerExemptUid(Context context) {
+ final String[] allowedUidNames = context.getResources().getStringArray(
+ R.array.config_exempt_wifi_permission_uid_name);
+ final String uidName =
+ context.getPackageManager().getNameForUid(Binder.getCallingUid());
+ Log.d(TAG, "calling uid name : " + uidName);
+
+ for (String allowedUidName : allowedUidNames) {
+ if (TextUtils.equals(uidName, allowedUidName)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
private static boolean isPermissionGranted(Context settingsContext) {
final int callingUid = Binder.getCallingUid();
final String callingPackage = settingsContext.getPackageManager()
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppBatteryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppBatteryPreferenceControllerTest.java
index a75663b..c95a509 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppBatteryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppBatteryPreferenceControllerTest.java
@@ -162,7 +162,8 @@
mController.updateBatteryWithDiffEntry();
- assertThat(mBatteryPreference.getSummary()).isEqualTo("No battery use for past 24 hours");
+ assertThat(mBatteryPreference.getSummary().toString()).isEqualTo(
+ "No battery use since last full charge");
}
@Test
@@ -175,7 +176,8 @@
mController.updateBatteryWithDiffEntry();
- assertThat(mBatteryPreference.getSummary()).isEqualTo("60% use for past 24 hours");
+ assertThat(mBatteryPreference.getSummary().toString()).isEqualTo(
+ "60% use since last full charge");
}
@Test
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensorTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensorTest.java
index a198d86..54a7fb1 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensorTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensorTest.java
@@ -22,7 +22,6 @@
import android.content.Intent;
import android.hardware.fingerprint.FingerprintManager;
-import android.widget.Button;
import androidx.appcompat.app.AlertDialog;
@@ -66,6 +65,23 @@
@Test
public void fingerprintEnroll_showsAlert_whenClickingSkip() {
+ final AlertDialog alertDialog = setupAlertDialog();
+ final ShadowAlertDialogCompat shadowAlertDialog = ShadowAlertDialogCompat.shadowOf(
+ alertDialog);
+ final int titleRes = R.string.setup_fingerprint_enroll_skip_title;
+
+ assertThat(application.getString(titleRes)).isEqualTo(shadowAlertDialog.getTitle());
+ }
+
+ @Test
+ public void fingerprintEnroll_showsAlert_setSudTheme() {
+ final AlertDialog alertDialog = setupAlertDialog();
+
+ assertThat(alertDialog.getContext().getThemeResId()).isEqualTo(
+ R.style.GlifV2ThemeAlertDialog);
+ }
+
+ private AlertDialog setupAlertDialog() {
final Intent intent = new Intent()
// Set the challenge token so the confirm screen will not be shown
.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, new byte[0]);
@@ -80,9 +96,6 @@
final AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
assertThat(alertDialog).isNotNull();
- final ShadowAlertDialogCompat shadowAlertDialog = ShadowAlertDialogCompat.shadowOf(
- alertDialog);
- final int titleRes = R.string.setup_fingerprint_enroll_skip_title;
- assertThat(application.getString(titleRes)).isEqualTo(shadowAlertDialog.getTitle());
+ return alertDialog;
}
}
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsPairOtherControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsPairOtherControllerTest.java
new file mode 100644
index 0000000..cfa6d41
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsPairOtherControllerTest.java
@@ -0,0 +1,121 @@
+/*
+ * Copyright (C) 2022 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.bluetooth;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.when;
+
+import com.android.settings.R;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.HearingAidProfile;
+import com.android.settingslib.widget.ButtonPreference;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+
+/** Tests for {@link BluetoothDetailsPairOtherController}. */
+@RunWith(RobolectricTestRunner.class)
+public class BluetoothDetailsPairOtherControllerTest extends BluetoothDetailsControllerTestBase {
+ @Rule
+ public final MockitoRule mockito = MockitoJUnit.rule();
+
+ @Mock
+ private CachedBluetoothDevice mSubCachedDevice;
+ private BluetoothDetailsPairOtherController mController;
+ private ButtonPreference mPreference;
+
+ @Override
+ public void setUp() {
+ super.setUp();
+
+ mController = new BluetoothDetailsPairOtherController(mContext, mFragment, mCachedDevice,
+ mLifecycle);
+ mPreference = new ButtonPreference(mContext);
+ mPreference.setKey(mController.getPreferenceKey());
+ mScreen.addPreference(mPreference);
+ }
+
+ @Test
+ public void init_leftSideDevice_expectedTitle() {
+ when(mCachedDevice.getDeviceSide()).thenReturn(HearingAidProfile.DeviceSide.SIDE_LEFT);
+
+ mController.init(mScreen);
+
+ assertThat(mPreference.getTitle().toString()).isEqualTo(
+ mContext.getString(R.string.bluetooth_pair_right_ear_button));
+ }
+
+ @Test
+ public void init_rightSideDevice_expectedTitle() {
+ when(mCachedDevice.getDeviceSide()).thenReturn(HearingAidProfile.DeviceSide.SIDE_RIGHT);
+
+ mController.init(mScreen);
+
+ assertThat(mPreference.getTitle().toString()).isEqualTo(
+ mContext.getString(R.string.bluetooth_pair_left_ear_button));
+ }
+
+ @Test
+ public void isAvailable_isConnectedHearingAidDevice_available() {
+ when(mCachedDevice.isConnectedHearingAidDevice()).thenReturn(false);
+
+ assertThat(mController.isAvailable()).isFalse();
+ }
+
+ @Test
+ public void isAvailable_notConnectedHearingAidDevice_notAvailable() {
+ when(mCachedDevice.isConnectedHearingAidDevice()).thenReturn(true);
+ when(mCachedDevice.getDeviceMode()).thenReturn(HearingAidProfile.DeviceMode.MODE_MONAURAL);
+
+ assertThat(mController.isAvailable()).isFalse();
+ }
+
+ @Test
+ public void isAvailable_subDeviceIsConnectedHearingAidDevice_notAvailable() {
+ when(mCachedDevice.isConnectedHearingAidDevice()).thenReturn(true);
+ when(mCachedDevice.getDeviceMode()).thenReturn(HearingAidProfile.DeviceMode.MODE_BINAURAL);
+ when(mSubCachedDevice.isConnectedHearingAidDevice()).thenReturn(true);
+ when(mCachedDevice.getSubDevice()).thenReturn(mSubCachedDevice);
+
+ assertThat(mController.isAvailable()).isFalse();
+ }
+
+ @Test
+ public void isAvailable_subDeviceNotConnectedHearingAidDevice_available() {
+ when(mCachedDevice.isConnectedHearingAidDevice()).thenReturn(true);
+ when(mCachedDevice.getDeviceMode()).thenReturn(HearingAidProfile.DeviceMode.MODE_BINAURAL);
+ when(mSubCachedDevice.isConnectedHearingAidDevice()).thenReturn(false);
+ when(mCachedDevice.getSubDevice()).thenReturn(mSubCachedDevice);
+
+ assertThat(mController.isAvailable()).isTrue();
+ }
+
+ @Test
+ public void isAvailable_subDeviceNotExist_available() {
+ when(mCachedDevice.isConnectedHearingAidDevice()).thenReturn(true);
+ when(mCachedDevice.getDeviceMode()).thenReturn(HearingAidProfile.DeviceMode.MODE_BINAURAL);
+ when(mCachedDevice.getSubDevice()).thenReturn(null);
+
+ assertThat(mController.isAvailable()).isTrue();
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
index b06932a..7c56ab3 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
@@ -232,7 +232,7 @@
}
@Test
- public void testGetPreferenceScreenResId_returnNewLayout() {
+ public void setPreferenceScreenResId_returnNewLayout() {
assertThat(mFragment.getPreferenceScreenResId()).isEqualTo(R.xml.power_usage_detail);
}
@@ -252,7 +252,7 @@
}
@Test
- public void testInitHeader_HasAppEntry_BuildByAppEntry() {
+ public void initHeader_HasAppEntry_BuildByAppEntry() {
ReflectionHelpers.setStaticField(AppUtils.class, "sInstantAppDataProvider",
new InstantAppDataProvider() {
@Override
@@ -269,7 +269,7 @@
}
@Test
- public void testInitHeader_HasAppEntry_InstantApp() {
+ public void initHeader_HasAppEntry_InstantApp() {
ReflectionHelpers.setStaticField(AppUtils.class, "sInstantAppDataProvider",
new InstantAppDataProvider() {
@Override
@@ -286,7 +286,7 @@
}
@Test
- public void testInitHeader_noUsageTimeAndGraphDisabled_hasCorrectSummary() {
+ public void initHeader_noUsageTimeAndGraphDisabled_hasCorrectSummary() {
when(mFeatureFactory.powerUsageFeatureProvider.isChartGraphEnabled(mContext))
.thenReturn(false);
@@ -304,7 +304,7 @@
}
@Test
- public void testInitHeader_bgTwoMinFgZeroAndGraphDisabled_hasCorrectSummary() {
+ public void initHeader_bgTwoMinFgZeroAndGraphDisabled_hasCorrectSummary() {
when(mFeatureFactory.powerUsageFeatureProvider.isChartGraphEnabled(mContext))
.thenReturn(false);
@@ -324,7 +324,7 @@
}
@Test
- public void testInitHeader_bgLessThanAMinFgZeroAndGraphDisabled_hasCorrectSummary() {
+ public void initHeader_bgLessThanAMinFgZeroAndGraphDisabled_hasCorrectSummary() {
when(mFeatureFactory.powerUsageFeatureProvider.isChartGraphEnabled(mContext))
.thenReturn(false);
@@ -345,7 +345,7 @@
}
@Test
- public void testInitHeader_totalUsageLessThanAMinAndGraphDisabled_hasCorrectSummary() {
+ public void initHeader_totalUsageLessThanAMinAndGraphDisabled_hasCorrectSummary() {
when(mFeatureFactory.powerUsageFeatureProvider.isChartGraphEnabled(mContext))
.thenReturn(false);
@@ -367,7 +367,7 @@
}
@Test
- public void testInitHeader_TotalAMinutesBgLessThanAMinAndGraphDisabled_hasCorrectSummary() {
+ public void initHeader_TotalAMinutesBgLessThanAMinAndGraphDisabled_hasCorrectSummary() {
when(mFeatureFactory.powerUsageFeatureProvider.isChartGraphEnabled(mContext))
.thenReturn(false);
@@ -387,7 +387,7 @@
}
@Test
- public void testInitHeader_TotalAMinBackgroundZeroAndGraphDisabled_hasCorrectSummary() {
+ public void initHeader_TotalAMinBackgroundZeroAndGraphDisabled_hasCorrectSummary() {
when(mFeatureFactory.powerUsageFeatureProvider.isChartGraphEnabled(mContext))
.thenReturn(false);
final long backgroundTimeZero = 0;
@@ -406,7 +406,7 @@
}
@Test
- public void testInitHeader_fgTwoMinBgFourMinAndGraphDisabled_hasCorrectSummary() {
+ public void initHeader_fgTwoMinBgFourMinAndGraphDisabled_hasCorrectSummary() {
when(mFeatureFactory.powerUsageFeatureProvider.isChartGraphEnabled(mContext))
.thenReturn(false);
final long backgroundTimeFourMinute = 240000;
@@ -424,7 +424,7 @@
}
@Test
- public void testInitHeader_noUsageTime_hasCorrectSummary() {
+ public void initHeader_noUsageTime_hasCorrectSummary() {
Bundle bundle = new Bundle(2);
bundle.putLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, /* value */ 0);
bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, /* value */ 0);
@@ -435,11 +435,11 @@
ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
verify(mEntityHeaderController).setSummary(captor.capture());
assertThat(captor.getValue().toString())
- .isEqualTo("No usage for past 24 hr");
+ .isEqualTo("No usage from last full charge");
}
@Test
- public void testInitHeader_noUsageTimeButConsumedPower_hasEmptySummary() {
+ public void initHeader_noUsageTimeButConsumedPower_hasEmptySummary() {
Bundle bundle = new Bundle(3);
bundle.putLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, /* value */ 0);
bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, /* value */ 0);
@@ -454,7 +454,7 @@
}
@Test
- public void testInitHeader_backgroundTwoMinForegroundZero_hasCorrectSummary() {
+ public void initHeader_backgroundTwoMinForegroundZero_hasCorrectSummary() {
final long backgroundTimeTwoMinutes = 120000;
final long foregroundTimeZero = 0;
Bundle bundle = new Bundle(2);
@@ -467,11 +467,11 @@
ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
verify(mEntityHeaderController).setSummary(captor.capture());
assertThat(captor.getValue().toString())
- .isEqualTo("2 min background for past 24 hr");
+ .isEqualTo("2 min background from last full charge");
}
@Test
- public void testInitHeader_backgroundLessThanAMinForegroundZero_hasCorrectSummary() {
+ public void initHeader_backgroundLessThanAMinForegroundZero_hasCorrectSummary() {
final long backgroundTimeLessThanAMinute = 59999;
final long foregroundTimeZero = 0;
Bundle bundle = new Bundle(2);
@@ -485,11 +485,11 @@
ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
verify(mEntityHeaderController).setSummary(captor.capture());
assertThat(captor.getValue().toString())
- .isEqualTo("Background less than a minute for past 24 hr");
+ .isEqualTo("Background less than a minute from last full charge");
}
@Test
- public void testInitHeader_totalUsageLessThanAMin_hasCorrectSummary() {
+ public void initHeader_totalUsageLessThanAMin_hasCorrectSummary() {
final long backgroundTimeLessThanHalfMinute = 20000;
final long foregroundTimeLessThanHalfMinute = 20000;
Bundle bundle = new Bundle(2);
@@ -504,11 +504,11 @@
ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
verify(mEntityHeaderController).setSummary(captor.capture());
assertThat(captor.getValue().toString())
- .isEqualTo("Total less than a minute for past 24 hr");
+ .isEqualTo("Total less than a minute from last full charge");
}
@Test
- public void testInitHeader_TotalAMinutesBackgroundLessThanAMin_hasCorrectSummary() {
+ public void initHeader_TotalAMinutesBackgroundLessThanAMin_hasCorrectSummary() {
final long backgroundTimeZero = 59999;
final long foregroundTimeTwoMinutes = 1;
Bundle bundle = new Bundle(2);
@@ -521,11 +521,11 @@
ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
verify(mEntityHeaderController).setSummary(captor.capture());
assertThat(captor.getValue().toString())
- .isEqualTo("1 min total • background less than a minute\nfor past 24 hr");
+ .isEqualTo("1 min total • background less than a minute\nfrom last full charge");
}
@Test
- public void testInitHeader_TotalAMinBackgroundZero_hasCorrectSummary() {
+ public void initHeader_TotalAMinBackgroundZero_hasCorrectSummary() {
final long backgroundTimeZero = 0;
final long foregroundTimeAMinutes = 60000;
Bundle bundle = new Bundle(2);
@@ -538,11 +538,11 @@
ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
verify(mEntityHeaderController).setSummary(captor.capture());
assertThat(captor.getValue().toString())
- .isEqualTo("1 min total for past 24 hr");
+ .isEqualTo("1 min total from last full charge");
}
@Test
- public void testInitHeader_foregroundTwoMinBackgroundFourMin_hasCorrectSummary() {
+ public void initHeader_foregroundTwoMinBackgroundFourMin_hasCorrectSummary() {
final long backgroundTimeFourMinute = 240000;
final long foregroundTimeTwoMinutes = 120000;
Bundle bundle = new Bundle(2);
@@ -555,11 +555,11 @@
ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
verify(mEntityHeaderController).setSummary(captor.capture());
assertThat(captor.getValue().toString())
- .isEqualTo("6 min total • 4 min background\nfor past 24 hr");
+ .isEqualTo("6 min total • 4 min background\nfrom last full charge");
}
@Test
- public void testInitHeader_totalUsageLessThanAMinWithSlotTime_hasCorrectSummary() {
+ public void initHeader_totalUsageLessThanAMinWithSlotTime_hasCorrectSummary() {
final long backgroundTimeLessThanHalfMinute = 20000;
final long foregroundTimeLessThanHalfMinute = 20000;
Bundle bundle = new Bundle(3);
@@ -579,7 +579,7 @@
}
@Test
- public void testInitHeader_TotalAMinBackgroundLessThanAMinWithSlotTime_hasCorrectSummary() {
+ public void initHeader_TotalAMinBackgroundLessThanAMinWithSlotTime_hasCorrectSummary() {
final long backgroundTimeZero = 59999;
final long foregroundTimeTwoMinutes = 1;
Bundle bundle = new Bundle(3);
@@ -597,7 +597,7 @@
}
@Test
- public void testInitHeader_TotalAMinBackgroundZeroWithSlotTime_hasCorrectSummary() {
+ public void initHeader_TotalAMinBackgroundZeroWithSlotTime_hasCorrectSummary() {
final long backgroundTimeZero = 0;
final long foregroundTimeAMinutes = 60000;
Bundle bundle = new Bundle(3);
@@ -615,7 +615,7 @@
}
@Test
- public void testInitHeader_foregroundTwoMinBackgroundFourMinWithSlotTime_hasCorrectSummary() {
+ public void initHeader_foregroundTwoMinBackgroundFourMinWithSlotTime_hasCorrectSummary() {
final long backgroundTimeFourMinute = 240000;
final long foregroundTimeTwoMinutes = 120000;
Bundle bundle = new Bundle(3);
@@ -633,7 +633,7 @@
}
@Test
- public void testInitHeader_systemUidWithChartIsDisabled_nullSummary() {
+ public void initHeader_systemUidWithChartIsDisabled_nullSummary() {
Bundle bundle = new Bundle(3);
bundle.putLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, 240000);
bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, 120000);
@@ -650,7 +650,7 @@
}
@Test
- public void testInitHeader_systemUidWithChartIsEnabled_notNullSummary() {
+ public void initHeader_systemUidWithChartIsEnabled_notNullSummary() {
Bundle bundle = new Bundle(3);
bundle.putLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, 240000);
bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, 120000);
@@ -665,21 +665,21 @@
}
@Test
- public void testStartBatteryDetailPage_hasBasicData() {
+ public void startBatteryDetailPage_hasBasicData() {
AdvancedPowerUsageDetail.startBatteryDetailPage(mActivity, mFragment,
mBatteryEntry, USAGE_PERCENT, /*isValidToShowSummary=*/ true);
assertThat(mBundle.getInt(AdvancedPowerUsageDetail.EXTRA_UID)).isEqualTo(UID);
assertThat(mBundle.getLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME))
- .isEqualTo(BACKGROUND_TIME_MS);
+ .isEqualTo(BACKGROUND_TIME_MS);
assertThat(mBundle.getLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME))
- .isEqualTo(FOREGROUND_TIME_MS);
+ .isEqualTo(FOREGROUND_TIME_MS);
assertThat(mBundle.getString(AdvancedPowerUsageDetail.EXTRA_POWER_USAGE_PERCENT))
- .isEqualTo(USAGE_PERCENT);
+ .isEqualTo(USAGE_PERCENT);
}
@Test
- public void testStartBatteryDetailPage_invalidToShowSummary_noFGBDData() {
+ public void startBatteryDetailPage_invalidToShowSummary_noFGBDData() {
AdvancedPowerUsageDetail.startBatteryDetailPage(mActivity, mFragment,
mBatteryEntry, USAGE_PERCENT, /*isValidToShowSummary=*/ false);
@@ -693,7 +693,7 @@
}
@Test
- public void testStartBatteryDetailPage_NormalApp() {
+ public void startBatteryDetailPage_NormalApp() {
when(mBatteryEntry.getDefaultPackageName()).thenReturn(PACKAGE_NAME[0]);
AdvancedPowerUsageDetail.startBatteryDetailPage(mActivity, mFragment,
@@ -704,7 +704,7 @@
}
@Test
- public void testStartBatteryDetailPage_SystemApp() {
+ public void startBatteryDetailPage_SystemApp() {
when(mBatteryEntry.getDefaultPackageName()).thenReturn(null);
AdvancedPowerUsageDetail.startBatteryDetailPage(mActivity, mFragment,
@@ -716,7 +716,7 @@
}
@Test
- public void testStartBatteryDetailPage_WorkApp() {
+ public void startBatteryDetailPage_WorkApp() {
final int appUid = 1010019;
doReturn(appUid).when(mBatteryEntry).getUid();
@@ -727,7 +727,7 @@
}
@Test
- public void testStartBatteryDetailPage_typeUser_startByCurrentUser() {
+ public void startBatteryDetailPage_typeUser_startByCurrentUser() {
when(mBatteryEntry.isUserEntry()).thenReturn(true);
final int currentUser = 20;
@@ -739,7 +739,7 @@
}
@Test
- public void testStartBatteryDetailPage_noBatteryUsage_hasBasicData() {
+ public void startBatteryDetailPage_noBatteryUsage_hasBasicData() {
final ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
AdvancedPowerUsageDetail.startBatteryDetailPage(mActivity, mFragment, PACKAGE_NAME[0]);
@@ -747,16 +747,16 @@
verify(mActivity).startActivity(captor.capture());
assertThat(captor.getValue().getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS)
- .getString(AdvancedPowerUsageDetail.EXTRA_PACKAGE_NAME))
- .isEqualTo(PACKAGE_NAME[0]);
+ .getString(AdvancedPowerUsageDetail.EXTRA_PACKAGE_NAME))
+ .isEqualTo(PACKAGE_NAME[0]);
assertThat(captor.getValue().getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS)
- .getString(AdvancedPowerUsageDetail.EXTRA_POWER_USAGE_PERCENT))
- .isEqualTo("0%");
+ .getString(AdvancedPowerUsageDetail.EXTRA_POWER_USAGE_PERCENT))
+ .isEqualTo("0%");
}
@Test
- public void testStartBatteryDetailPage_batteryEntryNotExisted_extractUidFromPackageName() throws
+ public void startBatteryDetailPage_batteryEntryNotExisted_extractUidFromPackageName() throws
PackageManager.NameNotFoundException {
doReturn(UID).when(mPackageManager).getPackageUid(PACKAGE_NAME[0], 0 /* no flag */);
@@ -796,7 +796,7 @@
}
@Test
- public void testInitPreferenceForTriState_isSystemOrDefaultApp_hasCorrectString() {
+ public void initPreferenceForTriState_isSystemOrDefaultApp_hasCorrectString() {
when(mBatteryOptimizeUtils.isValidPackageName()).thenReturn(true);
when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(true);
@@ -807,7 +807,7 @@
}
@Test
- public void testInitPreferenceForTriState_hasCorrectString() {
+ public void initPreferenceForTriState_hasCorrectString() {
when(mBatteryOptimizeUtils.isValidPackageName()).thenReturn(true);
when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(false);
@@ -818,7 +818,7 @@
}
@Test
- public void testOnRadioButtonClicked_clickOptimizePref_optimizePreferenceChecked() {
+ public void onRadioButtonClicked_clickOptimizePref_optimizePreferenceChecked() {
mOptimizePreference.setKey(KEY_PREF_OPTIMIZED);
mRestrictedPreference.setKey(KEY_PREF_RESTRICTED);
mUnrestrictedPreference.setKey(KEY_PREF_UNRESTRICTED);
@@ -830,7 +830,7 @@
}
@Test
- public void testOnPause_optimizationModeChanged_logPreference() {
+ public void onPause_optimizationModeChanged_logPreference() {
final int mode = BatteryOptimizeUtils.MODE_RESTRICTED;
mFragment.mOptimizationMode = mode;
when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(mode);
@@ -849,7 +849,7 @@
}
@Test
- public void testOnPause_optimizationModeIsNotChanged_notInvokeLogging() {
+ public void onPause_optimizationModeIsNotChanged_notInvokeLogging() {
final int mode = BatteryOptimizeUtils.MODE_OPTIMIZED;
mFragment.mOptimizationMode = mode;
when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(mode);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java
index 591c4e6..c5c47d2 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java
@@ -249,6 +249,8 @@
@Test
public void testGetBatteryInfo_chargingWithOverheated_updateChargeLabel() {
+ final String expectedString =
+ mContext.getString(R.string.battery_tip_limited_temporarily_title);
doReturn(TEST_CHARGE_TIME_REMAINING)
.when(mBatteryUsageStats)
.getChargeTimeRemainingMs();
@@ -260,7 +262,7 @@
false /* shortString */);
assertThat(info.isOverheated).isTrue();
- assertThat(info.chargeLabel).isEqualTo("50% - Charging temporarily limited");
+ assertThat(info.chargeLabel.toString()).contains(expectedString);
}
// Make our battery stats return a sequence of battery events.
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 a1f9d1f..90e7ad7 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
@@ -18,6 +18,8 @@
import static com.google.common.truth.Truth.assertThat;
+import androidx.test.core.app.ApplicationProvider;
+
import com.android.settings.fuelgauge.BatteryInfo;
import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
@@ -41,7 +43,8 @@
mBatteryInfo.discharging = false;
- mBatteryDefenderDetector = new BatteryDefenderDetector(mBatteryInfo);
+ mBatteryDefenderDetector = new BatteryDefenderDetector(
+ mBatteryInfo, ApplicationProvider.getApplicationContext());
}
@Test
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 8660c79..6bd6b26 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,13 +17,25 @@
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.content.IntentFilter;
+import android.os.BatteryManager;
+import android.util.Log;
+
+import androidx.preference.Preference;
import com.android.settings.R;
import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.widget.CardPreference;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import org.junit.Before;
@@ -33,6 +45,7 @@
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowLog;
@RunWith(RobolectricTestRunner.class)
public class BatteryDefenderTipTest {
@@ -43,6 +56,8 @@
private MetricsFeatureProvider mMetricsFeatureProvider;
@Mock private BatteryTip mBatteryTip;
+ @Mock private Preference mPreference;
+ @Mock private CardPreference mCardPreference;
@Before
public void setUp() {
@@ -52,6 +67,9 @@
mMetricsFeatureProvider = mFeatureFactory.metricsFeatureProvider;
mContext = RuntimeEnvironment.application;
mBatteryDefenderTip = new BatteryDefenderTip(BatteryTip.StateType.NEW);
+
+ when(mPreference.getContext()).thenReturn(mContext);
+ when(mCardPreference.getContext()).thenReturn(mContext);
}
@Test
@@ -61,12 +79,20 @@
}
@Test
- public void getSummary_showSummary() {
+ public void getSummary_notExtraDefended_showNonExtraDefendedSummary() {
assertThat(mBatteryDefenderTip.getSummary(mContext))
.isEqualTo(mContext.getString(R.string.battery_tip_limited_temporarily_summary));
}
@Test
+ public void getSummary_extraDefended_showExtraDefendedSummary() {
+ BatteryDefenderTip defenderTip = new BatteryDefenderTip(
+ BatteryTip.StateType.NEW, /* extraDefended= */ true);
+
+ assertThat(defenderTip.getSummary(mContext).toString()).isEqualTo("12%");
+ }
+
+ @Test
public void getIcon_showIcon() {
assertThat(mBatteryDefenderTip.getIconId())
.isEqualTo(R.drawable.ic_battery_status_good_24dp);
@@ -80,4 +106,94 @@
verify(mMetricsFeatureProvider).action(mContext,
SettingsEnums.ACTION_BATTERY_DEFENDER_TIP, mBatteryTip.mState);
}
+
+ @Test
+ public void updatePreference_castFail_logErrorMessage() {
+ mBatteryDefenderTip.updatePreference(mPreference);
+
+ assertThat(getLastErrorLog()).isEqualTo("cast Preference to CardPreference failed");
+ }
+
+ @Test
+ public void updatePreference_shouldSetPrimaryButtonText() {
+ String expectedText = mContext.getString(R.string.battery_tip_charge_to_full_button);
+
+ mBatteryDefenderTip.updatePreference(mCardPreference);
+
+ verify(mCardPreference).setPrimaryButtonText(expectedText);
+ }
+
+ @Test
+ public void updatePreference_shouldSetSecondaryButtonText() {
+ String expected = mContext.getString(R.string.learn_more);
+
+ mBatteryDefenderTip.updatePreference(mCardPreference);
+
+ verify(mCardPreference).setSecondaryButtonText(expected);
+ }
+
+ @Test
+ public void updatePreference_shouldSetSecondaryButtonVisible() {
+ mBatteryDefenderTip.updatePreference(mCardPreference);
+
+ verify(mCardPreference).setSecondaryButtonVisible(true);
+ }
+
+ @Test
+ public void updatePreference_whenCharging_setPrimaryButtonVisibleToBeTrue() {
+ fakeDeviceIsCharging(true);
+
+ mBatteryDefenderTip.updatePreference(mCardPreference);
+
+ verify(mCardPreference).setPrimaryButtonVisible(true);
+ }
+
+ @Test
+ public void updatePreference_whenNotCharging_setPrimaryButtonVisibleToBeFalse() {
+ fakeDeviceIsCharging(false);
+
+ mBatteryDefenderTip.updatePreference(mCardPreference);
+
+ verify(mCardPreference).setPrimaryButtonVisible(false);
+ }
+
+ @Test
+ public void updatePreference_whenGetChargingStatusFailed_setPrimaryButtonVisibleToBeFalse() {
+ fakeGetChargingStatusFailed();
+
+ mBatteryDefenderTip.updatePreference(mCardPreference);
+
+ verify(mCardPreference).setPrimaryButtonVisible(false);
+ }
+
+ private void fakeDeviceIsCharging(boolean charging) {
+ int charged = charging ? 1 : 0; // 1 means charging, 0:not charging
+ Intent batteryChangedIntent = new Intent(Intent.ACTION_BATTERY_CHANGED);
+ batteryChangedIntent.putExtra(BatteryManager.EXTRA_PLUGGED, charged);
+
+ Context mockContext = mock(Context.class);
+ when(mockContext.getString(anyInt())).thenReturn("fake_string");
+ when(mCardPreference.getContext()).thenReturn(mockContext);
+ when(mockContext.registerReceiver(eq(null), any(IntentFilter.class)))
+ .thenReturn(batteryChangedIntent);
+ }
+
+ private void fakeGetChargingStatusFailed() {
+ Context mockContext = mock(Context.class);
+ when(mockContext.getString(anyInt())).thenReturn("fake_string");
+ when(mCardPreference.getContext()).thenReturn(mockContext);
+ when(mockContext.registerReceiver(eq(null), any(IntentFilter.class))).thenReturn(null);
+ }
+
+ private String getLastErrorLog() {
+ return ShadowLog.getLogsForTag(BatteryDefenderTip.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) {
+ return new ShadowLog.LogItem(Log.ERROR, "tag", msg, null);
+ }
}
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 75b7fe1..1eead82 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java
@@ -18,23 +18,24 @@
import static com.google.common.truth.Truth.assertThat;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Matchers.anyLong;
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.reset;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import android.app.settings.SettingsEnums;
import android.content.ContentValues;
import android.content.Context;
-import android.content.pm.PackageManager;
-import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.LocaleList;
import android.text.format.DateUtils;
+import android.view.View;
+import android.widget.LinearLayout;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
@@ -58,15 +59,15 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
+import java.util.List;
import java.util.Locale;
import java.util.Map;
+import java.util.TimeZone;
@RunWith(RobolectricTestRunner.class)
public final class BatteryChartPreferenceControllerTest {
private static final String PREF_KEY = "pref_key";
private static final String PREF_SUMMARY = "fake preference summary";
- private static final int DESIRED_HISTORY_SIZE =
- BatteryChartPreferenceController.DESIRED_HISTORY_SIZE;
@Mock
private InstrumentedPreferenceFragment mFragment;
@@ -79,11 +80,15 @@
@Mock
private BatteryHistEntry mBatteryHistEntry;
@Mock
- private BatteryChartView mBatteryChartView;
+ private BatteryChartView mDailyChartView;
+ @Mock
+ private BatteryChartView mHourlyChartView;
@Mock
private PowerGaugePreference mPowerGaugePreference;
@Mock
private BatteryUtils mBatteryUtils;
+ @Mock
+ private LinearLayout.LayoutParams mLayoutParams;
private Context mContext;
private FakeFeatureFactory mFeatureFactory;
@@ -96,6 +101,7 @@
MockitoAnnotations.initMocks(this);
Locale.setDefault(new Locale("en_US"));
org.robolectric.shadows.ShadowSettings.set24HourTimeFormat(false);
+ TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
mFeatureFactory = FakeFeatureFactory.setupForTest();
mMetricsFeatureProvider = mFeatureFactory.metricsFeatureProvider;
mContext = spy(RuntimeEnvironment.application);
@@ -108,10 +114,12 @@
doReturn(new String[]{"com.android.gms.persistent"})
.when(mFeatureFactory.powerUsageFeatureProvider)
.getHideApplicationEntries(mContext);
+ doReturn(mLayoutParams).when(mDailyChartView).getLayoutParams();
mBatteryChartPreferenceController = createController();
mBatteryChartPreferenceController.mPrefContext = mContext;
mBatteryChartPreferenceController.mAppListPrefGroup = mAppListGroup;
- mBatteryChartPreferenceController.mBatteryChartView = mBatteryChartView;
+ mBatteryChartPreferenceController.mDailyChartView = mDailyChartView;
+ mBatteryChartPreferenceController.mHourlyChartView = mHourlyChartView;
mBatteryDiffEntry = new BatteryDiffEntry(
mContext,
/*foregroundUsageTimeInMs=*/ 1,
@@ -123,12 +131,10 @@
BatteryDiffEntry.sResourceCache.put(
"fakeBatteryDiffEntryKey",
new BatteryEntry.NameAndIcon("fakeName", /*icon=*/ null, /*iconId=*/ 1));
- mBatteryChartPreferenceController.setBatteryHistoryMap(
- createBatteryHistoryMap());
}
@Test
- public void testOnDestroy_activityIsChanging_clearBatteryEntryCache() {
+ public void onDestroy_activityIsChanging_clearBatteryEntryCache() {
doReturn(true).when(mSettingsActivity).isChangingConfigurations();
// Ensures the testing environment is correct.
assertThat(BatteryDiffEntry.sResourceCache).hasSize(1);
@@ -138,7 +144,7 @@
}
@Test
- public void testOnDestroy_activityIsNotChanging_notClearBatteryEntryCache() {
+ public void onDestroy_activityIsNotChanging_notClearBatteryEntryCache() {
doReturn(false).when(mSettingsActivity).isChangingConfigurations();
// Ensures the testing environment is correct.
assertThat(BatteryDiffEntry.sResourceCache).hasSize(1);
@@ -148,7 +154,7 @@
}
@Test
- public void testOnDestroy_clearPreferenceCache() {
+ public void onDestroy_clearPreferenceCache() {
// Ensures the testing environment is correct.
mBatteryChartPreferenceController.mPreferenceCache.put(
PREF_KEY, mPowerGaugePreference);
@@ -160,113 +166,135 @@
}
@Test
- public void testOnDestroy_removeAllPreferenceFromPreferenceGroup() {
+ public void onDestroy_removeAllPreferenceFromPreferenceGroup() {
mBatteryChartPreferenceController.onDestroy();
verify(mAppListGroup).removeAll();
}
@Test
- public void testSetBatteryHistoryMap_createExpectedKeysAndLevels() {
- mBatteryChartPreferenceController.setBatteryHistoryMap(
- createBatteryHistoryMap());
+ public void setBatteryChartViewModel_6Hours() {
+ mBatteryChartPreferenceController.setBatteryHistoryMap(createBatteryHistoryMap(6));
- // Verifies the created battery keys array.
- for (int index = 0; index < DESIRED_HISTORY_SIZE; index++) {
- assertThat(mBatteryChartPreferenceController.mBatteryHistoryKeys[index])
- // These values is are calculated by hand from createBatteryHistoryMap().
- .isEqualTo(index + 1);
- }
- // Verifies the created battery levels array.
- for (int index = 0; index < 13; index++) {
- assertThat(mBatteryChartPreferenceController.mBatteryHistoryLevels[index])
- // These values is are calculated by hand from createBatteryHistoryMap().
- .isEqualTo(100 - index * 2);
- }
- assertThat(mBatteryChartPreferenceController.mBatteryIndexedMap).hasSize(13);
+ verify(mDailyChartView, atLeastOnce()).setVisibility(View.GONE);
+ verify(mHourlyChartView, atLeastOnce()).setVisibility(View.VISIBLE);
+ verify(mHourlyChartView).setViewModel(new BatteryChartViewModel(
+ List.of(100, 97, 95),
+ List.of("8 am", "10 am", "12 pm"),
+ BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS));
}
@Test
- public void testSetBatteryHistoryMap_largeSize_createExpectedKeysAndLevels() {
- mBatteryChartPreferenceController.setBatteryHistoryMap(
- createBatteryHistoryMap());
+ public void setBatteryChartViewModel_60Hours() {
+ BatteryChartViewModel expectedDailyViewModel = new BatteryChartViewModel(
+ List.of(100, 83, 59, 41),
+ List.of("Sat", "Sun", "Mon", "Mon"),
+ BatteryChartViewModel.AxisLabelPosition.CENTER_OF_TRAPEZOIDS);
- // Verifies the created battery keys array.
- for (int index = 0; index < DESIRED_HISTORY_SIZE; index++) {
- assertThat(mBatteryChartPreferenceController.mBatteryHistoryKeys[index])
- // These values is are calculated by hand from createBatteryHistoryMap().
- .isEqualTo(index + 1);
- }
- // Verifies the created battery levels array.
- for (int index = 0; index < 13; index++) {
- assertThat(mBatteryChartPreferenceController.mBatteryHistoryLevels[index])
- // These values is are calculated by hand from createBatteryHistoryMap().
- .isEqualTo(100 - index * 2);
- }
- assertThat(mBatteryChartPreferenceController.mBatteryIndexedMap).hasSize(13);
+ mBatteryChartPreferenceController.setBatteryHistoryMap(createBatteryHistoryMap(60));
+
+ verify(mDailyChartView, atLeastOnce()).setVisibility(View.VISIBLE);
+ verify(mHourlyChartView, atLeastOnce()).setVisibility(View.GONE);
+ verify(mDailyChartView).setViewModel(expectedDailyViewModel);
+
+ reset(mDailyChartView);
+ reset(mHourlyChartView);
+ doReturn(mLayoutParams).when(mDailyChartView).getLayoutParams();
+ mBatteryChartPreferenceController.mDailyChartIndex = 0;
+ mBatteryChartPreferenceController.refreshUi();
+ verify(mDailyChartView).setVisibility(View.VISIBLE);
+ verify(mHourlyChartView).setVisibility(View.VISIBLE);
+
+ expectedDailyViewModel.setSelectedIndex(0);
+ verify(mDailyChartView).setViewModel(expectedDailyViewModel);
+ verify(mHourlyChartView).setViewModel(new BatteryChartViewModel(
+ List.of(100, 97, 95, 93, 91, 89, 87, 85, 83),
+ List.of("8 am", "10 am", "12 pm", "2 pm", "4 pm", "6 pm", "8 pm", "10 pm",
+ "12 am"),
+ BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS));
+
+ reset(mDailyChartView);
+ reset(mHourlyChartView);
+ doReturn(mLayoutParams).when(mDailyChartView).getLayoutParams();
+ mBatteryChartPreferenceController.mDailyChartIndex = 1;
+ mBatteryChartPreferenceController.mHourlyChartIndex = 6;
+ mBatteryChartPreferenceController.refreshUi();
+ verify(mDailyChartView).setVisibility(View.VISIBLE);
+ verify(mHourlyChartView).setVisibility(View.VISIBLE);
+ 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("12 am", "2 am", "4 am", "6 am", "8 am", "10 am", "12 pm", "2 pm",
+ "4 pm", "6 pm", "8 pm", "10 pm", "12 am"),
+ BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS);
+ expectedHourlyViewModel.setSelectedIndex(6);
+ verify(mHourlyChartView).setViewModel(expectedHourlyViewModel);
+
+ reset(mDailyChartView);
+ reset(mHourlyChartView);
+ doReturn(mLayoutParams).when(mDailyChartView).getLayoutParams();
+ mBatteryChartPreferenceController.mDailyChartIndex = 2;
+ mBatteryChartPreferenceController.mHourlyChartIndex =
+ BatteryChartViewModel.SELECTED_INDEX_ALL;
+ mBatteryChartPreferenceController.refreshUi();
+ verify(mDailyChartView).setVisibility(View.VISIBLE);
+ verify(mHourlyChartView).setVisibility(View.VISIBLE);
+ expectedDailyViewModel.setSelectedIndex(2);
+ verify(mDailyChartView).setViewModel(expectedDailyViewModel);
+ verify(mHourlyChartView).setViewModel(new BatteryChartViewModel(
+ List.of(59, 57, 55, 53, 51, 49, 47, 45, 43, 41),
+ List.of("12 am", "2 am", "4 am", "6 am", "8 am", "10 am", "12 pm", "2 pm",
+ "4 pm", "6 pm"),
+ BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS));
}
@Test
- public void testRefreshUi_batteryIndexedMapIsNull_ignoreRefresh() {
+ public void refreshUi_normalCase_returnTrue() {
+ mBatteryChartPreferenceController.setBatteryHistoryMap(createBatteryHistoryMap(6));
+ assertThat(mBatteryChartPreferenceController.refreshUi()).isTrue();
+ }
+
+ @Test
+ public void refreshUi_batteryIndexedMapIsNull_ignoreRefresh() {
mBatteryChartPreferenceController.setBatteryHistoryMap(null);
- assertThat(mBatteryChartPreferenceController.refreshUi(
- /*trapezoidIndex=*/ 1, /*isForce=*/ false)).isFalse();
+ assertThat(mBatteryChartPreferenceController.refreshUi()).isFalse();
}
@Test
- public void testRefreshUi_batteryChartViewIsNull_ignoreRefresh() {
- mBatteryChartPreferenceController.mBatteryChartView = null;
- assertThat(mBatteryChartPreferenceController.refreshUi(
- /*trapezoidIndex=*/ 1, /*isForce=*/ false)).isFalse();
+ public void refreshUi_dailyChartViewIsNull_ignoreRefresh() {
+ mBatteryChartPreferenceController.mDailyChartView = null;
+ assertThat(mBatteryChartPreferenceController.refreshUi()).isFalse();
}
@Test
- public void testRefreshUi_trapezoidIndexIsNotChanged_ignoreRefresh() {
- final int trapezoidIndex = 1;
- mBatteryChartPreferenceController.mTrapezoidIndex = trapezoidIndex;
- assertThat(mBatteryChartPreferenceController.refreshUi(
- trapezoidIndex, /*isForce=*/ false)).isFalse();
+ public void refreshUi_hourlyChartViewIsNull_ignoreRefresh() {
+ mBatteryChartPreferenceController.mHourlyChartView = null;
+ assertThat(mBatteryChartPreferenceController.refreshUi()).isFalse();
}
@Test
- public void testRefreshUi_forceUpdate_refreshUi() {
- final int trapezoidIndex = 1;
- mBatteryChartPreferenceController.mTrapezoidIndex = trapezoidIndex;
- assertThat(mBatteryChartPreferenceController.refreshUi(
- trapezoidIndex, /*isForce=*/ true)).isTrue();
- }
-
- @Test
- public void testForceRefreshUi_updateTrapezoidIndexIntoSelectAll() {
- mBatteryChartPreferenceController.mTrapezoidIndex =
- BatteryChartView.SELECTED_INDEX_INVALID;
- mBatteryChartPreferenceController.setBatteryHistoryMap(
- createBatteryHistoryMap());
-
- assertThat(mBatteryChartPreferenceController.mTrapezoidIndex)
- .isEqualTo(BatteryChartView.SELECTED_INDEX_ALL);
- }
-
- @Test
- public void testRemoveAndCacheAllPrefs_emptyContent_ignoreRemoveAll() {
- final int trapezoidIndex = 1;
+ public void removeAndCacheAllPrefs_emptyContent_ignoreRemoveAll() {
+ mBatteryChartPreferenceController.setBatteryHistoryMap(createBatteryHistoryMap(6));
+ mBatteryChartPreferenceController.mBatteryUsageMap = createBatteryUsageMap();
doReturn(0).when(mAppListGroup).getPreferenceCount();
- mBatteryChartPreferenceController.refreshUi(
- trapezoidIndex, /*isForce=*/ true);
+ mBatteryChartPreferenceController.refreshUi();
verify(mAppListGroup, never()).removeAll();
}
@Test
- public void testRemoveAndCacheAllPrefs_buildCacheAndRemoveAllPreference() {
- final int trapezoidIndex = 1;
+ public void removeAndCacheAllPrefs_buildCacheAndRemoveAllPreference() {
+ mBatteryChartPreferenceController.setBatteryHistoryMap(createBatteryHistoryMap(6));
+ mBatteryChartPreferenceController.mBatteryUsageMap = createBatteryUsageMap();
doReturn(1).when(mAppListGroup).getPreferenceCount();
doReturn(mPowerGaugePreference).when(mAppListGroup).getPreference(0);
+ doReturn(PREF_KEY).when(mBatteryHistEntry).getKey();
doReturn(PREF_KEY).when(mPowerGaugePreference).getKey();
+ doReturn(mPowerGaugePreference).when(mAppListGroup).findPreference(PREF_KEY);
// Ensures the testing data is correct.
assertThat(mBatteryChartPreferenceController.mPreferenceCache).isEmpty();
- mBatteryChartPreferenceController.refreshUi(
- trapezoidIndex, /*isForce=*/ true);
+ mBatteryChartPreferenceController.refreshUi();
assertThat(mBatteryChartPreferenceController.mPreferenceCache.get(PREF_KEY))
.isEqualTo(mPowerGaugePreference);
@@ -274,14 +302,14 @@
}
@Test
- public void testAddPreferenceToScreen_emptyContent_ignoreAddPreference() {
+ public void addPreferenceToScreen_emptyContent_ignoreAddPreference() {
mBatteryChartPreferenceController.addPreferenceToScreen(
new ArrayList<BatteryDiffEntry>());
verify(mAppListGroup, never()).addPreference(any());
}
@Test
- public void testAddPreferenceToScreen_addPreferenceIntoScreen() {
+ public void addPreferenceToScreen_addPreferenceIntoScreen() {
final String appLabel = "fake app label";
doReturn(1).when(mAppListGroup).getPreferenceCount();
doReturn(mDrawable).when(mBatteryDiffEntry).getAppIcon();
@@ -310,7 +338,7 @@
}
@Test
- public void testAddPreferenceToScreen_alreadyInScreen_notAddPreferenceAgain() {
+ public void addPreferenceToScreen_alreadyInScreen_notAddPreferenceAgain() {
final String appLabel = "fake app label";
doReturn(1).when(mAppListGroup).getPreferenceCount();
doReturn(mDrawable).when(mBatteryDiffEntry).getAppIcon();
@@ -325,7 +353,7 @@
}
@Test
- public void testHandlePreferenceTreeiClick_notPowerGaugePreference_returnFalse() {
+ public void handlePreferenceTreeClick_notPowerGaugePreference_returnFalse() {
assertThat(mBatteryChartPreferenceController.handlePreferenceTreeClick(mAppListGroup))
.isFalse();
@@ -336,7 +364,7 @@
}
@Test
- public void testHandlePreferenceTreeClick_forAppEntry_returnTrue() {
+ public void handlePreferenceTreeClick_forAppEntry_returnTrue() {
doReturn(false).when(mBatteryHistEntry).isAppEntry();
doReturn(mBatteryDiffEntry).when(mPowerGaugePreference).getBatteryDiffEntry();
@@ -352,7 +380,7 @@
}
@Test
- public void testHandlePreferenceTreeClick_forSystemEntry_returnTrue() {
+ public void handlePreferenceTreeClick_forSystemEntry_returnTrue() {
mBatteryChartPreferenceController.mBatteryUtils = mBatteryUtils;
doReturn(true).when(mBatteryHistEntry).isAppEntry();
doReturn(mBatteryDiffEntry).when(mPowerGaugePreference).getBatteryDiffEntry();
@@ -369,7 +397,7 @@
}
@Test
- public void testSetPreferenceSummary_setNullContentIfTotalUsageTimeIsZero() {
+ public void setPreferenceSummary_setNullContentIfTotalUsageTimeIsZero() {
final PowerGaugePreference pref = new PowerGaugePreference(mContext);
pref.setSummary(PREF_SUMMARY);
@@ -381,7 +409,7 @@
}
@Test
- public void testSetPreferenceSummary_setBackgroundUsageTimeOnly() {
+ public void setPreferenceSummary_setBackgroundUsageTimeOnly() {
final PowerGaugePreference pref = new PowerGaugePreference(mContext);
pref.setSummary(PREF_SUMMARY);
@@ -393,7 +421,7 @@
}
@Test
- public void testSetPreferenceSummary_setTotalUsageTimeLessThanAMinute() {
+ public void setPreferenceSummary_setTotalUsageTimeLessThanAMinute() {
final PowerGaugePreference pref = new PowerGaugePreference(mContext);
pref.setSummary(PREF_SUMMARY);
@@ -405,7 +433,7 @@
}
@Test
- public void testSetPreferenceSummary_setTotalTimeIfBackgroundTimeLessThanAMinute() {
+ public void setPreferenceSummary_setTotalTimeIfBackgroundTimeLessThanAMinute() {
final PowerGaugePreference pref = new PowerGaugePreference(mContext);
pref.setSummary(PREF_SUMMARY);
@@ -418,7 +446,7 @@
}
@Test
- public void testSetPreferenceSummary_setTotalAndBackgroundUsageTime() {
+ public void setPreferenceSummary_setTotalAndBackgroundUsageTime() {
final PowerGaugePreference pref = new PowerGaugePreference(mContext);
pref.setSummary(PREF_SUMMARY);
@@ -430,7 +458,7 @@
}
@Test
- public void testSetPreferenceSummary_notAllowShownPackage_setSummayAsNull() {
+ public void setPreferenceSummary_notAllowShownPackage_setSummayAsNull() {
final PowerGaugePreference pref = new PowerGaugePreference(mContext);
pref.setSummary(PREF_SUMMARY);
final BatteryDiffEntry batteryDiffEntry =
@@ -445,36 +473,9 @@
}
@Test
- public void testValidateUsageTime_returnTrueIfBatteryDiffEntryIsValid() {
- assertThat(BatteryChartPreferenceController.validateUsageTime(
- createBatteryDiffEntry(
- /*foregroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS,
- /*backgroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS)))
- .isTrue();
- }
-
- @Test
- public void testValidateUsageTime_foregroundTimeExceedThreshold_returnFalse() {
- assertThat(BatteryChartPreferenceController.validateUsageTime(
- createBatteryDiffEntry(
- /*foregroundUsageTimeInMs=*/ DateUtils.HOUR_IN_MILLIS * 3,
- /*backgroundUsageTimeInMs=*/ 0)))
- .isFalse();
- }
-
- @Test
- public void testValidateUsageTime_backgroundTimeExceedThreshold_returnFalse() {
- assertThat(BatteryChartPreferenceController.validateUsageTime(
- createBatteryDiffEntry(
- /*foregroundUsageTimeInMs=*/ 0,
- /*backgroundUsageTimeInMs=*/ DateUtils.HOUR_IN_MILLIS * 3)))
- .isFalse();
- }
-
- @Test
- public void testOnExpand_expandedIsTrue_addSystemEntriesToPreferenceGroup() {
+ public void onExpand_expandedIsTrue_addSystemEntriesToPreferenceGroup() {
doReturn(1).when(mAppListGroup).getPreferenceCount();
- mBatteryChartPreferenceController.mSystemEntries.add(mBatteryDiffEntry);
+ mBatteryChartPreferenceController.mBatteryUsageMap = createBatteryUsageMap();
doReturn("label").when(mBatteryDiffEntry).getAppLabel();
doReturn(mDrawable).when(mBatteryDiffEntry).getAppIcon();
doReturn(PREF_KEY).when(mBatteryHistEntry).getKey();
@@ -493,10 +494,10 @@
}
@Test
- public void testOnExpand_expandedIsFalse_removeSystemEntriesFromPreferenceGroup() {
+ public void onExpand_expandedIsFalse_removeSystemEntriesFromPreferenceGroup() {
doReturn(PREF_KEY).when(mBatteryHistEntry).getKey();
doReturn(mPowerGaugePreference).when(mAppListGroup).findPreference(PREF_KEY);
- mBatteryChartPreferenceController.mSystemEntries.add(mBatteryDiffEntry);
+ mBatteryChartPreferenceController.mBatteryUsageMap = createBatteryUsageMap();
// Verifies the cache is empty first.
assertThat(mBatteryChartPreferenceController.mPreferenceCache).isEmpty();
@@ -513,57 +514,17 @@
}
@Test
- public void testOnSelect_selectSpecificTimeSlot_logMetric() {
- mBatteryChartPreferenceController.onSelect(1 /*slot index*/);
-
- verify(mMetricsFeatureProvider)
- .action(mContext, SettingsEnums.ACTION_BATTERY_USAGE_TIME_SLOT);
- }
-
- @Test
- public void testOnSelect_selectAll_logMetric() {
- mBatteryChartPreferenceController.onSelect(
- BatteryChartView.SELECTED_INDEX_ALL /*slot index*/);
-
- verify(mMetricsFeatureProvider)
- .action(mContext, SettingsEnums.ACTION_BATTERY_USAGE_SHOW_ALL);
- }
-
- @Test
- public void testRefreshCategoryTitle_setHourIntoBothTitleTextView() {
- mBatteryChartPreferenceController = createController();
- setUpBatteryHistoryKeys();
- mBatteryChartPreferenceController.mAppListPrefGroup =
- spy(new PreferenceCategory(mContext));
- mBatteryChartPreferenceController.mExpandDividerPreference =
- spy(new ExpandDividerPreference(mContext));
- // Simulates select the first slot.
- mBatteryChartPreferenceController.mTrapezoidIndex = 0;
-
- mBatteryChartPreferenceController.refreshCategoryTitle();
-
- ArgumentCaptor<String> captor = ArgumentCaptor.forClass(String.class);
- // Verifies the title in the preference group.
- verify(mBatteryChartPreferenceController.mAppListPrefGroup)
- .setTitle(captor.capture());
- assertThat(captor.getValue()).isNotEqualTo("App usage for past 24 hr");
- // Verifies the title in the expandable divider.
- captor = ArgumentCaptor.forClass(String.class);
- verify(mBatteryChartPreferenceController.mExpandDividerPreference)
- .setTitle(captor.capture());
- assertThat(captor.getValue()).isNotEqualTo("System usage for past 24 hr");
- }
-
- @Test
- public void testRefreshCategoryTitle_setLast24HrIntoBothTitleTextView() {
+ public void refreshCategoryTitle_setLastFullChargeIntoBothTitleTextView() {
mBatteryChartPreferenceController = createController();
mBatteryChartPreferenceController.mAppListPrefGroup =
spy(new PreferenceCategory(mContext));
mBatteryChartPreferenceController.mExpandDividerPreference =
spy(new ExpandDividerPreference(mContext));
// Simulates select all condition.
- mBatteryChartPreferenceController.mTrapezoidIndex =
- BatteryChartView.SELECTED_INDEX_ALL;
+ mBatteryChartPreferenceController.mDailyChartIndex =
+ BatteryChartViewModel.SELECTED_INDEX_ALL;
+ mBatteryChartPreferenceController.mHourlyChartIndex =
+ BatteryChartViewModel.SELECTED_INDEX_ALL;
mBatteryChartPreferenceController.refreshCategoryTitle();
@@ -572,76 +533,93 @@
verify(mBatteryChartPreferenceController.mAppListPrefGroup)
.setTitle(captor.capture());
assertThat(captor.getValue())
- .isEqualTo("App usage for past 24 hr");
+ .isEqualTo("App usage since last full charge");
// Verifies the title in the expandable divider.
captor = ArgumentCaptor.forClass(String.class);
verify(mBatteryChartPreferenceController.mExpandDividerPreference)
.setTitle(captor.capture());
assertThat(captor.getValue())
- .isEqualTo("System usage for past 24 hr");
+ .isEqualTo("System usage since last full charge");
}
@Test
- public void testSetTimestampLabel_nullBatteryHistoryKeys_ignore() {
- mBatteryChartPreferenceController = createController();
- mBatteryChartPreferenceController.mBatteryHistoryKeys = null;
- mBatteryChartPreferenceController.mBatteryChartView =
- spy(new BatteryChartView(mContext));
- mBatteryChartPreferenceController.setTimestampLabel();
+ public void selectedSlotText_selectAllDaysAllHours_returnNull() {
+ mBatteryChartPreferenceController.setBatteryHistoryMap(createBatteryHistoryMap(60));
+ mBatteryChartPreferenceController.mDailyChartIndex =
+ BatteryChartViewModel.SELECTED_INDEX_ALL;
+ mBatteryChartPreferenceController.mHourlyChartIndex =
+ BatteryChartViewModel.SELECTED_INDEX_ALL;
- verify(mBatteryChartPreferenceController.mBatteryChartView, never())
- .setLatestTimestamp(anyLong());
+ assertThat(mBatteryChartPreferenceController.getSlotInformation()).isEqualTo(null);
}
@Test
- public void testSetTimestampLabel_setExpectedTimestampData() {
- mBatteryChartPreferenceController = createController();
- mBatteryChartPreferenceController.mBatteryChartView =
- spy(new BatteryChartView(mContext));
- setUpBatteryHistoryKeys();
+ public void selectedSlotText_onlyOneDayDataSelectAllHours_returnNull() {
+ mBatteryChartPreferenceController.setBatteryHistoryMap(createBatteryHistoryMap(6));
+ mBatteryChartPreferenceController.mDailyChartIndex = 0;
+ mBatteryChartPreferenceController.mHourlyChartIndex =
+ BatteryChartViewModel.SELECTED_INDEX_ALL;
- mBatteryChartPreferenceController.setTimestampLabel();
-
- verify(mBatteryChartPreferenceController.mBatteryChartView)
- .setLatestTimestamp(1619247636826L);
+ assertThat(mBatteryChartPreferenceController.getSlotInformation()).isEqualTo(null);
}
@Test
- public void testSetTimestampLabel_withoutValidTimestamp_setExpectedTimestampData() {
- mBatteryChartPreferenceController = createController();
- mBatteryChartPreferenceController.mBatteryChartView =
- spy(new BatteryChartView(mContext));
- mBatteryChartPreferenceController.mBatteryHistoryKeys = new long[]{0L};
+ public void selectedSlotText_selectADayAllHours_onlyDayText() {
+ mBatteryChartPreferenceController.setBatteryHistoryMap(createBatteryHistoryMap(60));
+ mBatteryChartPreferenceController.mDailyChartIndex = 1;
+ mBatteryChartPreferenceController.mHourlyChartIndex =
+ BatteryChartViewModel.SELECTED_INDEX_ALL;
- mBatteryChartPreferenceController.setTimestampLabel();
-
- verify(mBatteryChartPreferenceController.mBatteryChartView)
- .setLatestTimestamp(anyLong());
+ assertThat(mBatteryChartPreferenceController.getSlotInformation()).isEqualTo("Sunday");
}
@Test
- public void testOnSaveInstanceState_restoreSelectedIndexAndExpandState() {
- final int expectedIndex = 1;
+ public void selectedSlotText_onlyOneDayDataSelectAnHour_onlyHourText() {
+ mBatteryChartPreferenceController.setBatteryHistoryMap(createBatteryHistoryMap(6));
+ mBatteryChartPreferenceController.mDailyChartIndex = 0;
+ mBatteryChartPreferenceController.mHourlyChartIndex = 1;
+
+ assertThat(mBatteryChartPreferenceController.getSlotInformation()).isEqualTo(
+ "10 am - 12 pm");
+ }
+
+ @Test
+ public void selectedSlotText_SelectADayAnHour_dayAndHourText() {
+ mBatteryChartPreferenceController.setBatteryHistoryMap(createBatteryHistoryMap(60));
+ mBatteryChartPreferenceController.mDailyChartIndex = 1;
+ mBatteryChartPreferenceController.mHourlyChartIndex = 8;
+
+ assertThat(mBatteryChartPreferenceController.getSlotInformation()).isEqualTo(
+ "Sunday 4 pm - 6 pm");
+ }
+
+ @Test
+ public void onSaveInstanceState_restoreSelectedIndexAndExpandState() {
+ final int expectedDailyIndex = 1;
+ final int expectedHourlyIndex = 2;
final boolean isExpanded = true;
final Bundle bundle = new Bundle();
- mBatteryChartPreferenceController.mTrapezoidIndex = expectedIndex;
+ mBatteryChartPreferenceController.mDailyChartIndex = expectedDailyIndex;
+ mBatteryChartPreferenceController.mHourlyChartIndex = expectedHourlyIndex;
mBatteryChartPreferenceController.mIsExpanded = isExpanded;
mBatteryChartPreferenceController.onSaveInstanceState(bundle);
// Replaces the original controller with other values.
- mBatteryChartPreferenceController.mTrapezoidIndex = -1;
+ mBatteryChartPreferenceController.mDailyChartIndex = -1;
+ mBatteryChartPreferenceController.mHourlyChartIndex = -1;
mBatteryChartPreferenceController.mIsExpanded = false;
mBatteryChartPreferenceController.onCreate(bundle);
- mBatteryChartPreferenceController.setBatteryHistoryMap(
- createBatteryHistoryMap());
+ mBatteryChartPreferenceController.setBatteryHistoryMap(createBatteryHistoryMap(25));
- assertThat(mBatteryChartPreferenceController.mTrapezoidIndex)
- .isEqualTo(expectedIndex);
+ assertThat(mBatteryChartPreferenceController.mDailyChartIndex)
+ .isEqualTo(expectedDailyIndex);
+ assertThat(mBatteryChartPreferenceController.mHourlyChartIndex)
+ .isEqualTo(expectedHourlyIndex);
assertThat(mBatteryChartPreferenceController.mIsExpanded).isTrue();
}
@Test
- public void testIsValidToShowSummary_returnExpectedResult() {
+ public void isValidToShowSummary_returnExpectedResult() {
assertThat(mBatteryChartPreferenceController
.isValidToShowSummary("com.google.android.apps.scone"))
.isTrue();
@@ -653,30 +631,53 @@
}
@Test
- public void testIsValidToShowEntry_returnExpectedResult() {
- assertThat(mBatteryChartPreferenceController
- .isValidToShowEntry("com.google.android.apps.scone"))
- .isTrue();
+ public void getTotalHours_getExpectedResult() {
+ Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap = createBatteryHistoryMap(60);
+ BatteryLevelData batteryLevelData = DataProcessor.getBatteryLevelData(mContext, null,
+ batteryHistoryMap, null);
- // Verifies the items which are defined in the array list.
- assertThat(mBatteryChartPreferenceController
- .isValidToShowEntry("com.android.gms.persistent"))
- .isFalse();
+ final int totalHour = BatteryChartPreferenceController.getTotalHours(batteryLevelData);
+
+ // Only calculate the even hours.
+ assertThat(totalHour).isEqualTo(58);
}
- private static Map<Long, Map<String, BatteryHistEntry>> createBatteryHistoryMap() {
+ private static Long generateTimestamp(int index) {
+ // "2021-04-23 07:00:00 UTC" + index hours
+ return 1619247600000L + index * DateUtils.HOUR_IN_MILLIS;
+ }
+
+ private static Map<Long, Map<String, BatteryHistEntry>> createBatteryHistoryMap(
+ int numOfHours) {
final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap = new HashMap<>();
- for (int index = 0; index < DESIRED_HISTORY_SIZE; index++) {
+ for (int index = 0; index < numOfHours; index++) {
final ContentValues values = new ContentValues();
values.put("batteryLevel", Integer.valueOf(100 - index));
+ values.put("consumePower", Integer.valueOf(100 - index));
final BatteryHistEntry entry = new BatteryHistEntry(values);
final Map<String, BatteryHistEntry> entryMap = new HashMap<>();
entryMap.put("fake_entry_key" + index, entry);
- batteryHistoryMap.put(Long.valueOf(index + 1), entryMap);
+ batteryHistoryMap.put(generateTimestamp(index), entryMap);
}
return batteryHistoryMap;
}
+ private Map<Integer, Map<Integer, BatteryDiffData>> createBatteryUsageMap() {
+ final int selectedAll = BatteryChartViewModel.SELECTED_INDEX_ALL;
+ return Map.of(
+ selectedAll, Map.of(
+ selectedAll, new BatteryDiffData(
+ Arrays.asList(mBatteryDiffEntry),
+ Arrays.asList(mBatteryDiffEntry))),
+ 0, Map.of(
+ selectedAll, new BatteryDiffData(
+ Arrays.asList(mBatteryDiffEntry),
+ Arrays.asList(mBatteryDiffEntry)),
+ 0, new BatteryDiffData(
+ Arrays.asList(mBatteryDiffEntry),
+ Arrays.asList(mBatteryDiffEntry))));
+ }
+
private BatteryDiffEntry createBatteryDiffEntry(
long foregroundUsageTimeInMs, long backgroundUsageTimeInMs) {
return new BatteryDiffEntry(
@@ -684,13 +685,6 @@
/*consumePower=*/ 0, mBatteryHistEntry);
}
- private void setUpBatteryHistoryKeys() {
- mBatteryChartPreferenceController.mBatteryHistoryKeys =
- new long[]{1619196786769L, 0L, 1619247636826L};
- ConvertUtils.utcToLocalTimeHour(
- mContext, /*timestamp=*/ 0, /*is24HourFormat=*/ false);
- }
-
private BatteryChartPreferenceController createController() {
final BatteryChartPreferenceController controller =
new BatteryChartPreferenceController(
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 a2d8ca9..8a43087 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartViewTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartViewTest.java
@@ -26,6 +26,7 @@
import android.accessibilityservice.AccessibilityServiceInfo;
import android.content.Context;
import android.os.LocaleList;
+import android.view.View;
import android.view.accessibility.AccessibilityManager;
import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
@@ -41,6 +42,7 @@
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.List;
import java.util.Locale;
@RunWith(RobolectricTestRunner.class)
@@ -55,6 +57,8 @@
private AccessibilityServiceInfo mMockAccessibilityServiceInfo;
@Mock
private AccessibilityManager mMockAccessibilityManager;
+ @Mock
+ private View mMockView;
@Before
public void setUp() {
@@ -74,13 +78,13 @@
}
@Test
- public void testIsAccessibilityEnabled_disable_returnFalse() {
+ public void isAccessibilityEnabled_disable_returnFalse() {
doReturn(false).when(mMockAccessibilityManager).isEnabled();
assertThat(BatteryChartView.isAccessibilityEnabled(mContext)).isFalse();
}
@Test
- public void testIsAccessibilityEnabled_emptyInfo_returnFalse() {
+ public void isAccessibilityEnabled_emptyInfo_returnFalse() {
doReturn(true).when(mMockAccessibilityManager).isEnabled();
doReturn(new ArrayList<AccessibilityServiceInfo>())
.when(mMockAccessibilityManager)
@@ -90,68 +94,70 @@
}
@Test
- public void testIsAccessibilityEnabled_validServiceId_returnTrue() {
+ public void isAccessibilityEnabled_validServiceId_returnTrue() {
doReturn(true).when(mMockAccessibilityManager).isEnabled();
assertThat(BatteryChartView.isAccessibilityEnabled(mContext)).isTrue();
}
@Test
- public void testSetSelectedIndex_invokesCallback() {
+ public void onClick_invokesCallback() {
+ final int originalSelectedIndex = 2;
+ BatteryChartViewModel batteryChartViewModel = new BatteryChartViewModel(
+ List.of(90, 80, 70, 60), List.of("", "", "", ""),
+ BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS);
+ batteryChartViewModel.setSelectedIndex(originalSelectedIndex);
+ mBatteryChartView.setViewModel(batteryChartViewModel);
+ for (int i = 0; i < mBatteryChartView.mTrapezoidSlots.length; i++) {
+ mBatteryChartView.mTrapezoidSlots[i] = new BatteryChartView.TrapezoidSlot();
+ mBatteryChartView.mTrapezoidSlots[i].mLeft = i;
+ mBatteryChartView.mTrapezoidSlots[i].mRight = i + 0.5f;
+ }
final int[] selectedIndex = new int[1];
- final int expectedIndex = 2;
- mBatteryChartView.mSelectedIndex = 1;
mBatteryChartView.setOnSelectListener(
trapezoidIndex -> {
selectedIndex[0] = trapezoidIndex;
});
- mBatteryChartView.setSelectedIndex(expectedIndex);
+ // Verify onClick() a different index 1.
+ mBatteryChartView.mTouchUpEventX = 1;
+ selectedIndex[0] = Integer.MIN_VALUE;
+ mBatteryChartView.onClick(mMockView);
+ assertThat(selectedIndex[0]).isEqualTo(1);
- assertThat(mBatteryChartView.mSelectedIndex)
- .isEqualTo(expectedIndex);
- assertThat(selectedIndex[0]).isEqualTo(expectedIndex);
+ // Verify onClick() the same index 2.
+ mBatteryChartView.mTouchUpEventX = 2;
+ selectedIndex[0] = Integer.MIN_VALUE;
+ mBatteryChartView.onClick(mMockView);
+ assertThat(selectedIndex[0]).isEqualTo(BatteryChartViewModel.SELECTED_INDEX_ALL);
}
@Test
- public void testSetSelectedIndex_sameIndex_notInvokesCallback() {
- final int[] selectedIndex = new int[1];
- final int expectedIndex = 1;
- mBatteryChartView.mSelectedIndex = expectedIndex;
- mBatteryChartView.setOnSelectListener(
- trapezoidIndex -> {
- selectedIndex[0] = trapezoidIndex;
- });
-
- mBatteryChartView.setSelectedIndex(expectedIndex);
-
- assertThat(selectedIndex[0]).isNotEqualTo(expectedIndex);
- }
-
- @Test
- public void testClickable_isChartGraphSlotsEnabledIsFalse_notClickable() {
+ public void clickable_isChartGraphSlotsEnabledIsFalse_notClickable() {
mBatteryChartView.setClickableForce(true);
when(mPowerUsageFeatureProvider.isChartGraphSlotsEnabled(mContext))
.thenReturn(false);
mBatteryChartView.onAttachedToWindow();
+
assertThat(mBatteryChartView.isClickable()).isFalse();
assertThat(mBatteryChartView.mTrapezoidCurvePaint).isNotNull();
}
@Test
- public void testClickable_accessibilityIsDisabled_clickable() {
+ public void clickable_accessibilityIsDisabled_clickable() {
mBatteryChartView.setClickableForce(true);
when(mPowerUsageFeatureProvider.isChartGraphSlotsEnabled(mContext))
.thenReturn(true);
doReturn(false).when(mMockAccessibilityManager).isEnabled();
mBatteryChartView.onAttachedToWindow();
+
assertThat(mBatteryChartView.isClickable()).isTrue();
assertThat(mBatteryChartView.mTrapezoidCurvePaint).isNull();
}
@Test
- public void testClickable_accessibilityIsEnabledWithoutValidId_clickable() {
+ public void clickable_accessibilityIsEnabledWithoutValidId_clickable() {
mBatteryChartView.setClickableForce(true);
when(mPowerUsageFeatureProvider.isChartGraphSlotsEnabled(mContext))
.thenReturn(true);
@@ -161,30 +167,34 @@
.getEnabledAccessibilityServiceList(anyInt());
mBatteryChartView.onAttachedToWindow();
+
assertThat(mBatteryChartView.isClickable()).isTrue();
assertThat(mBatteryChartView.mTrapezoidCurvePaint).isNull();
}
@Test
- public void testClickable_accessibilityIsEnabledWithValidId_notClickable() {
+ public void clickable_accessibilityIsEnabledWithValidId_notClickable() {
mBatteryChartView.setClickableForce(true);
when(mPowerUsageFeatureProvider.isChartGraphSlotsEnabled(mContext))
.thenReturn(true);
doReturn(true).when(mMockAccessibilityManager).isEnabled();
mBatteryChartView.onAttachedToWindow();
+
assertThat(mBatteryChartView.isClickable()).isFalse();
assertThat(mBatteryChartView.mTrapezoidCurvePaint).isNotNull();
}
@Test
- public void testClickable_restoreFromNonClickableState() {
- final int[] levels = new int[13];
- for (int index = 0; index < levels.length; index++) {
- levels[index] = index + 1;
+ public void clickable_restoreFromNonClickableState() {
+ final List<Integer> levels = new ArrayList<Integer>();
+ final List<String> texts = new ArrayList<String>();
+ for (int index = 0; index < 13; index++) {
+ levels.add(index + 1);
+ texts.add("");
}
- mBatteryChartView.setTrapezoidCount(12);
- mBatteryChartView.setLevels(levels);
+ mBatteryChartView.setViewModel(new BatteryChartViewModel(levels, texts,
+ BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS));
mBatteryChartView.setClickableForce(true);
when(mPowerUsageFeatureProvider.isChartGraphSlotsEnabled(mContext))
.thenReturn(true);
@@ -201,14 +211,14 @@
}
@Test
- public void testOnAttachedToWindow_addAccessibilityStateChangeListener() {
+ public void onAttachedToWindow_addAccessibilityStateChangeListener() {
mBatteryChartView.onAttachedToWindow();
verify(mMockAccessibilityManager)
.addAccessibilityStateChangeListener(mBatteryChartView);
}
@Test
- public void testOnDetachedFromWindow_removeAccessibilityStateChangeListener() {
+ public void onDetachedFromWindow_removeAccessibilityStateChangeListener() {
mBatteryChartView.onAttachedToWindow();
mBatteryChartView.mHandler.postDelayed(
mBatteryChartView.mUpdateClickableStateRun, 1000);
@@ -223,7 +233,7 @@
}
@Test
- public void testOnAccessibilityStateChanged_postUpdateStateRunnable() {
+ public void onAccessibilityStateChanged_postUpdateStateRunnable() {
mBatteryChartView.mHandler = spy(mBatteryChartView.mHandler);
mBatteryChartView.onAccessibilityStateChanged(/*enabled=*/ true);
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 5ca3aca..ffc6d9a 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java
@@ -307,7 +307,7 @@
R.drawable.ic_settings_aod);
assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_BLUETOOTH,
R.string.power_bluetooth,
- com.android.internal.R.drawable.ic_settings_bluetooth);
+ R.drawable.ic_settings_bluetooth);
assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_CAMERA,
R.string.power_camera,
R.drawable.ic_settings_camera);
@@ -325,7 +325,7 @@
R.drawable.ic_settings_display);
assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_WIFI,
R.string.power_wifi,
- R.drawable.ic_settings_wireless);
+ R.drawable.ic_settings_wireless_no_theme);
assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_IDLE,
R.string.power_idle,
R.drawable.ic_settings_phone_idle);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryLoaderTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryLoaderTest.java
index 98a44de..5717857 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryLoaderTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryLoaderTest.java
@@ -53,7 +53,7 @@
public void testLoadIBackground_returnsMapFromPowerFeatureProvider() {
final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap = new HashMap<>();
doReturn(batteryHistoryMap).when(mFeatureFactory.powerUsageFeatureProvider)
- .getBatteryHistory(mContext);
+ .getBatteryHistorySinceLastFullCharge(mContext);
assertThat(mBatteryHistoryLoader.loadInBackground())
.isSameInstanceAs(batteryHistoryMap);
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 c1f9815..c9bac03 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ConvertUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ConvertUtilsTest.java
@@ -26,6 +26,7 @@
import android.os.BatteryUsageStats;
import android.os.LocaleList;
import android.os.UserHandle;
+import android.text.format.DateUtils;
import com.android.settings.fuelgauge.BatteryUtils;
import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
@@ -39,8 +40,8 @@
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
-import java.util.Arrays;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -173,7 +174,8 @@
public void getIndexedUsageMap_returnsExpectedResult() {
// Creates the fake testing data.
final int timeSlotSize = 2;
- final long[] batteryHistoryKeys = new long[]{101L, 102L, 103L, 104L, 105L};
+ final long[] batteryHistoryKeys = new long[]{generateTimestamp(0), generateTimestamp(1),
+ generateTimestamp(2), generateTimestamp(3), generateTimestamp(4)};
final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
new HashMap<>();
final BatteryHistEntry fakeEntry = createBatteryHistEntry(
@@ -270,11 +272,11 @@
for (int index = 0; index < remainingSize; index++) {
batteryHistoryMap.put(105L + index + 1, new HashMap<>());
}
- when(mPowerUsageFeatureProvider.getBatteryHistory(mContext))
+ when(mPowerUsageFeatureProvider.getBatteryHistorySinceLastFullCharge(mContext))
.thenReturn(batteryHistoryMap);
final List<BatteryDiffEntry> batteryDiffEntryList =
- BatteryChartPreferenceController.getBatteryLast24HrUsageData(mContext);
+ BatteryChartPreferenceController.getAppBatteryUsageData(mContext);
assertThat(batteryDiffEntryList).isNotEmpty();
final BatteryDiffEntry resultEntry = batteryDiffEntryList.get(0);
@@ -472,4 +474,9 @@
assertThat(entry.mForegroundUsageTimeInMs).isEqualTo(foregroundUsageTimeInMs);
assertThat(entry.mBackgroundUsageTimeInMs).isEqualTo(backgroundUsageTimeInMs);
}
+
+ private static Long generateTimestamp(int index) {
+ // "2021-04-23 07:00:00 UTC" + index hours
+ return 1619247600000L + index * DateUtils.HOUR_IN_MILLIS;
+ }
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java
new file mode 100644
index 0000000..883b0e7
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java
@@ -0,0 +1,950 @@
+/*
+ * Copyright (C) 2022 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.fuelgauge.batteryusage;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.ContentValues;
+import android.content.Context;
+import android.text.format.DateUtils;
+
+import com.android.settings.fuelgauge.BatteryUtils;
+import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
+import com.android.settings.testutils.FakeFeatureFactory;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.TimeZone;
+
+@RunWith(RobolectricTestRunner.class)
+public class DataProcessorTest {
+ private static final String FAKE_ENTRY_KEY = "fake_entry_key";
+
+ private Context mContext;
+
+ private FakeFeatureFactory mFeatureFactory;
+ private PowerUsageFeatureProvider mPowerUsageFeatureProvider;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));
+
+ mContext = spy(RuntimeEnvironment.application);
+ mFeatureFactory = FakeFeatureFactory.setupForTest();
+ mPowerUsageFeatureProvider = mFeatureFactory.powerUsageFeatureProvider;
+ }
+
+ @Test
+ public void getBatteryLevelData_emptyHistoryMap_returnNull() {
+ assertThat(DataProcessor.getBatteryLevelData(
+ mContext,
+ /*handler=*/ null,
+ /*batteryHistoryMap=*/ null,
+ /*asyncResponseDelegate=*/ null))
+ .isNull();
+ assertThat(DataProcessor.getBatteryLevelData(
+ mContext, /*handler=*/ null, new HashMap<>(), /*asyncResponseDelegate=*/ null))
+ .isNull();
+ }
+
+ @Test
+ public void getBatteryLevelData_notEnoughData_returnNull() {
+ // The timestamps are within 1 hour.
+ final long[] timestamps = {1000000L, 2000000L, 3000000L};
+ final int[] levels = {100, 99, 98};
+ final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
+ createHistoryMap(timestamps, levels);
+
+ assertThat(DataProcessor.getBatteryLevelData(
+ mContext, /*handler=*/ null, batteryHistoryMap, /*asyncResponseDelegate=*/ null))
+ .isNull();
+ }
+
+ @Test
+ public void getBatteryLevelData_returnExpectedResult() {
+ // Timezone GMT+8: 2022-01-01 00:00:00, 2022-01-01 01:00:00, 2022-01-01 02:00:00
+ final long[] timestamps = {1640966400000L, 1640970000000L, 1640973600000L};
+ final int[] levels = {100, 99, 98};
+ final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
+ createHistoryMap(timestamps, levels);
+
+ final BatteryLevelData resultData =
+ DataProcessor.getBatteryLevelData(
+ mContext,
+ /*handler=*/ null,
+ batteryHistoryMap,
+ /*asyncResponseDelegate=*/ null);
+
+ final List<Long> expectedDailyTimestamps = List.of(timestamps[0], timestamps[2]);
+ final List<Integer> expectedDailyLevels = List.of(levels[0], levels[2]);
+ final List<List<Long>> expectedHourlyTimestamps = List.of(expectedDailyTimestamps);
+ final List<List<Integer>> expectedHourlyLevels = List.of(expectedDailyLevels);
+ verifyExpectedBatteryLevelData(
+ resultData,
+ expectedDailyTimestamps,
+ expectedDailyLevels,
+ expectedHourlyTimestamps,
+ expectedHourlyLevels);
+ }
+
+ @Test
+ public void getHistoryMapWithExpectedTimestamps_emptyHistoryMap_returnEmptyMap() {
+ assertThat(DataProcessor
+ .getHistoryMapWithExpectedTimestamps(mContext, new HashMap<>()))
+ .isEmpty();
+ }
+
+ @Test
+ 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
+ };
+ final int[] levels = {100, 94, 90, 82, 50};
+ final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
+ createHistoryMap(timestamps, levels);
+
+ final Map<Long, Map<String, BatteryHistEntry>> resultMap =
+ DataProcessor.getHistoryMapWithExpectedTimestamps(mContext, batteryHistoryMap);
+
+ // Timezone GMT+8
+ final long[] expectedTimestamps = {
+ 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[] expectedLevels = {100, 94, 90, 84, 56};
+ assertThat(resultMap).hasSize(expectedLevels.length);
+ for (int index = 0; index < expectedLevels.length; index++) {
+ assertThat(resultMap.get(expectedTimestamps[index]).get(FAKE_ENTRY_KEY).mBatteryLevel)
+ .isEqualTo(expectedLevels[index]);
+ }
+ }
+
+ @Test
+ public void getLevelDataThroughProcessedHistoryMap_notEnoughData_returnNull() {
+ final long[] timestamps = {100L};
+ final int[] levels = {100};
+ final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
+ createHistoryMap(timestamps, levels);
+
+ assertThat(
+ DataProcessor.getLevelDataThroughProcessedHistoryMap(mContext, batteryHistoryMap))
+ .isNull();
+ }
+
+ @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
+ };
+ final int[] levels = {100, 94, 90, 82, 50};
+ final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
+ createHistoryMap(timestamps, levels);
+
+ final BatteryLevelData resultData =
+ DataProcessor.getLevelDataThroughProcessedHistoryMap(mContext, batteryHistoryMap);
+
+ 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])
+ );
+ verifyExpectedBatteryLevelData(
+ resultData,
+ expectedDailyTimestamps,
+ expectedDailyLevels,
+ expectedHourlyTimestamps,
+ expectedHourlyLevels);
+ }
+
+ @Test
+ 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
+ };
+ final int[] levels = {100, 94, 90, 82};
+ final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
+ createHistoryMap(timestamps, levels);
+
+ 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<Integer> expectedDailyLevels = new ArrayList<>();
+ expectedDailyLevels.add(100);
+ expectedDailyLevels.add(null);
+ expectedDailyLevels.add(82);
+ final List<List<Long>> expectedHourlyTimestamps = List.of(
+ 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(null);
+ expectedHourlyLevels1.add(null);
+ final List<Integer> expectedHourlyLevels2 = new ArrayList<>();
+ expectedHourlyLevels2.add(null);
+ expectedHourlyLevels2.add(94);
+ expectedHourlyLevels2.add(90);
+ expectedHourlyLevels2.add(null);
+ expectedHourlyLevels2.add(82);
+ final List<List<Integer>> expectedHourlyLevels = List.of(
+ expectedHourlyLevels1,
+ expectedHourlyLevels2
+ );
+ verifyExpectedBatteryLevelData(
+ resultData,
+ expectedDailyTimestamps,
+ expectedDailyLevels,
+ expectedHourlyTimestamps,
+ expectedHourlyLevels);
+ }
+
+ @Test
+ public void getTimestampSlots_emptyRawList_returnEmptyList() {
+ final List<Long> resultList =
+ DataProcessor.getTimestampSlots(new ArrayList<>());
+ assertThat(resultList).isEmpty();
+ }
+
+ @Test
+ public void getTimestampSlots_startWithEvenHour_returnExpectedResult() {
+ final Calendar startCalendar = Calendar.getInstance();
+ startCalendar.set(2022, 6, 5, 6, 30, 50); // 2022-07-05 06:30:50
+ final Calendar endCalendar = Calendar.getInstance();
+ endCalendar.set(2022, 6, 5, 22, 30, 50); // 2022-07-05 22:30:50
+
+ final Calendar expectedStartCalendar = Calendar.getInstance();
+ expectedStartCalendar.set(2022, 6, 5, 6, 0, 0); // 2022-07-05 06:00:00
+ final Calendar expectedEndCalendar = Calendar.getInstance();
+ expectedEndCalendar.set(2022, 6, 5, 22, 0, 0); // 2022-07-05 22:00:00
+ verifyExpectedTimestampSlots(
+ startCalendar, endCalendar, expectedStartCalendar, expectedEndCalendar);
+ }
+
+ @Test
+ public void getTimestampSlots_startWithOddHour_returnExpectedResult() {
+ final Calendar startCalendar = Calendar.getInstance();
+ startCalendar.set(2022, 6, 5, 5, 0, 50); // 2022-07-05 05:00:50
+ final Calendar endCalendar = Calendar.getInstance();
+ endCalendar.set(2022, 6, 6, 21, 00, 50); // 2022-07-06 21:00:50
+
+ final Calendar expectedStartCalendar = Calendar.getInstance();
+ expectedStartCalendar.set(2022, 6, 5, 6, 00, 00); // 2022-07-05 06:00:00
+ final Calendar expectedEndCalendar = Calendar.getInstance();
+ expectedEndCalendar.set(2022, 6, 6, 20, 00, 00); // 2022-07-06 20:00:00
+ verifyExpectedTimestampSlots(
+ startCalendar, endCalendar, expectedStartCalendar, expectedEndCalendar);
+ }
+
+ @Test
+ public void getDailyTimestamps_notEnoughData_returnEmptyList() {
+ assertThat(DataProcessor.getDailyTimestamps(new ArrayList<>())).isEmpty();
+ assertThat(DataProcessor.getDailyTimestamps(List.of(100L))).isEmpty();
+ }
+
+ @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> expectedTimestamps = List.of(
+ 1640966400000L, // 2022-01-01 00:00:00
+ 1640980800000L // 2022-01-01 04:00:00
+ );
+ assertThat(DataProcessor.getDailyTimestamps(timestamps)).isEqualTo(expectedTimestamps);
+ }
+
+ @Test
+ public void getDailyTimestamps_MultipleDaysData_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
+ 1641254400000L // 2022-01-04 08: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
+ 1641254400000L // 2022-01-04 08:00:00
+ );
+ assertThat(DataProcessor.getDailyTimestamps(timestamps)).isEqualTo(expectedTimestamps);
+ }
+
+ @Test
+ public void isFromFullCharge_emptyData_returnFalse() {
+ assertThat(DataProcessor.isFromFullCharge(null)).isFalse();
+ assertThat(DataProcessor.isFromFullCharge(new HashMap<>())).isFalse();
+ }
+
+ @Test
+ public void isFromFullCharge_notChargedData_returnFalse() {
+ final Map<String, BatteryHistEntry> entryMap = new HashMap<>();
+ final ContentValues values = new ContentValues();
+ values.put("batteryLevel", 98);
+ final BatteryHistEntry entry = new BatteryHistEntry(values);
+ entryMap.put(FAKE_ENTRY_KEY, entry);
+
+ assertThat(DataProcessor.isFromFullCharge(entryMap)).isFalse();
+ }
+
+ @Test
+ public void isFromFullCharge_chargedData_returnTrue() {
+ final Map<String, BatteryHistEntry> entryMap = new HashMap<>();
+ final ContentValues values = new ContentValues();
+ values.put("batteryLevel", 100);
+ final BatteryHistEntry entry = new BatteryHistEntry(values);
+ entryMap.put(FAKE_ENTRY_KEY, entry);
+
+ assertThat(DataProcessor.isFromFullCharge(entryMap)).isTrue();
+ }
+
+ @Test
+ public void findNearestTimestamp_returnExpectedResult() {
+ 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);
+ assertThat(results).isEqualTo(new long[] {10L, 10L});
+
+ 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);
+ assertThat(results).isEqualTo(new long[] {40L, 0L});
+ }
+
+ @Test
+ public void getTimestampOfNextDay_returnExpectedResult() {
+ // 2021-02-28 06:00:00 => 2021-03-01 00:00:00
+ assertThat(DataProcessor.getTimestampOfNextDay(1614463200000L))
+ .isEqualTo(1614528000000L);
+ // 2021-12-31 16:00:00 => 2022-01-01 00:00:00
+ assertThat(DataProcessor.getTimestampOfNextDay(1640937600000L))
+ .isEqualTo(1640966400000L);
+ }
+
+ @Test
+ public void isForDailyChart_returnExpectedResult() {
+ assertThat(DataProcessor.isForDailyChart(/*isStartOrEnd=*/ true, 0L)).isTrue();
+ // 2022-01-01 00:00:00
+ assertThat(DataProcessor.isForDailyChart(/*isStartOrEnd=*/ false, 1640966400000L))
+ .isTrue();
+ // 2022-01-01 01:00:05
+ assertThat(DataProcessor.isForDailyChart(/*isStartOrEnd=*/ false, 1640970005000L))
+ .isFalse();
+ }
+
+ @Test
+ public void getBatteryUsageMap_emptyHistoryMap_returnNull() {
+ final List<BatteryLevelData.PeriodBatteryLevelData> hourlyBatteryLevelsPerDay =
+ new ArrayList<>();
+ hourlyBatteryLevelsPerDay.add(
+ new BatteryLevelData.PeriodBatteryLevelData(new ArrayList<>(), new ArrayList<>()));
+
+ assertThat(DataProcessor.getBatteryUsageMap(
+ mContext, hourlyBatteryLevelsPerDay, new HashMap<>())).isNull();
+ }
+
+ @Test
+ public void getBatteryUsageMap_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 Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap = new HashMap<>();
+ final int currentUserId = mContext.getUserId();
+ final BatteryHistEntry fakeEntry = createBatteryHistEntry(
+ ConvertUtils.FAKE_PACKAGE_NAME, "fake_label", /*consumePower=*/ 0, /*uid=*/ 0L,
+ currentUserId, ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /*foregroundUsageTimeInMs=*/ 0L, /*backgroundUsageTimeInMs=*/ 0L);
+ // Adds the index = 0 data.
+ Map<String, BatteryHistEntry> entryMap = new HashMap<>();
+ BatteryHistEntry entry = createBatteryHistEntry(
+ "package1", "label1", /*consumePower=*/ 5.0, /*uid=*/ 1L, currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 10L,
+ /*backgroundUsageTimeInMs=*/ 20L);
+ entryMap.put(entry.getKey(), entry);
+ entryMap.put(fakeEntry.getKey(), fakeEntry);
+ batteryHistoryMap.put(batteryHistoryKeys[0], entryMap);
+ // Adds the index = 1 data.
+ entryMap = new HashMap<>();
+ entryMap.put(fakeEntry.getKey(), fakeEntry);
+ batteryHistoryMap.put(batteryHistoryKeys[1], entryMap);
+ // Adds the index = 2 data.
+ entryMap = new HashMap<>();
+ entry = createBatteryHistEntry(
+ "package2", "label2", /*consumePower=*/ 20.0, /*uid=*/ 2L, currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 15L,
+ 25L);
+ 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, /*uid=*/ 2L, currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 25L,
+ /*backgroundUsageTimeInMs=*/ 35L);
+ entryMap.put(entry.getKey(), entry);
+ entry = createBatteryHistEntry(
+ "package2", "label2", /*consumePower=*/ 10.0, /*uid=*/ 3L, currentUserId,
+ ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY, /*foregroundUsageTimeInMs=*/ 40L,
+ /*backgroundUsageTimeInMs=*/ 50L);
+ entryMap.put(entry.getKey(), entry);
+ entry = createBatteryHistEntry(
+ "package3", "label3", /*consumePower=*/ 15.0, /*uid=*/ 4L, currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 5L,
+ /*backgroundUsageTimeInMs=*/ 5L);
+ 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, /*uid=*/ 2L, currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 30L,
+ /*backgroundUsageTimeInMs=*/ 40L);
+ entryMap.put(entry.getKey(), entry);
+ entry = createBatteryHistEntry(
+ "package2", "label2", /*consumePower=*/ 20.0, /*uid=*/ 3L, currentUserId,
+ ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY, /*foregroundUsageTimeInMs=*/ 50L,
+ /*backgroundUsageTimeInMs=*/ 60L);
+ entryMap.put(entry.getKey(), entry);
+ entry = createBatteryHistEntry(
+ "package3", "label3", /*consumePower=*/ 40.0, /*uid=*/ 4L, currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 5L,
+ /*backgroundUsageTimeInMs=*/ 5L);
+ entryMap.put(entry.getKey(), entry);
+ entryMap.put(fakeEntry.getKey(), fakeEntry);
+ batteryHistoryMap.put(batteryHistoryKeys[4], entryMap);
+ final List<BatteryLevelData.PeriodBatteryLevelData> hourlyBatteryLevelsPerDay =
+ new ArrayList<>();
+ // Adds the day 1 data.
+ List<Long> timestamps =
+ List.of(batteryHistoryKeys[0], batteryHistoryKeys[2]);
+ final List<Integer> levels = List.of(100, 100);
+ hourlyBatteryLevelsPerDay.add(
+ new BatteryLevelData.PeriodBatteryLevelData(timestamps, levels));
+ // Adds the day 2 data.
+ timestamps = List.of(batteryHistoryKeys[2], batteryHistoryKeys[4]);
+ hourlyBatteryLevelsPerDay.add(
+ new BatteryLevelData.PeriodBatteryLevelData(timestamps, levels));
+
+ final Map<Integer, Map<Integer, BatteryDiffData>> resultMap =
+ DataProcessor.getBatteryUsageMap(
+ mContext, hourlyBatteryLevelsPerDay, batteryHistoryMap);
+
+ BatteryDiffData resultDiffData =
+ resultMap
+ .get(DataProcessor.SELECTED_INDEX_ALL)
+ .get(DataProcessor.SELECTED_INDEX_ALL);
+ assertBatteryDiffEntry(
+ resultDiffData.getAppDiffEntryList().get(0), currentUserId, /*uid=*/ 2L,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*consumePercentage=*/ 40.0,
+ /*foregroundUsageTimeInMs=*/ 30, /*backgroundUsageTimeInMs=*/ 40);
+ assertBatteryDiffEntry(
+ resultDiffData.getAppDiffEntryList().get(1), currentUserId, /*uid=*/ 4L,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*consumePercentage=*/ 40.0,
+ /*foregroundUsageTimeInMs=*/ 5, /*backgroundUsageTimeInMs=*/ 5);
+ assertBatteryDiffEntry(
+ resultDiffData.getSystemDiffEntryList().get(0), currentUserId, /*uid=*/ 3L,
+ ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY, /*consumePercentage=*/ 20.0,
+ /*foregroundUsageTimeInMs=*/ 50, /*backgroundUsageTimeInMs=*/ 60);
+ 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,
+ /*foregroundUsageTimeInMs=*/ 15, /*backgroundUsageTimeInMs=*/ 25);
+ resultDiffData = resultMap.get(1).get(DataProcessor.SELECTED_INDEX_ALL);
+ assertBatteryDiffEntry(
+ resultDiffData.getAppDiffEntryList().get(0), currentUserId, /*uid=*/ 4L,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*consumePercentage=*/ 50.0,
+ /*foregroundUsageTimeInMs=*/ 5, /*backgroundUsageTimeInMs=*/ 5);
+ assertBatteryDiffEntry(
+ resultDiffData.getAppDiffEntryList().get(1), currentUserId, /*uid=*/ 2L,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*consumePercentage=*/ 25.0,
+ /*foregroundUsageTimeInMs=*/ 15, /*backgroundUsageTimeInMs=*/ 15);
+ assertBatteryDiffEntry(
+ resultDiffData.getSystemDiffEntryList().get(0), currentUserId, /*uid=*/ 3L,
+ ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY, /*consumePercentage=*/ 25.0,
+ /*foregroundUsageTimeInMs=*/ 50, /*backgroundUsageTimeInMs=*/ 60);
+ }
+
+ @Test
+ public void getBatteryUsageMap_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 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, /*uid=*/ 1L, currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 10L,
+ /*backgroundUsageTimeInMs=*/ 20L);
+ entryMap.put(entry.getKey(), entry);
+ entry = createBatteryHistEntry(
+ "package1", "label1", /*consumePower=*/ 10.0, /*uid=*/ 2L, currentUserId + 1,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 10L,
+ /*backgroundUsageTimeInMs=*/ 20L);
+ entryMap.put(entry.getKey(), entry);
+ entry = createBatteryHistEntry(
+ "package2", "label2", /*consumePower=*/ 5.0, /*uid=*/ 3L, currentUserId + 2,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 20L,
+ /*backgroundUsageTimeInMs=*/ 30L);
+ 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, /*uid=*/ 1L, currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 20L,
+ /*backgroundUsageTimeInMs=*/ 30L);
+ entryMap.put(entry.getKey(), entry);
+ entry = createBatteryHistEntry(
+ "package1", "label1", /*consumePower=*/ 30.0, /*uid=*/ 2L, currentUserId + 1,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 10L,
+ /*backgroundUsageTimeInMs=*/ 20L);
+ entryMap.put(entry.getKey(), entry);
+ entry = createBatteryHistEntry(
+ "package2", "label2", /*consumePower=*/ 15.0, /*uid=*/ 3L, currentUserId + 2,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 30L,
+ /*backgroundUsageTimeInMs=*/ 30L);
+ 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, /*uid=*/ 1L, currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 20L,
+ /*backgroundUsageTimeInMs=*/ 30L);
+ entryMap.put(entry.getKey(), entry);
+ entry = createBatteryHistEntry(
+ "package1", "label1", /*consumePower=*/ 50.0, /*uid=*/ 2L, currentUserId + 1,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 20L,
+ /*backgroundUsageTimeInMs=*/ 20L);
+ entryMap.put(entry.getKey(), entry);
+ entry = createBatteryHistEntry(
+ "package2", "label2", /*consumePower=*/ 25.0, /*uid=*/ 3L, currentUserId + 2,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 30L,
+ /*backgroundUsageTimeInMs=*/ 30L);
+ entryMap.put(entry.getKey(), entry);
+ batteryHistoryMap.put(batteryHistoryKeys[2], entryMap);
+ final List<BatteryLevelData.PeriodBatteryLevelData> hourlyBatteryLevelsPerDay =
+ new ArrayList<>();
+ List<Long> timestamps = List.of(batteryHistoryKeys[0], batteryHistoryKeys[2]);
+ final List<Integer> levels = List.of(100, 100);
+ hourlyBatteryLevelsPerDay.add(
+ new BatteryLevelData.PeriodBatteryLevelData(timestamps, levels));
+
+ final Map<Integer, Map<Integer, BatteryDiffData>> resultMap =
+ DataProcessor.getBatteryUsageMap(
+ mContext, hourlyBatteryLevelsPerDay, batteryHistoryMap);
+
+ final BatteryDiffData resultDiffData =
+ resultMap
+ .get(DataProcessor.SELECTED_INDEX_ALL)
+ .get(DataProcessor.SELECTED_INDEX_ALL);
+ assertBatteryDiffEntry(
+ resultDiffData.getAppDiffEntryList().get(0), currentUserId, /*uid=*/ 1L,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*consumePercentage=*/ 25.0,
+ /*foregroundUsageTimeInMs=*/ 10, /*backgroundUsageTimeInMs=*/ 10);
+ assertBatteryDiffEntry(
+ resultDiffData.getSystemDiffEntryList().get(0), BatteryUtils.UID_OTHER_USERS,
+ /*uid=*/ BatteryUtils.UID_OTHER_USERS, ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /*consumePercentage=*/ 75.0, /*foregroundUsageTimeInMs=*/ 0,
+ /*backgroundUsageTimeInMs=*/ 0);
+ assertThat(resultMap.get(0).get(0)).isNotNull();
+ assertThat(resultMap.get(0).get(DataProcessor.SELECTED_INDEX_ALL)).isNotNull();
+ }
+
+ @Test
+ public void getBatteryUsageMap_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 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, /*uid=*/ 1L, currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
+ /*backgroundUsageTimeInMs=*/ 0L);
+ entryMap.put(entry.getKey(), entry);
+ batteryHistoryMap.put(batteryHistoryKeys[0], entryMap);
+ // Adds the index = 1 data.
+ entryMap = new HashMap<>();
+ entry = createBatteryHistEntry(
+ "package1", "label1", /*consumePower=*/ 0, /*uid=*/ 1L, currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
+ /*backgroundUsageTimeInMs=*/ 0L);
+ 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, /*uid=*/ 1L, currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 3600000L,
+ /*backgroundUsageTimeInMs=*/ 7200000L);
+ entryMap.put(entry.getKey(), entry);
+ batteryHistoryMap.put(batteryHistoryKeys[2], entryMap);
+ final List<BatteryLevelData.PeriodBatteryLevelData> hourlyBatteryLevelsPerDay =
+ new ArrayList<>();
+ List<Long> timestamps = List.of(batteryHistoryKeys[0], batteryHistoryKeys[2]);
+ final List<Integer> levels = List.of(100, 100);
+ hourlyBatteryLevelsPerDay.add(
+ new BatteryLevelData.PeriodBatteryLevelData(timestamps, levels));
+
+ final Map<Integer, Map<Integer, BatteryDiffData>> resultMap =
+ DataProcessor.getBatteryUsageMap(
+ mContext, hourlyBatteryLevelsPerDay, batteryHistoryMap);
+
+ final BatteryDiffData resultDiffData =
+ resultMap
+ .get(DataProcessor.SELECTED_INDEX_ALL)
+ .get(DataProcessor.SELECTED_INDEX_ALL);
+ // Verifies the clipped usage time.
+ final float ratio = (float) (7200) / (float) (3600 + 7200);
+ final BatteryDiffEntry resultEntry = resultDiffData.getAppDiffEntryList().get(0);
+ assertThat(resultEntry.mForegroundUsageTimeInMs)
+ .isEqualTo(Math.round(entry.mForegroundUsageTimeInMs * ratio));
+ assertThat(resultEntry.mBackgroundUsageTimeInMs)
+ .isEqualTo(Math.round(entry.mBackgroundUsageTimeInMs * ratio));
+ assertThat(resultEntry.mConsumePower)
+ .isEqualTo(entry.mConsumePower * ratio);
+ assertThat(resultMap.get(0).get(0)).isNotNull();
+ assertThat(resultMap.get(0).get(DataProcessor.SELECTED_INDEX_ALL)).isNotNull();
+ }
+
+ @Test
+ public void getBatteryUsageMap_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 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, /*uid=*/ 1L, currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
+ /*backgroundUsageTimeInMs=*/ 0L);
+ entryMap.put(entry.getKey(), entry);
+ entry = createBatteryHistEntry(
+ "package2", "label2", /*consumePower=*/ 0, /*uid=*/ 2L, currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
+ /*backgroundUsageTimeInMs=*/ 0L);
+ entryMap.put(entry.getKey(), entry);
+ batteryHistoryMap.put(batteryHistoryKeys[0], entryMap);
+ // Adds the index = 1 data.
+ entryMap = new HashMap<>();
+ entry = createBatteryHistEntry(
+ "package1", "label1", /*consumePower=*/ 0, /*uid=*/ 1L, currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
+ /*backgroundUsageTimeInMs=*/ 0L);
+ entryMap.put(entry.getKey(), entry);
+ entry = createBatteryHistEntry(
+ "package2", "label2", /*consumePower=*/ 0, /*uid=*/ 2L, currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
+ /*backgroundUsageTimeInMs=*/ 0L);
+ 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, /*uid=*/ 1L, currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 10L,
+ /*backgroundUsageTimeInMs=*/ 20L);
+ entryMap.put(entry.getKey(), entry);
+ entry = createBatteryHistEntry(
+ "package2", "label2", /*consumePower=*/ 10.0, /*uid=*/ 2L, currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 10L,
+ /*backgroundUsageTimeInMs=*/ 20L);
+ entryMap.put(entry.getKey(), entry);
+ batteryHistoryMap.put(batteryHistoryKeys[2], entryMap);
+ final List<BatteryLevelData.PeriodBatteryLevelData> hourlyBatteryLevelsPerDay =
+ new ArrayList<>();
+ List<Long> timestamps = List.of(batteryHistoryKeys[0], batteryHistoryKeys[2]);
+ final List<Integer> levels = List.of(100, 100);
+ hourlyBatteryLevelsPerDay.add(
+ new BatteryLevelData.PeriodBatteryLevelData(timestamps, levels));
+ when(mPowerUsageFeatureProvider.getHideApplicationEntries(mContext))
+ .thenReturn(new CharSequence[]{"package1"});
+
+ final Map<Integer, Map<Integer, BatteryDiffData>> resultMap =
+ DataProcessor.getBatteryUsageMap(
+ mContext, hourlyBatteryLevelsPerDay, batteryHistoryMap);
+
+ final BatteryDiffData resultDiffData =
+ resultMap
+ .get(DataProcessor.SELECTED_INDEX_ALL)
+ .get(DataProcessor.SELECTED_INDEX_ALL);
+ assertBatteryDiffEntry(
+ resultDiffData.getAppDiffEntryList().get(0), currentUserId, /*uid=*/ 2L,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*consumePercentage=*/ 50.0,
+ /*foregroundUsageTimeInMs=*/ 10, /*backgroundUsageTimeInMs=*/ 20);
+ }
+
+ @Test
+ public void getBatteryUsageMap_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 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, /*uid=*/ 1L, currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
+ /*backgroundUsageTimeInMs=*/ 0L);
+ entryMap.put(entry.getKey(), entry);
+ entry = createBatteryHistEntry(
+ "package2", "label2", /*consumePower=*/ 0, /*uid=*/ 2L, currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
+ /*backgroundUsageTimeInMs=*/ 0L);
+ entryMap.put(entry.getKey(), entry);
+ batteryHistoryMap.put(batteryHistoryKeys[0], entryMap);
+ // Adds the index = 1 data.
+ entryMap = new HashMap<>();
+ entry = createBatteryHistEntry(
+ "package1", "label1", /*consumePower=*/ 0, /*uid=*/ 1L, currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
+ /*backgroundUsageTimeInMs=*/ 0L);
+ entryMap.put(entry.getKey(), entry);
+ entry = createBatteryHistEntry(
+ "package2", "label2", /*consumePower=*/ 0, /*uid=*/ 2L, currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
+ /*backgroundUsageTimeInMs=*/ 0L);
+ 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, /*uid=*/ 1L, currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 10L,
+ /*backgroundUsageTimeInMs=*/ 20L);
+ entryMap.put(entry.getKey(), entry);
+ entry = createBatteryHistEntry(
+ "package2", "label2", /*consumePower=*/ 10.0, /*uid=*/ 2L, currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 10L,
+ /*backgroundUsageTimeInMs=*/ 20L);
+ entryMap.put(entry.getKey(), entry);
+ batteryHistoryMap.put(batteryHistoryKeys[2], entryMap);
+ final List<BatteryLevelData.PeriodBatteryLevelData> hourlyBatteryLevelsPerDay =
+ new ArrayList<>();
+ List<Long> timestamps = List.of(batteryHistoryKeys[0], batteryHistoryKeys[2]);
+ final List<Integer> levels = List.of(100, 100);
+ hourlyBatteryLevelsPerDay.add(
+ new BatteryLevelData.PeriodBatteryLevelData(timestamps, levels));
+ when(mPowerUsageFeatureProvider.getHideBackgroundUsageTimeSet(mContext))
+ .thenReturn(new HashSet(Arrays.asList((CharSequence) "package2")));
+
+ final Map<Integer, Map<Integer, BatteryDiffData>> resultMap =
+ DataProcessor.getBatteryUsageMap(
+ mContext, hourlyBatteryLevelsPerDay, batteryHistoryMap);
+
+ final BatteryDiffData resultDiffData =
+ resultMap
+ .get(DataProcessor.SELECTED_INDEX_ALL)
+ .get(DataProcessor.SELECTED_INDEX_ALL);
+ BatteryDiffEntry resultEntry = resultDiffData.getAppDiffEntryList().get(0);
+ assertThat(resultEntry.mBackgroundUsageTimeInMs).isEqualTo(20);
+ resultEntry = resultDiffData.getAppDiffEntryList().get(1);
+ assertThat(resultEntry.mBackgroundUsageTimeInMs).isEqualTo(0);
+ }
+
+ private static Map<Long, Map<String, BatteryHistEntry>> createHistoryMap(
+ final long[] timestamps, final int[] levels) {
+ final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap = new HashMap<>();
+ for (int index = 0; index < timestamps.length; index++) {
+ final Map<String, BatteryHistEntry> entryMap = new HashMap<>();
+ final ContentValues values = new ContentValues();
+ values.put(BatteryHistEntry.KEY_BATTERY_LEVEL, levels[index]);
+ final BatteryHistEntry entry = new BatteryHistEntry(values);
+ entryMap.put(FAKE_ENTRY_KEY, entry);
+ batteryHistoryMap.put(timestamps[index], entryMap);
+ }
+ return batteryHistoryMap;
+ }
+
+ private static BatteryHistEntry createBatteryHistEntry(
+ final String packageName, final String appLabel, final double consumePower,
+ final long uid, final long userId, final int consumerType,
+ final long foregroundUsageTimeInMs, final long backgroundUsageTimeInMs) {
+ // Only insert required fields.
+ final ContentValues values = new ContentValues();
+ values.put(BatteryHistEntry.KEY_PACKAGE_NAME, packageName);
+ values.put(BatteryHistEntry.KEY_APP_LABEL, appLabel);
+ values.put(BatteryHistEntry.KEY_UID, uid);
+ values.put(BatteryHistEntry.KEY_USER_ID, userId);
+ values.put(BatteryHistEntry.KEY_CONSUMER_TYPE, consumerType);
+ values.put(BatteryHistEntry.KEY_CONSUME_POWER, consumePower);
+ values.put(BatteryHistEntry.KEY_FOREGROUND_USAGE_TIME, foregroundUsageTimeInMs);
+ values.put(BatteryHistEntry.KEY_BACKGROUND_USAGE_TIME, backgroundUsageTimeInMs);
+ return new BatteryHistEntry(values);
+ }
+
+ private static void verifyExpectedBatteryLevelData(
+ final BatteryLevelData resultData,
+ final List<Long> expectedDailyTimestamps,
+ final List<Integer> expectedDailyLevels,
+ final List<List<Long>> expectedHourlyTimestamps,
+ final List<List<Integer>> expectedHourlyLevels) {
+ final BatteryLevelData.PeriodBatteryLevelData dailyResultData =
+ resultData.getDailyBatteryLevels();
+ final List<BatteryLevelData.PeriodBatteryLevelData> hourlyResultData =
+ resultData.getHourlyBatteryLevelsPerDay();
+ verifyExpectedDailyBatteryLevelData(
+ dailyResultData, expectedDailyTimestamps, expectedDailyLevels);
+ verifyExpectedHourlyBatteryLevelData(
+ hourlyResultData, expectedHourlyTimestamps, expectedHourlyLevels);
+ }
+
+ private static void verifyExpectedDailyBatteryLevelData(
+ final BatteryLevelData.PeriodBatteryLevelData dailyResultData,
+ final List<Long> expectedDailyTimestamps,
+ final List<Integer> expectedDailyLevels) {
+ assertThat(dailyResultData.getTimestamps()).isEqualTo(expectedDailyTimestamps);
+ assertThat(dailyResultData.getLevels()).isEqualTo(expectedDailyLevels);
+ }
+
+ private static void verifyExpectedHourlyBatteryLevelData(
+ final List<BatteryLevelData.PeriodBatteryLevelData> hourlyResultData,
+ final List<List<Long>> expectedHourlyTimestamps,
+ final List<List<Integer>> expectedHourlyLevels) {
+ final int expectedHourlySize = expectedHourlyTimestamps.size();
+ assertThat(hourlyResultData).hasSize(expectedHourlySize);
+ for (int dailyIndex = 0; dailyIndex < expectedHourlySize; dailyIndex++) {
+ assertThat(hourlyResultData.get(dailyIndex).getTimestamps())
+ .isEqualTo(expectedHourlyTimestamps.get(dailyIndex));
+ assertThat(hourlyResultData.get(dailyIndex).getLevels())
+ .isEqualTo(expectedHourlyLevels.get(dailyIndex));
+ }
+ }
+
+ private static void verifyExpectedTimestampSlots(
+ final Calendar start,
+ final Calendar end,
+ final Calendar expectedStart,
+ final Calendar expectedEnd) {
+ expectedStart.set(Calendar.MILLISECOND, 0);
+ expectedEnd.set(Calendar.MILLISECOND, 0);
+ final ArrayList<Long> timestampSlots = new ArrayList<>();
+ timestampSlots.add(start.getTimeInMillis());
+ timestampSlots.add(end.getTimeInMillis());
+ final List<Long> resultList =
+ DataProcessor.getTimestampSlots(timestampSlots);
+
+ for (int index = 0; index < resultList.size(); index++) {
+ final long expectedTimestamp =
+ expectedStart.getTimeInMillis() + index * DateUtils.HOUR_IN_MILLIS;
+ assertThat(resultList.get(index)).isEqualTo(expectedTimestamp);
+ }
+ assertThat(resultList.get(resultList.size() - 1))
+ .isEqualTo(expectedEnd.getTimeInMillis());
+ }
+
+ private static void assertBatteryDiffEntry(
+ final BatteryDiffEntry entry, final long userId, final long uid,
+ final int consumerType, final double consumePercentage,
+ final long foregroundUsageTimeInMs, final long backgroundUsageTimeInMs) {
+ assertThat(entry.mBatteryHistEntry.mUserId).isEqualTo(userId);
+ assertThat(entry.mBatteryHistEntry.mUid).isEqualTo(uid);
+ assertThat(entry.mBatteryHistEntry.mConsumerType).isEqualTo(consumerType);
+ assertThat(entry.getPercentOfTotal()).isEqualTo(consumePercentage);
+ assertThat(entry.mForegroundUsageTimeInMs).isEqualTo(foregroundUsageTimeInMs);
+ assertThat(entry.mBackgroundUsageTimeInMs).isEqualTo(backgroundUsageTimeInMs);
+ }
+}
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 81b574a..c049497 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryTest.java
@@ -139,17 +139,7 @@
}
@Test
- public void initPreference_chartGraphEnabled_hasCorrectSummary() {
- mFragment.initPreference();
-
- verify(mBatteryUsagePreference).setSummary("View usage for past 24 hours");
- }
-
- @Test
- public void initPreference_chartGraphDisabled_hasCorrectSummary() {
- when(mFeatureFactory.powerUsageFeatureProvider.isChartGraphEnabled(mRealContext))
- .thenReturn(false);
-
+ public void initPreference_hasCorrectSummary() {
mFragment.initPreference();
verify(mBatteryUsagePreference).setSummary("View usage from last full charge");
diff --git a/tests/robotests/src/com/android/settings/notification/MediaVolumePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/MediaVolumePreferenceControllerTest.java
index 7cfcaff..56e83bb 100644
--- a/tests/robotests/src/com/android/settings/notification/MediaVolumePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/MediaVolumePreferenceControllerTest.java
@@ -16,29 +16,71 @@
package com.android.settings.notification;
+import static com.android.settings.slices.CustomSliceRegistry.VOLUME_MEDIA_URI;
+
import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.app.PendingIntent;
import android.content.Context;
+import android.content.Intent;
import android.media.AudioManager;
+import android.media.session.MediaController;
+import android.net.Uri;
+
+import androidx.slice.builders.SliceAction;
+
+import com.android.settings.media.MediaOutputIndicatorWorker;
+import com.android.settings.slices.SliceBackgroundWorker;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.media.BluetoothMediaDevice;
+import com.android.settingslib.media.MediaDevice;
+import com.android.settingslib.media.MediaOutputConstants;
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 org.robolectric.annotation.Config;
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
@RunWith(RobolectricTestRunner.class)
+@Config(shadows = MediaVolumePreferenceControllerTest.ShadowSliceBackgroundWorker.class)
public class MediaVolumePreferenceControllerTest {
+ private static final String ACTION_LAUNCH_BROADCAST_DIALOG =
+ "android.settings.MEDIA_BROADCAST_DIALOG";
+ private static MediaOutputIndicatorWorker sMediaOutputIndicatorWorker;
+
private MediaVolumePreferenceController mController;
private Context mContext;
+ @Mock
+ private MediaController mMediaController;
+ @Mock
+ private MediaDevice mDevice1;
+ @Mock
+ private MediaDevice mDevice2;
+
@Before
public void setUp() {
+ MockitoAnnotations.initMocks(this);
+
mContext = RuntimeEnvironment.application;
mController = new MediaVolumePreferenceController(mContext);
+ sMediaOutputIndicatorWorker = spy(
+ new MediaOutputIndicatorWorker(mContext, VOLUME_MEDIA_URI));
+ when(mDevice1.isBLEDevice()).thenReturn(true);
+ when(mDevice2.isBLEDevice()).thenReturn(false);
}
@Test
@@ -68,4 +110,83 @@
public void isPublicSlice_returnTrue() {
assertThat(mController.isPublicSlice()).isTrue();
}
+
+ @Test
+ public void isSupportEndItem_withBleDevice_returnsTrue() {
+ doReturn(mDevice1).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice();
+
+ assertThat(mController.isSupportEndItem()).isTrue();
+ }
+
+ @Test
+ public void isSupportEndItem_withNonBleDevice_returnsFalse() {
+ doReturn(mDevice2).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice();
+
+ assertThat(mController.isSupportEndItem()).isFalse();
+ }
+
+ @Test
+ public void getSliceEndItem_NotSupportEndItem_getsNullSliceAction() {
+ doReturn(mDevice2).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice();
+
+ final SliceAction sliceAction = mController.getSliceEndItem(mContext);
+
+ assertThat(sliceAction).isNull();
+ }
+
+ @Test
+ public void getSliceEndItem_deviceIsBroadcasting_getsBroadcastIntent() {
+ doReturn(mDevice1).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice();
+ doReturn(true).when(sMediaOutputIndicatorWorker).isDeviceBroadcasting();
+ doReturn(mMediaController).when(sMediaOutputIndicatorWorker)
+ .getActiveLocalMediaController();
+
+ final SliceAction sliceAction = mController.getSliceEndItem(mContext);
+
+ final PendingIntent endItemPendingIntent = sliceAction.getAction();
+ final PendingIntent expectedToggleIntent = getBroadcastIntent(
+ MediaOutputConstants.ACTION_LAUNCH_MEDIA_OUTPUT_BROADCAST_DIALOG);
+ assertThat(endItemPendingIntent).isEqualTo(expectedToggleIntent);
+ }
+
+ @Test
+ public void getSliceEndItem_deviceIsNotBroadcasting_getsActivityIntent() {
+ final MediaDevice device = mock(BluetoothMediaDevice.class);
+ final CachedBluetoothDevice cachedDevice = mock(CachedBluetoothDevice.class);
+ when(((BluetoothMediaDevice) device).getCachedDevice()).thenReturn(cachedDevice);
+ when(device.isBLEDevice()).thenReturn(true);
+ doReturn(device).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice();
+ doReturn(false).when(sMediaOutputIndicatorWorker).isDeviceBroadcasting();
+ doReturn(mMediaController).when(sMediaOutputIndicatorWorker)
+ .getActiveLocalMediaController();
+
+ final SliceAction sliceAction = mController.getSliceEndItem(mContext);
+
+ final PendingIntent endItemPendingIntent = sliceAction.getAction();
+ final PendingIntent expectedPendingIntent =
+ getActivityIntent(ACTION_LAUNCH_BROADCAST_DIALOG);
+ assertThat(endItemPendingIntent).isEqualTo(expectedPendingIntent);
+ }
+
+ @Implements(SliceBackgroundWorker.class)
+ public static class ShadowSliceBackgroundWorker {
+
+ @Implementation
+ public static SliceBackgroundWorker getInstance(Uri uri) {
+ return sMediaOutputIndicatorWorker;
+ }
+ }
+
+ private PendingIntent getBroadcastIntent(String action) {
+ final Intent intent = new Intent(action);
+ intent.setPackage(MediaOutputConstants.SYSTEMUI_PACKAGE_NAME);
+ return PendingIntent.getBroadcast(mContext, 0 /* requestCode */, intent,
+ PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_MUTABLE);
+ }
+
+ private PendingIntent getActivityIntent(String action) {
+ final Intent intent = new Intent(action);
+ return PendingIntent.getActivity(mContext, 0 /* requestCode */, intent,
+ PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_MUTABLE);
+ }
}
diff --git a/tests/robotests/src/com/android/settings/notification/NotificationAssistantPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/NotificationAssistantPreferenceControllerTest.java
index d130711..b594667 100644
--- a/tests/robotests/src/com/android/settings/notification/NotificationAssistantPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/NotificationAssistantPreferenceControllerTest.java
@@ -16,7 +16,12 @@
package com.android.settings.notification;
+import static android.service.notification.NotificationAssistantService.ACTION_NOTIFICATION_ASSISTANT_DETAIL_SETTINGS;
+
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyBoolean;
@@ -29,16 +34,24 @@
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import android.app.Application;
import android.content.ComponentName;
import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
import android.os.UserManager;
import android.provider.Settings;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
import androidx.test.core.app.ApplicationProvider;
import com.android.settings.testutils.shadow.ShadowSecureSettings;
+import com.android.settingslib.PrimarySwitchPreference;
import org.junit.Before;
import org.junit.Test;
@@ -47,9 +60,13 @@
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
+import org.robolectric.Shadows;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication;
+import java.util.ArrayList;
+import java.util.List;
+
@RunWith(RobolectricTestRunner.class)
public class NotificationAssistantPreferenceControllerTest {
@@ -67,23 +84,48 @@
private NotificationBackend mBackend;
@Mock
private UserManager mUserManager;
+ @Mock
+ private PackageManager mPackageManager;
private NotificationAssistantPreferenceController mPreferenceController;
- ComponentName mNASComponent = new ComponentName("a", "b");
+ ComponentName mNASComponent = new ComponentName("pkgname", "clsname");
+ private PrimarySwitchPreference mPreference;
+ private ShadowApplication mShadowApplication;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mContext = spy(ApplicationProvider.getApplicationContext());
- ShadowApplication.getInstance().setSystemService(Context.USER_SERVICE, mUserManager);
+ mPreference = spy(new PrimarySwitchPreference(mContext));
+ mShadowApplication = ShadowApplication.getInstance();
+ mShadowApplication.setSystemService(Context.USER_SERVICE, mUserManager);
doReturn(mContext).when(mFragment).getContext();
when(mFragment.getFragmentManager()).thenReturn(mFragmentManager);
when(mFragmentManager.beginTransaction()).thenReturn(mFragmentTransaction);
when(mBackend.getDefaultNotificationAssistant()).thenReturn(mNASComponent);
+ when(mContext.getPackageManager()).thenReturn(mPackageManager);
mPreferenceController = new NotificationAssistantPreferenceController(mContext);
mPreferenceController.setBackend(mBackend);
mPreferenceController.setFragment(mFragment);
+ mPreferenceController.getDefaultNASIntent();
+
+ final PreferenceManager preferenceManager = new PreferenceManager(mContext);
+ final PreferenceScreen screen = preferenceManager.createPreferenceScreen(mContext);
+ mPreference.setKey(NotificationAssistantPreferenceController.KEY_NAS);
+ screen.addPreference(mPreference);
+ mPreferenceController.displayPreference(screen);
+
when(mUserManager.getProfileIds(eq(0), anyBoolean())).thenReturn(new int[] {0, 10});
when(mUserManager.getProfileIds(eq(20), anyBoolean())).thenReturn(new int[] {20});
+
+ ActivityInfo activityInfo1 = new ActivityInfo();
+ activityInfo1.packageName = "pkgname";
+ activityInfo1.name = "name";
+ ResolveInfo resolveInfo1 = new ResolveInfo();
+ resolveInfo1.activityInfo = activityInfo1;
+ List<ResolveInfo> resolvers1 = new ArrayList<>();
+ resolvers1.add(resolveInfo1);
+ when(mPackageManager.queryIntentActivities(any(Intent.class), any()))
+ .thenReturn(resolvers1);
}
@Test
@@ -109,6 +151,34 @@
}
@Test
+ public void testUpdateState_SettingActivityAvailable() throws Exception {
+ mPreferenceController.updateState(mPreference);
+ assertNotNull(mPreference.getIntent());
+
+ mPreference.performClick();
+ Intent nextIntent = Shadows.shadowOf(
+ (Application) ApplicationProvider.getApplicationContext()).getNextStartedActivity();
+ assertEquals(nextIntent.getAction(), ACTION_NOTIFICATION_ASSISTANT_DETAIL_SETTINGS);
+ }
+
+ @Test
+ public void testUpdateState_SettingActivityUnavailable() throws Exception {
+ when(mPackageManager.queryIntentActivities(any(Intent.class), any()))
+ .thenReturn(null);
+ mPreferenceController.updateState(mPreference);
+ assertNull(mPreference.getIntent());
+
+ mPreference.performClick();
+ Intent nextIntent = Shadows.shadowOf(
+ (Application) ApplicationProvider.getApplicationContext()).getNextStartedActivity();
+ assertNull(nextIntent);
+ // Verify a dialog is shown
+ verify(mFragmentTransaction).add(
+ any(NotificationAssistantDialogFragment.class), anyString());
+ verify(mBackend, times(0)).setNotificationAssistantGranted(any());
+ }
+
+ @Test
@Config(shadows = ShadowSecureSettings.class)
public void testMigrationFromSetting_userEnable_multiProfile() throws Exception {
Settings.Secure.putIntForUser(mContext.getContentResolver(),
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
index 3c50c6b..43a49a1 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
@@ -27,6 +27,7 @@
import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX;
import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_SOMETHING;
import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED;
+import static android.view.WindowManager.LayoutParams.FLAG_SECURE;
import static com.android.internal.widget.LockPatternUtils.PASSWORD_TYPE_KEY;
import static com.android.settings.password.ChooseLockGeneric.CONFIRM_CREDENTIALS;
@@ -159,6 +160,21 @@
}
@Test
+ public void activity_shouldHaveSecureFlag() {
+ PasswordPolicy policy = new PasswordPolicy();
+ policy.quality = PASSWORD_QUALITY_ALPHABETIC;
+ policy.length = 10;
+
+ Intent intent = createIntentForPasswordValidation(
+ /* minMetrics */ policy.getMinMetrics(),
+ /* minComplexity= */ PASSWORD_COMPLEXITY_NONE,
+ /* passwordType= */ PASSWORD_QUALITY_ALPHABETIC);
+ ChooseLockPassword activity = buildChooseLockPasswordActivity(intent);
+ final int flags = activity.getWindow().getAttributes().flags;
+ assertThat(flags & FLAG_SECURE).isEqualTo(FLAG_SECURE);
+ }
+
+ @Test
public void processAndValidatePasswordRequirements_noMinPasswordComplexity() {
PasswordPolicy policy = new PasswordPolicy();
policy.quality = PASSWORD_QUALITY_ALPHABETIC;
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java
index f5cc394..1fc10fc 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java
@@ -16,6 +16,8 @@
package com.android.settings.password;
+import static android.view.WindowManager.LayoutParams.FLAG_SECURE;
+
import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth.assertWithMessage;
@@ -107,6 +109,14 @@
assertThat(iconView.getVisibility()).isEqualTo(View.GONE);
}
+ @Test
+ public void activity_shouldHaveSecureFlag() {
+ final ChooseLockPattern activity = Robolectric.buildActivity(
+ ChooseLockPattern.class, new IntentBuilder(application).build()).setup().get();
+ final int flags = activity.getWindow().getAttributes().flags;
+ assertThat(flags & FLAG_SECURE).isEqualTo(FLAG_SECURE);
+ }
+
private ChooseLockPattern createActivity(boolean addFingerprintExtra) {
return Robolectric.buildActivity(
ChooseLockPattern.class,
diff --git a/tests/robotests/src/com/android/settings/privacy/WorkPolicyInfoPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/privacy/WorkPolicyInfoPreferenceControllerTest.java
index 82444aa..a983228 100644
--- a/tests/robotests/src/com/android/settings/privacy/WorkPolicyInfoPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/privacy/WorkPolicyInfoPreferenceControllerTest.java
@@ -21,6 +21,7 @@
import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -30,6 +31,7 @@
import androidx.preference.Preference;
import com.android.settings.enterprise.EnterprisePrivacyFeatureProvider;
+import com.android.settings.safetycenter.SafetyCenterManagerWrapper;
import com.android.settings.testutils.FakeFeatureFactory;
import org.junit.Before;
@@ -52,6 +54,7 @@
mContext = RuntimeEnvironment.application;
mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
mEnterpriseProvider = mFakeFeatureFactory.getEnterprisePrivacyFeatureProvider(mContext);
+ SafetyCenterManagerWrapper.sInstance = mock(SafetyCenterManagerWrapper.class);
}
@Test
@@ -73,6 +76,15 @@
}
@Test
+ public void getAvailabilityStatus_safetyCenterEnabled_shouldReturnUnsupported() {
+ when(SafetyCenterManagerWrapper.get().isEnabled(mContext)).thenReturn(true);
+ WorkPolicyInfoPreferenceController controller =
+ new WorkPolicyInfoPreferenceController(mContext, "test_key");
+
+ assertThat(controller.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
+ }
+
+ @Test
public void handlePreferenceTreeClick_nonMatchingKey_shouldDoNothing() {
when(mEnterpriseProvider.hasWorkPolicyInfo()).thenReturn(true);
WorkPolicyInfoPreferenceController controller =
diff --git a/tests/robotests/src/com/android/settings/sim/SimSelectNotificationTest.java b/tests/robotests/src/com/android/settings/sim/SimSelectNotificationTest.java
index 10e291c..b33e94b 100644
--- a/tests/robotests/src/com/android/settings/sim/SimSelectNotificationTest.java
+++ b/tests/robotests/src/com/android/settings/sim/SimSelectNotificationTest.java
@@ -42,6 +42,7 @@
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.clearInvocations;
+import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -74,6 +75,7 @@
import org.robolectric.annotation.Config;
import java.util.Arrays;
+import java.util.concurrent.Executor;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = ShadowAlertDialogCompat.class)
@@ -81,6 +83,8 @@
@Mock
private Context mContext;
@Mock
+ private Executor mExecutor;
+ @Mock
private NotificationManager mNotificationManager;
@Mock
private TelephonyManager mTelephonyManager;
@@ -94,6 +98,8 @@
private SubscriptionInfo mSubInfo;
@Mock
private DisplayMetrics mDisplayMetrics;
+ @Mock
+ private SimDialogActivity mActivity;
private final String mFakeDisplayName = "fake_display_name";
private final CharSequence mFakeNotificationChannelTitle = "fake_notification_channel_title";
@@ -236,27 +242,18 @@
@Test
public void onReceivePrimarySubListChange_WithDismissExtra_shouldDismiss() {
+ doReturn(mExecutor).when(mActivity).getMainExecutor();
+ SimDialogProhibitService.supportDismiss(mActivity);
+
Intent intent = new Intent(TelephonyManager.ACTION_PRIMARY_SUBSCRIPTION_LIST_CHANGED);
intent.putExtra(EXTRA_DEFAULT_SUBSCRIPTION_SELECT_TYPE,
- EXTRA_DEFAULT_SUBSCRIPTION_SELECT_TYPE_DATA);
+ EXTRA_DEFAULT_SUBSCRIPTION_SELECT_TYPE_DISMISS);
mSimSelectNotification.onReceive(mContext, intent);
clearInvocations(mContext);
// Dismiss.
- intent.putExtra(EXTRA_DEFAULT_SUBSCRIPTION_SELECT_TYPE,
- EXTRA_DEFAULT_SUBSCRIPTION_SELECT_TYPE_DISMISS);
- mSimSelectNotification.onReceive(mContext, intent);
- ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
- verify(mContext).startActivity(intentCaptor.capture());
- Intent capturedIntent = intentCaptor.getValue();
- assertThat(capturedIntent).isNotNull();
- assertThat(capturedIntent.getComponent().getClassName()).isEqualTo(
- SimDialogActivity.class.getName());
- assertThat(capturedIntent.getFlags() & Intent.FLAG_ACTIVITY_NEW_TASK)
- .isNotEqualTo(0);
- assertThat(capturedIntent.getIntExtra(SimDialogActivity.DIALOG_TYPE_KEY, INVALID_PICK))
- .isEqualTo(PICK_DISMISS);
+ verify(mExecutor).execute(any());
}
@Test
public void onReceivePrimarySubListChange_DualCdmaWarning_notificationShouldSend() {
diff --git a/tests/robotests/src/com/android/settings/widget/CardPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/CardPreferenceTest.java
index 85ab609..eba447b 100644
--- a/tests/robotests/src/com/android/settings/widget/CardPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/widget/CardPreferenceTest.java
@@ -16,9 +16,18 @@
package com.android.settings.widget;
+import static android.view.View.GONE;
+import static android.view.View.VISIBLE;
+
import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
import android.content.Context;
+import android.view.View;
+import android.widget.Button;
+
+import androidx.preference.PreferenceViewHolder;
+import androidx.test.core.app.ApplicationProvider;
import com.android.settings.R;
@@ -26,23 +35,301 @@
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
@RunWith(RobolectricTestRunner.class)
public class CardPreferenceTest {
- private Context mContext;
private CardPreference mCardPreference;
+ private PreferenceViewHolder mHolder;
@Before
public void setUp() {
- mContext = RuntimeEnvironment.application;
- mContext.setTheme(R.style.SettingsPreferenceTheme);
- mCardPreference = new CardPreference(mContext);
+ Context context = ApplicationProvider.getApplicationContext();
+ context.setTheme(R.style.Theme_Settings);
+ mCardPreference = new CardPreference(context);
+
+ View rootView = View.inflate(context, R.layout.card_preference_layout, /* parent= */ null);
+ mHolder = PreferenceViewHolder.createInstanceForTests(rootView);
}
@Test
- public void getLayoutResource() {
- assertThat(mCardPreference.getLayoutResource()).isEqualTo(R.layout.card_preference_layout);
+ public void newACardPreference_layoutResourceShouldBeCardPreferenceLayout() {
+ Context context = ApplicationProvider.getApplicationContext();
+ context.setTheme(R.style.SettingsPreferenceTheme);
+
+ CardPreference cardPreference = new CardPreference(context);
+
+ assertThat(cardPreference.getLayoutResource()).isEqualTo(R.layout.card_preference_layout);
+ }
+
+ @Test
+ public void onBindViewHolder_noButtonVisible_buttonsLayoutShouldBeGone() {
+ mCardPreference.onBindViewHolder(mHolder);
+
+ assertThat(getCardPreferenceButtonsView().getVisibility()).isEqualTo(GONE);
+ }
+
+ @Test
+ public void onBindViewHolder_setPrimaryButtonVisibility_buttonsLayoutShouldBeVisible() {
+ mCardPreference.setPrimaryButtonVisible(true);
+
+ mCardPreference.onBindViewHolder(mHolder);
+
+ assertThat(getCardPreferenceButtonsView().getVisibility()).isEqualTo(VISIBLE);
+ }
+
+ @Test
+ public void onBindViewHolder_setPrimaryButtonVisibility_shouldApplyToPrimaryButton() {
+ mCardPreference.setPrimaryButtonVisible(true);
+
+ mCardPreference.onBindViewHolder(mHolder);
+
+ assertThat(getPrimaryButton().getVisibility()).isEqualTo(VISIBLE);
+ }
+
+ @Test
+ public void onBindViewHolder_setSecondaryButtonVisibility_buttonsLayoutShouldBeVisible() {
+ mCardPreference.setSecondaryButtonVisible(true);
+
+ mCardPreference.onBindViewHolder(mHolder);
+
+ assertThat(getCardPreferenceButtonsView().getVisibility()).isEqualTo(VISIBLE);
+ }
+
+ @Test
+ public void onBindViewHolder_setSecondaryButtonVisibility_shouldApplyToSecondaryButton() {
+ mCardPreference.setSecondaryButtonVisible(true);
+
+ mCardPreference.onBindViewHolder(mHolder);
+
+ assertThat(getSecondaryButton().getVisibility()).isEqualTo(VISIBLE);
+ }
+
+ @Test
+ public void onBindViewHolder_setPrimaryButtonText_shouldApplyToPrimaryButton() {
+ String expectedText = "primary-button";
+ mCardPreference.setPrimaryButtonText(expectedText);
+
+ mCardPreference.onBindViewHolder(mHolder);
+
+ assertThat(getPrimaryButton().getText().toString()).isEqualTo(expectedText);
+ }
+
+ @Test
+ public void onBindViewHolder_setSecondaryButtonText_shouldApplyToSecondaryButton() {
+ String expectedText = "secondary-button";
+ mCardPreference.setSecondaryButtonText(expectedText);
+
+ mCardPreference.onBindViewHolder(mHolder);
+
+ assertThat(getSecondaryButton().getText().toString()).isEqualTo(expectedText);
+ }
+
+ @Test
+ public void onBindViewHolder_initialTextForPrimaryButtonShouldBeEmpty() {
+ mCardPreference.onBindViewHolder(mHolder);
+
+ assertThat(getPrimaryButton().getText().toString()).isEqualTo("");
+ }
+
+ @Test
+ public void onBindViewHolder_initialTextForSecondaryButtonShouldBeEmpty() {
+ mCardPreference.onBindViewHolder(mHolder);
+
+ assertThat(getSecondaryButton().getText().toString()).isEqualTo("");
+ }
+
+ @Test
+ public void performClickOnPrimaryButton_shouldCalledClickListener() {
+ final boolean[] hasCalled = {false};
+ View.OnClickListener clickListener = v -> hasCalled[0] = true;
+ mCardPreference.setPrimaryButtonClickListener(clickListener);
+
+ mCardPreference.onBindViewHolder(mHolder);
+ getPrimaryButton().performClick();
+
+ assertThat(hasCalled[0]).isTrue();
+ }
+
+ @Test
+ public void performClickOnSecondaryButton_shouldCalledClickListener() {
+ final boolean[] hasCalled = {false};
+ View.OnClickListener clickListener = v -> hasCalled[0] = true;
+ mCardPreference.setSecondaryButtonClickListener(clickListener);
+
+ mCardPreference.onBindViewHolder(mHolder);
+ getSecondaryButton().performClick();
+
+ assertThat(hasCalled[0]).isTrue();
+ }
+
+ @Test
+ public void onBindViewHolder_primaryButtonDefaultIsGone() {
+ mCardPreference.onBindViewHolder(mHolder);
+
+ assertThat(getPrimaryButton().getVisibility()).isEqualTo(GONE);
+ }
+
+ @Test
+ public void onBindViewHolder_secondaryButtonDefaultIsGone() {
+ mCardPreference.onBindViewHolder(mHolder);
+
+ assertThat(getSecondaryButton().getVisibility()).isEqualTo(GONE);
+ }
+
+ @Test
+ public void setPrimaryButtonVisibility_setTrueAfterBindViewHolder_shouldBeVisible() {
+ mCardPreference.setPrimaryButtonVisible(false);
+ mCardPreference.onBindViewHolder(mHolder);
+
+ mCardPreference.setPrimaryButtonVisible(true);
+
+ assertThat(getPrimaryButton().getVisibility()).isEqualTo(VISIBLE);
+ }
+
+ @Test
+ public void setPrimaryButtonText_setAfterBindViewHolder_setOnUi() {
+ String expectedText = "123456";
+ mCardPreference.onBindViewHolder(mHolder);
+
+ mCardPreference.setPrimaryButtonText(expectedText);
+
+ assertThat(getPrimaryButton().getText().toString()).isEqualTo(expectedText);
+ }
+
+ @Test
+ public void setPrimaryButtonText_setNull_shouldBeEmptyText() {
+ final String emptyString = "";
+ mCardPreference.setPrimaryButtonText("1234");
+ mCardPreference.onBindViewHolder(mHolder);
+
+ mCardPreference.setPrimaryButtonText(null);
+
+ assertThat(getPrimaryButton().getText().toString()).isEqualTo(emptyString);
+ }
+
+ @Test
+ public void setPrimaryButtonClickListener_setAfterOnBindViewHolder() {
+ final String[] hasCalled = {""};
+ String expectedClickedResult = "was called";
+ View.OnClickListener clickListener = v -> hasCalled[0] = expectedClickedResult;
+ mCardPreference.onBindViewHolder(mHolder);
+
+ mCardPreference.setPrimaryButtonClickListener(clickListener);
+ getPrimaryButton().performClick();
+
+ assertThat(hasCalled[0]).isEqualTo(expectedClickedResult);
+ }
+
+ @Test
+ public void setPrimaryButtonClickListener_setNull_shouldClearTheOnClickListener() {
+ final String[] hasCalled = {"not called"};
+ View.OnClickListener clickListener = v -> hasCalled[0] = "called once";
+ mCardPreference.setPrimaryButtonClickListener(clickListener);
+ mCardPreference.onBindViewHolder(mHolder);
+
+ mCardPreference.setPrimaryButtonClickListener(null);
+ getPrimaryButton().performClick();
+
+ assertThat(hasCalled[0]).isEqualTo("not called");
+ }
+
+ @Test
+ public void setSecondaryButtonVisibility_setTrueAfterBindViewHolder_shouldBeVisible() {
+ mCardPreference.setSecondaryButtonVisible(false);
+ mCardPreference.onBindViewHolder(mHolder);
+
+ mCardPreference.setSecondaryButtonVisible(true);
+
+ assertThat(getSecondaryButton().getVisibility()).isEqualTo(VISIBLE);
+ }
+
+ @Test
+ public void setSecondaryButtonText_setAfterBindViewHolder_setOnUi() {
+ String expectedText = "10101010";
+ mCardPreference.onBindViewHolder(mHolder);
+
+ mCardPreference.setSecondaryButtonText(expectedText);
+
+ assertThat(getSecondaryButton().getText().toString()).isEqualTo(expectedText);
+ }
+
+ @Test
+ public void setSecondaryButtonText_setNull_shouldBeEmptyText() {
+ String emptyString = "";
+ mCardPreference.setSecondaryButtonText("1234");
+ mCardPreference.onBindViewHolder(mHolder);
+
+ mCardPreference.setSecondaryButtonText(null);
+
+ assertThat(getSecondaryButton().getText().toString()).isEqualTo(emptyString);
+ }
+
+ @Test
+ public void setSecondaryButtonClickListener_setAfterOnBindViewHolder() {
+ final String[] hasCalled = {""};
+ String expectedClickedResult = "2nd was called";
+ View.OnClickListener clickListener = v -> hasCalled[0] = expectedClickedResult;
+ mCardPreference.onBindViewHolder(mHolder);
+
+ mCardPreference.setSecondaryButtonClickListener(clickListener);
+ getSecondaryButton().performClick();
+
+ assertThat(hasCalled[0]).isEqualTo(expectedClickedResult);
+ }
+
+ @Test
+ public void setSecondaryButtonClickListener_setNull_shouldClearTheOnClickListener() {
+ final String[] hasCalled = {"not called"};
+ View.OnClickListener clickListener = v -> hasCalled[0] = "called once";
+ mCardPreference.setSecondaryButtonClickListener(clickListener);
+ mCardPreference.onBindViewHolder(mHolder);
+
+ mCardPreference.setSecondaryButtonClickListener(null);
+ getSecondaryButton().performClick();
+
+ assertThat(hasCalled[0]).isEqualTo("not called");
+ }
+
+ @Test
+ public void
+ setPrimaryButtonVisibility_onlyPrimaryButtonVisible_setGone_buttonGroupShouldBeGone() {
+ mCardPreference.setPrimaryButtonVisible(true);
+ mCardPreference.setSecondaryButtonVisible(false);
+ mCardPreference.onBindViewHolder(mHolder);
+ assertWithMessage("PreCondition: buttonsView should be Visible")
+ .that(getCardPreferenceButtonsView().getVisibility())
+ .isEqualTo(VISIBLE);
+
+ mCardPreference.setPrimaryButtonVisible(false);
+
+ assertThat(getCardPreferenceButtonsView().getVisibility()).isEqualTo(GONE);
+ }
+
+ @Test
+ public void
+ setSecondaryButtonVisibility_only2ndButtonVisible_setGone_buttonGroupShouldBeGone() {
+ mCardPreference.setPrimaryButtonVisible(false);
+ mCardPreference.setSecondaryButtonVisible(true);
+ mCardPreference.onBindViewHolder(mHolder);
+ assertWithMessage("PreCondition: buttonsView should be Visible")
+ .that(getCardPreferenceButtonsView().getVisibility())
+ .isEqualTo(VISIBLE);
+
+ mCardPreference.setSecondaryButtonVisible(false);
+
+ assertThat(getCardPreferenceButtonsView().getVisibility()).isEqualTo(GONE);
+ }
+
+ private View getCardPreferenceButtonsView() {
+ return mHolder.findViewById(R.id.card_preference_buttons);
+ }
+
+ private Button getPrimaryButton() {
+ return (Button) mHolder.findViewById(android.R.id.button1);
+ }
+
+ private Button getSecondaryButton() {
+ return (Button) mHolder.findViewById(android.R.id.button2);
}
}
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiConfigController2Test.java b/tests/robotests/src/com/android/settings/wifi/WifiConfigController2Test.java
index 5d568fe..9139a28 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiConfigController2Test.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiConfigController2Test.java
@@ -16,6 +16,8 @@
package com.android.settings.wifi;
+import static com.android.settings.wifi.WifiConfigController2.WIFI_EAP_METHOD_SIM;
+
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.anyInt;
@@ -86,6 +88,8 @@
private AndroidKeystoreAliasLoader mAndroidKeystoreAliasLoader;
@Mock
private WifiManager mWifiManager;
+ @Mock
+ Spinner mEapMethodSimSpinner;
private View mView;
private Spinner mHiddenSettingsSpinner;
private Spinner mEapCaCertSpinner;
@@ -141,6 +145,7 @@
mContext.getString(R.string.wifi_do_not_provide_eap_user_cert);
ipSettingsSpinner.setSelection(DHCP);
mShadowSubscriptionManager = shadowOf(mContext.getSystemService(SubscriptionManager.class));
+ when(mEapMethodSimSpinner.getSelectedItemPosition()).thenReturn(WIFI_EAP_METHOD_SIM);
mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry,
WifiConfigUiBase2.MODE_CONNECT);
@@ -813,10 +818,7 @@
when(mWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_EAP);
mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry,
WifiConfigUiBase2.MODE_CONNECT);
- final Spinner eapMethodSpinner = mock(Spinner.class);
- when(eapMethodSpinner.getSelectedItemPosition()).thenReturn(
- WifiConfigController2.WIFI_EAP_METHOD_SIM);
- mController.mEapMethodSpinner = eapMethodSpinner;
+ mController.mEapMethodSpinner = mEapMethodSimSpinner;
mController.loadSims();
@@ -837,10 +839,7 @@
mShadowSubscriptionManager.setActiveSubscriptionInfoList(Arrays.asList(subscriptionInfo));
mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry,
WifiConfigUiBase2.MODE_CONNECT);
- final Spinner eapMethodSpinner = mock(Spinner.class);
- when(eapMethodSpinner.getSelectedItemPosition()).thenReturn(
- WifiConfigController2.WIFI_EAP_METHOD_SIM);
- mController.mEapMethodSpinner = eapMethodSpinner;
+ mController.mEapMethodSpinner = mEapMethodSimSpinner;
mController.loadSims();
@@ -849,6 +848,48 @@
}
@Test
+ public void loadSims_twoSimsWithDifferentCarrierId_showTwoSims() {
+ SubscriptionInfo sub1 = createMockSubscription(1, "sub1", 8888);
+ SubscriptionInfo sub2 = createMockSubscription(2, "sub2", 9999);
+ SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1, sub2));
+ mShadowSubscriptionManager.setActiveSubscriptionInfoList(Arrays.asList(sub1, sub2));
+ when(mWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_EAP);
+ mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry,
+ WifiConfigUiBase2.MODE_CONNECT);
+ mController.mEapMethodSpinner = mEapMethodSimSpinner;
+ ShadowSubscriptionManager.setDefaultDataSubscriptionId(1);
+
+ mController.loadSims();
+
+ assertThat(mController.mEapSimSpinner.getAdapter().getCount()).isEqualTo(2);
+ }
+
+ @Test
+ public void loadSims_twoSimsWithSameCarrierId_showOneDefaultDataSim() {
+ SubscriptionInfo sub1 = createMockSubscription(1, "sub1", 9999);
+ SubscriptionInfo sub2 = createMockSubscription(2, "sub2", 9999);
+ SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1, sub2));
+ mShadowSubscriptionManager.setActiveSubscriptionInfoList(Arrays.asList(sub1, sub2));
+ when(mWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_EAP);
+ mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry,
+ WifiConfigUiBase2.MODE_CONNECT);
+ mController.mEapMethodSpinner = mEapMethodSimSpinner;
+ ShadowSubscriptionManager.setDefaultDataSubscriptionId(1);
+
+ mController.loadSims();
+
+ assertThat(mController.mEapSimSpinner.getAdapter().getCount()).isEqualTo(1);
+ assertThat(mController.mEapSimSpinner.getSelectedItem().toString()).isEqualTo("sub1");
+
+ ShadowSubscriptionManager.setDefaultDataSubscriptionId(2);
+
+ mController.loadSims();
+
+ assertThat(mController.mEapSimSpinner.getAdapter().getCount()).isEqualTo(1);
+ assertThat(mController.mEapSimSpinner.getSelectedItem().toString()).isEqualTo("sub2");
+ }
+
+ @Test
public void loadCaCertificateValue_shouldPersistentAsDefault() {
setUpModifyingSavedCertificateConfigController(null, null);
@@ -940,4 +981,12 @@
// certificates are covered by mController.onItemSelected after showSecurityFields end.
mController.mEapMethodSpinner.setSelection(Eap.TLS);
}
+
+ private SubscriptionInfo createMockSubscription(int subId, String displayName, int carrierId) {
+ SubscriptionInfo sub = mock(SubscriptionInfo.class);
+ when(sub.getSubscriptionId()).thenReturn(subId);
+ when(sub.getDisplayName()).thenReturn(displayName);
+ when(sub.getCarrierId()).thenReturn(carrierId);
+ return sub;
+ }
}
diff --git a/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java b/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java
index 08bcd2a..274ac16 100644
--- a/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java
+++ b/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java
@@ -58,6 +58,7 @@
import android.net.wifi.WifiManager;
import android.os.Handler;
import android.provider.Settings;
+import android.telephony.SubscriptionInfo;
import android.telephony.TelephonyManager;
import android.view.View;
import android.view.View.OnClickListener;
@@ -108,6 +109,7 @@
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
import java.util.Arrays;
+import java.util.List;
import java.util.stream.Collectors;
// TODO(b/143326832): Should add test cases for connect button.
@@ -1791,4 +1793,74 @@
return pref;
}
+
+ @Test
+ public void fineSubscriptionInfo_noMatchedCarrierId_returnNull() {
+ setUpSpyController();
+ SubscriptionInfo sub1 = mockSubscriptionInfo(1, "sim1", 1111);
+ SubscriptionInfo sub2 = mockSubscriptionInfo(2, "sim2", 2222);
+ List<SubscriptionInfo> activeSubInfos = Arrays.asList(sub1, sub2);
+
+ SubscriptionInfo info = mController.fineSubscriptionInfo(3333, activeSubInfos, 1);
+
+ assertThat(info).isNull();
+
+ info = mController.fineSubscriptionInfo(3333, activeSubInfos, 2);
+
+ assertThat(info).isNull();
+ }
+
+ @Test
+ public void fineSubscriptionInfo_diffCarrierId_returnMatchedOne() {
+ setUpSpyController();
+ SubscriptionInfo sub1 = mockSubscriptionInfo(1, "sim1", 1111);
+ SubscriptionInfo sub2 = mockSubscriptionInfo(2, "sim2", 2222);
+ List<SubscriptionInfo> activeSubInfos = Arrays.asList(sub1, sub2);
+
+ SubscriptionInfo info = mController.fineSubscriptionInfo(1111, activeSubInfos, 1);
+
+ assertThat(info).isNotNull();
+ assertThat(info.getDisplayName().toString()).isEqualTo("sim1");
+
+ info = mController.fineSubscriptionInfo(1111, activeSubInfos, 2);
+
+ assertThat(info).isNotNull();
+ assertThat(info.getDisplayName().toString()).isEqualTo("sim1");
+
+ info = mController.fineSubscriptionInfo(2222, activeSubInfos, 1);
+
+ assertThat(info).isNotNull();
+ assertThat(info.getDisplayName().toString()).isEqualTo("sim2");
+
+ info = mController.fineSubscriptionInfo(2222, activeSubInfos, 2);
+
+ assertThat(info).isNotNull();
+ assertThat(info.getDisplayName().toString()).isEqualTo("sim2");
+ }
+
+ @Test
+ public void fineSubscriptionInfo_sameCarrierId_returnDefaultDataOne() {
+ setUpSpyController();
+ SubscriptionInfo sub1 = mockSubscriptionInfo(1, "sim1", 1111);
+ SubscriptionInfo sub2 = mockSubscriptionInfo(2, "sim2", 1111);
+ List<SubscriptionInfo> activeSubInfos = Arrays.asList(sub1, sub2);
+
+ SubscriptionInfo info = mController.fineSubscriptionInfo(1111, activeSubInfos, 1);
+
+ assertThat(info).isNotNull();
+ assertThat(info.getDisplayName().toString()).isEqualTo("sim1");
+
+ info = mController.fineSubscriptionInfo(1111, activeSubInfos, 2);
+
+ assertThat(info).isNotNull();
+ assertThat(info.getDisplayName().toString()).isEqualTo("sim2");
+ }
+
+ private SubscriptionInfo mockSubscriptionInfo(int subId, String displayName, int carrierId) {
+ SubscriptionInfo info = mock(SubscriptionInfo.class);
+ when(info.getSubscriptionId()).thenReturn(subId);
+ when(info.getDisplayName()).thenReturn(displayName);
+ when(info.getCarrierId()).thenReturn(carrierId);
+ return info;
+ }
}
diff --git a/tests/robotests/src/com/android/settings/wifi/slice/ContextualWifiSliceTest.java b/tests/robotests/src/com/android/settings/wifi/slice/ContextualWifiSliceTest.java
index 52dcb52..d9c726a 100644
--- a/tests/robotests/src/com/android/settings/wifi/slice/ContextualWifiSliceTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/slice/ContextualWifiSliceTest.java
@@ -103,6 +103,7 @@
mContext.getString(R.string.config_settingsintelligence_package_name);
ShadowBinder.setCallingUid(1);
when(mPackageManager.getPackagesForUid(1)).thenReturn(new String[]{siPackageName});
+ when(mPackageManager.getNameForUid(1)).thenReturn(siPackageName);
ShadowWifiSlice.setWifiPermissible(true);
mWifiSlice = new ContextualWifiSlice(mContext);
}
diff --git a/tests/robotests/src/com/android/settings/wifi/slice/WifiSliceTest.java b/tests/robotests/src/com/android/settings/wifi/slice/WifiSliceTest.java
index 33302ce..5ed2e8b 100644
--- a/tests/robotests/src/com/android/settings/wifi/slice/WifiSliceTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/slice/WifiSliceTest.java
@@ -114,6 +114,7 @@
mSIPackageName = mContext.getString(R.string.config_settingsintelligence_package_name);
ShadowBinder.setCallingUid(USER_ID);
when(mPackageManager.getPackagesForUid(USER_ID)).thenReturn(new String[]{mSIPackageName});
+ when(mPackageManager.getNameForUid(USER_ID)).thenReturn(mSIPackageName);
ShadowWifiSlice.setWifiPermissible(true);
mWifiSlice = new WifiSlice(mContext, mWifiRestriction);
}
@@ -148,6 +149,7 @@
@Test
public void getWifiSlice_fromSIPackage_shouldHaveTitleAndToggle() {
when(mPackageManager.getPackagesForUid(USER_ID)).thenReturn(new String[]{mSIPackageName});
+ when(mPackageManager.getNameForUid(USER_ID)).thenReturn(mSIPackageName);
ShadowWifiSlice.setWifiPermissible(false);
final Slice wifiSlice = mWifiSlice.getSlice();
@@ -163,6 +165,7 @@
@Test
public void getWifiSlice_notFromSIPackageAndWithWifiPermission_shouldHaveTitleAndToggle() {
when(mPackageManager.getPackagesForUid(USER_ID)).thenReturn(new String[]{"com.test"});
+ when(mPackageManager.getNameForUid(USER_ID)).thenReturn("com.test");
ShadowWifiSlice.setWifiPermissible(true);
final Slice wifiSlice = mWifiSlice.getSlice();
@@ -177,6 +180,7 @@
@Test
public void getWifiSlice_notFromSIPackageAndWithoutWifiPermission_shouldReturnNoToggle() {
when(mPackageManager.getPackagesForUid(USER_ID)).thenReturn(new String[]{"com.test"});
+ when(mPackageManager.getNameForUid(USER_ID)).thenReturn("com.test");
ShadowWifiSlice.setWifiPermissible(false);
final Slice wifiSlice = mWifiSlice.getSlice();
diff --git a/tests/unit/src/com/android/settings/applications/appinfo/AppLocalePreferenceControllerTest.java b/tests/unit/src/com/android/settings/applications/appinfo/AppLocalePreferenceControllerTest.java
index 526b6cc..805041c 100644
--- a/tests/unit/src/com/android/settings/applications/appinfo/AppLocalePreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/applications/appinfo/AppLocalePreferenceControllerTest.java
@@ -19,7 +19,6 @@
import static com.google.common.truth.Truth.assertThat;
import android.content.Context;
-import android.util.FeatureFlagUtils;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -49,22 +48,10 @@
return mCanDisplayLocaleUi;
}
};
- FeatureFlagUtils
- .setEnabled(mContext, FeatureFlagUtils.SETTINGS_APP_LANGUAGE_SELECTION, true);
}
@Test
- public void getAvailabilityStatus_canShowUiButFeatureFlagOff_shouldReturnUnavailable() {
- mCanDisplayLocaleUi = true;
- FeatureFlagUtils
- .setEnabled(mContext, FeatureFlagUtils.SETTINGS_APP_LANGUAGE_SELECTION, false);
-
- assertThat(mController.getAvailabilityStatus())
- .isEqualTo(BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
- }
-
- @Test
- public void getAvailabilityStatus_canShowUiAndFeatureFlagOn_shouldReturnAvailable() {
+ public void getAvailabilityStatus_canShowUi_shouldReturnAvailable() {
mCanDisplayLocaleUi = true;
assertThat(mController.getAvailabilityStatus())
@@ -72,20 +59,10 @@
}
@Test
- public void getAvailabilityStatus_featureFlagOnButCanNotShowUi_shouldReturnUnavailable() {
+ public void getAvailabilityStatus_canNotShowUi_shouldReturnUnavailable() {
mCanDisplayLocaleUi = false;
assertThat(mController.getAvailabilityStatus())
.isEqualTo(BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
}
-
- @Test
- public void getAvailabilityStatus_featureFlagOffAndCanNotShowUi_shouldReturnUnavailable() {
- mCanDisplayLocaleUi = false;
- FeatureFlagUtils
- .setEnabled(mContext, FeatureFlagUtils.SETTINGS_APP_LANGUAGE_SELECTION, false);
-
- assertThat(mController.getAvailabilityStatus())
- .isEqualTo(BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
- }
}
diff --git a/tests/unit/src/com/android/settings/applications/appinfo/ManageAppLocalePreferenceControllerTest.java b/tests/unit/src/com/android/settings/applications/appinfo/ManageAppLocalePreferenceControllerTest.java
deleted file mode 100644
index 648c757..0000000
--- a/tests/unit/src/com/android/settings/applications/appinfo/ManageAppLocalePreferenceControllerTest.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.applications.appinfo;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.spy;
-
-import android.content.Context;
-import android.util.FeatureFlagUtils;
-
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-
-import com.android.settings.core.BasePreferenceController;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
-
-@RunWith(AndroidJUnit4.class)
-public class ManageAppLocalePreferenceControllerTest {
- private Context mContext;
- private ManageAppLocalePreferenceController mController;
-
- @Before
- public void setUp() {
- MockitoAnnotations.initMocks(this);
- mContext = spy(ApplicationProvider.getApplicationContext());
- mController = spy(new ManageAppLocalePreferenceController(mContext, "a key"));
-
- FeatureFlagUtils
- .setEnabled(mContext, FeatureFlagUtils.SETTINGS_APP_LANGUAGE_SELECTION, true);
- }
-
- @Test
- public void getAvailabilityStatus_featureFlagOff_shouldReturnUnavailable() {
- FeatureFlagUtils
- .setEnabled(mContext, FeatureFlagUtils.SETTINGS_APP_LANGUAGE_SELECTION, false);
-
- assertThat(mController.getAvailabilityStatus())
- .isEqualTo(BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
- }
-
- @Test
- public void getAvailabilityStatus_featureFlagOn_shouldReturnAvailable() {
- assertThat(mController.getAvailabilityStatus())
- .isEqualTo(BasePreferenceController.AVAILABLE);
- }
-}
diff --git a/tests/unit/src/com/android/settings/applications/specialaccess/notificationaccess/BridgedAppsLinkPreferenceControllerTest.java b/tests/unit/src/com/android/settings/applications/specialaccess/notificationaccess/BridgedAppsLinkPreferenceControllerTest.java
index c594131..8799879 100644
--- a/tests/unit/src/com/android/settings/applications/specialaccess/notificationaccess/BridgedAppsLinkPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/applications/specialaccess/notificationaccess/BridgedAppsLinkPreferenceControllerTest.java
@@ -31,6 +31,7 @@
import android.os.Build;
import android.service.notification.NotificationListenerFilter;
+import androidx.preference.Preference;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -68,6 +69,11 @@
mController.setTargetSdk(Build.VERSION_CODES.CUR_DEVELOPMENT + 1);
assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_DEPENDENT_SETTING);
+
+ // disables field
+ Preference p = new Preference(mContext);
+ mController.updateState(p);
+ assertThat(p.isEnabled()).isFalse();
}
@Test
@@ -77,6 +83,11 @@
when(mNm.getListenerFilter(mCn, 0)).thenReturn(new NotificationListenerFilter());
assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_DEPENDENT_SETTING);
+
+ // disables field
+ Preference p = new Preference(mContext);
+ mController.updateState(p);
+ assertThat(p.isEnabled()).isFalse();
}
@Test
@@ -88,6 +99,11 @@
when(mNm.getListenerFilter(mCn, 0)).thenReturn(nlf);
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+
+ // enables field
+ Preference p = new Preference(mContext);
+ mController.updateState(p);
+ assertThat(p.isEnabled()).isTrue();
}
@Test
@@ -97,5 +113,10 @@
when(mNm.getListenerFilter(mCn, 0)).thenReturn(new NotificationListenerFilter());
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+
+ // enables field
+ Preference p = new Preference(mContext);
+ mController.updateState(p);
+ assertThat(p.isEnabled()).isTrue();
}
}
diff --git a/tests/unit/src/com/android/settings/datausage/BillingCyclePreferenceTest.java b/tests/unit/src/com/android/settings/datausage/BillingCyclePreferenceTest.java
new file mode 100644
index 0000000..f74768f
--- /dev/null
+++ b/tests/unit/src/com/android/settings/datausage/BillingCyclePreferenceTest.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2022 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.datausage;
+
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+
+import android.content.Context;
+import android.os.INetworkManagementService;
+import android.os.RemoteException;
+import android.os.UserManager;
+import android.telephony.TelephonyManager;
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+@RunWith(AndroidJUnit4.class)
+public class BillingCyclePreferenceTest {
+
+ private Context mContext;
+ private BillingCyclePreference mPreference;
+ private TemplatePreference.NetworkServices mServices;
+ @Mock
+ private INetworkManagementService mNetManageSerice;
+ @Mock
+ private TelephonyManager mTelephonyManager;
+ @Mock
+ private UserManager mUserManager;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ mContext = spy(ApplicationProvider.getApplicationContext());
+
+ mServices = new TemplatePreference.NetworkServices();
+ mServices.mNetworkService = mNetManageSerice;
+ mServices.mTelephonyManager = mTelephonyManager;
+ mServices.mUserManager = mUserManager;
+
+ doReturn(mTelephonyManager).when(mTelephonyManager)
+ .createForSubscriptionId(anyInt());
+
+ mPreference = spy(new BillingCyclePreference(mContext, null /* attrs */));
+ mPreference.setTemplate(null, 0, mServices);
+ }
+
+ @Test
+ public void testPreferenceUpdate_onMobileDataEnabledChange_accessDataEnabledApi() {
+ try {
+ doReturn(true).when(mNetManageSerice).isBandwidthControlEnabled();
+ } catch (RemoteException exception) {}
+ doReturn(true).when(mUserManager).isAdminUser();
+ mPreference.onMobileDataEnabledChange();
+
+ verify(mTelephonyManager)
+ .isDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER);
+ }
+}
\ No newline at end of file
diff --git a/tests/unit/src/com/android/settings/deviceinfo/VolumeOptionMenuControllerTest.java b/tests/unit/src/com/android/settings/deviceinfo/VolumeOptionMenuControllerTest.java
index 8bd9b01..d347f91 100644
--- a/tests/unit/src/com/android/settings/deviceinfo/VolumeOptionMenuControllerTest.java
+++ b/tests/unit/src/com/android/settings/deviceinfo/VolumeOptionMenuControllerTest.java
@@ -55,7 +55,6 @@
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Menu mMenu;
@Mock private PackageManager mPackageManager;
- @Mock private StorageManager mStorageManager;
@Mock private VolumeInfo mExternalVolumeInfo;
@Mock private VolumeInfo mInternalVolumeInfo;
@@ -68,7 +67,6 @@
mContext = spy(ApplicationProvider.getApplicationContext());
when(mContext.getPackageManager()).thenReturn(mPackageManager);
- when(mContext.getSystemService(StorageManager.class)).thenReturn(mStorageManager);
when(mInternalVolumeInfo.getId()).thenReturn(INTERNAL_VOLUME_ID);
when(mInternalVolumeInfo.getType()).thenReturn(VolumeInfo.TYPE_PRIVATE);
@@ -173,17 +171,16 @@
when(mExternalVolumeInfo.getState()).thenReturn(VolumeInfo.STATE_MOUNTED);
when(mExternalVolumeInfo.getDiskId()).thenReturn(DISK_ID);
final DiskInfo externalDiskInfo = mock(DiskInfo.class);
- when(mStorageManager.findDiskById(DISK_ID)).thenReturn(externalDiskInfo);
mController.setSelectedStorageEntry(new StorageEntry(mContext, mExternalVolumeInfo));
mController.onPrepareOptionsMenu(mMenu);
verify(mController.mRename, atLeastOnce()).setVisible(true);
verify(mController.mUnmount, atLeastOnce()).setVisible(true);
- verify(mController.mFormat, atLeastOnce()).setVisible(true);
- verify(mController.mMount, never()).setVisible(true);
+ verify(mController.mFormatAsInternal, atLeastOnce()).setVisible(true);
verify(mController.mFormatAsPortable, never()).setVisible(true);
- verify(mController.mFormatAsInternal, never()).setVisible(true);
+ verify(mController.mFormat, never()).setVisible(true);
+ verify(mController.mMount, never()).setVisible(true);
verify(mController.mFree, never()).setVisible(true);
verify(mController.mForget, never()).setVisible(true);
}
diff --git a/tests/unit/src/com/android/settings/localepicker/LocaleHelperPreferenceControllerTest.java b/tests/unit/src/com/android/settings/localepicker/LocaleHelperPreferenceControllerTest.java
new file mode 100644
index 0000000..31b8e79
--- /dev/null
+++ b/tests/unit/src/com/android/settings/localepicker/LocaleHelperPreferenceControllerTest.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2022 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.localepicker;
+
+import static org.mockito.Mockito.anyString;
+import static org.mockito.Mockito.verify;
+
+import android.content.Context;
+import android.os.Looper;
+
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.settingslib.widget.FooterPreference;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+@RunWith(AndroidJUnit4.class)
+public class LocaleHelperPreferenceControllerTest {
+ private Context mContext;
+ private LocaleHelperPreferenceController mLocaleHelperPreferenceController;
+
+ @Mock
+ private FooterPreference mMockFooterPreference;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ if (Looper.myLooper() == null) {
+ Looper.prepare();
+ }
+ mContext = ApplicationProvider.getApplicationContext();
+ mLocaleHelperPreferenceController = new LocaleHelperPreferenceController(mContext);
+ }
+
+ @Test
+ public void updateFooterPreference_setFooterPreference_hasClickAction() {
+ mLocaleHelperPreferenceController.updateFooterPreference(mMockFooterPreference);
+ verify(mMockFooterPreference).setLearnMoreText(anyString());
+ }
+}
diff --git a/tests/unit/src/com/android/settings/security/SecuritySettingsTest.java b/tests/unit/src/com/android/settings/security/SecuritySettingsTest.java
index c50d993..272c840 100644
--- a/tests/unit/src/com/android/settings/security/SecuritySettingsTest.java
+++ b/tests/unit/src/com/android/settings/security/SecuritySettingsTest.java
@@ -16,26 +16,42 @@
package com.android.settings.security;
+import static android.content.Context.FACE_SERVICE;
+import static android.content.Context.FINGERPRINT_SERVICE;
+import static android.content.pm.PackageManager.FEATURE_FACE;
+import static android.content.pm.PackageManager.FEATURE_FINGERPRINT;
+
import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_KEY;
import static com.android.settings.core.PreferenceXmlParserUtils.MetadataFlag.FLAG_INCLUDE_PREF_SCREEN;
import static com.android.settings.core.PreferenceXmlParserUtils.MetadataFlag.FLAG_NEED_KEY;
import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;
import android.annotation.XmlRes;
import android.content.Context;
+import android.content.pm.PackageManager;
+import android.hardware.face.FaceManager;
+import android.hardware.fingerprint.FingerprintManager;
import android.os.Bundle;
+import android.os.Looper;
import android.provider.SearchIndexableResource;
+import androidx.test.annotation.UiThreadTest;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;
+import com.android.settings.biometrics.combination.CombinedBiometricStatusPreferenceController;
+import com.android.settings.biometrics.face.FaceStatusPreferenceController;
+import com.android.settings.biometrics.fingerprint.FingerprintStatusPreferenceController;
import com.android.settings.core.PreferenceXmlParserUtils;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.security.trustagent.TrustAgentManager;
import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settingslib.core.AbstractPreferenceController;
import org.junit.Before;
import org.junit.Test;
@@ -52,26 +68,44 @@
private Context mContext;
private SecuritySettingsFeatureProvider mSecuritySettingsFeatureProvider;
+ private SecuritySettings mSecuritySettings;
@Mock
private TrustAgentManager mTrustAgentManager;
+ @Mock
+ private FaceManager mFaceManager;
+ @Mock
+ private FingerprintManager mFingerprintManager;
+ @Mock
+ private PackageManager mPackageManager;
@Before
+ @UiThreadTest
public void setup() {
+ if (Looper.myLooper() == null) {
+ Looper.prepare();
+ }
+
MockitoAnnotations.initMocks(this);
- mContext = ApplicationProvider.getApplicationContext();
+ mContext = spy(ApplicationProvider.getApplicationContext());
+ when(mContext.getPackageManager()).thenReturn(mPackageManager);
+ when(mPackageManager.hasSystemFeature(FEATURE_FACE)).thenReturn(true);
+ when(mPackageManager.hasSystemFeature(FEATURE_FINGERPRINT)).thenReturn(true);
+ doReturn(mFaceManager).when(mContext).getSystemService(FACE_SERVICE);
+ doReturn(mFingerprintManager).when(mContext).getSystemService(FINGERPRINT_SERVICE);
FakeFeatureFactory mFeatureFactory = FakeFeatureFactory.setupForTest();
- mSecuritySettingsFeatureProvider = mFeatureFactory.getSecuritySettingsFeatureProvider();
SecurityFeatureProvider mSecurityFeatureProvider =
mFeatureFactory.getSecurityFeatureProvider();
when(mSecurityFeatureProvider.getTrustAgentManager()).thenReturn(mTrustAgentManager);
+ mSecuritySettingsFeatureProvider = mFeatureFactory.getSecuritySettingsFeatureProvider();
+ mSecuritySettings = new SecuritySettings();
}
@Test
public void noAlternativeFragmentAvailable_pageIndexIncluded() throws Exception {
- when(mSecuritySettingsFeatureProvider.hasAlternativeSecuritySettingsFragment())
- .thenReturn(false);
+ when(mSecuritySettingsFeatureProvider.hasAlternativeSecuritySettingsFragment()).thenReturn(
+ false);
BaseSearchIndexProvider indexProvider = SecuritySettings.SEARCH_INDEX_DATA_PROVIDER;
List<String> allXmlKeys = getAllXmlKeys(indexProvider);
@@ -83,8 +117,8 @@
@Test
public void alternativeFragmentAvailable_pageIndexExcluded() throws Exception {
- when(mSecuritySettingsFeatureProvider.hasAlternativeSecuritySettingsFragment())
- .thenReturn(true);
+ when(mSecuritySettingsFeatureProvider.hasAlternativeSecuritySettingsFragment()).thenReturn(
+ true);
BaseSearchIndexProvider indexProvider = SecuritySettings.SEARCH_INDEX_DATA_PROVIDER;
List<String> allXmlKeys = getAllXmlKeys(indexProvider);
@@ -94,6 +128,45 @@
assertThat(allXmlKeys).isEmpty();
}
+ @Test
+ @UiThreadTest
+ public void preferenceController_containsFaceWhenAvailable() {
+ when(mFaceManager.isHardwareDetected()).thenReturn(true);
+ when(mFingerprintManager.isHardwareDetected()).thenReturn(false);
+ final List<AbstractPreferenceController> controllers =
+ mSecuritySettings.createPreferenceControllers(mContext);
+
+ assertThat(isFacePrefAvailable(controllers)).isTrue();
+ assertThat(isFingerprintPrefAvailable(controllers)).isFalse();
+ assertThat(isCombinedPrefAvailable(controllers)).isFalse();
+ }
+
+ @Test
+ @UiThreadTest
+ public void preferenceController_containsFingerprintWhenAvailable() {
+ when(mFaceManager.isHardwareDetected()).thenReturn(false);
+ when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
+ final List<AbstractPreferenceController> controllers =
+ mSecuritySettings.createPreferenceControllers(mContext);
+
+ assertThat(isFacePrefAvailable(controllers)).isFalse();
+ assertThat(isFingerprintPrefAvailable(controllers)).isTrue();
+ assertThat(isCombinedPrefAvailable(controllers)).isFalse();
+ }
+
+ @Test
+ @UiThreadTest
+ public void preferenceController_containsCombinedBiometricWhenAvailable() {
+ when(mFaceManager.isHardwareDetected()).thenReturn(true);
+ when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
+ final List<AbstractPreferenceController> controllers =
+ mSecuritySettings.createPreferenceControllers(mContext);
+
+ assertThat(isFacePrefAvailable(controllers)).isFalse();
+ assertThat(isFingerprintPrefAvailable(controllers)).isFalse();
+ assertThat(isCombinedPrefAvailable(controllers)).isTrue();
+ }
+
private List<String> getAllXmlKeys(BaseSearchIndexProvider indexProvider) throws Exception {
final List<SearchIndexableResource> resources = indexProvider.getXmlResourcesToIndex(
mContext, true /* not used*/);
@@ -109,11 +182,29 @@
private List<String> getKeysFromXml(@XmlRes int xmlResId) throws Exception {
final List<String> keys = new ArrayList<>();
- final List<Bundle> metadata = PreferenceXmlParserUtils
- .extractMetadata(mContext, xmlResId, FLAG_NEED_KEY | FLAG_INCLUDE_PREF_SCREEN);
+ final List<Bundle> metadata = PreferenceXmlParserUtils.extractMetadata(mContext, xmlResId,
+ FLAG_NEED_KEY | FLAG_INCLUDE_PREF_SCREEN);
for (Bundle bundle : metadata) {
keys.add(bundle.getString(METADATA_KEY));
}
return keys;
}
+
+ boolean isFacePrefAvailable(List<AbstractPreferenceController> controllers) {
+ return controllers.stream().filter(
+ controller -> controller instanceof FaceStatusPreferenceController
+ && controller.isAvailable()).count() == 1;
+ }
+
+ boolean isFingerprintPrefAvailable(List<AbstractPreferenceController> controllers) {
+ return controllers.stream().filter(
+ controller -> controller instanceof FingerprintStatusPreferenceController
+ && controller.isAvailable()).count() == 1;
+ }
+
+ boolean isCombinedPrefAvailable(List<AbstractPreferenceController> controllers) {
+ return controllers.stream().filter(
+ controller -> controller instanceof CombinedBiometricStatusPreferenceController
+ && controller.isAvailable()).count() == 1;
+ }
}
diff --git a/tests/unit/src/com/android/settings/sound/MediaControlsLockScreenPreferenceControllerTest.java b/tests/unit/src/com/android/settings/sound/MediaControlsLockScreenPreferenceControllerTest.java
new file mode 100644
index 0000000..6c1aede
--- /dev/null
+++ b/tests/unit/src/com/android/settings/sound/MediaControlsLockScreenPreferenceControllerTest.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2022 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.sound;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+
+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 org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(AndroidJUnit4.class)
+public class MediaControlsLockScreenPreferenceControllerTest {
+
+ private static final String KEY = "media_controls_lockscreen";
+ private final Context mContext = ApplicationProvider.getApplicationContext();
+
+ private int mOriginalPreference;
+ private ContentResolver mContentResolver;
+ private MediaControlsLockScreenPreferenceController mController;
+
+ @Before
+ public void setUp() {
+ mContentResolver = mContext.getContentResolver();
+ mOriginalPreference = Settings.Secure.getInt(mContentResolver,
+ Settings.Secure.MEDIA_CONTROLS_LOCK_SCREEN, 1);
+ mController = new MediaControlsLockScreenPreferenceController(mContext, KEY);
+ }
+
+ @After
+ public void tearDown() {
+ Settings.Secure.putInt(mContentResolver, Settings.Secure.MEDIA_CONTROLS_LOCK_SCREEN,
+ mOriginalPreference);
+ }
+
+ @Test
+ public void getAvailability_returnAvailable() {
+ assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+ }
+
+ @Test
+ public void setChecked_disable_shouldTurnOff() {
+ Settings.Secure.putInt(mContentResolver,
+ Settings.Secure.MEDIA_CONTROLS_LOCK_SCREEN, 1);
+
+ assertThat(mController.isChecked()).isTrue();
+
+ mController.setChecked(false);
+
+ assertThat(Settings.Secure.getInt(mContentResolver,
+ Settings.Secure.MEDIA_CONTROLS_LOCK_SCREEN, -1)).isEqualTo(0);
+ }
+
+ @Test
+ public void setChecked_enable_shouldTurnOn() {
+ Settings.Secure.putInt(mContentResolver,
+ Settings.Secure.MEDIA_CONTROLS_LOCK_SCREEN, 0);
+
+ assertThat(mController.isChecked()).isFalse();
+
+ mController.setChecked(true);
+
+ assertThat(Settings.Secure.getInt(mContentResolver,
+ Settings.Secure.MEDIA_CONTROLS_LOCK_SCREEN, -1)).isEqualTo(1);
+ }
+}
diff --git a/tests/unit/src/com/android/settings/vpn2/VpnSettingsTest.java b/tests/unit/src/com/android/settings/vpn2/VpnSettingsTest.java
index 86bd1e7..953a524 100644
--- a/tests/unit/src/com/android/settings/vpn2/VpnSettingsTest.java
+++ b/tests/unit/src/com/android/settings/vpn2/VpnSettingsTest.java
@@ -20,15 +20,22 @@
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.app.AppOpsManager;
import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.os.Looper;
import android.os.UserHandle;
+import android.text.TextUtils;
import android.util.ArraySet;
import androidx.preference.Preference;
@@ -46,6 +53,7 @@
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
@@ -56,19 +64,26 @@
@RunWith(AndroidJUnit4.class)
public class VpnSettingsTest {
- private static final String ADVANCED_VPN_GROUP_KEY = "advanced_vpn_group";
- private static final String VPN_GROUP_KEY = "vpn_group";
- private static final String ADVANCED_VPN_GROUP_TITLE = "advanced_vpn_group_title";
- private static final String VPN_GROUP_TITLE = "vpn_group_title";
- private static final String FAKE_PACKAGE_NAME = "com.fake.package.name";
- private static final String ADVANCED_VPN_GROUP_PACKAGE_NAME = "com.advanced.package.name";
private static final int USER_ID_1 = UserHandle.USER_NULL;
+ private static final String VPN_GROUP_KEY = "vpn_group";
+ private static final String VPN_GROUP_TITLE = "vpn_group_title";
+ private static final String VPN_PACKAGE_NAME = "vpn.package.name";
+ private static final String VPN_LAUNCH_INTENT = "vpn.action";
+ private static final String ADVANCED_VPN_GROUP_KEY = "advanced_vpn_group";
+ private static final String ADVANCED_VPN_GROUP_TITLE = "advanced_vpn_group_title";
+ private static final String ADVANCED_VPN_PACKAGE_NAME = "advanced.vpn.package.name";
+ private static final String ADVANCED_VPN_LAUNCH_INTENT = "advanced.vpn.action";
+
+ private final Intent mVpnIntent = new Intent().setAction(VPN_LAUNCH_INTENT);
+ private final Intent mAdvancedVpnIntent = new Intent().setAction(ADVANCED_VPN_LAUNCH_INTENT);
@Rule
public final MockitoRule mMockitoRule = MockitoJUnit.rule();
@Mock
private AppOpsManager mAppOpsManager;
+ @Mock
+ private PackageManager mPackageManager;
private VpnSettings mVpnSettings;
private Context mContext;
@@ -104,9 +119,10 @@
when(mFakeFeatureFactory.mAdvancedVpnFeatureProvider.getVpnPreferenceGroupTitle(mContext))
.thenReturn(VPN_GROUP_TITLE);
when(mFakeFeatureFactory.mAdvancedVpnFeatureProvider.getAdvancedVpnPackageName())
- .thenReturn(ADVANCED_VPN_GROUP_PACKAGE_NAME);
+ .thenReturn(ADVANCED_VPN_PACKAGE_NAME);
when(mFakeFeatureFactory.mAdvancedVpnFeatureProvider.isAdvancedVpnSupported(any()))
.thenReturn(true);
+ when(mContext.getPackageManager()).thenReturn(mPackageManager);
doReturn(mContext).when(mContext).createContextAsUser(any(), anyInt());
doReturn(mContext).when(mContext).createPackageContextAsUser(any(), anyInt(), any());
doReturn(mPreferenceManager).when(mVpnGroup).getPreferenceManager();
@@ -117,7 +133,7 @@
public void setShownAdvancedPreferences_hasGeneralVpn_returnsVpnCountAs1() {
Set<Preference> updates = new ArraySet<>();
AppPreference pref =
- spy(new AppPreference(mContext, USER_ID_1, FAKE_PACKAGE_NAME));
+ spy(new AppPreference(mContext, USER_ID_1, VPN_PACKAGE_NAME));
updates.add(pref);
mVpnSettings.setShownAdvancedPreferences(updates);
@@ -131,7 +147,7 @@
public void setShownAdvancedPreferences_hasAdvancedVpn_returnsAdvancedVpnCountAs1() {
Set<Preference> updates = new ArraySet<>();
AppPreference pref =
- spy(new AppPreference(mContext, USER_ID_1, ADVANCED_VPN_GROUP_PACKAGE_NAME));
+ spy(new AppPreference(mContext, USER_ID_1, ADVANCED_VPN_PACKAGE_NAME));
updates.add(pref);
mVpnSettings.setShownAdvancedPreferences(updates);
@@ -154,14 +170,10 @@
}
@Test
- public void getVpnApps_isAdvancedVpn_returnsOne() {
- int uid = 1111;
- List<AppOpsManager.OpEntry> opEntries = new ArrayList<>();
- List<AppOpsManager.PackageOps> apps = new ArrayList<>();
- AppOpsManager.PackageOps packageOps =
- new AppOpsManager.PackageOps(ADVANCED_VPN_GROUP_PACKAGE_NAME, uid, opEntries);
- apps.add(packageOps);
- when(mAppOpsManager.getPackagesForOps((int[]) any())).thenReturn(apps);
+ public void getVpnApps_isAdvancedVpn_returnsOne() throws Exception {
+ ApplicationInfo info = new ApplicationInfo();
+ info.uid = 1111;
+ when(mPackageManager.getApplicationInfo(anyString(), anyInt())).thenReturn(info);
assertThat(VpnSettings.getVpnApps(mContext, /* includeProfiles= */ false,
mFakeFeatureFactory.getAdvancedVpnFeatureProvider(),
@@ -174,12 +186,100 @@
List<AppOpsManager.OpEntry> opEntries = new ArrayList<>();
List<AppOpsManager.PackageOps> apps = new ArrayList<>();
AppOpsManager.PackageOps packageOps =
- new AppOpsManager.PackageOps(FAKE_PACKAGE_NAME, uid, opEntries);
+ new AppOpsManager.PackageOps(VPN_PACKAGE_NAME, uid, opEntries);
apps.add(packageOps);
when(mAppOpsManager.getPackagesForOps((int[]) any())).thenReturn(apps);
+ when(mFakeFeatureFactory.mAdvancedVpnFeatureProvider.isAdvancedVpnSupported(any()))
+ .thenReturn(false);
assertThat(VpnSettings.getVpnApps(mContext, /* includeProfiles= */ false,
mFakeFeatureFactory.getAdvancedVpnFeatureProvider(),
mAppOpsManager)).isEmpty();
}
+
+ @Test
+ public void clickVpn_VpnConnected_doesNotStartVpnLaunchIntent()
+ throws PackageManager.NameNotFoundException {
+ Set<Preference> updates = new ArraySet<>();
+ AppPreference pref = spy(new AppPreference(mContext, USER_ID_1, VPN_PACKAGE_NAME));
+ pref.setState(AppPreference.STATE_CONNECTED);
+ updates.add(pref);
+ when(mContext.createPackageContextAsUser(any(), anyInt(), any())).thenReturn(mContext);
+ when(mContext.getPackageManager()).thenReturn(mPackageManager);
+ when(mPackageManager.getLaunchIntentForPackage(any())).thenReturn(mVpnIntent);
+ ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
+ doNothing().when(mContext).startActivityAsUser(captor.capture(), any());
+ mVpnSettings.setShownPreferences(updates);
+
+ mVpnSettings.onPreferenceClick(pref);
+
+ verify(mContext, never()).startActivityAsUser(any(), any());
+ }
+
+ @Test
+ public void clickVpn_VpnDisconnected_startsVpnLaunchIntent()
+ throws PackageManager.NameNotFoundException {
+ Set<Preference> updates = new ArraySet<>();
+ AppPreference pref = spy(new AppPreference(mContext, USER_ID_1, VPN_PACKAGE_NAME));
+ pref.setState(AppPreference.STATE_DISCONNECTED);
+ updates.add(pref);
+ when(mContext.createPackageContextAsUser(any(), anyInt(), any())).thenReturn(mContext);
+ when(mContext.getPackageManager()).thenReturn(mPackageManager);
+ when(mPackageManager.getLaunchIntentForPackage(any())).thenReturn(mVpnIntent);
+ ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
+ doNothing().when(mContext).startActivityAsUser(captor.capture(), any());
+ mVpnSettings.setShownPreferences(updates);
+
+ mVpnSettings.onPreferenceClick(pref);
+
+ verify(mContext).startActivityAsUser(captor.capture(), any());
+ assertThat(TextUtils.equals(captor.getValue().getAction(),
+ VPN_LAUNCH_INTENT)).isTrue();
+ }
+
+ @Test
+ public void clickAdvancedVpn_VpnConnectedDisconnectDialogDisabled_startsAppLaunchIntent()
+ throws PackageManager.NameNotFoundException {
+ Set<Preference> updates = new ArraySet<>();
+ AppPreference pref =
+ spy(new AppPreference(mContext, USER_ID_1, ADVANCED_VPN_PACKAGE_NAME));
+ pref.setState(AppPreference.STATE_CONNECTED);
+ updates.add(pref);
+ when(mFakeFeatureFactory.mAdvancedVpnFeatureProvider.isDisconnectDialogEnabled())
+ .thenReturn(false);
+ when(mContext.createPackageContextAsUser(any(), anyInt(), any())).thenReturn(mContext);
+ when(mContext.getPackageManager()).thenReturn(mPackageManager);
+ when(mPackageManager.getLaunchIntentForPackage(any())).thenReturn(mAdvancedVpnIntent);
+ ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
+ doNothing().when(mContext).startActivityAsUser(captor.capture(), any());
+ mVpnSettings.setShownAdvancedPreferences(updates);
+
+ mVpnSettings.onPreferenceClick(pref);
+
+ verify(mContext).startActivityAsUser(captor.capture(), any());
+ assertThat(TextUtils.equals(captor.getValue().getAction(),
+ ADVANCED_VPN_LAUNCH_INTENT)).isTrue();
+ }
+
+ @Test
+ public void clickAdvancedVpn_VpnConnectedDisconnectDialogEnabled_doesNotStartAppLaunchIntent()
+ throws PackageManager.NameNotFoundException {
+ Set<Preference> updates = new ArraySet<>();
+ AppPreference pref =
+ spy(new AppPreference(mContext, USER_ID_1, ADVANCED_VPN_PACKAGE_NAME));
+ pref.setState(AppPreference.STATE_CONNECTED);
+ updates.add(pref);
+ when(mFakeFeatureFactory.mAdvancedVpnFeatureProvider.isDisconnectDialogEnabled())
+ .thenReturn(true);
+ when(mContext.createPackageContextAsUser(any(), anyInt(), any())).thenReturn(mContext);
+ when(mContext.getPackageManager()).thenReturn(mPackageManager);
+ when(mPackageManager.getLaunchIntentForPackage(any())).thenReturn(mAdvancedVpnIntent);
+ ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
+ doNothing().when(mContext).startActivityAsUser(captor.capture(), any());
+ mVpnSettings.setShownAdvancedPreferences(updates);
+
+ mVpnSettings.onPreferenceClick(pref);
+
+ verify(mContext, never()).startActivityAsUser(any(), any());
+ }
}