summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api/current.txt5
-rw-r--r--api/system-current.txt5
-rw-r--r--api/test-current.txt6
-rw-r--r--cmds/bootanimation/audioplay.cpp22
-rw-r--r--core/java/android/app/ActivityManagerInternal.java6
-rw-r--r--core/java/android/app/ITransientNotification.aidl2
-rw-r--r--core/java/android/content/ClipData.java13
-rw-r--r--core/java/android/content/pm/ShortcutInfo.java221
-rw-r--r--core/java/android/content/pm/ShortcutManager.java50
-rw-r--r--core/java/android/content/pm/ShortcutServiceInternal.java3
-rw-r--r--core/java/android/hardware/SensorManager.java37
-rw-r--r--core/java/android/hardware/display/DisplayManagerGlobal.java4
-rw-r--r--core/java/android/hardware/display/IDisplayManager.aidl4
-rw-r--r--core/java/android/os/BatteryStats.java58
-rw-r--r--core/java/android/os/INetworkManagementService.aidl1
-rw-r--r--core/java/android/os/Parcel.java15
-rw-r--r--core/java/android/os/Process.java20
-rw-r--r--core/java/android/os/storage/StorageManager.java25
-rwxr-xr-xcore/java/android/provider/Settings.java38
-rw-r--r--core/java/android/service/notification/ZenModeConfig.java7
-rw-r--r--core/java/android/view/Display.java141
-rw-r--r--core/java/android/view/DisplayInfo.java70
-rw-r--r--core/java/android/view/SurfaceControl.java33
-rw-r--r--core/java/android/view/View.java52
-rw-r--r--core/java/android/view/accessibility/AccessibilityManager.java13
-rw-r--r--core/java/android/widget/Toast.java25
-rw-r--r--core/java/com/android/internal/app/AlertController.java4
-rw-r--r--core/java/com/android/internal/app/IBatteryStats.aidl4
-rw-r--r--core/java/com/android/internal/app/MicroAlertController.java16
-rw-r--r--core/java/com/android/internal/os/BatteryStatsImpl.java210
-rw-r--r--core/java/com/android/internal/widget/LockPatternUtils.java4
-rw-r--r--core/java/com/android/internal/widget/ResolverDrawerLayout.java2
-rw-r--r--core/jni/android_hardware_camera2_CameraMetadata.cpp105
-rw-r--r--core/jni/android_util_Process.cpp18
-rw-r--r--core/jni/android_view_SurfaceControl.cpp49
-rw-r--r--core/jni/android_view_ThreadedRenderer.cpp99
-rw-r--r--core/res/AndroidManifest.xml5
-rw-r--r--core/res/res/layout-watch/alert_dialog_material.xml16
-rw-r--r--core/res/res/values-af/strings.xml3
-rw-r--r--core/res/res/values-am/strings.xml3
-rw-r--r--core/res/res/values-ar/strings.xml3
-rw-r--r--core/res/res/values-az-rAZ/strings.xml3
-rw-r--r--core/res/res/values-b+sr+Latn-watch/styles_material.xml35
-rw-r--r--core/res/res/values-b+sr+Latn/strings.xml170
-rw-r--r--core/res/res/values-be-rBY-watch/styles_material.xml35
-rw-r--r--core/res/res/values-be-rBY/strings.xml259
-rw-r--r--core/res/res/values-bg/strings.xml3
-rw-r--r--core/res/res/values-bn-rBD/strings.xml3
-rw-r--r--core/res/res/values-bs-rBA-watch/styles_material.xml35
-rw-r--r--core/res/res/values-bs-rBA/strings.xml182
-rw-r--r--core/res/res/values-ca/strings.xml3
-rw-r--r--core/res/res/values-cs/strings.xml3
-rw-r--r--core/res/res/values-da/strings.xml3
-rw-r--r--core/res/res/values-de/strings.xml3
-rw-r--r--core/res/res/values-el/strings.xml3
-rw-r--r--core/res/res/values-en-rAU/strings.xml5
-rw-r--r--core/res/res/values-en-rGB/strings.xml5
-rw-r--r--core/res/res/values-en-rIN/strings.xml5
-rw-r--r--core/res/res/values-es-rUS/strings.xml3
-rw-r--r--core/res/res/values-es/strings.xml3
-rw-r--r--core/res/res/values-eu-rES/strings.xml3
-rw-r--r--core/res/res/values-fa/strings.xml3
-rw-r--r--core/res/res/values-fi/strings.xml3
-rw-r--r--core/res/res/values-fr-rCA/strings.xml3
-rw-r--r--core/res/res/values-fr/strings.xml3
-rw-r--r--core/res/res/values-gl-rES/strings.xml3
-rw-r--r--core/res/res/values-gu-rIN/strings.xml3
-rw-r--r--core/res/res/values-hi/strings.xml3
-rw-r--r--core/res/res/values-hr/strings.xml3
-rw-r--r--core/res/res/values-hy-rAM/strings.xml3
-rw-r--r--core/res/res/values-in/strings.xml3
-rw-r--r--core/res/res/values-is-rIS/strings.xml3
-rw-r--r--core/res/res/values-it/strings.xml3
-rw-r--r--core/res/res/values-iw/strings.xml3
-rw-r--r--core/res/res/values-ja/strings.xml3
-rw-r--r--core/res/res/values-ka-rGE/strings.xml3
-rw-r--r--core/res/res/values-kk-rKZ/strings.xml3
-rw-r--r--core/res/res/values-km-rKH/strings.xml3
-rw-r--r--core/res/res/values-kn-rIN/strings.xml3
-rw-r--r--core/res/res/values-ko/strings.xml3
-rw-r--r--core/res/res/values-ky-rKG/strings.xml3
-rw-r--r--core/res/res/values-lt/strings.xml3
-rw-r--r--core/res/res/values-lv/strings.xml3
-rw-r--r--core/res/res/values-mk-rMK/strings.xml3
-rw-r--r--core/res/res/values-ml-rIN/strings.xml3
-rw-r--r--core/res/res/values-mn-rMN/strings.xml3
-rw-r--r--core/res/res/values-mr-rIN/strings.xml3
-rw-r--r--core/res/res/values-ms-rMY/strings.xml3
-rw-r--r--core/res/res/values-my-rMM/strings.xml3
-rw-r--r--core/res/res/values-nb/strings.xml3
-rw-r--r--core/res/res/values-ne-rNP/strings.xml3
-rw-r--r--core/res/res/values-nl/strings.xml3
-rw-r--r--core/res/res/values-notround-watch/dimens_material.xml3
-rw-r--r--core/res/res/values-pa-rIN/strings.xml3
-rw-r--r--core/res/res/values-pl/strings.xml3
-rw-r--r--core/res/res/values-pt-rBR/strings.xml3
-rw-r--r--core/res/res/values-pt-rPT/strings.xml3
-rw-r--r--core/res/res/values-pt/strings.xml3
-rw-r--r--core/res/res/values-ro/strings.xml3
-rw-r--r--core/res/res/values-round-watch/dimens_material.xml3
-rw-r--r--core/res/res/values-ru/strings.xml3
-rw-r--r--core/res/res/values-si-rLK/strings.xml3
-rw-r--r--core/res/res/values-sk/strings.xml3
-rw-r--r--core/res/res/values-sl/strings.xml3
-rw-r--r--core/res/res/values-sq-rAL/strings.xml3
-rw-r--r--core/res/res/values-sr/strings.xml3
-rw-r--r--core/res/res/values-sv/strings.xml3
-rw-r--r--core/res/res/values-sw/strings.xml3
-rw-r--r--core/res/res/values-ta-rIN/strings.xml21
-rw-r--r--core/res/res/values-te-rIN/strings.xml3
-rw-r--r--core/res/res/values-th/strings.xml3
-rw-r--r--core/res/res/values-tl/strings.xml3
-rw-r--r--core/res/res/values-tr/strings.xml3
-rw-r--r--core/res/res/values-uk/strings.xml3
-rw-r--r--core/res/res/values-ur-rPK/strings.xml3
-rw-r--r--core/res/res/values-uz-rUZ/strings.xml23
-rw-r--r--core/res/res/values-vi/strings.xml3
-rw-r--r--core/res/res/values-w192dp/dimens_material.xml (renamed from core/res/res/values-w194dp/dimens_material.xml)6
-rw-r--r--core/res/res/values-watch/styles_material.xml5
-rw-r--r--core/res/res/values-zh-rCN/strings.xml3
-rw-r--r--core/res/res/values-zh-rHK/strings.xml3
-rw-r--r--core/res/res/values-zh-rTW/strings.xml3
-rw-r--r--core/res/res/values-zu/strings.xml3
-rw-r--r--core/res/res/values/colors.xml4
-rw-r--r--core/res/res/values/config.xml22
-rw-r--r--core/res/res/values/styles_material.xml12
-rw-r--r--core/res/res/values/symbols.xml1
-rw-r--r--core/res/res/values/themes_device_defaults.xml6
-rw-r--r--core/res/res/values/themes_material.xml9
-rw-r--r--docs/html-intl/intl/es/preview/download.jd7
-rw-r--r--docs/html-intl/intl/in/preview/download.jd7
-rw-r--r--docs/html-intl/intl/ja/preview/download.jd7
-rw-r--r--docs/html-intl/intl/ko/preview/download.jd7
-rw-r--r--docs/html-intl/intl/pt-br/preview/download.jd7
-rw-r--r--docs/html-intl/intl/zh-cn/preview/download.jd7
-rw-r--r--docs/html/_project.yaml5
-rw-r--r--docs/html/about/_project.yaml5
-rw-r--r--docs/html/about/dashboards/index.jd4
-rw-r--r--docs/html/auto/images/logos/auto/borgward.pngbin0 -> 20299 bytes
-rw-r--r--docs/html/auto/images/logos/auto/lada.pngbin0 -> 5108 bytes
-rw-r--r--docs/html/auto/index.jd286
-rw-r--r--docs/html/design/_project.yaml5
-rw-r--r--docs/html/develop/_project.yaml5
-rw-r--r--docs/html/distribute/_project.yaml5
-rw-r--r--docs/html/distribute/analyze/_project.yaml6
-rw-r--r--docs/html/distribute/engage/_project.yaml6
-rw-r--r--docs/html/distribute/engage/easy-signin.jd100
-rw-r--r--docs/html/distribute/essentials/_project.yaml6
-rw-r--r--docs/html/distribute/googleplay/_project.yaml6
-rw-r--r--docs/html/distribute/monetize/_project.yaml6
-rw-r--r--docs/html/distribute/stories/_project.yaml6
-rw-r--r--docs/html/distribute/tools/_project.yaml6
-rw-r--r--docs/html/distribute/users/_project.yaml6
-rw-r--r--docs/html/google/_project.yaml5
-rw-r--r--docs/html/google/play/billing/billing_admin.jd11
-rw-r--r--docs/html/google/play/billing/billing_testing.jd10
-rw-r--r--docs/html/guide/_project.yaml6
-rwxr-xr-xdocs/html/guide/topics/graphics/prop-animation.jd2
-rwxr-xr-xdocs/html/guide/topics/manifest/uses-feature-element.jd28
-rw-r--r--docs/html/guide/topics/sensors/sensors_position.jd271
-rw-r--r--docs/html/images/distribute/google-sign-in-banner.pngbin0 -> 15197 bytes
-rw-r--r--docs/html/jd_extras_en.js15
-rw-r--r--docs/html/preview/_project.yaml5
-rw-r--r--docs/html/preview/behavior-changes.jd17
-rw-r--r--docs/html/preview/download.jd9
-rw-r--r--docs/html/preview/features/notification-updates.jd3
-rw-r--r--docs/html/preview/support.jd7
-rw-r--r--docs/html/reference/_project.yaml6
-rw-r--r--docs/html/samples/_project.yaml6
-rw-r--r--docs/html/topic/instant-apps/_project.yaml6
-rw-r--r--docs/html/topic/libraries/_project.yaml6
-rw-r--r--docs/html/topic/performance/_project.yaml6
-rw-r--r--docs/html/training/_project.yaml6
-rw-r--r--docs/html/training/testing/ui-testing/espresso-testing.jd6
-rw-r--r--docs/html/training/wearables/notifications/creating.jd2
-rw-r--r--docs/html/wear/_project.yaml5
-rw-r--r--docs/html/work/_project.yaml5
-rw-r--r--docs/html/work/managed-configurations.jd222
-rw-r--r--keystore/java/android/security/keystore/AndroidKeyStoreProvider.java2
-rw-r--r--libs/hwui/renderthread/CanvasContext.cpp16
-rw-r--r--libs/hwui/renderthread/CanvasContext.h3
-rw-r--r--libs/hwui/tests/common/TestContext.cpp1
-rw-r--r--media/java/android/media/ImageReader.java8
-rw-r--r--media/java/android/media/MediaFile.java5
-rw-r--r--packages/BackupRestoreConfirmation/res/values-fr/strings.xml4
-rw-r--r--packages/BackupRestoreConfirmation/res/values-my-rMM/strings.xml2
-rw-r--r--packages/BackupRestoreConfirmation/res/values-ro/strings.xml2
-rw-r--r--packages/CaptivePortalLogin/res/values-my-rMM/strings.xml2
-rw-r--r--packages/DocumentsUI/res/values-af/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-am/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-ar/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-az-rAZ/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-b+sr+Latn/strings.xml6
-rw-r--r--packages/DocumentsUI/res/values-be-rBY/strings.xml12
-rw-r--r--packages/DocumentsUI/res/values-bg/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-bn-rBD/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-bs-rBA/strings.xml6
-rw-r--r--packages/DocumentsUI/res/values-ca/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-cs/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-da/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-de/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-el/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-en-rAU/strings.xml5
-rw-r--r--packages/DocumentsUI/res/values-en-rGB/strings.xml5
-rw-r--r--packages/DocumentsUI/res/values-en-rIN/strings.xml5
-rw-r--r--packages/DocumentsUI/res/values-es-rUS/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-es/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-et-rEE/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-eu-rES/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-fa/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-fi/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-fr-rCA/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-fr/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-gl-rES/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-gu-rIN/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-hi/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-hr/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-hu/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-hy-rAM/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-in/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-is-rIS/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-it/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-iw/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-ja/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-ka-rGE/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-kk-rKZ/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-km-rKH/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-kn-rIN/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-ko/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-ky-rKG/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-lo-rLA/strings.xml2
-rw-r--r--packages/DocumentsUI/res/values-lt/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-lv/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-mk-rMK/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-ml-rIN/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-mn-rMN/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-mr-rIN/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-ms-rMY/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-my-rMM/strings.xml6
-rw-r--r--packages/DocumentsUI/res/values-nb/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-ne-rNP/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-nl/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-pa-rIN/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-pl/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-pt-rBR/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-pt-rPT/strings.xml2
-rw-r--r--packages/DocumentsUI/res/values-pt/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-ro/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-ru/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-si-rLK/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-sk/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-sl/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-sq-rAL/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-sr/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-sv/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-sw/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-ta-rIN/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-te-rIN/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-th/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-tl/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-tr/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-uk/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-ur-rPK/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-uz-rUZ/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-vi/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-zh-rCN/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-zh-rHK/strings.xml5
-rw-r--r--packages/DocumentsUI/res/values-zh-rTW/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values-zu/strings.xml3
-rw-r--r--packages/DocumentsUI/res/values/strings.xml2
-rw-r--r--packages/EasterEgg/src/com/android/egg/neko/NekoLand.java18
-rw-r--r--packages/InputDevices/res/values-be-rBY/strings.xml4
-rw-r--r--packages/Keyguard/res/values-b+sr+Latn/strings.xml6
-rw-r--r--packages/Keyguard/res/values-be-rBY/strings.xml8
-rw-r--r--packages/Keyguard/res/values-bs-rBA/strings.xml6
-rw-r--r--packages/Keyguard/res/values-fr-rCA/strings.xml10
-rw-r--r--packages/Keyguard/res/values-hy-rAM/strings.xml2
-rw-r--r--packages/Keyguard/res/values-mn-rMN/strings.xml2
-rw-r--r--packages/Keyguard/res/values-my-rMM/strings.xml2
-rw-r--r--packages/Keyguard/res/values-pa-rIN/strings.xml2
-rw-r--r--packages/Keyguard/res/values-uz-rUZ/strings.xml28
-rw-r--r--packages/Keyguard/src/com/android/keyguard/NumPadKey.java12
-rw-r--r--packages/MtpDocumentsProvider/res/values-am/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-ar/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-az-rAZ/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-b+sr+Latn/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-be-rBY/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-bg/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-bn-rBD/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-bs-rBA/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-ca/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-cs/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-da/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-de/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-el/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-en-rAU/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-en-rGB/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-en-rIN/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-es-rUS/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-es/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-et-rEE/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-eu-rES/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-fa/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-fi/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-fr-rCA/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-fr/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-gl-rES/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-gu-rIN/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-hi/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-hr/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-hu/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-hy-rAM/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-in/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-is-rIS/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-it/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-iw/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-ja/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-ka-rGE/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-kk-rKZ/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-km-rKH/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-kn-rIN/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-ko/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-ky-rKG/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-lo-rLA/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-lt/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-lv/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-mk-rMK/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-ml-rIN/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-mn-rMN/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-mr-rIN/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-ms-rMY/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-my-rMM/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-nb/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-ne-rNP/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-nl/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-pa-rIN/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-pl/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-pt-rBR/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-pt-rPT/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-pt/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-ro/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-ru/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-si-rLK/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-sk/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-sl/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-sq-rAL/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-sr/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-sw/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-ta-rIN/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-te-rIN/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-th/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-tl/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-tr/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-uk/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-ur-rPK/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-uz-rUZ/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-vi/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-zh-rCN/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-zh-rHK/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-zh-rTW/strings.xml25
-rw-r--r--packages/MtpDocumentsProvider/res/values-zu/strings.xml25
-rw-r--r--packages/PrintSpooler/res/values-b+sr+Latn/strings.xml1
-rw-r--r--packages/PrintSpooler/res/values-be-rBY/strings.xml1
-rw-r--r--packages/PrintSpooler/res/values-bs-rBA/strings.xml1
-rw-r--r--packages/PrintSpooler/res/values-my-rMM/strings.xml4
-rw-r--r--packages/SettingsLib/res/values-b+sr+Latn/strings.xml15
-rw-r--r--packages/SettingsLib/res/values-be-rBY/arrays.xml4
-rw-r--r--packages/SettingsLib/res/values-be-rBY/strings.xml29
-rw-r--r--packages/SettingsLib/res/values-bs-rBA/strings.xml15
-rw-r--r--packages/SettingsLib/res/values-gl-rES/arrays.xml8
-rw-r--r--packages/SettingsLib/res/values-my-rMM/arrays.xml4
-rw-r--r--packages/SettingsLib/res/values-pa-rIN/arrays.xml4
-rw-r--r--packages/SettingsLib/res/values-uz-rUZ/strings.xml2
-rw-r--r--packages/SettingsLib/res/values/arrays.xml32
-rw-r--r--packages/SettingsLib/res/values/strings.xml8
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/HelpUtils.java7
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/TetherUtil.java7
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/drawer/TileUtils.java7
-rw-r--r--packages/SettingsProvider/res/values-be-rBY/strings.xml2
-rw-r--r--packages/Shell/AndroidManifest.xml2
-rw-r--r--packages/Shell/res/values-af/strings.xml3
-rw-r--r--packages/Shell/res/values-am/strings.xml3
-rw-r--r--packages/Shell/res/values-ar/strings.xml3
-rw-r--r--packages/Shell/res/values-az-rAZ/strings.xml3
-rw-r--r--packages/Shell/res/values-b+sr+Latn/strings.xml10
-rw-r--r--packages/Shell/res/values-be-rBY/strings.xml10
-rw-r--r--packages/Shell/res/values-bg/strings.xml3
-rw-r--r--packages/Shell/res/values-bn-rBD/strings.xml3
-rw-r--r--packages/Shell/res/values-bs-rBA/strings.xml10
-rw-r--r--packages/Shell/res/values-ca/strings.xml3
-rw-r--r--packages/Shell/res/values-cs/strings.xml3
-rw-r--r--packages/Shell/res/values-da/strings.xml3
-rw-r--r--packages/Shell/res/values-de/strings.xml3
-rw-r--r--packages/Shell/res/values-el/strings.xml3
-rw-r--r--packages/Shell/res/values-en-rAU/strings.xml3
-rw-r--r--packages/Shell/res/values-en-rGB/strings.xml3
-rw-r--r--packages/Shell/res/values-en-rIN/strings.xml3
-rw-r--r--packages/Shell/res/values-es-rUS/strings.xml3
-rw-r--r--packages/Shell/res/values-es/strings.xml3
-rw-r--r--packages/Shell/res/values-et-rEE/strings.xml3
-rw-r--r--packages/Shell/res/values-eu-rES/strings.xml3
-rw-r--r--packages/Shell/res/values-fa/strings.xml3
-rw-r--r--packages/Shell/res/values-fi/strings.xml3
-rw-r--r--packages/Shell/res/values-fr-rCA/strings.xml3
-rw-r--r--packages/Shell/res/values-fr/strings.xml3
-rw-r--r--packages/Shell/res/values-gl-rES/strings.xml3
-rw-r--r--packages/Shell/res/values-gu-rIN/strings.xml3
-rw-r--r--packages/Shell/res/values-hi/strings.xml3
-rw-r--r--packages/Shell/res/values-hr/strings.xml3
-rw-r--r--packages/Shell/res/values-hu/strings.xml3
-rw-r--r--packages/Shell/res/values-hy-rAM/strings.xml3
-rw-r--r--packages/Shell/res/values-in/strings.xml3
-rw-r--r--packages/Shell/res/values-is-rIS/strings.xml3
-rw-r--r--packages/Shell/res/values-it/strings.xml3
-rw-r--r--packages/Shell/res/values-iw/strings.xml3
-rw-r--r--packages/Shell/res/values-ja/strings.xml3
-rw-r--r--packages/Shell/res/values-ka-rGE/strings.xml3
-rw-r--r--packages/Shell/res/values-kk-rKZ/strings.xml3
-rw-r--r--packages/Shell/res/values-km-rKH/strings.xml3
-rw-r--r--packages/Shell/res/values-kn-rIN/strings.xml3
-rw-r--r--packages/Shell/res/values-ko/strings.xml3
-rw-r--r--packages/Shell/res/values-ky-rKG/strings.xml3
-rw-r--r--packages/Shell/res/values-lo-rLA/strings.xml3
-rw-r--r--packages/Shell/res/values-lt/strings.xml3
-rw-r--r--packages/Shell/res/values-lv/strings.xml3
-rw-r--r--packages/Shell/res/values-mk-rMK/strings.xml3
-rw-r--r--packages/Shell/res/values-ml-rIN/strings.xml3
-rw-r--r--packages/Shell/res/values-mn-rMN/strings.xml3
-rw-r--r--packages/Shell/res/values-mr-rIN/strings.xml3
-rw-r--r--packages/Shell/res/values-ms-rMY/strings.xml3
-rw-r--r--packages/Shell/res/values-my-rMM/strings.xml5
-rw-r--r--packages/Shell/res/values-nb/strings.xml3
-rw-r--r--packages/Shell/res/values-ne-rNP/strings.xml3
-rw-r--r--packages/Shell/res/values-nl/strings.xml3
-rw-r--r--packages/Shell/res/values-pa-rIN/strings.xml3
-rw-r--r--packages/Shell/res/values-pl/strings.xml3
-rw-r--r--packages/Shell/res/values-pt-rBR/strings.xml3
-rw-r--r--packages/Shell/res/values-pt-rPT/strings.xml3
-rw-r--r--packages/Shell/res/values-pt/strings.xml3
-rw-r--r--packages/Shell/res/values-ro/strings.xml3
-rw-r--r--packages/Shell/res/values-ru/strings.xml3
-rw-r--r--packages/Shell/res/values-si-rLK/strings.xml3
-rw-r--r--packages/Shell/res/values-sk/strings.xml3
-rw-r--r--packages/Shell/res/values-sl/strings.xml3
-rw-r--r--packages/Shell/res/values-sq-rAL/strings.xml3
-rw-r--r--packages/Shell/res/values-sr/strings.xml3
-rw-r--r--packages/Shell/res/values-sv/strings.xml3
-rw-r--r--packages/Shell/res/values-sw/strings.xml3
-rw-r--r--packages/Shell/res/values-ta-rIN/strings.xml3
-rw-r--r--packages/Shell/res/values-te-rIN/strings.xml3
-rw-r--r--packages/Shell/res/values-th/strings.xml3
-rw-r--r--packages/Shell/res/values-tl/strings.xml3
-rw-r--r--packages/Shell/res/values-tr/strings.xml3
-rw-r--r--packages/Shell/res/values-uk/strings.xml3
-rw-r--r--packages/Shell/res/values-ur-rPK/strings.xml3
-rw-r--r--packages/Shell/res/values-uz-rUZ/strings.xml3
-rw-r--r--packages/Shell/res/values-vi/strings.xml3
-rw-r--r--packages/Shell/res/values-zh-rCN/strings.xml5
-rw-r--r--packages/Shell/res/values-zh-rHK/strings.xml3
-rw-r--r--packages/Shell/res/values-zh-rTW/strings.xml3
-rw-r--r--packages/Shell/res/values-zu/strings.xml3
-rw-r--r--packages/Shell/res/values/strings.xml4
-rw-r--r--packages/Shell/src/com/android/shell/BugreportProgressService.java88
-rw-r--r--packages/SystemUI/res/drawable/recents_stack_action_background.xml25
-rw-r--r--packages/SystemUI/res/layout/recents_stack_action_button.xml2
-rw-r--r--packages/SystemUI/res/values-af/config.xml26
-rw-r--r--packages/SystemUI/res/values-af/strings.xml4
-rw-r--r--packages/SystemUI/res/values-am/config.xml26
-rw-r--r--packages/SystemUI/res/values-am/strings.xml4
-rw-r--r--packages/SystemUI/res/values-ar/config.xml26
-rw-r--r--packages/SystemUI/res/values-ar/strings.xml4
-rw-r--r--packages/SystemUI/res/values-az-rAZ/config.xml26
-rw-r--r--packages/SystemUI/res/values-az-rAZ/strings.xml4
-rw-r--r--packages/SystemUI/res/values-b+sr+Latn/config.xml26
-rw-r--r--packages/SystemUI/res/values-b+sr+Latn/strings.xml119
-rw-r--r--packages/SystemUI/res/values-b+sr+Latn/strings_tv.xml5
-rw-r--r--packages/SystemUI/res/values-be-rBY/config.xml26
-rw-r--r--packages/SystemUI/res/values-be-rBY/strings.xml144
-rw-r--r--packages/SystemUI/res/values-be-rBY/strings_tv.xml5
-rw-r--r--packages/SystemUI/res/values-bg/config.xml26
-rw-r--r--packages/SystemUI/res/values-bg/strings.xml4
-rw-r--r--packages/SystemUI/res/values-bn-rBD/config.xml26
-rw-r--r--packages/SystemUI/res/values-bn-rBD/strings.xml4
-rw-r--r--packages/SystemUI/res/values-bs-rBA/config.xml26
-rw-r--r--packages/SystemUI/res/values-bs-rBA/strings.xml123
-rw-r--r--packages/SystemUI/res/values-bs-rBA/strings_tv.xml14
-rw-r--r--packages/SystemUI/res/values-ca/config.xml26
-rw-r--r--packages/SystemUI/res/values-ca/strings.xml4
-rw-r--r--packages/SystemUI/res/values-cs/config.xml26
-rw-r--r--packages/SystemUI/res/values-cs/strings.xml4
-rw-r--r--packages/SystemUI/res/values-da/config.xml26
-rw-r--r--packages/SystemUI/res/values-da/strings.xml4
-rw-r--r--packages/SystemUI/res/values-de/config.xml26
-rw-r--r--packages/SystemUI/res/values-de/strings.xml4
-rw-r--r--packages/SystemUI/res/values-el/config.xml26
-rw-r--r--packages/SystemUI/res/values-el/strings.xml4
-rw-r--r--packages/SystemUI/res/values-en-rAU/config.xml26
-rw-r--r--packages/SystemUI/res/values-en-rAU/strings.xml4
-rw-r--r--packages/SystemUI/res/values-en-rGB/config.xml26
-rw-r--r--packages/SystemUI/res/values-en-rGB/strings.xml4
-rw-r--r--packages/SystemUI/res/values-en-rIN/config.xml26
-rw-r--r--packages/SystemUI/res/values-en-rIN/strings.xml4
-rw-r--r--packages/SystemUI/res/values-es-rUS/config.xml26
-rw-r--r--packages/SystemUI/res/values-es-rUS/strings.xml4
-rw-r--r--packages/SystemUI/res/values-es/config.xml26
-rw-r--r--packages/SystemUI/res/values-es/strings.xml4
-rw-r--r--packages/SystemUI/res/values-et-rEE/config.xml26
-rw-r--r--packages/SystemUI/res/values-et-rEE/strings.xml4
-rw-r--r--packages/SystemUI/res/values-eu-rES/config.xml26
-rw-r--r--packages/SystemUI/res/values-eu-rES/strings.xml4
-rw-r--r--packages/SystemUI/res/values-fa/config.xml26
-rw-r--r--packages/SystemUI/res/values-fa/strings.xml4
-rw-r--r--packages/SystemUI/res/values-fi/config.xml26
-rw-r--r--packages/SystemUI/res/values-fi/strings.xml4
-rw-r--r--packages/SystemUI/res/values-fr-rCA/config.xml26
-rw-r--r--packages/SystemUI/res/values-fr-rCA/strings.xml4
-rw-r--r--packages/SystemUI/res/values-fr/config.xml26
-rw-r--r--packages/SystemUI/res/values-fr/strings.xml4
-rw-r--r--packages/SystemUI/res/values-gl-rES/config.xml26
-rw-r--r--packages/SystemUI/res/values-gl-rES/strings.xml4
-rw-r--r--packages/SystemUI/res/values-gu-rIN/config.xml26
-rw-r--r--packages/SystemUI/res/values-gu-rIN/strings.xml4
-rw-r--r--packages/SystemUI/res/values-hi/config.xml26
-rw-r--r--packages/SystemUI/res/values-hi/strings.xml4
-rw-r--r--packages/SystemUI/res/values-hr/config.xml26
-rw-r--r--packages/SystemUI/res/values-hr/strings.xml4
-rw-r--r--packages/SystemUI/res/values-hu/config.xml26
-rw-r--r--packages/SystemUI/res/values-hu/strings.xml4
-rw-r--r--packages/SystemUI/res/values-hy-rAM/config.xml26
-rw-r--r--packages/SystemUI/res/values-hy-rAM/strings.xml4
-rw-r--r--packages/SystemUI/res/values-in/config.xml26
-rw-r--r--packages/SystemUI/res/values-in/strings.xml4
-rw-r--r--packages/SystemUI/res/values-is-rIS/config.xml26
-rw-r--r--packages/SystemUI/res/values-is-rIS/strings.xml4
-rw-r--r--packages/SystemUI/res/values-it/config.xml26
-rw-r--r--packages/SystemUI/res/values-it/strings.xml4
-rw-r--r--packages/SystemUI/res/values-iw/config.xml26
-rw-r--r--packages/SystemUI/res/values-iw/strings.xml4
-rw-r--r--packages/SystemUI/res/values-ja/config.xml26
-rw-r--r--packages/SystemUI/res/values-ja/strings.xml4
-rw-r--r--packages/SystemUI/res/values-ka-rGE/config.xml26
-rw-r--r--packages/SystemUI/res/values-ka-rGE/strings.xml4
-rw-r--r--packages/SystemUI/res/values-kk-rKZ/config.xml26
-rw-r--r--packages/SystemUI/res/values-kk-rKZ/strings.xml4
-rw-r--r--packages/SystemUI/res/values-km-rKH/config.xml26
-rw-r--r--packages/SystemUI/res/values-km-rKH/strings.xml4
-rw-r--r--packages/SystemUI/res/values-kn-rIN/config.xml26
-rw-r--r--packages/SystemUI/res/values-kn-rIN/strings.xml4
-rw-r--r--packages/SystemUI/res/values-ko/config.xml26
-rw-r--r--packages/SystemUI/res/values-ko/strings.xml4
-rw-r--r--packages/SystemUI/res/values-ky-rKG/config.xml26
-rw-r--r--packages/SystemUI/res/values-ky-rKG/strings.xml4
-rw-r--r--packages/SystemUI/res/values-lo-rLA/config.xml26
-rw-r--r--packages/SystemUI/res/values-lo-rLA/strings.xml4
-rw-r--r--packages/SystemUI/res/values-lt/config.xml26
-rw-r--r--packages/SystemUI/res/values-lt/strings.xml4
-rw-r--r--packages/SystemUI/res/values-lv/config.xml26
-rw-r--r--packages/SystemUI/res/values-lv/strings.xml4
-rw-r--r--packages/SystemUI/res/values-mk-rMK/config.xml26
-rw-r--r--packages/SystemUI/res/values-mk-rMK/strings.xml4
-rw-r--r--packages/SystemUI/res/values-ml-rIN/config.xml26
-rw-r--r--packages/SystemUI/res/values-ml-rIN/strings.xml4
-rw-r--r--packages/SystemUI/res/values-mn-rMN/config.xml26
-rw-r--r--packages/SystemUI/res/values-mn-rMN/strings.xml4
-rw-r--r--packages/SystemUI/res/values-mr-rIN/config.xml26
-rw-r--r--packages/SystemUI/res/values-mr-rIN/strings.xml4
-rw-r--r--packages/SystemUI/res/values-ms-rMY/config.xml26
-rw-r--r--packages/SystemUI/res/values-ms-rMY/strings.xml4
-rw-r--r--packages/SystemUI/res/values-my-rMM/config.xml26
-rw-r--r--packages/SystemUI/res/values-my-rMM/strings.xml4
-rw-r--r--packages/SystemUI/res/values-nb/config.xml26
-rw-r--r--packages/SystemUI/res/values-nb/strings.xml4
-rw-r--r--packages/SystemUI/res/values-ne-rNP/config.xml26
-rw-r--r--packages/SystemUI/res/values-ne-rNP/strings.xml4
-rw-r--r--packages/SystemUI/res/values-nl/config.xml26
-rw-r--r--packages/SystemUI/res/values-nl/strings.xml4
-rw-r--r--packages/SystemUI/res/values-pa-rIN/config.xml26
-rw-r--r--packages/SystemUI/res/values-pa-rIN/strings.xml4
-rw-r--r--packages/SystemUI/res/values-pl/config.xml26
-rw-r--r--packages/SystemUI/res/values-pl/strings.xml4
-rw-r--r--packages/SystemUI/res/values-pt-rBR/config.xml26
-rw-r--r--packages/SystemUI/res/values-pt-rBR/strings.xml4
-rw-r--r--packages/SystemUI/res/values-pt-rPT/config.xml26
-rw-r--r--packages/SystemUI/res/values-pt-rPT/strings.xml4
-rw-r--r--packages/SystemUI/res/values-pt/config.xml26
-rw-r--r--packages/SystemUI/res/values-pt/strings.xml4
-rw-r--r--packages/SystemUI/res/values-ro/config.xml26
-rw-r--r--packages/SystemUI/res/values-ro/strings.xml4
-rw-r--r--packages/SystemUI/res/values-ru/config.xml26
-rw-r--r--packages/SystemUI/res/values-ru/strings.xml4
-rw-r--r--packages/SystemUI/res/values-si-rLK/config.xml26
-rw-r--r--packages/SystemUI/res/values-si-rLK/strings.xml4
-rw-r--r--packages/SystemUI/res/values-sk/config.xml26
-rw-r--r--packages/SystemUI/res/values-sk/strings.xml6
-rw-r--r--packages/SystemUI/res/values-sl/config.xml26
-rw-r--r--packages/SystemUI/res/values-sl/strings.xml4
-rw-r--r--packages/SystemUI/res/values-sq-rAL/config.xml26
-rw-r--r--packages/SystemUI/res/values-sq-rAL/strings.xml4
-rw-r--r--packages/SystemUI/res/values-sr/config.xml26
-rw-r--r--packages/SystemUI/res/values-sr/strings.xml4
-rw-r--r--packages/SystemUI/res/values-sv/config.xml26
-rw-r--r--packages/SystemUI/res/values-sv/strings.xml4
-rw-r--r--packages/SystemUI/res/values-sw/config.xml26
-rw-r--r--packages/SystemUI/res/values-sw/strings.xml4
-rw-r--r--packages/SystemUI/res/values-ta-rIN/config.xml26
-rw-r--r--packages/SystemUI/res/values-ta-rIN/strings.xml4
-rw-r--r--packages/SystemUI/res/values-te-rIN/config.xml26
-rw-r--r--packages/SystemUI/res/values-te-rIN/strings.xml4
-rw-r--r--packages/SystemUI/res/values-th/config.xml26
-rw-r--r--packages/SystemUI/res/values-th/strings.xml4
-rw-r--r--packages/SystemUI/res/values-tl/config.xml26
-rw-r--r--packages/SystemUI/res/values-tl/strings.xml4
-rw-r--r--packages/SystemUI/res/values-tr/config.xml26
-rw-r--r--packages/SystemUI/res/values-tr/strings.xml4
-rw-r--r--packages/SystemUI/res/values-uk/config.xml26
-rw-r--r--packages/SystemUI/res/values-uk/strings.xml4
-rw-r--r--packages/SystemUI/res/values-ur-rPK/config.xml26
-rw-r--r--packages/SystemUI/res/values-ur-rPK/strings.xml4
-rw-r--r--packages/SystemUI/res/values-uz-rUZ/config.xml26
-rw-r--r--packages/SystemUI/res/values-uz-rUZ/strings.xml4
-rw-r--r--packages/SystemUI/res/values-vi/config.xml26
-rw-r--r--packages/SystemUI/res/values-vi/strings.xml4
-rw-r--r--packages/SystemUI/res/values-zh-rCN/config.xml26
-rw-r--r--packages/SystemUI/res/values-zh-rCN/strings.xml4
-rw-r--r--packages/SystemUI/res/values-zh-rHK/config.xml26
-rw-r--r--packages/SystemUI/res/values-zh-rHK/strings.xml4
-rw-r--r--packages/SystemUI/res/values-zh-rTW/config.xml26
-rw-r--r--packages/SystemUI/res/values-zh-rTW/strings.xml4
-rw-r--r--packages/SystemUI/res/values-zu/config.xml26
-rw-r--r--packages/SystemUI/res/values-zu/strings.xml4
-rw-r--r--packages/SystemUI/res/values/colors.xml2
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QSDetail.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QSTile.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/external/TileServices.java16
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java7
-rw-r--r--packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java9
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java36
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java49
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java38
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStatusBarHeader.java25
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java11
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java10
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/FlashlightController.java21
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java77
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java24
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollAlgorithm.java14
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java1
-rw-r--r--packages/WallpaperBackup/src/com/android/wallpaperbackup/WallpaperBackupAgent.java71
-rw-r--r--proto/src/metrics_constants.proto9
-rw-r--r--services/core/java/com/android/server/LockSettingsService.java7
-rw-r--r--services/core/java/com/android/server/NetworkManagementService.java17
-rw-r--r--services/core/java/com/android/server/accounts/AccountManagerService.java22
-rw-r--r--services/core/java/com/android/server/am/ActivityManagerService.java24
-rw-r--r--services/core/java/com/android/server/am/BatteryStatsService.java18
-rw-r--r--services/core/java/com/android/server/am/UserController.java12
-rw-r--r--services/core/java/com/android/server/clipboard/ClipboardService.java8
-rw-r--r--services/core/java/com/android/server/connectivity/tethering/IPv6TetheringInterfaceServices.java13
-rw-r--r--services/core/java/com/android/server/display/DisplayAdapter.java12
-rw-r--r--services/core/java/com/android/server/display/DisplayDevice.java7
-rw-r--r--services/core/java/com/android/server/display/DisplayDeviceInfo.java33
-rw-r--r--services/core/java/com/android/server/display/DisplayManagerService.java42
-rw-r--r--services/core/java/com/android/server/display/DisplayTransformManager.java83
-rw-r--r--services/core/java/com/android/server/display/LocalDisplayAdapter.java250
-rw-r--r--services/core/java/com/android/server/display/LogicalDisplay.java33
-rw-r--r--services/core/java/com/android/server/display/NightDisplayService.java92
-rw-r--r--services/core/java/com/android/server/display/OverlayDisplayAdapter.java7
-rw-r--r--services/core/java/com/android/server/display/PersistentDataStore.java142
-rw-r--r--services/core/java/com/android/server/display/VirtualDisplayAdapter.java5
-rw-r--r--services/core/java/com/android/server/display/WifiDisplayAdapter.java5
-rw-r--r--services/core/java/com/android/server/job/JobSchedulerService.java58
-rw-r--r--services/core/java/com/android/server/location/GnssLocationProvider.java46
-rw-r--r--services/core/java/com/android/server/notification/NotificationManagerService.java42
-rw-r--r--services/core/java/com/android/server/notification/ScheduleCalendar.java14
-rw-r--r--services/core/java/com/android/server/notification/ScheduleConditionProvider.java77
-rw-r--r--services/core/java/com/android/server/notification/ZenModeFiltering.java43
-rw-r--r--services/core/java/com/android/server/notification/ZenModeHelper.java7
-rw-r--r--services/core/java/com/android/server/pm/LauncherAppsService.java32
-rw-r--r--services/core/java/com/android/server/pm/ShortcutPackage.java75
-rw-r--r--services/core/java/com/android/server/pm/ShortcutPackageInfo.java2
-rw-r--r--services/core/java/com/android/server/pm/ShortcutParser.java47
-rw-r--r--services/core/java/com/android/server/pm/ShortcutService.java25
-rw-r--r--services/core/java/com/android/server/power/Notifier.java42
-rw-r--r--services/core/java/com/android/server/power/PowerManagerService.java154
-rw-r--r--services/core/java/com/android/server/twilight/TwilightService.java231
-rw-r--r--services/core/java/com/android/server/twilight/TwilightState.java1
-rw-r--r--services/core/java/com/android/server/vr/EnabledComponentsObserver.java13
-rw-r--r--services/core/java/com/android/server/wallpaper/WallpaperManagerService.java33
-rw-r--r--services/core/java/com/android/server/wm/WindowManagerService.java17
-rw-r--r--services/core/java/com/android/server/wm/WindowState.java8
-rw-r--r--services/core/java/com/android/server/wm/WindowSurfacePlacer.java2
-rw-r--r--services/net/java/android/net/ip/RouterAdvertisementDaemon.java6
-rw-r--r--services/retaildemo/java/com/android/server/retaildemo/RetailDemoModeService.java29
-rw-r--r--services/tests/servicestests/assets/shortcut/shortcut_legacy_file.xml25
-rw-r--r--services/tests/servicestests/res/xml/shortcut_error_4.xml17
-rw-r--r--services/tests/servicestests/src/com/android/server/pm/BaseShortcutManagerTest.java134
-rw-r--r--services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest1.java212
-rw-r--r--services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest2.java105
-rw-r--r--services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest4.java2
-rw-r--r--services/tests/shortcutmanagerutils/src/com/android/server/pm/shortcutmanagertest/ShortcutManagerTestUtils.java7
-rw-r--r--services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java7
-rw-r--r--telephony/java/android/telephony/CarrierConfigManager.java34
-rw-r--r--telephony/java/android/telephony/TelephonyManager.java33
-rw-r--r--telephony/java/com/android/internal/telephony/ITelephony.aidl10
-rw-r--r--tools/aapt/Images.cpp6
-rw-r--r--tools/aapt/Resource.cpp13
-rw-r--r--tools/aapt/ResourceTable.cpp1
707 files changed, 9721 insertions, 2543 deletions
diff --git a/api/current.txt b/api/current.txt
index c0fd25b1fdd8..e1d1af66230e 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -10066,6 +10066,7 @@ package android.content.pm {
method public android.os.PersistableBundle getExtras();
method public java.lang.String getId();
method public android.content.Intent getIntent();
+ method public android.content.Intent[] getIntents();
method public long getLastChangedTimestamp();
method public java.lang.CharSequence getLongLabel();
method public java.lang.String getPackage();
@@ -10092,6 +10093,7 @@ package android.content.pm {
method public android.content.pm.ShortcutInfo.Builder setExtras(android.os.PersistableBundle);
method public android.content.pm.ShortcutInfo.Builder setIcon(android.graphics.drawable.Icon);
method public android.content.pm.ShortcutInfo.Builder setIntent(android.content.Intent);
+ method public android.content.pm.ShortcutInfo.Builder setIntents(android.content.Intent[]);
method public android.content.pm.ShortcutInfo.Builder setLongLabel(java.lang.CharSequence);
method public android.content.pm.ShortcutInfo.Builder setRank(int);
method public android.content.pm.ShortcutInfo.Builder setShortLabel(java.lang.CharSequence);
@@ -10108,6 +10110,7 @@ package android.content.pm {
method public java.util.List<android.content.pm.ShortcutInfo> getManifestShortcuts();
method public int getMaxShortcutCountPerActivity();
method public java.util.List<android.content.pm.ShortcutInfo> getPinnedShortcuts();
+ method public boolean isRateLimitingActive();
method public void removeAllDynamicShortcuts();
method public void removeDynamicShortcuts(java.util.List<java.lang.String>);
method public void reportShortcutUsed(java.lang.String);
@@ -42472,6 +42475,7 @@ package android.view {
method public float getPivotY();
method public android.view.PointerIcon getPointerIcon();
method public android.content.res.Resources getResources();
+ method public final boolean getRevealOnFocusHint();
method public final int getRight();
method protected float getRightFadingEdgeStrength();
method protected int getRightPaddingOffset();
@@ -42759,6 +42763,7 @@ package android.view {
method public void setPivotY(float);
method public void setPointerIcon(android.view.PointerIcon);
method public void setPressed(boolean);
+ method public final void setRevealOnFocusHint(boolean);
method public final void setRight(int);
method public void setRotation(float);
method public void setRotationX(float);
diff --git a/api/system-current.txt b/api/system-current.txt
index e407eb4dc7f8..6cd602057e3e 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -10491,6 +10491,7 @@ package android.content.pm {
method public android.os.PersistableBundle getExtras();
method public java.lang.String getId();
method public android.content.Intent getIntent();
+ method public android.content.Intent[] getIntents();
method public long getLastChangedTimestamp();
method public java.lang.CharSequence getLongLabel();
method public java.lang.String getPackage();
@@ -10517,6 +10518,7 @@ package android.content.pm {
method public android.content.pm.ShortcutInfo.Builder setExtras(android.os.PersistableBundle);
method public android.content.pm.ShortcutInfo.Builder setIcon(android.graphics.drawable.Icon);
method public android.content.pm.ShortcutInfo.Builder setIntent(android.content.Intent);
+ method public android.content.pm.ShortcutInfo.Builder setIntents(android.content.Intent[]);
method public android.content.pm.ShortcutInfo.Builder setLongLabel(java.lang.CharSequence);
method public android.content.pm.ShortcutInfo.Builder setRank(int);
method public android.content.pm.ShortcutInfo.Builder setShortLabel(java.lang.CharSequence);
@@ -10533,6 +10535,7 @@ package android.content.pm {
method public java.util.List<android.content.pm.ShortcutInfo> getManifestShortcuts();
method public int getMaxShortcutCountPerActivity();
method public java.util.List<android.content.pm.ShortcutInfo> getPinnedShortcuts();
+ method public boolean isRateLimitingActive();
method public void removeAllDynamicShortcuts();
method public void removeDynamicShortcuts(java.util.List<java.lang.String>);
method public void reportShortcutUsed(java.lang.String);
@@ -45638,6 +45641,7 @@ package android.view {
method public float getPivotY();
method public android.view.PointerIcon getPointerIcon();
method public android.content.res.Resources getResources();
+ method public final boolean getRevealOnFocusHint();
method public final int getRight();
method protected float getRightFadingEdgeStrength();
method protected int getRightPaddingOffset();
@@ -45925,6 +45929,7 @@ package android.view {
method public void setPivotY(float);
method public void setPointerIcon(android.view.PointerIcon);
method public void setPressed(boolean);
+ method public final void setRevealOnFocusHint(boolean);
method public final void setRight(int);
method public void setRotation(float);
method public void setRotationX(float);
diff --git a/api/test-current.txt b/api/test-current.txt
index 53f87f4a3af6..ed078d2fe623 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -10079,6 +10079,7 @@ package android.content.pm {
method public android.os.PersistableBundle getExtras();
method public java.lang.String getId();
method public android.content.Intent getIntent();
+ method public android.content.Intent[] getIntents();
method public long getLastChangedTimestamp();
method public java.lang.CharSequence getLongLabel();
method public java.lang.String getPackage();
@@ -10105,6 +10106,7 @@ package android.content.pm {
method public android.content.pm.ShortcutInfo.Builder setExtras(android.os.PersistableBundle);
method public android.content.pm.ShortcutInfo.Builder setIcon(android.graphics.drawable.Icon);
method public android.content.pm.ShortcutInfo.Builder setIntent(android.content.Intent);
+ method public android.content.pm.ShortcutInfo.Builder setIntents(android.content.Intent[]);
method public android.content.pm.ShortcutInfo.Builder setLongLabel(java.lang.CharSequence);
method public android.content.pm.ShortcutInfo.Builder setRank(int);
method public android.content.pm.ShortcutInfo.Builder setShortLabel(java.lang.CharSequence);
@@ -10122,6 +10124,7 @@ package android.content.pm {
method public java.util.List<android.content.pm.ShortcutInfo> getManifestShortcuts();
method public int getMaxShortcutCountPerActivity();
method public java.util.List<android.content.pm.ShortcutInfo> getPinnedShortcuts();
+ method public boolean isRateLimitingActive();
method public void removeAllDynamicShortcuts();
method public void removeDynamicShortcuts(java.util.List<java.lang.String>);
method public void reportShortcutUsed(java.lang.String);
@@ -29225,6 +29228,7 @@ package android.os {
method public static final long getStartElapsedRealtime();
method public static final long getStartUptimeMillis();
method public static final int getThreadPriority(int) throws java.lang.IllegalArgumentException;
+ method public static final int getThreadScheduler(int) throws java.lang.IllegalArgumentException;
method public static final int getUidForName(java.lang.String);
method public static final boolean is64Bit();
method public static boolean isApplicationUid(int);
@@ -42552,6 +42556,7 @@ package android.view {
method public float getPivotY();
method public android.view.PointerIcon getPointerIcon();
method public android.content.res.Resources getResources();
+ method public final boolean getRevealOnFocusHint();
method public final int getRight();
method protected float getRightFadingEdgeStrength();
method protected int getRightPaddingOffset();
@@ -42839,6 +42844,7 @@ package android.view {
method public void setPivotY(float);
method public void setPointerIcon(android.view.PointerIcon);
method public void setPressed(boolean);
+ method public final void setRevealOnFocusHint(boolean);
method public final void setRight(int);
method public void setRotation(float);
method public void setRotationX(float);
diff --git a/cmds/bootanimation/audioplay.cpp b/cmds/bootanimation/audioplay.cpp
index 8a5c2c6d229c..dbb76dcd27cd 100644
--- a/cmds/bootanimation/audioplay.cpp
+++ b/cmds/bootanimation/audioplay.cpp
@@ -158,16 +158,32 @@ bool createBufferQueueAudioPlayer(const ChunkFormat* chunkFormat) {
SLDataSink audioSnk = {&loc_outmix, NULL};
// create audio player
- const SLInterfaceID ids[2] = {SL_IID_BUFFERQUEUE, SL_IID_VOLUME};
- const SLboolean req[2] = {SL_BOOLEAN_TRUE, SL_BOOLEAN_TRUE};
+ const SLInterfaceID ids[3] = {SL_IID_BUFFERQUEUE, SL_IID_VOLUME, SL_IID_ANDROIDCONFIGURATION};
+ const SLboolean req[3] = {SL_BOOLEAN_TRUE, SL_BOOLEAN_TRUE, SL_BOOLEAN_TRUE};
result = (*engineEngine)->CreateAudioPlayer(engineEngine, &bqPlayerObject, &audioSrc, &audioSnk,
- 2, ids, req);
+ 3, ids, req);
if (result != SL_RESULT_SUCCESS) {
ALOGE("sl CreateAudioPlayer failed with result %d", result);
return false;
}
(void)result;
+ // Use the System stream for boot sound playback.
+ SLAndroidConfigurationItf playerConfig;
+ result = (*bqPlayerObject)->GetInterface(bqPlayerObject,
+ SL_IID_ANDROIDCONFIGURATION, &playerConfig);
+ if (result != SL_RESULT_SUCCESS) {
+ ALOGE("config GetInterface failed with result %d", result);
+ return false;
+ }
+ SLint32 streamType = SL_ANDROID_STREAM_SYSTEM;
+ result = (*playerConfig)->SetConfiguration(playerConfig,
+ SL_ANDROID_KEY_STREAM_TYPE, &streamType, sizeof(SLint32));
+ if (result != SL_RESULT_SUCCESS) {
+ ALOGE("SetConfiguration failed with result %d", result);
+ return false;
+ }
+
// realize the player
result = (*bqPlayerObject)->Realize(bqPlayerObject, SL_BOOLEAN_FALSE);
if (result != SL_RESULT_SUCCESS) {
diff --git a/core/java/android/app/ActivityManagerInternal.java b/core/java/android/app/ActivityManagerInternal.java
index fc3596e2b5bb..83e2678c37c2 100644
--- a/core/java/android/app/ActivityManagerInternal.java
+++ b/core/java/android/app/ActivityManagerInternal.java
@@ -165,10 +165,10 @@ public abstract class ActivityManagerInternal {
int userId);
/**
- * Start an activity {@code intent} as if {@code packageName} on user {@code userId} did it.
+ * Start activity {@code intents} as if {@code packageName} on user {@code userId} did it.
*
* @return error codes used by {@link IActivityManager#startActivity} and its siblings.
*/
- public abstract int startActivityAsPackage(String packageName,
- int userId, Intent intent, Bundle bOptions);
+ public abstract int startActivitiesAsPackage(String packageName,
+ int userId, Intent[] intents, Bundle bOptions);
}
diff --git a/core/java/android/app/ITransientNotification.aidl b/core/java/android/app/ITransientNotification.aidl
index d5b3ed0a44d8..35b53a48e6e1 100644
--- a/core/java/android/app/ITransientNotification.aidl
+++ b/core/java/android/app/ITransientNotification.aidl
@@ -19,7 +19,7 @@ package android.app;
/** @hide */
oneway interface ITransientNotification {
- void show(IBinder windowToken);
+ void show();
void hide();
}
diff --git a/core/java/android/content/ClipData.java b/core/java/android/content/ClipData.java
index c365e9ee9549..d9816a64db3a 100644
--- a/core/java/android/content/ClipData.java
+++ b/core/java/android/content/ClipData.java
@@ -191,6 +191,14 @@ public class ClipData implements Parcelable {
final Intent mIntent;
Uri mUri;
+ /** @hide */
+ public Item(Item other) {
+ mText = other.mText;
+ mHtmlText = other.mHtmlText;
+ mIntent = other.mIntent;
+ mUri = other.mUri;
+ }
+
/**
* Create an Item consisting of a single block of (possibly styled) text.
*/
@@ -816,6 +824,11 @@ public class ClipData implements Parcelable {
return mItems.get(index);
}
+ /** @hide */
+ public void setItemAt(int index, Item item) {
+ mItems.set(index, item);
+ }
+
/**
* Prepare this {@link ClipData} to leave an app process.
*
diff --git a/core/java/android/content/pm/ShortcutInfo.java b/core/java/android/content/pm/ShortcutInfo.java
index f66e1f4a206b..0d6a23bcdc96 100644
--- a/core/java/android/content/pm/ShortcutInfo.java
+++ b/core/java/android/content/pm/ShortcutInfo.java
@@ -19,6 +19,7 @@ import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.UserIdInt;
+import android.app.TaskStackBuilder;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
@@ -181,16 +182,16 @@ public final class ShortcutInfo implements Parcelable {
private ArraySet<String> mCategories;
/**
- * Intent *with extras removed*.
+ * Intents *with extras removed*.
*/
@Nullable
- private Intent mIntent;
+ private Intent[] mIntents;
/**
- * Extras for the intent.
+ * Extras for the intents.
*/
@Nullable
- private PersistableBundle mIntentPersistableExtras;
+ private PersistableBundle[] mIntentPersistableExtrases;
private int mRank;
@@ -240,20 +241,36 @@ public final class ShortcutInfo implements Parcelable {
mDisabledMessage = b.mDisabledMessage;
mDisabledMessageResId = b.mDisabledMessageResId;
mCategories = cloneCategories(b.mCategories);
- mIntent = b.mIntent;
- if (mIntent != null) {
- final Bundle intentExtras = mIntent.getExtras();
- if (intentExtras != null) {
- mIntent.replaceExtras((Bundle) null);
- mIntentPersistableExtras = new PersistableBundle(intentExtras);
- }
- }
+ mIntents = cloneIntents(b.mIntents);
+ fixUpIntentExtras();
mRank = b.mRank;
mExtras = b.mExtras;
updateTimestamp();
}
- private ArraySet<String> cloneCategories(Set<String> source) {
+ /**
+ * Extract extras from {@link #mIntents} and set them to {@link #mIntentPersistableExtrases}
+ * as {@link PersistableBundle}, and remove extras from the original intents.
+ */
+ private void fixUpIntentExtras() {
+ if (mIntents == null) {
+ mIntentPersistableExtrases = null;
+ return;
+ }
+ mIntentPersistableExtrases = new PersistableBundle[mIntents.length];
+ for (int i = 0; i < mIntents.length; i++) {
+ final Intent intent = mIntents[i];
+ final Bundle extras = intent.getExtras();
+ if (extras == null) {
+ mIntentPersistableExtrases[i] = null;
+ } else {
+ mIntentPersistableExtrases[i] = new PersistableBundle(extras);
+ intent.replaceExtras((Bundle) null);
+ }
+ }
+ }
+
+ private static ArraySet<String> cloneCategories(Set<String> source) {
if (source == null) {
return null;
}
@@ -266,6 +283,32 @@ public final class ShortcutInfo implements Parcelable {
return ret;
}
+ private static Intent[] cloneIntents(Intent[] intents) {
+ if (intents == null) {
+ return null;
+ }
+ final Intent[] ret = new Intent[intents.length];
+ for (int i = 0; i < ret.length; i++) {
+ if (intents[i] != null) {
+ ret[i] = new Intent(intents[i]);
+ }
+ }
+ return ret;
+ }
+
+ private static PersistableBundle[] clonePersistableBundle(PersistableBundle[] bundle) {
+ if (bundle == null) {
+ return null;
+ }
+ final PersistableBundle[] ret = new PersistableBundle[bundle.length];
+ for (int i = 0; i < ret.length; i++) {
+ if (bundle[i] != null) {
+ ret[i] = new PersistableBundle(bundle[i]);
+ }
+ }
+ return ret;
+ }
+
/**
* Throws if any of the mandatory fields is not set.
*
@@ -277,7 +320,8 @@ public final class ShortcutInfo implements Parcelable {
if (mTitle == null && mTitleResId == 0) {
throw new IllegalArgumentException("Short label must be provided");
}
- Preconditions.checkNotNull(mIntent, "Shortcut Intent must be provided");
+ Preconditions.checkNotNull(mIntents, "Shortcut Intent must be provided");
+ Preconditions.checkArgument(mIntents.length > 0, "Shortcut Intent must be provided");
}
/**
@@ -309,8 +353,9 @@ public final class ShortcutInfo implements Parcelable {
mDisabledMessageResId = source.mDisabledMessageResId;
mCategories = cloneCategories(source.mCategories);
if ((cloneFlags & CLONE_REMOVE_INTENT) == 0) {
- mIntent = source.mIntent;
- mIntentPersistableExtras = source.mIntentPersistableExtras;
+ mIntents = cloneIntents(source.mIntents);
+ mIntentPersistableExtrases =
+ clonePersistableBundle(source.mIntentPersistableExtrases);
}
mRank = source.mRank;
mExtras = source.mExtras;
@@ -619,9 +664,10 @@ public final class ShortcutInfo implements Parcelable {
if (source.mCategories != null) {
mCategories = cloneCategories(source.mCategories);
}
- if (source.mIntent != null) {
- mIntent = source.mIntent;
- mIntentPersistableExtras = source.mIntentPersistableExtras;
+ if (source.mIntents != null) {
+ mIntents = cloneIntents(source.mIntents);
+ mIntentPersistableExtrases =
+ clonePersistableBundle(source.mIntentPersistableExtrases);
}
if (source.mRank != RANK_NOT_SET) {
mRank = source.mRank;
@@ -683,7 +729,7 @@ public final class ShortcutInfo implements Parcelable {
private Set<String> mCategories;
- private Intent mIntent;
+ private Intent[] mIntents;
private int mRank = RANK_NOT_SET;
@@ -895,7 +941,8 @@ public final class ShortcutInfo implements Parcelable {
}
/**
- * Sets the intent of a shortcut.
+ * Sets the intent of a shortcut. Alternatively, {@link #setIntents(Intent[])} can be used
+ * to launch an activity with other activities in the back stack.
*
* <p>This is a mandatory field when publishing a new shortcut with
* {@link ShortcutManager#addDynamicShortcuts(List)} or
@@ -911,11 +958,33 @@ public final class ShortcutInfo implements Parcelable {
* supported so the system can persist them.
*
* @see ShortcutInfo#getIntent()
+ * @see #setIntents(Intent[])
*/
@NonNull
public Builder setIntent(@NonNull Intent intent) {
- mIntent = Preconditions.checkNotNull(intent, "intent cannot be null");
- Preconditions.checkNotNull(mIntent.getAction(), "intent's action must be set");
+ return setIntents(new Intent[]{intent});
+ }
+
+ /**
+ * Sets multiple intents instead of a single intent, in order to launch an activity with
+ * other activities in back stack. Use {@link TaskStackBuilder} to build intents.
+ * See the {@link ShortcutManager} javadoc for details.
+ *
+ * @see Builder#setIntent(Intent)
+ * @see ShortcutInfo#getIntents()
+ * @see Context#startActivities(Intent[])
+ * @see TaskStackBuilder
+ */
+ @NonNull
+ public Builder setIntents(@NonNull Intent[] intents) {
+ Preconditions.checkNotNull(intents, "intents cannot be null");
+ Preconditions.checkNotNull(intents.length, "intents cannot be empty");
+ for (Intent intent : intents) {
+ Preconditions.checkNotNull(intent, "intents cannot contain null");
+ Preconditions.checkNotNull(intent.getAction(), "intent's action must be set");
+ }
+ // Make sure always clone incoming intents.
+ mIntents = cloneIntents(intents);
return this;
}
@@ -1084,7 +1153,7 @@ public final class ShortcutInfo implements Parcelable {
}
/**
- * Return the intent.
+ * Return the intent. If setIntents() was used, then return the last intent in the array.
*
* <p>Launcher applications <b>cannot</b> see the intent. If a {@link ShortcutInfo} is
* obtained via {@link LauncherApps}, then this method will always return null.
@@ -1094,32 +1163,52 @@ public final class ShortcutInfo implements Parcelable {
*/
@Nullable
public Intent getIntent() {
- if (mIntent == null) {
+ if (mIntents == null || mIntents.length == 0) {
return null;
}
- final Intent intent = new Intent(mIntent);
- intent.replaceExtras(
- mIntentPersistableExtras != null ? new Bundle(mIntentPersistableExtras) : null);
- return intent;
+ final int last = mIntents.length - 1;
+ final Intent intent = new Intent(mIntents[last]);
+ return setIntentExtras(intent, mIntentPersistableExtrases[last]);
}
/**
- * Return "raw" intent, which is the original intent without the extras.
+ * Return the intent set with {@link Builder#setIntents(Intent[])}.
+ *
+ * <p>Launcher applications <b>cannot</b> see the intents. If a {@link ShortcutInfo} is
+ * obtained via {@link LauncherApps}, then this method will always return null.
+ * Launchers can only start a shortcut intent with {@link LauncherApps#startShortcut}.
+ *
+ * @see Builder#setIntents(Intent[])
+ */
+ @Nullable
+ public Intent[] getIntents() {
+ final Intent[] ret = new Intent[mIntents.length];
+
+ for (int i = 0; i < ret.length; i++) {
+ ret[i] = new Intent(mIntents[i]);
+ setIntentExtras(ret[i], mIntentPersistableExtrases[i]);
+ }
+
+ return ret;
+ }
+
+ /**
+ * Return "raw" intents, which is the original intents without the extras.
* @hide
*/
@Nullable
- public Intent getIntentNoExtras() {
- return mIntent;
+ public Intent[] getIntentsNoExtras() {
+ return mIntents;
}
/**
- * The extras in the intent. We convert extras into {@link PersistableBundle} so we can
+ * The extras in the intents. We convert extras into {@link PersistableBundle} so we can
* persist them.
* @hide
*/
@Nullable
- public PersistableBundle getIntentPersistableExtras() {
- return mIntentPersistableExtras;
+ public PersistableBundle[] getIntentPersistableExtrases() {
+ return mIntentPersistableExtrases;
}
/**
@@ -1472,19 +1561,22 @@ public final class ShortcutInfo implements Parcelable {
*
* @hide
*/
- public void setIntent(Intent intent) throws IllegalArgumentException {
- Preconditions.checkNotNull(intent);
+ public void setIntents(Intent[] intents) throws IllegalArgumentException {
+ Preconditions.checkNotNull(intents);
+ Preconditions.checkArgument(intents.length > 0);
- final Bundle intentExtras = intent.getExtras();
-
- mIntent = intent;
+ mIntents = cloneIntents(intents);
+ fixUpIntentExtras();
+ }
- if (intentExtras != null) {
+ /** @hide */
+ public static Intent setIntentExtras(Intent intent, PersistableBundle extras) {
+ if (extras == null) {
intent.replaceExtras((Bundle) null);
- mIntentPersistableExtras = new PersistableBundle(intentExtras);
} else {
- mIntentPersistableExtras = null;
+ intent.replaceExtras(new Bundle(extras));
}
+ return intent;
}
/**
@@ -1518,8 +1610,8 @@ public final class ShortcutInfo implements Parcelable {
mTextResId = source.readInt();
mDisabledMessage = source.readCharSequence();
mDisabledMessageResId = source.readInt();
- mIntent = source.readParcelable(cl);
- mIntentPersistableExtras = source.readParcelable(cl);
+ mIntents = source.readParcelableArray(cl, Intent.class);
+ mIntentPersistableExtrases = source.readParcelableArray(cl, PersistableBundle.class);
mRank = source.readInt();
mExtras = source.readParcelable(cl);
mBitmapPath = source.readString();
@@ -1564,8 +1656,8 @@ public final class ShortcutInfo implements Parcelable {
dest.writeCharSequence(mDisabledMessage);
dest.writeInt(mDisabledMessageResId);
- dest.writeParcelable(mIntent, flags);
- dest.writeParcelable(mIntentPersistableExtras, flags);
+ dest.writeParcelableArray(mIntents, flags);
+ dest.writeParcelableArray(mIntentPersistableExtrases, flags);
dest.writeInt(mRank);
dest.writeParcelable(mExtras, flags);
dest.writeString(mBitmapPath);
@@ -1695,11 +1787,27 @@ public final class ShortcutInfo implements Parcelable {
sb.append(", timestamp=");
sb.append(mLastChangedTimestamp);
- sb.append(", intent=");
- sb.append(mIntent);
-
- sb.append(", intentExtras=");
- sb.append(secure ? "***" : mIntentPersistableExtras);
+ sb.append(", intents=");
+ if (mIntents == null) {
+ sb.append("null");
+ } else {
+ if (secure) {
+ sb.append("size:");
+ sb.append(mIntents.length);
+ } else {
+ final int size = mIntents.length;
+ sb.append("[");
+ String sep = "";
+ for (int i = 0; i < size; i++) {
+ sb.append(sep);
+ sep = ", ";
+ sb.append(mIntents[i]);
+ sb.append("/");
+ sb.append(mIntentPersistableExtrases[i]);
+ }
+ sb.append("]");
+ }
+ }
sb.append(", extras=");
sb.append(mExtras);
@@ -1726,9 +1834,8 @@ public final class ShortcutInfo implements Parcelable {
Icon icon, CharSequence title, int titleResId, String titleResName,
CharSequence text, int textResId, String textResName,
CharSequence disabledMessage, int disabledMessageResId, String disabledMessageResName,
- Set<String> categories,
- Intent intent, PersistableBundle intentPersistableExtras,
- int rank, PersistableBundle extras, long lastChangedTimestamp,
+ Set<String> categories, Intent[] intentsWithExtras, int rank, PersistableBundle extras,
+ long lastChangedTimestamp,
int flags, int iconResId, String iconResName, String bitmapPath) {
mUserId = userId;
mId = id;
@@ -1745,8 +1852,8 @@ public final class ShortcutInfo implements Parcelable {
mDisabledMessageResId = disabledMessageResId;
mDisabledMessageResName = disabledMessageResName;
mCategories = cloneCategories(categories);
- mIntent = intent;
- mIntentPersistableExtras = intentPersistableExtras;
+ mIntents = cloneIntents(intentsWithExtras);
+ fixUpIntentExtras();
mRank = rank;
mExtras = extras;
mLastChangedTimestamp = lastChangedTimestamp;
diff --git a/core/java/android/content/pm/ShortcutManager.java b/core/java/android/content/pm/ShortcutManager.java
index f6c0be07db84..81302714d2b6 100644
--- a/core/java/android/content/pm/ShortcutManager.java
+++ b/core/java/android/content/pm/ShortcutManager.java
@@ -18,6 +18,7 @@ package android.content.pm;
import android.annotation.NonNull;
import android.annotation.TestApi;
import android.annotation.UserIdInt;
+import android.app.Activity;
import android.app.usage.UsageStatsManager;
import android.content.Context;
import android.content.Intent;
@@ -30,7 +31,7 @@ import com.android.internal.annotations.VisibleForTesting;
import java.util.List;
/**
- * ShortcutManager manages "launcher shortcuts" (or simply "shortcuts"). Shortcuts provide user
+ * ShortcutManager manages "launcher shortcuts" (or simply "shortcuts"). Shortcuts provide users
* with quick
* ways to access activities other than the main activity from the launcher to users. For example,
* an email application may publish the "compose new email" action which will directly open the
@@ -183,6 +184,7 @@ import java.util.List;
* android:action=&quot;android.intent.action.VIEW&quot;
* android:targetPackage=&quot;com.example.myapplication&quot;
* android:targetClass=&quot;com.example.myapplication.ComposeActivity&quot; /&gt;
+ * &lt;!-- more intents can go here; see below --&gt;
* &lt;categories android:name=&quot;android.shortcut.conversation&quot; /&gt;
* &lt;/shortcut&gt;
* &lt;!-- more shortcut can go here --&gt;
@@ -209,9 +211,37 @@ import java.util.List;
*
* <li>{@code intent} Intent to launch. {@code android:action} is mandatory.
* See <a href="{@docRoot}guide/topics/ui/settings.html#Intents">Using intents</a> for the
- * other supported tags.
+ * other supported tags. Multiple intents can be provided for a single shortcut, so that
+ * an activity will be launched with other activities in the back stack.
+ * See {@link android.app.TaskStackBuilder} for details.
* </ul>
*
+ * <h3>Shortcut Intents</h3>
+ * Dynamic shortcuts can be published with any {@link Intent#addFlags Intent flags}. Typically,
+ * {@link Intent#FLAG_ACTIVITY_CLEAR_TASK} is specified possibly with other flags; otherwise,
+ * if the application is already running, the application is simply brought to the foreground
+ * and the target activity may not show up.
+ *
+ * <p>{@link ShortcutInfo.Builder#setIntents(Intent[])} can be used (instead of
+ * {@link ShortcutInfo.Builder#setIntent(Intent)}) with
+ * {@link android.app.TaskStackBuilder} in order to launch an activity with other activities
+ * in the back stack, so that when the user presses the back key, a "parent" activity will be shown
+ * instead of the user being navigated back to the launcher.
+ *
+ * <p>Manifest shortcuts can have multiple intents too to achieve the same effect. In order to
+ * specify multiple {@link Intent}s to a shortcut, simply list multiple &lt;intent&gt;s within
+ * a single &lt;shortcut&gt;. The last intent is what the user will see when a shortcut is
+ * launched.
+ *
+ * <p>Manifest shortcuts <b>cannot</b> have custom intent flags. The first intent of a manifest
+ * shortcut will always have {@link Intent#FLAG_ACTIVITY_NEW_TASK} and
+ * {@link Intent#FLAG_ACTIVITY_CLEAR_TASK} set. This means, when the application is already
+ * running, all the existing activities will be destroyed when a manifest shortcut is launched.
+ * If this behavior is not desirable, one can use a "trampoline" activity (an activity
+ * that starts another activity in {@link Activity#onCreate} and then calls
+ * {@link Activity#finish()}) with {@code android:taskAffinity=""} in AndroidManifest.xml and point
+ * at this activity in a manifest shortcut's intent.
+ *
* <h3>Updating Shortcuts v.s. Re-publishing New One with Different ID</h3>
* In order to avoid users' confusion, {@link #updateShortcuts(List)} should not be used to update
* a shortcut to something that is conceptually different.
@@ -267,6 +297,8 @@ import java.util.List;
* <li>When the user performs "inline reply" on a notification.
* </ul>
*
+ * <p>When rate-limiting is active, {@link #isRateLimitingActive()} returns {@code true}.
+ *
* <h4>Resetting rate-limiting for testing</h4>
*
* If your application is rate-limited during development or testing, you can use the
@@ -614,6 +646,20 @@ public class ShortcutManager {
}
/**
+ * Return {@code true} when rate-limiting is active for the caller application.
+ *
+ * <p>See the class level javadoc for details.
+ */
+ public boolean isRateLimitingActive() {
+ try {
+ return mService.getRemainingCallCount(mContext.getPackageName(), injectMyUserId())
+ == 0;
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ /**
* Return the max width for icons, in pixels.
*/
public int getIconMaxWidth() {
diff --git a/core/java/android/content/pm/ShortcutServiceInternal.java b/core/java/android/content/pm/ShortcutServiceInternal.java
index f994d7e937ef..af5610570f70 100644
--- a/core/java/android/content/pm/ShortcutServiceInternal.java
+++ b/core/java/android/content/pm/ShortcutServiceInternal.java
@@ -53,7 +53,8 @@ public abstract class ShortcutServiceInternal {
@NonNull String callingPackage, @NonNull String packageName,
@NonNull List<String> shortcutIds, int userId);
- public abstract Intent createShortcutIntent(int launcherUserId, @NonNull String callingPackage,
+ public abstract Intent[] createShortcutIntents(
+ int launcherUserId, @NonNull String callingPackage,
@NonNull String packageName, @NonNull String shortcutId, int userId);
public abstract void addListener(@NonNull ShortcutChangeListener listener);
diff --git a/core/java/android/hardware/SensorManager.java b/core/java/android/hardware/SensorManager.java
index a20307a868c7..04ee1e6d57d0 100644
--- a/core/java/android/hardware/SensorManager.java
+++ b/core/java/android/hardware/SensorManager.java
@@ -1356,20 +1356,35 @@ public abstract class SensorManager {
/**
* Computes the device's orientation based on the rotation matrix.
* <p>
- * When it returns, the array values is filled with the result:
+ * When it returns, the array values are as follows:
* <ul>
- * <li>values[0]: <i>azimuth</i>, rotation around the -Z axis,
- * i.e. the opposite direction of Z axis.</li>
- * <li>values[1]: <i>pitch</i>, rotation around the -X axis,
- * i.e the opposite direction of X axis.</li>
- * <li>values[2]: <i>roll</i>, rotation around the Y axis.</li>
+ * <li>values[0]: <i>Azimuth</i>, angle of rotation about the -z axis.
+ * This value represents the angle between the device's y
+ * axis and the magnetic north pole. When facing north, this
+ * angle is 0, when facing south, this angle is &pi;.
+ * Likewise, when facing east, this angle is &pi;/2, and
+ * when facing west, this angle is -&pi;/2. The range of
+ * values is -&pi; to &pi;.</li>
+ * <li>values[1]: <i>Pitch</i>, angle of rotation about the x axis.
+ * This value represents the angle between a plane parallel
+ * to the device's screen and a plane parallel to the ground.
+ * Assuming that the bottom edge of the device faces the
+ * user and that the screen is face-up, tilting the top edge
+ * of the device toward the ground creates a positive pitch
+ * angle. The range of values is -&pi; to &pi;.</li>
+ * <li>values[2]: <i>Roll</i>, angle of rotation about the y axis. This
+ * value represents the angle between a plane perpendicular
+ * to the device's screen and a plane perpendicular to the
+ * ground. Assuming that the bottom edge of the device faces
+ * the user and that the screen is face-up, tilting the left
+ * edge of the device toward the ground creates a positive
+ * roll angle. The range of values is -&pi;/2 to &pi;/2.</li>
* </ul>
* <p>
- * Applying these three intrinsic rotations in azimuth, pitch and roll order transforms
- * identity matrix to the rotation matrix given in input R.
- * All three angles above are in <b>radians</b> and <b>positive</b> in the
- * <b>counter-clockwise</b> direction. Range of output is: azimuth from -&pi; to &pi;,
- * pitch from -&pi;/2 to &pi;/2 and roll from -&pi; to &pi;.
+ * Applying these three rotations in the azimuth, pitch, roll order
+ * transforms an identity matrix to the rotation matrix passed into this
+ * method. Also, note that all three orientation angles are expressed in
+ * <b>radians</b>.
*
* @param R
* rotation matrix see {@link #getRotationMatrix}.
diff --git a/core/java/android/hardware/display/DisplayManagerGlobal.java b/core/java/android/hardware/display/DisplayManagerGlobal.java
index 93da3e5af4e9..826eb74aef65 100644
--- a/core/java/android/hardware/display/DisplayManagerGlobal.java
+++ b/core/java/android/hardware/display/DisplayManagerGlobal.java
@@ -354,9 +354,9 @@ public final class DisplayManagerGlobal {
}
}
- public void requestColorTransform(int displayId, int colorTransformId) {
+ public void requestColorMode(int displayId, int colorMode) {
try {
- mDm.requestColorTransform(displayId, colorTransformId);
+ mDm.requestColorMode(displayId, colorMode);
} catch (RemoteException ex) {
throw ex.rethrowFromSystemServer();
}
diff --git a/core/java/android/hardware/display/IDisplayManager.aidl b/core/java/android/hardware/display/IDisplayManager.aidl
index 8a1abf18602a..f696c8d15446 100644
--- a/core/java/android/hardware/display/IDisplayManager.aidl
+++ b/core/java/android/hardware/display/IDisplayManager.aidl
@@ -59,8 +59,8 @@ interface IDisplayManager {
// No permissions required.
WifiDisplayStatus getWifiDisplayStatus();
- // Requires CONFIGURE_DISPLAY_COLOR_TRANSFORM
- void requestColorTransform(int displayId, int colorTransformId);
+ // Requires CONFIGURE_DISPLAY_COLOR_MODE
+ void requestColorMode(int displayId, int colorMode);
// Requires CAPTURE_VIDEO_OUTPUT, CAPTURE_SECURE_VIDEO_OUTPUT, or an appropriate
// MediaProjection token for certain combinations of flags.
diff --git a/core/java/android/os/BatteryStats.java b/core/java/android/os/BatteryStats.java
index 4acb729b6a76..f0cc3905e991 100644
--- a/core/java/android/os/BatteryStats.java
+++ b/core/java/android/os/BatteryStats.java
@@ -546,6 +546,20 @@ public abstract class BatteryStats implements Parcelable {
*/
public abstract long getTimeAtCpuSpeed(int cluster, int step, int which);
+ /**
+ * Returns the number of times this UID woke up the Application Processor to
+ * process a mobile radio packet.
+ * @param which one of STATS_SINCE_CHARGED, STATS_SINCE_UNPLUGGED, or STATS_CURRENT.
+ */
+ public abstract long getMobileRadioApWakeupCount(int which);
+
+ /**
+ * Returns the number of times this UID woke up the Application Processor to
+ * process a WiFi packet.
+ * @param which one of STATS_SINCE_CHARGED, STATS_SINCE_UNPLUGGED, or STATS_CURRENT.
+ */
+ public abstract long getWifiRadioApWakeupCount(int which);
+
public static abstract class Sensor {
/*
* FIXME: it's not correct to use this magic value because it
@@ -1285,9 +1299,14 @@ public abstract class BatteryStats implements Parcelable {
public static final int EVENT_TEMP_WHITELIST = 0x0011;
// Event for the screen waking up.
public static final int EVENT_SCREEN_WAKE_UP = 0x0012;
+ // Event for the UID that woke up the application processor.
+ // Used for wakeups coming from WiFi, modem, etc.
+ public static final int EVENT_WAKEUP_AP = 0x0013;
+ // Event for reporting that a specific partial wake lock has been held for a long duration.
+ public static final int EVENT_LONG_WAKE_LOCK = 0x0014;
// Number of event types.
- public static final int EVENT_COUNT = 0x0013;
+ public static final int EVENT_COUNT = 0x0015;
// Mask to extract out only the type part of the event.
public static final int EVENT_TYPE_MASK = ~(EVENT_FLAG_START|EVENT_FLAG_FINISH);
@@ -1315,6 +1334,10 @@ public abstract class BatteryStats implements Parcelable {
EVENT_TEMP_WHITELIST | EVENT_FLAG_START;
public static final int EVENT_TEMP_WHITELIST_FINISH =
EVENT_TEMP_WHITELIST | EVENT_FLAG_FINISH;
+ public static final int EVENT_LONG_WAKE_LOCK_START =
+ EVENT_LONG_WAKE_LOCK | EVENT_FLAG_START;
+ public static final int EVENT_LONG_WAKE_LOCK_FINISH =
+ EVENT_LONG_WAKE_LOCK | EVENT_FLAG_FINISH;
// For CMD_EVENT.
public int eventCode;
@@ -1979,13 +2002,13 @@ public abstract class BatteryStats implements Parcelable {
public static final String[] HISTORY_EVENT_NAMES = new String[] {
"null", "proc", "fg", "top", "sync", "wake_lock_in", "job", "user", "userfg", "conn",
"active", "pkginst", "pkgunin", "alarm", "stats", "inactive", "active", "tmpwhitelist",
- "screenwake",
+ "screenwake", "wakeupap", "longwake"
};
public static final String[] HISTORY_EVENT_CHECKIN_NAMES = new String[] {
"Enl", "Epr", "Efg", "Etp", "Esy", "Ewl", "Ejb", "Eur", "Euf", "Ecn",
"Eac", "Epi", "Epu", "Eal", "Est", "Eai", "Eaa", "Etw",
- "Esw",
+ "Esw", "Ewa", "Elw"
};
/**
@@ -3105,20 +3128,22 @@ public abstract class BatteryStats implements Parcelable {
final long mobilePacketsTx = u.getNetworkActivityPackets(NETWORK_MOBILE_TX_DATA, which);
final long mobileActiveTime = u.getMobileRadioActiveTime(which);
final int mobileActiveCount = u.getMobileRadioActiveCount(which);
+ final long mobileWakeup = u.getMobileRadioApWakeupCount(which);
final long wifiPacketsRx = u.getNetworkActivityPackets(NETWORK_WIFI_RX_DATA, which);
final long wifiPacketsTx = u.getNetworkActivityPackets(NETWORK_WIFI_TX_DATA, which);
+ final long wifiWakeup = u.getWifiRadioApWakeupCount(which);
final long btBytesRx = u.getNetworkActivityBytes(NETWORK_BT_RX_DATA, which);
final long btBytesTx = u.getNetworkActivityBytes(NETWORK_BT_TX_DATA, which);
if (mobileBytesRx > 0 || mobileBytesTx > 0 || wifiBytesRx > 0 || wifiBytesTx > 0
|| mobilePacketsRx > 0 || mobilePacketsTx > 0 || wifiPacketsRx > 0
|| wifiPacketsTx > 0 || mobileActiveTime > 0 || mobileActiveCount > 0
- || btBytesRx > 0 || btBytesTx > 0) {
+ || btBytesRx > 0 || btBytesTx > 0 || mobileWakeup > 0 || wifiWakeup > 0) {
dumpLine(pw, uid, category, NETWORK_DATA, mobileBytesRx, mobileBytesTx,
wifiBytesRx, wifiBytesTx,
mobilePacketsRx, mobilePacketsTx,
wifiPacketsRx, wifiPacketsTx,
mobileActiveTime, mobileActiveCount,
- btBytesRx, btBytesTx);
+ btBytesRx, btBytesTx, mobileWakeup, wifiWakeup);
}
// Dump modem controller data, per UID.
@@ -4125,6 +4150,9 @@ public abstract class BatteryStats implements Parcelable {
final int wifiScanCount = u.getWifiScanCount(which);
final long uidWifiRunningTime = u.getWifiRunningTime(rawRealtime, which);
+ final long mobileWakeup = u.getMobileRadioApWakeupCount(which);
+ final long wifiWakeup = u.getWifiRadioApWakeupCount(which);
+
if (mobileRxBytes > 0 || mobileTxBytes > 0
|| mobileRxPackets > 0 || mobileTxPackets > 0) {
pw.print(prefix); pw.print(" Mobile network: ");
@@ -4150,6 +4178,14 @@ public abstract class BatteryStats implements Parcelable {
pw.println(sb.toString());
}
+ if (mobileWakeup > 0) {
+ sb.setLength(0);
+ sb.append(prefix);
+ sb.append(" Mobile radio AP wakeups: ");
+ sb.append(mobileWakeup);
+ pw.println(sb.toString());
+ }
+
printControllerActivityIfInteresting(pw, sb, prefix + " ", "Modem",
u.getModemControllerActivity(), which);
@@ -4181,6 +4217,14 @@ public abstract class BatteryStats implements Parcelable {
pw.println(sb.toString());
}
+ if (wifiWakeup > 0) {
+ sb.setLength(0);
+ sb.append(prefix);
+ sb.append(" WiFi AP wakeups: ");
+ sb.append(wifiWakeup);
+ pw.println(sb.toString());
+ }
+
printControllerActivityIfInteresting(pw, sb, prefix + " ", "WiFi",
u.getWifiControllerActivity(), which);
@@ -4922,7 +4966,9 @@ public abstract class BatteryStats implements Parcelable {
pw.print(',');
pw.print(rec.stepDetails.statIdlTime);
pw.print(',');
- pw.print(rec.stepDetails.statPlatformIdleState);
+ if (rec.stepDetails.statPlatformIdleState != null) {
+ pw.print(rec.stepDetails.statPlatformIdleState);
+ }
pw.println();
}
}
diff --git a/core/java/android/os/INetworkManagementService.aidl b/core/java/android/os/INetworkManagementService.aidl
index efdb4b5d8c61..0b548d57c47e 100644
--- a/core/java/android/os/INetworkManagementService.aidl
+++ b/core/java/android/os/INetworkManagementService.aidl
@@ -442,6 +442,7 @@ interface INetworkManagementService
void addInterfaceToLocalNetwork(String iface, in List<RouteInfo> routes);
void removeInterfaceFromLocalNetwork(String iface);
+ int removeRoutesFromLocalNetwork(in List<RouteInfo> routes);
void setAllowOnlyVpnForUids(boolean enable, in UidRange[] uidRanges);
}
diff --git a/core/java/android/os/Parcel.java b/core/java/android/os/Parcel.java
index 74dcc0787b3b..f6e6ad6067bb 100644
--- a/core/java/android/os/Parcel.java
+++ b/core/java/android/os/Parcel.java
@@ -36,6 +36,7 @@ import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.ObjectStreamClass;
import java.io.Serializable;
+import java.lang.reflect.Array;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
@@ -2571,6 +2572,20 @@ public final class Parcel {
return p;
}
+ /** @hide */
+ public final <T extends Parcelable> T[] readParcelableArray(ClassLoader loader,
+ Class<T> clazz) {
+ int N = readInt();
+ if (N < 0) {
+ return null;
+ }
+ T[] p = (T[]) Array.newInstance(clazz, N);
+ for (int i = 0; i < N; i++) {
+ p[i] = readParcelable(loader);
+ }
+ return p;
+ }
+
/**
* Read and return a new Serializable object from the parcel.
* @return the Serializable object, or null if the Serializable name
diff --git a/core/java/android/os/Process.java b/core/java/android/os/Process.java
index 57b40e559ccd..4ef882e1aa78 100644
--- a/core/java/android/os/Process.java
+++ b/core/java/android/os/Process.java
@@ -16,6 +16,7 @@
package android.os;
+import android.annotation.TestApi;
import android.net.LocalSocket;
import android.net.LocalSocketAddress;
import android.system.Os;
@@ -1068,6 +1069,24 @@ public class Process {
throws IllegalArgumentException;
/**
+ * Return the current scheduling policy of a thread, based on Linux.
+ *
+ * @param tid The identifier of the thread/process to get the scheduling policy.
+ *
+ * @throws IllegalArgumentException Throws IllegalArgumentException if
+ * <var>tid</var> does not exist, or if <var>priority</var> is out of range for the policy.
+ * @throws SecurityException Throws SecurityException if your process does
+ * not have permission to modify the given thread, or to use the given
+ * scheduling policy or priority.
+ *
+ * {@hide}
+ */
+
+ @TestApi
+ public static final native int getThreadScheduler(int tid)
+ throws IllegalArgumentException;
+
+ /**
* Set the scheduling policy and priority of a thread, based on Linux.
*
* @param tid The identifier of the thread/process to change.
@@ -1082,6 +1101,7 @@ public class Process {
*
* {@hide}
*/
+
public static final native void setThreadScheduler(int tid, int policy, int priority)
throws IllegalArgumentException;
diff --git a/core/java/android/os/storage/StorageManager.java b/core/java/android/os/storage/StorageManager.java
index 5254d35bc12c..c5507b9841bc 100644
--- a/core/java/android/os/storage/StorageManager.java
+++ b/core/java/android/os/storage/StorageManager.java
@@ -132,10 +132,15 @@ public class StorageManager {
public static final int FLAG_INCLUDE_INVISIBLE = 1 << 10;
private static volatile IMountService sMountService = null;
- private static final String INTERNAL_STORAGE_SIZE_PATH =
- "/sys/block/mmcblk0/size";
- private static final String INTERNAL_STORAGE_SECTOR_SIZE =
- "/sys/block/mmcblk0/queue/hw_sector_size";
+
+ // TODO: the location of the primary storage block varies from device to device, so we need to
+ // try the most likely candidates - a long-term solution would be a device-specific vold
+ // function that returns the calculated size.
+ private static final String[] INTERNAL_STORAGE_SIZE_PATHS = {
+ "/sys/block/mmcblk0/size",
+ "/sys/block/sda/size"
+ };
+ private static final int INTERNAL_STORAGE_SECTOR_SIZE = 512;
private final Context mContext;
private final ContentResolver mResolver;
@@ -926,9 +931,13 @@ public class StorageManager {
/** {@hide} */
public long getPrimaryStorageSize() {
- final long numberBlocks = readLong(INTERNAL_STORAGE_SIZE_PATH);
- final long sectorSize = readLong(INTERNAL_STORAGE_SECTOR_SIZE);
- return numberBlocks * sectorSize;
+ for (String path : INTERNAL_STORAGE_SIZE_PATHS) {
+ final long numberBlocks = readLong(path);
+ if (numberBlocks > 0) {
+ return numberBlocks * INTERNAL_STORAGE_SECTOR_SIZE;
+ }
+ }
+ return 0;
}
private long readLong(String path) {
@@ -936,7 +945,7 @@ public class StorageManager {
final BufferedReader reader = new BufferedReader(new InputStreamReader(fis));) {
return Long.parseLong(reader.readLine());
} catch (Exception e) {
- Slog.w("Could not read " + path, e);
+ Slog.w(TAG, "Could not read " + path, e);
return 0;
}
}
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index 3eb2ac3dc6ca..72420434ec7f 100755
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -6173,44 +6173,6 @@ public final class Settings {
public static final String NIGHT_DISPLAY_CUSTOM_END_TIME = "night_display_custom_end_time";
/**
- * Behavior of twilight on the device.
- * One of {@link #TWILIGHT_MODE_LOCKED_OFF}, {@link #TWILIGHT_MODE_LOCKED_ON}
- * or {@link #TWILIGHT_MODE_AUTO}.
- * @hide
- */
- public static final String TWILIGHT_MODE = "twilight_mode";
-
- /**
- * Twilight mode always off.
- * @hide
- */
- public static final int TWILIGHT_MODE_LOCKED_OFF = 0;
-
- /**
- * Twilight mode always on.
- * @hide
- */
- public static final int TWILIGHT_MODE_LOCKED_ON = 1;
-
- /**
- * Twilight mode auto.
- * @hide
- */
- public static final int TWILIGHT_MODE_AUTO = 2;
-
- /**
- * Twilight mode auto, temporarily overriden to on.
- * @hide
- */
- public static final int TWILIGHT_MODE_AUTO_OVERRIDE_OFF = 3;
-
- /**
- * Twilight mode auto, temporarily overriden to off.
- * @hide
- */
- public static final int TWILIGHT_MODE_AUTO_OVERRIDE_ON = 4;
-
- /**
* Whether brightness should automatically adjust based on twilight state.
* @hide
*/
diff --git a/core/java/android/service/notification/ZenModeConfig.java b/core/java/android/service/notification/ZenModeConfig.java
index 69960b04518a..e90a3ba54351 100644
--- a/core/java/android/service/notification/ZenModeConfig.java
+++ b/core/java/android/service/notification/ZenModeConfig.java
@@ -44,6 +44,7 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
+import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;
import java.util.Objects;
@@ -896,9 +897,13 @@ public class ZenModeConfig implements Parcelable {
", endHour=" + endHour +
", endMinute=" + endMinute +
", exitAtAlarm=" + exitAtAlarm +
- ", nextAlarm=" + nextAlarm +
+ ", nextAlarm=" + ts(nextAlarm) +
'}';
}
+
+ protected static String ts(long time) {
+ return new Date(time) + " (" + time + ")";
+ }
}
// ==== Built-in system condition: event ====
diff --git a/core/java/android/view/Display.java b/core/java/android/view/Display.java
index 8c49009ebf44..899ae49f31a8 100644
--- a/core/java/android/view/Display.java
+++ b/core/java/android/view/Display.java
@@ -36,7 +36,7 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.Arrays;
-import static android.Manifest.permission.CONFIGURE_DISPLAY_COLOR_TRANSFORM;
+import static android.Manifest.permission.CONFIGURE_DISPLAY_COLOR_MODE;
/**
* Provides information about the size and density of a logical display.
@@ -284,6 +284,27 @@ public final class Display {
*/
public static final int STATE_DOZE_SUSPEND = 4;
+ /* The color mode constants defined below must be kept in sync with the ones in
+ * system/graphics.h */
+
+ /**
+ * Display color mode: The current color mode is unknown or invalid.
+ * @hide
+ */
+ public static final int COLOR_MODE_INVALID = -1;
+
+ /**
+ * Display color mode: The default or native gamut of the display.
+ * @hide
+ */
+ public static final int COLOR_MODE_DEFAULT = 0;
+
+ /**
+ * Display color mode: SRGB
+ * @hide
+ */
+ public static final int COLOR_MODE_SRGB = 7;
+
/**
* Internal method to create a display.
* Applications should use {@link android.view.WindowManager#getDefaultDisplay()}
@@ -696,33 +717,22 @@ public final class Display {
}
/**
- * Request the display applies a color transform.
+ * Request the display applies a color mode.
* @hide
*/
- @RequiresPermission(CONFIGURE_DISPLAY_COLOR_TRANSFORM)
- public void requestColorTransform(ColorTransform colorTransform) {
- mGlobal.requestColorTransform(mDisplayId, colorTransform.getId());
- }
-
- /**
- * Returns the active color transform of this display
- * @hide
- */
- public ColorTransform getColorTransform() {
- synchronized (this) {
- updateDisplayInfoLocked();
- return mDisplayInfo.getColorTransform();
- }
+ @RequiresPermission(CONFIGURE_DISPLAY_COLOR_MODE)
+ public void requestColorMode(int colorMode) {
+ mGlobal.requestColorMode(mDisplayId, colorMode);
}
/**
- * Returns the default color transform of this display
+ * Returns the active color mode of this display
* @hide
*/
- public ColorTransform getDefaultColorTransform() {
+ public int getColorMode() {
synchronized (this) {
updateDisplayInfoLocked();
- return mDisplayInfo.getDefaultColorTransform();
+ return mDisplayInfo.colorMode;
}
}
@@ -737,14 +747,14 @@ public final class Display {
}
/**
- * Gets the supported color transforms of this device.
+ * Gets the supported color modes of this device.
* @hide
*/
- public ColorTransform[] getSupportedColorTransforms() {
+ public int[] getSupportedColorModes() {
synchronized (this) {
updateDisplayInfoLocked();
- ColorTransform[] transforms = mDisplayInfo.supportedColorTransforms;
- return Arrays.copyOf(transforms, transforms.length);
+ int[] colorModes = mDisplayInfo.supportedColorModes;
+ return Arrays.copyOf(colorModes, colorModes.length);
}
}
@@ -1263,89 +1273,4 @@ public final class Display {
return 0;
}
}
-
- /**
- * A color transform supported by a given display.
- *
- * @see Display#getSupportedColorTransforms()
- * @hide
- */
- public static final class ColorTransform implements Parcelable {
- public static final ColorTransform[] EMPTY_ARRAY = new ColorTransform[0];
-
- private final int mId;
- private final int mColorTransform;
-
- public ColorTransform(int id, int colorTransform) {
- mId = id;
- mColorTransform = colorTransform;
- }
-
- public int getId() {
- return mId;
- }
-
- public int getColorTransform() {
- return mColorTransform;
- }
-
- @Override
- public boolean equals(Object other) {
- if (this == other) {
- return true;
- }
- if (!(other instanceof ColorTransform)) {
- return false;
- }
- ColorTransform that = (ColorTransform) other;
- return mId == that.mId
- && mColorTransform == that.mColorTransform;
- }
-
- @Override
- public int hashCode() {
- int hash = 1;
- hash = hash * 17 + mId;
- hash = hash * 17 + mColorTransform;
- return hash;
- }
-
- @Override
- public String toString() {
- return new StringBuilder("{")
- .append("id=").append(mId)
- .append(", colorTransform=").append(mColorTransform)
- .append("}")
- .toString();
- }
-
- @Override
- public int describeContents() {
- return 0;
- }
-
- private ColorTransform(Parcel in) {
- this(in.readInt(), in.readInt());
- }
-
- @Override
- public void writeToParcel(Parcel out, int parcelableFlags) {
- out.writeInt(mId);
- out.writeInt(mColorTransform);
- }
-
- @SuppressWarnings("hiding")
- public static final Parcelable.Creator<ColorTransform> CREATOR
- = new Parcelable.Creator<ColorTransform>() {
- @Override
- public ColorTransform createFromParcel(Parcel in) {
- return new ColorTransform(in);
- }
-
- @Override
- public ColorTransform[] newArray(int size) {
- return new ColorTransform[size];
- }
- };
- }
}
diff --git a/core/java/android/view/DisplayInfo.java b/core/java/android/view/DisplayInfo.java
index 8aeeffd90643..49c3c46c86fc 100644
--- a/core/java/android/view/DisplayInfo.java
+++ b/core/java/android/view/DisplayInfo.java
@@ -169,14 +169,11 @@ public final class DisplayInfo implements Parcelable {
*/
public Display.Mode[] supportedModes = Display.Mode.EMPTY_ARRAY;
- /** The active color transform. */
- public int colorTransformId;
+ /** The active color mode. */
+ public int colorMode;
- /** The default color transform. */
- public int defaultColorTransformId;
-
- /** The list of supported color transforms */
- public Display.ColorTransform[] supportedColorTransforms = Display.ColorTransform.EMPTY_ARRAY;
+ /** The list of supported color modes */
+ public int[] supportedColorModes = { Display.COLOR_MODE_DEFAULT };
/** The display's HDR capabilities */
public Display.HdrCapabilities hdrCapabilities;
@@ -291,8 +288,8 @@ public final class DisplayInfo implements Parcelable {
&& rotation == other.rotation
&& modeId == other.modeId
&& defaultModeId == other.defaultModeId
- && colorTransformId == other.colorTransformId
- && defaultColorTransformId == other.defaultColorTransformId
+ && colorMode == other.colorMode
+ && Objects.equal(supportedColorModes, other.supportedColorModes)
&& Objects.equal(hdrCapabilities, other.hdrCapabilities)
&& logicalDensityDpi == other.logicalDensityDpi
&& physicalXDpi == other.physicalXDpi
@@ -332,10 +329,9 @@ public final class DisplayInfo implements Parcelable {
modeId = other.modeId;
defaultModeId = other.defaultModeId;
supportedModes = Arrays.copyOf(other.supportedModes, other.supportedModes.length);
- colorTransformId = other.colorTransformId;
- defaultColorTransformId = other.defaultColorTransformId;
- supportedColorTransforms = Arrays.copyOf(
- other.supportedColorTransforms, other.supportedColorTransforms.length);
+ colorMode = other.colorMode;
+ supportedColorModes = Arrays.copyOf(
+ other.supportedColorModes, other.supportedColorModes.length);
hdrCapabilities = other.hdrCapabilities;
logicalDensityDpi = other.logicalDensityDpi;
physicalXDpi = other.physicalXDpi;
@@ -373,12 +369,11 @@ public final class DisplayInfo implements Parcelable {
for (int i = 0; i < nModes; i++) {
supportedModes[i] = Display.Mode.CREATOR.createFromParcel(source);
}
- colorTransformId = source.readInt();
- defaultColorTransformId = source.readInt();
- int nColorTransforms = source.readInt();
- supportedColorTransforms = new Display.ColorTransform[nColorTransforms];
- for (int i = 0; i < nColorTransforms; i++) {
- supportedColorTransforms[i] = Display.ColorTransform.CREATOR.createFromParcel(source);
+ colorMode = source.readInt();
+ int nColorModes = source.readInt();
+ supportedColorModes = new int[nColorModes];
+ for (int i = 0; i < nColorModes; i++) {
+ supportedColorModes[i] = source.readInt();
}
hdrCapabilities = source.readParcelable(null);
logicalDensityDpi = source.readInt();
@@ -418,11 +413,10 @@ public final class DisplayInfo implements Parcelable {
for (int i = 0; i < supportedModes.length; i++) {
supportedModes[i].writeToParcel(dest, flags);
}
- dest.writeInt(colorTransformId);
- dest.writeInt(defaultColorTransformId);
- dest.writeInt(supportedColorTransforms.length);
- for (int i = 0; i < supportedColorTransforms.length; i++) {
- supportedColorTransforms[i].writeToParcel(dest, flags);
+ dest.writeInt(colorMode);
+ dest.writeInt(supportedColorModes.length);
+ for (int i = 0; i < supportedColorModes.length; i++) {
+ dest.writeInt(supportedColorModes[i]);
}
dest.writeParcelable(hdrCapabilities, flags);
dest.writeInt(logicalDensityDpi);
@@ -496,24 +490,6 @@ public final class DisplayInfo implements Parcelable {
return result;
}
- public Display.ColorTransform getColorTransform() {
- return findColorTransform(colorTransformId);
- }
-
- public Display.ColorTransform getDefaultColorTransform() {
- return findColorTransform(defaultColorTransformId);
- }
-
- private Display.ColorTransform findColorTransform(int colorTransformId) {
- for (int i = 0; i < supportedColorTransforms.length; i++) {
- Display.ColorTransform colorTransform = supportedColorTransforms[i];
- if (colorTransform.getId() == colorTransformId) {
- return colorTransform;
- }
- }
- throw new IllegalStateException("Unable to locate color transform: " + colorTransformId);
- }
-
public void getAppMetrics(DisplayMetrics outMetrics) {
getAppMetrics(outMetrics, CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null);
}
@@ -615,12 +591,10 @@ public final class DisplayInfo implements Parcelable {
sb.append(defaultModeId);
sb.append(", modes ");
sb.append(Arrays.toString(supportedModes));
- sb.append(", colorTransformId ");
- sb.append(colorTransformId);
- sb.append(", defaultColorTransformId ");
- sb.append(defaultColorTransformId);
- sb.append(", supportedColorTransforms ");
- sb.append(Arrays.toString(supportedColorTransforms));
+ sb.append(", colorMode ");
+ sb.append(colorMode);
+ sb.append(", supportedColorModes ");
+ sb.append(Arrays.toString(supportedColorModes));
sb.append(", hdrCapabilities ");
sb.append(hdrCapabilities);
sb.append(", rotation ");
diff --git a/core/java/android/view/SurfaceControl.java b/core/java/android/view/SurfaceControl.java
index f1abca8e2a0d..e778a7f16f25 100644
--- a/core/java/android/view/SurfaceControl.java
+++ b/core/java/android/view/SurfaceControl.java
@@ -82,6 +82,10 @@ public class SurfaceControl {
IBinder displayToken);
private static native int nativeGetActiveConfig(IBinder displayToken);
private static native boolean nativeSetActiveConfig(IBinder displayToken, int id);
+ private static native int[] nativeGetDisplayColorModes(IBinder displayToken);
+ private static native int nativeGetActiveColorMode(IBinder displayToken);
+ private static native boolean nativeSetActiveColorMode(IBinder displayToken,
+ int colorMode);
private static native void nativeSetDisplayPowerMode(
IBinder displayToken, int mode);
private static native void nativeDeferTransactionUntil(long nativeObject,
@@ -547,7 +551,6 @@ public class SurfaceControl {
public boolean secure;
public long appVsyncOffsetNanos;
public long presentationDeadlineNanos;
- public int colorTransform;
public PhysicalDisplayInfo() {
}
@@ -571,8 +574,7 @@ public class SurfaceControl {
&& yDpi == other.yDpi
&& secure == other.secure
&& appVsyncOffsetNanos == other.appVsyncOffsetNanos
- && presentationDeadlineNanos == other.presentationDeadlineNanos
- && colorTransform == other.colorTransform;
+ && presentationDeadlineNanos == other.presentationDeadlineNanos;
}
@Override
@@ -590,7 +592,6 @@ public class SurfaceControl {
secure = other.secure;
appVsyncOffsetNanos = other.appVsyncOffsetNanos;
presentationDeadlineNanos = other.presentationDeadlineNanos;
- colorTransform = other.colorTransform;
}
// For debugging purposes
@@ -599,8 +600,7 @@ public class SurfaceControl {
return "PhysicalDisplayInfo{" + width + " x " + height + ", " + refreshRate + " fps, "
+ "density " + density + ", " + xDpi + " x " + yDpi + " dpi, secure " + secure
+ ", appVsyncOffset " + appVsyncOffsetNanos
- + ", bufferDeadline " + presentationDeadlineNanos
- + ", colorTransform " + colorTransform + "}";
+ + ", bufferDeadline " + presentationDeadlineNanos + "}";
}
}
@@ -632,6 +632,27 @@ public class SurfaceControl {
return nativeSetActiveConfig(displayToken, id);
}
+ public static int[] getDisplayColorModes(IBinder displayToken) {
+ if (displayToken == null) {
+ throw new IllegalArgumentException("displayToken must not be null");
+ }
+ return nativeGetDisplayColorModes(displayToken);
+ }
+
+ public static int getActiveColorMode(IBinder displayToken) {
+ if (displayToken == null) {
+ throw new IllegalArgumentException("displayToken must not be null");
+ }
+ return nativeGetActiveColorMode(displayToken);
+ }
+
+ public static boolean setActiveColorMode(IBinder displayToken, int colorMode) {
+ if (displayToken == null) {
+ throw new IllegalArgumentException("displayToken must not be null");
+ }
+ return nativeSetActiveColorMode(displayToken, colorMode);
+ }
+
public static void setDisplayProjection(IBinder displayToken,
int orientation, Rect layerStackRect, Rect displayRect) {
if (displayToken == null) {
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index e6481147c295..7df582ba95c9 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -2435,6 +2435,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
* 1 PFLAG3_OVERLAPPING_RENDERING_FORCED_VALUE
* 1 PFLAG3_HAS_OVERLAPPING_RENDERING_FORCED
* 1 PFLAG3_TEMPORARY_DETACH
+ * 1 PFLAG3_NO_REVEAL_ON_FOCUS
* |-------|-------|-------|-------|
*/
@@ -2676,6 +2677,16 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
*/
static final int PFLAG3_TEMPORARY_DETACH = 0x2000000;
+ /**
+ * Flag indicating that the view does not wish to be revealed within its parent
+ * hierarchy when it gains focus. Expressed in the negative since the historical
+ * default behavior is to reveal on focus; this flag suppresses that behavior.
+ *
+ * @see #setRevealOnFocusHint(boolean)
+ * @see #getRevealOnFocusHint()
+ */
+ private static final int PFLAG3_NO_REVEAL_ON_FOCUS = 0x4000000;
+
/* End of masks for mPrivateFlags3 */
/**
@@ -5941,6 +5952,47 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
}
/**
+ * Sets this view's preference for reveal behavior when it gains focus.
+ *
+ * <p>When set to true, this is a signal to ancestor views in the hierarchy that
+ * this view would prefer to be brought fully into view when it gains focus.
+ * For example, a text field that a user is meant to type into. Other views such
+ * as scrolling containers may prefer to opt-out of this behavior.</p>
+ *
+ * <p>The default value for views is true, though subclasses may change this
+ * based on their preferred behavior.</p>
+ *
+ * @param revealOnFocus true to request reveal on focus in ancestors, false otherwise
+ *
+ * @see #getRevealOnFocusHint()
+ */
+ public final void setRevealOnFocusHint(boolean revealOnFocus) {
+ if (revealOnFocus) {
+ mPrivateFlags3 &= ~PFLAG3_NO_REVEAL_ON_FOCUS;
+ } else {
+ mPrivateFlags3 |= PFLAG3_NO_REVEAL_ON_FOCUS;
+ }
+ }
+
+ /**
+ * Returns this view's preference for reveal behavior when it gains focus.
+ *
+ * <p>When this method returns true for a child view requesting focus, ancestor
+ * views responding to a focus change in {@link ViewParent#requestChildFocus(View, View)}
+ * should make a best effort to make the newly focused child fully visible to the user.
+ * When it returns false, ancestor views should preferably not disrupt scroll positioning or
+ * other properties affecting visibility to the user as part of the focus change.</p>
+ *
+ * @return true if this view would prefer to become fully visible when it gains focus,
+ * false if it would prefer not to disrupt scroll positioning
+ *
+ * @see #setRevealOnFocusHint(boolean)
+ */
+ public final boolean getRevealOnFocusHint() {
+ return (mPrivateFlags3 & PFLAG3_NO_REVEAL_ON_FOCUS) == 0;
+ }
+
+ /**
* Populates <code>outRect</code> with the hotspot bounds. By default,
* the hotspot bounds are identical to the screen bounds.
*
diff --git a/core/java/android/view/accessibility/AccessibilityManager.java b/core/java/android/view/accessibility/AccessibilityManager.java
index 81ec3306c4c7..2dfa8cdd3db9 100644
--- a/core/java/android/view/accessibility/AccessibilityManager.java
+++ b/core/java/android/view/accessibility/AccessibilityManager.java
@@ -305,7 +305,18 @@ public final class AccessibilityManager {
return;
}
if (!mIsEnabled) {
- throw new IllegalStateException("Accessibility off. Did you forget to check that?");
+ Looper myLooper = Looper.myLooper();
+ if (myLooper == Looper.getMainLooper()) {
+ throw new IllegalStateException(
+ "Accessibility off. Did you forget to check that?");
+ } else {
+ // If we're not running on the thread with the main looper, it's possible for
+ // the state of accessibility to change between checking isEnabled and
+ // calling this method. So just log the error rather than throwing the
+ // exception.
+ Log.e(LOG_TAG, "AccessibilityEvent sent with accessibility disabled");
+ return;
+ }
}
userId = mUserId;
}
diff --git a/core/java/android/widget/Toast.java b/core/java/android/widget/Toast.java
index 40741661f4b8..77626754264f 100644
--- a/core/java/android/widget/Toast.java
+++ b/core/java/android/widget/Toast.java
@@ -24,10 +24,7 @@ import android.content.Context;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.PixelFormat;
-import android.os.Binder;
import android.os.Handler;
-import android.os.IBinder;
-import android.os.Message;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.util.Log;
@@ -329,6 +326,13 @@ public class Toast {
}
private static class TN extends ITransientNotification.Stub {
+ final Runnable mShow = new Runnable() {
+ @Override
+ public void run() {
+ handleShow();
+ }
+ };
+
final Runnable mHide = new Runnable() {
@Override
public void run() {
@@ -339,13 +343,7 @@ public class Toast {
};
private final WindowManager.LayoutParams mParams = new WindowManager.LayoutParams();
- final Handler mHandler = new Handler() {
- @Override
- public void handleMessage(Message msg) {
- IBinder token = (IBinder) msg.obj;
- handleShow(token);
- }
- };
+ final Handler mHandler = new Handler();
int mGravity;
int mX, mY;
@@ -381,9 +379,9 @@ public class Toast {
* schedule handleShow into the right thread
*/
@Override
- public void show(IBinder windowToken) {
+ public void show() {
if (localLOGV) Log.v(TAG, "SHOW: " + this);
- mHandler.obtainMessage(0, windowToken).sendToTarget();
+ mHandler.post(mShow);
}
/**
@@ -395,7 +393,7 @@ public class Toast {
mHandler.post(mHide);
}
- public void handleShow(IBinder windowToken) {
+ public void handleShow() {
if (localLOGV) Log.v(TAG, "HANDLE SHOW: " + this + " mView=" + mView
+ " mNextView=" + mNextView);
if (mView != mNextView) {
@@ -426,7 +424,6 @@ public class Toast {
mParams.packageName = packageName;
mParams.removeTimeoutMilliseconds = mDuration ==
Toast.LENGTH_LONG ? LONG_DURATION_TIMEOUT : SHORT_DURATION_TIMEOUT;
- mParams.token = windowToken;
if (mView.getParent() != null) {
if (localLOGV) Log.v(TAG, "REMOVE! " + mView + " in " + this);
mWM.removeView(mView);
diff --git a/core/java/com/android/internal/app/AlertController.java b/core/java/com/android/internal/app/AlertController.java
index 2a40aeb9111e..2b25b3fef9cc 100644
--- a/core/java/com/android/internal/app/AlertController.java
+++ b/core/java/com/android/internal/app/AlertController.java
@@ -618,7 +618,7 @@ public class AlertController {
}
}
- private void setupTitle(ViewGroup topPanel) {
+ protected void setupTitle(ViewGroup topPanel) {
if (mCustomTitleView != null && mShowTitle) {
// Add the custom title view directly to the topPanel layout
final LayoutParams lp = new LayoutParams(
@@ -701,7 +701,7 @@ public class AlertController {
}
}
- private void setupButtons(ViewGroup buttonPanel) {
+ protected void setupButtons(ViewGroup buttonPanel) {
int BIT_BUTTON_POSITIVE = 1;
int BIT_BUTTON_NEGATIVE = 2;
int BIT_BUTTON_NEUTRAL = 4;
diff --git a/core/java/com/android/internal/app/IBatteryStats.aidl b/core/java/com/android/internal/app/IBatteryStats.aidl
index 216a4f1c9a44..5623a2cb430c 100644
--- a/core/java/com/android/internal/app/IBatteryStats.aidl
+++ b/core/java/com/android/internal/app/IBatteryStats.aidl
@@ -79,6 +79,8 @@ interface IBatteryStats {
String newHistoryName, int newType, boolean newUnimportantForLogging);
void noteStopWakelockFromSource(in WorkSource ws, int pid, String name, String historyName,
int type);
+ void noteLongPartialWakelockStart(String name, String historyName, int uid);
+ void noteLongPartialWakelockFinish(String name, String historyName, int uid);
void noteVibratorOn(int uid, long durationMillis);
void noteVibratorOff(int uid);
@@ -118,7 +120,7 @@ interface IBatteryStats {
void noteWifiBatchedScanStoppedFromSource(in WorkSource ws);
void noteWifiMulticastEnabledFromSource(in WorkSource ws);
void noteWifiMulticastDisabledFromSource(in WorkSource ws);
- void noteWifiRadioPowerState(int powerState, long timestampNs);
+ void noteWifiRadioPowerState(int powerState, long timestampNs, int uid);
void noteNetworkInterfaceType(String iface, int type);
void noteNetworkStatsEnabled();
void noteDeviceIdleMode(int mode, String activeReason, int activeUid);
diff --git a/core/java/com/android/internal/app/MicroAlertController.java b/core/java/com/android/internal/app/MicroAlertController.java
index 085b2265dfee..00fcd6f42a53 100644
--- a/core/java/com/android/internal/app/MicroAlertController.java
+++ b/core/java/com/android/internal/app/MicroAlertController.java
@@ -82,4 +82,20 @@ public class MicroAlertController extends AlertController {
}
}
}
+
+ @Override
+ protected void setupTitle(ViewGroup topPanel) {
+ super.setupTitle(topPanel);
+ if (topPanel.getVisibility() == View.GONE) {
+ topPanel.setVisibility(View.INVISIBLE);
+ }
+ }
+
+ @Override
+ protected void setupButtons(ViewGroup buttonPanel) {
+ super.setupButtons(buttonPanel);
+ if (buttonPanel.getVisibility() == View.GONE) {
+ buttonPanel.setVisibility(View.INVISIBLE);
+ }
+ }
}
diff --git a/core/java/com/android/internal/os/BatteryStatsImpl.java b/core/java/com/android/internal/os/BatteryStatsImpl.java
index a1df8c186982..b174e3325168 100644
--- a/core/java/com/android/internal/os/BatteryStatsImpl.java
+++ b/core/java/com/android/internal/os/BatteryStatsImpl.java
@@ -108,7 +108,7 @@ public class BatteryStatsImpl extends BatteryStats {
private static final int MAGIC = 0xBA757475; // 'BATSTATS'
// Current on-disk Parcel version
- private static final int VERSION = 147 + (USE_OLD_HISTORY ? 1000 : 0);
+ private static final int VERSION = 148 + (USE_OLD_HISTORY ? 1000 : 0);
// Maximum number of items we will record in the history.
private static final int MAX_HISTORY_ITEMS = 2000;
@@ -3285,6 +3285,36 @@ public class BatteryStatsImpl extends BatteryStats {
}
}
+ public void noteLongPartialWakelockStart(String name, String historyName, int uid) {
+ uid = mapUid(uid);
+ final long elapsedRealtime = mClocks.elapsedRealtime();
+ final long uptime = mClocks.uptimeMillis();
+ if (historyName == null) {
+ historyName = name;
+ }
+ if (!mActiveEvents.updateState(HistoryItem.EVENT_LONG_WAKE_LOCK_START, historyName, uid,
+ 0)) {
+ return;
+ }
+ addHistoryEventLocked(elapsedRealtime, uptime, HistoryItem.EVENT_LONG_WAKE_LOCK_START,
+ historyName, uid);
+ }
+
+ public void noteLongPartialWakelockFinish(String name, String historyName, int uid) {
+ uid = mapUid(uid);
+ final long elapsedRealtime = mClocks.elapsedRealtime();
+ final long uptime = mClocks.uptimeMillis();
+ if (historyName == null) {
+ historyName = name;
+ }
+ if (!mActiveEvents.updateState(HistoryItem.EVENT_LONG_WAKE_LOCK_FINISH, historyName, uid,
+ 0)) {
+ return;
+ }
+ addHistoryEventLocked(elapsedRealtime, uptime, HistoryItem.EVENT_LONG_WAKE_LOCK_FINISH,
+ historyName, uid);
+ }
+
void aggregateLastWakeupUptimeLocked(long uptimeMs) {
if (mLastWakeupReason != null) {
long deltaUptime = uptimeMs - mLastWakeupUptimeMs;
@@ -3554,6 +3584,14 @@ public class BatteryStatsImpl extends BatteryStats {
mNumConnectivityChange++;
}
+ private void noteMobileRadioApWakeupLocked(final long elapsedRealtimeMillis,
+ final long uptimeMillis, int uid) {
+ uid = mapUid(uid);
+ addHistoryEventLocked(elapsedRealtimeMillis, uptimeMillis, HistoryItem.EVENT_WAKEUP_AP, "",
+ uid);
+ getUidStatsLocked(uid).noteMobileRadioApWakeupLocked();
+ }
+
public void noteMobileRadioPowerState(int powerState, long timestampNs, int uid) {
final long elapsedRealtime = mClocks.elapsedRealtime();
final long uptime = mClocks.uptimeMillis();
@@ -3563,6 +3601,10 @@ public class BatteryStatsImpl extends BatteryStats {
powerState == DataConnectionRealTimeInfo.DC_POWER_STATE_MEDIUM
|| powerState == DataConnectionRealTimeInfo.DC_POWER_STATE_HIGH;
if (active) {
+ if (uid > 0) {
+ noteMobileRadioApWakeupLocked(elapsedRealtime, uptime, uid);
+ }
+
mMobileRadioActiveStartTime = realElapsedRealtimeMs = timestampNs / (1000 * 1000);
mHistoryCur.states |= HistoryItem.STATE_MOBILE_RADIO_ACTIVE_FLAG;
} else {
@@ -4239,7 +4281,15 @@ public class BatteryStatsImpl extends BatteryStats {
}
}
- public void noteWifiRadioPowerState(int powerState, long timestampNs) {
+ private void noteWifiRadioApWakeupLocked(final long elapsedRealtimeMillis,
+ final long uptimeMillis, int uid) {
+ uid = mapUid(uid);
+ addHistoryEventLocked(elapsedRealtimeMillis, uptimeMillis, HistoryItem.EVENT_WAKEUP_AP, "",
+ uid);
+ getUidStatsLocked(uid).noteWifiRadioApWakeupLocked();
+ }
+
+ public void noteWifiRadioPowerState(int powerState, long timestampNs, int uid) {
final long elapsedRealtime = mClocks.elapsedRealtime();
final long uptime = mClocks.uptimeMillis();
if (mWifiRadioPowerState != powerState) {
@@ -4247,6 +4297,9 @@ public class BatteryStatsImpl extends BatteryStats {
powerState == DataConnectionRealTimeInfo.DC_POWER_STATE_MEDIUM
|| powerState == DataConnectionRealTimeInfo.DC_POWER_STATE_HIGH;
if (active) {
+ if (uid > 0) {
+ noteWifiRadioApWakeupLocked(elapsedRealtime, uptime, uid);
+ }
mHistoryCur.states |= HistoryItem.STATE_WIFI_RADIO_ACTIVE_FLAG;
} else {
mHistoryCur.states &= ~HistoryItem.STATE_WIFI_RADIO_ACTIVE_FLAG;
@@ -4874,6 +4927,33 @@ public class BatteryStatsImpl extends BatteryStats {
return mUidStats;
}
+ private static void detachTimerIfNotNull(BatteryStatsImpl.Timer timer) {
+ if (timer != null) {
+ timer.detach();
+ }
+ }
+
+ private static boolean resetTimerIfNotNull(BatteryStatsImpl.Timer timer,
+ boolean detachIfReset) {
+ if (timer != null) {
+ return timer.reset(detachIfReset);
+ }
+ return true;
+ }
+
+ private static void detachLongCounterIfNotNull(LongSamplingCounter counter) {
+ if (counter != null) {
+ counter.detach();
+ }
+ }
+
+ private static void resetLongCounterIfNotNull(LongSamplingCounter counter,
+ boolean detachIfReset) {
+ if (counter != null) {
+ counter.reset(detachIfReset);
+ }
+ }
+
/**
* The statistics associated with a particular uid.
*/
@@ -4921,6 +5001,16 @@ public class BatteryStatsImpl extends BatteryStats {
LongSamplingCounter mMobileRadioActiveCount;
/**
+ * How many times this UID woke up the Application Processor due to a Mobile radio packet.
+ */
+ private LongSamplingCounter mMobileRadioApWakeupCount;
+
+ /**
+ * How many times this UID woke up the Application Processor due to a Wifi packet.
+ */
+ private LongSamplingCounter mWifiRadioApWakeupCount;
+
+ /**
* The amount of time this uid has kept the WiFi controller in idle, tx, and rx mode.
* Can be null if the UID has had no such activity.
*/
@@ -5629,6 +5719,36 @@ public class BatteryStatsImpl extends BatteryStats {
return 0;
}
+ public void noteMobileRadioApWakeupLocked() {
+ if (mMobileRadioApWakeupCount == null) {
+ mMobileRadioApWakeupCount = new LongSamplingCounter(mBsi.mOnBatteryTimeBase);
+ }
+ mMobileRadioApWakeupCount.addCountLocked(1);
+ }
+
+ @Override
+ public long getMobileRadioApWakeupCount(int which) {
+ if (mMobileRadioApWakeupCount != null) {
+ return mMobileRadioApWakeupCount.getCountLocked(which);
+ }
+ return 0;
+ }
+
+ public void noteWifiRadioApWakeupLocked() {
+ if (mWifiRadioApWakeupCount == null) {
+ mWifiRadioApWakeupCount = new LongSamplingCounter(mBsi.mOnBatteryTimeBase);
+ }
+ mWifiRadioApWakeupCount.addCountLocked(1);
+ }
+
+ @Override
+ public long getWifiRadioApWakeupCount(int which) {
+ if (mWifiRadioApWakeupCount != null) {
+ return mWifiRadioApWakeupCount.getCountLocked(which);
+ }
+ return 0;
+ }
+
void initNetworkActivityLocked() {
mNetworkByteActivityCounters = new LongSamplingCounter[NUM_NETWORK_ACTIVITY_TYPES];
mNetworkPacketActivityCounters = new LongSamplingCounter[NUM_NETWORK_ACTIVITY_TYPES];
@@ -5671,24 +5791,14 @@ public class BatteryStatsImpl extends BatteryStats {
active |= !mWifiMulticastTimer.reset(false);
active |= mWifiMulticastEnabled;
}
- if (mAudioTurnedOnTimer != null) {
- active |= !mAudioTurnedOnTimer.reset(false);
- }
- if (mVideoTurnedOnTimer != null) {
- active |= !mVideoTurnedOnTimer.reset(false);
- }
- if (mFlashlightTurnedOnTimer != null) {
- active |= !mFlashlightTurnedOnTimer.reset(false);
- }
- if (mCameraTurnedOnTimer != null) {
- active |= !mCameraTurnedOnTimer.reset(false);
- }
- if (mForegroundActivityTimer != null) {
- active |= !mForegroundActivityTimer.reset(false);
- }
- if (mBluetoothScanTimer != null) {
- active |= !mBluetoothScanTimer.reset(false);
- }
+
+ active |= !resetTimerIfNotNull(mAudioTurnedOnTimer, false);
+ active |= !resetTimerIfNotNull(mVideoTurnedOnTimer, false);
+ active |= !resetTimerIfNotNull(mFlashlightTurnedOnTimer, false);
+ active |= !resetTimerIfNotNull(mCameraTurnedOnTimer, false);
+ active |= !resetTimerIfNotNull(mForegroundActivityTimer, false);
+ active |= !resetTimerIfNotNull(mBluetoothScanTimer, false);
+
if (mProcessStateTimer != null) {
for (int i = 0; i < NUM_PROCESS_STATE; i++) {
if (mProcessStateTimer[i] != null) {
@@ -5749,6 +5859,9 @@ public class BatteryStatsImpl extends BatteryStats {
}
}
+ resetLongCounterIfNotNull(mMobileRadioApWakeupCount, false);
+ resetLongCounterIfNotNull(mWifiRadioApWakeupCount, false);
+
final ArrayMap<String, Wakelock> wakeStats = mWakelockStats.getMap();
for (int iw=wakeStats.size()-1; iw>=0; iw--) {
Wakelock wl = wakeStats.valueAt(iw);
@@ -5908,6 +6021,9 @@ public class BatteryStatsImpl extends BatteryStats {
}
}
}
+
+ detachLongCounterIfNotNull(mMobileRadioApWakeupCount);
+ detachLongCounterIfNotNull(mWifiRadioApWakeupCount);
}
return !active;
@@ -6114,6 +6230,20 @@ public class BatteryStatsImpl extends BatteryStats {
} else {
out.writeInt(0);
}
+
+ if (mMobileRadioApWakeupCount != null) {
+ out.writeInt(1);
+ mMobileRadioApWakeupCount.writeToParcel(out);
+ } else {
+ out.writeInt(0);
+ }
+
+ if (mWifiRadioApWakeupCount != null) {
+ out.writeInt(1);
+ mWifiRadioApWakeupCount.writeToParcel(out);
+ } else {
+ out.writeInt(0);
+ }
}
void readFromParcelLocked(TimeBase timeBase, TimeBase screenOffTimeBase, Parcel in) {
@@ -6338,6 +6468,18 @@ public class BatteryStatsImpl extends BatteryStats {
} else {
mCpuClusterSpeed = null;
}
+
+ if (in.readInt() != 0) {
+ mMobileRadioApWakeupCount = new LongSamplingCounter(mBsi.mOnBatteryTimeBase, in);
+ } else {
+ mMobileRadioApWakeupCount = null;
+ }
+
+ if (in.readInt() != 0) {
+ mWifiRadioApWakeupCount = new LongSamplingCounter(mBsi.mOnBatteryTimeBase, in);
+ } else {
+ mWifiRadioApWakeupCount = null;
+ }
}
/**
@@ -10348,6 +10490,20 @@ public class BatteryStatsImpl extends BatteryStats {
u.mCpuClusterSpeed = null;
}
+ if (in.readInt() != 0) {
+ u.mMobileRadioApWakeupCount = new LongSamplingCounter(mOnBatteryTimeBase);
+ u.mMobileRadioApWakeupCount.readSummaryFromParcelLocked(in);
+ } else {
+ u.mMobileRadioApWakeupCount = null;
+ }
+
+ if (in.readInt() != 0) {
+ u.mWifiRadioApWakeupCount = new LongSamplingCounter(mOnBatteryTimeBase);
+ u.mWifiRadioApWakeupCount.readSummaryFromParcelLocked(in);
+ } else {
+ u.mWifiRadioApWakeupCount = null;
+ }
+
int NW = in.readInt();
if (NW > 100) {
throw new ParcelFormatException("File corrupt: too many wake locks " + NW);
@@ -10708,6 +10864,20 @@ public class BatteryStatsImpl extends BatteryStats {
out.writeInt(0);
}
+ if (u.mMobileRadioApWakeupCount != null) {
+ out.writeInt(1);
+ u.mMobileRadioApWakeupCount.writeSummaryFromParcelLocked(out);
+ } else {
+ out.writeInt(0);
+ }
+
+ if (u.mWifiRadioApWakeupCount != null) {
+ out.writeInt(1);
+ u.mWifiRadioApWakeupCount.writeSummaryFromParcelLocked(out);
+ } else {
+ out.writeInt(0);
+ }
+
final ArrayMap<String, Uid.Wakelock> wakeStats = u.mWakelockStats.getMap();
int NW = wakeStats.size();
out.writeInt(NW);
diff --git a/core/java/com/android/internal/widget/LockPatternUtils.java b/core/java/com/android/internal/widget/LockPatternUtils.java
index 0059d4df79f7..d3792ade9965 100644
--- a/core/java/com/android/internal/widget/LockPatternUtils.java
+++ b/core/java/com/android/internal/widget/LockPatternUtils.java
@@ -371,7 +371,7 @@ public class LockPatternUtils {
return false;
}
} catch (RemoteException re) {
- return true;
+ return false;
}
}
@@ -464,7 +464,7 @@ public class LockPatternUtils {
return false;
}
} catch (RemoteException re) {
- return true;
+ return false;
}
}
diff --git a/core/java/com/android/internal/widget/ResolverDrawerLayout.java b/core/java/com/android/internal/widget/ResolverDrawerLayout.java
index 8b9d5034b0c2..e84cc279b403 100644
--- a/core/java/com/android/internal/widget/ResolverDrawerLayout.java
+++ b/core/java/com/android/internal/widget/ResolverDrawerLayout.java
@@ -245,7 +245,7 @@ public class ResolverDrawerLayout extends ViewGroup {
final float y = ev.getY();
mInitialTouchX = x;
mInitialTouchY = mLastTouchY = y;
- mOpenOnClick = isListChildUnderClipped(x, y) && mCollapsibleHeight > 0;
+ mOpenOnClick = isListChildUnderClipped(x, y) && mCollapseOffset > 0;
}
break;
diff --git a/core/jni/android_hardware_camera2_CameraMetadata.cpp b/core/jni/android_hardware_camera2_CameraMetadata.cpp
index f37fd78f6bdd..48f6b49a14d7 100644
--- a/core/jni/android_hardware_camera2_CameraMetadata.cpp
+++ b/core/jni/android_hardware_camera2_CameraMetadata.cpp
@@ -787,109 +787,16 @@ static jint CameraMetadata_getTagFromKey(JNIEnv *env, jobject thiz, jstring keyN
// exception thrown by ScopedUtfChars
return 0;
}
- size_t keyLength = strlen(key);
-
ALOGV("%s (key = '%s')", __FUNCTION__, key);
- sp<VendorTagDescriptor> vTags = VendorTagDescriptor::getGlobalVendorTagDescriptor();
-
- SortedVector<String8> vendorSections;
- size_t vendorSectionCount = 0;
-
- if (vTags != NULL) {
- vendorSections = vTags->getAllSectionNames();
- vendorSectionCount = vendorSections.size();
- }
-
- // First, find the section by the longest string match
- const char *section = NULL;
- size_t sectionIndex = 0;
- size_t sectionLength = 0;
- size_t totalSectionCount = ANDROID_SECTION_COUNT + vendorSectionCount;
- for (size_t i = 0; i < totalSectionCount; ++i) {
-
- const char *str = (i < ANDROID_SECTION_COUNT) ? camera_metadata_section_names[i] :
- vendorSections[i - ANDROID_SECTION_COUNT].string();
- if (kIsDebug) {
- ALOGV("%s: Trying to match against section '%s'", __FUNCTION__, str);
- }
- if (strstr(key, str) == key) { // key begins with the section name
- size_t strLength = strlen(str);
-
- if (kIsDebug) {
- ALOGV("%s: Key begins with section name", __FUNCTION__);
- }
-
- // section name is the longest we've found so far
- if (section == NULL || sectionLength < strLength) {
- section = str;
- sectionIndex = i;
- sectionLength = strLength;
-
- if (kIsDebug) {
- ALOGV("%s: Found new best section (%s)", __FUNCTION__, section);
- }
- }
- }
- }
-
- // TODO: Make above get_camera_metadata_section_from_name ?
-
- if (section == NULL) {
- jniThrowExceptionFmt(env, "java/lang/IllegalArgumentException",
- "Could not find section name for key '%s')", key);
- return 0;
- } else {
- ALOGV("%s: Found matched section '%s' (%zu)",
- __FUNCTION__, section, sectionIndex);
- }
-
- // Get the tag name component of the key
- const char *keyTagName = key + sectionLength + 1; // x.y.z -> z
- if (sectionLength + 1 >= keyLength) {
- jniThrowExceptionFmt(env, "java/lang/IllegalArgumentException",
- "Key length too short for key '%s')", key);
- return 0;
- }
-
- // Match rest of name against the tag names in that section only
uint32_t tag = 0;
- if (sectionIndex < ANDROID_SECTION_COUNT) {
- // Match built-in tags (typically android.*)
- uint32_t tagBegin, tagEnd; // [tagBegin, tagEnd)
- tagBegin = camera_metadata_section_bounds[sectionIndex][0];
- tagEnd = camera_metadata_section_bounds[sectionIndex][1];
-
- for (tag = tagBegin; tag < tagEnd; ++tag) {
- const char *tagName = get_camera_metadata_tag_name(tag);
-
- if (strcmp(keyTagName, tagName) == 0) {
- ALOGV("%s: Found matched tag '%s' (%d)",
- __FUNCTION__, tagName, tag);
- break;
- }
- }
-
- if (tag == tagEnd) {
- jniThrowExceptionFmt(env, "java/lang/IllegalArgumentException",
- "Could not find tag name for key '%s')", key);
- return 0;
- }
- } else if (vTags != NULL) {
- // Match vendor tags (typically com.*)
- const String8 sectionName(section);
- const String8 tagName(keyTagName);
-
- status_t res = OK;
- if ((res = vTags->lookupTag(tagName, sectionName, &tag)) != OK) {
- jniThrowExceptionFmt(env, "java/lang/IllegalArgumentException",
- "%s: No vendor tag matches key '%s'", __FUNCTION__, key);
- return 0;
- }
+ sp<VendorTagDescriptor> vTags =
+ VendorTagDescriptor::getGlobalVendorTagDescriptor();
+ status_t res = CameraMetadata::getTagFromName(key, vTags.get(), &tag);
+ if (res != OK) {
+ jniThrowExceptionFmt(env, "java/lang/IllegalArgumentException",
+ "Could not find tag for key '%s')", key);
}
-
- // TODO: Make above get_camera_metadata_tag_from_name ?
-
return tag;
}
diff --git a/core/jni/android_util_Process.cpp b/core/jni/android_util_Process.cpp
index 3d952b0f713f..a693f29aa283 100644
--- a/core/jni/android_util_Process.cpp
+++ b/core/jni/android_util_Process.cpp
@@ -440,6 +440,23 @@ static void android_os_Process_setCanSelfBackground(JNIEnv* env, jobject clazz,
#endif
}
+jint android_os_Process_getThreadScheduler(JNIEnv* env, jclass clazz,
+ jint tid)
+{
+ int policy = 0;
+// linux has sched_getscheduler(), others don't.
+#if defined(__linux__)
+ errno = 0;
+ policy = sched_getscheduler(tid);
+ if (errno != 0) {
+ signalExceptionForPriorityError(env, errno);
+ }
+#else
+ signalExceptionForPriorityError(env, ENOSYS);
+#endif
+ return policy;
+}
+
void android_os_Process_setThreadScheduler(JNIEnv* env, jclass clazz,
jint tid, jint policy, jint pri)
{
@@ -1191,6 +1208,7 @@ static const JNINativeMethod methods[] = {
{"setCanSelfBackground", "(Z)V", (void*)android_os_Process_setCanSelfBackground},
{"setThreadPriority", "(I)V", (void*)android_os_Process_setCallingThreadPriority},
{"getThreadPriority", "(I)I", (void*)android_os_Process_getThreadPriority},
+ {"getThreadScheduler", "(I)I", (void*)android_os_Process_getThreadScheduler},
{"setThreadGroup", "(II)V", (void*)android_os_Process_setThreadGroup},
{"setProcessGroup", "(II)V", (void*)android_os_Process_setProcessGroup},
{"getProcessGroup", "(I)I", (void*)android_os_Process_getProcessGroup},
diff --git a/core/jni/android_view_SurfaceControl.cpp b/core/jni/android_view_SurfaceControl.cpp
index fa1313bfd79d..0d8a95c9bcd3 100644
--- a/core/jni/android_view_SurfaceControl.cpp
+++ b/core/jni/android_view_SurfaceControl.cpp
@@ -32,6 +32,7 @@
#include <jni.h>
#include <memory>
#include <stdio.h>
+#include <system/graphics.h>
#include <ui/DisplayInfo.h>
#include <ui/HdrCapabilities.h>
#include <ui/FrameStats.h>
@@ -58,7 +59,6 @@ static struct {
jfieldID secure;
jfieldID appVsyncOffsetNanos;
jfieldID presentationDeadlineNanos;
- jfieldID colorTransform;
} gPhysicalDisplayInfoClassInfo;
static struct {
@@ -429,8 +429,6 @@ static jobjectArray nativeGetDisplayConfigs(JNIEnv* env, jclass clazz,
info.appVsyncOffset);
env->SetLongField(infoObj, gPhysicalDisplayInfoClassInfo.presentationDeadlineNanos,
info.presentationDeadline);
- env->SetIntField(infoObj, gPhysicalDisplayInfoClassInfo.colorTransform,
- info.colorTransform);
env->SetObjectArrayElement(configArray, static_cast<jsize>(c), infoObj);
env->DeleteLocalRef(infoObj);
}
@@ -451,6 +449,43 @@ static jboolean nativeSetActiveConfig(JNIEnv* env, jclass clazz, jobject tokenOb
return err == NO_ERROR ? JNI_TRUE : JNI_FALSE;
}
+static jintArray nativeGetDisplayColorModes(JNIEnv* env, jclass, jobject tokenObj) {
+ sp<IBinder> token(ibinderForJavaObject(env, tokenObj));
+ if (token == NULL) return NULL;
+ Vector<android_color_mode_t> colorModes;
+ if (SurfaceComposerClient::getDisplayColorModes(token, &colorModes) != NO_ERROR ||
+ colorModes.isEmpty()) {
+ return NULL;
+ }
+
+ jintArray colorModesArray = env->NewIntArray(colorModes.size());
+ if (colorModesArray == NULL) {
+ jniThrowException(env, "java/lang/OutOfMemoryError", NULL);
+ return NULL;
+ }
+ jint* colorModesArrayValues = env->GetIntArrayElements(colorModesArray, 0);
+ for (size_t i = 0; i < colorModes.size(); i++) {
+ colorModesArrayValues[i] = static_cast<jint>(colorModes[i]);
+ }
+ env->ReleaseIntArrayElements(colorModesArray, colorModesArrayValues, 0);
+ return colorModesArray;
+}
+
+static jint nativeGetActiveColorMode(JNIEnv* env, jclass, jobject tokenObj) {
+ sp<IBinder> token(ibinderForJavaObject(env, tokenObj));
+ if (token == NULL) return -1;
+ return static_cast<jint>(SurfaceComposerClient::getActiveColorMode(token));
+}
+
+static jboolean nativeSetActiveColorMode(JNIEnv* env, jclass,
+ jobject tokenObj, jint colorMode) {
+ sp<IBinder> token(ibinderForJavaObject(env, tokenObj));
+ if (token == NULL) return JNI_FALSE;
+ status_t err = SurfaceComposerClient::setActiveColorMode(token,
+ static_cast<android_color_mode_t>(colorMode));
+ return err == NO_ERROR ? JNI_TRUE : JNI_FALSE;
+}
+
static void nativeSetDisplayPowerMode(JNIEnv* env, jclass clazz, jobject tokenObj, jint mode) {
sp<IBinder> token(ibinderForJavaObject(env, tokenObj));
if (token == NULL) return;
@@ -715,6 +750,12 @@ static const JNINativeMethod sSurfaceControlMethods[] = {
(void*)nativeGetActiveConfig },
{"nativeSetActiveConfig", "(Landroid/os/IBinder;I)Z",
(void*)nativeSetActiveConfig },
+ {"nativeGetDisplayColorModes", "(Landroid/os/IBinder;)[I",
+ (void*)nativeGetDisplayColorModes},
+ {"nativeGetActiveColorMode", "(Landroid/os/IBinder;)I",
+ (void*)nativeGetActiveColorMode},
+ {"nativeSetActiveColorMode", "(Landroid/os/IBinder;I)Z",
+ (void*)nativeSetActiveColorMode},
{"nativeGetHdrCapabilities", "(Landroid/os/IBinder;)Landroid/view/Display$HdrCapabilities;",
(void*)nativeGetHdrCapabilities },
{"nativeClearContentFrameStats", "(J)Z",
@@ -757,8 +798,6 @@ int register_android_view_SurfaceControl(JNIEnv* env)
clazz, "appVsyncOffsetNanos", "J");
gPhysicalDisplayInfoClassInfo.presentationDeadlineNanos = GetFieldIDOrDie(env,
clazz, "presentationDeadlineNanos", "J");
- gPhysicalDisplayInfoClassInfo.colorTransform = GetFieldIDOrDie(env, clazz,
- "colorTransform", "I");
jclass rectClazz = FindClassOrDie(env, "android/graphics/Rect");
gRectClassInfo.bottom = GetFieldIDOrDie(env, rectClazz, "bottom", "I");
diff --git a/core/jni/android_view_ThreadedRenderer.cpp b/core/jni/android_view_ThreadedRenderer.cpp
index 595d5c61b8e8..037ca73325de 100644
--- a/core/jni/android_view_ThreadedRenderer.cpp
+++ b/core/jni/android_view_ThreadedRenderer.cpp
@@ -188,7 +188,7 @@ public:
virtual void prepareTree(TreeInfo& info) override {
info.errorHandler = this;
- for (auto& anim : mVectorDrawableAnimators) {
+ for (auto& anim : mRunningVDAnimators) {
// Assume that the property change in VD from the animators will not be consumed. Mark
// otherwise if the VDs are found in the display list tree. For VDs that are not in
// the display list tree, we stop providing animation pulses by 1) removing them from
@@ -196,6 +196,11 @@ public:
// listeners can receive the corresponding callbacks.
anim->getVectorDrawable()->setPropertyChangeWillBeConsumed(false);
}
+ if (info.mode == TreeInfo::MODE_FULL) {
+ for (auto &anim : mPausedVDAnimators) {
+ anim->getVectorDrawable()->setPropertyChangeWillBeConsumed(false);
+ }
+ }
// TODO: This is hacky
info.windowInsetLeft = -stagingProperties().getLeft();
info.windowInsetTop = -stagingProperties().getTop();
@@ -206,17 +211,33 @@ public:
info.windowInsetTop = 0;
info.errorHandler = nullptr;
- for (auto it = mVectorDrawableAnimators.begin(); it != mVectorDrawableAnimators.end();) {
+ for (auto it = mRunningVDAnimators.begin(); it != mRunningVDAnimators.end();) {
if (!(*it)->getVectorDrawable()->getPropertyChangeWillBeConsumed()) {
// Vector Drawable is not in the display list, we should remove this animator from
- // the list and post a delayed message to end the animator.
+ // the list, put it in the paused list, and post a delayed message to end the
+ // animator.
detachVectorDrawableAnimator(it->get());
- it = mVectorDrawableAnimators.erase(it);
+ mPausedVDAnimators.insert(*it);
+ it = mRunningVDAnimators.erase(it);
} else {
- ++it;
+ it++;
+ }
+ }
+
+ if (info.mode == TreeInfo::MODE_FULL) {
+ // Check whether any paused animator's target is back in Display List. If so, put the
+ // animator back in the running list.
+ for (auto it = mPausedVDAnimators.begin(); it != mPausedVDAnimators.end();) {
+ if ((*it)->getVectorDrawable()->getPropertyChangeWillBeConsumed()) {
+ mRunningVDAnimators.insert(*it);
+ it = mPausedVDAnimators.erase(it);
+ } else {
+ it++;
+ }
}
}
- info.out.hasAnimations |= !mVectorDrawableAnimators.empty();
+ info.out.hasAnimations |= !mRunningVDAnimators.empty();
+
}
void sendMessage(const sp<MessageHandler>& handler) {
@@ -232,17 +253,18 @@ public:
}
void attachPendingVectorDrawableAnimators() {
- mVectorDrawableAnimators.insert(mPendingVectorDrawableAnimators.begin(),
+ mRunningVDAnimators.insert(mPendingVectorDrawableAnimators.begin(),
mPendingVectorDrawableAnimators.end());
mPendingVectorDrawableAnimators.clear();
}
void detachAnimators() {
// Remove animators from the list and post a delayed message in future to end the animator
- for (auto& anim : mVectorDrawableAnimators) {
+ for (auto& anim : mRunningVDAnimators) {
detachVectorDrawableAnimator(anim.get());
}
- mVectorDrawableAnimators.clear();
+ mRunningVDAnimators.clear();
+ mPausedVDAnimators.clear();
}
void doAttachAnimatingNodes(AnimationContext* context) {
@@ -253,18 +275,48 @@ public:
mPendingAnimatingRenderNodes.clear();
}
- void runVectorDrawableAnimators(AnimationContext* context) {
- for (auto it = mVectorDrawableAnimators.begin(); it != mVectorDrawableAnimators.end();) {
+ void runVectorDrawableAnimators(AnimationContext* context, TreeInfo::TraversalMode mode) {
+ for (auto it = mRunningVDAnimators.begin(); it != mRunningVDAnimators.end();) {
if ((*it)->animate(*context)) {
- it = mVectorDrawableAnimators.erase(it);
+ it = mRunningVDAnimators.erase(it);
+ } else {
+ it++;
+ }
+ }
+
+ if (mode == TreeInfo::MODE_FULL) {
+ // During full sync we also need to pulse paused animators, in case their targets
+ // have been added back to the display list. All the animators that passed the
+ // scheduled finish time will be removed from the paused list.
+ for (auto it = mPausedVDAnimators.begin(); it != mPausedVDAnimators.end();) {
+ if ((*it)->animate(*context)) {
+ // Animator has finished, remove from the list.
+ it = mPausedVDAnimators.erase(it);
+ } else {
+ it++;
+ }
+ }
+ }
+ }
+
+ void trimPausedVDAnimators(AnimationContext* context) {
+ // Trim paused vector drawable animator list.
+ for (auto it = mPausedVDAnimators.begin(); it != mPausedVDAnimators.end();) {
+ // Remove paused VD animator if no one else is referencing it. Note that animators that
+ // have passed scheduled finish time are removed from list when they are being pulsed
+ // before prepare tree.
+ // TODO: this is a bit hacky, need to figure out a better way to track when the paused
+ // animators should be freed.
+ if ((*it)->getStrongCount() == 1) {
+ it = mPausedVDAnimators.erase(it);
} else {
- ++it;
+ it++;
}
}
}
void pushStagingVectorDrawableAnimators(AnimationContext* context) {
- for (auto& anim : mVectorDrawableAnimators) {
+ for (auto& anim : mRunningVDAnimators) {
anim->pushStaging(*context);
}
}
@@ -286,7 +338,15 @@ private:
JavaVM* mVm;
std::vector< sp<RenderNode> > mPendingAnimatingRenderNodes;
std::set< sp<PropertyValuesAnimatorSet> > mPendingVectorDrawableAnimators;
- std::set< sp<PropertyValuesAnimatorSet> > mVectorDrawableAnimators;
+ std::set< sp<PropertyValuesAnimatorSet> > mRunningVDAnimators;
+ // mPausedVDAnimators stores a list of animators that have not yet passed the finish time, but
+ // their VectorDrawable targets are no longer in the DisplayList. We skip these animators when
+ // render thread runs animators independent of UI thread (i.e. RT_ONLY mode). These animators
+ // need to be re-activated once their VD target is added back into DisplayList. Since that could
+ // only happen when we do a full sync, we need to make sure to pulse these paused animators at
+ // full sync. If any animator's VD target is found in DisplayList during a full sync, we move
+ // the animator back to the running list.
+ std::set< sp<PropertyValuesAnimatorSet> > mPausedVDAnimators;
void detachVectorDrawableAnimator(PropertyValuesAnimatorSet* anim) {
if (anim->isInfinite() || !anim->isRunning()) {
// Do not need to post anything if the animation is infinite (i.e. no meaningful
@@ -336,13 +396,20 @@ public:
if (mode == TreeInfo::MODE_FULL) {
mRootNode->pushStagingVectorDrawableAnimators(this);
}
- mRootNode->runVectorDrawableAnimators(this);
+ mRootNode->runVectorDrawableAnimators(this, mode);
}
// Runs any animations still left in mCurrentFrameAnimations
virtual void runRemainingAnimations(TreeInfo& info) {
AnimationContext::runRemainingAnimations(info);
postOnFinishedEvents();
+ if (info.mode == TreeInfo::MODE_FULL) {
+ // Trim paused VD animators at full sync, so that when Java loses reference to an
+ // animator, we know we won't be requested to animate it any more, then we remove such
+ // animators from the paused list so they can be properly freed. We also remove the
+ // animators from paused list when the time elapsed since start has exceeded duration.
+ mRootNode->trimPausedVDAnimators(this);
+ }
}
virtual void detachAnimators() override {
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index 4b66f70dfd20..48dfdff4fd72 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -2508,11 +2508,10 @@
<permission android:name="android.permission.CONTROL_WIFI_DISPLAY"
android:protectionLevel="signature" />
- <!-- Allows an application to control the color transforms applied to
- displays system-wide.
+ <!-- Allows an application to control the color modes set for displays system-wide.
<p>Not for use by third-party applications.</p>
@hide -->
- <permission android:name="android.permission.CONFIGURE_DISPLAY_COLOR_TRANSFORM"
+ <permission android:name="android.permission.CONFIGURE_DISPLAY_COLOR_MODE"
android:protectionLevel="signature" />
<!-- @SystemApi Allows an application to control VPN.
diff --git a/core/res/res/layout-watch/alert_dialog_material.xml b/core/res/res/layout-watch/alert_dialog_material.xml
index e627d42b5fb4..a8bb204a51ff 100644
--- a/core/res/res/layout-watch/alert_dialog_material.xml
+++ b/core/res/res/layout-watch/alert_dialog_material.xml
@@ -21,6 +21,7 @@
android:layout_height="match_parent">
<ScrollView
android:id="@+id/scrollView"
+ android:fillViewport="true"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
@@ -33,7 +34,8 @@
android:paddingRight="?dialogPreferredPadding"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:id="@+id/topPanel">
+ android:id="@+id/topPanel"
+ android:minHeight="@dimen/dialog_list_padding_top_no_title">
<include android:id="@+id/title_template"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -68,41 +70,33 @@
<!-- Button Panel -->
<FrameLayout
android:id="@+id/buttonPanel"
+ android:minHeight="@dimen/dialog_list_padding_bottom_no_buttons"
+ android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:divider="?android:attr/dividerHorizontal"
- android:showDividers="beginning"
- android:dividerPadding="0dip"
android:orientation="vertical"
android:minHeight="@dimen/alert_dialog_button_bar_height"
android:paddingBottom="?dialogPreferredPadding"
style="?android:attr/buttonBarStyle"
- android:layoutDirection="locale"
android:measureWithLargestChild="true">
<Button android:id="@+id/button1"
android:layout_gravity="start"
android:layout_weight="1"
- android:layout_marginLeft="?dialogPreferredPadding"
- android:layout_marginRight="?dialogPreferredPadding"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button android:id="@+id/button3"
android:layout_gravity="start"
android:layout_weight="1"
- android:layout_marginLeft="?dialogPreferredPadding"
- android:layout_marginRight="?dialogPreferredPadding"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button android:id="@+id/button2"
android:layout_gravity="start"
android:layout_weight="1"
- android:layout_marginLeft="?dialogPreferredPadding"
- android:layout_marginRight="?dialogPreferredPadding"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml
index d5c1dd89c71e..923dea192ef2 100644
--- a/core/res/res/values-af/strings.xml
+++ b/core/res/res/values-af/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Optimeer tans berging."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android gradeer tans op"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Sommige programme sal dalk nie behoorlik werk voordat die opgradering voltooi is nie"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> gradeer tans op …"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Optimeer program <xliff:g id="NUMBER_0">%1$d</xliff:g> van <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Berei tans <xliff:g id="APPNAME">%1$s</xliff:g> voor."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Begin programme."</string>
diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml
index a90d0564a692..aca5cc5fa276 100644
--- a/core/res/res/values-am/strings.xml
+++ b/core/res/res/values-am/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"ማከማቻን በማመቻቸት ላይá¢"</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android በማላቅ ላይ áŠá‹"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"አንዳንድ መተáŒá‰ áˆªá‹«á‹Žá‰½ ማላበእስኪጠናቀቅ ድረስ በአáŒá‰£á‰¡ ላይሰሩ ይችላሉ"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> በማላቅ ላይ…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"መተáŒá‰ áˆªá‹«á‹Žá‰½ በአáŒá‰£á‰¡ በመጠቀሠላይ <xliff:g id="NUMBER_0">%1$d</xliff:g> ከ <xliff:g id="NUMBER_1">%2$d</xliff:g> á¡á¡"</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g>ን ማዘጋጀትá¢"</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"መተáŒá‰ áˆªá‹«á‹Žá‰½áŠ• በማስጀመር ላይá¡á¡"</string>
diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml
index 10cb7c5fa75d..2d8221f3eafe 100644
--- a/core/res/res/values-ar/strings.xml
+++ b/core/res/res/values-ar/strings.xml
@@ -1116,8 +1116,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"جار٠تحسين السعة التخزينية."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"â€Ø¬Ø§Ø±Ù ترقية Android"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"قد لا تعمل بعض التطبيقات بشكل مناسب إلا بعد انتهاء الترقية"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"جار٠ترقية <xliff:g id="APPLICATION">%1$s</xliff:g>…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"جار٠تحسين التطبيق <xliff:g id="NUMBER_0">%1$d</xliff:g> من <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"جار٠تحضير <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"بدء التطبيقات."</string>
diff --git a/core/res/res/values-az-rAZ/strings.xml b/core/res/res/values-az-rAZ/strings.xml
index 53a238b54280..f922c7fca438 100644
--- a/core/res/res/values-az-rAZ/strings.xml
+++ b/core/res/res/values-az-rAZ/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Yaddaş optimallaşdırılır."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android təkmilləşdirilir"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Güncəllənmə tamamlanana kimi bəzi tətbiqlər düzgün işləməyə bilər"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> təkmilləşdirilir…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"<xliff:g id="NUMBER_1">%2$d</xliff:g> əddədən <xliff:g id="NUMBER_0">%1$d</xliff:g> tətbiq optimallaşır."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> proqramının hazırlanması."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Tətbiqlər başladılır."</string>
diff --git a/core/res/res/values-b+sr+Latn-watch/styles_material.xml b/core/res/res/values-b+sr+Latn-watch/styles_material.xml
new file mode 100644
index 000000000000..36a459dc16a0
--- /dev/null
+++ b/core/res/res/values-b+sr+Latn-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2016 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.
+ -->
+
+<!--
+===============================================================
+ PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+ PLEASE READ
+===============================================================
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-b+sr+Latn/strings.xml b/core/res/res/values-b+sr+Latn/strings.xml
index fdeb9ed03c53..910886100c19 100644
--- a/core/res/res/values-b+sr+Latn/strings.xml
+++ b/core/res/res/values-b+sr+Latn/strings.xml
@@ -125,11 +125,15 @@
<string name="roamingTextSearching" msgid="8360141885972279963">"Pretraživanje usluge"</string>
<string name="wfcRegErrorTitle" msgid="2301376280632110664">"Pozivanje preko Wi-Fi-ja"</string>
<string-array name="wfcOperatorErrorAlertMessages">
+ <item msgid="2254967670088539682">"Da biste upućivali pozive i slali poruke preko Wi-Fi-ja, prvo zatražite od mobilnog operatera da vam omogući ovu uslugu. Zatim u PodeÅ¡avanjima ponovo ukljuÄite Pozivanje preko Wi-Fi-ja."</item>
</string-array>
<string-array name="wfcOperatorErrorNotificationMessages">
+ <item msgid="6177300162212449033">"Registrujte se kod mobilnog operatera"</item>
+ </string-array>
+ <string-array name="wfcSpnFormats">
+ <item msgid="6830082633573257149">"%s"</item>
+ <item msgid="4397097370387921767">"Wi-Fi pozivanje preko operatera %s"</item>
</string-array>
- <string name="wfcSpnFormat" msgid="8211621332478306568">"%s"</string>
- <string name="wfcDataSpnFormat" msgid="1118052028767666883">"%s"</string>
<string name="wifi_calling_off_summary" msgid="8720659586041656098">"IskljuÄeno"</string>
<string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Prednost ima Wi-Fi"</string>
<string name="wfc_mode_cellular_preferred_summary" msgid="5920549484600758786">"Prednost ima mobilna mreža"</string>
@@ -165,7 +169,11 @@
<string name="low_memory" product="watch" msgid="4415914910770005166">"Memorija sata je puna. Izbrišite neke datoteke da biste oslobodili prostor."</string>
<string name="low_memory" product="tv" msgid="516619861191025923">"Memorijski prostor na TV-u je popunjen. Izbrišite neke datoteke da biste oslobodili prostor."</string>
<string name="low_memory" product="default" msgid="3475999286680000541">"Skladište telefona je puno! Izbrišite neke datoteke kako biste oslobodili prostor."</string>
- <!-- no translation found for ssl_ca_cert_warning (5106721205300213569) -->
+ <plurals name="ssl_ca_cert_warning" formatted="false" msgid="5106721205300213569">
+ <item quantity="one">Instalirani su autoriteti za izdavanje sertifikata</item>
+ <item quantity="few">Instalirani su autoriteti za izdavanje sertifikata</item>
+ <item quantity="other">Instalirani su autoriteti za izdavanje sertifikata</item>
+ </plurals>
<string name="ssl_ca_cert_noti_by_unknown" msgid="4475437862189850602">"Od strane nepoznate treće strane"</string>
<string name="ssl_ca_cert_noti_by_administrator" msgid="550758088185764312">"Od strane administratora profila za posao"</string>
<string name="ssl_ca_cert_noti_managed" msgid="4030263497686867141">"Od strane <xliff:g id="MANAGING_DOMAIN">%s</xliff:g>"</string>
@@ -212,9 +220,9 @@
<string name="bugreport_title" msgid="2667494803742548533">"Napravi izveštaj o grešci"</string>
<string name="bugreport_message" msgid="398447048750350456">"Ovim će se prikupiti informacije o trenutnom stanju ureÄ‘aja kako bi bile poslate u poruci e-poÅ¡te. Od zapoÄinjanja izveÅ¡taja o greÅ¡ci do trenutka za njegovo slanje proći će neko vreme; budite strpljivi."</string>
<string name="bugreport_option_interactive_title" msgid="8635056131768862479">"Interaktiv. izveštaj"</string>
- <string name="bugreport_option_interactive_summary" msgid="8180152634022797629">"Koristite ovo u većini sluÄajeva. To vam omogućava da pratite napredak izveÅ¡taja i da unosite dodatne detalje o problemu. Verovatno će izostaviti neke manje korišćene odeljke za koje pravljenje izveÅ¡taja dugo traje."</string>
+ <string name="bugreport_option_interactive_summary" msgid="229299488536107968">"Koristite ovo u većini sluÄajeva. To vam omogućava da pratite napredak izveÅ¡taja, da unosite dodatne detalje o problemu i da snimate snimke ekrana. Verovatno će izostaviti neke manje korišćene odeljke za koje pravljenje izveÅ¡taja dugo traje."</string>
<string name="bugreport_option_full_title" msgid="6354382025840076439">"Kompletan izveštaj"</string>
- <string name="bugreport_option_full_summary" msgid="6687306111256813257">"Koristite ovu opciju radi minimalnih sistemskih smetnji kada uređaj ne reaguje, prespor je ili su vam potrebni svi odeljci izveštaja. Ne pravi snimak ekrana niti vam dozvoljava unos dodatnih detalja."</string>
+ <string name="bugreport_option_full_summary" msgid="7210859858969115745">"Koristite ovu opciju radi minimalnih sistemskih smetnji kada uređaj ne reaguje, prespor je ili su vam potrebni svi odeljci izveštaja. Ne dozvoljava vam unos dodatnih detalja niti snimanje dodatnih snimaka ekrana."</string>
<plurals name="bugreport_countdown" formatted="false" msgid="6878900193900090368">
<item quantity="one">Napravićemo snimak ekrana radi izveštaja o grešci za <xliff:g id="NUMBER_1">%d</xliff:g> sekundu.</item>
<item quantity="few">Napravićemo snimak ekrana radi izveštaja o grešci za <xliff:g id="NUMBER_1">%d</xliff:g> sekunde.</item>
@@ -258,7 +266,7 @@
<string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Preuzima sadržaj prozora"</string>
<string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Proverava sadržaj prozora sa kojim ostvarujete interakciju."</string>
<string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"UkljuÄi Istraživanja dodirom"</string>
- <string name="capability_desc_canRequestTouchExploration" msgid="5800552516779249356">"Stavke koje dodirnete će biti izgovorene, a možete da se krećete po ekranu pokretima."</string>
+ <string name="capability_desc_canRequestTouchExploration" msgid="7543249041581408313">"Stavke koje dodirnete će biti izgovorene naglas, a možete da se krećete po ekranu pokretima."</string>
<string name="capability_title_canRequestEnhancedWebAccessibility" msgid="1739881766522594073">"UkljuÄi poboljÅ¡anu pristupaÄnost veba"</string>
<string name="capability_desc_canRequestEnhancedWebAccessibility" msgid="7881063961507511765">"Mogu da se instaliraju skripte da bi sadržaj aplikacija bio pristupaÄniji."</string>
<string name="capability_title_canRequestFilterKeyEvents" msgid="2103440391902412174">"Prati tekst koji unosite"</string>
@@ -599,7 +607,7 @@
<string name="phoneTypeRadio" msgid="4093738079908667513">"Radio"</string>
<string name="phoneTypeTelex" msgid="3367879952476250512">"Teleks"</string>
<string name="phoneTypeTtyTdd" msgid="8606514378585000044">"TTY TDD"</string>
- <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"Broj poslovnog mobilnog telefona"</string>
+ <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"Poslovni mobilni"</string>
<string name="phoneTypeWorkPager" msgid="649938731231157056">"Poslovni pejdžer"</string>
<string name="phoneTypeAssistant" msgid="5596772636128562884">"Pomoćnik"</string>
<string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string>
@@ -657,7 +665,7 @@
<string name="keyguard_password_enter_puk_code" msgid="4800725266925845333">"Unesite PUK i novi PIN kôd"</string>
<string name="keyguard_password_enter_puk_prompt" msgid="1341112146710087048">"PUK kôd"</string>
<string name="keyguard_password_enter_pin_prompt" msgid="8027680321614196258">"Novi PIN kôd"</string>
- <string name="keyguard_password_entry_touch_hint" msgid="7858547464982981384"><font size="17">"Dodirnite da biste uneli lozinku"</font></string>
+ <string name="keyguard_password_entry_touch_hint" msgid="2644215452200037944"><font size="17">"Dodirnite za unos lozinke"</font></string>
<string name="keyguard_password_enter_password_code" msgid="1054721668279049780">"Otkucajte lozinku da biste otkljuÄali"</string>
<string name="keyguard_password_enter_pin_password_code" msgid="6391755146112503443">"Unesite PIN za otkljuÄavanje"</string>
<string name="keyguard_password_wrong_pin_code" msgid="2422225591006134936">"PIN kôd je netaÄan."</string>
@@ -857,6 +865,87 @@
<item quantity="few"><xliff:g id="COUNT">%d</xliff:g> sata</item>
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> sati</item>
</plurals>
+ <string name="now_string_shortest" msgid="8912796667087856402">"sada"</string>
+ <plurals name="duration_minutes_shortest" formatted="false" msgid="3957499975064245495">
+ <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> min</item>
+ <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> min</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> min</item>
+ </plurals>
+ <plurals name="duration_hours_shortest" formatted="false" msgid="3552182110578602356">
+ <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> Ä</item>
+ <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> Ä</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> Ä</item>
+ </plurals>
+ <plurals name="duration_days_shortest" formatted="false" msgid="5213655532597081640">
+ <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> dan</item>
+ <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> dan</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> dan</item>
+ </plurals>
+ <plurals name="duration_years_shortest" formatted="false" msgid="7848711145196397042">
+ <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> god</item>
+ <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> god</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> god</item>
+ </plurals>
+ <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
+ <item quantity="one">za <xliff:g id="COUNT_1">%d</xliff:g> min</item>
+ <item quantity="few">za <xliff:g id="COUNT_1">%d</xliff:g> min</item>
+ <item quantity="other">za <xliff:g id="COUNT_1">%d</xliff:g> min</item>
+ </plurals>
+ <plurals name="duration_hours_shortest_future" formatted="false" msgid="2152452368397489370">
+ <item quantity="one">za <xliff:g id="COUNT_1">%d</xliff:g> Ä</item>
+ <item quantity="few">za <xliff:g id="COUNT_1">%d</xliff:g> Ä</item>
+ <item quantity="other">za <xliff:g id="COUNT_1">%d</xliff:g> Ä</item>
+ </plurals>
+ <plurals name="duration_days_shortest_future" formatted="false" msgid="8088331502820295701">
+ <item quantity="one">za <xliff:g id="COUNT_1">%d</xliff:g> dan</item>
+ <item quantity="few">za <xliff:g id="COUNT_1">%d</xliff:g> dan</item>
+ <item quantity="other">za <xliff:g id="COUNT_1">%d</xliff:g> dan</item>
+ </plurals>
+ <plurals name="duration_years_shortest_future" formatted="false" msgid="2317006667145250301">
+ <item quantity="one">za <xliff:g id="COUNT_1">%d</xliff:g> god</item>
+ <item quantity="few">za <xliff:g id="COUNT_1">%d</xliff:g> god</item>
+ <item quantity="other">za <xliff:g id="COUNT_1">%d</xliff:g> god</item>
+ </plurals>
+ <plurals name="duration_minutes_relative" formatted="false" msgid="3178131706192980192">
+ <item quantity="one">pre <xliff:g id="COUNT_1">%d</xliff:g> minuta</item>
+ <item quantity="few">pre <xliff:g id="COUNT_1">%d</xliff:g> minuta</item>
+ <item quantity="other">pre <xliff:g id="COUNT_1">%d</xliff:g> minuta</item>
+ </plurals>
+ <plurals name="duration_hours_relative" formatted="false" msgid="676894109982008411">
+ <item quantity="one">pre <xliff:g id="COUNT_1">%d</xliff:g> sata</item>
+ <item quantity="few">pre <xliff:g id="COUNT_1">%d</xliff:g> sata</item>
+ <item quantity="other">pre <xliff:g id="COUNT_1">%d</xliff:g> sati</item>
+ </plurals>
+ <plurals name="duration_days_relative" formatted="false" msgid="2203515825765397130">
+ <item quantity="one">Pre <xliff:g id="COUNT_1">%d</xliff:g> dana</item>
+ <item quantity="few">Pre <xliff:g id="COUNT_1">%d</xliff:g> dana</item>
+ <item quantity="other">Pre <xliff:g id="COUNT_1">%d</xliff:g> dana</item>
+ </plurals>
+ <plurals name="duration_years_relative" formatted="false" msgid="4820062134188885734">
+ <item quantity="one">pre <xliff:g id="COUNT_1">%d</xliff:g> godine</item>
+ <item quantity="few">pre <xliff:g id="COUNT_1">%d</xliff:g> godine</item>
+ <item quantity="other">pre <xliff:g id="COUNT_1">%d</xliff:g> godina</item>
+ </plurals>
+ <plurals name="duration_minutes_relative_future" formatted="false" msgid="4655043589817680966">
+ <item quantity="one">za <xliff:g id="COUNT_1">%d</xliff:g> minut</item>
+ <item quantity="few">za <xliff:g id="COUNT_1">%d</xliff:g> minuta</item>
+ <item quantity="other">za <xliff:g id="COUNT_1">%d</xliff:g> minuta</item>
+ </plurals>
+ <plurals name="duration_hours_relative_future" formatted="false" msgid="8084579714205223891">
+ <item quantity="one">za <xliff:g id="COUNT_1">%d</xliff:g> sat</item>
+ <item quantity="few">za <xliff:g id="COUNT_1">%d</xliff:g> sata</item>
+ <item quantity="other">za <xliff:g id="COUNT_1">%d</xliff:g> sati</item>
+ </plurals>
+ <plurals name="duration_days_relative_future" formatted="false" msgid="333215369363433992">
+ <item quantity="one">za <xliff:g id="COUNT_1">%d</xliff:g> dan</item>
+ <item quantity="few">za <xliff:g id="COUNT_1">%d</xliff:g> dana</item>
+ <item quantity="other">za <xliff:g id="COUNT_1">%d</xliff:g> dana</item>
+ </plurals>
+ <plurals name="duration_years_relative_future" formatted="false" msgid="8644862986413104011">
+ <item quantity="one">za <xliff:g id="COUNT_1">%d</xliff:g> godinu</item>
+ <item quantity="few">za <xliff:g id="COUNT_1">%d</xliff:g> godine</item>
+ <item quantity="other">za <xliff:g id="COUNT_1">%d</xliff:g> godina</item>
+ </plurals>
<string name="VideoView_error_title" msgid="3534509135438353077">"Problem sa video snimkom"</string>
<string name="VideoView_error_text_invalid_progressive_playback" msgid="3186670335938670444">"Ovaj video ne može da se strimuje na ovom uređaju."</string>
<string name="VideoView_error_text_unknown" msgid="3450439155187810085">"Ne možete da pustite ovaj video."</string>
@@ -888,7 +977,7 @@
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Neke sistemske funkcije možda ne funkcionišu"</string>
<string name="low_internal_storage_view_text_no_boot" msgid="6935190099204693424">"Nema dovoljno memorijskog prostora za sistem. Uverite se da imate 250 MB slobodnog prostora i ponovo pokrenite."</string>
<string name="app_running_notification_title" msgid="8718335121060787914">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> je pokrenuta"</string>
- <string name="app_running_notification_text" msgid="4653586947747330058">"Dodirnite za više informacija ili zaustavljanje aplikacije."</string>
+ <string name="app_running_notification_text" msgid="1197581823314971177">"Dodirnite za više informacija ili zaustavljanje aplikacije."</string>
<string name="ok" msgid="5970060430562524910">"Potvrdi"</string>
<string name="cancel" msgid="6442560571259935130">"Otkaži"</string>
<string name="yes" msgid="5362982303337969312">"Potvrdi"</string>
@@ -928,8 +1017,7 @@
<string name="aerr_process" msgid="6201597323218674729">"Proces <xliff:g id="PROCESS">%1$s</xliff:g> je zaustavljen"</string>
<string name="aerr_application_repeated" msgid="3146328699537439573">"<xliff:g id="APPLICATION">%1$s</xliff:g> se stalno zaustavlja"</string>
<string name="aerr_process_repeated" msgid="6235302956890402259">"Proces <xliff:g id="PROCESS">%1$s</xliff:g> se stalno zaustavlja"</string>
- <string name="aerr_restart" msgid="9001379185665886595">"Ponovo pokreni aplikaciju"</string>
- <string name="aerr_reset" msgid="7645427603514220451">"Resetuj i ponovo pokreni aplikaciju"</string>
+ <string name="aerr_restart" msgid="7581308074153624475">"Ponovo otvori aplikaciju"</string>
<string name="aerr_report" msgid="5371800241488400617">"Pošaljite povratne informacije"</string>
<string name="aerr_close" msgid="2991640326563991340">"Zatvori"</string>
<string name="aerr_mute" msgid="1974781923723235953">"Ignoriši dok se uređaj ne pokrene ponovo"</string>
@@ -950,17 +1038,22 @@
<string name="screen_compat_mode_scale" msgid="3202955667675944499">"Razmera"</string>
<string name="screen_compat_mode_show" msgid="4013878876486655892">"Uvek prikazuj"</string>
<string name="screen_compat_mode_hint" msgid="1064524084543304459">"Ponovo omogućite u meniju Sistemska podešavanja &gt; Aplikacije &gt; Preuzeto."</string>
+ <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> ne podržava trenutno podeÅ¡avanje veliÄine prikaza i može da se ponaÅ¡a neoÄekivano."</string>
+ <string name="unsupported_display_size_show" msgid="7969129195360353041">"Uvek prikazuj"</string>
<string name="smv_application" msgid="3307209192155442829">"Aplikacija <xliff:g id="APPLICATION">%1$s</xliff:g> (proces <xliff:g id="PROCESS">%2$s</xliff:g>) je prekršila samonametnute StrictMode smernice."</string>
<string name="smv_process" msgid="5120397012047462446">"Proces <xliff:g id="PROCESS">%1$s</xliff:g> je prekršio samonametnute StrictMode smernice."</string>
<string name="android_upgrading_title" msgid="1584192285441405746">"Android se nadograđuje…"</string>
<string name="android_start_title" msgid="8418054686415318207">"Android se pokreće…"</string>
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Memorija se optimizuje."</string>
+ <string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android se nadograđuje…"</string>
+ <string name="android_upgrading_notification_body" msgid="5761201379457064286">"Neke aplikacije možda neće ispravno funkcionisati dok se nadogradnja ne dovrši"</string>
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> se nadograđuje…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Optimizovanje aplikacije <xliff:g id="NUMBER_0">%1$d</xliff:g> od <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Priprema se <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Pokretanje aplikacija."</string>
<string name="android_upgrading_complete" msgid="1405954754112999229">"Završavanje pokretanja."</string>
<string name="heavy_weight_notification" msgid="9087063985776626166">"Aplikacija <xliff:g id="APP">%1$s</xliff:g> je pokrenuta"</string>
- <string name="heavy_weight_notification_detail" msgid="1721681741617898865">"Dodirnite da biste prešli na aplikaciju"</string>
+ <string name="heavy_weight_notification_detail" msgid="867643381388543170">"Dodirnite da biste prešli na aplikaciju"</string>
<string name="heavy_weight_switcher_title" msgid="7153167085403298169">"Želite li da pređete na drugu aplikaciju?"</string>
<string name="heavy_weight_switcher_text" msgid="7022631924534406403">"Već je pokrenuta druga aplikacija koja mora da bude zaustavljena da biste mogli da pokrenete novu."</string>
<string name="old_app_action" msgid="493129172238566282">"Vrati se u <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
@@ -968,7 +1061,7 @@
<string name="new_app_action" msgid="5472756926945440706">"Pokreni <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
<string name="new_app_description" msgid="1932143598371537340">"Zaustavlja staru aplikaciju bez Äuvanja."</string>
<string name="dump_heap_notification" msgid="2618183274836056542">"<xliff:g id="PROC">%1$s</xliff:g> premaÅ¡uje ograniÄenje memorije"</string>
- <string name="dump_heap_notification_detail" msgid="2075673362317481664">"Snimak dinamiÄkog dela memorije je napravljen; dodirnite za deljenje"</string>
+ <string name="dump_heap_notification_detail" msgid="6901391084243999274">"Snimak dinamiÄkog dela memorije je napravljen; dodirnite za deljenje"</string>
<string name="dump_heap_title" msgid="5864292264307651673">"Želite li da delite snimak dinamiÄkog dela memorije?"</string>
<string name="dump_heap_text" msgid="4809417337240334941">"Proces <xliff:g id="PROC">%1$s</xliff:g> je premaÅ¡io ograniÄenje memorije za proces od <xliff:g id="SIZE">%2$s</xliff:g>. Snimak dinamiÄkog dela memorije je dostupan i možete da ga delite sa programerom. Budite oprezni: ovaj snimak dinamiÄkog dela memorije može da sadrži neke liÄne podatke kojima aplikacija može da pristupa."</string>
<string name="sendText" msgid="5209874571959469142">"Izaberite radnju za tekst"</string>
@@ -1006,7 +1099,7 @@
<!-- no translation found for network_available_sign_in_detailed (8000081941447976118) -->
<skip />
<string name="wifi_no_internet" msgid="8451173622563841546">"Wi-Fi nema pristup internetu"</string>
- <string name="wifi_no_internet_detailed" msgid="7593858887662270131">"Dodirnite za opcije"</string>
+ <string name="wifi_no_internet_detailed" msgid="8083079241212301741">"Dodirnite za opcije"</string>
<string name="wifi_watchdog_network_disabled" msgid="7904214231651546347">"Nije moguće povezati sa Wi-Fi mrežom"</string>
<string name="wifi_watchdog_network_disabled_detailed" msgid="5548780776418332675">" ima lošu internet vezu."</string>
<string name="wifi_connect_alert_title" msgid="8455846016001810172">"Želite li da dozvolite povezivanje?"</string>
@@ -1016,7 +1109,7 @@
<string name="wifi_p2p_turnon_message" msgid="2909250942299627244">"Pokrenite Wi-Fi Direct. Time ćete iskljuÄiti klijenta/hotspot za Wi-Fi."</string>
<string name="wifi_p2p_failed_message" msgid="3763669677935623084">"Nije moguće pokrenuti Wi-Fi Direct."</string>
<string name="wifi_p2p_enabled_notification_title" msgid="2068321881673734886">"Wi-Fi Direct je ukljuÄen"</string>
- <string name="wifi_p2p_enabled_notification_message" msgid="1638949953993894335">"Dodirnite za podešavanja"</string>
+ <string name="wifi_p2p_enabled_notification_message" msgid="8064677407830620023">"Dodirnite za podešavanja"</string>
<string name="accept" msgid="1645267259272829559">"Prihvati"</string>
<string name="decline" msgid="2112225451706137894">"Odbij"</string>
<string name="wifi_p2p_invitation_sent_title" msgid="1318975185112070734">"Pozivnica je poslata"</string>
@@ -1068,9 +1161,9 @@
<string name="usb_ptp_notification_title" msgid="1347328437083192112">"USB za prenos slika"</string>
<string name="usb_midi_notification_title" msgid="4850904915889144654">"USB za MIDI"</string>
<string name="usb_accessory_notification_title" msgid="7848236974087653666">"Povezano sa USB dodatkom"</string>
- <string name="usb_notification_message" msgid="7347368030849048437">"Dodirnite za još opcija."</string>
+ <string name="usb_notification_message" msgid="3370903770828407960">"Dodirnite za još opcija."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Otklanjanje grešaka sa USB-a je uspostavljeno"</string>
- <string name="adb_active_notification_message" msgid="1016654627626476142">"Dodirnite da biste onemogućili otklanjanje grešaka sa USB-a."</string>
+ <string name="adb_active_notification_message" msgid="4948470599328424059">"Dodirnite da biste onemogućili otklanjanje grešaka sa USB-a."</string>
<string name="taking_remote_bugreport_notification_title" msgid="6742483073875060934">"Izveštaj o grešci se generiše…"</string>
<string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Želite li da podelite izveštaj o grešci?"</string>
<string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Deli se izveštaj o grešci…"</string>
@@ -1090,9 +1183,9 @@
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Novi uređaj <xliff:g id="NAME">%s</xliff:g> je otkriven"</string>
<string name="ext_media_ready_notification_message" msgid="4083398150380114462">"Za prenos slika i medija"</string>
<string name="ext_media_unmountable_notification_title" msgid="8295123366236989588">"Uređaj <xliff:g id="NAME">%s</xliff:g> je oštećen"</string>
- <string name="ext_media_unmountable_notification_message" msgid="1586311304430052169">"Uređaj <xliff:g id="NAME">%s</xliff:g> je oštećen. Dodirnite da biste ga popravili."</string>
+ <string name="ext_media_unmountable_notification_message" msgid="2343202057122495773">"Uređaj <xliff:g id="NAME">%s</xliff:g> je oštećen. Dodirnite da biste ga popravili."</string>
<string name="ext_media_unsupported_notification_title" msgid="3797642322958803257">"Uređaj <xliff:g id="NAME">%s</xliff:g> nije podržan"</string>
- <string name="ext_media_unsupported_notification_message" msgid="8789610369456474891">"Ovaj uređaj ne podržava uređaj <xliff:g id="NAME">%s</xliff:g>. Dodirnite da biste podesili podržani format."</string>
+ <string name="ext_media_unsupported_notification_message" msgid="6121601473787888589">"Ovaj uređaj ne podržava ovaj uređaj <xliff:g id="NAME">%s</xliff:g>. Dodirnite da biste podesili podržani format."</string>
<string name="ext_media_badremoval_notification_title" msgid="3206248947375505416">"UreÄ‘aj <xliff:g id="NAME">%s</xliff:g> je neoÄekivano uklonjen"</string>
<string name="ext_media_badremoval_notification_message" msgid="380176703346946313">"IskljuÄite ureÄ‘aj <xliff:g id="NAME">%s</xliff:g> pre uklanjanja da ne biste izgubili podatke"</string>
<string name="ext_media_nomedia_notification_title" msgid="1704840188641749091">"Uređaj <xliff:g id="NAME">%s</xliff:g> je uklonjen"</string>
@@ -1128,7 +1221,7 @@
<string name="permdesc_readInstallSessions" msgid="2049771699626019849">"Dozvoljava aplikaciji da Äita sesije instaliranja. To joj dozvoljava da vidi detalje o aktivnim instalacijama paketa."</string>
<string name="permlab_requestInstallPackages" msgid="5782013576218172577">"zahtevanje paketa za instaliranje"</string>
<string name="permdesc_requestInstallPackages" msgid="5740101072486783082">"Omogućava da aplikacija zahteva instalaciju paketa."</string>
- <string name="tutorial_double_tap_to_zoom_message_short" msgid="4070433208160063538">"Dodirnite dvaput da biste kontrolisali zum"</string>
+ <string name="tutorial_double_tap_to_zoom_message_short" msgid="1311810005957319690">"Dodirnite dvaput za kontrolu zumiranja"</string>
<string name="gadget_host_error_inflating" msgid="4882004314906466162">"Nije moguće dodati vidžet."</string>
<string name="ime_action_go" msgid="8320845651737369027">"Idi"</string>
<string name="ime_action_search" msgid="658110271822807811">"Pretraži"</string>
@@ -1159,20 +1252,20 @@
<string name="notification_ranker_binding_label" msgid="774540592299064747">"Usluga rangiranja obaveštenja"</string>
<string name="vpn_title" msgid="19615213552042827">"VPN je aktiviran"</string>
<string name="vpn_title_long" msgid="6400714798049252294">"Aplikacija <xliff:g id="APP">%s</xliff:g> je aktivirala VPN"</string>
- <string name="vpn_text" msgid="3011306607126450322">"Dodirnite da biste upravljali mrežom."</string>
- <string name="vpn_text_long" msgid="6407351006249174473">"Povezano sa sesijom <xliff:g id="SESSION">%s</xliff:g>. Dodirnite da biste upravljali mrežom."</string>
+ <string name="vpn_text" msgid="1610714069627824309">"Dodirnite da biste upravljali mrežom."</string>
+ <string name="vpn_text_long" msgid="4907843483284977618">"Povezano sa sesijom <xliff:g id="SESSION">%s</xliff:g>. Dodirnite da biste upravljali mrežom."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Povezivanje stalno ukljuÄenog VPN-a..."</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Stalno ukljuÄeni VPN je povezan"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"GreÅ¡ka stalno ukljuÄenog VPN-a"</string>
- <string name="vpn_lockdown_config" msgid="6415899150671537970">"Dodirnite da biste konfigurisali"</string>
+ <string name="vpn_lockdown_config" msgid="4655589351146766608">"Dodirnite da biste konfigurisali"</string>
<string name="upload_file" msgid="2897957172366730416">"Odaberi datoteku"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Nije izabrana nijedna datoteka"</string>
<string name="reset" msgid="2448168080964209908">"Ponovo postavi"</string>
<string name="submit" msgid="1602335572089911941">"Pošalji"</string>
<string name="car_mode_disable_notification_title" msgid="3164768212003864316">"Režim rada u automobilu je omogućen"</string>
- <string name="car_mode_disable_notification_message" msgid="8035230537563503262">"Dodirnite da biste izašli iz režima rada u automobilu."</string>
+ <string name="car_mode_disable_notification_message" msgid="6301524980144350051">"Dodirnite da biste izašli iz režima rada u automobilu."</string>
<string name="tethered_notification_title" msgid="3146694234398202601">"Aktivno povezivanje sa internetom preko mobilnog uređaja ili hotspot"</string>
- <string name="tethered_notification_message" msgid="6857031760103062982">"Dodirnite da biste podesili."</string>
+ <string name="tethered_notification_message" msgid="2113628520792055377">"Dodirnite da biste podesili."</string>
<string name="back_button_label" msgid="2300470004503343439">"Nazad"</string>
<string name="next_button_label" msgid="1080555104677992408">"Next"</string>
<string name="skip_button_label" msgid="1275362299471631819">"PreskoÄi"</string>
@@ -1206,7 +1299,7 @@
<string name="add_account_button_label" msgid="3611982894853435874">"Dodaj nalog"</string>
<string name="number_picker_increment_button" msgid="2412072272832284313">"Povećavanje"</string>
<string name="number_picker_decrement_button" msgid="476050778386779067">"Smanjivanje"</string>
- <string name="number_picker_increment_scroll_mode" msgid="3073101067441638428">"<xliff:g id="VALUE">%s</xliff:g> dodirnite i zadržite."</string>
+ <string name="number_picker_increment_scroll_mode" msgid="5259126567490114216">"<xliff:g id="VALUE">%s</xliff:g> dodirnite i zadržite."</string>
<string name="number_picker_increment_scroll_action" msgid="9101473045891835490">"Prevucite nagore da biste povećali, a nadole da biste smanjili."</string>
<string name="time_picker_increment_minute_button" msgid="8865885114028614321">"Povećavanje minuta"</string>
<string name="time_picker_decrement_minute_button" msgid="6246834937080684791">"Smanjivanje minuta"</string>
@@ -1250,7 +1343,7 @@
<string name="storage_usb" msgid="3017954059538517278">"USB memorija"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Izmeni"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Upozorenje o potrošnji podataka"</string>
- <string name="data_usage_warning_body" msgid="2814673551471969954">"Dodirnite za pregled kor. i pod."</string>
+ <string name="data_usage_warning_body" msgid="6660692274311972007">"Dodirnite za potrošnju i podešavanja."</string>
<string name="data_usage_3g_limit_title" msgid="4361523876818447683">"Nema više 2G-3G podataka"</string>
<string name="data_usage_4g_limit_title" msgid="4609566827219442376">"Nema više 4G podataka"</string>
<string name="data_usage_mobile_limit_title" msgid="557158376602636112">"Nema više podataka za mobilne"</string>
@@ -1262,7 +1355,7 @@
<string name="data_usage_wifi_limit_snoozed_title" msgid="8743856006384825974">"PrekoraÄenje prenosa Wi-Fi podat."</string>
<string name="data_usage_limit_snoozed_body" msgid="7035490278298441767">"<xliff:g id="SIZE">%s</xliff:g> preko navedenog ograniÄenja."</string>
<string name="data_usage_restricted_title" msgid="5965157361036321914">"Pozadinski podaci su ograniÄeni"</string>
- <string name="data_usage_restricted_body" msgid="6741521330997452990">"Dodirnite da biste uklonili ograniÄenje."</string>
+ <string name="data_usage_restricted_body" msgid="469866376337242726">"Dodirnite za uklanjanje ograniÄenja."</string>
<string name="ssl_certificate" msgid="6510040486049237639">"Bezbednosni sertifikat"</string>
<string name="ssl_certificate_is_valid" msgid="6825263250774569373">"Ovaj sertifikat je važeći."</string>
<string name="issued_to" msgid="454239480274921032">"Izdato za:"</string>
@@ -1479,8 +1572,7 @@
<string name="select_year" msgid="7952052866994196170">"Izaberite godinu"</string>
<string name="deleted_key" msgid="7659477886625566590">"Izbrisali ste <xliff:g id="KEY">%1$s</xliff:g>"</string>
<string name="managed_profile_label_badge" msgid="2355652472854327647">"<xliff:g id="LABEL">%1$s</xliff:g> na poslu"</string>
- <string name="lock_to_app_toast" msgid="7570091317001980053">"Da biste otkaÄili ovaj ekran, istovremeno dodirnite i zadržite Nazad i Pregled."</string>
- <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Da biste otkaÄili ovaj ekran, dodirnite i zadržite Pregled."</string>
+ <string name="lock_to_app_toast" msgid="1420543809500606964">"Da biste otkaÄili ovaj ekran, dodirnite i zadržite Nazad."</string>
<string name="lock_to_app_toast_locked" msgid="9125176335701699164">"Aplikacija je zakaÄena: otkaÄinjanje nije dozvoljeno na ovom ureÄ‘aju."</string>
<string name="lock_to_app_start" msgid="6643342070839862795">"Ekran je zakaÄen"</string>
<string name="lock_to_app_exit" msgid="8598219838213787430">"Ekran je otkaÄen"</string>
@@ -1491,8 +1583,9 @@
<string name="package_updated_device_owner" msgid="8856631322440187071">"Ažurirao je administrator"</string>
<string name="package_deleted_device_owner" msgid="7650577387493101353">"Izbrisao je vaš admiistrator"</string>
<string name="battery_saver_description" msgid="1960431123816253034">"Da bi produžila vreme trajanja baterije, uÅ¡teda baterije smanjuje performanse ureÄ‘aja i ograniÄava vibraciju, usluge lokacije i većinu pozadinskih podataka. Imejl, razmena poruka i druge aplikacije koje se oslanjaju na sinhronizaciju možda neće da se ažuriraju ako ih ne otvorite.\n\nUÅ¡teda baterije se automatski iskljuÄuje kada se ureÄ‘aj puni."</string>
- <!-- no translation found for data_saver_description (6015391409098303235) -->
- <skip />
+ <string name="data_saver_description" msgid="6015391409098303235">"Da bi se smanjila potroÅ¡nja podataka, UÅ¡teda podataka spreÄava neke aplikacije da Å¡alju ili primaju podatke u pozadini. Aplikacija koju trenutno koristite može da pristupa podacima, ali će to Äiniti reÄ‘e. Na primer, slike se neće prikazivati dok ih ne dodirnete."</string>
+ <string name="data_saver_enable_title" msgid="4674073932722787417">"UkljuÄiti UÅ¡tedu podataka?"</string>
+ <string name="data_saver_enable_button" msgid="7147735965247211818">"UkljuÄi"</string>
<plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848">
<item quantity="one">%1$d minut (do <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item>
<item quantity="few">%1$d minuta (do <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item>
@@ -1554,6 +1647,8 @@
<string name="stk_cc_ss_to_ussd" msgid="3951862188105305589">"SS zahtev je promenjen u USSD zahtev."</string>
<string name="stk_cc_ss_to_ss" msgid="5470768854991452695">"SS zahtev je promenjen u novi SS zahtev."</string>
<string name="notification_work_profile_content_description" msgid="4600554564103770764">"Profil za Work"</string>
+ <string name="expand_button_content_description" msgid="5855955413376384681">"Dugme Proširi"</string>
+ <string name="expand_action_accessibility" msgid="5307730695723718254">"ukljuÄite/iskljuÄite proÅ¡irenje"</string>
<string name="usb_midi_peripheral_name" msgid="7221113987741003817">"Android USB port za periferijske uređaje"</string>
<string name="usb_midi_peripheral_manufacturer_name" msgid="7176526170008970168">"Android"</string>
<string name="usb_midi_peripheral_product_name" msgid="4971827859165280403">"USB port za periferijske uređaje"</string>
@@ -1561,6 +1656,7 @@
<string name="floating_toolbar_close_overflow_description" msgid="559796923090723804">"Zatvori preklopni meni"</string>
<string name="maximize_button_text" msgid="7543285286182446254">"Uvećaj"</string>
<string name="close_button_text" msgid="3937902162644062866">"Zatvori"</string>
+ <string name="notification_messaging_title_template" msgid="3452480118762691020">"<xliff:g id="CONVERSATION_TITLE">%1$s</xliff:g>: <xliff:g id="SENDER_NAME">%2$s</xliff:g>"</string>
<plurals name="selected_count" formatted="false" msgid="7187339492915744615">
<item quantity="one">Izabrana je <xliff:g id="COUNT_1">%1$d</xliff:g> stavka</item>
<item quantity="few">Izabrane su <xliff:g id="COUNT_1">%1$d</xliff:g> stavke</item>
@@ -1592,6 +1688,16 @@
<string name="unpin_target" msgid="3556545602439143442">"OtkaÄi"</string>
<string name="app_info" msgid="6856026610594615344">"Informacije o aplikaciji"</string>
<string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
+ <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Želite li da resetujete uređaj?"</string>
+ <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Dodirnite da biste resetovali uređaj"</string>
+ <string name="demo_starting_message" msgid="5268556852031489931">"Pokrećemo demonstraciju..."</string>
+ <string name="demo_restarting_message" msgid="952118052531642451">"Resetujemo uređaj..."</string>
+ <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Želite li da resetujete uređaj?"</string>
+ <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Izgubićete sve promene i demonstracija će ponovo poÄeti za <xliff:g id="TIMEOUT">%1$s</xliff:g> sek…"</string>
+ <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Otkaži"</string>
+ <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Resetuj"</string>
<string name="audit_safemode_notification" msgid="6416076898350685856">"Resetujte ureÄ‘aj na fabriÄka podeÅ¡avanja da biste ga koristili bez ograniÄenja"</string>
<string name="audit_safemode_notification_details" msgid="1860601176690176413">"Dodirnite da biste saznali više."</string>
+ <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Vidžet <xliff:g id="LABEL">%1$s</xliff:g> je onemogućen"</string>
+ <string name="conference_call" msgid="3751093130790472426">"Konferencijski poziv"</string>
</resources>
diff --git a/core/res/res/values-be-rBY-watch/styles_material.xml b/core/res/res/values-be-rBY-watch/styles_material.xml
new file mode 100644
index 000000000000..36a459dc16a0
--- /dev/null
+++ b/core/res/res/values-be-rBY-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2016 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.
+ -->
+
+<!--
+===============================================================
+ PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+ PLEASE READ
+===============================================================
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-be-rBY/strings.xml b/core/res/res/values-be-rBY/strings.xml
index 2e82a72fd484..99eee2366889 100644
--- a/core/res/res/values-be-rBY/strings.xml
+++ b/core/res/res/values-be-rBY/strings.xml
@@ -23,7 +23,7 @@
<string name="byteShort" msgid="8340973892742019101">"B"</string>
<string name="kilobyteShort" msgid="5973789783504771878">"Кб"</string>
<string name="megabyteShort" msgid="6355851576770428922">"Мб"</string>
- <string name="gigabyteShort" msgid="3259882455212193214">"Гб"</string>
+ <string name="gigabyteShort" msgid="3259882455212193214">"ГБ"</string>
<string name="terabyteShort" msgid="231613018159186962">"Тб"</string>
<string name="petabyteShort" msgid="5637816680144990219">"Пб"</string>
<string name="fileSizeSuffix" msgid="8897567456150907538">"<xliff:g id="NUMBER">%1$s</xliff:g> <xliff:g id="UNIT">%2$s</xliff:g>"</string>
@@ -126,11 +126,15 @@
<string name="roamingTextSearching" msgid="8360141885972279963">"Пошук Ñлужбы"</string>
<string name="wfcRegErrorTitle" msgid="2301376280632110664">"Wi-Fi-Ñ‚ÑлефаніÑ"</string>
<string-array name="wfcOperatorErrorAlertMessages">
+ <item msgid="2254967670088539682">"Каб рабіць выклікі Ñ– адпраўлÑць паведамленні па Wi-Fi, Ñпачатку папраÑіце Ñвайго аператара наладзіць гÑту паÑлугу. Затым зноў уключыце Wi-Fi-Ñ‚Ñлефанію Ñž меню Ðалады."</item>
</string-array>
<string-array name="wfcOperatorErrorNotificationMessages">
+ <item msgid="6177300162212449033">"ЗарÑгіÑтруйцеÑÑ Ñž Ñвайго аператара"</item>
+ </string-array>
+ <string-array name="wfcSpnFormats">
+ <item msgid="6830082633573257149">"%s"</item>
+ <item msgid="4397097370387921767">"Wi-Fi-Ñ‚ÑÐ»ÐµÑ„Ð°Ð½Ñ–Ñ %s"</item>
</string-array>
- <string name="wfcSpnFormat" msgid="8211621332478306568">"%s"</string>
- <string name="wfcDataSpnFormat" msgid="1118052028767666883">"%s"</string>
<string name="wifi_calling_off_summary" msgid="8720659586041656098">"Выкл."</string>
<string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"ПрыÑрытÑÑ‚ Wi-Fi"</string>
<string name="wfc_mode_cellular_preferred_summary" msgid="5920549484600758786">"ПрыÑрытÑÑ‚ мабільнай Ñеткі"</string>
@@ -166,7 +170,12 @@
<string name="low_memory" product="watch" msgid="4415914910770005166">"Сховішча гадзінніка перапоўнена. Выдаліце Ð½ÐµÐºÐ°Ñ‚Ð¾Ñ€Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹, каб вызваліць меÑца."</string>
<string name="low_memory" product="tv" msgid="516619861191025923">"Сховішча Ñ‚Ñлевізара перапоўнена. Выдаліце Ð½ÐµÐºÐ°Ñ‚Ð¾Ñ€Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹, каб вызваліць меÑца."</string>
<string name="low_memory" product="default" msgid="3475999286680000541">"ПамÑць Ñ‚Ñлефона поўнаÑ. Выдаліце â€‹â€‹Ð½ÐµÐºÐ°Ñ‚Ð¾Ñ€Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹, каб вызваліць меÑца."</string>
- <!-- no translation found for ssl_ca_cert_warning (5106721205300213569) -->
+ <plurals name="ssl_ca_cert_warning" formatted="false" msgid="5106721205300213569">
+ <item quantity="one">УÑталÑваны цÑнтры Ñертыфікацыі</item>
+ <item quantity="few">УÑталÑваны цÑнтры Ñертыфікацыі</item>
+ <item quantity="many">УÑталÑваны цÑнтры Ñертыфікацыі</item>
+ <item quantity="other">УÑталÑваны цÑнтры Ñертыфікацыі</item>
+ </plurals>
<string name="ssl_ca_cert_noti_by_unknown" msgid="4475437862189850602">"ÐевÑÐ´Ð¾Ð¼Ð°Ñ Ñ‚Ñ€ÑцÑÑ Ð°Ñоба"</string>
<string name="ssl_ca_cert_noti_by_administrator" msgid="550758088185764312">"ÐдмініÑтратар вашага працоўнага профілю"</string>
<string name="ssl_ca_cert_noti_managed" msgid="4030263497686867141">"<xliff:g id="MANAGING_DOMAIN">%s</xliff:g>"</string>
@@ -202,7 +211,7 @@
<string name="shutdown_confirm_question" msgid="2906544768881136183">"Закрыць?"</string>
<string name="reboot_safemode_title" msgid="7054509914500140361">"Перазагрузка Ñž бÑÑпечным Ñ€Ñжыме"</string>
<string name="reboot_safemode_confirm" msgid="55293944502784668">"Хочаце перазагрузіцца Ñž бÑÑпечным Ñ€Ñжыме? ГÑта дазволіць адключыць уÑе Ñ–Ð½ÑˆÑ‹Ñ ÑžÑталÑÐ²Ð°Ð½Ñ‹Ñ Ð¿Ñ€Ñ‹ÐºÐ»Ð°Ð´Ð°Ð½Ð½Ñ–. ПаÑÐ»Ñ Ð¿ÐµÑ€Ð°Ð·Ð°Ð³Ñ€ÑƒÐ·Ðºi iÑ… праца будзе адноўлена."</string>
- <string name="recent_tasks_title" msgid="3691764623638127888">"ÐпошніÑ"</string>
+ <string name="recent_tasks_title" msgid="3691764623638127888">"ÐÑдаўніÑ"</string>
<string name="no_recent_tasks" msgid="8794906658732193473">"ÐÑма апошніх прыкладаннÑÑž."</string>
<string name="global_actions" product="tablet" msgid="408477140088053665">"Параметры планшÑта"</string>
<string name="global_actions" product="tv" msgid="7240386462508182976">"Параметры ТБ"</string>
@@ -213,9 +222,9 @@
<string name="bugreport_title" msgid="2667494803742548533">"Справаздача пра памылку"</string>
<string name="bugreport_message" msgid="398447048750350456">"Будзе збiрацца iÐ½Ñ„Ð°Ñ€Ð¼Ð°Ñ†Ñ‹Ñ Ð¿Ñ€Ð° бÑгучы Ñтан прылады, ÑÐºÐ°Ñ Ð±ÑƒÐ´Ð·Ðµ адпраўлÑцца на Ñлектронную пошту. СтварÑнне Ñправаздачы пра памылкi зойме некаторы чаÑ."</string>
<string name="bugreport_option_interactive_title" msgid="8635056131768862479">"ІнтÑÑ€Ð°ÐºÑ‚Ñ‹ÑžÐ½Ð°Ñ Ñправаздача"</string>
- <string name="bugreport_option_interactive_summary" msgid="8180152634022797629">"ВыкарыÑтоўвайце Ñž большаÑці выпадкаў. ГÑта дазвалÑе Ñачыць за ходам Ñправаздачы Ñ– ўводзіць Ð´Ð°Ð´Ð°Ñ‚ÐºÐ¾Ð²Ñ‹Ñ Ð·Ð²ÐµÑткі аб праблеме. Могуць быць прапушчаны Ð½ÐµÐºÐ°Ñ‚Ð¾Ñ€Ñ‹Ñ Ñ€Ð°Ð·Ð´Ð·ÐµÐ»Ñ‹, ÑÐºÑ–Ñ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтоўваюцца менш Ñ– паведаміць пра ÑÐºÑ–Ñ Ð·Ð¾Ð¹Ð¼Ðµ шмат чаÑу."</string>
+ <string name="bugreport_option_interactive_summary" msgid="229299488536107968">"ВыкарыÑтоўвайце Ñž большаÑці выпадкаў. ГÑта дазвалÑе Ñачыць за ходам Ñправаздачы, уводзіць Ð´Ð°Ð´Ð°Ñ‚ÐºÐ¾Ð²Ñ‹Ñ Ð·Ð²ÐµÑткі аб праблеме Ñ– рабіць здымкі Ñкрана. Могуць быць прапушчаны Ð½ÐµÐºÐ°Ñ‚Ð¾Ñ€Ñ‹Ñ Ñ€Ð°Ð·Ð´Ð·ÐµÐ»Ñ‹, ÑÐºÑ–Ñ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтоўваюцца менш Ñ– паведамленне пра ÑÐºÑ–Ñ Ð·Ð°Ð¹Ð¼Ð°Ðµ шмат чаÑу."</string>
<string name="bugreport_option_full_title" msgid="6354382025840076439">"ÐŸÐ¾ÑžÐ½Ð°Ñ Ñправаздача"</string>
- <string name="bugreport_option_full_summary" msgid="6687306111256813257">"ВыкарыÑтоўвайце гÑту опцыю, каб забÑÑпечыць мінімальнае ўмÑшанне ÑÑ–ÑÑ‚Ñмы, калі прылада не адказвае ці працуе занадта павольна або калі вам патрÑбны ÑžÑе раздзелы Ñправаздачы. ВыкарыÑтоўваючы гÑту опцыю, вы не зможаце зрабіць здымак Ñкрана або ўвеÑці больш падрабÑзную інфармацыю."</string>
+ <string name="bugreport_option_full_summary" msgid="7210859858969115745">"ВыкарыÑтоўвайце гÑту опцыю, каб забÑÑпечыць мінімальнае ўмÑшанне ÑÑ–ÑÑ‚Ñмы, калі прылада не адказвае ці працуе занадта павольна, або калі вам патрÑбны ÑžÑе раздзелы Ñправаздачы. ВыкарыÑтоўваючы гÑту опцыю, вы не зможаце ўвеÑці больш падрабÑзную інфармацыю або зрабіць Ð´Ð°Ð´Ð°Ñ‚ÐºÐ¾Ð²Ñ‹Ñ Ð·Ð´Ñ‹Ð¼ÐºÑ– Ñкрана."</string>
<plurals name="bugreport_countdown" formatted="false" msgid="6878900193900090368">
<item quantity="one">Здымак Ñкрана Ð´Ð»Ñ Ñправаздачы пра памылкі будзе зроблены праз <xliff:g id="NUMBER_1">%d</xliff:g> Ñекунду.</item>
<item quantity="few">Здымак Ñкрана Ð´Ð»Ñ Ñправаздачы пра памылкі будзе зроблены праз <xliff:g id="NUMBER_1">%d</xliff:g> Ñекунды.</item>
@@ -260,7 +269,7 @@
<string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Ðтрымайце змеÑцiва акна"</string>
<string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Вывучыце змеÑцiва акна, з Ñкiм вы працуеце."</string>
<string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Уключыце Explore by Touch"</string>
- <string name="capability_desc_canRequestTouchExploration" msgid="5800552516779249356">"Элемент, да ÑкiÑ… дакраналiÑÑ, могуць быць агучаны, а Ñкран будзе працаваць з жÑÑтамi."</string>
+ <string name="capability_desc_canRequestTouchExploration" msgid="7543249041581408313">"Элементы, да Ñкіх дакрануліÑÑ, будуць агучаны, а Ñкранам можна даÑледаваць пры дапамозе жÑÑтаў."</string>
<string name="capability_title_canRequestEnhancedWebAccessibility" msgid="1739881766522594073">"Уключыце палÑпшÑнне вÑб-даÑтупнаÑці"</string>
<string name="capability_desc_canRequestEnhancedWebAccessibility" msgid="7881063961507511765">"СцÑнарыi могуць быць уÑталÑваны, каб зрабіць змеÑцiва Ð¿Ñ€Ñ‹ÐºÐ»Ð°Ð´Ð°Ð½Ð½Ñ Ð±Ð¾Ð»ÑŒÑˆ даÑтупным."</string>
<string name="capability_title_canRequestFilterKeyEvents" msgid="2103440391902412174">"ГлÑдзiце, што набiраеце"</string>
@@ -521,12 +530,12 @@
<string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Сачыць за колькаÑцю нÑправільна набраных паролÑÑž Ð¿Ð°Ð´Ñ‡Ð°Ñ Ñ€Ð°Ð·Ð±Ð»Ð°ÐºÑ–Ñ€Ð¾ÑžÐºÑ– Ñкрана Ñ– блакіраваць Ñ‚Ñлефон або Ñцерці ÑžÑе Ð´Ð°Ð½Ñ‹Ñ Ð³Ñтага карыÑтальніка, калі нÑправільны пароль набраны занадта шмат разоў."</string>
<string name="policylab_resetPassword" msgid="4934707632423915395">"ЗмÑніць блакіроўку Ñкрана"</string>
<string name="policydesc_resetPassword" msgid="1278323891710619128">"ЗмÑніць блакіроўку Ñкрана."</string>
- <string name="policylab_forceLock" msgid="2274085384704248431">"Заблакаваць Ñкран"</string>
- <string name="policydesc_forceLock" msgid="1141797588403827138">"Кіраванне чаÑам Ñ– ÑпоÑабам Ð±Ð»Ð°ÐºÐ°Ð²Ð°Ð½Ð½Ñ Ñкрана"</string>
- <string name="policylab_wipeData" msgid="3910545446758639713">"Сцерці ÑžÑе дадзеныÑ"</string>
- <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Выдаліць Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ Ð· планшÑта без папÑÑ€ÑджаннÑ, выканаўшы Ñкід налад."</string>
+ <string name="policylab_forceLock" msgid="2274085384704248431">"Заблакіраваць Ñкран"</string>
+ <string name="policydesc_forceLock" msgid="1141797588403827138">"Кіраваць Ñк Ñ– калі блакіруецца Ñкран."</string>
+ <string name="policylab_wipeData" msgid="3910545446758639713">"Сцерці ÑžÑе даныÑ"</string>
+ <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Cцерці Ð´Ð°Ð½Ñ‹Ñ Ð· планшÑта без папÑÑ€ÑджаннÑ, выканаўшы Ñкід да заводÑкіх даных."</string>
<string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Сцерці Ð´Ð°Ð½Ñ‹Ñ Ð· Ñ‚Ñлевізара без папÑÑ€ÑджаннÑ, выканаўшы Ñкід да заводÑкіх налад."</string>
- <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Выдаліць Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ Ð· Ñ‚Ñлефона без папÑÑ€ÑджаннÑ, выканаўшы Ñкід налад."</string>
+ <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Сцерці Ð´Ð°Ð½Ñ‹Ñ Ð· Ñ‚Ñлефона без папÑÑ€ÑджаннÑ, выканаўшы Ñкід да заводÑкіх налад."</string>
<string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Сцерці карыÑÑ‚Ð°Ð»ÑŒÐ½Ñ–Ñ†ÐºÑ–Ñ Ð´Ð°Ð½Ñ‹Ñ"</string>
<string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Сцерці Ð´Ð°Ð½Ñ‹Ñ Ð³Ñтага карыÑтальніка на дадзеным планшÑце без папÑÑ€ÑджаннÑ."</string>
<string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Сцерці Ð´Ð°Ð½Ñ‹Ñ Ð³Ñтага карыÑтальніка на дадзеным Ñ‚Ñлевізары без папÑÑ€ÑджаннÑ."</string>
@@ -542,7 +551,7 @@
<string name="policylab_disableKeyguardFeatures" msgid="8552277871075367771">"Ðдкл.некат.функцыі блак.Ñкрана"</string>
<string name="policydesc_disableKeyguardFeatures" msgid="2044755691354158439">"Забараніць выкарыÑтанне некаторых функцый блакіроўкі Ñкрана."</string>
<string-array name="phoneTypes">
- <item msgid="8901098336658710359">"Ð“Ð°Ð»Ð¾ÑžÐ½Ð°Ñ Ñтаронка"</item>
+ <item msgid="8901098336658710359">"Хатні"</item>
<item msgid="869923650527136615">"Мабільны"</item>
<item msgid="7897544654242874543">"Працоўны"</item>
<item msgid="1103601433382158155">"Працоўны факÑ"</item>
@@ -585,7 +594,7 @@
<item msgid="1648797903785279353">"Jabber"</item>
</string-array>
<string name="phoneTypeCustom" msgid="1644738059053355820">"КарыÑтальніцкі"</string>
- <string name="phoneTypeHome" msgid="2570923463033985887">"Ð“Ð°Ð»Ð¾ÑžÐ½Ð°Ñ Ñтаронка"</string>
+ <string name="phoneTypeHome" msgid="2570923463033985887">"Хатні"</string>
<string name="phoneTypeMobile" msgid="6501463557754751037">"Мабільны"</string>
<string name="phoneTypeWork" msgid="8863939667059911633">"Працоўны"</string>
<string name="phoneTypeFaxWork" msgid="3517792160008890912">"Працоўны факÑ"</string>
@@ -593,7 +602,7 @@
<string name="phoneTypePager" msgid="7582359955394921732">"ПÑйджар"</string>
<string name="phoneTypeOther" msgid="1544425847868765990">"Іншы"</string>
<string name="phoneTypeCallback" msgid="2712175203065678206">"Зваротны выклік"</string>
- <string name="phoneTypeCar" msgid="8738360689616716982">"Машына"</string>
+ <string name="phoneTypeCar" msgid="8738360689616716982">"ТÑл. у машыне"</string>
<string name="phoneTypeCompanyMain" msgid="540434356461478916">"ÐÑноўны Ñ‚Ñлефон кампаніі"</string>
<string name="phoneTypeIsdn" msgid="8022453193171370337">"ISDN"</string>
<string name="phoneTypeMain" msgid="6766137010628326916">"Галоўны"</string>
@@ -610,16 +619,16 @@
<string name="eventTypeAnniversary" msgid="3876779744518284000">"Гадавіна"</string>
<string name="eventTypeOther" msgid="7388178939010143077">"Іншае"</string>
<string name="emailTypeCustom" msgid="8525960257804213846">"КарыÑтальніцкі"</string>
- <string name="emailTypeHome" msgid="449227236140433919">"Ð“Ð°Ð»Ð¾ÑžÐ½Ð°Ñ Ñтаронка"</string>
+ <string name="emailTypeHome" msgid="449227236140433919">"Хатні"</string>
<string name="emailTypeWork" msgid="3548058059601149973">"Працоўны"</string>
<string name="emailTypeOther" msgid="2923008695272639549">"Іншы"</string>
<string name="emailTypeMobile" msgid="119919005321166205">"Мабільны"</string>
<string name="postalTypeCustom" msgid="8903206903060479902">"КарыÑтальніцкі"</string>
- <string name="postalTypeHome" msgid="8165756977184483097">"Ð“Ð°Ð»Ð¾ÑžÐ½Ð°Ñ Ñтаронка"</string>
+ <string name="postalTypeHome" msgid="8165756977184483097">"Хатні"</string>
<string name="postalTypeWork" msgid="5268172772387694495">"Працоўны"</string>
<string name="postalTypeOther" msgid="2726111966623584341">"Іншы"</string>
<string name="imTypeCustom" msgid="2074028755527826046">"КарыÑтальніцкі"</string>
- <string name="imTypeHome" msgid="6241181032954263892">"Ð“Ð°Ð»Ð¾ÑžÐ½Ð°Ñ Ñтаронка"</string>
+ <string name="imTypeHome" msgid="6241181032954263892">"Хатні"</string>
<string name="imTypeWork" msgid="1371489290242433090">"Працоўны"</string>
<string name="imTypeOther" msgid="5377007495735915478">"Іншы"</string>
<string name="imProtocolCustom" msgid="6919453836618749992">"КарыÑтальніцкі"</string>
@@ -651,7 +660,7 @@
<string name="relationTypeSister" msgid="1735983554479076481">"СÑÑтра"</string>
<string name="relationTypeSpouse" msgid="394136939428698117">"Муж/жонка"</string>
<string name="sipAddressTypeCustom" msgid="2473580593111590945">"КарыÑтальніцкі"</string>
- <string name="sipAddressTypeHome" msgid="6093598181069359295">"Ð“Ð°Ð»Ð¾ÑžÐ½Ð°Ñ Ñтаронка"</string>
+ <string name="sipAddressTypeHome" msgid="6093598181069359295">"Хатні"</string>
<string name="sipAddressTypeWork" msgid="6920725730797099047">"Працоўны"</string>
<string name="sipAddressTypeOther" msgid="4408436162950119849">"Іншае"</string>
<string name="quick_contacts_not_available" msgid="746098007828579688">"ÐдÑутнічае праграма Ð´Ð»Ñ Ð¿Ñ€Ð°Ð³Ð»Ñду гÑтага кантакту."</string>
@@ -659,7 +668,7 @@
<string name="keyguard_password_enter_puk_code" msgid="4800725266925845333">"УвÑдзіце PUK-код Ñ– новы PIN-код"</string>
<string name="keyguard_password_enter_puk_prompt" msgid="1341112146710087048">"PUK"</string>
<string name="keyguard_password_enter_pin_prompt" msgid="8027680321614196258">"Ðовы PIN-код"</string>
- <string name="keyguard_password_entry_touch_hint" msgid="7858547464982981384"><font size="17">"ДакраніцеÑÑ, каб увеÑці пароль"</font></string>
+ <string name="keyguard_password_entry_touch_hint" msgid="2644215452200037944"><font size="17">"ДакраніцеÑÑ, каб увеÑці пароль"</font></string>
<string name="keyguard_password_enter_password_code" msgid="1054721668279049780">"УвÑдзіце пароль Ð´Ð»Ñ Ñ€Ð°Ð·Ð±Ð»Ð°ÐºÐ°Ð²Ð°Ð½Ð½Ñ"</string>
<string name="keyguard_password_enter_pin_password_code" msgid="6391755146112503443">"Каб разблакаваць, увÑдзіце PIN-код"</string>
<string name="keyguard_password_wrong_pin_code" msgid="2422225591006134936">"ÐÑправільны PIN-код."</string>
@@ -670,7 +679,7 @@
<string name="lockscreen_instructions_when_pattern_enabled" msgid="46154051614126049">"ÐаціÑніце \"Меню\", каб разблакаваць, або зрабіце ÑкÑтраны выклік."</string>
<string name="lockscreen_instructions_when_pattern_disabled" msgid="686260028797158364">"ÐаціÑніце \"Меню\", каб разблакаваць."</string>
<string name="lockscreen_pattern_instructions" msgid="7478703254964810302">"Ðамалюйце камбінацыю разблакоўкі, каб разблакаваць"</string>
- <string name="lockscreen_emergency_call" msgid="5298642613417801888">"ЭкÑÑ‚Ñ€Ð°Ð½Ð½Ð°Ñ ÑітуацыÑ"</string>
+ <string name="lockscreen_emergency_call" msgid="5298642613417801888">"SOS-выклік"</string>
<string name="lockscreen_return_to_call" msgid="5244259785500040021">"Ð’Ñрнуцца да выкліку"</string>
<string name="lockscreen_pattern_correct" msgid="9039008650362261237">"Правільна!"</string>
<string name="lockscreen_pattern_wrong" msgid="4317955014948108794">"ПаÑпрабуйце ÑÑˆÑ‡Ñ Ñ€Ð°Ð·"</string>
@@ -837,7 +846,7 @@
<string name="days" msgid="4774547661021344602">"д."</string>
<string name="hour" msgid="2126771916426189481">"гадзіна"</string>
<string name="hours" msgid="894424005266852993">"г."</string>
- <string name="minute" msgid="9148878657703769868">"хв."</string>
+ <string name="minute" msgid="9148878657703769868">"хв"</string>
<string name="minutes" msgid="5646001005827034509">"хв."</string>
<string name="second" msgid="3184235808021478">"Ñ."</string>
<string name="seconds" msgid="3161515347216589235">"Ñ."</string>
@@ -863,6 +872,103 @@
<item quantity="many"><xliff:g id="COUNT">%d</xliff:g> гадзін</item>
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> гадзіны</item>
</plurals>
+ <string name="now_string_shortest" msgid="8912796667087856402">"зараз"</string>
+ <plurals name="duration_minutes_shortest" formatted="false" msgid="3957499975064245495">
+ <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> хв</item>
+ <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> хв</item>
+ <item quantity="many"><xliff:g id="COUNT_1">%d</xliff:g> хв</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> хв</item>
+ </plurals>
+ <plurals name="duration_hours_shortest" formatted="false" msgid="3552182110578602356">
+ <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> гадз</item>
+ <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> гадз</item>
+ <item quantity="many"><xliff:g id="COUNT_1">%d</xliff:g> гадз</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> гадз</item>
+ </plurals>
+ <plurals name="duration_days_shortest" formatted="false" msgid="5213655532597081640">
+ <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> дз.</item>
+ <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> дні</item>
+ <item quantity="many"><xliff:g id="COUNT_1">%d</xliff:g> дз.</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> днÑ</item>
+ </plurals>
+ <plurals name="duration_years_shortest" formatted="false" msgid="7848711145196397042">
+ <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> г.</item>
+ <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> г.</item>
+ <item quantity="many"><xliff:g id="COUNT_1">%d</xliff:g> г.</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> г.</item>
+ </plurals>
+ <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
+ <item quantity="one">праз <xliff:g id="COUNT_1">%d</xliff:g> хв</item>
+ <item quantity="few">праз <xliff:g id="COUNT_1">%d</xliff:g> хв</item>
+ <item quantity="many">праз <xliff:g id="COUNT_1">%d</xliff:g> хв</item>
+ <item quantity="other">праз <xliff:g id="COUNT_1">%d</xliff:g> хв</item>
+ </plurals>
+ <plurals name="duration_hours_shortest_future" formatted="false" msgid="2152452368397489370">
+ <item quantity="one">праз <xliff:g id="COUNT_1">%d</xliff:g> гадз</item>
+ <item quantity="few">праз <xliff:g id="COUNT_1">%d</xliff:g> гадз</item>
+ <item quantity="many">праз <xliff:g id="COUNT_1">%d</xliff:g> гадз</item>
+ <item quantity="other">праз <xliff:g id="COUNT_1">%d</xliff:g> гадз</item>
+ </plurals>
+ <plurals name="duration_days_shortest_future" formatted="false" msgid="8088331502820295701">
+ <item quantity="one">праз <xliff:g id="COUNT_1">%d</xliff:g> дз.</item>
+ <item quantity="few">праз <xliff:g id="COUNT_1">%d</xliff:g> дні</item>
+ <item quantity="many">праз <xliff:g id="COUNT_1">%d</xliff:g> дз.</item>
+ <item quantity="other">праз <xliff:g id="COUNT_1">%d</xliff:g> днÑ</item>
+ </plurals>
+ <plurals name="duration_years_shortest_future" formatted="false" msgid="2317006667145250301">
+ <item quantity="one">праз <xliff:g id="COUNT_1">%d</xliff:g> г.</item>
+ <item quantity="few">праз <xliff:g id="COUNT_1">%d</xliff:g> г.</item>
+ <item quantity="many">праз <xliff:g id="COUNT_1">%d</xliff:g> г.</item>
+ <item quantity="other">праз <xliff:g id="COUNT_1">%d</xliff:g> г.</item>
+ </plurals>
+ <plurals name="duration_minutes_relative" formatted="false" msgid="3178131706192980192">
+ <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> хвіліну таму</item>
+ <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> хвіліны таму</item>
+ <item quantity="many"><xliff:g id="COUNT_1">%d</xliff:g> хвілін таму</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> хвіліны таму</item>
+ </plurals>
+ <plurals name="duration_hours_relative" formatted="false" msgid="676894109982008411">
+ <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> гадзіну таму</item>
+ <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> гадзіны таму</item>
+ <item quantity="many"><xliff:g id="COUNT_1">%d</xliff:g> гадзін таму</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> гадзіны таму</item>
+ </plurals>
+ <plurals name="duration_days_relative" formatted="false" msgid="2203515825765397130">
+ <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> дзень таму</item>
+ <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> дні таму</item>
+ <item quantity="many"><xliff:g id="COUNT_1">%d</xliff:g> дзён таму</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> Ð´Ð½Ñ Ñ‚Ð°Ð¼Ñƒ</item>
+ </plurals>
+ <plurals name="duration_years_relative" formatted="false" msgid="4820062134188885734">
+ <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> год таму</item>
+ <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> гады таму</item>
+ <item quantity="many"><xliff:g id="COUNT_1">%d</xliff:g> гадоў таму</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> года таму</item>
+ </plurals>
+ <plurals name="duration_minutes_relative_future" formatted="false" msgid="4655043589817680966">
+ <item quantity="one">праз <xliff:g id="COUNT_1">%d</xliff:g> хвіліну</item>
+ <item quantity="few">праз <xliff:g id="COUNT_1">%d</xliff:g> хвіліны</item>
+ <item quantity="many">праз <xliff:g id="COUNT_1">%d</xliff:g> хвілін</item>
+ <item quantity="other">праз <xliff:g id="COUNT_1">%d</xliff:g> хвіліны</item>
+ </plurals>
+ <plurals name="duration_hours_relative_future" formatted="false" msgid="8084579714205223891">
+ <item quantity="one">праз <xliff:g id="COUNT_1">%d</xliff:g> гадзіну</item>
+ <item quantity="few">праз <xliff:g id="COUNT_1">%d</xliff:g> гадзіны</item>
+ <item quantity="many">праз <xliff:g id="COUNT_1">%d</xliff:g> гадзін</item>
+ <item quantity="other">праз <xliff:g id="COUNT_1">%d</xliff:g> гадзіны</item>
+ </plurals>
+ <plurals name="duration_days_relative_future" formatted="false" msgid="333215369363433992">
+ <item quantity="one">праз <xliff:g id="COUNT_1">%d</xliff:g> дзень</item>
+ <item quantity="few">праз <xliff:g id="COUNT_1">%d</xliff:g> дні</item>
+ <item quantity="many">праз <xliff:g id="COUNT_1">%d</xliff:g> дзён</item>
+ <item quantity="other">праз <xliff:g id="COUNT_1">%d</xliff:g> днÑ</item>
+ </plurals>
+ <plurals name="duration_years_relative_future" formatted="false" msgid="8644862986413104011">
+ <item quantity="one">праз <xliff:g id="COUNT_1">%d</xliff:g> год</item>
+ <item quantity="few">праз <xliff:g id="COUNT_1">%d</xliff:g> гады</item>
+ <item quantity="many">праз <xliff:g id="COUNT_1">%d</xliff:g> гадоў</item>
+ <item quantity="other">праз <xliff:g id="COUNT_1">%d</xliff:g> года</item>
+ </plurals>
<string name="VideoView_error_title" msgid="3534509135438353077">"Праблема з відÑа"</string>
<string name="VideoView_error_text_invalid_progressive_playback" msgid="3186670335938670444">"ВідÑа не падыходзіць Ð´Ð»Ñ Ð¿Ð°Ñ‚Ð¾ÐºÐ°Ð²Ð°Ð¹ перадачы на ​​гÑту прыладу."</string>
<string name="VideoView_error_text_unknown" msgid="3450439155187810085">"Ðемагчыма прайграць гÑта відÑа."</string>
@@ -894,15 +1000,15 @@
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"ÐÐµÐºÐ°Ñ‚Ð¾Ñ€Ñ‹Ñ ÑÑ–ÑÑ‚ÑÐ¼Ð½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– могуць не працаваць"</string>
<string name="low_internal_storage_view_text_no_boot" msgid="6935190099204693424">"Ðе хапае Ñховішча Ð´Ð»Ñ ÑÑ–ÑÑ‚Ñмы. ПераканайцеÑÑ, што Ñž Ð²Ð°Ñ Ñ‘Ñць 250 МБ Ñвабоднага меÑца, Ñ– перазапуÑціце."</string>
<string name="app_running_notification_title" msgid="8718335121060787914">"Прыкладанне <xliff:g id="APP_NAME">%1$s</xliff:g> працуе"</string>
- <string name="app_running_notification_text" msgid="4653586947747330058">"ÐаціÑніце, каб атрымаць дадатковую інфармацыю або Ñпыніць праграму."</string>
+ <string name="app_running_notification_text" msgid="1197581823314971177">"ДакраніцеÑÑ, каб атрымаць дадатковую інфармацыю або Ñпыніць праграму."</string>
<string name="ok" msgid="5970060430562524910">"ОК"</string>
- <string name="cancel" msgid="6442560571259935130">"ÐдмÑніць"</string>
+ <string name="cancel" msgid="6442560571259935130">"СкаÑаваць"</string>
<string name="yes" msgid="5362982303337969312">"ОК"</string>
- <string name="no" msgid="5141531044935541497">"ÐдмÑніць"</string>
+ <string name="no" msgid="5141531044935541497">"СкаÑаваць"</string>
<string name="dialog_alert_title" msgid="2049658708609043103">"Увага"</string>
<string name="loading" msgid="7933681260296021180">"Загрузка..."</string>
<string name="capital_on" msgid="1544682755514494298">"Уключыць"</string>
- <string name="capital_off" msgid="6815870386972805832">"Ðдключана"</string>
+ <string name="capital_off" msgid="6815870386972805832">"Выключана"</string>
<string name="whichApplication" msgid="4533185947064773386">"ЗавÑршыць дзеÑнне з дапамогай"</string>
<string name="whichApplicationNamed" msgid="8260158865936942783">"ЗавÑршыць дзеÑнне з дапамогай %1$s"</string>
<string name="whichApplicationLabel" msgid="7425855495383818784">"ЗавÑршыць дзеÑнне"</string>
@@ -920,10 +1026,10 @@
<string name="whichSendToApplicationLabel" msgid="8878962419005813500">"Ðдправiць"</string>
<string name="whichHomeApplication" msgid="4307587691506919691">"Выберыце праграму Галоўнай Ñтаронкі"</string>
<string name="whichHomeApplicationNamed" msgid="4493438593214760979">"ВыкарыÑтоўваць %1$s у ÑкаÑці праграмы Галоўнай Ñтаронкі"</string>
- <string name="whichHomeApplicationLabel" msgid="809529747002918649">"ЗнÑць выÑву"</string>
- <string name="whichImageCaptureApplication" msgid="3680261417470652882">"Здымаць выÑвы з дапамогай"</string>
- <string name="whichImageCaptureApplicationNamed" msgid="8619384150737825003">"Здымаць выÑвы з дапамогай %1$s"</string>
- <string name="whichImageCaptureApplicationLabel" msgid="6390303445371527066">"ЗнÑць выÑву"</string>
+ <string name="whichHomeApplicationLabel" msgid="809529747002918649">"Зрабіць здымак"</string>
+ <string name="whichImageCaptureApplication" msgid="3680261417470652882">"Зрабіць здымак з дапамогай"</string>
+ <string name="whichImageCaptureApplicationNamed" msgid="8619384150737825003">"Зрабіць здымак з дапамогай %1$s"</string>
+ <string name="whichImageCaptureApplicationLabel" msgid="6390303445371527066">"Зрабіць здымак"</string>
<string name="alwaysUse" msgid="4583018368000610438">"ВыкарыÑтоўваць па змаўчанні Ð´Ð»Ñ Ð³Ñтага дзеÑннÑ."</string>
<string name="use_a_different_app" msgid="8134926230585710243">"ВыкарыÑтоўваць іншую праграму"</string>
<string name="clearDefaultHintMsg" msgid="3252584689512077257">"ÐчыÑціць па змаўчанні Ñž раздзеле \"Ðалады ÑÑ–ÑÑ‚Ñмы &gt; Прыкладанні &gt; СпампаваныÑ\"."</string>
@@ -934,8 +1040,7 @@
<string name="aerr_process" msgid="6201597323218674729">"ПрацÑÑ <xliff:g id="PROCESS">%1$s</xliff:g> ÑпыніўÑÑ"</string>
<string name="aerr_application_repeated" msgid="3146328699537439573">"<xliff:g id="APPLICATION">%1$s</xliff:g> шматразова ÑпынÑе працу"</string>
<string name="aerr_process_repeated" msgid="6235302956890402259">"<xliff:g id="PROCESS">%1$s</xliff:g> шматразова ÑпынÑе працу"</string>
- <string name="aerr_restart" msgid="9001379185665886595">"ПеразапуÑціць праграму"</string>
- <string name="aerr_reset" msgid="7645427603514220451">"Скінуць Ñ– перазапуÑціць праграму"</string>
+ <string name="aerr_restart" msgid="7581308074153624475">"Ðдкрыць праграму зноў"</string>
<string name="aerr_report" msgid="5371800241488400617">"Ðдправіць водгук"</string>
<string name="aerr_close" msgid="2991640326563991340">"Закрыць"</string>
<string name="aerr_mute" msgid="1974781923723235953">"Ðдключыць гук да перазагрузкі прылады"</string>
@@ -956,17 +1061,22 @@
<string name="screen_compat_mode_scale" msgid="3202955667675944499">"Шкала"</string>
<string name="screen_compat_mode_show" msgid="4013878876486655892">"ЗаўÑёды паказваць"</string>
<string name="screen_compat_mode_hint" msgid="1064524084543304459">"Зноў уключыце гÑта Ñž раздзеле \"СіÑÑ‚ÑÐ¼Ð½Ñ‹Ñ Ð½Ð°Ð»Ð°Ð´Ñ‹ &gt; Прыкладанні &gt; СпампаваныÑ\"."</string>
+ <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> не падтрымлівае бÑгучую наладу Памеру дыÑплÑÑ Ñ– можа паводзіць ÑÑбе непрадказальным чынам."</string>
+ <string name="unsupported_display_size_show" msgid="7969129195360353041">"ЗаўÑёды паказваць"</string>
<string name="smv_application" msgid="3307209192155442829">"Прыкладанне <xliff:g id="APPLICATION">%1$s</xliff:g> (працÑÑ <xliff:g id="PROCESS">%2$s</xliff:g>) парушыла ўлаÑную палітыку StrictMode."</string>
<string name="smv_process" msgid="5120397012047462446">"ПрацÑÑ <xliff:g id="PROCESS">%1$s</xliff:g> парушыў улаÑную палітыку StrictMode."</string>
<string name="android_upgrading_title" msgid="1584192285441405746">"Ðбнаўленне Android..."</string>
<string name="android_start_title" msgid="8418054686415318207">"Android запуÑкаецца..."</string>
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"ÐÐ¿Ñ‚Ñ‹Ð¼Ñ–Ð·Ð°Ñ†Ñ‹Ñ Ñховішча."</string>
+ <string name="android_upgrading_notification_title" msgid="1619393112444671028">"Ðбнаўленне Android"</string>
+ <string name="android_upgrading_notification_body" msgid="5761201379457064286">"ПÑÑžÐ½Ñ‹Ñ Ð¿Ñ€Ð°Ð³Ñ€Ð°Ð¼Ñ‹ могуць не працаваць належным чынам, пакуль не Ñкончыцца абнаўленне"</string>
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> абнаўлÑецца…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"ÐÐ¿Ñ‚Ñ‹Ð¼Ñ–Ð·Ð°Ñ†Ñ‹Ñ Ð¿Ñ€Ñ‹ÐºÐ»Ð°Ð´Ð°Ð½Ð½Ñ <xliff:g id="NUMBER_0">%1$d</xliff:g> з <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Падрыхтоўка <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"ЗапуÑк прыкладаннÑÑž."</string>
<string name="android_upgrading_complete" msgid="1405954754112999229">"ЗавÑршÑнне загрузкі."</string>
<string name="heavy_weight_notification" msgid="9087063985776626166">"Прыкладанне \"<xliff:g id="APP">%1$s</xliff:g>\" запушчанае"</string>
- <string name="heavy_weight_notification_detail" msgid="1721681741617898865">"ÐаціÑніце, каб перайÑці да прыкладаннÑ"</string>
+ <string name="heavy_weight_notification_detail" msgid="867643381388543170">"ДакраніцеÑÑ, каб пераключыцца на праграму"</string>
<string name="heavy_weight_switcher_title" msgid="7153167085403298169">"Пераключыць прыкладанні?"</string>
<string name="heavy_weight_switcher_text" msgid="7022631924534406403">"Ужо запушчана іншае прыкладанне, Ñкое павінна быць Ñпынена перад запуÑкам новага."</string>
<string name="old_app_action" msgid="493129172238566282">"Ð’Ñрнуцца да <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
@@ -974,7 +1084,7 @@
<string name="new_app_action" msgid="5472756926945440706">"ЗапуÑціць <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
<string name="new_app_description" msgid="1932143598371537340">"Спыніць ÑÑ‚Ð°Ñ€Ñ‹Ñ Ð¿Ñ€Ñ‹ÐºÐ»Ð°Ð´Ð°Ð½Ð½Ñ– без захаваннÑ."</string>
<string name="dump_heap_notification" msgid="2618183274836056542">"ПрацÑÑ <xliff:g id="PROC">%1$s</xliff:g> перавыÑÑ–Ñž ліміт памÑці"</string>
- <string name="dump_heap_notification_detail" msgid="2075673362317481664">"Быў Ñабраны дамп кучы; дакраніцеÑÑ, каб абагуліць"</string>
+ <string name="dump_heap_notification_detail" msgid="6901391084243999274">"Быў Ñабраны дамп кучы; дакраніцеÑÑ, каб абагуліць"</string>
<string name="dump_heap_title" msgid="5864292264307651673">"Ðбагуліць дамп дынамічнай воблаÑці?"</string>
<string name="dump_heap_text" msgid="4809417337240334941">"ПрацÑÑ <xliff:g id="PROC">%1$s</xliff:g> перавыÑÑ–Ñž ліміт памÑці працÑÑу <xliff:g id="SIZE">%2$s</xliff:g>. Дамп дынамічнай воблаÑці даÑтупны Ð´Ð»Ñ Ð²Ð°Ñ, вы можаце абагуліць Ñго з раÑпрацоўшчыкам. Будзьце аÑцÑрожныÑ: гÑты дамп дынамічнай воблаÑці можа ўтрымліваць аÑабіÑтую інфармацыю, да Ñкой маюць доÑтуп праграмы."</string>
<string name="sendText" msgid="5209874571959469142">"Выберыце дзеÑнне Ð´Ð»Ñ Ñ‚ÑкÑта"</string>
@@ -992,8 +1102,8 @@
<string name="volume_icon_description_incall" msgid="8890073218154543397">"ГучнаÑць выкліка"</string>
<string name="volume_icon_description_media" msgid="4217311719665194215">"ГучнаÑць прайгравальніка"</string>
<string name="volume_icon_description_notification" msgid="7044986546477282274">"ГучнаÑць апавÑшчÑннÑÑž"</string>
- <string name="ringtone_default" msgid="3789758980357696936">"Рынгтон па змаўчаннi"</string>
- <string name="ringtone_default_with_actual" msgid="8129563480895990372">"Рынгтон па змаўчаннi (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_default" msgid="3789758980357696936">"Стандартны рынгтон"</string>
+ <string name="ringtone_default_with_actual" msgid="8129563480895990372">"Стандартны рынгтон (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string>
<string name="ringtone_silent" msgid="7937634392408977062">"ÐÑма"</string>
<string name="ringtone_picker_title" msgid="3515143939175119094">"Рынгтоны"</string>
<string name="ringtone_unknown" msgid="5477919988701784788">"ÐевÑдомы рынгтон"</string>
@@ -1014,7 +1124,7 @@
<!-- no translation found for network_available_sign_in_detailed (8000081941447976118) -->
<skip />
<string name="wifi_no_internet" msgid="8451173622563841546">"У Wi-Fi нÑма доÑтупу да ІнтÑрнÑту"</string>
- <string name="wifi_no_internet_detailed" msgid="7593858887662270131">"ДакраніцеÑÑ, каб убачыць параметры"</string>
+ <string name="wifi_no_internet_detailed" msgid="8083079241212301741">"ДакраніцеÑÑ, каб убачыць параметры"</string>
<string name="wifi_watchdog_network_disabled" msgid="7904214231651546347">"Ðемагчыма падключыцца да Wi-Fi"</string>
<string name="wifi_watchdog_network_disabled_detailed" msgid="5548780776418332675">" дрÑннае падключÑнне да ІнтÑрнÑту."</string>
<string name="wifi_connect_alert_title" msgid="8455846016001810172">"Дазволіць падключÑнне?"</string>
@@ -1024,7 +1134,7 @@
<string name="wifi_p2p_turnon_message" msgid="2909250942299627244">"Пачаць работу Wi-Fi Direct. ГÑта адключыць кліента або кропку доÑтупу Wi-Fi."</string>
<string name="wifi_p2p_failed_message" msgid="3763669677935623084">"Ðемагчыма запуÑціць Wi-Fi Direct."</string>
<string name="wifi_p2p_enabled_notification_title" msgid="2068321881673734886">"Wi-Fi Direct уключаны"</string>
- <string name="wifi_p2p_enabled_notification_message" msgid="1638949953993894335">"ДакраніцеÑÑ, каб наладзіць"</string>
+ <string name="wifi_p2p_enabled_notification_message" msgid="8064677407830620023">"ДакраніцеÑÑ, каб убачыць налады"</string>
<string name="accept" msgid="1645267259272829559">"ПрынÑць"</string>
<string name="decline" msgid="2112225451706137894">"Ðдхіліць"</string>
<string name="wifi_p2p_invitation_sent_title" msgid="1318975185112070734">"ЗапрашÑнне адпраўлена"</string>
@@ -1040,12 +1150,12 @@
<string name="sms_control_title" msgid="7296612781128917719">"Ðдпраўка SMS"</string>
<string name="sms_control_message" msgid="3867899169651496433">"Прыкладанне &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; даÑылае вÑлікую колькаÑць SMS-паведамленнÑÑž. Дазволіць гÑтаму прыкладанню працÑгваць адпраўлÑць паведамленні?"</string>
<string name="sms_control_yes" msgid="3663725993855816807">"Дазволіць"</string>
- <string name="sms_control_no" msgid="625438561395534982">"Забараніць"</string>
+ <string name="sms_control_no" msgid="625438561395534982">"Ðдмовіць"</string>
<string name="sms_short_code_confirm_message" msgid="1645436466285310855">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; хоча адправiць паведамленне на Ð°Ð´Ñ€Ð°Ñ &lt;b&gt;<xliff:g id="DEST_ADDRESS">%2$s</xliff:g>&lt;/b&gt;."</string>
<string name="sms_short_code_details" msgid="5873295990846059400">"ГÑта "<b>"можа прывеÑці да ÑÐ¿Ð°Ð³Ð½Ð°Ð½Ð½Ñ Ð°Ð¿Ð»Ð°Ñ‚Ñ‹"</b>" з рахунку вашага мабільнага Ñ‚Ñлефона."</string>
<string name="sms_premium_short_code_details" msgid="7869234868023975"><b>"ГÑта прывÑдзе да ÑÐ¿Ð°Ð³Ð½Ð°Ð½Ð½Ñ Ð°Ð¿Ð»Ð°Ñ‚Ñ‹ з рахунку вашага мабільнага Ñ‚Ñлефона."</b></string>
<string name="sms_short_code_confirm_allow" msgid="4458878637111023413">"Ðдправiць"</string>
- <string name="sms_short_code_confirm_deny" msgid="2927389840209170706">"Ðдмена"</string>
+ <string name="sms_short_code_confirm_deny" msgid="2927389840209170706">"СкаÑаваць"</string>
<string name="sms_short_code_remember_choice" msgid="5289538592272218136">"Захаваць мой выбар"</string>
<string name="sms_short_code_remember_undo_instruction" msgid="4960944133052287484">"Пазней гÑта можна змÑнiць у раздзеле \"Ðалады &gt; Прыкладаннi\""</string>
<string name="sms_short_code_confirm_always_allow" msgid="3241181154869493368">"ЗаўÑёды дазвалÑць"</string>
@@ -1061,8 +1171,8 @@
<string name="carrier_app_dialog_not_now" msgid="6361378684292268027">"ÐЕ ЗÐРÐЗ"</string>
<string name="carrier_app_notification_title" msgid="8921767385872554621">"УÑтаўлена Ð½Ð¾Ð²Ð°Ñ SIM-карта"</string>
<string name="carrier_app_notification_text" msgid="1132487343346050225">"Краніце, каб наладзіць"</string>
- <string name="time_picker_dialog_title" msgid="8349362623068819295">"УÑталÑваць чаÑ"</string>
- <string name="date_picker_dialog_title" msgid="5879450659453782278">"УÑталÑваць дату"</string>
+ <string name="time_picker_dialog_title" msgid="8349362623068819295">"Задаць чаÑ"</string>
+ <string name="date_picker_dialog_title" msgid="5879450659453782278">"Задаць дату"</string>
<string name="date_time_set" msgid="5777075614321087758">"Задаць"</string>
<string name="date_time_done" msgid="2507683751759308828">"Гатова"</string>
<string name="perms_new_perm_prefix" msgid="8257740710754301407"><font size="12" fgcolor="#ff33b5e5">"ÐОВÐЕ: "</font></string>
@@ -1070,15 +1180,15 @@
<string name="no_permissions" msgid="7283357728219338112">"Дазволу не патрабуецца"</string>
<string name="perm_costs_money" msgid="4902470324142151116">"за гÑта можа ÑпаганÑцца плата"</string>
<string name="dlg_ok" msgid="7376953167039865701">"ОК"</string>
- <string name="usb_charging_notification_title" msgid="6895185153353640787">"Па USB зараджаецца гÑта прыладу"</string>
+ <string name="usb_charging_notification_title" msgid="6895185153353640787">"Праз USB зараджаецца гÑта прылада"</string>
<string name="usb_supplying_notification_title" msgid="5310642257296510271">"Па USB падачецца Ñілкаванне падключанай прыладзе"</string>
<string name="usb_mtp_notification_title" msgid="8396264943589760855">"USB Ð´Ð»Ñ Ð¿ÐµÑ€Ð°Ð´Ð°Ñ‡Ñ‹ файлаў"</string>
<string name="usb_ptp_notification_title" msgid="1347328437083192112">"USB Ð´Ð»Ñ Ð¿ÐµÑ€Ð°Ð´Ð°Ñ‡Ñ‹ фота"</string>
<string name="usb_midi_notification_title" msgid="4850904915889144654">"USB Ð´Ð»Ñ MIDI"</string>
<string name="usb_accessory_notification_title" msgid="7848236974087653666">"Падключаны да USB-прылады"</string>
- <string name="usb_notification_message" msgid="7347368030849048437">"ДакраніцеÑÑ, каб атрымаць больш параметраў."</string>
- <string name="adb_active_notification_title" msgid="6729044778949189918">"Прылада адладкі USB падключана"</string>
- <string name="adb_active_notification_message" msgid="1016654627626476142">"ÐаціÑніце, каб адключыць адладку USB."</string>
+ <string name="usb_notification_message" msgid="3370903770828407960">"ДакраніцеÑÑ, каб атрымаць Ñ–Ð½ÑˆÑ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹."</string>
+ <string name="adb_active_notification_title" msgid="6729044778949189918">"Ðдладка па USB падключана"</string>
+ <string name="adb_active_notification_message" msgid="4948470599328424059">"ДакраніцеÑÑ, каб адключыць адладку па USB."</string>
<string name="taking_remote_bugreport_notification_title" msgid="6742483073875060934">"СтварÑнне Ñправаздачы пра памылку…"</string>
<string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"ПадзÑліцца Ñправаздачай пра памылку?"</string>
<string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Перадача Ñправаздачы пра памылку..."</string>
@@ -1098,9 +1208,9 @@
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Ð’Ñ‹Ñўлены новы ноÑьбіт <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_ready_notification_message" msgid="4083398150380114462">"Ð”Ð»Ñ Ð¿ÐµÑ€Ð°Ð´Ð°Ñ‡Ñ‹ фатаграфій Ñ– медыÑфайлаў"</string>
<string name="ext_media_unmountable_notification_title" msgid="8295123366236989588">"Пашкоджаны ноÑьбіт <xliff:g id="NAME">%s</xliff:g>"</string>
- <string name="ext_media_unmountable_notification_message" msgid="1586311304430052169">"ÐоÑьбіт <xliff:g id="NAME">%s</xliff:g> пашкоджаны. ДакраніцеÑÑ, каб выправіць."</string>
+ <string name="ext_media_unmountable_notification_message" msgid="2343202057122495773">"ÐоÑьбіт <xliff:g id="NAME">%s</xliff:g> пашкоджаны. ДакраніцеÑÑ, каб выправіць."</string>
<string name="ext_media_unsupported_notification_title" msgid="3797642322958803257">"<xliff:g id="NAME">%s</xliff:g> не падтрымліваецца"</string>
- <string name="ext_media_unsupported_notification_message" msgid="8789610369456474891">"ГÑта прылада не падтрымлівае ноÑьбіт <xliff:g id="NAME">%s</xliff:g>. ДакраніцеÑÑ, каб наладзіць Ñго Ñž фармаце, Ñкі падтрымліваецца."</string>
+ <string name="ext_media_unsupported_notification_message" msgid="6121601473787888589">"ГÑта прылада не падтрымлівае ноÑьбіт <xliff:g id="NAME">%s</xliff:g>. ДакраніцеÑÑ, каб наладзіць Ñго Ñž фармаце, Ñкі падтрымліваецца."</string>
<string name="ext_media_badremoval_notification_title" msgid="3206248947375505416">"ÐоÑьбіт <xliff:g id="NAME">%s</xliff:g> нечакана вынÑты"</string>
<string name="ext_media_badremoval_notification_message" msgid="380176703346946313">"Ðдключыце ноÑьбіт <xliff:g id="NAME">%s</xliff:g>, перш чым вымаць Ñго, каб пазбегнуць Ñтраты даных."</string>
<string name="ext_media_nomedia_notification_title" msgid="1704840188641749091">"ÐоÑьбіт <xliff:g id="NAME">%s</xliff:g> выдалены"</string>
@@ -1136,7 +1246,7 @@
<string name="permdesc_readInstallSessions" msgid="2049771699626019849">"ДазвалÑе праграме Ñчытваць ÑеанÑÑ‹ ÑžÑталёўкі. ГÑта дазвалÑе ёй праглÑдаць інфармацыю аб актыўных уÑталёўках пакета."</string>
<string name="permlab_requestInstallPackages" msgid="5782013576218172577">"запытваць уÑталёўку пакетаў"</string>
<string name="permdesc_requestInstallPackages" msgid="5740101072486783082">"ДазвалÑе праграме запытваць уÑталёўку пакетаў."</string>
- <string name="tutorial_double_tap_to_zoom_message_short" msgid="4070433208160063538">"Двойчы дакраніцеÑÑ, каб змÑнiць маштаб"</string>
+ <string name="tutorial_double_tap_to_zoom_message_short" msgid="1311810005957319690">"ÐаціÑніце двойчы, каб кіраваць маштабаваннем"</string>
<string name="gadget_host_error_inflating" msgid="4882004314906466162">"Ðемагчыма дадаць віджÑÑ‚."</string>
<string name="ime_action_go" msgid="8320845651737369027">"Пачаць"</string>
<string name="ime_action_search" msgid="658110271822807811">"Пошук"</string>
@@ -1151,7 +1261,7 @@
<string name="grant_credentials_permission_message_footer" msgid="3125211343379376561">"Дазволіць гÑты запыт?"</string>
<string name="grant_permissions_header_text" msgid="6874497408201826708">"Запыт на доÑтуп"</string>
<string name="allow" msgid="7225948811296386551">"Дазволіць"</string>
- <string name="deny" msgid="2081879885755434506">"Забараніць"</string>
+ <string name="deny" msgid="2081879885755434506">"Ðдмовіць"</string>
<string name="permission_request_notification_title" msgid="6486759795926237907">"Дазвол запытаны"</string>
<string name="permission_request_notification_with_subtitle" msgid="8530393139639560189">"Запытаны дазвол\nÐ´Ð»Ñ ÑžÐ»Ñ–ÐºÐ¾Ð²Ð°Ð³Ð° запіÑу <xliff:g id="ACCOUNT">%s</xliff:g>"</string>
<string name="forward_intent_to_owner" msgid="1207197447013960896">"Ð’Ñ‹ выкарыÑтоўваеце гÑту праграму па-за межамі Ñвайго працоўнага профілю"</string>
@@ -1167,20 +1277,20 @@
<string name="notification_ranker_binding_label" msgid="774540592299064747">"Служба ацÑнкі важнаÑці апавÑшчÑннÑÑž"</string>
<string name="vpn_title" msgid="19615213552042827">"VPN актываваны"</string>
<string name="vpn_title_long" msgid="6400714798049252294">"VPN актывуецца прыкладаннем <xliff:g id="APP">%s</xliff:g>"</string>
- <string name="vpn_text" msgid="3011306607126450322">"ДакраніцеÑÑ, каб кіраваць Ñеткай."</string>
- <string name="vpn_text_long" msgid="6407351006249174473">"Падлучаны да ÑеанÑа \"<xliff:g id="SESSION">%s</xliff:g>\". ДакраніцеÑÑ, каб кiраваць Ñеткай."</string>
+ <string name="vpn_text" msgid="1610714069627824309">"ÐаціÑніце, каб кіраваць Ñеткай."</string>
+ <string name="vpn_text_long" msgid="4907843483284977618">"Падлучаны да <xliff:g id="SESSION">%s</xliff:g>. ÐаціÑніце, каб кiраваць Ñеткай."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"ПадключÑнне заўÑёды ўключанага VPN..."</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"ЗаўÑёды ўключаны i падключаны VPN"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Памылка заўÑёды ўключанага VPN"</string>
- <string name="vpn_lockdown_config" msgid="6415899150671537970">"ÐаціÑніце, каб змÑніць налады"</string>
+ <string name="vpn_lockdown_config" msgid="4655589351146766608">"ДакраніцеÑÑ, каб Ñканфігураваць"</string>
<string name="upload_file" msgid="2897957172366730416">"Выберыце файл"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Файл не выбраны"</string>
<string name="reset" msgid="2448168080964209908">"Скінуць"</string>
<string name="submit" msgid="1602335572089911941">"Перадаць"</string>
<string name="car_mode_disable_notification_title" msgid="3164768212003864316">"РÑжым \"У машыне\" ўключаны"</string>
- <string name="car_mode_disable_notification_message" msgid="8035230537563503262">"ДакраніцеÑÑ, каб выйÑці з Ñ€Ñжыму \"Штурман\"."</string>
+ <string name="car_mode_disable_notification_message" msgid="6301524980144350051">"ДакраніцеÑÑ, каб выйÑці з Ñ€Ñжыму \"У машыне\"."</string>
<string name="tethered_notification_title" msgid="3146694234398202601">"USB-мадÑм або кропка доÑтупу Wi-Fi актыўныÑ"</string>
- <string name="tethered_notification_message" msgid="6857031760103062982">"ÐаціÑніце, каб наладзіць."</string>
+ <string name="tethered_notification_message" msgid="2113628520792055377">"ДакраніцеÑÑ, каб наладзіць."</string>
<string name="back_button_label" msgid="2300470004503343439">"Ðазад"</string>
<string name="next_button_label" msgid="1080555104677992408">"Далей"</string>
<string name="skip_button_label" msgid="1275362299471631819">"ПрапуÑціць"</string>
@@ -1195,7 +1305,7 @@
<string name="action_mode_done" msgid="7217581640461922289">"Гатова"</string>
<string name="progress_erasing" product="nosdcard" msgid="4521573321524340058">"Выдаленне дадзеных з USB-назапашвальнiка..."</string>
<string name="progress_erasing" product="default" msgid="6596988875507043042">"Выдаленне дадзеных з SD-карты..."</string>
- <string name="share" msgid="1778686618230011964">"Ðдкрыць доÑтуп"</string>
+ <string name="share" msgid="1778686618230011964">"Ðбагуліць"</string>
<string name="find" msgid="4808270900322985960">"Пошук"</string>
<string name="websearch" msgid="4337157977400211589">"Ð’Ñб-пошук"</string>
<string name="find_next" msgid="5742124618942193978">"ЗнайÑці нiжÑй"</string>
@@ -1215,7 +1325,7 @@
<string name="add_account_button_label" msgid="3611982894853435874">"Дадаць уліковы запіÑ"</string>
<string name="number_picker_increment_button" msgid="2412072272832284313">"ПавÑлічыць"</string>
<string name="number_picker_decrement_button" msgid="476050778386779067">"Паменшыць"</string>
- <string name="number_picker_increment_scroll_mode" msgid="3073101067441638428">"ÐаціÑніце Ñ– ўтрымлівайце <xliff:g id="VALUE">%s</xliff:g>."</string>
+ <string name="number_picker_increment_scroll_mode" msgid="5259126567490114216">"<xliff:g id="VALUE">%s</xliff:g> – ÐаціÑніце Ñ– ўтрымлівайце."</string>
<string name="number_picker_increment_scroll_action" msgid="9101473045891835490">"ПравÑдзіце пальцам уверх, каб павÑлічыць, або ўніз, каб паменшыць."</string>
<string name="time_picker_increment_minute_button" msgid="8865885114028614321">"ПавÑлічыць лічбу хвілін."</string>
<string name="time_picker_decrement_minute_button" msgid="6246834937080684791">"Паменшыць лічбу хвілін."</string>
@@ -1232,7 +1342,7 @@
<string name="date_picker_prev_month_button" msgid="2858244643992056505">"ПапÑÑ€Ñдні меÑÑц"</string>
<string name="date_picker_next_month_button" msgid="5559507736887605055">"ÐаÑтупны меÑÑц"</string>
<string name="keyboardview_keycode_alt" msgid="4856868820040051939">"Alt"</string>
- <string name="keyboardview_keycode_cancel" msgid="1203984017245783244">"Ðдмена"</string>
+ <string name="keyboardview_keycode_cancel" msgid="1203984017245783244">"СкаÑаваць"</string>
<string name="keyboardview_keycode_delete" msgid="3337914833206635744">"Выдаліць"</string>
<string name="keyboardview_keycode_done" msgid="1992571118466679775">"Гатова"</string>
<string name="keyboardview_keycode_mode_change" msgid="4547387741906537519">"Змена Ñ€Ñжыму"</string>
@@ -1259,7 +1369,7 @@
<string name="storage_usb" msgid="3017954059538517278">"USB-назапашвальнік"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"РÑдагаваць"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"ПапÑÑ€Ñджанне выкарыÑÑ‚Ð°Ð½Ð½Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ…"</string>
- <string name="data_usage_warning_body" msgid="2814673551471969954">"ДакраніцеÑÑ, каб прагледзець гіÑторыю выкарыÑÑ‚Ð°Ð½Ð½Ñ Ñ– налады."</string>
+ <string name="data_usage_warning_body" msgid="6660692274311972007">"ПраглÑд выкарыÑÑ‚Ð°Ð½Ð½Ñ Ñ– налад."</string>
<string name="data_usage_3g_limit_title" msgid="4361523876818447683">"ДаÑÑгнуты ліміт трафіку 2G-3G"</string>
<string name="data_usage_4g_limit_title" msgid="4609566827219442376">"ДаÑÑгнуты ліміт трафіку 4G"</string>
<string name="data_usage_mobile_limit_title" msgid="557158376602636112">"ДаÑÑгн. ліміт маб.перадачы даных"</string>
@@ -1271,14 +1381,14 @@
<string name="data_usage_wifi_limit_snoozed_title" msgid="8743856006384825974">"Перав. ліміт па дадзеным Wi-Fi"</string>
<string name="data_usage_limit_snoozed_body" msgid="7035490278298441767">"Ðб\'ём <xliff:g id="SIZE">%s</xliff:g> перавышае уÑтаноўл. мÑжу."</string>
<string name="data_usage_restricted_title" msgid="5965157361036321914">"Ð—Ñ‹Ñ…Ð¾Ð´Ð½Ñ‹Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ Ð°Ð±Ð¼ÐµÐ¶Ð°Ð²Ð°Ð½Ñ‹Ñ"</string>
- <string name="data_usage_restricted_body" msgid="6741521330997452990">"ÐаціÑніце, каб знÑць абмежаванне."</string>
+ <string name="data_usage_restricted_body" msgid="469866376337242726">"ДакраніцеÑÑ, каб знÑць абмежав."</string>
<string name="ssl_certificate" msgid="6510040486049237639">"Сертыфікат бÑÑпекі"</string>
<string name="ssl_certificate_is_valid" msgid="6825263250774569373">"ГÑты Ñертыфікат Ñапраўдны."</string>
- <string name="issued_to" msgid="454239480274921032">"Выдадзены:"</string>
+ <string name="issued_to" msgid="454239480274921032">"Каму выдадзена:"</string>
<string name="common_name" msgid="2233209299434172646">"Звычайнае імÑ:"</string>
<string name="org_name" msgid="6973561190762085236">"ÐрганізацыÑ:"</string>
<string name="org_unit" msgid="7265981890422070383">"Ðддзел арганізацыі:"</string>
- <string name="issued_by" msgid="2647584988057481566">"Выдана:"</string>
+ <string name="issued_by" msgid="2647584988057481566">"Хто выдаў:"</string>
<string name="validity_period" msgid="8818886137545983110">"ТÑрмін дзеÑннÑ:"</string>
<string name="issued_on" msgid="5895017404361397232">"Выдадзены:"</string>
<string name="expires_on" msgid="3676242949915959821">"Заканчваецца:"</string>
@@ -1321,7 +1431,7 @@
<string name="display_manager_overlay_display_title" msgid="652124517672257172">"<xliff:g id="NAME">%1$s</xliff:g>: <xliff:g id="WIDTH">%2$d</xliff:g>x<xliff:g id="HEIGHT">%3$d</xliff:g>, <xliff:g id="DPI">%4$d</xliff:g> кр. на цалю"</string>
<string name="display_manager_overlay_display_secure_suffix" msgid="6022119702628572080">", бÑÑпечны"</string>
<string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"Забылі ключ"</string>
- <string name="kg_wrong_pattern" msgid="1850806070801358830">"ÐÑправільна ключ"</string>
+ <string name="kg_wrong_pattern" msgid="1850806070801358830">"ÐÑправільны ўзор"</string>
<string name="kg_wrong_password" msgid="2333281762128113157">"ÐÑправiльны пароль"</string>
<string name="kg_wrong_pin" msgid="1131306510833563801">"ÐÑправільны PIN-код"</string>
<string name="kg_too_many_failed_attempts_countdown" msgid="6358110221603297548">"Паўтарыце Ñпробу праз <xliff:g id="NUMBER">%1$d</xliff:g> Ñ."</string>
@@ -1489,8 +1599,7 @@
<string name="select_year" msgid="7952052866994196170">"Выберыце год"</string>
<string name="deleted_key" msgid="7659477886625566590">"Выдалена: <xliff:g id="KEY">%1$s</xliff:g>"</string>
<string name="managed_profile_label_badge" msgid="2355652472854327647">"<xliff:g id="LABEL">%1$s</xliff:g> (праца)"</string>
- <string name="lock_to_app_toast" msgid="7570091317001980053">"Каб адмацаваць гÑты Ñкран, краніце Ñ– ўтрымлівайце кнопкі «Ðазад» Ñ– «ÐглÑд» адначаÑова."</string>
- <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Каб адмацаваць гÑты Ñкран, краніце Ñ– ўтрымлівайце кнопку «ÐглÑд»."</string>
+ <string name="lock_to_app_toast" msgid="1420543809500606964">"Каб адмацаваць гÑты Ñкран, дакраніцеÑÑ Ñ– ўтрымлівайце кнопку \"Ðазад\"."</string>
<string name="lock_to_app_toast_locked" msgid="9125176335701699164">"Праграма замацавана: адмацаванне на гÑтай прыладзе не дапуÑкаецца."</string>
<string name="lock_to_app_start" msgid="6643342070839862795">"Экран замацаваны"</string>
<string name="lock_to_app_exit" msgid="8598219838213787430">"Экран адмацаваны"</string>
@@ -1501,8 +1610,9 @@
<string name="package_updated_device_owner" msgid="8856631322440187071">"Ðбноўлена вашым адмініÑтратарам"</string>
<string name="package_deleted_device_owner" msgid="7650577387493101353">"Выдалена вашым адмініÑтратарам"</string>
<string name="battery_saver_description" msgid="1960431123816253034">"Каб падоўжыць Ñ‡Ð°Ñ Ð¿Ñ€Ð°Ñ†Ñ‹ акумулÑтара, у Ñ€Ñжыме Ñканоміі зараду памÑншаецца прадукцыйнаÑць вашай прылады, абмÑжоўваецца выкарыÑтанне вібрацыі, Ñлужбаў вызначÑÐ½Ð½Ñ Ð¼ÐµÑÑ†Ð°Ð·Ð½Ð°Ñ…Ð¾Ð´Ð¶Ð°Ð½Ð½Ñ Ñ– большаÑці задач фонавай перадачы даных. Ð­Ð»ÐµÐºÑ‚Ñ€Ð¾Ð½Ð½Ð°Ñ Ð¿Ð¾ÑˆÑ‚Ð°, абмен паведамленнÑмі Ñ– Ñ–Ð½ÑˆÑ‹Ñ Ð¿Ñ€Ð°Ð³Ñ€Ð°Ð¼Ñ‹, ÑÐºÑ–Ñ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтоўваюць Ñінхранізацыю, могуць не абнаўлÑцца, пакуль вы Ñ–Ñ… не адкрыеце.\n\nРÑжым Ñканоміі зараду адключаецца аўтаматычна, калі прылада зараджаецца."</string>
- <!-- no translation found for data_saver_description (6015391409098303235) -->
- <skip />
+ <string name="data_saver_description" msgid="6015391409098303235">"Каб паменшыць выкарыÑтанне даных, Ð­ÐºÐ°Ð½Ð¾Ð¼Ñ–Ñ Ñ‚Ñ€Ð°Ñ„Ñ–ÐºÑƒ не дазвалÑе некаторым праграмам адпраўлÑць ці атрымліваць Ð´Ð°Ð½Ñ‹Ñ Ñž фонавым Ñ€Ñжыме. Праграма, Ñкую вы зараз выкарыÑтоўваеце, можа атрымліваць доÑтуп да даных, але можа рабіць гÑта радзей. ГÑта можа азначаць, напрыклад, што відарыÑÑ‹ не паказваюцца, пакуль вы не дакранÑцеÑÑ Ð´Ð° Ñ–Ñ…."</string>
+ <string name="data_saver_enable_title" msgid="4674073932722787417">"Уключыць Эканомію трафіка?"</string>
+ <string name="data_saver_enable_button" msgid="7147735965247211818">"Уключыць"</string>
<plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848">
<item quantity="one">Ðа %1$d хвіліну (да <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item>
<item quantity="few">Ðа %1$d хвіліны (да <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item>
@@ -1572,6 +1682,8 @@
<string name="stk_cc_ss_to_ussd" msgid="3951862188105305589">"Запыт SS зменены на запыт USSD."</string>
<string name="stk_cc_ss_to_ss" msgid="5470768854991452695">"Запыт SS зменены на новы запыт SS."</string>
<string name="notification_work_profile_content_description" msgid="4600554564103770764">"Працоўны профіль"</string>
+ <string name="expand_button_content_description" msgid="5855955413376384681">"Кнопка \"Разгарнуць\""</string>
+ <string name="expand_action_accessibility" msgid="5307730695723718254">"разгарнуць/згарнуць"</string>
<string name="usb_midi_peripheral_name" msgid="7221113987741003817">"Перыферыйны USB-порт Android"</string>
<string name="usb_midi_peripheral_manufacturer_name" msgid="7176526170008970168">"Android"</string>
<string name="usb_midi_peripheral_product_name" msgid="4971827859165280403">"Перыферыйны USB-порт"</string>
@@ -1579,6 +1691,7 @@
<string name="floating_toolbar_close_overflow_description" msgid="559796923090723804">"Закрыць лішак"</string>
<string name="maximize_button_text" msgid="7543285286182446254">"Разгарнуць"</string>
<string name="close_button_text" msgid="3937902162644062866">"Закрыць"</string>
+ <string name="notification_messaging_title_template" msgid="3452480118762691020">"<xliff:g id="CONVERSATION_TITLE">%1$s</xliff:g>: <xliff:g id="SENDER_NAME">%2$s</xliff:g>"</string>
<plurals name="selected_count" formatted="false" msgid="7187339492915744615">
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> выбраны</item>
<item quantity="few"><xliff:g id="COUNT_1">%1$d</xliff:g> выбрана</item>
@@ -1611,6 +1724,16 @@
<string name="unpin_target" msgid="3556545602439143442">"Ðдмацаваць"</string>
<string name="app_info" msgid="6856026610594615344">"Ð†Ð½Ñ„Ð°Ñ€Ð¼Ð°Ñ†Ñ‹Ñ Ð¿Ñ€Ð° праграму"</string>
<string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
+ <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Скінуць налады прылады?"</string>
+ <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"ДакраніцеÑÑ, каб Ñкінуць налады прылады"</string>
+ <string name="demo_starting_message" msgid="5268556852031489931">"Ідзе запуÑк дÑманÑтрацыі…"</string>
+ <string name="demo_restarting_message" msgid="952118052531642451">"Ідзе Ñкід налад прылады…"</string>
+ <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Скінуць налады прылады?"</string>
+ <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"УÑе змены будуць Ñтрачаны, Ñ– дÑманÑÑ‚Ñ€Ð°Ñ†Ñ‹Ñ Ð¿Ð°Ñ‡Ð½ÐµÑ†Ñ†Ð° зноў праз <xliff:g id="TIMEOUT">%1$s</xliff:g> Ñ…"</string>
+ <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"СкаÑаваць"</string>
+ <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Выканаць Ñкід"</string>
<string name="audit_safemode_notification" msgid="6416076898350685856">"Выканайце Ñкід да заводÑкіх налад, каб выкарыÑтоўваць гÑту прыладу без абмежаваннÑÑž"</string>
<string name="audit_safemode_notification_details" msgid="1860601176690176413">"Краніце, каб даведацца больш."</string>
+ <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Ðдключаны <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+ <string name="conference_call" msgid="3751093130790472426">"КанферÑнц-выклік"</string>
</resources>
diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml
index 54c471004209..d80032016862 100644
--- a/core/res/res/values-bg/strings.xml
+++ b/core/res/res/values-bg/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Хранилището Ñе оптимизира."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android Ñе надÑтройва"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"ÐÑкои Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ðµ да не работÑÑ‚ правилно, докато надÑтройването не завърши"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> Ñе надÑтройва…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Оптимизира Ñе приложение <xliff:g id="NUMBER_0">%1$d</xliff:g> от <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> Ñе подготвÑ."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"ПриложениÑта Ñе Ñтартират."</string>
diff --git a/core/res/res/values-bn-rBD/strings.xml b/core/res/res/values-bn-rBD/strings.xml
index 292fefd42e44..79ea5864ef05 100644
--- a/core/res/res/values-bn-rBD/strings.xml
+++ b/core/res/res/values-bn-rBD/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"সঞà§à¦šà¦¯à¦¼à¦¸à§à¦¥à¦¾à¦¨ অপà§à¦Ÿà¦¿à¦®à¦¾à¦‡à¦œ করা হচà§à¦›à§‡à§·"</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android আপগà§à¦°à§‡à¦¡ করা হচà§à¦›à§‡"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"আপগà§à¦°à§‡à¦¡ সমà§à¦ªà¦¨à§à¦¨ না হওয়া পরà§à¦¯à¦¨à§à¦¤ কিছৠঅà§à¦¯à¦¾à¦ªà§à¦²à¦¿à¦•েশান সঠিকভাবে কাজ নাও করতে পারে"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> আপগà§à¦°à§‡à¦¡ করা হচà§à¦›à§‡â€¦"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"<xliff:g id="NUMBER_1">%2$d</xliff:g>টির মধà§à¦¯à§‡ <xliff:g id="NUMBER_0">%1$d</xliff:g>টি অà§à¦¯à¦¾à¦ªà§à¦²à¦¿à¦•েশান অপà§à¦Ÿà¦¿à¦®à¦¾à¦‡à¦œ করা হচà§à¦›à§‡à§·"</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> পà§à¦°à¦¸à§à¦¤à§à¦¤ করা হচà§à¦›à§‡à§·"</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"অà§à¦¯à¦¾à¦ªà§à¦²à¦¿à¦•েশানগà§à¦²à¦¿ শà§à¦°à§ করা হচà§à¦›à§‡à§·"</string>
diff --git a/core/res/res/values-bs-rBA-watch/styles_material.xml b/core/res/res/values-bs-rBA-watch/styles_material.xml
new file mode 100644
index 000000000000..88e5751c04ce
--- /dev/null
+++ b/core/res/res/values-bs-rBA-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2016 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.
+ -->
+
+<!--
+===============================================================
+ PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+ PLEASE READ
+===============================================================
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"kandidati"</font></string>
+</resources>
diff --git a/core/res/res/values-bs-rBA/strings.xml b/core/res/res/values-bs-rBA/strings.xml
index 8b0a04a471e5..661548b70af4 100644
--- a/core/res/res/values-bs-rBA/strings.xml
+++ b/core/res/res/values-bs-rBA/strings.xml
@@ -125,11 +125,15 @@
<string name="roamingTextSearching" msgid="8360141885972279963">"Traženje usluge"</string>
<string name="wfcRegErrorTitle" msgid="2301376280632110664">"Wi-Fi pozivanje"</string>
<string-array name="wfcOperatorErrorAlertMessages">
+ <item msgid="2254967670088539682">"Da biste pozivali i slali poruke preko Wi-Fi-ja, prvo zatražite od operatera da postavi tu uslugu. Potom u Postavkama ponovo ukljuÄite Wi-Fi pozivanje."</item>
</string-array>
<string-array name="wfcOperatorErrorNotificationMessages">
+ <item msgid="6177300162212449033">"Registrirajte se kod svog operatera"</item>
+ </string-array>
+ <string-array name="wfcSpnFormats">
+ <item msgid="6830082633573257149">"%s"</item>
+ <item msgid="4397097370387921767">"Wi-Fi pozivanje preko operatera %s"</item>
</string-array>
- <string name="wfcSpnFormat" msgid="8211621332478306568">"%s"</string>
- <string name="wfcDataSpnFormat" msgid="1118052028767666883">"%s"</string>
<string name="wifi_calling_off_summary" msgid="8720659586041656098">"IskljuÄeno"</string>
<string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Prednost ima Wi-Fi"</string>
<string name="wfc_mode_cellular_preferred_summary" msgid="5920549484600758786">"Prednost ima mobilna mreža"</string>
@@ -165,7 +169,11 @@
<string name="low_memory" product="watch" msgid="4415914910770005166">"Prostor za gledanje je pun. Obrišite neke fajlove da oslobodite prostor."</string>
<string name="low_memory" product="tv" msgid="516619861191025923">"Prostor TV-a za pohranu je pun. Obrišite neke fajlove da oslobodite prostor."</string>
<string name="low_memory" product="default" msgid="3475999286680000541">"Pohrana telefona je puna. Izbrišite fajlove kako biste oslobodili prostor."</string>
- <!-- no translation found for ssl_ca_cert_warning (5106721205300213569) -->
+ <plurals name="ssl_ca_cert_warning" formatted="false" msgid="5106721205300213569">
+ <item quantity="one">Instalirane su ustanove za izdavanje certifikata</item>
+ <item quantity="few">Instalirane su ustanove za izdavanje certifikata</item>
+ <item quantity="other">Instalirane su ustanove za izdavanje certifikata</item>
+ </plurals>
<string name="ssl_ca_cert_noti_by_unknown" msgid="4475437862189850602">"Od nepoznate treće strane"</string>
<string name="ssl_ca_cert_noti_by_administrator" msgid="550758088185764312">"od strane administratora vašeg profila za posao"</string>
<string name="ssl_ca_cert_noti_managed" msgid="4030263497686867141">"Od <xliff:g id="MANAGING_DOMAIN">%s</xliff:g>"</string>
@@ -212,9 +220,9 @@
<string name="bugreport_title" msgid="2667494803742548533">"Kreirajte izvještaj o greškama"</string>
<string name="bugreport_message" msgid="398447048750350456">"Ovim će se prikupljati informacije o trenutnom stanju uređaja, koji će biti poslani kao poruka e-pošte. Može malo potrajati dok se izvještaj o greškama ne kreira i bude spreman za slanje. Budite strpljivi."</string>
<string name="bugreport_option_interactive_title" msgid="8635056131768862479">"Interaktivni izvještaj"</string>
- <string name="bugreport_option_interactive_summary" msgid="8180152634022797629">"Koristite ovo u većini sluÄajeva. Omogućava vam praćenje progresa izvjeÅ¡taja i unoÅ¡enje viÅ¡e detalja o datom problemu. Neke manje koriÅ¡tene oblasti za Äiji izvjeÅ¡taj je potrebno mnogo vremena mogu biti izostavljene."</string>
+ <string name="bugreport_option_interactive_summary" msgid="229299488536107968">"Koristite ovu opciju u većini sluÄajeva. Ova opcija vam omogućava praćenje napretka izvjeÅ¡taja, unos dodatnih detalja o problemu i pravljenje snimaka ekrana. Moglo bi doći do izostavljanja nekih manje koriÅ¡tenih dijelova za Äije prijavljivanje je potrebno dugo vremena."</string>
<string name="bugreport_option_full_title" msgid="6354382025840076439">"Kompletan izvještaj"</string>
- <string name="bugreport_option_full_summary" msgid="6687306111256813257">"Koristite ovu opciju za minimalno ometanje sistema kad uređaj ne reaguje ili je prespor, ili kada su vam potrebni svi odjeljci izvještaja. Opcija ne uzima snimku ekrana i ne dozvoljava unošenje više detalja."</string>
+ <string name="bugreport_option_full_summary" msgid="7210859858969115745">"Koristite ovu opciju za minimalno ometanje sistema kada uređaj ne reagira ili je prespor, ili kada su vam potrebni svi dijelovi izvještaja. Ova opcija ne dozvoljava unos dodatnih detalja ili pravljenje dodatnih snimaka ekrana."</string>
<plurals name="bugreport_countdown" formatted="false" msgid="6878900193900090368">
<item quantity="one">Snimak ekrana za prijavu greške pravim za <xliff:g id="NUMBER_1">%d</xliff:g> sekundu.</item>
<item quantity="few">Snimak ekrana za prijavu greške pravim za <xliff:g id="NUMBER_1">%d</xliff:g> sekunde.</item>
@@ -258,7 +266,7 @@
<string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Ponovo prikaži sadržaj prozora"</string>
<string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Istražite sadržaj prozora koji trenutno koristite."</string>
<string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"UkljuÄite Istraživanje dodirom"</string>
- <string name="capability_desc_canRequestTouchExploration" msgid="5800552516779249356">"Stavke koje dotaknete će biti izgovorene naglas, a ekran možete istražiti pokretima"</string>
+ <string name="capability_desc_canRequestTouchExploration" msgid="7543249041581408313">"Stavke koje dodirnete bit će izgovorene naglas, a ekran možete istraživati koristeći pokrete."</string>
<string name="capability_title_canRequestEnhancedWebAccessibility" msgid="1739881766522594073">"UkljuÄite poboljÅ¡anu web pristupaÄnost"</string>
<string name="capability_desc_canRequestEnhancedWebAccessibility" msgid="7881063961507511765">"Možda će biti instalirana skripta kako bi sadržaj aplikacije bio dostupniji."</string>
<string name="capability_title_canRequestFilterKeyEvents" msgid="2103440391902412174">"Obratite pažnju na tekst koji tipkate"</string>
@@ -382,9 +390,9 @@
<string name="permdesc_transmitIr" product="tv" msgid="3926790828514867101">"Dozvoljava aplikaciji korištenje infracrvenog predajnika na TV-u."</string>
<string name="permdesc_transmitIr" product="default" msgid="7957763745020300725">"Omogućava aplikaciji koriÅ¡tenje infracrvenog odaÅ¡iljaÄa telefona."</string>
<string name="permlab_setWallpaper" msgid="6627192333373465143">"postavljanje pozadinske slike"</string>
- <string name="permdesc_setWallpaper" msgid="7373447920977624745">"Dozvoljava aplikaciji postavljanje sistemske pozadine ekrana."</string>
- <string name="permlab_setWallpaperHints" msgid="3278608165977736538">"prilagoÄ‘avanje veliÄine pozadine"</string>
- <string name="permdesc_setWallpaperHints" msgid="8235784384223730091">"Dozvoljava aplikaciji odreÄ‘ivanje veliÄine sistemske pozadine ekrana."</string>
+ <string name="permdesc_setWallpaper" msgid="7373447920977624745">"Dozvoljava aplikaciji postavljanje sistemske pozadinske slike."</string>
+ <string name="permlab_setWallpaperHints" msgid="3278608165977736538">"prilagoÄ‘avanje veliÄine pozadinske slike"</string>
+ <string name="permdesc_setWallpaperHints" msgid="8235784384223730091">"Dozvoljava aplikaciji odreÄ‘ivanje veliÄine sistemske pozadinske slike."</string>
<string name="permlab_setTimeZone" msgid="2945079801013077340">"postavljanje vremenske zone"</string>
<string name="permdesc_setTimeZone" product="tablet" msgid="1676983712315827645">"Dozvoljava aplikaciji promjenu vremenske zone tableta."</string>
<string name="permdesc_setTimeZone" product="tv" msgid="888864653946175955">"Dozvoljava aplikaciji promjenu vremenske zone na TV-u."</string>
@@ -657,7 +665,7 @@
<string name="keyguard_password_enter_puk_code" msgid="4800725266925845333">"Unesite PUK i novi PIN"</string>
<string name="keyguard_password_enter_puk_prompt" msgid="1341112146710087048">"PUK"</string>
<string name="keyguard_password_enter_pin_prompt" msgid="8027680321614196258">"Novi PIN"</string>
- <string name="keyguard_password_entry_touch_hint" msgid="7858547464982981384"><font size="17">"Dodirnite za unos lozinke"</font></string>
+ <string name="keyguard_password_entry_touch_hint" msgid="2644215452200037944"><font size="17">"Dodirnite za unos lozinke"</font></string>
<string name="keyguard_password_enter_password_code" msgid="1054721668279049780">"Unesite lozinku za otkljuÄavanje tipkovnice"</string>
<string name="keyguard_password_enter_pin_password_code" msgid="6391755146112503443">"Unesite PIN za otkljuÄavanje tipkovnice"</string>
<string name="keyguard_password_wrong_pin_code" msgid="2422225591006134936">"Pogrešan PIN."</string>
@@ -857,6 +865,87 @@
<item quantity="few"><xliff:g id="COUNT">%d</xliff:g> sata</item>
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> sati</item>
</plurals>
+ <string name="now_string_shortest" msgid="8912796667087856402">"sada"</string>
+ <plurals name="duration_minutes_shortest" formatted="false" msgid="3957499975064245495">
+ <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> m</item>
+ <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g>m</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>m</item>
+ </plurals>
+ <plurals name="duration_hours_shortest" formatted="false" msgid="3552182110578602356">
+ <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>h</item>
+ <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g>h</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>h</item>
+ </plurals>
+ <plurals name="duration_days_shortest" formatted="false" msgid="5213655532597081640">
+ <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> d</item>
+ <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g>d</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>d</item>
+ </plurals>
+ <plurals name="duration_years_shortest" formatted="false" msgid="7848711145196397042">
+ <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>g</item>
+ <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g>g</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>g</item>
+ </plurals>
+ <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
+ <item quantity="one">za <xliff:g id="COUNT_1">%d</xliff:g>m</item>
+ <item quantity="few">za <xliff:g id="COUNT_1">%d</xliff:g>m</item>
+ <item quantity="other">za <xliff:g id="COUNT_1">%d</xliff:g>m</item>
+ </plurals>
+ <plurals name="duration_hours_shortest_future" formatted="false" msgid="2152452368397489370">
+ <item quantity="one">za <xliff:g id="COUNT_1">%d</xliff:g>h</item>
+ <item quantity="few">za <xliff:g id="COUNT_1">%d</xliff:g>h</item>
+ <item quantity="other">za <xliff:g id="COUNT_1">%d</xliff:g>h</item>
+ </plurals>
+ <plurals name="duration_days_shortest_future" formatted="false" msgid="8088331502820295701">
+ <item quantity="one">za <xliff:g id="COUNT_1">%d</xliff:g>d</item>
+ <item quantity="few">za <xliff:g id="COUNT_1">%d</xliff:g>d</item>
+ <item quantity="other">za <xliff:g id="COUNT_1">%d</xliff:g>d</item>
+ </plurals>
+ <plurals name="duration_years_shortest_future" formatted="false" msgid="2317006667145250301">
+ <item quantity="one">za <xliff:g id="COUNT_1">%d</xliff:g> g</item>
+ <item quantity="few">za <xliff:g id="COUNT_1">%d</xliff:g> g</item>
+ <item quantity="other">za <xliff:g id="COUNT_1">%d</xliff:g> g</item>
+ </plurals>
+ <plurals name="duration_minutes_relative" formatted="false" msgid="3178131706192980192">
+ <item quantity="one"> Prije <xliff:g id="COUNT_1">%d</xliff:g> minutu</item>
+ <item quantity="few"> Prije <xliff:g id="COUNT_1">%d</xliff:g> minute</item>
+ <item quantity="other"> Prije <xliff:g id="COUNT_1">%d</xliff:g> minuta</item>
+ </plurals>
+ <plurals name="duration_hours_relative" formatted="false" msgid="676894109982008411">
+ <item quantity="one"> Prije <xliff:g id="COUNT_1">%d</xliff:g> sat</item>
+ <item quantity="few"> Prije <xliff:g id="COUNT_1">%d</xliff:g> sata</item>
+ <item quantity="other"> Prije <xliff:g id="COUNT_1">%d</xliff:g> sati</item>
+ </plurals>
+ <plurals name="duration_days_relative" formatted="false" msgid="2203515825765397130">
+ <item quantity="one"> Prije <xliff:g id="COUNT_1">%d</xliff:g> dan</item>
+ <item quantity="few"> Prije <xliff:g id="COUNT_1">%d</xliff:g> dana</item>
+ <item quantity="other"> Prije <xliff:g id="COUNT_1">%d</xliff:g> dana</item>
+ </plurals>
+ <plurals name="duration_years_relative" formatted="false" msgid="4820062134188885734">
+ <item quantity="one"> Prije <xliff:g id="COUNT_1">%d</xliff:g> godinu</item>
+ <item quantity="few"> Prije <xliff:g id="COUNT_1">%d</xliff:g> godine</item>
+ <item quantity="other"> Prije <xliff:g id="COUNT_1">%d</xliff:g> godina</item>
+ </plurals>
+ <plurals name="duration_minutes_relative_future" formatted="false" msgid="4655043589817680966">
+ <item quantity="one"> za <xliff:g id="COUNT_1">%d</xliff:g> minutu</item>
+ <item quantity="few"> za <xliff:g id="COUNT_1">%d</xliff:g> minute</item>
+ <item quantity="other"> za <xliff:g id="COUNT_1">%d</xliff:g> minuta</item>
+ </plurals>
+ <plurals name="duration_hours_relative_future" formatted="false" msgid="8084579714205223891">
+ <item quantity="one"> za <xliff:g id="COUNT_1">%d</xliff:g> sat</item>
+ <item quantity="few"> za <xliff:g id="COUNT_1">%d</xliff:g> sata</item>
+ <item quantity="other"> za <xliff:g id="COUNT_1">%d</xliff:g> sati</item>
+ </plurals>
+ <plurals name="duration_days_relative_future" formatted="false" msgid="333215369363433992">
+ <item quantity="one"> za <xliff:g id="COUNT_1">%d</xliff:g> dan</item>
+ <item quantity="few"> za <xliff:g id="COUNT_1">%d</xliff:g> dana</item>
+ <item quantity="other"> za <xliff:g id="COUNT_1">%d</xliff:g> dana</item>
+ </plurals>
+ <plurals name="duration_years_relative_future" formatted="false" msgid="8644862986413104011">
+ <item quantity="one"> za <xliff:g id="COUNT_1">%d</xliff:g> godinu</item>
+ <item quantity="few"> za <xliff:g id="COUNT_1">%d</xliff:g> godine</item>
+ <item quantity="other"> za <xliff:g id="COUNT_1">%d</xliff:g> godina</item>
+ </plurals>
<string name="VideoView_error_title" msgid="3534509135438353077">"Problem sa prikazom video sadržaja"</string>
<string name="VideoView_error_text_invalid_progressive_playback" msgid="3186670335938670444">"Prijenos ovog video sadržaja ne može se izvršiti na ovom uređaju."</string>
<string name="VideoView_error_text_unknown" msgid="3450439155187810085">"Greška prilikom reproduciranja video sadržaja."</string>
@@ -888,11 +977,11 @@
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Neke funkcije sistema možda neće raditi"</string>
<string name="low_internal_storage_view_text_no_boot" msgid="6935190099204693424">"Nema dovoljno prostora za sistem. Obezbijedite 250MB slobodnog prostora i ponovo pokrenite uređaj."</string>
<string name="app_running_notification_title" msgid="8718335121060787914">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> je pokrenuta"</string>
- <string name="app_running_notification_text" msgid="4653586947747330058">"Dodirnite za više informacija ili da zaustavite aplikaciju."</string>
+ <string name="app_running_notification_text" msgid="1197581823314971177">"Dodirnite za više informacija ili da biste zaustavili aplikaciju."</string>
<string name="ok" msgid="5970060430562524910">"Uredu"</string>
- <string name="cancel" msgid="6442560571259935130">"Prekini"</string>
+ <string name="cancel" msgid="6442560571259935130">"Otkaži"</string>
<string name="yes" msgid="5362982303337969312">"Uredu"</string>
- <string name="no" msgid="5141531044935541497">"Prekini"</string>
+ <string name="no" msgid="5141531044935541497">"Otkaži"</string>
<string name="dialog_alert_title" msgid="2049658708609043103">"Pažnja"</string>
<string name="loading" msgid="7933681260296021180">"UÄitavanje..."</string>
<string name="capital_on" msgid="1544682755514494298">"UkljuÄeno"</string>
@@ -930,8 +1019,7 @@
<string name="aerr_process" msgid="6201597323218674729">"<xliff:g id="PROCESS">%1$s</xliff:g> je zaustavljen"</string>
<string name="aerr_application_repeated" msgid="3146328699537439573">"<xliff:g id="APPLICATION">%1$s</xliff:g> se stalno zaustavlja"</string>
<string name="aerr_process_repeated" msgid="6235302956890402259">"<xliff:g id="PROCESS">%1$s</xliff:g> se stalno zaustavlja"</string>
- <string name="aerr_restart" msgid="9001379185665886595">"Ponovo pokreni aplikaciju"</string>
- <string name="aerr_reset" msgid="7645427603514220451">"Vrati aplikaciju na zadano i pokreni ponovo"</string>
+ <string name="aerr_restart" msgid="7581308074153624475">"Ponovo otvori aplikaciju"</string>
<string name="aerr_report" msgid="5371800241488400617">"Pošalji povratne informacije"</string>
<string name="aerr_close" msgid="2991640326563991340">"Zatvori"</string>
<string name="aerr_mute" msgid="1974781923723235953">"IskljuÄiti zvuk dok se ureÄ‘aj ponovo ne pokrene"</string>
@@ -952,17 +1040,22 @@
<string name="screen_compat_mode_scale" msgid="3202955667675944499">"Razmjer"</string>
<string name="screen_compat_mode_show" msgid="4013878876486655892">"Uvijek prikaži"</string>
<string name="screen_compat_mode_hint" msgid="1064524084543304459">"Ponovo omogućite ovu opciju u meniju Postavke sistema &gt; Aplikacije &gt; Preuzete aplikacije."</string>
+ <string name="unsupported_display_size_message" msgid="6545327290756295232">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> ne podržava trenutnu postavku veliÄine ekrana i može se ponaÅ¡ati neoÄekivano."</string>
+ <string name="unsupported_display_size_show" msgid="7969129195360353041">"Uvijek prikaži"</string>
<string name="smv_application" msgid="3307209192155442829">"Aplikacija <xliff:g id="APPLICATION">%1$s</xliff:g> (proces <xliff:g id="PROCESS">%2$s</xliff:g>) prekršila je vlastita StrictMode pravila."</string>
<string name="smv_process" msgid="5120397012047462446">"Proces <xliff:g id="PROCESS">%1$s</xliff:g> prekršio je vlastita StrictMode pravila."</string>
<string name="android_upgrading_title" msgid="1584192285441405746">"Nadogradnja sistema Android u toku..."</string>
<string name="android_start_title" msgid="8418054686415318207">"Android se pokreće..."</string>
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Optimiziranje pohrane."</string>
+ <string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android se nadograđuje"</string>
+ <string name="android_upgrading_notification_body" msgid="5761201379457064286">"Neke aplikacije možda neće raditi ispravno dok traje nadogradnja"</string>
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"Aplikacija <xliff:g id="APPLICATION">%1$s</xliff:g> se nadograđuje…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Optimiziranje aplikacije <xliff:g id="NUMBER_0">%1$d</xliff:g> od <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Priprema se <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Pokretanje aplikacija."</string>
<string name="android_upgrading_complete" msgid="1405954754112999229">"Pokretanje pri kraju."</string>
<string name="heavy_weight_notification" msgid="9087063985776626166">"Pokrenuta je aplikacija <xliff:g id="APP">%1$s</xliff:g>"</string>
- <string name="heavy_weight_notification_detail" msgid="1721681741617898865">"Dodirnite kako biste otvorili aplikaciju"</string>
+ <string name="heavy_weight_notification_detail" msgid="867643381388543170">"Dodirnite da biste se prebacili na aplikaciju"</string>
<string name="heavy_weight_switcher_title" msgid="7153167085403298169">"Želite se prebaciti na drugu aplikaciju?"</string>
<string name="heavy_weight_switcher_text" msgid="7022631924534406403">"Već je pokrenuta jedna aplikacija koju morate zaustaviti prije pokretanja nove."</string>
<string name="old_app_action" msgid="493129172238566282">"Vrati se na aplikaciju <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
@@ -970,7 +1063,7 @@
<string name="new_app_action" msgid="5472756926945440706">"Pokreni <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
<string name="new_app_description" msgid="1932143598371537340">"Zaustaviti staru aplikaciju bez spašavanja podataka."</string>
<string name="dump_heap_notification" msgid="2618183274836056542">"<xliff:g id="PROC">%1$s</xliff:g> premaÅ¡uje ograniÄenje memorije"</string>
- <string name="dump_heap_notification_detail" msgid="2075673362317481664">"Snimak dinamiÄkog dijela memorije je napravljen; dodirnite za dijeljenje"</string>
+ <string name="dump_heap_notification_detail" msgid="6901391084243999274">"Snimak dinamiÄkog stanja memorije je napravljen; dodirnite da biste dijelili"</string>
<string name="dump_heap_title" msgid="5864292264307651673">"Želite li dijeliti snimak dinamiÄkog dijela memorije?"</string>
<string name="dump_heap_text" msgid="4809417337240334941">"Proces <xliff:g id="PROC">%1$s</xliff:g> je premaÅ¡io ograniÄenje procesne memorije od <xliff:g id="SIZE">%2$s</xliff:g>. Snimak dinamiÄkog dijela memorije vam je dostupan i možete ga dijeliti sa njegovim programerom. Budite oprezni: ovaj snimak dinamiÄkog dijela memorije može sadržavati vaÅ¡e liÄne podatke kojima aplikacija ima pristup."</string>
<string name="sendText" msgid="5209874571959469142">"Biranje akcije za tekst"</string>
@@ -990,7 +1083,7 @@
<string name="volume_icon_description_notification" msgid="7044986546477282274">"JaÄina zvuka za obavjeÅ¡tenja"</string>
<string name="ringtone_default" msgid="3789758980357696936">"Zadana melodija zvona"</string>
<string name="ringtone_default_with_actual" msgid="8129563480895990372">"Zadano zvono (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string>
- <string name="ringtone_silent" msgid="7937634392408977062">"Ne poduzimaj ništa"</string>
+ <string name="ringtone_silent" msgid="7937634392408977062">"Bez zvuka"</string>
<string name="ringtone_picker_title" msgid="3515143939175119094">"Melodije zvona"</string>
<string name="ringtone_unknown" msgid="5477919988701784788">"Nepoznato zvono"</string>
<plurals name="wifi_available" formatted="false" msgid="7900333017752027322">
@@ -1008,7 +1101,7 @@
<!-- no translation found for network_available_sign_in_detailed (8000081941447976118) -->
<skip />
<string name="wifi_no_internet" msgid="8451173622563841546">"Wi-Fi nema pristup Internetu"</string>
- <string name="wifi_no_internet_detailed" msgid="7593858887662270131">"Dodirnite za opcije"</string>
+ <string name="wifi_no_internet_detailed" msgid="8083079241212301741">"Dodirnite za opcije"</string>
<string name="wifi_watchdog_network_disabled" msgid="7904214231651546347">"Problem prilikom spajanja na Wi-Fi mrežu"</string>
<string name="wifi_watchdog_network_disabled_detailed" msgid="5548780776418332675">" ima lošu internet vezu."</string>
<string name="wifi_connect_alert_title" msgid="8455846016001810172">"Želite li dozvoliti povezivanje?"</string>
@@ -1018,7 +1111,7 @@
<string name="wifi_p2p_turnon_message" msgid="2909250942299627244">"Pokreni Wi-Fi Direct. To će iskljuÄiti Wi-Fi klijenta/pristupnu taÄku."</string>
<string name="wifi_p2p_failed_message" msgid="3763669677935623084">"Greška u pokretanju opcije Wi-Fi Direct."</string>
<string name="wifi_p2p_enabled_notification_title" msgid="2068321881673734886">"Wi-Fi Direct je ukljuÄen"</string>
- <string name="wifi_p2p_enabled_notification_message" msgid="1638949953993894335">"Dodirnite za postavke"</string>
+ <string name="wifi_p2p_enabled_notification_message" msgid="8064677407830620023">"Dodirnite za postavke"</string>
<string name="accept" msgid="1645267259272829559">"Prihvati"</string>
<string name="decline" msgid="2112225451706137894">"Odbijte"</string>
<string name="wifi_p2p_invitation_sent_title" msgid="1318975185112070734">"Pozivnica poslana"</string>
@@ -1070,9 +1163,9 @@
<string name="usb_ptp_notification_title" msgid="1347328437083192112">"USB za prijenos slika"</string>
<string name="usb_midi_notification_title" msgid="4850904915889144654">"USB za MIDI"</string>
<string name="usb_accessory_notification_title" msgid="7848236974087653666">"Uspostavljena veza sa USB pohranom"</string>
- <string name="usb_notification_message" msgid="7347368030849048437">"Dodirnite za više opcija."</string>
+ <string name="usb_notification_message" msgid="3370903770828407960">"Dodirnite za više opcija."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Uređaj za USB otklanjanje grešaka povezan"</string>
- <string name="adb_active_notification_message" msgid="1016654627626476142">"Dodirnite da biste onemogućili USB otklanjanje grešaka."</string>
+ <string name="adb_active_notification_message" msgid="4948470599328424059">"Dodirnite da onemogućite otklanjanje grešaka preko USB veze."</string>
<string name="taking_remote_bugreport_notification_title" msgid="6742483073875060934">"Prijem izvještaja o grešci..."</string>
<string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Podijeliti izvještaj o grešci?"</string>
<string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Dijeljenje izvještaja o grešci..."</string>
@@ -1092,9 +1185,9 @@
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Novi uređaj <xliff:g id="NAME">%s</xliff:g> je otkriven"</string>
<string name="ext_media_ready_notification_message" msgid="4083398150380114462">"Za prebacivanje slika i medijskih fajlova"</string>
<string name="ext_media_unmountable_notification_title" msgid="8295123366236989588">"Uređaj <xliff:g id="NAME">%s</xliff:g> je oštećen"</string>
- <string name="ext_media_unmountable_notification_message" msgid="1586311304430052169">"Uređaj <xliff:g id="NAME">%s</xliff:g> je oštećen. Dodirnite da ga popravite."</string>
+ <string name="ext_media_unmountable_notification_message" msgid="2343202057122495773">"Uređaj <xliff:g id="NAME">%s</xliff:g> je oštećen. Dodirnite da biste popravili."</string>
<string name="ext_media_unsupported_notification_title" msgid="3797642322958803257">"Uređaj <xliff:g id="NAME">%s</xliff:g> nije podržan"</string>
- <string name="ext_media_unsupported_notification_message" msgid="8789610369456474891">"Ovaj uređaj ne podržava uređaj <xliff:g id="NAME">%s</xliff:g>. Dodirnite da ga postavite u podržanom formatu."</string>
+ <string name="ext_media_unsupported_notification_message" msgid="6121601473787888589">"Ovaj uređaj ne podržava uređaj <xliff:g id="NAME">%s</xliff:g>. Dodirnite da biste ga postavili u podržanom formatu."</string>
<string name="ext_media_badremoval_notification_title" msgid="3206248947375505416">"NeoÄekivano uklonjen ureÄ‘aj <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_badremoval_notification_message" msgid="380176703346946313">"IskljuÄite ureÄ‘aj <xliff:g id="NAME">%s</xliff:g> prije uklanjanja da izbjegnete gubitak podataka"</string>
<string name="ext_media_nomedia_notification_title" msgid="1704840188641749091">"Uređaj <xliff:g id="NAME">%s</xliff:g> je uklonjen"</string>
@@ -1130,7 +1223,7 @@
<string name="permdesc_readInstallSessions" msgid="2049771699626019849">"Dozvoljava aplikaciji da Äita sesije instalacija. Ovim se aplikaciji omogućava da vidi detalje o aktivnim instalacijama paketa."</string>
<string name="permlab_requestInstallPackages" msgid="5782013576218172577">"zahtijevanje paketa za instaliranje"</string>
<string name="permdesc_requestInstallPackages" msgid="5740101072486783082">"Omogućava aplikaciji da zahtijeva instalaciju paket Ä."</string>
- <string name="tutorial_double_tap_to_zoom_message_short" msgid="4070433208160063538">"Dodirnite dvaput za kontrolu uvećavanja"</string>
+ <string name="tutorial_double_tap_to_zoom_message_short" msgid="1311810005957319690">"Dodirnite dvaput za kontrolu uvećanja"</string>
<string name="gadget_host_error_inflating" msgid="4882004314906466162">"Dodavanje vidžeta nije uspjelo."</string>
<string name="ime_action_go" msgid="8320845651737369027">"PoÄni"</string>
<string name="ime_action_search" msgid="658110271822807811">"Traži"</string>
@@ -1161,20 +1254,20 @@
<string name="notification_ranker_binding_label" msgid="774540592299064747">"Usluga rangiranja obavještenja"</string>
<string name="vpn_title" msgid="19615213552042827">"VPN aktiviran"</string>
<string name="vpn_title_long" msgid="6400714798049252294">"Aplikacija <xliff:g id="APP">%s</xliff:g> je aktivirala VPN"</string>
- <string name="vpn_text" msgid="3011306607126450322">"Dodirnite za upravljanje mrežom."</string>
- <string name="vpn_text_long" msgid="6407351006249174473">"Uspostavljena veza sa <xliff:g id="SESSION">%s</xliff:g>. Dodirnite za upravljanje mrežom."</string>
+ <string name="vpn_text" msgid="1610714069627824309">"Dodirnite da upravljate mrežom."</string>
+ <string name="vpn_text_long" msgid="4907843483284977618">"Povezano sa sesijom <xliff:g id="SESSION">%s</xliff:g>. Dodirnite da upravljate mrežom."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Povezivanje na uvijek aktivni VPN…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Povezan na uvijek aktivni VPN"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Greška u povezivanju na uvijek aktivni VPN"</string>
- <string name="vpn_lockdown_config" msgid="6415899150671537970">"Dodirnite da konfigurirate"</string>
+ <string name="vpn_lockdown_config" msgid="4655589351146766608">"Dodirnite za konfiguriranje"</string>
<string name="upload_file" msgid="2897957172366730416">"Odabir fajla"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Nije izabran nijedan fajl"</string>
<string name="reset" msgid="2448168080964209908">"Ponovno pokretanje"</string>
<string name="submit" msgid="1602335572089911941">"Potvrdi"</string>
<string name="car_mode_disable_notification_title" msgid="3164768212003864316">"NaÄin rada u autu omogućen"</string>
- <string name="car_mode_disable_notification_message" msgid="8035230537563503262">"Dodirnite kako biste izaÅ¡li iz naÄina rada u autu."</string>
+ <string name="car_mode_disable_notification_message" msgid="6301524980144350051">"Dodirnite za izlaz iz naÄina rada u automobilu"</string>
<string name="tethered_notification_title" msgid="3146694234398202601">"UreÄ‘aj dijeli vezu ili djeluje kao pristupna taÄka"</string>
- <string name="tethered_notification_message" msgid="6857031760103062982">"Dodirnite za postavljanje."</string>
+ <string name="tethered_notification_message" msgid="2113628520792055377">"Dodirnite za postavke"</string>
<string name="back_button_label" msgid="2300470004503343439">"Nazad"</string>
<string name="next_button_label" msgid="1080555104677992408">"Naprijed"</string>
<string name="skip_button_label" msgid="1275362299471631819">"PreskoÄi"</string>
@@ -1208,7 +1301,7 @@
<string name="add_account_button_label" msgid="3611982894853435874">"Dodajte raÄun"</string>
<string name="number_picker_increment_button" msgid="2412072272832284313">"Povećaj"</string>
<string name="number_picker_decrement_button" msgid="476050778386779067">"Smanji"</string>
- <string name="number_picker_increment_scroll_mode" msgid="3073101067441638428">"Dodirnite <xliff:g id="VALUE">%s</xliff:g> i držite."</string>
+ <string name="number_picker_increment_scroll_mode" msgid="5259126567490114216">"<xliff:g id="VALUE">%s</xliff:g> dodirnite i držite."</string>
<string name="number_picker_increment_scroll_action" msgid="9101473045891835490">"Kliznite gore da povećate i dolje da smanjite."</string>
<string name="time_picker_increment_minute_button" msgid="8865885114028614321">"Povećaj minute"</string>
<string name="time_picker_decrement_minute_button" msgid="6246834937080684791">"Smanji minute"</string>
@@ -1225,7 +1318,7 @@
<string name="date_picker_prev_month_button" msgid="2858244643992056505">"Prethodni mjesec"</string>
<string name="date_picker_next_month_button" msgid="5559507736887605055">"Sljedeći mjesec"</string>
<string name="keyboardview_keycode_alt" msgid="4856868820040051939">"Alt"</string>
- <string name="keyboardview_keycode_cancel" msgid="1203984017245783244">"Prekini"</string>
+ <string name="keyboardview_keycode_cancel" msgid="1203984017245783244">"Otkaži"</string>
<string name="keyboardview_keycode_delete" msgid="3337914833206635744">"Izbriši"</string>
<string name="keyboardview_keycode_done" msgid="1992571118466679775">"Gotovo"</string>
<string name="keyboardview_keycode_mode_change" msgid="4547387741906537519">"Promjena naÄina rada"</string>
@@ -1252,7 +1345,7 @@
<string name="storage_usb" msgid="3017954059538517278">"USB pohrana"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Uredi"</string>
<string name="data_usage_warning_title" msgid="1955638862122232342">"Upozorenje za prijenos podataka"</string>
- <string name="data_usage_warning_body" msgid="2814673551471969954">"Podaci o korištenju i postavke"</string>
+ <string name="data_usage_warning_body" msgid="6660692274311972007">"Dodirnite za prikaz upotrebe i postavki."</string>
<string name="data_usage_3g_limit_title" msgid="4361523876818447683">"Dostignut limit za 2G-3G podatke"</string>
<string name="data_usage_4g_limit_title" msgid="4609566827219442376">"Dostignut limit za 4G podatke"</string>
<string name="data_usage_mobile_limit_title" msgid="557158376602636112">"Dostignut limit mob. podataka"</string>
@@ -1264,7 +1357,7 @@
<string name="data_usage_wifi_limit_snoozed_title" msgid="8743856006384825974">"PremaÅ¡eno Wi-Fi ograniÄenje"</string>
<string name="data_usage_limit_snoozed_body" msgid="7035490278298441767">"<xliff:g id="SIZE">%s</xliff:g> preko navedenog ograniÄenja."</string>
<string name="data_usage_restricted_title" msgid="5965157361036321914">"Pozadinski podaci su ograniÄeni"</string>
- <string name="data_usage_restricted_body" msgid="6741521330997452990">"Dodirnuti za uklanjanje ogran."</string>
+ <string name="data_usage_restricted_body" msgid="469866376337242726">"Dodirnite da biste uklonili ograniÄenja."</string>
<string name="ssl_certificate" msgid="6510040486049237639">"Sigurnosni certifikat"</string>
<string name="ssl_certificate_is_valid" msgid="6825263250774569373">"Ovaj certifikat je važeći."</string>
<string name="issued_to" msgid="454239480274921032">"Primalac:"</string>
@@ -1481,8 +1574,7 @@
<string name="select_year" msgid="7952052866994196170">"Odaberite godinu"</string>
<string name="deleted_key" msgid="7659477886625566590">"Broj <xliff:g id="KEY">%1$s</xliff:g> je izbrisan"</string>
<string name="managed_profile_label_badge" msgid="2355652472854327647">"Poslovni <xliff:g id="LABEL">%1$s</xliff:g>"</string>
- <string name="lock_to_app_toast" msgid="7570091317001980053">"Da otkaÄite ovaj ekran, istovremeno dodirnite i držite Nazad i Pregled."</string>
- <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Da otkaÄite ovaj ekran, dodirnite i držite Pregled."</string>
+ <string name="lock_to_app_toast" msgid="1420543809500606964">"Da biste otkaÄili ovaj ekran, dodirnite i držite dugme Nazad."</string>
<string name="lock_to_app_toast_locked" msgid="9125176335701699164">"Aplikacija je prikaÄena. Na ovom ureÄ‘aju nije dozvoljeno otkaÄivanje."</string>
<string name="lock_to_app_start" msgid="6643342070839862795">"Ekran je zakaÄen"</string>
<string name="lock_to_app_exit" msgid="8598219838213787430">"Ekran je otkaÄen"</string>
@@ -1493,8 +1585,9 @@
<string name="package_updated_device_owner" msgid="8856631322440187071">"Ažurirao administrator"</string>
<string name="package_deleted_device_owner" msgid="7650577387493101353">"Izbrisao administrator"</string>
<string name="battery_saver_description" msgid="1960431123816253034">"Da bi se trajanje baterije produžilo, opcija za Å¡tednju baterije minimizira rad ureÄ‘aja i ograniÄava vibriranje, usluge lokacije i većinu prijenosa podataka u pozadini. E-poÅ¡ta, poruke i druge aplikacije koje se oslanjaju na sinhronizaciju ne mogu biti ažurirane dok ih ne otvorite.\n\nÅ tednja baterije se automatski iskljuÄi prilikom punjenja ureÄ‘aja."</string>
- <!-- no translation found for data_saver_description (6015391409098303235) -->
- <skip />
+ <string name="data_saver_description" msgid="6015391409098303235">"Da bi se smanjilo koriÅ¡tenje podataka, usluga UÅ¡teda podataka spreÄava da neke aplikacije Å¡alju ili primaju podatke u pozadini. Aplikacija koju trenutno koristite može pristupiti podacima, ali se to može desiti rjeÄ‘e. To može znaÄiti, naprimjer, da se slike ne prikazuju sve dok ih ne dodirnete."</string>
+ <string name="data_saver_enable_title" msgid="4674073932722787417">"UkljuÄiti UÅ¡tedu podataka?"</string>
+ <string name="data_saver_enable_button" msgid="7147735965247211818">"UkljuÄi"</string>
<plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848">
<item quantity="one">%1$d minuta (do <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item>
<item quantity="few">%1$d minute (do <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item>
@@ -1556,6 +1649,8 @@
<string name="stk_cc_ss_to_ussd" msgid="3951862188105305589">"SS zahtjev je izmijenjen u USSD zahtjev."</string>
<string name="stk_cc_ss_to_ss" msgid="5470768854991452695">"SS zahtjev je izmijenjen u novi SS zahtjev."</string>
<string name="notification_work_profile_content_description" msgid="4600554564103770764">"Profil za posao"</string>
+ <string name="expand_button_content_description" msgid="5855955413376384681">"Dugme za proširivanje"</string>
+ <string name="expand_action_accessibility" msgid="5307730695723718254">"prebaci na proširenje"</string>
<string name="usb_midi_peripheral_name" msgid="7221113987741003817">"Android USB ulaz za periferijske uređaje"</string>
<string name="usb_midi_peripheral_manufacturer_name" msgid="7176526170008970168">"Android"</string>
<string name="usb_midi_peripheral_product_name" msgid="4971827859165280403">"USB ulaz za periferijske uređaje"</string>
@@ -1563,6 +1658,7 @@
<string name="floating_toolbar_close_overflow_description" msgid="559796923090723804">"Zatvori preklopni meni"</string>
<string name="maximize_button_text" msgid="7543285286182446254">"Povećaj maksimalno"</string>
<string name="close_button_text" msgid="3937902162644062866">"Zatvori"</string>
+ <string name="notification_messaging_title_template" msgid="3452480118762691020">"<xliff:g id="CONVERSATION_TITLE">%1$s</xliff:g>: <xliff:g id="SENDER_NAME">%2$s</xliff:g>"</string>
<plurals name="selected_count" formatted="false" msgid="7187339492915744615">
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> stavka je odabrana</item>
<item quantity="few"><xliff:g id="COUNT_1">%1$d</xliff:g> stavke su odabrane</item>
@@ -1594,6 +1690,16 @@
<string name="unpin_target" msgid="3556545602439143442">"OtkaÄi"</string>
<string name="app_info" msgid="6856026610594615344">"Informacije o aplikaciji"</string>
<string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
+ <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Želite li vratiti na poÄetne postavke?"</string>
+ <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Dodirnite da vratite ureÄ‘aj na poÄetne postavke"</string>
+ <string name="demo_starting_message" msgid="5268556852031489931">"Pokretanje demonstracije…"</string>
+ <string name="demo_restarting_message" msgid="952118052531642451">"Vraćanje ureÄ‘aja na poÄetne postavke…"</string>
+ <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Želite li vratiti na poÄetne postavke?"</string>
+ <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Nestat će sve izmjene, a demonstracija će poÄeti ponovo za <xliff:g id="TIMEOUT">%1$s</xliff:g> sek…"</string>
+ <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Otkaži"</string>
+ <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Vrati sada na poÄetne postavke"</string>
<string name="audit_safemode_notification" msgid="6416076898350685856">"Vratite ureÄ‘aj na fabriÄke postavke kako biste ga koristili bez ograniÄenja"</string>
<string name="audit_safemode_notification_details" msgid="1860601176690176413">"Dodirnite da saznate više."</string>
+ <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Onemogućen <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+ <string name="conference_call" msgid="3751093130790472426">"Konferencijski poziv"</string>
</resources>
diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml
index 789006818a31..fffcc747d51a 100644
--- a/core/res/res/values-ca/strings.xml
+++ b/core/res/res/values-ca/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"S\'està optimitzant l\'emmagatzematge."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android s\'està actualitzant"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Pot ser que algunes aplicacions no funcionin correctament fins que no es completi l\'actualització"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"S\'està actualitzant <xliff:g id="APPLICATION">%1$s</xliff:g>…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"S\'està optimitzant l\'aplicació <xliff:g id="NUMBER_0">%1$d</xliff:g> de <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"S\'està preparant <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"S\'estan iniciant les aplicacions."</string>
diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml
index f5e74ce47e7b..e7a7b60f269e 100644
--- a/core/res/res/values-cs/strings.xml
+++ b/core/res/res/values-cs/strings.xml
@@ -1070,8 +1070,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Probíhá optimalizace úložiště."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android se upgraduje"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"PÅ™ed dokonÄením upgradu nemusí nÄ›které aplikace fungovat správnÄ›"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"Aplikace <xliff:g id="APPLICATION">%1$s</xliff:g> se upgraduje…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Optimalizování aplikace <xliff:g id="NUMBER_0">%1$d</xliff:g> z <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Příprava aplikace <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Spouštění aplikací."</string>
diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml
index 446c950cb66b..faa11be8ae13 100644
--- a/core/res/res/values-da/strings.xml
+++ b/core/res/res/values-da/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Lageret optimeres."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android opgraderes"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Nogle apps fungerer muligvis ikke korrekt, før opgraderingen er gennemført"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> opgraderer…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Optimerer app <xliff:g id="NUMBER_0">%1$d</xliff:g> ud af <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Forbereder <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Ã…bner dine apps."</string>
diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml
index 25f3912a2087..e98eda737838 100644
--- a/core/res/res/values-de/strings.xml
+++ b/core/res/res/values-de/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Speicher wird optimiert"</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android wird aktualisiert"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Einige Apps funktionieren unter Umständen nicht richtig, bis das Upgrade abgeschlossen ist"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"Für <xliff:g id="APPLICATION">%1$s</xliff:g> wird gerade ein Upgrade ausgeführt…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"App <xliff:g id="NUMBER_0">%1$d</xliff:g> von <xliff:g id="NUMBER_1">%2$d</xliff:g> wird optimiert..."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> wird vorbereitet"</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Apps werden gestartet..."</string>
diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml
index 3e220da2df44..2ceaa7a5bd77 100644
--- a/core/res/res/values-el/strings.xml
+++ b/core/res/res/values-el/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Βελτιστοποίηση Î±Ï€Î¿Î¸Î·ÎºÎµÏ…Ï„Î¹ÎºÎ¿Ï Ï‡ÏŽÏου."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Το Android αναβαθμίζεται"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"ΟÏισμένες εφαÏμογές ενδέχεται να μην λειτουÏγοÏν σωστά μέχÏι την ολοκλήÏωση της αναβάθμισης"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"Η εφαÏμογή <xliff:g id="APPLICATION">%1$s</xliff:g> αναβαθμίζεται…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Βελτιστοποίηση της εφαÏμογής <xliff:g id="NUMBER_0">%1$d</xliff:g> από <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"ΠÏοετοιμασία <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"ΈναÏξη εφαÏμογών."</string>
diff --git a/core/res/res/values-en-rAU/strings.xml b/core/res/res/values-en-rAU/strings.xml
index 60e9e86c576a..34952166758c 100644
--- a/core/res/res/values-en-rAU/strings.xml
+++ b/core/res/res/values-en-rAU/strings.xml
@@ -974,7 +974,7 @@
<string name="whichEditApplicationLabel" msgid="7183524181625290300">"Edit"</string>
<string name="whichSendApplication" msgid="6902512414057341668">"Share with"</string>
<string name="whichSendApplicationNamed" msgid="2799370240005424391">"Share with %1$s"</string>
- <string name="whichSendApplicationLabel" msgid="4579076294675975354">"Shared"</string>
+ <string name="whichSendApplicationLabel" msgid="4579076294675975354">"Share"</string>
<string name="whichSendToApplication" msgid="8272422260066642057">"Send using"</string>
<string name="whichSendToApplicationNamed" msgid="7768387871529295325">"Send using %1$s"</string>
<string name="whichSendToApplicationLabel" msgid="8878962419005813500">"Send"</string>
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Optimising storage."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android is upgrading"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Some apps may not work properly until the upgrade finishes"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> is upgrading…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Optimising app <xliff:g id="NUMBER_0">%1$d</xliff:g> of <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Preparing <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Starting apps."</string>
diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml
index 60e9e86c576a..34952166758c 100644
--- a/core/res/res/values-en-rGB/strings.xml
+++ b/core/res/res/values-en-rGB/strings.xml
@@ -974,7 +974,7 @@
<string name="whichEditApplicationLabel" msgid="7183524181625290300">"Edit"</string>
<string name="whichSendApplication" msgid="6902512414057341668">"Share with"</string>
<string name="whichSendApplicationNamed" msgid="2799370240005424391">"Share with %1$s"</string>
- <string name="whichSendApplicationLabel" msgid="4579076294675975354">"Shared"</string>
+ <string name="whichSendApplicationLabel" msgid="4579076294675975354">"Share"</string>
<string name="whichSendToApplication" msgid="8272422260066642057">"Send using"</string>
<string name="whichSendToApplicationNamed" msgid="7768387871529295325">"Send using %1$s"</string>
<string name="whichSendToApplicationLabel" msgid="8878962419005813500">"Send"</string>
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Optimising storage."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android is upgrading"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Some apps may not work properly until the upgrade finishes"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> is upgrading…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Optimising app <xliff:g id="NUMBER_0">%1$d</xliff:g> of <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Preparing <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Starting apps."</string>
diff --git a/core/res/res/values-en-rIN/strings.xml b/core/res/res/values-en-rIN/strings.xml
index 60e9e86c576a..34952166758c 100644
--- a/core/res/res/values-en-rIN/strings.xml
+++ b/core/res/res/values-en-rIN/strings.xml
@@ -974,7 +974,7 @@
<string name="whichEditApplicationLabel" msgid="7183524181625290300">"Edit"</string>
<string name="whichSendApplication" msgid="6902512414057341668">"Share with"</string>
<string name="whichSendApplicationNamed" msgid="2799370240005424391">"Share with %1$s"</string>
- <string name="whichSendApplicationLabel" msgid="4579076294675975354">"Shared"</string>
+ <string name="whichSendApplicationLabel" msgid="4579076294675975354">"Share"</string>
<string name="whichSendToApplication" msgid="8272422260066642057">"Send using"</string>
<string name="whichSendToApplicationNamed" msgid="7768387871529295325">"Send using %1$s"</string>
<string name="whichSendToApplicationLabel" msgid="8878962419005813500">"Send"</string>
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Optimising storage."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android is upgrading"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Some apps may not work properly until the upgrade finishes"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> is upgrading…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Optimising app <xliff:g id="NUMBER_0">%1$d</xliff:g> of <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Preparing <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Starting apps."</string>
diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml
index c5dc2109a161..0e59e050d04c 100644
--- a/core/res/res/values-es-rUS/strings.xml
+++ b/core/res/res/values-es-rUS/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Optimizando almacenamiento"</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android se está actualizando"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Es posible que algunas apps no funcionen correctamente hasta que termine la actualización"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"Se está actualizando <xliff:g id="APPLICATION">%1$s</xliff:g>…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Optimizando la aplicación <xliff:g id="NUMBER_0">%1$d</xliff:g> de <xliff:g id="NUMBER_1">%2$d</xliff:g>"</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Preparando <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Iniciando aplicaciones"</string>
diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml
index 9e1859bc4df8..946a23a668b9 100644
--- a/core/res/res/values-es/strings.xml
+++ b/core/res/res/values-es/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Optimizando almacenamiento."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Actualizando Android"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Es posible que algunas aplicaciones no funcionen correctamente hasta que finalice la actualización"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> se está actualizando…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Optimizando aplicación <xliff:g id="NUMBER_0">%1$d</xliff:g> de <xliff:g id="NUMBER_1">%2$d</xliff:g>..."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Preparando <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Iniciando aplicaciones"</string>
diff --git a/core/res/res/values-eu-rES/strings.xml b/core/res/res/values-eu-rES/strings.xml
index 70ee2833719c..cf3cdf7810ec 100644
--- a/core/res/res/values-eu-rES/strings.xml
+++ b/core/res/res/values-eu-rES/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Memoria optimizatzen."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android bertsioa berritzen ari gara"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Aplikazio batzuek agian ez dute behar bezala funtzionatuko bertsioa berritzen amaitu arte"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> bertsio-berritzen ari da…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"<xliff:g id="NUMBER_0">%1$d</xliff:g>/<xliff:g id="NUMBER_1">%2$d</xliff:g> aplikazio optimizatzen."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> prestatzen."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Aplikazioak abiarazten."</string>
diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml
index aa9c1484b4b2..638b49e0d4e7 100644
--- a/core/res/res/values-fa/strings.xml
+++ b/core/res/res/values-fa/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"بهینه‌سازی ÙØ¶Ø§ÛŒ ذخیره‌سازی."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"â€Android درحال ارتقا است"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"تا پایان ارتقا، ممکن است برخی از برنامه‌ها به‌درستی کار نکنند."</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> درحال ارتقا است...."</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"در حال بهینه‌سازی برنامهٔ <xliff:g id="NUMBER_0">%1$d</xliff:g> از <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"آماده‌سازی <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"در حال آغاز برنامه‌ها."</string>
diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml
index 1aca741afdc4..75d44f5d3bc2 100644
--- a/core/res/res/values-fi/strings.xml
+++ b/core/res/res/values-fi/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Optimoidaan tallennustilaa."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Androidia päivitetään"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Kaikki sovellukset eivät ehkä toimi oikein, ennen kuin päivitys on valmis."</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> päivittyy…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Optimoidaan sovellusta <xliff:g id="NUMBER_0">%1$d</xliff:g>/<xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Valmistellaan: <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Käynnistetään sovelluksia."</string>
diff --git a/core/res/res/values-fr-rCA/strings.xml b/core/res/res/values-fr-rCA/strings.xml
index 7b194a09ead6..5d4210ac2f7b 100644
--- a/core/res/res/values-fr-rCA/strings.xml
+++ b/core/res/res/values-fr-rCA/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Optimisation du stockage."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Installation de la m. à niveau d\'Android"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Il se peut que certaines applications ne fonctionnent pas correctement jusqu\'à ce que la mise à niveau soit terminée"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"Mise à niveau de <xliff:g id="APPLICATION">%1$s</xliff:g> en cours…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Optimisation de l\'application <xliff:g id="NUMBER_0">%1$d</xliff:g> sur <xliff:g id="NUMBER_1">%2$d</xliff:g>…"</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Préparation de <xliff:g id="APPNAME">%1$s</xliff:g> en cours…"</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Lancement des applications…"</string>
diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml
index ff0876e24b76..bbe2223f418e 100644
--- a/core/res/res/values-fr/strings.xml
+++ b/core/res/res/values-fr/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Optimisation du stockage en cours…"</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Mise à jour d\'Android…"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Certaines applications peuvent ne pas fonctionner correctement jusqu\'à ce que la mise à jour soit terminée."</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"Mise à jour de l\'application <xliff:g id="APPLICATION">%1$s</xliff:g>…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Optimisation de l\'application <xliff:g id="NUMBER_0">%1$d</xliff:g> sur <xliff:g id="NUMBER_1">%2$d</xliff:g>…"</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Préparation de <xliff:g id="APPNAME">%1$s</xliff:g> en cours…"</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Lancement des applications…"</string>
diff --git a/core/res/res/values-gl-rES/strings.xml b/core/res/res/values-gl-rES/strings.xml
index abe09ded063d..96fb37c9b7a7 100644
--- a/core/res/res/values-gl-rES/strings.xml
+++ b/core/res/res/values-gl-rES/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Optimizando almacenamento."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Estase actualizando Android"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"É posible que algunhas aplicacións non funcionen correctamente ata que finalice o proceso de actualización"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"Actualizando <xliff:g id="APPLICATION">%1$s</xliff:g>…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Optimizando aplicación <xliff:g id="NUMBER_0">%1$d</xliff:g> de <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Preparando <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Iniciando aplicacións."</string>
diff --git a/core/res/res/values-gu-rIN/strings.xml b/core/res/res/values-gu-rIN/strings.xml
index 1589426d4412..2982c857402d 100644
--- a/core/res/res/values-gu-rIN/strings.xml
+++ b/core/res/res/values-gu-rIN/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"સંગà«àª°àª¹ ઓપà«àªŸàª¿àª®àª¾àª‡àª કરી રહà«àª¯à«àª‚ છે."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android અપગà«àª°à«‡àª¡ થઈ રહà«àª¯à«àª‚ છે"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"અપગà«àª°à«‡àª¡ સમાપà«àª¤ ન થાય તà«àª¯àª¾àª‚ સà«àª§à«€ કેટલીક àªàªªà«àª²àª¿àª•ેશનો કદાચ યોગà«àª¯ રીતે કામ ન કરે"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> અપગà«àª°à«‡àª¡ થઈ રહી છે…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"<xliff:g id="NUMBER_1">%2$d</xliff:g> માંથી <xliff:g id="NUMBER_0">%1$d</xliff:g> àªàªªà«àª²àª¿àª•ેશન ઓપà«àªŸàª¿àª®àª¾àª‡àª કરી રહà«àª¯à«àª‚ છે."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> તૈયાર કરી રહà«àª¯à«àª‚ છે."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"àªàªªà«àª²àª¿àª•ેશનો શરૂ કરી રહà«àª¯àª¾àª‚ છે."</string>
diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml
index 7a81b476863f..722788042ae0 100644
--- a/core/res/res/values-hi/strings.xml
+++ b/core/res/res/values-hi/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"मेमोरी ऑपà¥â€à¤Ÿà¤¿à¤®à¤¾à¤‡à¤œà¤¼ हो रही है."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android अपगà¥à¤°à¥‡à¤¡ हो रहा है"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"जब तक अपगà¥à¤°à¥‡à¤¡ पूरा नहीं हो जाता, तब तक संभव है कि कà¥à¤› à¤à¤ªà¥à¤²à¤¿à¤•ेशन ठीक से कारà¥à¤¯ ना करें"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> अपगà¥à¤°à¥‡à¤¡ हो रहा है…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"<xliff:g id="NUMBER_1">%2$d</xliff:g> में से <xliff:g id="NUMBER_0">%1$d</xliff:g> à¤à¤ªà¥à¤¸ अनà¥à¤•ूलित हो रहा है."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> तैयार हो रहा है."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"à¤à¤ªà¥à¤¸ पà¥à¤°à¤¾à¤°à¤‚भ होने वाले हैं"</string>
diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml
index 9ff8363156c9..71337e23b6df 100644
--- a/core/res/res/values-hr/strings.xml
+++ b/core/res/res/values-hr/strings.xml
@@ -1047,8 +1047,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Optimiziranje pohrane."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android se nadograđuje"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Neke aplikacije možda neće funkcionirati pravilno dok nadogradnja ne završi"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"Nadogradnja aplikacije <xliff:g id="APPLICATION">%1$s</xliff:g>…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Optimiziranje aplikacije <xliff:g id="NUMBER_0">%1$d</xliff:g> od <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Pripremanje aplikacije <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Pokretanje aplikacija."</string>
diff --git a/core/res/res/values-hy-rAM/strings.xml b/core/res/res/values-hy-rAM/strings.xml
index 76bc42e8c405..94cbd8002675 100644
--- a/core/res/res/values-hy-rAM/strings.xml
+++ b/core/res/res/values-hy-rAM/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"ÕŠÕ¡Õ°Õ¥Õ½Õ¿Õ« Ö…ÕºÕ¿Õ«Õ´Õ¡Õ¬Õ¡ÖÕ¸Ö‚Õ´:"</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android-Õ¨ Õ¶Õ¸Ö€Õ¡ÖÕ¾Õ¸Ö‚Õ´ Õ§"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Õ€Õ¶Õ¡Ö€Õ¡Õ¾Õ¸Ö€ Õ§Õ Õ¸Ö€Õ¸Õ· Õ°Õ¡Õ¾Õ¥Õ¬Õ¾Õ¡Õ®Õ¶Õ¥Ö€ Õ´Õ«Õ¶Õ¹Ö‡ Õ¶Õ¸Ö€Õ¡ÖÕ´Õ¡Õ¶ Õ¡Õ¾Õ¡Ö€Õ¿Õ¨ Õ³Õ«Õ·Õ¿ Õ¹Õ¡Õ·Õ­Õ¡Õ¿Õ¥Õ¶"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> Õ°Õ¡Õ¾Õ¥Õ¬Õ¾Õ¡Õ®Õ¨ Õ¶Õ¸Ö€Õ¡ÖÕ¾Õ¸Ö‚Õ´ է…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Õ•ÕºÕ¿Õ«Õ´Õ¡Õ¬Õ¡ÖÕ¾Õ¸Ö‚Õ´ Õ§ Õ°Õ¡Õ¾Õ¥Õ¬Õ¾Õ¡Õ® <xliff:g id="NUMBER_0">%1$d</xliff:g>-Õ¨ <xliff:g id="NUMBER_1">%2$d</xliff:g>-Õ«Ö:"</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> Õ°Õ¡Õ¾Õ¥Õ¬Õ¾Õ¡Õ®Õ¨ ÕºÕ¡Õ¿Ö€Õ¡Õ½Õ¿Õ¾Õ¸Ö‚Õ´ Õ§:"</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Õ€Õ¡Õ¾Õ¥Õ¬Õ¾Õ¡Õ®Õ¶Õ¥Ö€Õ¨ Õ´Õ¥Õ¯Õ¶Õ¡Ö€Õ¯Õ¸Ö‚Õ´ Õ¥Õ¶:"</string>
diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml
index d780b8c66232..213d9b642cfa 100644
--- a/core/res/res/values-in/strings.xml
+++ b/core/res/res/values-in/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Mengoptimalkan penyimpanan."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android sedang meningkatkan versi"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Beberapa aplikasi mungkin tidak berfungsi dengan baik jika peningkatan versi belum selesai"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> sedang ditingkatkan versinya…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Mengoptimalkan aplikasi <xliff:g id="NUMBER_0">%1$d</xliff:g> dari <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Menyiapkan <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Memulai aplikasi."</string>
diff --git a/core/res/res/values-is-rIS/strings.xml b/core/res/res/values-is-rIS/strings.xml
index 33b47832be3e..20a5b170bb7c 100644
--- a/core/res/res/values-is-rIS/strings.xml
+++ b/core/res/res/values-is-rIS/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Fínstillir geymslu."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android er að uppfæra"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Hugsanlega virka sum forrit ekki fyrr en uppfærslunni lýkur"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> uppfærir…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Fínstillir forrit <xliff:g id="NUMBER_0">%1$d</xliff:g> af <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Undirbýr <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Ræsir forrit."</string>
diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml
index d03b91d69a41..d89bf1b81733 100644
--- a/core/res/res/values-it/strings.xml
+++ b/core/res/res/values-it/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Ottimizzazione archiviazione."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Aggiornamento di Android in corso"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Alcune app potrebbero non funzionare correttamente fino al completamento dell\'upgrade"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"Upgrade dell\'app <xliff:g id="APPLICATION">%1$s</xliff:g>…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Ottimizzazione applicazione <xliff:g id="NUMBER_0">%1$d</xliff:g> di <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> in preparazione."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Avvio applicazioni."</string>
diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml
index 6df7a0fc3505..69077736c296 100644
--- a/core/res/res/values-iw/strings.xml
+++ b/core/res/res/values-iw/strings.xml
@@ -1070,8 +1070,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"מתבצעת ×ופטימיזציה של ×”×חסון."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"â€Android מבצע שדרוג"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"ייתכן ש×פליקציות מסוימות ×œ× ×™×¤×¢×œ×• כר×וי עד ×¡×™×•× ×”×©×“×¨×•×’"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> מבצעת שדרוג…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"מבצע ×ופטימיזציה של ×פליקציה <xliff:g id="NUMBER_0">%1$d</xliff:g> מתוך <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"מכין ×ת <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"מפעיל ×פליקציות."</string>
diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml
index e08520e803be..2327c7222dfb 100644
--- a/core/res/res/values-ja/strings.xml
+++ b/core/res/res/values-ja/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"ストレージを最é©åŒ–ã—ã¦ã„ã¾ã™ã€‚"</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android ã®ã‚¢ãƒƒãƒ—グレード中"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"アップグレードãŒå®Œäº†ã™ã‚‹ã¾ã§ä¸€éƒ¨ã®ã‚¢ãƒ—ãƒªãŒæ­£å¸¸ã«å‹•作ã—ãªã„å¯èƒ½æ€§ãŒã‚りã¾ã™"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"「<xliff:g id="APPLICATION">%1$s</xliff:g>ã€ã‚’アップグレードã—ã¦ã„ã¾ã™â€¦"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"<xliff:g id="NUMBER_1">%2$d</xliff:g>個中<xliff:g id="NUMBER_0">%1$d</xliff:g>個ã®ã‚¢ãƒ—リを最é©åŒ–ã—ã¦ã„ã¾ã™ã€‚"</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g>をペア設定ã—ã¦ã„ã¾ã™ã€‚"</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"アプリを起動ã—ã¦ã„ã¾ã™ã€‚"</string>
diff --git a/core/res/res/values-ka-rGE/strings.xml b/core/res/res/values-ka-rGE/strings.xml
index 9ab0f2b20a0d..e22602a2d64e 100644
--- a/core/res/res/values-ka-rGE/strings.xml
+++ b/core/res/res/values-ka-rGE/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"მეხსიერების áƒáƒžáƒ¢áƒ˜áƒ›áƒ˜áƒ–ირებáƒ."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android áƒáƒ®áƒáƒš ვერსიáƒáƒ–ე გáƒáƒ“áƒáƒ“ის"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"áƒáƒ®áƒáƒš ვერსიáƒáƒ–ე გáƒáƒ“áƒáƒ¡áƒ•ლის დáƒáƒ¡áƒ áƒ£áƒšáƒ”ბáƒáƒ›áƒ“ე, ზáƒáƒ’იერთმრáƒáƒžáƒ›áƒ შეიძლებრáƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒáƒ“ იმუშáƒáƒáƒ¡"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> áƒáƒ®áƒáƒš ვერსიáƒáƒ–ე გáƒáƒ“áƒáƒ“ის…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"მიმდინáƒáƒ áƒ”áƒáƒ‘ს áƒáƒžáƒšáƒ˜áƒ™áƒáƒªáƒ˜áƒ”ბის áƒáƒžáƒ¢áƒ˜áƒ›áƒ˜áƒ–áƒáƒªáƒ˜áƒ. დáƒáƒ¡áƒ áƒ£áƒšáƒ”ბულირ<xliff:g id="NUMBER_0">%1$d</xliff:g>, სულ <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"ემზáƒáƒ“ებრ<xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"áƒáƒžáƒ”ბის ჩáƒáƒ áƒ—ვáƒ"</string>
diff --git a/core/res/res/values-kk-rKZ/strings.xml b/core/res/res/values-kk-rKZ/strings.xml
index 49d713919643..88c1136485b3 100644
--- a/core/res/res/values-kk-rKZ/strings.xml
+++ b/core/res/res/values-kk-rKZ/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Қойманы оңтайландыру."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android жаңартылуда"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Жаңарту аÑқталғанға дейін кейбір қолданбалар Ð´Ò±Ñ€Ñ‹Ñ Ð¶Ò±Ð¼Ñ‹Ñ Ñ–Ñтемеуі мүмкін"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> жаңартылуда…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"<xliff:g id="NUMBER_1">%2$d</xliff:g> ішінен <xliff:g id="NUMBER_0">%1$d</xliff:g> қолданба оңтайландырылуда."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> дайындалуда."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Қолданбалар Ñ–Ñке қоÑылуда."</string>
diff --git a/core/res/res/values-km-rKH/strings.xml b/core/res/res/values-km-rKH/strings.xml
index 3ffa5612eebb..1bf6ae528e64 100644
--- a/core/res/res/values-km-rKH/strings.xml
+++ b/core/res/res/values-km-rKH/strings.xml
@@ -1026,8 +1026,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"កំពុងធ្វើឲ្យឧបករណáŸáž•្ទុកមានប្រសិទ្ធភាព។"</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android កំពុងអាប់គ្រáŸáž..."</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"កម្មវិធីមួយចំនួនអាចនឹងមិនដំណើរការប្រក្រážáž¸áž“ោះទ០រហូážážŠáž›áŸ‹áž€áž¶ážšáž¢áž¶áž”់គ្រáŸážáž”ញ្ចប់"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> អាប់គ្រáŸážâ€¦"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"ធ្វើ​ឲ្យ​កម្មវិធី​ប្រសើរ​ឡើង <xliff:g id="NUMBER_0">%1$d</xliff:g> នៃ <xliff:g id="NUMBER_1">%2$d</xliff:g> ។"</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"កំពុងរៀបចំ <xliff:g id="APPNAME">%1$s</xliff:g>។"</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"ចាប់ផ្ដើម​កម្មវិធី។"</string>
diff --git a/core/res/res/values-kn-rIN/strings.xml b/core/res/res/values-kn-rIN/strings.xml
index 7960cbab7a09..99739727bee9 100644
--- a/core/res/res/values-kn-rIN/strings.xml
+++ b/core/res/res/values-kn-rIN/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"ಸಂಗà³à²°à²¹à²£à³†à²¯à²¨à³à²¨à³ ಆಪà³à²Ÿà²¿à²®à³ˆà²¸à³ ಮಾಡಲಾಗà³à²¤à³à²¤à²¿à²¦à³†."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android ಅಪà³â€Œà²—à³à²°à³‡à²¡à³â€Œ ಮಾಡಲಾಗà³à²¤à³à²¤à²¿à²¦à³†"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"ಅಪà³â€Œà²—à³à²°à³‡à²¡à³ ಮà³à²—ಿಯà³à²µ ತನಕ ಕೆಲವೠಅಪà³à²²à²¿à²•ೇಶನà³â€Œà²—ಳೠಸರಿಯಾಗಿ ಕೆಲಸ ಮಾಡದಿರಬಹà³à²¦à³"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> ಅಪà³â€Œà²—à³à²°à³‡à²¡à³ ಆಗà³à²¤à³à²¤à²¿à²¦à³†..."</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"<xliff:g id="NUMBER_1">%2$d</xliff:g> ರಲà³à²²à²¿ <xliff:g id="NUMBER_0">%1$d</xliff:g> ಅಪà³à²²à²¿à²•ೇಶನà³â€Œ ಆಪà³à²Ÿà²¿à²®à³ˆà²¸à³ ಮಾಡಲಾಗà³à²¤à³à²¤à²¿à²¦à³†."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> ಸಿದà³à²§à²ªà²¡à²¿à²¸à²²à²¾à²—à³à²¤à³à²¤à²¿à²¦à³†."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"ಅಪà³à²²à²¿à²•ೇಶನà³â€Œà²—ಳನà³à²¨à³ ಪà³à²°à²¾à²°à²‚ಭಿಸಲಾಗà³à²¤à³à²¤à²¿à²¦à³†."</string>
diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml
index 2e58e82d899a..8392b8de458e 100644
--- a/core/res/res/values-ko/strings.xml
+++ b/core/res/res/values-ko/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"저장소 최ì í™” 중"</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android 업그레ì´ë“œ 중"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"특정 ì•±ì€ ì—…ê·¸ë ˆì´ë“œê°€ ì™„ë£Œë  ë•Œê¹Œì§€ 제대로 ìž‘ë™í•˜ì§€ ì•Šì„ ìˆ˜ 있습니다."</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> 업그레ì´ë“œ 중…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"앱 <xliff:g id="NUMBER_1">%2$d</xliff:g>ê°œ 중 <xliff:g id="NUMBER_0">%1$d</xliff:g>ê°œ 최ì í™” 중"</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> 준비 중..."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"ì•±ì„ ì‹œìž‘í•˜ëŠ” 중입니다."</string>
diff --git a/core/res/res/values-ky-rKG/strings.xml b/core/res/res/values-ky-rKG/strings.xml
index 5ba942726ba8..367652282208 100644
--- a/core/res/res/values-ky-rKG/strings.xml
+++ b/core/res/res/values-ky-rKG/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Сактагыч ыңгайлаштырылууда."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android жаңыртылууда"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Жаңыртуу аÑгына чыкмайынча айрым колдонмолор талаптагыдай иштебей калышы мүмкүн"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> жаңыртылууда..."</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"<xliff:g id="NUMBER_1">%2$d</xliff:g> ичинен <xliff:g id="NUMBER_0">%1$d</xliff:g> колдонмо ыңгайлаштырылууда."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> даÑрдалууда."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Колдонмолорду иштетип баштоо"</string>
diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml
index c8e35329ff4b..8d67b18b6b04 100644
--- a/core/res/res/values-lt/strings.xml
+++ b/core/res/res/values-lt/strings.xml
@@ -1070,8 +1070,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Optimizuojama saugykla."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"„Android“ naujovinama"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Kai kurios programos gali tinkamai neveikti, kol naujovinimo procesas nebus baigtas"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"„<xliff:g id="APPLICATION">%1$s</xliff:g>“ naujovinama..."</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Optimizuojama <xliff:g id="NUMBER_0">%1$d</xliff:g> progr. iš <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Ruošiama „<xliff:g id="APPNAME">%1$s</xliff:g>“."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Paleidžiamos programos."</string>
diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml
index e48261810dcf..d18a59b79ab7 100644
--- a/core/res/res/values-lv/strings.xml
+++ b/core/res/res/values-lv/strings.xml
@@ -1047,8 +1047,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Notiek krÄtuves optimizēšana."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Notiek Android jauninÄÅ¡ana..."</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"KamÄ“r jauninÄÅ¡ana nebÅ«s pabeigta, dažas lietotnes, iespÄ“jams, nedarbosies pareizi."</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"Notiek lietotnes <xliff:g id="APPLICATION">%1$s</xliff:g> jauninÄÅ¡ana…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Tiek optimizēta <xliff:g id="NUMBER_0">%1$d</xliff:g>. lietotne no <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Notiek lietotnes <xliff:g id="APPNAME">%1$s</xliff:g> sagatavošana."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Notiek lietotņu palaišana."</string>
diff --git a/core/res/res/values-mk-rMK/strings.xml b/core/res/res/values-mk-rMK/strings.xml
index 4ebd66bb1ebb..913099045810 100644
--- a/core/res/res/values-mk-rMK/strings.xml
+++ b/core/res/res/values-mk-rMK/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Оптимизирање на Ñкладирањето."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android Ñе ажурира"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Ðекои апликации може да не работат правилно додека не Ñе заврши надградбата"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> Ñе надградува…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Се оптимизира апликација <xliff:g id="NUMBER_0">%1$d</xliff:g> од <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Се подготвува <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Се Ñтартуваат апликациите."</string>
diff --git a/core/res/res/values-ml-rIN/strings.xml b/core/res/res/values-ml-rIN/strings.xml
index ac9018cf9559..33764f577625 100644
--- a/core/res/res/values-ml-rIN/strings.xml
+++ b/core/res/res/values-ml-rIN/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"à´¸àµà´±àµà´±àµ‹à´±àµ‡à´œàµ à´’à´ªàµâ€Œà´±àµà´±à´¿à´®àµˆà´¸àµ ചെയàµà´¯àµà´¨àµà´¨àµ."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android à´…à´ªàµà´—àµà´°àµ‡à´¡àµà´šàµ†à´¯àµà´¯àµà´¨àµà´¨àµ"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"à´…à´ªàµâ€Œà´—àµà´°àµ‡à´¡àµ പൂർതàµà´¤à´¿à´¯à´¾à´•àµà´¨àµà´¨à´¤àµ വരെ à´šà´¿à´² ആപàµâ€Œà´¸àµ ശരിയായി à´ªàµà´°à´µàµ¼à´¤àµà´¤à´¿à´šàµà´šàµ‡à´•àµà´•à´¿à´²àµà´²"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> à´…à´ªàµà´—àµà´°àµ‡à´¡àµ ചെയàµà´¯àµà´¨àµà´¨àµâ€¦"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"<xliff:g id="NUMBER_0">%1$d</xliff:g> / <xliff:g id="NUMBER_1">%2$d</xliff:g> à´…à´ªàµà´²à´¿à´•àµà´•േഷൻ à´“à´ªàµà´±àµà´±à´¿à´®àµˆà´¸àµ ചെയàµà´¯àµà´¨àµà´¨àµ."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> തയàµà´¯à´¾à´±à´¾à´•àµà´•àµà´¨àµà´¨àµ."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"à´…à´ªàµà´²à´¿à´•àµà´•േഷനàµà´•ൾ ആരംഭികàµà´•àµà´¨àµà´¨àµ."</string>
diff --git a/core/res/res/values-mn-rMN/strings.xml b/core/res/res/values-mn-rMN/strings.xml
index 0b55a7a73ff1..543f4cca8d1b 100644
--- a/core/res/res/values-mn-rMN/strings.xml
+++ b/core/res/res/values-mn-rMN/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Хадгалалтыг Ñайжруулж байна."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Ðндройдыг дÑвшүүлж байна"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"ШинÑчилж дууÑтал зарим апп Ñ…Ñвийн Ð±ÑƒÑ Ð°Ð¶Ð¸Ð»Ð»Ð°Ð¶ болзошгүй"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g>-г Ñайжруулж байна…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"<xliff:g id="NUMBER_1">%2$d</xliff:g>-н <xliff:g id="NUMBER_0">%1$d</xliff:g> апп-г тохируулж байна."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"БÑлдÑж байна <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Ðпп-г Ñхлүүлж байна."</string>
diff --git a/core/res/res/values-mr-rIN/strings.xml b/core/res/res/values-mr-rIN/strings.xml
index a1269e19301f..90bbc6b3b427 100644
--- a/core/res/res/values-mr-rIN/strings.xml
+++ b/core/res/res/values-mr-rIN/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"संचयन ऑपà¥à¤Ÿà¤¿à¤®à¤¾à¤‡à¤ करत आहे."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android शà¥à¤°à¥‡à¤£à¥€à¤¸à¥à¤§à¤¾à¤°à¤¿à¤¤ होत आहे"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"शà¥à¤°à¥‡à¤£à¥€à¤¸à¥à¤§à¤¾à¤°à¤£à¤¾ पूरà¥à¤£ होईपरà¥à¤¯à¤‚त काही अॅपà¥à¤¸ योगà¥à¤¯à¤°à¤¿à¤¤à¥à¤¯à¤¾ कारà¥à¤¯ करणार नाहीत"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> शà¥à¤°à¥‡à¤£à¥€à¤¸à¥à¤§à¤¾à¤°à¤¿à¤¤ करीत आहे…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"<xliff:g id="NUMBER_1">%2$d</xliff:g> पैकी <xliff:g id="NUMBER_0">%1$d</xliff:g> अॅप ऑपà¥à¤Ÿà¤¿à¤®à¤¾à¤‡à¤ करत आहे."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> तयार करीत आहे."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"अॅपà¥à¤¸ पà¥à¤°à¤¾à¤°à¤‚भ करत आहे."</string>
diff --git a/core/res/res/values-ms-rMY/strings.xml b/core/res/res/values-ms-rMY/strings.xml
index 3f9e156ff3f0..98f00ccdd802 100644
--- a/core/res/res/values-ms-rMY/strings.xml
+++ b/core/res/res/values-ms-rMY/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Mengoptimumkan storan."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android sedang ditingkatkan"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Sesetengah apl mungkin tidak berfungsi dengan betul sehingga peningkatan selesai"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> sedang ditingkatkan…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Mengoptimumkan apl <xliff:g id="NUMBER_0">%1$d</xliff:g> daripada <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Menyediakan <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Memulakan apl."</string>
diff --git a/core/res/res/values-my-rMM/strings.xml b/core/res/res/values-my-rMM/strings.xml
index d7d59021ad44..e95906576c89 100644
--- a/core/res/res/values-my-rMM/strings.xml
+++ b/core/res/res/values-my-rMM/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"သိုလှောင်မှုအား ပြုပြင်á€á€¼á€„်းá‹"</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android ကိုအဆင့်မြှင့်á€á€„်နေပါသည်"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"အဆင့်မြှင့်á€á€„်á€á€¼á€„်း မပြီးဆုံးသေးသá အá€á€»á€­á€¯á€·á€¡á€€á€ºá€•်များကို ကောင်းမွန်စွာအသုံးပြုနိုင်ဦးမည် မဟုá€á€ºá€•ါ"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> ကို အဆင့်မြှင့်á€á€„်နေပါသည်…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"<xliff:g id="NUMBER_0">%1$d</xliff:g> ထဲက အက်ပ်<xliff:g id="NUMBER_1">%2$d</xliff:g>ကို ဆီလျော်အောင် လုပ်နေ"</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> အားပြင်ဆင်နေသည်á‹"</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"အက်ပ်များကို စá€á€„်နေ"</string>
diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml
index d2e4d7162da4..f45d26dfc6c6 100644
--- a/core/res/res/values-nb/strings.xml
+++ b/core/res/res/values-nb/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Optimaliser lagring."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android oppgraderes"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Noen apper fungerer kanskje ikke skikkelig før oppgraderingen er fullført"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> oppgraderes …"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Optimaliserer app <xliff:g id="NUMBER_0">%1$d</xliff:g> av <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Forbereder <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Starter apper."</string>
diff --git a/core/res/res/values-ne-rNP/strings.xml b/core/res/res/values-ne-rNP/strings.xml
index b3de0aaec8c4..d657459276e4 100644
--- a/core/res/res/values-ne-rNP/strings.xml
+++ b/core/res/res/values-ne-rNP/strings.xml
@@ -1030,8 +1030,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"भणà¥à¤¡à¤¾à¤°à¤£ अनà¥à¤•ूलन गरà¥à¤¦à¥ˆà¥¤"</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android को सà¥à¤¤à¤°à¤µà¥ƒà¤¦à¥à¤§à¤¿ हà¥à¤à¤¦à¥ˆà¤›"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"सà¥à¤¤à¤°à¤µà¥ƒà¤¦à¥à¤§à¤¿ समà¥à¤ªà¤¨à¥à¤¨ नभà¤à¤¸à¤®à¥à¤® केही अनà¥à¤ªà¥à¤°à¤¯à¥‹à¤—हरू रामà¥à¤°à¤°à¥€ काम नगरà¥à¤¨ सकà¥à¤›à¤¨à¥"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> को सà¥à¤¤à¤°à¤µà¥ƒà¤¦à¥à¤§à¤¿ हà¥à¤à¤¦à¥ˆà¤›â€¦"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"अनà¥à¤ªà¥à¤°à¤¯à¥‹à¤— अनà¥à¤•à¥à¤² हà¥à¤à¤¦à¥ˆ <xliff:g id="NUMBER_0">%1$d</xliff:g> को <xliff:g id="NUMBER_1">%2$d</xliff:g>।"</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> तयारी गरà¥à¤¦à¥ˆà¥¤"</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"सà¥à¤°à¥à¤µà¤¾à¤¤ अनà¥à¤ªà¥à¤°à¤¯à¥‹à¤—हरू।"</string>
diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml
index f23d046595dc..b4d9f6e9b6e7 100644
--- a/core/res/res/values-nl/strings.xml
+++ b/core/res/res/values-nl/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Opslagruimte wordt geoptimaliseerd."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android wordt geüpgraded"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Sommige apps werken mogelijk pas correct nadat de upgrade is voltooid"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> upgraden…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"App <xliff:g id="NUMBER_0">%1$d</xliff:g> van <xliff:g id="NUMBER_1">%2$d</xliff:g> optimaliseren."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> voorbereiden."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Apps starten."</string>
diff --git a/core/res/res/values-notround-watch/dimens_material.xml b/core/res/res/values-notround-watch/dimens_material.xml
index b02437b5eb6f..9cacb117cf7b 100644
--- a/core/res/res/values-notround-watch/dimens_material.xml
+++ b/core/res/res/values-notround-watch/dimens_material.xml
@@ -20,4 +20,7 @@
<dimen name="list_item_padding_horizontal_material">16dp</dimen>
<dimen name="list_item_padding_start_material">16dp</dimen>
<dimen name="list_item_padding_end_material">16dp</dimen>
+
+ <dimen name="dialog_list_padding_top_no_title">8dp</dimen>
+ <dimen name="dialog_list_padding_bottom_no_buttons">8dp</dimen>
</resources>
diff --git a/core/res/res/values-pa-rIN/strings.xml b/core/res/res/values-pa-rIN/strings.xml
index d96b89eb725e..578767c861b2 100644
--- a/core/res/res/values-pa-rIN/strings.xml
+++ b/core/res/res/values-pa-rIN/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"ਸਟੋਰੇਜ ਅਨà©à¨•ੂਲ ਕਰ ਰਿਹਾ ਹੈ।"</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android ਅੱਪਗà©à¨°à©‡à¨¡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"ਹੋ ਸਕਦਾ ਹੈ ਕਿ ਕà©à¨ à¨à¨ªà¨¾à¨‚ ਅੱਪਗà©à¨°à©‡à¨¡ ਦੇ ਪੂਰੀ ਹੋਣ ਤੱਕ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਨਾ ਕਰਨ"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> ਅੱਪਗà©à¨°à©‡à¨¡ ਹੋ ਰਹੀ ਹੈ…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"<xliff:g id="NUMBER_0">%1$d</xliff:g> <xliff:g id="NUMBER_1">%2$d</xliff:g> ਦਾ à¨à¨ª ਅਨà©à¨•ੂਲ ਕਰ ਰਿਹਾ ਹੈ।"</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> ਤਿਆਰ ਕਰ ਰਿਹਾ ਹੈ।"</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"à¨à¨ªà¨¸ ਚਾਲੂ ਕਰ ਰਿਹਾ ਹੈ।"</string>
diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml
index dcbf9d042b89..8d0f70793b19 100644
--- a/core/res/res/values-pl/strings.xml
+++ b/core/res/res/values-pl/strings.xml
@@ -1070,8 +1070,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Optymalizacja pamięci."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android jest uaktualniany"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Niektóre aplikacje mogą nie działać prawidłowo, dopóki nie zakończy się aktualizacja."</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"Uaktualniam aplikację <xliff:g id="APPLICATION">%1$s</xliff:g>…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Optymalizowanie aplikacji <xliff:g id="NUMBER_0">%1$d</xliff:g> z <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"PrzygotowujÄ™ aplikacjÄ™ <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Uruchamianie aplikacji."</string>
diff --git a/core/res/res/values-pt-rBR/strings.xml b/core/res/res/values-pt-rBR/strings.xml
index 6998871d0d14..dcacac642fc2 100644
--- a/core/res/res/values-pt-rBR/strings.xml
+++ b/core/res/res/values-pt-rBR/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Otimizando o armazenamento."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"O Android está sendo atualizado"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Alguns apps podem não funcionar corretamente até que a atualização seja concluída"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> está fazendo upgrade…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Otimizando app <xliff:g id="NUMBER_0">%1$d</xliff:g> de <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Preparando <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Iniciando apps."</string>
diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml
index 1e96a4d28bca..3acdc91fd171 100644
--- a/core/res/res/values-pt-rPT/strings.xml
+++ b/core/res/res/values-pt-rPT/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"A otimizar o armazenamento."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"O Android está a ser atualizado"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Algumas aplicações podem não funcionar corretamente enquanto a atualização não for concluída"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"O <xliff:g id="APPLICATION">%1$s</xliff:g> está a ser atualizado…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"A otimizar a aplicação <xliff:g id="NUMBER_0">%1$d</xliff:g> de <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"A preparar o <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"A iniciar aplicações"</string>
diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml
index 6998871d0d14..dcacac642fc2 100644
--- a/core/res/res/values-pt/strings.xml
+++ b/core/res/res/values-pt/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Otimizando o armazenamento."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"O Android está sendo atualizado"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Alguns apps podem não funcionar corretamente até que a atualização seja concluída"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> está fazendo upgrade…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Otimizando app <xliff:g id="NUMBER_0">%1$d</xliff:g> de <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Preparando <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Iniciando apps."</string>
diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml
index 0058858484b8..fa5a188ccf79 100644
--- a/core/res/res/values-ro/strings.xml
+++ b/core/res/res/values-ro/strings.xml
@@ -1047,8 +1047,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Se optimizează stocarea."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android face upgrade"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Este posibil ca unele aplicații să nu funcționeze corespunzător până când nu se finalizează upgrade-ul"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"Se face upgrade pentru <xliff:g id="APPLICATION">%1$s</xliff:g>…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Se optimizează aplicația <xliff:g id="NUMBER_0">%1$d</xliff:g> din <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Se pregătește <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Se pornesc aplicațiile."</string>
diff --git a/core/res/res/values-round-watch/dimens_material.xml b/core/res/res/values-round-watch/dimens_material.xml
index db1f1f34638b..f2de4e013a78 100644
--- a/core/res/res/values-round-watch/dimens_material.xml
+++ b/core/res/res/values-round-watch/dimens_material.xml
@@ -20,4 +20,7 @@
<dimen name="list_item_padding_horizontal_material">@dimen/screen_percentage_15</dimen>
<dimen name="list_item_padding_start_material">@dimen/screen_percentage_15</dimen>
<dimen name="list_item_padding_end_material">@dimen/screen_percentage_10</dimen>
+
+ <dimen name="dialog_list_padding_top_no_title">@dimen/screen_percentage_15</dimen>
+ <dimen name="dialog_list_padding_bottom_no_buttons">@dimen/screen_percentage_15</dimen>
</resources>
diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml
index e202854e5972..67cb5192590b 100644
--- a/core/res/res/values-ru/strings.xml
+++ b/core/res/res/values-ru/strings.xml
@@ -1070,8 +1070,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"ÐžÐ¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñ…Ñ€Ð°Ð½Ð¸Ð»Ð¸Ñ‰Ð°â€¦"</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Обновление Android"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Во Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñ‹ неполадки в работе приложений."</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"Обновление Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ \"<xliff:g id="APPLICATION">%1$s</xliff:g>\"…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"ÐžÐ¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ <xliff:g id="NUMBER_0">%1$d</xliff:g> из <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Подготовка Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ \"<xliff:g id="APPNAME">%1$s</xliff:g>\"..."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"ЗапуÑк приложений."</string>
diff --git a/core/res/res/values-si-rLK/strings.xml b/core/res/res/values-si-rLK/strings.xml
index 9240212eadcc..e68b2a712f4a 100644
--- a/core/res/res/values-si-rLK/strings.xml
+++ b/core/res/res/values-si-rLK/strings.xml
@@ -1026,8 +1026,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"ආචයනය à¶´à·Šâ€à¶»à·à·ƒà·Šà¶­à·’කරණය කිරීම."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android à¶‹à¶­à·Šà·à·Šâ€à¶»à·šà¶«à·’ කරමින්"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"à¶‹à¶­à·Šà·à·Šâ€à¶»à·šà¶«à·’ කිරීම අවසන් වන තෙක් සමහර යෙදුම් නිසි ලෙස à¶šà·Šâ€à¶»à·’ය෠නොකළ à·„à·à¶šà·’ය"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> à¶‹à¶­à·Šà·à·Šâ€à¶»à·šà¶«à·’ කරමින්…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"<xliff:g id="NUMBER_1">%2$d</xliff:g> කින් <xliff:g id="NUMBER_0">%1$d</xliff:g> à·€à·à¶±à·’ යෙදුම à¶´à·Šâ€à¶»à·à·ƒà·Šà¶­ කරමින්."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> සූදà·à¶±à¶¸à·Š කරමින්."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"යෙදුම් ආරම්භ කරමින්."</string>
diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml
index e077075b0258..09401e37ccc6 100644
--- a/core/res/res/values-sk/strings.xml
+++ b/core/res/res/values-sk/strings.xml
@@ -1070,8 +1070,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Optimalizuje sa úložisko"</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Prebieha inovácia systému Android"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Niektoré aplikácie môžu správne fungovaÅ¥ až po dokonÄení inovácie"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"Aplikácia <xliff:g id="APPLICATION">%1$s</xliff:g> sa inovuje…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Prebieha optimalizácia aplikácie <xliff:g id="NUMBER_0">%1$d</xliff:g> z <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Pripravuje sa aplikácia <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Prebieha spúšťanie aplikácií."</string>
diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml
index e1eea815a692..e64ecbde8087 100644
--- a/core/res/res/values-sl/strings.xml
+++ b/core/res/res/values-sl/strings.xml
@@ -1070,8 +1070,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Optimiziranje shrambe."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Poteka nadgradnja Androida."</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Nekatere aplikacije morda ne bodo delovale pravilno, dokler ne bo dokonÄana nadgradnja."</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> se nadgrajuje …"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Optimiranje aplikacije <xliff:g id="NUMBER_0">%1$d</xliff:g> od <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Pripravljanje aplikacije <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Zagon aplikacij."</string>
diff --git a/core/res/res/values-sq-rAL/strings.xml b/core/res/res/values-sq-rAL/strings.xml
index 5ad7ba4e6561..f7433a488ea3 100644
--- a/core/res/res/values-sq-rAL/strings.xml
+++ b/core/res/res/values-sq-rAL/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Po përshtat ruajtjen."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android po përmirësohet"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Disa aplikacione mund të mos funksionojnë si duhet deri sa të përfundojë përmirësimi"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> po përmirësohet…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Po përshtat aplikacionin <xliff:g id="NUMBER_0">%1$d</xliff:g> nga gjithsej <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Po përgatit <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Aplikacionet e fillimit."</string>
diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml
index 7bfc3ddaf3cb..b68869246682 100644
--- a/core/res/res/values-sr/strings.xml
+++ b/core/res/res/values-sr/strings.xml
@@ -1047,8 +1047,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Меморија Ñе оптимизује."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android Ñе надограђује…"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Ðеке апликације можда неће иÑправно функциониÑати док Ñе надоградња не доврши"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> Ñе надограђује…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Оптимизовање апликације <xliff:g id="NUMBER_0">%1$d</xliff:g> од <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Припрема Ñе <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Покретање апликација."</string>
diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml
index 86733605a083..0fd61b7ec66a 100644
--- a/core/res/res/values-sv/strings.xml
+++ b/core/res/res/values-sv/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Lagringsutrymmet optimeras."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android uppgraderas"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"En del appar kanske inte fungerar som de ska innan uppgraderingen har slutförts"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> uppgraderas …"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Optimerar app <xliff:g id="NUMBER_0">%1$d</xliff:g> av <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> förbereds."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Appar startas."</string>
diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml
index 71d9bf75e707..2bde55db4737 100644
--- a/core/res/res/values-sw/strings.xml
+++ b/core/res/res/values-sw/strings.xml
@@ -1022,8 +1022,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Inaboresha hifadhi."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Tunasasisha Android"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Huenda baadhi ya programu zisifanye kazi vizuri hadi itakapomaliza kusasisha"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> inapata toleo jipya…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Inaboresha programu <xliff:g id="NUMBER_0">%1$d</xliff:g> kutoka <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Inaandaa <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Programu zinaanza"</string>
diff --git a/core/res/res/values-ta-rIN/strings.xml b/core/res/res/values-ta-rIN/strings.xml
index 823286cab455..6ace6e12aef8 100644
--- a/core/res/res/values-ta-rIN/strings.xml
+++ b/core/res/res/values-ta-rIN/strings.xml
@@ -243,23 +243,23 @@
<string name="user_owner_label" msgid="1119010402169916617">"தனிபà¯à®ªà®Ÿà¯à®Ÿ சà¯à®¯à®µà®¿à®µà®°à®¤à¯à®¤à®¿à®±à¯à®•௠மாறà¯"</string>
<string name="managed_profile_label" msgid="5289992269827577857">"பணிச௠சà¯à®¯à®µà®¿à®µà®°à®¤à¯à®¤à®¿à®±à¯à®•௠மாறà¯"</string>
<string name="permgrouplab_contacts" msgid="3657758145679177612">"தொடரà¯à®ªà¯à®•ளà¯"</string>
- <string name="permgroupdesc_contacts" msgid="6951499528303668046">"தொடரà¯à®ªà¯à®•ளை அணà¯à®•à¯à®®à¯"</string>
+ <string name="permgroupdesc_contacts" msgid="6951499528303668046">"தொடரà¯à®ªà¯à®•ளை அணà¯à®• வேணà¯à®Ÿà¯à®®à¯"</string>
<string name="permgrouplab_location" msgid="7275582855722310164">"இரà¯à®ªà¯à®ªà®¿à®Ÿà®®à¯"</string>
- <string name="permgroupdesc_location" msgid="1346617465127855033">"சாதனதà¯à®¤à®¿à®©à¯ இரà¯à®ªà¯à®ªà®¿à®Ÿà®¤à¯à®¤à¯ˆ அணà¯à®•à¯à®®à¯"</string>
+ <string name="permgroupdesc_location" msgid="1346617465127855033">"இநà¯à®¤à®šà¯ சாதனதà¯à®¤à®¿à®©à¯ இரà¯à®ªà¯à®ªà®¿à®Ÿà®¤à¯à®¤à¯ˆ அறிநà¯à®¤à¯ கொளà¯à®³à®²à®¾à®®à¯"</string>
<string name="permgrouplab_calendar" msgid="5863508437783683902">"கேலெணà¯à®Ÿà®°à¯"</string>
- <string name="permgroupdesc_calendar" msgid="3889615280211184106">"கேலெணà¯à®Ÿà®°à¯ˆ அணà¯à®•à¯à®®à¯"</string>
+ <string name="permgroupdesc_calendar" msgid="3889615280211184106">"கேலெணà¯à®Ÿà®°à¯ˆ அணà¯à®•லாமà¯"</string>
<string name="permgrouplab_sms" msgid="228308803364967808">"SMS"</string>
- <string name="permgroupdesc_sms" msgid="4656988620100940350">"SMS செயà¯à®¤à®¿à®•ளை அனà¯à®ªà¯à®ªà¯à®®à¯ மறà¯à®±à¯à®®à¯ பாரà¯à®•à¯à®•à¯à®®à¯"</string>
+ <string name="permgroupdesc_sms" msgid="4656988620100940350">"SMS அனà¯à®ªà¯à®ªà®²à®¾à®®à¯, வநà¯à®¤ SMSகளைப௠பாரà¯à®•à¯à®•லாமà¯"</string>
<string name="permgrouplab_storage" msgid="1971118770546336966">"சேமிபà¯à®ªà®¿à®Ÿà®®à¯"</string>
- <string name="permgroupdesc_storage" msgid="637758554581589203">"உஙà¯à®•ள௠சாதனதà¯à®¤à®¿à®²à¯ உளà¯à®³ படஙà¯à®•ளà¯, மீடியா மறà¯à®±à¯à®®à¯ கோபà¯à®ªà¯à®•ளை அணà¯à®•à¯à®®à¯"</string>
+ <string name="permgroupdesc_storage" msgid="637758554581589203">"உஙà¯à®•ள௠சாதனதà¯à®¤à®¿à®²à¯ உளà¯à®³ படஙà¯à®•ளà¯, மீடியா மறà¯à®±à¯à®®à¯ கோபà¯à®ªà¯à®•ளை அணà¯à®• வேணà¯à®Ÿà¯à®®à¯"</string>
<string name="permgrouplab_microphone" msgid="171539900250043464">"மைகà¯à®°à¯‹à®ƒà®ªà¯‹à®©à¯"</string>
- <string name="permgroupdesc_microphone" msgid="4988812113943554584">"ஆடியோவைப௠பதிவà¯à®šà¯†à®¯à¯à®¯à¯à®®à¯"</string>
+ <string name="permgroupdesc_microphone" msgid="4988812113943554584">"ஒலிப௠பதிவ௠செயà¯à®¯à®²à®¾à®®à¯"</string>
<string name="permgrouplab_camera" msgid="4820372495894586615">"கேமரா"</string>
- <string name="permgroupdesc_camera" msgid="3250611594678347720">"படஙà¯à®•ளை எடà¯à®•à¯à®•à¯à®®à¯, வீடியோவைப௠பதிவà¯à®šà¯†à®¯à¯à®¯à¯à®®à¯"</string>
+ <string name="permgroupdesc_camera" msgid="3250611594678347720">"படஙà¯à®•ள௠மறà¯à®±à¯à®®à¯ வீடியோகà¯à®•ள௠எடà¯à®•à¯à®•லாமà¯"</string>
<string name="permgrouplab_phone" msgid="5229115638567440675">"ஃபோனà¯"</string>
- <string name="permgroupdesc_phone" msgid="6234224354060641055">"மொபைல௠அழைபà¯à®ªà¯à®•ளைச௠செயà¯à®¯à¯à®®à¯, பெறà¯à®®à¯"</string>
+ <string name="permgroupdesc_phone" msgid="6234224354060641055">"யாரையà¯à®®à¯ தொலைபேசியில௠அழைகà¯à®•லாமà¯"</string>
<string name="permgrouplab_sensors" msgid="416037179223226722">"உடல௠உணரà¯à®µà®¿à®•ளà¯"</string>
- <string name="permgroupdesc_sensors" msgid="7147968539346634043">"உஙà¯à®•ள௠உடலியகà¯à®•க௠கà¯à®±à®¿à®•ள௠பறà¯à®±à®¿à®¯ உணரà¯à®µà®¿à®¤à¯ தரவை அணà¯à®•à¯à®®à¯"</string>
+ <string name="permgroupdesc_sensors" msgid="7147968539346634043">"உஙà¯à®•ள௠உடல௠இயகà¯à®•ம௠பறà¯à®±à®¿ உணரà¯à®µà®¿à®•ள௠கூறà¯à®®à¯ தகவலைப௠பாரà¯à®•à¯à®•லாமà¯"</string>
<string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"சாளர உளà¯à®³à®Ÿà®•à¯à®•தà¯à®¤à¯ˆà®ªà¯ பெறà¯à®®à¯"</string>
<string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"நீஙà¯à®•ள௠பணியாறà¯à®±à®¿ கொணà¯à®Ÿà®¿à®°à¯à®•à¯à®•à¯à®®à¯ சாளரதà¯à®¤à®¿à®©à¯ உளà¯à®³à®Ÿà®•à¯à®•தà¯à®¤à¯ˆà®ªà¯ பாரà¯à®•à¯à®•லாமà¯."</string>
<string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"தொடà¯à®µà®¤à®©à¯ மூலம௠அறிவதை இயகà¯à®•à¯à®®à¯"</string>
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"சேமிபà¯à®ªà®•தà¯à®¤à¯ˆ உகநà¯à®¤à®¤à®¾à®•à¯à®•à¯à®•ிறதà¯."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android மேமà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®•ிறதà¯"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"மேமà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®µà®¤à¯ à®®à¯à®Ÿà®¿à®¯à¯à®®à¯ வரை, சில பயனà¯à®ªà®¾à®Ÿà¯à®•ள௠சரியாக வேலைசெயà¯à®¯à®¾à®®à®²à¯ போககà¯à®•ூடà¯à®®à¯"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g>஠மேமà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®•ிறதà¯â€¦"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"<xliff:g id="NUMBER_0">%1$d</xliff:g> / <xliff:g id="NUMBER_1">%2$d</xliff:g> பயனà¯à®ªà®¾à®Ÿà¯à®Ÿà¯ˆ à®’à®°à¯à®™à¯à®•ிணைகà¯à®•ிறதà¯."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g>à®à®¤à¯ தயாரà¯à®šà¯†à®¯à¯à®•ிறதà¯."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"பயனà¯à®ªà®¾à®Ÿà¯à®•ள௠தொடஙà¯à®•பà¯à®ªà®Ÿà¯à®•ினà¯à®±à®©."</string>
diff --git a/core/res/res/values-te-rIN/strings.xml b/core/res/res/values-te-rIN/strings.xml
index 6218cdfeef0a..d00403216a7c 100644
--- a/core/res/res/values-te-rIN/strings.xml
+++ b/core/res/res/values-te-rIN/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"నిలà±à°µà°¨à± à°…à°¨à±à°•ూలపరà±à°¸à±à°¤à±‹à°‚ది."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android à°…à°ªà±â€Œà°—à±à°°à±‡à°¡à± à°…à°µà±à°¤à±‹à°‚ది"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"à°…à°ªà±â€Œà°—à±à°°à±‡à°¡à± పూరà±à°¤à°¯à±à°¯à±‡ వరకౠకొనà±à°¨à°¿ à°…à°¨à±à°µà°°à±à°¤à°¨à°¾à°²à± సరిగà±à°—à°¾ పని చేయకపోవచà±à°šà±"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g>ని à°…à°ªà±â€Œà°—à±à°°à±‡à°¡à± చేసà±à°¤à±‹à°‚ది…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"<xliff:g id="NUMBER_1">%2$d</xliff:g>లో <xliff:g id="NUMBER_0">%1$d</xliff:g> à°…à°¨à±à°µà°°à±à°¤à°¨à°¾à°¨à±à°¨à°¿ à°…à°¨à±à°•ూలీకరిసà±à°¤à±‹à°‚ది."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g>ని సిదà±à°§à°‚ చేసà±à°¤à±‹à°‚ది."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"à°…à°¨à±à°µà°°à±à°¤à°¨à°¾à°²à°¨à± à°ªà±à°°à°¾à°°à°‚à°­à°¿à°¸à±à°¤à±‹à°‚ది."</string>
diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml
index 2dfd2e7b1e59..458fc7214315 100644
--- a/core/res/res/values-th/strings.xml
+++ b/core/res/res/values-th/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"à¸à¸³à¸¥à¸±à¸‡à¹€à¸žà¸´à¹ˆà¸¡à¸›à¸£à¸°à¸ªà¸´à¸—ธิภาพพื้นที่จัดเà¸à¹‡à¸šà¸‚้อมูล"</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android à¸à¸³à¸¥à¸±à¸‡à¸­à¸±à¸›à¹€à¸à¸£à¸”"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"à¹à¸­à¸›à¸šà¸²à¸‡à¹à¸­à¸›à¸­à¸²à¸ˆà¸—ำงานไม่ถูà¸à¸•้องจนà¸à¸§à¹ˆà¸²à¸ˆà¸°à¸­à¸±à¸›à¹€à¸à¸£à¸”เสร็จ"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"à¸à¸³à¸¥à¸±à¸‡à¸­à¸±à¸›à¹€à¸à¸£à¸” <xliff:g id="APPLICATION">%1$s</xliff:g>…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"à¸à¸³à¸¥à¸±à¸‡à¹€à¸žà¸´à¹ˆà¸¡à¸›à¸£à¸°à¸ªà¸´à¸—ธิภาพà¹à¸­à¸›à¸žà¸¥à¸´à¹€à¸„ชัน <xliff:g id="NUMBER_0">%1$d</xliff:g> จาภ<xliff:g id="NUMBER_1">%2$d</xliff:g> รายà¸à¸²à¸£"</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"à¸à¸³à¸¥à¸±à¸‡à¹€à¸•รียม <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"à¸à¸³à¸¥à¸±à¸‡à¹€à¸£à¸´à¹ˆà¸¡à¸•้นà¹à¸­à¸›à¸žà¸¥à¸´à¹€à¸„ชัน"</string>
diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml
index 855399280406..fbf1f491578f 100644
--- a/core/res/res/values-tl/strings.xml
+++ b/core/res/res/values-tl/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Ino-optimize ang storage."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Nag-a-upgrade ang Android"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Maaaring hindi gumana nang maayos ang ilang app hangga\'t hindi pa natatapos ang pag-upgrade"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"Nag-a-upgrade ang <xliff:g id="APPLICATION">%1$s</xliff:g>…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Ino-optimize ang app <xliff:g id="NUMBER_0">%1$d</xliff:g> ng <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Ihinahanda ang <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Sinisimulan ang apps."</string>
diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml
index 1033e11d4610..119cd6d2e690 100644
--- a/core/res/res/values-tr/strings.xml
+++ b/core/res/res/values-tr/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Depolama optimize ediliyor."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android yeni sürüme geçiriliyor"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Yeni sürüme geçiş işlemi tamamlanana kadar bazı uygulamalar düzgün çalışmayabilir"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> yeni sürüme geçiriliyor…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"<xliff:g id="NUMBER_0">%1$d</xliff:g>/<xliff:g id="NUMBER_1">%2$d</xliff:g> uygulama optimize ediliyor."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> hazırlanıyor."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Uygulamalar başlatılıyor"</string>
diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml
index 21c1e3f0f1ca..f1a7a19b0d63 100644
--- a/core/res/res/values-uk/strings.xml
+++ b/core/res/res/values-uk/strings.xml
@@ -1070,8 +1070,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"ÐžÐ¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ Ð¿Ð°Ð¼â€™Ñті."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android оновлюєтьÑÑ"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"ДеÑкі додатки можуть не працювати належним чином, доки не завершитьÑÑ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"Додаток <xliff:g id="APPLICATION">%1$s</xliff:g> оновлюєтьÑÑ…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"ÐžÐ¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸ <xliff:g id="NUMBER_0">%1$d</xliff:g> з <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Підготовка додатка <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"ЗапуÑк програм."</string>
diff --git a/core/res/res/values-ur-rPK/strings.xml b/core/res/res/values-ur-rPK/strings.xml
index ff99fb00c491..9bf9a016fa7a 100644
--- a/core/res/res/values-ur-rPK/strings.xml
+++ b/core/res/res/values-ur-rPK/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"اسٹوریج Ú©Ùˆ Ø¨ÛØªØ±ÛŒÙ† بنایا جا Ø±ÛØ§ ÛÛ’Û”"</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"â€Android اپ گریڈ ÛÙˆ Ø±ÛØ§ ÛÛ’"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"اپ گریڈ ختم Ûونے تک شاید Ú©Ú†Ú¾ ایپس ٹھیک طرح سے کام Ù†Û Ú©Ø±ÛŒÚº"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> اپ گریڈ ÛÙˆ رÛÛŒ Ûے…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"ایپ <xliff:g id="NUMBER_0">%1$d</xliff:g> از <xliff:g id="NUMBER_1">%2$d</xliff:g> Ú©Ùˆ Ø¨ÛØªØ± بنایا جا Ø±ÛØ§ ÛÛ’Û”"</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> تیار ÛÙˆ رÛÛŒ ÛÛ’Û”"</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"ایپس شروع ÛÙˆ رÛÛŒ Ûیں۔"</string>
diff --git a/core/res/res/values-uz-rUZ/strings.xml b/core/res/res/values-uz-rUZ/strings.xml
index 194b506ace46..f4684c799490 100644
--- a/core/res/res/values-uz-rUZ/strings.xml
+++ b/core/res/res/values-uz-rUZ/strings.xml
@@ -44,7 +44,7 @@
<string name="unknownName" msgid="6867811765370350269">"Noma’lum"</string>
<string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Ovozli pochta"</string>
<string name="defaultMsisdnAlphaTag" msgid="2850889754919584674">"MSISDN1"</string>
- <string name="mmiError" msgid="5154499457739052907">"Ulanishda xato yoki noto‘g‘ri MMI kodi."</string>
+ <string name="mmiError" msgid="5154499457739052907">"Tarmoqda xato yoki MMI kod noto‘g‘ri."</string>
<string name="mmiFdnError" msgid="5224398216385316471">"Bu amal faqat ruxsat etilgan raqamlar uchun mavjud."</string>
<string name="serviceEnabled" msgid="8147278346414714315">"Xizmat yoqildi."</string>
<string name="serviceEnabledFor" msgid="6856228140453471041">"Xizmat quyidagi uchun yoqildi:"</string>
@@ -143,7 +143,7 @@
<string name="cfTemplateRegistered" msgid="5073237827620166285">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: Yo‘naltirilmadi"</string>
<string name="cfTemplateRegisteredTime" msgid="6781621964320635172">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: yo‘naltirilmadi"</string>
<string name="fcComplete" msgid="3118848230966886575">"Maxsus kod bajarildi."</string>
- <string name="fcError" msgid="3327560126588500777">"Ulanishda muammo yoki maxsus kod xato."</string>
+ <string name="fcError" msgid="3327560126588500777">"Tarmoqda xato yoki maxsus kod noto‘g‘ri."</string>
<string name="httpErrorOk" msgid="1191919378083472204">"OK"</string>
<string name="httpError" msgid="7956392511146698522">"Tarmoqda xato yuz berdi."</string>
<string name="httpErrorLookup" msgid="4711687456111963163">"URL topilmadi."</string>
@@ -985,7 +985,7 @@
<string name="whichImageCaptureApplicationNamed" msgid="8619384150737825003">"%1$s yordamida suratga oling"</string>
<string name="whichImageCaptureApplicationLabel" msgid="6390303445371527066">"Suratga olish"</string>
<string name="alwaysUse" msgid="4583018368000610438">"Ushbu amaldan standart sifatida foydalanish"</string>
- <string name="use_a_different_app" msgid="8134926230585710243">"Boshqa ilovadan foydalanish"</string>
+ <string name="use_a_different_app" msgid="8134926230585710243">"Boshqa ilova"</string>
<string name="clearDefaultHintMsg" msgid="3252584689512077257">"Birlamchi sozlamalarni Tizim sozlamalari &gt; Ilovalar &gt; Yuklab olingan menyusidan tozalang."</string>
<string name="chooseActivity" msgid="7486876147751803333">"Amalni tanlash"</string>
<string name="chooseUsbActivity" msgid="6894748416073583509">"USB qurilma uchun ilovani tanlang"</string>
@@ -998,16 +998,16 @@
<string name="aerr_report" msgid="5371800241488400617">"Fikr-mulohaza yuborish"</string>
<string name="aerr_close" msgid="2991640326563991340">"Yopish"</string>
<string name="aerr_mute" msgid="1974781923723235953">"Qurilma o‘chib yonguncha e’tiborsiz qoldirish"</string>
- <string name="aerr_wait" msgid="3199956902437040261">"Kuting"</string>
+ <string name="aerr_wait" msgid="3199956902437040261">"Kutish"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Ilovani yopish"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
- <string name="anr_activity_application" msgid="8493290105678066167">"<xliff:g id="APPLICATION">%2$s</xliff:g> javob bermayapti"</string>
- <string name="anr_activity_process" msgid="1622382268908620314">"<xliff:g id="ACTIVITY">%1$s</xliff:g> javob bermayapti"</string>
- <string name="anr_application_process" msgid="6417199034861140083">"<xliff:g id="APPLICATION">%1$s</xliff:g> javob bermayapti"</string>
+ <string name="anr_activity_application" msgid="8493290105678066167">"<xliff:g id="APPLICATION">%2$s</xliff:g> ilovasi javob bermayapti"</string>
+ <string name="anr_activity_process" msgid="1622382268908620314">"<xliff:g id="ACTIVITY">%1$s</xliff:g> harakati javob bermayapti"</string>
+ <string name="anr_application_process" msgid="6417199034861140083">"<xliff:g id="APPLICATION">%1$s</xliff:g> ilovasi javob bermayapti"</string>
<string name="anr_process" msgid="6156880875555921105">"<xliff:g id="PROCESS">%1$s</xliff:g> ilovasi javob bermayapti"</string>
<string name="force_close" msgid="8346072094521265605">"OK"</string>
<string name="report" msgid="4060218260984795706">"Xabar berish"</string>
- <string name="wait" msgid="7147118217226317732">"Kuting"</string>
+ <string name="wait" msgid="7147118217226317732">"Kutish"</string>
<string name="webpage_unresponsive" msgid="3272758351138122503">"Sahifa javob bermayapti.\n\nUni yopishni xohlaysizmi?"</string>
<string name="launch_warning_title" msgid="1547997780506713581">"Ilova qayta yo‘naltirildi"</string>
<string name="launch_warning_replace" msgid="6202498949970281412">"<xliff:g id="APP_NAME">%1$s</xliff:g> hozirda ishlamoqda"</string>
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Xotira optimallashtirilmoqda."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android yangilanmoqda"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Yangilanish vaqtida ba’zi ilovalar to‘g‘ri ishlamasligi mumkin"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> ilovasi yangilanmoqda…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Ilovalar optimallashtirilmoqda (<xliff:g id="NUMBER_0">%1$d</xliff:g> / <xliff:g id="NUMBER_1">%2$d</xliff:g>)."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> tayyorlanmoqda."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Ilovalar ishga tushirilmoqda."</string>
@@ -1317,7 +1316,7 @@
<string name="storage_usb_drive_label" msgid="4501418548927759953">"<xliff:g id="MANUFACTURER">%s</xliff:g> USB xotira qurilmasi"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB xotira"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"Tahrirlash"</string>
- <string name="data_usage_warning_title" msgid="1955638862122232342">"Ma’lumotlardan foydalanish ogohlantirilishi"</string>
+ <string name="data_usage_warning_title" msgid="1955638862122232342">"Trafik kam qoldi"</string>
<string name="data_usage_warning_body" msgid="6660692274311972007">"Trafik sarfi va sozlamalarni ko‘rish uchun bosing."</string>
<string name="data_usage_3g_limit_title" msgid="4361523876818447683">"2G-3G trafik chekloviga yetdi"</string>
<string name="data_usage_4g_limit_title" msgid="4609566827219442376">"4G trafik chekloviga yetdi"</string>
@@ -1352,7 +1351,7 @@
<string name="launchBrowserDefault" msgid="2057951947297614725">"Brauzer ishga tushirilsinmi?"</string>
<string name="SetupCallDefault" msgid="5834948469253758575">"Qo‘ng‘iroqni qabul qilasizmi?"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"Har doim"</string>
- <string name="activity_resolver_use_once" msgid="2404644797149173758">"Bir marta"</string>
+ <string name="activity_resolver_use_once" msgid="2404644797149173758">"Faqat hozir"</string>
<string name="activity_resolver_work_profiles_support" msgid="185598180676883455">"“%1$s†ishchi profilni qo‘llab-quvvatlamaydi"</string>
<string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"Planshet"</string>
<string name="default_audio_route_name" product="tv" msgid="9158088547603019321">"TV"</string>
diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml
index 4ce86cf5c15b..6d5805450269 100644
--- a/core/res/res/values-vi/strings.xml
+++ b/core/res/res/values-vi/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Tối ưu hóa lưu trữ."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android đang nâng cấp"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Má»™t số ứng dụng có thể không hoạt động bình thưá»ng cho đến khi nâng cấp xong"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> đang nâng cấp…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Äang tối ưu hóa ứng dụng <xliff:g id="NUMBER_0">%1$d</xliff:g> trong tổng số <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Äang chuẩn bị <xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Khởi động ứng dụng."</string>
diff --git a/core/res/res/values-w194dp/dimens_material.xml b/core/res/res/values-w192dp/dimens_material.xml
index 220c4b00232c..797bf5a4c717 100644
--- a/core/res/res/values-w194dp/dimens_material.xml
+++ b/core/res/res/values-w192dp/dimens_material.xml
@@ -14,7 +14,7 @@
limitations under the License.
-->
<resources>
- <dimen name="screen_percentage_05">9.7dp</dimen>
- <dimen name="screen_percentage_10">19.4dp</dimen>
- <dimen name="screen_percentage_15">29.1dp</dimen>
+ <dimen name="screen_percentage_05">9.6dp</dimen>
+ <dimen name="screen_percentage_10">19.2dp</dimen>
+ <dimen name="screen_percentage_15">28.8dp</dimen>
</resources>
diff --git a/core/res/res/values-watch/styles_material.xml b/core/res/res/values-watch/styles_material.xml
index daeeca2b050d..5c4c632ed5b5 100644
--- a/core/res/res/values-watch/styles_material.xml
+++ b/core/res/res/values-watch/styles_material.xml
@@ -61,8 +61,13 @@ please see styles_device_defaults.xml.
<item name="breakStrategy">balanced</item>
</style>
+ <style name="Widget.Material.ButtonBar" parent="Widget.Material.BaseButtonBar" />
+
<!-- Alert dialog button bar button -->
<style name="Widget.Material.Button.ButtonBar.AlertDialog" parent="Widget.Material.Button.Borderless.Small">
+ <item name="paddingStart">@dimen/list_item_padding_start_material</item>
+ <item name="paddingEnd">@dimen/list_item_padding_end_material</item>
+ <item name="drawablePadding">8dp</item>
<item name="gravity">center_vertical|left</item>
<item name="minWidth">64dp</item>
<item name="minHeight">@dimen/alert_dialog_button_bar_height</item>
diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml
index 3b2abe78a544..69c3f7eff3bc 100644
--- a/core/res/res/values-zh-rCN/strings.xml
+++ b/core/res/res/values-zh-rCN/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"正在优化存储空间。"</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"Android 正在å‡çº§"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"在å‡çº§å®Œæˆä¹‹å‰ï¼Œéƒ¨åˆ†åº”用å¯èƒ½æ— æ³•正常è¿è¡Œ"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"正在å‡çº§<xliff:g id="APPLICATION">%1$s</xliff:g>…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"正在优化第<xliff:g id="NUMBER_0">%1$d</xliff:g>个应用(共<xliff:g id="NUMBER_1">%2$d</xliff:g>个)。"</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"正在准备å‡çº§<xliff:g id="APPNAME">%1$s</xliff:g>。"</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"正在å¯åŠ¨åº”ç”¨ã€‚"</string>
diff --git a/core/res/res/values-zh-rHK/strings.xml b/core/res/res/values-zh-rHK/strings.xml
index 5aa4648bd048..eb9e2fbc39a0 100644
--- a/core/res/res/values-zh-rHK/strings.xml
+++ b/core/res/res/values-zh-rHK/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"正在優化儲存空間。"</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"正在å‡ç´š Android"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"部分應用程å¼éœ€è¦å®Œæˆå‡ç´šæ–¹å¯æ­£å¸¸é‹ä½œ"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"「<xliff:g id="APPLICATION">%1$s</xliff:g>ã€æ­£åœ¨å‡ç´šâ€¦"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"正在優化第 <xliff:g id="NUMBER_0">%1$d</xliff:g> å€‹æ‡‰ç”¨ç¨‹å¼ (å…± <xliff:g id="NUMBER_1">%2$d</xliff:g> 個)。"</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"正在準備 <xliff:g id="APPNAME">%1$s</xliff:g>。"</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"正在啟動應用程å¼ã€‚"</string>
diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml
index cd3ee3ab23e5..9bd200215e7d 100644
--- a/core/res/res/values-zh-rTW/strings.xml
+++ b/core/res/res/values-zh-rTW/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"正在å°å„²å­˜ç©ºé–“進行最佳化處ç†ã€‚"</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"正在å‡ç´š Android"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"å‡ç´šå®Œæˆå‰ï¼Œéƒ¨åˆ†æ‡‰ç”¨ç¨‹å¼å¯èƒ½ç„¡æ³•正常é‹ä½œ"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"正在å‡ç´šã€Œ<xliff:g id="APPLICATION">%1$s</xliff:g>ã€â€¦"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"正在最佳化第 <xliff:g id="NUMBER_0">%1$d</xliff:g> å€‹æ‡‰ç”¨ç¨‹å¼ (å…± <xliff:g id="NUMBER_1">%2$d</xliff:g> 個)。"</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"正在準備å‡ç´šã€Œ<xliff:g id="APPNAME">%1$s</xliff:g>ã€ã€‚"</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"正在啟動應用程å¼ã€‚"</string>
diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml
index b00b74584737..cdd071d48b2f 100644
--- a/core/res/res/values-zu/strings.xml
+++ b/core/res/res/values-zu/strings.xml
@@ -1024,8 +1024,7 @@
<string name="android_upgrading_fstrim" msgid="8036718871534640010">"Ikhulisa isitoreji."</string>
<string name="android_upgrading_notification_title" msgid="1619393112444671028">"I-Android iyathuthukiswa"</string>
<string name="android_upgrading_notification_body" msgid="5761201379457064286">"Ezinye izinhlelo zokusebenza kungenzeka zingasebenzi kahle kuze kuqedwe ukuthuthukiswa"</string>
- <!-- no translation found for app_upgrading_toast (3008139776215597053) -->
- <skip />
+ <string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> iyathuthukisa…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"Ukubeka ezingeni eliphezulu <xliff:g id="NUMBER_0">%1$d</xliff:g> uhlelo lokusebenza <xliff:g id="NUMBER_1">%2$d</xliff:g>"</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"Ukulungisela i-<xliff:g id="APPNAME">%1$s</xliff:g>."</string>
<string name="android_upgrading_starting_apps" msgid="451464516346926713">"Qalisa izinhlelo zokusebenza."</string>
diff --git a/core/res/res/values/colors.xml b/core/res/res/values/colors.xml
index 10e2a4a10dc5..1843475a0d09 100644
--- a/core/res/res/values/colors.xml
+++ b/core/res/res/values/colors.xml
@@ -74,6 +74,8 @@
<drawable name="input_method_fullscreen_background">#fff9f9f9</drawable>
<color name="input_method_navigation_guard">#ff000000</color>
+ <color name="system_error">#fff4511e</color> <!-- deep orange 600 -->
+
<!-- For date picker widget -->
<drawable name="selected_day_background">#ff0092f4</drawable>
@@ -118,7 +120,7 @@
<!-- LockPatternView -->
<color name="lock_pattern_view_regular_color">#ffffffff</color>
<color name="lock_pattern_view_success_color">#ffffffff</color>
- <color name="lock_pattern_view_error_color">#fff4511e</color>
+ <color name="lock_pattern_view_error_color">@color/system_error</color>
<!-- FaceLock -->
<color name="facelock_spotlight_mask">#CC000000</color>
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 674a0d7f61eb..2835c6f5fa0a 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -1825,28 +1825,6 @@
-->
<bool name="config_enableWifiDisplay">false</bool>
- <!-- The color transform values that correspond to each respective configuration mode for the
- built-in display, or -1 if the mode is unsupported by the device. The possible
- configuration modes are:
- 1. Wide-gamut ("Vibrant")
- 2. Adobe RGB ("Natural")
- 3. sRGB ("Standard")
-
- For example, if a device had Wide-gamut as color transform mode 1, sRGB mode as color
- transform mode 7, and did not support Adobe RGB at all this would look like:
-
- <integer-array name="config_colorTransforms">
- <item>1</item>
- <item>-1</item>
- <item>7</item>
- </integer-array>
- -->
- <integer-array name="config_colorTransforms">
- <item>-1</item>
- <item>-1</item>
- <item>-1</item>
- </integer-array>
-
<!-- When true, local displays that do not contain any of their own content will automatically
mirror the content of the default display. -->
<bool name="config_localDisplaysMirrorContent">true</bool>
diff --git a/core/res/res/values/styles_material.xml b/core/res/res/values/styles_material.xml
index fad3488d2915..8c1a9278dd25 100644
--- a/core/res/res/values/styles_material.xml
+++ b/core/res/res/values/styles_material.xml
@@ -543,7 +543,11 @@ please see styles_device_defaults.xml.
<item name="textOff">@string/capital_off</item>
</style>
- <style name="Widget.Material.ButtonBar">
+ <style name="Widget.Material.BaseButtonBar">
+ <item name="background">?attr/colorBackgroundFloating</item>
+ </style>
+
+ <style name="Widget.Material.ButtonBar" parent="Widget.Material.BaseButtonBar">
<item name="background">@null</item>
</style>
@@ -1204,7 +1208,11 @@ please see styles_device_defaults.xml.
<style name="AlertDialog.Material.Light" />
<style name="DatePickerDialog.Material" parent="AlertDialog.Material">
- <item name="showTitle">true</item>
+ <item name="showTitle">false</item>
+ </style>
+
+ <style name="TimePickerDialog.Material" parent="AlertDialog.Material">
+ <item name="showTitle">false</item>
</style>
<!-- Window title -->
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 3590ac86afd0..38749f6e2cfa 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -1142,7 +1142,6 @@
<java-symbol type="array" name="config_telephonyHardware" />
<java-symbol type="array" name="config_keySystemUuidMapping" />
<java-symbol type="array" name="config_gpsParameters" />
- <java-symbol type="array" name="config_colorTransforms" />
<java-symbol type="drawable" name="default_wallpaper" />
<java-symbol type="drawable" name="default_lock_wallpaper" />
diff --git a/core/res/res/values/themes_device_defaults.xml b/core/res/res/values/themes_device_defaults.xml
index 50e588dfff7b..0e98adea434a 100644
--- a/core/res/res/values/themes_device_defaults.xml
+++ b/core/res/res/values/themes_device_defaults.xml
@@ -724,6 +724,12 @@ easier.
<item name="colorAccent">@color/accent_device_default_light</item>
</style>
+ <style name="Theme.DeviceDefault.Light.Voice" parent="Theme.Material.Light.Voice">
+ <!-- Color palette -->
+ <item name="colorPrimary">@color/primary_device_default_light</item>
+ <item name="colorPrimaryDark">@color/primary_dark_device_default_light</item>
+ <item name="colorAccent">@color/accent_device_default_light</item>
+ </style>
<!-- DeviceDefault theme for a window that should look like the Settings app. -->
<style name="Theme.DeviceDefault.Settings" parent="Theme.Material.Settings">
diff --git a/core/res/res/values/themes_material.xml b/core/res/res/values/themes_material.xml
index 35ce9b049854..7e2867de1d7a 100644
--- a/core/res/res/values/themes_material.xml
+++ b/core/res/res/values/themes_material.xml
@@ -370,7 +370,7 @@ please see themes_device_defaults.xml.
<item name="timePickerStyle">@style/Widget.Material.TimePicker</item>
<!-- TimePicker dialog theme -->
- <item name="timePickerDialogTheme">?attr/dialogTheme</item>
+ <item name="timePickerDialogTheme">@style/ThemeOverlay.Material.Dialog.TimePicker</item>
<!-- DatePicker style -->
<item name="datePickerStyle">@style/Widget.Material.DatePicker</item>
@@ -733,7 +733,7 @@ please see themes_device_defaults.xml.
<item name="timePickerStyle">@style/Widget.Material.Light.TimePicker</item>
<!-- TimePicker dialog theme -->
- <item name="timePickerDialogTheme">?attr/dialogTheme</item>
+ <item name="timePickerDialogTheme">@style/ThemeOverlay.Material.Dialog.TimePicker</item>
<!-- DatePicker style -->
<item name="datePickerStyle">@style/Widget.Material.Light.DatePicker</item>
@@ -900,6 +900,11 @@ please see themes_device_defaults.xml.
<item name="colorBackground">?attr/colorBackgroundFloating</item>
</style>
+ <!-- Theme overlay that overrides window properties to display as a time picker dialog. -->
+ <style name="ThemeOverlay.Material.Dialog.TimePicker">
+ <item name="alertDialogStyle">@style/TimePickerDialog.Material</item>
+ </style>
+
<!-- Theme overlay that overrides window properties to display as a date picker dialog. -->
<style name="ThemeOverlay.Material.Dialog.DatePicker">
<item name="alertDialogStyle">@style/DatePickerDialog.Material</item>
diff --git a/docs/html-intl/intl/es/preview/download.jd b/docs/html-intl/intl/es/preview/download.jd
index 4662d5ba5e10..6fa9a6ae0ab1 100644
--- a/docs/html-intl/intl/es/preview/download.jd
+++ b/docs/html-intl/intl/es/preview/download.jd
@@ -370,13 +370,6 @@ que puedes usar para realizarle pruebas a tu aplicación, desde teléfonos hasta
</td>
</tr>
- <tr id="xperia">
- <td>Sony Xperia Z3 <br> (D6603 and D6653)</td>
- <td>Descarga: <a class="external-link" href="http://support.sonymobile.com/xperiaz3/tools/xperia-companion/">Xperia Companion</a><br>
- Para más información, visita la sección <a class="external-link" href="https://developer.sony.com/develop/smartphones-and-tablets/android-n-developer-preview/">Prueba la Android N Developer Preview en Xperia Z3</a>.
- </td>
- </tr>
-
</table>
<h3 id="revertDevice">Desinstalar la Preview de un dispositivo</h3>
diff --git a/docs/html-intl/intl/in/preview/download.jd b/docs/html-intl/intl/in/preview/download.jd
index abf911db9079..e6714bbae1ed 100644
--- a/docs/html-intl/intl/in/preview/download.jd
+++ b/docs/html-intl/intl/in/preview/download.jd
@@ -370,13 +370,6 @@ Ini adalah Perjanjian Lisensi Android SDK Preview ("Perjanjian Lisensi").
</td>
</tr>
- <tr id="xperia">
- <td>Sony Xperia Z3 <br> (D6603 dan D6653)</td>
- <td>Unduh: <a class="external-link" href="http://support.sonymobile.com/xperiaz3/tools/xperia-companion/">Xperia Companion</a><br>
- Untuk informasi selengkapnya, lihat<a class="external-link" href="https://developer.sony.com/develop/smartphones-and-tablets/android-n-developer-preview/">Coba Android N Developer Preview untuk Xperia Z3</a>.
- </td>
- </tr>
-
</table>
<h3 id="revertDevice">Mencopot pemasangan Pratinjau dari perangkat</h3>
diff --git a/docs/html-intl/intl/ja/preview/download.jd b/docs/html-intl/intl/ja/preview/download.jd
index 705a90b5e496..52f7ae4dd5fb 100644
--- a/docs/html-intl/intl/ja/preview/download.jd
+++ b/docs/html-intl/intl/ja/preview/download.jd
@@ -370,13 +370,6 @@ page.image=images/cards/card-n-downloads_2x.png
</td>
</tr>
- <tr id="xperia">
- <td>Sony Xperia Z3 <br> (D6603 ãŠã‚ˆã³ D6653)</td>
- <td>ダウンロード:<a class="external-link" href="http://support.sonymobile.com/xperiaz3/tools/xperia-companion/">Xperia Companion</a><br>
- 詳細ã«ã¤ã„ã¦ã¯ã€<a class="external-link" href="https://developer.sony.com/develop/smartphones-and-tablets/android-n-developer-preview/">Xperia Z3 ã« Android N Developer Preview を試ã™</a>ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
- </td>
- </tr>
-
</table>
<h3 id="revertDevice">プレビュー版を端末ã‹ã‚‰ã‚¢ãƒ³ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã™ã‚‹</h3>
diff --git a/docs/html-intl/intl/ko/preview/download.jd b/docs/html-intl/intl/ko/preview/download.jd
index 88c45cd59da5..45d5bd851943 100644
--- a/docs/html-intl/intl/ko/preview/download.jd
+++ b/docs/html-intl/intl/ko/preview/download.jd
@@ -370,13 +370,6 @@ Developer Preview 마ì¼ìŠ¤í†¤ ë¹Œë“œì— ëŒ€í•œ <strong>OTA ì—…ë°ì´íŠ¸ë¥¼ ìžë
</td>
</tr>
- <tr id="xperia">
- <td>Sony Xperia Z3 <br> (D6603 ë° D6653)</td>
- <td>다운로드: <a class="external-link" href="http://support.sonymobile.com/xperiaz3/tools/xperia-companion/">Xperia Companion</a><br>
- ìžì„¸í•œ ë‚´ìš©ì€ <a class="external-link" href="https://developer.sony.com/develop/smartphones-and-tablets/android-n-developer-preview/">Xperia Z3ìš© Android N Developer Preview ì²´í—˜</a>ì„ ì°¸ì¡°í•˜ì„¸ìš”.
- </td>
- </tr>
-
</table>
<h3 id="revertDevice">기기ì—서 Preview 제거</h3>
diff --git a/docs/html-intl/intl/pt-br/preview/download.jd b/docs/html-intl/intl/pt-br/preview/download.jd
index 111c183625e9..4477142d0708 100644
--- a/docs/html-intl/intl/pt-br/preview/download.jd
+++ b/docs/html-intl/intl/pt-br/preview/download.jd
@@ -370,13 +370,6 @@ basta inscrevê-lo no <a href="https://g.co/androidbeta">programa beta
</td>
</tr>
- <tr id="xperia">
- <td>Sony Xperia Z3 <br> (D6603 e D6653)</td>
- <td>Download: <a class="external-link" href="http://support.sonymobile.com/xperiaz3/tools/xperia-companion/">Xperia Companion</a><br>
- Para obter mais informações, consulte <a class="external-link" href="https://developer.sony.com/develop/smartphones-and-tablets/android-n-developer-preview/">Experimente o Android N Developer Preview para Xperia Z3</a>.
- </td>
- </tr>
-
</table>
<h3 id="revertDevice">Desinstalar o Preview de um dispositivo</h3>
diff --git a/docs/html-intl/intl/zh-cn/preview/download.jd b/docs/html-intl/intl/zh-cn/preview/download.jd
index 06bf2bf29d2a..2d3b88373282 100644
--- a/docs/html-intl/intl/zh-cn/preview/download.jd
+++ b/docs/html-intl/intl/zh-cn/preview/download.jd
@@ -370,13 +370,6 @@ page.image=images/cards/card-n-downloads_2x.png
</td>
</tr>
- <tr id="xperia">
- <td>Sony Xperia Z3 <br> (D6603 和 D6653)</td>
- <td>下载:<a class="external-link" href="http://support.sonymobile.com/xperiaz3/tools/xperia-companion/">Xperia Companion</a><br>
- 如需了解详细信æ¯ï¼Œè¯·å‚阅<a class="external-link" href="https://developer.sony.com/develop/smartphones-and-tablets/android-n-developer-preview/">为 Xperia Z3 å°è¯• Android N Developer Preview</a>。
- </td>
- </tr>
-
</table>
<h3 id="revertDevice">从设备å¸è½½ Preview</h3>
diff --git a/docs/html/_project.yaml b/docs/html/_project.yaml
new file mode 100644
index 000000000000..a67469be5059
--- /dev/null
+++ b/docs/html/_project.yaml
@@ -0,0 +1,5 @@
+name: "Home"
+home_url: /
+description: "Android Developers website."
+content_license: cc3-apache2
+buganizer_id: 30209417
diff --git a/docs/html/about/_project.yaml b/docs/html/about/_project.yaml
new file mode 100644
index 000000000000..160cf55c1424
--- /dev/null
+++ b/docs/html/about/_project.yaml
@@ -0,0 +1,5 @@
+name: "Android"
+home_url: /about/
+description: "Android, the world's most popular mobile platform"
+content_license: cc3-apache2
+buganizer_id: 30209417
diff --git a/docs/html/about/dashboards/index.jd b/docs/html/about/dashboards/index.jd
index a9f1985da9ce..3cbfde9cc386 100644
--- a/docs/html/about/dashboards/index.jd
+++ b/docs/html/about/dashboards/index.jd
@@ -381,7 +381,7 @@ $(document).ready(function(){
$divtable.append($table);
$divchart.append($chart);
$div.append($divtable).append($divchart);
- $("#version-chart").append($div);
+ $("#version-chart").replaceWith($div);
});
@@ -449,7 +449,7 @@ $(document).ready(function(){
// stack up and insert the elements
$div.append($table).append($sizechart).append($densitychart);
- $("#screens-chart").append($div);
+ $("#screens-chart").replaceWith($div);
});
// TODO (akassay): Remove this.
diff --git a/docs/html/auto/images/logos/auto/borgward.png b/docs/html/auto/images/logos/auto/borgward.png
new file mode 100644
index 000000000000..90298d49a043
--- /dev/null
+++ b/docs/html/auto/images/logos/auto/borgward.png
Binary files differ
diff --git a/docs/html/auto/images/logos/auto/lada.png b/docs/html/auto/images/logos/auto/lada.png
new file mode 100644
index 000000000000..d1724601a98e
--- /dev/null
+++ b/docs/html/auto/images/logos/auto/lada.png
Binary files differ
diff --git a/docs/html/auto/index.jd b/docs/html/auto/index.jd
index 8680df074ea3..167ed7b8bd45 100644
--- a/docs/html/auto/index.jd
+++ b/docs/html/auto/index.jd
@@ -372,6 +372,12 @@ nonavpage=true
</a>
</div>
<div class="col-5">
+ <a href="http://www.borgward.com/en/">
+ <img src="{@docRoot}auto/images/logos/auto/borgward.png"
+ width="120" height="120" class="img-logo" />
+ </a>
+ </div>
+ <div class="col-5">
<a href="http://www.buick.com/">
<img src="{@docRoot}auto/images/logos/auto/buick.png"
width="120" height="120" class="img-logo" />
@@ -383,15 +389,15 @@ nonavpage=true
width="120" height="120" class="img-logo" />
</a>
</div>
+ </div>
+
+ <div class="cols cols-leftp">
<div class="col-5">
<a href="http://www.chevrolet.com/">
<img src="{@docRoot}auto/images/logos/auto/chevrolet.png"
width="120" height="120" class="img-logo" />
</a>
</div>
- </div>
-
- <div class="cols cols-leftp">
<div class="col-5">
<a href="http://www.chrysler.com/">
<img src="{@docRoot}auto/images/logos/auto/chrysler.png"
@@ -410,15 +416,15 @@ nonavpage=true
width="120" height="120" class="img-logo" />
</a>
</div>
+ </div>
+
+ <div class="cols cols-leftp">
<div class="col-5">
<a href="http://www.driveds.com/">
<img src="{@docRoot}auto/images/logos/auto/citroen_ds.png"
width="120" height="120" class="img-logo" />
</a>
</div>
- </div>
-
- <div class="cols cols-leftp">
<div class="col-5">
<a href="http://www.fiat.com/">
<img src="{@docRoot}auto/images/logos/auto/fiat.png"
@@ -437,23 +443,20 @@ nonavpage=true
width="120" height="120" class="img-logo" />
</a>
</div>
-
- <div class="col-5">
- <a href="http://www.gmc.com/">
+ </div>
+ <div class="cols cols-leftp">
+ <div class="col-5">
+ <a href="http://www.gmc.com/">
<img src="{@docRoot}auto/images/logos/auto/gmc.png"
width="120" height="120" class="img-logo" />
- </a>
- </div>
- </div>
- <div class="cols cols-leftp">
+ </a>
+ </div>
<div class="col-5">
<a href="http://www.holden.com/">
<img src="{@docRoot}auto/images/logos/auto/holden.png"
width="120" height="120" class="img-logo" />
</a>
</div>
-
-
<div class="col-5">
<a href="http://www.honda.com/">
<img src="{@docRoot}auto/images/logos/auto/honda.png"
@@ -466,196 +469,197 @@ nonavpage=true
width="120" height="120" class="img-logo" />
</a>
</div>
- <div class="col-5">
- <a href="http://www.infiniti.com/">
+ </div>
+ <div class="cols cols-leftp">
+ <div class="col-5">
+ <a href="http://www.infiniti.com/">
<img src="{@docRoot}auto/images/logos/auto/infinity.png"
width="120" height="120" class="img-logo" />
- </a>
- </div>
- </div>
- <div class="cols cols-leftp">
- <div class="col-5">
- <a href="http://www.jaguar.com/index.html">
+ </a>
+ </div>
+ <div class="col-5">
+ <a href="http://www.jaguar.com/index.html">
<img src="{@docRoot}auto/images/logos/auto/jaguar.png"
width="120" height="120" class="img-logo" />
- </a>
- </div>
- <div class="col-5">
- <a href="http://www.jeep.com/">
+ </a>
+ </div>
+ <div class="col-5">
+ <a href="http://www.jeep.com/">
<img src="{@docRoot}auto/images/logos/auto/jeep.png"
width="120" height="120" class="img-logo" />
- </a>
- </div>
+ </a>
+ </div>
- <div class="col-5">
- <a href="http://www.kia.com/worldwide/">
+ <div class="col-5">
+ <a href="http://www.kia.com/worldwide/">
<img src="{@docRoot}auto/images/logos/auto/kia.png"
width="120" height="120" class="img-logo" />
- </a>
+ </a>
+ </div>
</div>
- <div class="col-5">
- <a href=" http://www.lamborghini.com/">
+ <div class="cols cols-leftp">
+ <div class="col-5">
+ <a href=" http://www.lada.ru/en/">
+ <img src="{@docRoot}auto/images/logos/auto/lada.png"
+ width="120" height="120" class="img-logo" />
+ </a>
+ </div>
+ <div class="col-5">
+ <a href=" http://www.lamborghini.com/">
<img src="{@docRoot}auto/images/logos/auto/lambo.png"
width="120" height="120" class="img-logo" />
- </a>
- </div>
- </div>
- <div class="cols cols-leftp">
- <div class="col-5">
- <a href=" http://www.landrover.com/">
+ </a>
+ </div>
+ <div class="col-5">
+ <a href=" http://www.landrover.com/">
<img src="{@docRoot}auto/images/logos/auto/landrover.png"
width="120" height="120" class="img-logo" />
- </a>
- </div>
- <div class="col-5">
- <a href=" http://www.lincoln.com/">
- <img src="{@docRoot}auto/images/logos/auto/lincoln.png"
+ </a>
+ </div>
+ <div class="col-5">
+ <a href=" http://www.lincoln.com/">
+ <img src="{@docRoot}auto/images/logos/auto/lincoln.png"
width="120" height="120" class="img-logo" />
- </a>
+ </a>
+ </div>
</div>
- <div class="col-5">
- <a href="http://www.mahindra.com/">
+ <div class="cols cols-leftp">
+ <div class="col-5">
+ <a href="http://www.mahindra.com/">
<img src="{@docRoot}auto/images/logos/auto/mahindra.png"
width="120" height="120" class="img-logo" />
- </a>
- </div>
- <div class="col-5">
- <a href="http://www.maserati.com/">
+ </a>
+ </div>
+ <div class="col-5">
+ <a href="http://www.maserati.com/">
<img src="{@docRoot}auto/images/logos/auto/maserati.png"
width="120" height="120" class="img-logo" />
- </a>
- </div>
- </div>
- <div class="cols cols-leftp">
- <div class="col-5">
- <a href="http://www.mazda.com/">
+ </a>
+ </div>
+ <div class="col-5">
+ <a href="http://www.mazda.com/">
<img src="{@docRoot}auto/images/logos/auto/mazda.png"
width="120" height="120" class="img-logo" />
- </a>
- </div>
+ </a>
+ </div>
- <div class="col-5">
- <a href="http://www.mercedes-benz.com/">
+ <div class="col-5">
+ <a href="http://www.mercedes-benz.com/">
<img src="{@docRoot}auto/images/logos/auto/mbenz.png"
width="120" height="120" class="img-logo" />
- </a>
- </div>
- <div class="col-5">
- <a href="http://www.mitsubishi-motors.com/">
+ </a>
+ </div>
+ </div>
+ <div class="cols cols-leftp">
+ <div class="col-5">
+ <a href="http://www.mitsubishi-motors.com/">
<img src="{@docRoot}auto/images/logos/auto/mitsubishi.png"
width="120" height="120" class="img-logo" />
- </a>
- </div>
-
- <div class="col-5">
- <a href="http://www.nissan-global.com/">
+ </a>
+ </div>
+ <div class="col-5">
+ <a href="http://www.nissan-global.com/">
<img src="{@docRoot}auto/images/logos/auto/nissan.png"
width="120" height="120" class="img-logo" />
- </a>
- </div>
- </div>
- <div class="cols cols-leftp">
- <div class="col-5">
- <a href="http://www.opel.com/">
+ </a>
+ </div>
+ <div class="col-5">
+ <a href="http://www.opel.com/">
<img src="{@docRoot}auto/images/logos/auto/opel.png"
width="120" height="120" class="img-logo" />
- </a>
- </div>
+ </a>
+ </div>
- <div class="col-5">
- <a href="http://www.peugeot.com/">
+ <div class="col-5">
+ <a href="http://www.peugeot.com/">
<img src="{@docRoot}auto/images/logos/auto/peugeot.png"
width="120" height="120" class="img-logo" />
- </a>
+ </a>
+ </div>
</div>
- <div class="col-5">
- <a href="http://www.ramtrucks.com/">
+ <div class="cols cols-leftp">
+ <div class="col-5">
+ <a href="http://www.ramtrucks.com/">
<img src="{@docRoot}auto/images/logos/auto/ram.png"
width="120" height="120" class="img-logo" />
- </a>
- </div>
-
- <div class="col-5">
- <a href="http://www.renault.com/">
+ </a>
+ </div>
+ <div class="col-5">
+ <a href="http://www.renault.com/">
<img src="{@docRoot}auto/images/logos/auto/renault.png"
width="120" height="120" class="img-logo" />
- </a>
- </div>
- </div>
- <div class="cols cols-leftp">
- <div class="col-5">
- <a href="http://www.renaultsamsungm.com/ ">
+ </a>
+ </div>
+ <div class="col-5">
+ <a href="http://www.renaultsamsungm.com/ ">
<img src="{@docRoot}auto/images/logos/auto/rsm.png"
width="120" height="120" class="img-logo" />
- </a>
- </div>
-
- <div class="col-5">
- <a href="http://www.seat.com/">
+ </a>
+ </div>
+
+ <div class="col-5">
+ <a href="http://www.seat.com/">
<img src="{@docRoot}auto/images/logos/auto/seat.png"
width="120" height="120" class="img-logo" />
- </a>
+ </a>
+ </div>
</div>
-
- <div class="col-5">
- <a href="http://www.skoda-auto.com/">
+ <div class="cols cols-leftp">
+ <div class="col-5">
+ <a href="http://www.skoda-auto.com/">
<img src="{@docRoot}auto/images/logos/auto/skoda.png"
width="120" height="120" class="img-logo" />
- </a>
- </div>
-
- <div class="col-5">
- <a href="http://www.smotor.com/">
+ </a>
+ </div>
+ <div class="col-5">
+ <a href="http://www.smotor.com/">
<img src="{@docRoot}auto/images/logos/auto/ssangyong.png"
width="120" height="120" class="img-logo" />
- </a>
- </div>
- </div>
- <div class="cols cols-leftp">
- <div class="col-5">
- <a href="http://www.subaru-global.com/">
+ </a>
+ </div>
+ <div class="col-5">
+ <a href="http://www.subaru-global.com/">
<img src="{@docRoot}auto/images/logos/auto/subaru.png"
width="120" height="120" class="img-logo" />
- </a>
- </div>
+ </a>
+ </div>
- <div class="col-5">
- <a href="http://www.globalsuzuki.com/automobile/">
+ <div class="col-5">
+ <a href="http://www.globalsuzuki.com/automobile/">
<img src="{@docRoot}auto/images/logos/auto/suzuki.png"
width="120" height="120" class="img-logo" />
- </a>
+ </a>
+ </div>
</div>
- <div class="col-5">
- <a href="http://www.tatamotors.com/">
+ <div class="cols cols-leftp">
+ <div class="col-5">
+ <a href="http://www.tatamotors.com/">
<img src="{@docRoot}auto/images/logos/auto/tata.png"
width="120" height="120" class="img-logo" />
- </a>
- </div>
-
- <div class="col-5">
- <a href="http://www.vauxhall.co.uk/">
+ </a>
+ </div>
+ <div class="col-5">
+ <a href="http://www.vauxhall.co.uk/">
<img src="{@docRoot}auto/images/logos/auto/vauxhall.png"
width="120" height="120" class="img-logo" />
- </a>
- </div>
- </div>
- <div class="cols cols-leftp">
- <div class="col-5">
- <a href="http://www.volkswagen.com/">
+ </a>
+ </div>
+ <div class="col-5">
+ <a href="http://www.volkswagen.com/">
<img src="{@docRoot}auto/images/logos/auto/volkswagen.png"
width="120" height="120" class="img-logo" />
- </a>
- </div>
-
-
- <div class="col-5">
- <a href="http://www.volvocars.com/intl">
+ </a>
+ </div>
+
+
+ <div class="col-5">
+ <a href="http://www.volvocars.com/intl">
<img src="{@docRoot}auto/images/logos/auto/volvo.png"
width="120" height="120" class="img-logo" />
- </a>
- </div>
+ </a>
+ </div>
</div>
</div>
</div>
diff --git a/docs/html/design/_project.yaml b/docs/html/design/_project.yaml
new file mode 100644
index 000000000000..72df4a87d248
--- /dev/null
+++ b/docs/html/design/_project.yaml
@@ -0,0 +1,5 @@
+name: "Design"
+home_url: /design/
+description: "Create beautiful experiences in your apps."
+content_license: cc3-apache2
+buganizer_id: 30209417
diff --git a/docs/html/develop/_project.yaml b/docs/html/develop/_project.yaml
new file mode 100644
index 000000000000..40a66b32ff69
--- /dev/null
+++ b/docs/html/develop/_project.yaml
@@ -0,0 +1,5 @@
+name: "Develop"
+home_url: /develop/
+description: "Android Studio provides the fastest tools for building apps on every type of Android device."
+content_license: cc3-apache2
+buganizer_id: 30209417
diff --git a/docs/html/distribute/_project.yaml b/docs/html/distribute/_project.yaml
new file mode 100644
index 000000000000..5777333444a6
--- /dev/null
+++ b/docs/html/distribute/_project.yaml
@@ -0,0 +1,5 @@
+name: "Distribute"
+home_url: /distribute/
+description: "The most visited store in the world for Android apps. Cloud-connected and always synced, it's never been easier for users to find and download your apps."
+content_license: cc3-apache2
+buganizer_id: 30209417
diff --git a/docs/html/distribute/analyze/_project.yaml b/docs/html/distribute/analyze/_project.yaml
new file mode 100644
index 000000000000..5c7707473e86
--- /dev/null
+++ b/docs/html/distribute/analyze/_project.yaml
@@ -0,0 +1,6 @@
+name: "Analyze"
+home_url: /distribute/analyze/
+description: "Understanding what your users do inside your app is the key to engaging and monetizing them."
+content_license: cc3-apache2
+buganizer_id: 30209417
+parent_project_metadata_path: /distribute/_project.yaml
diff --git a/docs/html/distribute/engage/_project.yaml b/docs/html/distribute/engage/_project.yaml
new file mode 100644
index 000000000000..fd8fa44d85fb
--- /dev/null
+++ b/docs/html/distribute/engage/_project.yaml
@@ -0,0 +1,6 @@
+name: "Engage & Retain"
+home_url: /distribute/engage/
+description: "Engaging and retaining active users are the keys to success. Here are some resources to help you build an active user base."
+content_license: cc3-apache2
+buganizer_id: 30209417
+parent_project_metadata_path: /distribute/_project.yaml
diff --git a/docs/html/distribute/engage/easy-signin.jd b/docs/html/distribute/engage/easy-signin.jd
index 924c5b448b70..5c04064e7fbe 100644
--- a/docs/html/distribute/engage/easy-signin.jd
+++ b/docs/html/distribute/engage/easy-signin.jd
@@ -1,70 +1,66 @@
-page.title=Add Quick and Secure Google Sign-in
+page.title=Add Quick and Secure Google Sign-In
page.metaDescription=Increase conversion rates while helping users minimize typing by letting users sign in with Google+.
page.tags="google", "identity", "signin"
page.image=images/cards/google-sign-in_2x.png
@jd:body
-<p>Get people into your apps quickly and securely, using a registration system they
-already use and trust – their Google account. With minimal effort, you can increase
-registration and sign-in conversion by adding trusted registration system that's
-familiar to users, consistent across devices, and quick and easy to use.</p>
+<div class="figure">
+ <img src="{@docRoot}images/distribute/google-sign-in-banner.png" style="width:512px;">
+</div>
+<p>
+ Get customers into your apps quickly and securely using a registration system that they
+ already use and trust &ndash; their Google account. With minimal effort, you can increase
+ registration and sign-in conversion by adding a trusted registration system that's familiar
+ to users, consistent across devices, and quick and easy to use.
+</p>
-<p>Get started <a href="https://developers.google.com/identity/sign-in/">integrating
-Google sign-in into your apps and games</a>.</p>
+<h2 id="tips">Benefits</h2>
-<div class="wrap">
- <div class="cols" style="margin-top:2em;">
- <div class="col-3of12">
- <h3>Quick and secure app access</h3>
- <p>A secure authentication system that makes sign-in easy for your users by
- letting them use their Google account, which they already use with Gmail,
- Play, Google+, and other Google services.</p>
- </div>
- <div class="col-8of12 col-push-1of12">
- <img src="{@docRoot}images/distribute/signin-secure.png" style="padding-top:1em;">
- </div>
- </div>
+<p>These are some of the ways Sign-In can improve your app:</p>
- <div class="cols" style="margin-top:2em;">
- <div class="col-3of12">
- <h3>Seamless experience across screens</h3>
- <p>Keep your users engaged, no matter what device they pick up or sit down at.
- Offer a seamless app experience across devices and into your website, securely
- from a one-time consent. </p>
- </div>
- <div class="col-8of12 col-push-1of12">
- <img src="{@docRoot}images/distribute/signin-seamless.png" style="padding-top:1em;">
- </div>
- </div>
+<ul>
+ <li>
+ <strong>Quick and secure app access</strong>: Google Sign-In is a secure authentication
+ system that makes sign-in easy for your users by letting them use their Google account,
+ which they already use with Gmail, Google Play, Google+, and other Google services.
+ </li>
- <div class="cols" style="margin-top:2em;">
- <div class="col-3of12">
- <h3>Help your users take action with Google</h3>
- <p>Securely connect users with Google services and let them pay with Google
- Wallet, share with Google contacts, save files to Drive, add events to
- Calendar, and more.</p>
- </div>
- <div class="col-8of12 col-push-1of12">
- <img src="{@docRoot}images/distribute/signin-apps.png" style="padding-top:1em;">
- </div>
- </div>
-</div>
+ <li>
+ <strong>Seamless experience across screens</strong>: Keep your users engaged, no matter
+ what device they choose. Offer a secure and seamless app experience across devices and
+ into your website, from a one-time consent.
+ </li>
+
+ <li>
+ <strong>Convenient access to Google services</strong>: Securely connect users with
+ Google services and let them pay with Google Wallet, share with Google Contacts, save files
+ to Google Drive, and add events to Google Calendar.
+ </li>
+</ul>
+<p>Get started integrating<a href="https://developers.google.com/identity/sign-in/">
+Google Sign-In</a> into your apps and games.</p>
-<h2>Tips</h2>
+<h2 id="tips">Tips</h2>
+
+<p>Here are some suggestions for enhancing the Sign-In user experience:</p>
<ul>
-<li>Add <strong>over-the-air installs</strong> to your website. After signing in with Google
- on the web, users will have the option to send your Android app to their device instantly,
- without them ever leaving your website.</li>
- <li>With Google sign-in, you can take advantage of other <strong>Google+ platform
- features</strong> like adding a +1 button so users can make recommendations and the ability
- to share rich content to the Google+ stream.</li>
-</ul>
+ <li>
+ Add <strong>over-the-air installs</strong> to your website. After signing in with Google
+ on the web, users have the option to send your Android app to their device instantly,
+ without ever leaving your website.
+ </li>
+ <li>
+ With Google Sign-In, you can take advantage of other <strong>Google+ platform
+ features</strong>, like adding a +1 button so users can make recommendations and have
+ the ability to share rich content to their Google+ streams.
+ </li>
+</ul>
-<h2 style="clear:both" id="related-resources">Related Resources</h2>
+<h2 style="clear:both" id="related-resources">Related resources</h2>
<div class="resource-widget resource-flow-layout col-13"
data-query="collection:distribute/engage/gplus"
@@ -72,5 +68,3 @@ Google sign-in into your apps and games</a>.</p>
data-cardsizes="9x3"
data-maxresults="4">
</div>
-
-
diff --git a/docs/html/distribute/essentials/_project.yaml b/docs/html/distribute/essentials/_project.yaml
new file mode 100644
index 000000000000..cafde8d75f2f
--- /dev/null
+++ b/docs/html/distribute/essentials/_project.yaml
@@ -0,0 +1,6 @@
+name: "Essentials"
+home_url: /distribute/essentials/
+description: "A focus on quality should be part of your entire app delivery process: from initial concept through app and UI design, coding and testing and onto a process of monitoring feedback and making improvement after launch."
+content_license: cc3-apache2
+buganizer_id: 30209417
+parent_project_metadata_path: /distribute/_project.yaml
diff --git a/docs/html/distribute/googleplay/_project.yaml b/docs/html/distribute/googleplay/_project.yaml
new file mode 100644
index 000000000000..2dfded376dbe
--- /dev/null
+++ b/docs/html/distribute/googleplay/_project.yaml
@@ -0,0 +1,6 @@
+name: "Google Play"
+home_url: /distribute/googleplay/
+description: "The premier store for distributing Android apps and games, with global reach and tools to help you gain traction in the marketplace."
+content_license: cc3-apache2
+buganizer_id: 30209417
+parent_project_metadata_path: /distribute/_project.yaml
diff --git a/docs/html/distribute/monetize/_project.yaml b/docs/html/distribute/monetize/_project.yaml
new file mode 100644
index 000000000000..1936be22822d
--- /dev/null
+++ b/docs/html/distribute/monetize/_project.yaml
@@ -0,0 +1,6 @@
+name: "Earn"
+home_url: /distribute/monetize/
+description: "There are many ways to make money with your apps on Google Play, and we offer a variety of tools to make it easy."
+content_license: cc3-apache2
+buganizer_id: 30209417
+parent_project_metadata_path: /distribute/_project.yaml
diff --git a/docs/html/distribute/stories/_project.yaml b/docs/html/distribute/stories/_project.yaml
new file mode 100644
index 000000000000..1c242bb2b042
--- /dev/null
+++ b/docs/html/distribute/stories/_project.yaml
@@ -0,0 +1,6 @@
+name: "Stories"
+home_url: /distribute/stories/
+description: "Android developers, their apps, and their successes with Android and Google Play."
+content_license: cc3-apache2
+buganizer_id: 30209417
+parent_project_metadata_path: /distribute/_project.yaml
diff --git a/docs/html/distribute/tools/_project.yaml b/docs/html/distribute/tools/_project.yaml
new file mode 100644
index 000000000000..a034ede66a5c
--- /dev/null
+++ b/docs/html/distribute/tools/_project.yaml
@@ -0,0 +1,6 @@
+name: "Tools & Reference"
+home_url: /distribute/tools/
+description: "Here you'll find resources to help you publish your apps and games, acquire users, and monetize your investment."
+content_license: cc3-apache2
+buganizer_id: 30209417
+parent_project_metadata_path: /distribute/_project.yaml
diff --git a/docs/html/distribute/users/_project.yaml b/docs/html/distribute/users/_project.yaml
new file mode 100644
index 000000000000..cd7083e24cfc
--- /dev/null
+++ b/docs/html/distribute/users/_project.yaml
@@ -0,0 +1,6 @@
+name: "Get Users"
+home_url: /distribute/users/
+description: "There are some common themes from successful Google Play developers. These best practices are critical to your app or game's success."
+content_license: cc3-apache2
+buganizer_id: 30209417
+parent_project_metadata_path: /distribute/_project.yaml
diff --git a/docs/html/google/_project.yaml b/docs/html/google/_project.yaml
new file mode 100644
index 000000000000..051e6bc8a401
--- /dev/null
+++ b/docs/html/google/_project.yaml
@@ -0,0 +1,5 @@
+name: "Google Services"
+home_url: /google/
+description: "Take advantage of the latest Google technologies through a single set of APIs, delivered across Android devices worldwide as part of Google Play services."
+content_license: cc3-apache2
+buganizer_id: 30209417
diff --git a/docs/html/google/play/billing/billing_admin.jd b/docs/html/google/play/billing/billing_admin.jd
index 05f3ad593b9d..292cfcce0c36 100644
--- a/docs/html/google/play/billing/billing_admin.jd
+++ b/docs/html/google/play/billing/billing_admin.jd
@@ -748,10 +748,9 @@ you at the conclusion of the purchase flow, as the value of the
intent.</p>
<p class="note">
- <strong>Note:</strong> When a user completes a test purchase, the
- <code>orderId</code> field remains blank. To track test transactions, use
- the <code>purchaseToken</code> field instead. For more information about
- working with test purchases, see <a
+ <strong>Note:</strong> Test purchases don't have an <code>orderId</code>
+ field. To track test transactions, you use the <code>purchaseToken</code>
+ field instead. For more information about working with test purchases, see <a
href="{@docRoot}google/play/billing/billing_testing.html">Testing In-app
Billing</a>.
</p>
@@ -766,14 +765,14 @@ assigned and managed by Google.</p>
<p>For transactions dated 5 December 2012 or later, Google payments assigns a
Merchant Order Number (rather than a Google Order Number) and reports the Merchant
-Order Number as the value of <code>orderID</code>. Here's an
+Order Number as the value of <code>orderId</code>. Here's an
example:</p>
<pre>"orderId" : "GPA.1234-5678-9012-34567"</pre>
<p>For transactions dated previous to 5 December 2012, Google checkout assigned
a Google Order Number and reported that number as the value of
-<code>orderID</code>. Here's an example of an <code>orderID</code> holding a
+<code>orderId</code>. Here's an example of an <code>orderId</code> holding a
Google Order Number:</p>
<pre>"orderId" : "556515565155651"</pre>
diff --git a/docs/html/google/play/billing/billing_testing.jd b/docs/html/google/play/billing/billing_testing.jd
index 755f3ffd6220..44b7ad3081cf 100644
--- a/docs/html/google/play/billing/billing_testing.jd
+++ b/docs/html/google/play/billing/billing_testing.jd
@@ -81,8 +81,8 @@ accounts.</p>
<p>
Once authorized for testing access, those users can make purchases without
- being charged. The <code>orderId</code> field for test purchases remains
- blank, ensuring that there are no actual charges to user accounts.
+ being charged. Test purchases don't have an <code>orderId</code> field, which
+ ensures that there are no actual charges to user accounts.
</p>
<p class="note">
@@ -127,11 +127,11 @@ account. Users can confirm the account that is making a purchase by expanding th
purchase dialog.</p>
<p class="note">
- <strong>Note:</strong> For test purchases, leave the {@code orderId} field
- blank. You can use the {@code purchaseToken} field to identify test purchases.
+ <strong>Note:</strong> Test purchases don't have an <code>orderId</code>
+ field. To track test purchases, you use the <code>purchaseToken</code> field
+ instead.
</p>
-
<h4 id="tp-account">Test purchases and developer account</h4>
<p>Authorized license test accounts are associated with your developer account
in Google Play, rather than with a specific APK or package name. Identifying an
diff --git a/docs/html/guide/_project.yaml b/docs/html/guide/_project.yaml
new file mode 100644
index 000000000000..d1f8e5e04de6
--- /dev/null
+++ b/docs/html/guide/_project.yaml
@@ -0,0 +1,6 @@
+name: "API Guides"
+home_url: /guide/
+description: "Android provides a rich application framework that allows you to build innovative apps and games for mobile devices in a Java language environment."
+content_license: cc3-apache2
+buganizer_id: 30209417
+parent_project_metadata_path: /develop/_project.yaml
diff --git a/docs/html/guide/topics/graphics/prop-animation.jd b/docs/html/guide/topics/graphics/prop-animation.jd
index 693799c5ba1e..2be2b09ffea3 100755
--- a/docs/html/guide/topics/graphics/prop-animation.jd
+++ b/docs/html/guide/topics/graphics/prop-animation.jd
@@ -594,7 +594,7 @@ implementations of the methods that you can choose to override.</p>
for just the {@link android.animation.Animator.AnimatorListener#onAnimationEnd onAnimationEnd()}
callback:</p>
<pre>
-ValueAnimatorAnimator fadeAnim = ObjectAnimator.ofFloat(newBall, "alpha", 1f, 0f);
+ValueAnimator fadeAnim = ObjectAnimator.ofFloat(newBall, "alpha", 1f, 0f);
fadeAnim.setDuration(250);
fadeAnim.addListener(new AnimatorListenerAdapter() {
public void onAnimationEnd(Animator animation) {
diff --git a/docs/html/guide/topics/manifest/uses-feature-element.jd b/docs/html/guide/topics/manifest/uses-feature-element.jd
index 5d163c0d5d56..06703486e914 100755
--- a/docs/html/guide/topics/manifest/uses-feature-element.jd
+++ b/docs/html/guide/topics/manifest/uses-feature-element.jd
@@ -33,7 +33,7 @@ page.tags=filtering,features,google play filters,permissions
<p style="color:#669999;padding-top:1em;">Google Play Filtering</p>
<p style="padding-top:1em;">Google Play uses the <code>&lt;uses-feature&gt;</code>
elements declared in your app manifest to filter your app from devices
- that do not meet it's hardware and software feature requirements. </p>
+ that do not meet its hardware and software feature requirements. </p>
<p style="margin-top:1em;">By specifying the features that your application requires,
you enable Google Play to present your application only to users whose
@@ -150,23 +150,21 @@ device compatibility.</p>
<dd>
Boolean value that indicates whether the application requires the feature
specified in <code>android:name</code>.
- </dd>
-</dl>
-<ul>
-<li>When you declare <code>android:required="true"</code> for a feature,
-you are specifying that the application <em>cannot function, or is not
-designed to function</em>, when the specified feature is not present on the
-device. </li>
+ <ul>
+ <li>When you declare <code>android:required="true"</code> for a feature,
+ you are specifying that the application <em>cannot function, or is not
+ designed to function</em>, when the specified feature is not present on the
+ device. </li>
-<li>When you declare <code>android:required="false"</code> for a feature, it
-means that the application <em>prefers to use the feature</em> if present on
-the device, but that it <em>is designed to function without the specified
-feature</em>, if necessary. </li>
+ <li>When you declare <code>android:required="false"</code> for a feature, it
+ means that the application <em>prefers to use the feature</em> if present on
+ the device, but that it <em>is designed to function without the specified
+ feature</em>, if necessary. </li>
-</ul>
+ </ul>
-<p>The default value for <code>android:required</code> if not declared is
-<code>"true"</code>.</p>
+ <p>The default value for <code>android:required</code> if not declared is
+ <code>"true"</code>.</p>
</dd>
<dt><a name="glEsVersion"></a><code>android:glEsVersion</code></dt>
diff --git a/docs/html/guide/topics/sensors/sensors_position.jd b/docs/html/guide/topics/sensors/sensors_position.jd
index d0ddeadf2166..5ec16c71537c 100644
--- a/docs/html/guide/topics/sensors/sensors_position.jd
+++ b/docs/html/guide/topics/sensors/sensors_position.jd
@@ -8,7 +8,7 @@ page.tags=sensorevent,orientation,proximity
<ol>
<li><a href="#sensors-pos-gamerot">Using the Game Rotation Vector Sensor</a></li>
<li><a href="#sensors-pos-geomrot">Using the Geomagnetic Rotation Vector Sensor</a></li>
- <li><a href="#sensors-pos-orient">Using the Orientation Sensor</a></li>
+ <li><a href="#sensors-pos-orient">Computing the Device's Orientation</a></li>
<li><a href="#sensors-pos-mag">Using the Geomagnetic Field Sensor</a></li>
<li><a href="#sensors-pos-prox">Using the Proximity Sensor</a></li>
</ol>
@@ -42,38 +42,49 @@ href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/os/Senso
</div>
</div>
-<p>The Android platform provides two sensors that let you determine the position of a device: the
-geomagnetic field sensor and the orientation sensor. The Android platform also
-provides a sensor that lets you determine how close the face of a device is to an object (known as
-the proximity sensor). The geomagnetic field sensor and the proximity sensor are hardware-based.
-Most
-handset and tablet manufacturers include a geomagnetic field sensor. Likewise, handset manufacturers
-usually include a proximity sensor to determine when a handset is being held close to a user's face
-(for example, during a phone call). The orientation sensor is software-based and derives its data
-from the accelerometer and the geomagnetic field sensor.</p>
-
-<p class="note"><strong>Note:</strong> The orientation sensor was deprecated in Android 2.2 (API
-Level 8).</p>
-
-<p>Position sensors are useful for determining a device's physical position in the
-world's frame of reference. For example, you can use the geomagnetic field sensor in
-combination with the accelerometer to determine a device's position relative to
-the magnetic North Pole. You can also use the orientation sensor (or similar sensor-based
-orientation methods) to determine a device's position in your application's frame of reference.
-Position sensors are not typically used to monitor device movement or motion, such as shake, tilt,
-or thrust (for more information, see <a
-href="{@docRoot}guide/topics/sensors/sensors_motion.html">Motion Sensors</a>).</p>
-
-<p>The geomagnetic field sensor and orientation sensor return multi-dimensional arrays of sensor
-values
-for each {@link android.hardware.SensorEvent}. For example, the orientation sensor provides
-geomagnetic
-field strength values for each of the three coordinate axes during a single sensor event. Likewise,
-the orientation sensor provides azimuth (yaw), pitch, and roll values during a single sensor event.
-For more information about the coordinate systems that are used by sensors, see <a
-href="{@docRoot}guide/topics/sensors/sensors_overview.html#sensors-coords">Sensor Coordinate
-Systems</a>. The proximity sensor provides a single value for each sensor event. Table 1 summarizes
-the position sensors that are supported on the Android platform.</p>
+<p>
+ The Android platform provides two sensors that let you determine the position
+ of a device: the geomagnetic field sensor and the accelerometer. The Android
+ platform also provides a sensor that lets you determine how close the face of
+ a device is to an object (known as the <em>proximity sensor</em>). The
+ geomagnetic field sensor and the proximity sensor are hardware-based. Most
+ handset and tablet manufacturers include a geomagnetic field sensor. Likewise,
+ handset manufacturers usually include a proximity sensor to determine when a
+ handset is being held close to a user's face (for example, during a phone
+ call). For determining a device's orientation, you can use the readings from
+ the device's accelerometer and the geomagnetic field sensor.
+</p>
+
+<p class="note">
+ <strong>Note:</strong> The orientation sensor was deprecated in Android 2.2
+ (API level 8), and the orientation sensor type was deprecated in Android 4.4W
+ (API level 20).
+</p>
+
+<p>
+ Position sensors are useful for determining a device's physical position in
+ the world's frame of reference. For example, you can use the geomagnetic field
+ sensor in combination with the accelerometer to determine a device's position
+ relative to the magnetic north pole. You can also use these sensors to
+ determine a device's orientation in your application's frame of reference.
+ Position sensors are not typically used to monitor device movement or motion,
+ such as shake, tilt, or thrust (for more information, see <a
+ href="{@docRoot}guide/topics/sensors/sensors_motion.html">Motion Sensors</a>).
+</p>
+
+<p>
+ The geomagnetic field sensor and accelerometer return multi-dimensional arrays
+ of sensor values for each {@link android.hardware.SensorEvent}. For example,
+ the geomagnetic field sensor provides geomagnetic field strength values for
+ each of the three coordinate axes during a single sensor event. Likewise, the
+ accelerometer sensor measures the acceleration applied to the device during a
+ sensor event. For more information about the coordinate systems that are used
+ by sensors, see <a
+ href="{@docRoot}guide/topics/sensors/sensors_overview.html#sensors-coords">
+ Sensor Coordinate Systems</a>. The proximity sensor provides a single value
+ for each sensor event. Table 1 summarizes the position sensors that are
+ supported on the Android platform.
+</p>
<p class="table-caption" id="table1">
<strong>Table 1.</strong> Position sensors that are supported on the Android platform.</p>
@@ -174,14 +185,17 @@ the position sensors that are supported on the Android platform.</p>
</tr>
</table>
-<p class="note"><sup><strong>1</strong></sup> This sensor was deprecated in Android 2.2 (API Level
- 8). The sensor framework provides alternate methods for acquiring device orientation, which are
-discussed in <a href="#sensors-pos-orient">Using the Orientation Sensor</a>.</p>
+<p class="note">
+ <sup><strong>1</strong></sup>This sensor was deprecated in Android 2.2 (API
+ level 8), and this sensor type was deprecated in Android 4.4W (API level 20).
+ The sensor framework provides alternate methods for acquiring device
+ orientation, which are discussed in <a href="#sensors-pos-orient">Computing
+ the Device's Orientation</a>.
+</p>
<p class="note"><sup><strong>2</strong></sup> Some proximity sensors provide only binary values
representing near and far.</p>
-
<h2 id="sensors-pos-gamerot">Using the Game Rotation Vector Sensor</h2>
<p>The game rotation vector sensor is identical to the
@@ -228,71 +242,106 @@ mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_GEOMAGNETIC_ROTATION_VECTO
</pre>
-<h2 id="sensors-pos-orient">Using the Orientation Sensor</h2>
-
-<p>The orientation sensor lets you monitor the position of a device relative to the earth's frame of
-reference (specifically, magnetic north). The following code shows you how to get an instance of the
-default orientation sensor:</p>
+<h2 id="sensors-pos-orient">Computing the Device's Orientation</h2>
+<p>By computing a device's orientation, you can monitor the position of the
+ device relative to the earth's frame of reference (specifically, the magnetic
+ north pole). The following code shows you how to compute a device's
+ orientation:
+</p>
<pre>
private SensorManager mSensorManager;
-private Sensor mSensor;
...
-mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
-mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);
+// Rotation matrix based on current readings from accelerometer and magnetometer.
+final float[] rotationMatrix = new float[9];
+mSensorManager.getRotationMatrix(rotationMatrix, null,
+ accelerometerReading, magnetometerReading);
+
+// Express the updated rotation matrix as three orientation angles.
+final float[] orientationAngles = new float[3];
+mSensorManager.getOrientation(rotationMatrix, orientationAngles);
</pre>
-
-<p>The orientation sensor derives its data by using a device's geomagnetic field sensor in
-combination with a device's accelerometer. Using these two hardware sensors, an orientation sensor
-provides data for the following three dimensions:</p>
-
+<p>The system computes the orientation angles by using a device's geomagnetic
+ field sensor in combination with the device's accelerometer. Using these two
+ hardware sensors, the system provides data for the following three
+ orientation angles:
+</p>
<ul>
- <li>Azimuth (degrees of rotation around the z axis). This is the angle between magnetic north
-and the device's y axis. For example, if the device's y axis is aligned with magnetic north
-this value is 0, and if the device's y axis is pointing south this value is 180. Likewise, when
-the y axis is pointing east this value is 90 and when it is pointing west this value is 270.</li>
- <li>Pitch (degrees of rotation around the x axis). This value is positive when the positive z axis
-rotates toward the positive y axis, and it is negative when the positive z axis
-rotates toward the negative y axis. The range of values is 180 degrees to -180
-degrees.</li>
- <li>Roll (degrees of rotation around the y axis). This value is positive when the positive z axis
-rotates toward the positive x axis, and it is negative when the positive z axis
-rotates toward the negative x axis. The range of values is 90 degrees to -90
-degrees.</li>
+ <li>
+ <strong>Azimuth (degrees of rotation about the -z axis).</strong> This is
+ the angle between the device's current compass direction and magnetic north.
+ If the top edge of the device faces magnetic north, the azimuth is 0
+ degrees; if the top edge faces south, the azimuth is 180 degrees. Similarly,
+ if the top edge faces east, the azimuth is 90 degrees, and if the top edge
+ faces west, the azimuth is 270 degrees.
+ </li>
+ <li>
+ <strong>Pitch (degrees of rotation about the x axis).</strong> This is the
+ angle between a plane parallel to the device's screen and a plane parallel
+ to the ground. If you hold the device parallel to the ground with the bottom
+ edge closest to you and tilt the top edge of the device toward the ground,
+ the pitch angle becomes positive. Tilting in the opposite direction&mdash;
+ moving the top edge of the device away from the ground&mdash;causes
+ the pitch angle to become negative. The range of values is -180 degrees to
+ 180 degrees.
+ </li>
+ <li>
+ <strong>Roll (degrees of rotation about the y axis).</strong> This is the
+ angle between a plane perpendicular to the device's screen and a plane
+ perpendicular to the ground. If you hold the device parallel to the ground
+ with the bottom edge closest to you and tilt the left edge of the device
+ toward the ground, the roll angle becomes positive. Tilting in the opposite
+ direction&mdash;moving the right edge of the device toward the ground&mdash;
+ causes the roll angle to become negative. The range of values is -90 degrees
+ to 90 degrees.
+ </li>
</ul>
-<p>This definition is different from yaw, pitch, and roll used in aviation, where the X axis is
-along the long side of the plane (tail to nose). Also, for historical reasons the roll angle is
-positive in the clockwise direction (mathematically speaking, it should be positive in the
-counter-clockwise direction).</p>
-
-<p>The orientation sensor derives its data by processing the raw sensor data from the accelerometer
-and the geomagnetic field sensor. Because of the heavy processing that is involved, the accuracy and
-precision of the orientation sensor is diminished (specifically, this sensor is only reliable when
-the roll component is 0). As a result, the orientation sensor was deprecated in Android 2.2 (API
-level 8). Instead of using raw data from the orientation sensor, we recommend that you use the
-{@link android.hardware.SensorManager#getRotationMatrix getRotationMatrix()} method in conjunction
-with the {@link android.hardware#getOrientation getOrientation()} method to compute orientation
-values. You can also use the {@link android.hardware.SensorManager#remapCoordinateSystem
-remapCoordinateSystem()} method to translate the orientation values to your application's frame of
-reference.</p>
-
-<p>The following code sample shows how to acquire orientation data directly from the orientation
-sensor. We recommend that you do this only if a device has negligible roll.</p>
-
+<p class="note">
+ <strong>Note:</strong>The sensor's roll definition has changed to reflect the
+ vast majority of implementations in the geosensor ecosystem.
+</p>
+
+<p>
+ Note that these angles work off of a different coordinate system than the
+ one used in aviation (for yaw, pitch, and roll). In the aviation system, the
+ x axis is along the long side of the plane, from tail to nose.
+</p>
+
+<p>
+ The orientation sensor derives its data by processing the raw sensor data
+ from the accelerometer and the geomagnetic field sensor. Because of the heavy
+ processing that is involved, the accuracy and precision of the orientation
+ sensor is diminished. Specifically, this sensor is reliable only when the roll
+ angle is 0. As a result, the orientation sensor was deprecated in Android
+ 2.2 (API level 8), and the orientation sensor type was deprecated in Android
+ 4.4W (API level 20).
+
+ Instead of using raw data from the orientation sensor, we recommend that you
+ use the {@link android.hardware.SensorManager#getRotationMatrix getRotationMatrix()}
+ method in conjunction with the
+ {@link android.hardware.SensorManager#getOrientation getOrientation()} method
+ to compute orientation values, as shown in the following code sample. As part
+ of this process, you can use the
+ {@link android.hardware.SensorManager#remapCoordinateSystem remapCoordinateSystem()}
+ method to translate the orientation values to your application's frame of
+ reference.
+</p>
<pre>
public class SensorActivity extends Activity implements SensorEventListener {
private SensorManager mSensorManager;
- private Sensor mOrientation;
+ private final float[] mAccelerometerReading = new float[3];
+ private final float[] mMagnetometerReading = new float[3];
+
+ private final float[] mRotationMatrix = new float[9];
+ private final float[] mOrientationAngles = new float[3];
&#64;Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
-
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
- mOrientation = mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);
}
&#64;Override
@@ -304,31 +353,63 @@ public class SensorActivity extends Activity implements SensorEventListener {
&#64;Override
protected void onResume() {
super.onResume();
- mSensorManager.registerListener(this, mOrientation, SensorManager.SENSOR_DELAY_NORMAL);
+
+ // Get updates from the accelerometer and magnetometer at a constant rate.
+ // To make batch operations more efficient and reduce power consumption,
+ // provide support for delaying updates to the application.
+ //
+ // In this example, the sensor reporting delay is small enough such that
+ // the application receives an update before the system checks the sensor
+ // readings again.
+ mSensorManager.registerListener(this, Sensor.TYPE_ACCELEROMETER,
+ SensorManager.SENSOR_DELAY_NORMAL, SensorManager.SENSOR_DELAY_UI);
+ mSensorManager.registerListener(this, Sensor.TYPE_MAGNETIC_FIELD,
+ SensorManager.SENSOR_DELAY_NORMAL, SensorManager.SENSOR_DELAY_UI);
}
&#64;Override
protected void onPause() {
super.onPause();
+
+ // Don't receive any more updates from either sensor.
mSensorManager.unregisterListener(this);
}
+ // Get readings from accelerometer and magnetometer. To simplify calculations,
+ // consider storing these readings as unit vectors.
&#64;Override
public void onSensorChanged(SensorEvent event) {
- float azimuth_angle = event.values[0];
- float pitch_angle = event.values[1];
- float roll_angle = event.values[2];
- // Do something with these orientation angles.
+ if (event.sensor == Sensor.TYPE_ACCELEROMETER) {
+ System.arraycopy(event.values, 0, mAccelerometerReading,
+ 0, mAccelerometerReading.length);
+ }
+ else if (event.sensor == Sensor.TYPE_MAGNETIC_FIELD) {
+ System.arraycopy(event.values, 0, mMagnetometerReading,
+ 0, mMagnetometerReading.length);
+ }
+ }
+
+ // Compute the three orientation angles based on the most recent readings from
+ // the device's accelerometer and magnetometer.
+ public void updateOrientationAngles() {
+ // Update rotation matrix, which is needed to update orientation angles.
+ mSensorManager.getRotationMatrix(mRotationMatrix, null,
+ mAccelerometerReading, mMagnetometerReading);
+
+ // "mRotationMatrix" now has up-to-date information.
+
+ mSensorManager.getOrientation(mRotationMatrix, mOrientationAngles);
+
+ // "mOrientationAngles" now has up-to-date information.
}
}
</pre>
-<p>You do not usually need to perform any data processing or filtering of the raw data that you
-obtain from an orientation sensor, other than translating the sensor's coordinate system to your
-application's frame of reference. The <a
-href="{@docRoot}resources/samples/AccelerometerPlay/index.html">Accelerometer Play</a> sample shows
-you how to translate acceleration sensor data into another frame of reference; the technique is
-similar to the one you might use with the orientation sensor.</p>
+<p>
+ You don't usually need to perform any data processing or filtering of the
+ device's raw orientation angles other than translating the sensor's
+ coordinate system to your application's frame of reference.
+</p>
<h2 id="sensors-pos-mag">Using the Geomagnetic Field Sensor</h2>
diff --git a/docs/html/images/distribute/google-sign-in-banner.png b/docs/html/images/distribute/google-sign-in-banner.png
new file mode 100644
index 000000000000..ba046861a770
--- /dev/null
+++ b/docs/html/images/distribute/google-sign-in-banner.png
Binary files differ
diff --git a/docs/html/jd_extras_en.js b/docs/html/jd_extras_en.js
index 434f2116a0b4..5c4227781de2 100644
--- a/docs/html/jd_extras_en.js
+++ b/docs/html/jd_extras_en.js
@@ -2887,6 +2887,19 @@ METADATA['en'].extras = METADATA['en'].extras.concat([
"lang": "en",
"group": "",
"tags": [],
+ "url": "https://www.udacity.com/courses/ud876-3",
+ "timestamp": null,
+ "image": "distribute/images/advertising.jpg",
+ "title": "Learn how to show ads in your Android app",
+ "summary": "Take this online course to learn how to use AdMob to display ads in your Android app.",
+ "keywords": ["marketing", "analytics"],
+ "type": "distribute",
+ "titleFriendly": ""
+ },
+ {
+ "lang": "en",
+ "group": "",
+ "tags": [],
"url": "https://developers.google.com/mobile-ads-sdk/download",
"timestamp": null,
"image": "distribute/images/advertising.jpg",
@@ -2969,7 +2982,7 @@ METADATA['en'].extras = METADATA['en'].extras.concat([
"url": "https://developers.google.com/identity/sign-in/android/people",
"timestamp": 1383243492000,
"image": "images/cards/google-sign-in_2x.png",
- "title": "Get user profile details",
+ "title": "Get User Profile Details",
"summary": "After users sign-in with Google, you can access their age range, language, and public profile information.",
"keywords": ["signin", "identity", "google"],
"type": "distribute",
diff --git a/docs/html/preview/_project.yaml b/docs/html/preview/_project.yaml
new file mode 100644
index 000000000000..3ec851aa3346
--- /dev/null
+++ b/docs/html/preview/_project.yaml
@@ -0,0 +1,5 @@
+name: "Preview"
+home_url: /preview/
+description: "Android N final SDK is now available."
+content_license: cc3-apache2
+buganizer_id: 30209417
diff --git a/docs/html/preview/behavior-changes.jd b/docs/html/preview/behavior-changes.jd
index 48dc053116f6..ba08d9b16411 100644
--- a/docs/html/preview/behavior-changes.jd
+++ b/docs/html/preview/behavior-changes.jd
@@ -765,6 +765,23 @@ JavaVM::AttachCurrentThread from &lt;jni.h&gt;.
is returned, even if the encryption key is specific to the user or profile.
</li>
+ <li>In Android N, several methods that would ordinarily affect the entire
+ device behave differently if the device has a work profile installed with a
+ separate work challenge. Rather than affecting the entire device, these
+ methods apply only to the work profile. (The complete list of such methods is
+ in the {@link android.app.admin.DevicePolicyManager#getParentProfileInstance
+ DevicePolicyManager.getParentProfileInstance()} documentation.) For example,
+ {@link android.app.admin.DevicePolicyManager#lockNow
+ DevicePolicyManager.lockNow()} locks just the work profile, instead of
+ locking the entire device. For each of these methods, you can get the old
+ behavior by calling the method on the parent instance of the
+ {@link android.app.admin.DevicePolicyManager}; you can get this parent by
+ calling {@link android.app.admin.DevicePolicyManager#getParentProfileInstance
+ DevicePolicyManager.getParentProfileInstance()}. So for example, if you call
+ the parent instance's {@link android.app.admin.DevicePolicyManager#lockNow}
+ method, the entire device is locked.
+ </li>
+
</ul>
<p>
diff --git a/docs/html/preview/download.jd b/docs/html/preview/download.jd
index a60cbfaa5285..e4db8901b46f 100644
--- a/docs/html/preview/download.jd
+++ b/docs/html/preview/download.jd
@@ -386,15 +386,6 @@ This is the Android SDK Preview License Agreement (the “License Agreementâ€).
</td>
</tr>
- <tr id="xperia">
- <td>Sony Xperia Z3 <br> (D6603 and D6653)</td>
- <td>Download: <a class="external-link"
- href="http://support.sonymobile.com/xperiaz3/tools/xperia-companion/">Xperia Companion</a><br>
- For more information, see <a class="external-link"
- href="https://developer.sony.com/develop/smartphones-and-tablets/android-n-developer-preview/">Try Android N Developer Preview for Xperia Z3</a>.
- </td>
- </tr>
-
</table>
<h3 id="revertDevice">Uninstalling the Preview from a device</h3>
diff --git a/docs/html/preview/features/notification-updates.jd b/docs/html/preview/features/notification-updates.jd
index af449cbecb5f..fd65e120d9e5 100644
--- a/docs/html/preview/features/notification-updates.jd
+++ b/docs/html/preview/features/notification-updates.jd
@@ -395,5 +395,6 @@ Notification notification = new Notification.Builder()
.addMessage("Hi", timestamp1, null) // Pass in null for user.
.addMessage("What's up?", timestamp2, "Coworker")
.addMessage("Not much", timestamp3, null)
- .addMessage("How about lunch?", timestamp4, "Coworker"));
+ .addMessage("How about lunch?", timestamp4, "Coworker"))
+ .build();
</pre>
diff --git a/docs/html/preview/support.jd b/docs/html/preview/support.jd
index ed40914110f7..0d0d9db2f1c8 100644
--- a/docs/html/preview/support.jd
+++ b/docs/html/preview/support.jd
@@ -135,13 +135,6 @@ page.image=images/cards/card-n-support_2x.png
</li>
</ul>
-<h4>Camera</h4>
-<ul>
- <li>Apps may encounter Intermittent issues recording and playing back
- video at 240fps.
- </li>
-</ul>
-
<h4>Do Not Disturb</h4>
<ul>
<li>Do Not Disturb mode may be set at device reboot. To work around
diff --git a/docs/html/reference/_project.yaml b/docs/html/reference/_project.yaml
new file mode 100644
index 000000000000..e5c26e7fdd8f
--- /dev/null
+++ b/docs/html/reference/_project.yaml
@@ -0,0 +1,6 @@
+name: "Reference"
+home_url: /reference/
+description: "API Reference packages and classes."
+content_license: cc3-apache2
+buganizer_id: 30209417
+parent_project_metadata_path: /develop/_project.yaml
diff --git a/docs/html/samples/_project.yaml b/docs/html/samples/_project.yaml
new file mode 100644
index 000000000000..ede5958cc683
--- /dev/null
+++ b/docs/html/samples/_project.yaml
@@ -0,0 +1,6 @@
+name: "Samples"
+home_url: /samples/
+description: "Welcome to code samples where you can browse sample code and learn how to build different components for your applications."
+content_license: cc3-apache2
+buganizer_id: 30209417
+parent_project_metadata_path: /develop/_project.yaml
diff --git a/docs/html/topic/instant-apps/_project.yaml b/docs/html/topic/instant-apps/_project.yaml
new file mode 100644
index 000000000000..e6b8cd95fd69
--- /dev/null
+++ b/docs/html/topic/instant-apps/_project.yaml
@@ -0,0 +1,6 @@
+name: "Android Instant Apps"
+home_url: /topic/instant-apps/
+description: "An evolution in app sharing and discovery, Android Instant Apps enables Android apps to run instantly, without requiring installation."
+content_license: cc3-apache2
+buganizer_id: 30209417
+parent_project_metadata_path: /develop/_project.yaml
diff --git a/docs/html/topic/libraries/_project.yaml b/docs/html/topic/libraries/_project.yaml
new file mode 100644
index 000000000000..cdf59e5120ce
--- /dev/null
+++ b/docs/html/topic/libraries/_project.yaml
@@ -0,0 +1,6 @@
+name: "Android Libraries"
+home_url: /topic/libraries/
+description: "This section describes several useful Android libraries that are not included with the Android Framework."
+content_license: cc3-apache2
+buganizer_id: 30209417
+parent_project_metadata_path: /develop/_project.yaml
diff --git a/docs/html/topic/performance/_project.yaml b/docs/html/topic/performance/_project.yaml
new file mode 100644
index 000000000000..d4202a992b6b
--- /dev/null
+++ b/docs/html/topic/performance/_project.yaml
@@ -0,0 +1,6 @@
+name: "Performance"
+home_url: /topic/performance/
+description: "Improve your app's performance by learning how to optimize power consumption, launch times, and other important areas of performance."
+content_license: cc3-apache2
+buganizer_id: 30209417
+parent_project_metadata_path: /develop/_project.yaml
diff --git a/docs/html/training/_project.yaml b/docs/html/training/_project.yaml
new file mode 100644
index 000000000000..6aa8760644dc
--- /dev/null
+++ b/docs/html/training/_project.yaml
@@ -0,0 +1,6 @@
+name: "Training"
+home_url: /training/
+description: "Android Training provides a collection of classes that aim to help you build great apps for Android."
+content_license: cc3-apache2
+buganizer_id: 30209417
+parent_project_metadata_path: /develop/_project.yaml
diff --git a/docs/html/training/testing/ui-testing/espresso-testing.jd b/docs/html/training/testing/ui-testing/espresso-testing.jd
index 7df67e7c23b8..d3d31debc353 100644
--- a/docs/html/training/testing/ui-testing/espresso-testing.jd
+++ b/docs/html/training/testing/ui-testing/espresso-testing.jd
@@ -188,9 +188,9 @@ The following section describes how to create a new Espresso test in the JUnit 4
{@code ActivityTestRule}</a> to reduce the amount of boilerplate code you need to write. By using
<a href="{@docRoot}reference/android/support/test/rule/ActivityTestRule.html">
{@code ActivityTestRule}</a>, the testing framework launches the activity under test
-before each test method annotated with {@code &#64;Test} and before any method annotated with
-{@code &#64;Before}. The framework handles shutting down the activity after the test finishes
-and all methods annotated with {@code &#64;After} are run.</p>
+before each test method annotated with <code>&#64;Test</code> and before any method annotated with
+<code>&#64;Before</code>. The framework handles shutting down the activity after the test finishes
+and all methods annotated with <code>&#64;After</code> are run.</p>
<pre>
package com.example.android.testing.espresso.BasicSample;
diff --git a/docs/html/training/wearables/notifications/creating.jd b/docs/html/training/wearables/notifications/creating.jd
index 6f8497a21ec4..5663b585b94e 100644
--- a/docs/html/training/wearables/notifications/creating.jd
+++ b/docs/html/training/wearables/notifications/creating.jd
@@ -28,7 +28,7 @@ notifications properly, whether they appear on a handheld or wearable.
<p class="note"><strong>Note:</strong>
Notifications using {@link android.widget.RemoteViews} are stripped of custom
-layouts and the wearable only displays the text and icons. However, you can create
+layouts and the wearable only displays the text and icons. However, you can
<a href="{@docRoot}training/wearables/apps/layouts.html#CustomNotifications">create custom notifications</a>
that use custom card layouts by creating a wearable app that runs on the wearable device.</p>
diff --git a/docs/html/wear/_project.yaml b/docs/html/wear/_project.yaml
new file mode 100644
index 000000000000..2a9427432791
--- /dev/null
+++ b/docs/html/wear/_project.yaml
@@ -0,0 +1,5 @@
+name: "Wear"
+home_url: /wear/
+description: "Small, powerful devices, worn on the body. Useful information when you need it most."
+content_license: cc3-apache2
+buganizer_id: 30209417
diff --git a/docs/html/work/_project.yaml b/docs/html/work/_project.yaml
new file mode 100644
index 000000000000..9db0466a3f51
--- /dev/null
+++ b/docs/html/work/_project.yaml
@@ -0,0 +1,5 @@
+name: "Work"
+home_url: /work/
+description: "Develop apps for Android for Work to take advantage of security and management features built into Android."
+content_license: cc3-apache2
+buganizer_id: 30209417
diff --git a/docs/html/work/managed-configurations.jd b/docs/html/work/managed-configurations.jd
index 91c0637c2edb..6de4d8ba7589 100644
--- a/docs/html/work/managed-configurations.jd
+++ b/docs/html/work/managed-configurations.jd
@@ -35,7 +35,10 @@ enterprise administrator to:</p>
</ul>
<p>
- This guide shows how to implement these configuration settings in your app.
+ This guide shows how to implement managed configuration settings in
+ your app. If you're an EMM developer, refer to the
+ <a href="https://developers.google.com/android/work/build-dpc"
+ >Build a Device Policy Controller</a> guide.
</p>
<p class="note">
@@ -71,8 +74,8 @@ enterprise administrator to:</p>
<ul>
<li>Declare the managed configurations in your app manifest. Doing
- so allows the enterprise administrator to read the app's
- configurations through Google Play APIs.
+ so allows the enterprise administrator to read the app's
+ configurations through Google Play APIs.
</li>
<li>Whenever the app resumes, use the {@link
@@ -82,11 +85,11 @@ enterprise administrator to:</p>
</li>
<li>Listen for the
- {@link android.content.Intent#ACTION_APPLICATION_RESTRICTIONS_CHANGED
- ACTION_APPLICATION_RESTRICTIONS_CHANGED} intent. When you receive this
- broadcast, check the {@link android.content.RestrictionsManager} to see what
- the current managed configurations are, and make any necessary changes to your
- app's behavior.
+ {@link android.content.Intent#ACTION_APPLICATION_RESTRICTIONS_CHANGED
+ ACTION_APPLICATION_RESTRICTIONS_CHANGED} intent. When you receive this
+ broadcast, check the {@link android.content.RestrictionsManager} to see what
+ the current managed configurations are, and make any necessary changes to your
+ app's behavior.
</li>
</ul>
@@ -96,11 +99,11 @@ enterprise administrator to:</p>
<p>
Your app can support any managed configuration you want to define. You declare the
- app's managed configurations in a <em>managed configurations file</em>, and declare the
- configurations file in the manifest. Creating a configurations file allows other
- apps to examine the managed configurations your app provides. Enterprise Mobility
- Management (EMM) partners can read your app's configurations by using Google
- Play APIs.
+ app's managed configurations in a <em>managed configurations file</em>, and declare
+ the configurations file in the manifest. Creating a configurations file allows
+ other apps to examine the managed configurations your app provides. Enterprise
+ Mobility Management (EMM) partners can read your app's configurations by using
+ Google Play APIs.
</p>
<p>
@@ -138,6 +141,14 @@ enterprise administrator to:</p>
</p>
<p>
+ The managed configuration provider can query the app to find details
+ on the app's available configurations, including their description
+ text. The configurations provider and enterprise administrator can
+ change your app's managed configurations at any time, even when the
+ app is not running.
+</p>
+
+<p>
For example, suppose your app can be remotely configured to allow or forbid
it to download data over a cellular connection. Your app could have a
<code>&lt;restriction&gt;</code> element like this:
@@ -145,7 +156,7 @@ enterprise administrator to:</p>
<pre>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
-&lt;restrictions xmlns:android="http://schemas.android.com/apk/res/android" &gt;
+&lt;restrictions xmlns:android="http://schemas.android.com/apk/res/android"&gt;
&lt;restriction
android:key="downloadOnCellular"
@@ -158,11 +169,6 @@ enterprise administrator to:</p>
</pre>
<p>
- The supported types for the <code>android:restrictionType</code> element are
- documented in the reference for {@link android.content.RestrictionsManager}.
-</p>
-
-<p>
You use each configuration's <code>android:key</code> attribute to
read its value from a managed configuration bundle. For this reason,
each configuration must have a unique key string, and the string
@@ -172,18 +178,144 @@ enterprise administrator to:</p>
<p class="note">
<strong>Note:</strong> In a production app, <code>android:title</code> and
<code>android:description</code> should be drawn from a localized resource
- file, as described in <a href=
- "{@docRoot}guide/topics/resources/localization.html">Localizing with
- Resources</a>.
+ file, as described in
+ <a href="{@docRoot}guide/topics/resources/localization.html"
+ >Localizing with Resources</a>.
</p>
+<p id="nested-restrictions">
+ An app can define one or multiple nested restriction elements using
+ the restriction types
+ {@link android.content.RestrictionEntry#TYPE_BUNDLE bundle} and
+ {@link android.content.RestrictionEntry#TYPE_BUNDLE_ARRAY bundle_array}.
+ For example, an app with multiple VPN connection options could define
+ each VPN server configuration in a bundle, with multiple bundles grouped
+ together in a bundle array:
+</p>
+
+<pre>
+&lt;?xml version="1.0" encoding="utf-8"?&gt;
+&lt;restrictions xmlns:android="http://schemas.android.com/apk/res/android" &gt;
+
+ &lt;restriction
+ android:key="vpn_configuration_list"
+ android:restrictionType="bundle_array"&gt;
+ &lt;restriction
+ android:key="vpn_configuration"
+ android:restrictionType="bundle"&gt;
+ &lt;restriction
+ android:key="vpn_server"
+ android:restrictionType="string"/&gt;
+ &lt;restriction
+ android:key="vpn_username"
+ android:restrictionType="string"/&gt;
+ &lt;restriction
+ android:key="vpn_password"
+ android:restrictionType="string"/&gt;
+ &lt;/restriction&gt;
+ &lt;/restriction&gt;
+
+&lt;/restrictions&gt;
+</pre>
+
<p>
- The managed configuration provider can query the app to find details
- on the app's available configurations, including their description
- text. Configurations providers and enterprise administrators can
- change your app's managed configurations at any time, even when the
- app is not running.
+ The supported types for the <code>android:restrictionType</code> element
+ are listed in <a href="#restriction-types">Table 1</a> and documented in
+ the reference for {@link android.content.RestrictionsManager} and
+ {@link android.content.RestrictionEntry}.
+</p>
+
+<p class="table-caption" id="restriction-types">
+ <strong>Table 1.</strong> Restriction entry types and usage.
</p>
+<table>
+ <tbody>
+ <tr>
+ <th>Type</th>
+ <th>android:restrictionType</th>
+ <th>Typical usage</th>
+ </tr>
+ <tr>
+ <td>
+ {@link android.content.RestrictionEntry#TYPE_BOOLEAN TYPE_BOOLEAN}
+ </td>
+ <td><code>"bool"</code></td>
+ <td>
+ A boolean value, true or false.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ {@link android.content.RestrictionEntry#TYPE_STRING TYPE_STRING}
+ </td>
+ <td><code>"string"</code></td>
+ <td>
+ A string value, such as a name.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ {@link android.content.RestrictionEntry#TYPE_INTEGER TYPE_INTEGER}
+ </td>
+ <td><code>"integer"</code></td>
+ <td>
+ An integer with a value from
+ {@link java.lang.Integer#MIN_VALUE MIN_VALUE} to
+ {@link java.lang.Integer#MAX_VALUE MAX_VALUE}.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ {@link android.content.RestrictionEntry#TYPE_CHOICE TYPE_CHOICE}
+ </td>
+ <td><code>"choice"</code></td>
+ <td>
+ A string value, typically presented as a single-select list.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ {@link android.content.RestrictionEntry#TYPE_MULTI_SELECT TYPE_MULTI_SELECT}
+ </td>
+ <td><code>"multi-select"</code></td>
+ <td>
+ Use this for presenting a multi-select list where more than
+ one entry can be selected, such as for choosing specific
+ titles to white-list.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ {@link android.content.RestrictionEntry#TYPE_NULL TYPE_NULL}
+ </td>
+ <td><code>"hidden"</code></td>
+ <td>
+ Hidden restriction type. Use this type for information that
+ needs to be transferred across but shouldn't be presented to
+ the user in the UI. Stores a single string value.
+ </td>
+ </tr>
+ <tr>
+ <td>{@link android.content.RestrictionEntry#TYPE_BUNDLE TYPE_BUNDLE}</td>
+ <td><code>"bundle"</code></td>
+ <td>
+ Use this for storing {@link android.os.Bundle bundles} of
+ restrictions. Available in Android 6.0 (API level 23).
+ </td>
+ </tr>
+ <tr>
+ <td>
+ {@link android.content.RestrictionEntry#TYPE_BUNDLE_ARRAY TYPE_BUNDLE_ARRAY}
+ </td>
+ <td><code>"bundle_array"</code></td>
+ <td>
+ Use this for storing arrays of restriction
+ <a href="{@docRoot}reference/android/os/Bundle.html"
+ >bundles</a>. Available in Android 6.0 (API level 23).
+ </td>
+ </tr>
+ </tbody>
+</table>
<h2 id="check-configuration">
Check Managed Configurations
@@ -292,11 +424,10 @@ enterprise administrator to:</p>
<pre>
boolean appCanUseCellular;
-if appRestrictions.containsKey("downloadOnCellular") {
+if (appRestrictions.containsKey("downloadOnCellular")) {
appCanUseCellular = appRestrictions.getBoolean("downloadOnCellular");
} else {
- // here, cellularDefault is a boolean set with the restriction's
- // default value
+ // cellularDefault is a boolean using the restriction's default value
appCanUseCellular = cellularDefault;
}
@@ -305,6 +436,37 @@ if (!appCanUseCellular) {
// ...show appropriate notices to user
}</pre>
+<p>
+ To apply multiple <a href="#nested-restrictions">nested restrictions</a>, read
+ the {@link android.content.RestrictionEntry#TYPE_BUNDLE_ARRAY bundle_array}
+ restriction entry as a collection of {@link android.os.Parcelable} objects
+ and cast as a {@link android.os.Bundle}. In this example, each VPN's configuration
+ data is parsed and used to build a list of server connection choices:
+</p>
+
+<pre>
+// VpnConfig is a sample class used store config data, not defined
+List&lt;VpnConfig&gt; vpnConfigs = new ArrayList&lt;&gt;();
+
+Parcelable[] parcelables =
+ appRestrictions.getParcelableArray("vpn_configuration_list");
+
+if (parcelables != null && parcelables.length > 0) {
+ // iterate parcelables and cast as bundle
+ for (int i = 0; i < parcelables.length; i++) {
+ Bundle vpnConfigBundle = (Bundle) parcelables[i];
+ // parse bundle data and store in VpnConfig array
+ vpnConfigs.add(new VpnConfig()
+ .setServer(vpnConfigBundle.getString("vpn_server"))
+ .setUsername(vpnConfigBundle.getString("vpn_username"))
+ .setPassword(vpnConfigBundle.getString("vpn_password")));
+ }
+}
+
+if (!vpnConfigs.isEmpty()) {
+ // ...choose a VPN configuration or prompt user to select from list
+}</pre>
+
<h2 id="listen-configuration">
Listen for Managed Configuration Changes
</h2>
diff --git a/keystore/java/android/security/keystore/AndroidKeyStoreProvider.java b/keystore/java/android/security/keystore/AndroidKeyStoreProvider.java
index 8c20ddcc33ad..f36c00ce8b86 100644
--- a/keystore/java/android/security/keystore/AndroidKeyStoreProvider.java
+++ b/keystore/java/android/security/keystore/AndroidKeyStoreProvider.java
@@ -228,7 +228,7 @@ public class AndroidKeyStoreProvider extends Provider {
if (exportResult.resultCode != KeyStore.NO_ERROR) {
throw (UnrecoverableKeyException)
new UnrecoverableKeyException("Failed to obtain X.509 form of public key")
- .initCause(KeyStore.getKeyStoreException(errorCode));
+ .initCause(KeyStore.getKeyStoreException(exportResult.resultCode));
}
final byte[] x509EncodedPublicKey = exportResult.exportData;
diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp
index 5003c6aefb8b..4b9d7d5b8328 100644
--- a/libs/hwui/renderthread/CanvasContext.cpp
+++ b/libs/hwui/renderthread/CanvasContext.cpp
@@ -217,9 +217,9 @@ bool CanvasContext::isSwapChainStuffed() {
for (size_t i = 1; i < mSwapHistory.size(); i++) {
auto& swapB = mSwapHistory[i];
- // If there's a frameInterval gap we effectively already dropped a frame,
+ // If there's a multi-frameInterval gap we effectively already dropped a frame,
// so consider the queue healthy.
- if (swapA.swapCompletedTime - swapB.swapCompletedTime > frameInterval) {
+ if (swapA.swapCompletedTime - swapB.swapCompletedTime > frameInterval * 3) {
return false;
}
@@ -234,6 +234,7 @@ bool CanvasContext::isSwapChainStuffed() {
}
// All signs point to a stuffed swap chain
+ ATRACE_NAME("swap chain stuffed");
return true;
}
@@ -297,12 +298,17 @@ void CanvasContext::prepareTree(TreeInfo& info, int64_t* uiFrameInfo,
// Already drew for this vsync pulse, UI draw request missed
// the deadline for RT animations
info.out.canDrawThisFrame = false;
- } else if (vsyncDelta >= mRenderThread.timeLord().frameIntervalNanos()) {
- // It's been at least an entire frame interval, assume
- // the buffer queue is fine
+ } else if (vsyncDelta >= mRenderThread.timeLord().frameIntervalNanos() * 3
+ || (latestVsync - mLastDropVsync) < 500_ms) {
+ // It's been several frame intervals, assume the buffer queue is fine
+ // or the last drop was too recent
info.out.canDrawThisFrame = true;
} else {
info.out.canDrawThisFrame = !isSwapChainStuffed();
+ if (!info.out.canDrawThisFrame) {
+ // dropping frame
+ mLastDropVsync = mRenderThread.timeLord().latestVsync();
+ }
}
} else {
info.out.canDrawThisFrame = true;
diff --git a/libs/hwui/renderthread/CanvasContext.h b/libs/hwui/renderthread/CanvasContext.h
index b0d980b94308..3eef29b24473 100644
--- a/libs/hwui/renderthread/CanvasContext.h
+++ b/libs/hwui/renderthread/CanvasContext.h
@@ -208,6 +208,9 @@ private:
RingBuffer<SwapHistory, 3> mSwapHistory;
int64_t mFrameNumber = -1;
+ // last vsync for a dropped frame due to stuffed queue
+ nsecs_t mLastDropVsync = 0;
+
bool mOpaque;
#if HWUI_NEW_OPS
BakedOpRenderer::LightInfo mLightInfo;
diff --git a/libs/hwui/tests/common/TestContext.cpp b/libs/hwui/tests/common/TestContext.cpp
index 146e735839d1..99569755205f 100644
--- a/libs/hwui/tests/common/TestContext.cpp
+++ b/libs/hwui/tests/common/TestContext.cpp
@@ -33,7 +33,6 @@ static android::DisplayInfo DUMMY_DISPLAY {
false, // secure?
0, // appVsyncOffset
0, // presentationDeadline
- 0, // colorTransform
};
DisplayInfo getBuiltInDisplay() {
diff --git a/media/java/android/media/ImageReader.java b/media/java/android/media/ImageReader.java
index ec2d4bc9170f..682512c91708 100644
--- a/media/java/android/media/ImageReader.java
+++ b/media/java/android/media/ImageReader.java
@@ -512,11 +512,11 @@ public class ImageReader implements AutoCloseable {
mAcquiredImages.clear();
nativeClose();
- }
- if (mEstimatedNativeAllocBytes > 0) {
- VMRuntime.getRuntime().registerNativeFree(mEstimatedNativeAllocBytes);
- mEstimatedNativeAllocBytes = 0;
+ if (mEstimatedNativeAllocBytes > 0) {
+ VMRuntime.getRuntime().registerNativeFree(mEstimatedNativeAllocBytes);
+ mEstimatedNativeAllocBytes = 0;
+ }
}
}
diff --git a/media/java/android/media/MediaFile.java b/media/java/android/media/MediaFile.java
index f7becf54d340..da490b9f7497 100644
--- a/media/java/android/media/MediaFile.java
+++ b/media/java/android/media/MediaFile.java
@@ -69,8 +69,9 @@ public class MediaFile {
// More video file types
public static final int FILE_TYPE_MP2PS = 200;
+ public static final int FILE_TYPE_QT = 201;
private static final int FIRST_VIDEO_FILE_TYPE2 = FILE_TYPE_MP2PS;
- private static final int LAST_VIDEO_FILE_TYPE2 = FILE_TYPE_MP2PS;
+ private static final int LAST_VIDEO_FILE_TYPE2 = FILE_TYPE_QT;
// Image file types
public static final int FILE_TYPE_JPEG = 31;
@@ -211,6 +212,8 @@ public class MediaFile {
addFileType("MPG", FILE_TYPE_MP4, "video/mpeg", MtpConstants.FORMAT_MPEG);
addFileType("MP4", FILE_TYPE_MP4, "video/mp4", MtpConstants.FORMAT_MPEG);
addFileType("M4V", FILE_TYPE_M4V, "video/mp4", MtpConstants.FORMAT_MPEG);
+ addFileType("MOV", FILE_TYPE_QT, "video/quicktime", MtpConstants.FORMAT_MPEG);
+
addFileType("3GP", FILE_TYPE_3GPP, "video/3gpp", MtpConstants.FORMAT_3GP_CONTAINER);
addFileType("3GPP", FILE_TYPE_3GPP, "video/3gpp", MtpConstants.FORMAT_3GP_CONTAINER);
addFileType("3G2", FILE_TYPE_3GPP2, "video/3gpp2", MtpConstants.FORMAT_3GP_CONTAINER);
diff --git a/packages/BackupRestoreConfirmation/res/values-fr/strings.xml b/packages/BackupRestoreConfirmation/res/values-fr/strings.xml
index b8d6b564143a..f40b02af3234 100644
--- a/packages/BackupRestoreConfirmation/res/values-fr/strings.xml
+++ b/packages/BackupRestoreConfirmation/res/values-fr/strings.xml
@@ -18,10 +18,10 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="backup_confirm_title" msgid="827563724209303345">"Sauvegarde complète"</string>
<string name="restore_confirm_title" msgid="5469365809567486602">"Restauration complète"</string>
- <string name="backup_confirm_text" msgid="1878021282758896593">"Vous avez demandé une sauvegarde complète de l\'ensemble des données vers un ordinateur de bureau connecté. Voulez-vous l\'autoriser ?\n\nSi vous n\'avez pas demandé la sauvegarde vous-même, n\'autorisez pas la poursuite de l\'opération."</string>
+ <string name="backup_confirm_text" msgid="1878021282758896593">"Vous avez demandé une sauvegarde complète de l\'ensemble des données vers un ordinateur connecté. Voulez-vous l\'autoriser ?\n\nSi vous n\'avez pas demandé la sauvegarde vous-même, n\'autorisez pas la poursuite de l\'opération."</string>
<string name="allow_backup_button_label" msgid="4217228747769644068">"Sauvegarder mes données"</string>
<string name="deny_backup_button_label" msgid="6009119115581097708">"Ne pas sauvegarder"</string>
- <string name="restore_confirm_text" msgid="7499866728030461776">"Vous avez demandé une restauration complète de l\'ensemble des données à partir d\'un ordinateur de bureau connecté. Voulez-vous l\'autoriser ?\n\nSi vous n\'avez pas demandé vous-même la restauration, n\'autorisez pas sa poursuite. Cette opération remplacera toutes les données actuellement sur l\'appareil !"</string>
+ <string name="restore_confirm_text" msgid="7499866728030461776">"Vous avez demandé une restauration complète de l\'ensemble des données à partir d\'un ordinateur connecté. Voulez-vous l\'autoriser ?\n\nSi vous n\'avez pas demandé vous-même la restauration, n\'autorisez pas sa poursuite. Cette opération remplacera toutes les données actuellement sur l\'appareil !"</string>
<string name="allow_restore_button_label" msgid="3081286752277127827">"Restaurer mes données"</string>
<string name="deny_restore_button_label" msgid="1724367334453104378">"Ne pas restaurer"</string>
<string name="current_password_text" msgid="8268189555578298067">"Veuillez saisir votre mot de passe de sauvegarde actuel ci-dessous :"</string>
diff --git a/packages/BackupRestoreConfirmation/res/values-my-rMM/strings.xml b/packages/BackupRestoreConfirmation/res/values-my-rMM/strings.xml
index d499771663c6..91346499bd2a 100644
--- a/packages/BackupRestoreConfirmation/res/values-my-rMM/strings.xml
+++ b/packages/BackupRestoreConfirmation/res/values-my-rMM/strings.xml
@@ -26,7 +26,7 @@
<string name="deny_restore_button_label" msgid="1724367334453104378">"ပြန်လည်ရယူá€á€¼á€„်းအား မပြုလုပ်ပါနှင့်"</string>
<string name="current_password_text" msgid="8268189555578298067">"သင့်လက်ရှိ အရံသိမ်းဆည်းမှု လျှို့á€á€¾á€€á€ºá€…ကားá€á€¾á€€á€ºá€¡á€¬á€¸ ထည့်သွင်းပါá‹"</string>
<string name="device_encryption_restore_text" msgid="1570864916855208992">"သင့်စက်á လျှို့á€á€¾á€€á€ºá€¡á€žá€½á€„်ပြောင်းá€á€¼á€„်းအá€á€½á€€á€ºá€…ကားá€á€¾á€€á€ºá€€á€­á€¯ ထည့်သွင်းပါá‹"</string>
- <string name="device_encryption_backup_text" msgid="5866590762672844664">"သင့်စက်áလျှို့á€á€¾á€€á€ºá€¡á€žá€½á€„်ပြောင်းá€á€¼á€„်းအá€á€½á€€á€º လျှို့á€á€¾á€€á€ºá€…ကားá€á€¾á€€á€ºá€¡á€¬á€¸á€‘ည့်ပါዠအရံသိမ်းဆည်းမှု သိမ်းဆည်းနေရာá€á€½á€„်လည်း အသုံးပြုမည်ဖြစ်သည်á‹"</string>
+ <string name="device_encryption_backup_text" msgid="5866590762672844664">"သင့်စက်áအသွင်ပြောင်းá€á€¼á€„်းအá€á€½á€€á€º စကားá€á€¾á€€á€ºá€€á€­á€¯ ထည့်ပါዠအရန်မှá€á€ºá€á€™á€ºá€¸á€á€½á€„်လည်း အသုံးပြုပါမည်á‹"</string>
<string name="backup_enc_password_text" msgid="4981585714795233099">"ဒေá€á€¬á€¡á€¬á€¸á€œá€¯á€¶á€¸á€¡á€¬á€¸á€¡á€›á€”်သိမ်းဆည်းá€á€¼á€„်းပြီးလျှို့á€á€¾á€€á€ºá€¡á€žá€½á€„်ပြောင်းá€á€¼á€„်းအá€á€½á€€á€º လျှို့á€á€¾á€€á€ºá€”ံပါá€á€º/စာကိုထည့်ပါዠအကယ်á ကွက်လပ်ထားပါက ယá€á€¯á€žá€„့်လက်ရှိလျှို့á€á€¾á€€á€ºá€…ကားá€á€¾á€€á€ºá€¡á€¬á€¸ အသုံးပြုပါမည်á‹"</string>
<string name="backup_enc_password_optional" msgid="1350137345907579306">"အကယ်á ဒေá€á€¬á€¡á€¬á€¸á€œá€¯á€¶á€¸á€¡á€¬á€¸á€¡á€›á€”်သိမ်းဆည်းá€á€¼á€„်းကို á€á€¾á€€á€ºá€œá€­á€¯á€•ါက အောက်á€á€½á€„်လျှို့á€á€¾á€€á€ºá€”ံပါá€á€º/စာကိုထည့်ပါá‹"</string>
<string name="backup_enc_password_required" msgid="7889652203371654149">"သင်á ကိရိယာကို လျှို့á€á€»á€€á€ºá€€á€¯á€’် သွင်းထားရာአသင်သည် သင်á ဘက်အာပ်ကိုပါ လျှို့á€á€»á€€á€ºá€€á€¯á€’် သွင်းရန် လိုအပ်သည်ዠကျေးဇူးပြုပြီး အောက်မှာ စကားá€á€¾á€€á€ºá€€á€­á€¯ ထည့်သွင်းပါ:"</string>
diff --git a/packages/BackupRestoreConfirmation/res/values-ro/strings.xml b/packages/BackupRestoreConfirmation/res/values-ro/strings.xml
index 966e7f9d9af1..6a7c266c1d68 100644
--- a/packages/BackupRestoreConfirmation/res/values-ro/strings.xml
+++ b/packages/BackupRestoreConfirmation/res/values-ro/strings.xml
@@ -19,7 +19,7 @@
<string name="backup_confirm_title" msgid="827563724209303345">"Copiere de rezervă completă"</string>
<string name="restore_confirm_title" msgid="5469365809567486602">"Restabilire completă"</string>
<string name="backup_confirm_text" msgid="1878021282758896593">"S-a solicitat crearea unei copii de rezervă complete a tuturor datelor pe un computer desktop conectat. Doriți să permiteți acest lucru?\n\nDacă nu ați solicitat dvs. copierea de rezervă, nu permiteți ca operațiunea să continue."</string>
- <string name="allow_backup_button_label" msgid="4217228747769644068">"Creați copii de rezervă pentru datele dvs."</string>
+ <string name="allow_backup_button_label" msgid="4217228747769644068">"Faceți backup pentru date"</string>
<string name="deny_backup_button_label" msgid="6009119115581097708">"Nu creați copii de rezervă"</string>
<string name="restore_confirm_text" msgid="7499866728030461776">"S-a solicitat o restabilire completă a tuturor datelor de pe un computer desktop conectat. Doriți să permiteți acest lucru?\n\nDacă nu dvs. ați solicitat această restabilire, nu permiteți continuarea operațiunii. Acest proces va înlocui toate datele existente în prezent pe dispozitiv!"</string>
<string name="allow_restore_button_label" msgid="3081286752277127827">"Restabiliți datele dvs."</string>
diff --git a/packages/CaptivePortalLogin/res/values-my-rMM/strings.xml b/packages/CaptivePortalLogin/res/values-my-rMM/strings.xml
index 41d3d79683f1..e25570d180c7 100644
--- a/packages/CaptivePortalLogin/res/values-my-rMM/strings.xml
+++ b/packages/CaptivePortalLogin/res/values-my-rMM/strings.xml
@@ -7,5 +7,5 @@
<string name="action_bar_label" msgid="917235635415966620">"ကွန်ယက်သို့ လက်မှá€á€ºá€‘ိုးá€á€„်ရန်"</string>
<string name="ssl_error_warning" msgid="6653188881418638872">"သင်á€á€»á€­á€á€ºá€†á€€á€ºá€›á€”် ကြိုးစားနေသည့် ကွန်ရက်သည် လုံá€á€¼á€¯á€¶á€›á€±á€¸á€•ြဿနာ ရှိနေသည်á‹"</string>
<string name="ssl_error_example" msgid="647898534624078900">"ဥပမာአá€á€„်ရောက်ရန် စာမျက်နှာသည် ပြသထားသည့် အဖွဲ့အစည်းနှင့် သက်ဆိုင်မှု မရှိနိုင်ပါá‹"</string>
- <string name="ssl_error_continue" msgid="6492718244923937110">"ဘရောက်ဇာမှá€á€…်ဆင့် ရှေ့ဆက်ရန်"</string>
+ <string name="ssl_error_continue" msgid="6492718244923937110">"ဘရောက်ဇာမှá€á€…်ဆင့် ဆက်လုပ်ရန်"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-af/strings.xml b/packages/DocumentsUI/res/values-af/strings.xml
index c4a5eeab75d5..3b08285555ab 100644
--- a/packages/DocumentsUI/res/values-af/strings.xml
+++ b/packages/DocumentsUI/res/values-af/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Dokumente"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Aflaaie"</string>
<string name="title_open" msgid="4353228937663917801">"Maak oop vanuit"</string>
<string name="title_save" msgid="2433679664882857999">"Stoor na"</string>
diff --git a/packages/DocumentsUI/res/values-am/strings.xml b/packages/DocumentsUI/res/values-am/strings.xml
index c3db72302505..bb18baeb0aa3 100644
--- a/packages/DocumentsUI/res/values-am/strings.xml
+++ b/packages/DocumentsUI/res/values-am/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"ሰáŠá‹¶á‰½"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"የወረዱ"</string>
<string name="title_open" msgid="4353228937663917801">"ክáˆá‰µ ከ"</string>
<string name="title_save" msgid="2433679664882857999">"አስቀáˆáŒ¥ ወደ"</string>
diff --git a/packages/DocumentsUI/res/values-ar/strings.xml b/packages/DocumentsUI/res/values-ar/strings.xml
index 2b122a21e8f8..49b4c8776bf5 100644
--- a/packages/DocumentsUI/res/values-ar/strings.xml
+++ b/packages/DocumentsUI/res/values-ar/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"مستندات"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"التنزيلات"</string>
<string name="title_open" msgid="4353228937663917801">"ÙØªØ­ من"</string>
<string name="title_save" msgid="2433679664882857999">"Ø­ÙØ¸ ÙÙŠ"</string>
diff --git a/packages/DocumentsUI/res/values-az-rAZ/strings.xml b/packages/DocumentsUI/res/values-az-rAZ/strings.xml
index dfdc71a74c7a..4d3d2d057b98 100644
--- a/packages/DocumentsUI/res/values-az-rAZ/strings.xml
+++ b/packages/DocumentsUI/res/values-az-rAZ/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Sənədlər"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Endirmələr"</string>
<string name="title_open" msgid="4353228937663917801">"Vasitəsilə açın"</string>
<string name="title_save" msgid="2433679664882857999">"buraya saxlayın"</string>
diff --git a/packages/DocumentsUI/res/values-b+sr+Latn/strings.xml b/packages/DocumentsUI/res/values-b+sr+Latn/strings.xml
index 83f2763ddb5a..bcef9964c552 100644
--- a/packages/DocumentsUI/res/values-b+sr+Latn/strings.xml
+++ b/packages/DocumentsUI/res/values-b+sr+Latn/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Dokumenti"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Preuzimanja"</string>
<string name="title_open" msgid="4353228937663917801">"Otvori sa"</string>
<string name="title_save" msgid="2433679664882857999">"SaÄuvaj u"</string>
@@ -106,6 +107,7 @@
<string name="close" msgid="3043722427445528732">"Zatvori"</string>
<string name="copy_failure_alert_content" msgid="4563147454522476183">"Sledeće datoteke nisu kopirane: <xliff:g id="LIST">%1$s</xliff:g>"</string>
<string name="move_failure_alert_content" msgid="2635075788682922861">"Sledeće datoteke nisu premeštene: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <string name="delete_failure_alert_content" msgid="892393767207938353">"Sledeće datoteke nisu izbrisane: <xliff:g id="LIST">%1$s</xliff:g>"</string>
<string name="copy_converted_warning_content" msgid="5753861488218674361">"Ove datoteke su konvertovane u drugi format: <xliff:g id="LIST">%1$s</xliff:g>"</string>
<plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
<item quantity="one">Kopirali ste <xliff:g id="COUNT_1">%1$d</xliff:g> datoteku u privremenu memoriju.</item>
@@ -149,4 +151,6 @@
<item quantity="few">Želite li da izbrišete <xliff:g id="COUNT_1">%1$d</xliff:g> stavke?</item>
<item quantity="other">Želite li da izbrišete <xliff:g id="COUNT_1">%1$d</xliff:g> stavki?</item>
</plurals>
+ <string name="too_many_selected" msgid="6781456208116966753">"Žao nam je, istovremeno možete da izaberete najviše 1000 stavki"</string>
+ <string name="too_many_in_select_all" msgid="8281987479885307456">"Možete da izaberete najviše 1000 stavki"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-be-rBY/strings.xml b/packages/DocumentsUI/res/values-be-rBY/strings.xml
index 1c06cd1c8cee..3f195a4a0242 100644
--- a/packages/DocumentsUI/res/values-be-rBY/strings.xml
+++ b/packages/DocumentsUI/res/values-be-rBY/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Дакументы"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Спампоўкі"</string>
<string name="title_open" msgid="4353228937663917801">"Ðдкрыць з"</string>
<string name="title_save" msgid="2433679664882857999">"Захаваць у"</string>
@@ -46,14 +47,14 @@
<string name="button_dismiss" msgid="3714065566893946085">"Ðдхіліць"</string>
<string name="button_retry" msgid="4392027584153752797">"Паўтарыце Ñпробу"</string>
<string name="sort_name" msgid="9183560467917256779">"Па назве"</string>
- <string name="sort_date" msgid="586080032956151448">"Па даце ўнÑÑÐµÐ½Ð½Ñ Ð·Ð¼ÐµÐ½"</string>
+ <string name="sort_date" msgid="586080032956151448">"Па даце змÑненнÑ"</string>
<string name="sort_size" msgid="3350681319735474741">"Па памеры"</string>
<string name="drawer_open" msgid="4545466532430226949">"Паказаць ÐºÐ°Ñ€Ð°Ð½Ñ‘Ð²Ñ‹Ñ Ð¿Ð°Ð¿ÐºÑ–"</string>
<string name="drawer_close" msgid="7602734368552123318">"Схаваць ÐºÐ°Ñ€Ð°Ð½Ñ‘Ð²Ñ‹Ñ Ð¿Ð°Ð¿ÐºÑ–"</string>
<string name="save_error" msgid="6167009778003223664">"Ðе атрымалаÑÑ Ð·Ð°Ñ…Ð°Ð²Ð°Ñ†ÑŒ дакумент"</string>
<string name="create_error" msgid="3735649141335444215">"Ðе атрымалаÑÑ Ñтварыць папку"</string>
<string name="query_error" msgid="5999895349602476581">"Зараз немагчыма загрузіць змеÑціва"</string>
- <string name="root_recent" msgid="4470053704320518133">"ÐпошніÑ"</string>
+ <string name="root_recent" msgid="4470053704320518133">"ÐÑдаўніÑ"</string>
<string name="root_available_bytes" msgid="8568452858617033281">"<xliff:g id="SIZE">%1$s</xliff:g> Ñвабодна"</string>
<string name="root_type_service" msgid="2178854894416775409">"Службы захоўваннÑ"</string>
<string name="root_type_shortcut" msgid="3318760609471618093">"Ярлыкі"</string>
@@ -112,6 +113,7 @@
<string name="close" msgid="3043722427445528732">"Закрыць"</string>
<string name="copy_failure_alert_content" msgid="4563147454522476183">"Ðе былі Ñкапіраваны наÑÑ‚ÑƒÐ¿Ð½Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹: <xliff:g id="LIST">%1$s</xliff:g>"</string>
<string name="move_failure_alert_content" msgid="2635075788682922861">"Ðе былі перамешчаны наÑÑ‚ÑƒÐ¿Ð½Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <string name="delete_failure_alert_content" msgid="892393767207938353">"Ðе былі выдалены наÑÑ‚ÑƒÐ¿Ð½Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹: <xliff:g id="LIST">%1$s</xliff:g>"</string>
<string name="copy_converted_warning_content" msgid="5753861488218674361">"ГÑÑ‚Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹ былі ÑÐºÐ°Ð½Ð²ÐµÑ€Ñ‚Ð°Ð²Ð°Ð½Ñ‹Ñ Ñž іншы фармат: <xliff:g id="LIST">%1$s</xliff:g>"</string>
<plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
<item quantity="one">У буфер абмену Ñкапіраваны <xliff:g id="COUNT_1">%1$d</xliff:g> файл.</item>
@@ -128,7 +130,7 @@
<string name="open_external_dialog_root_request" msgid="8899108702926347720">"Даць <xliff:g id="APPNAME"><b>^1</b></xliff:g> доÑтуп да вашых даных, у тым ліку фатаграфій Ñ– відÑа, на <xliff:g id="STORAGE"><i>^2</i></xliff:g>?"</string>
<string name="never_ask_again" msgid="4295278542972859268">"Больш не пытацца"</string>
<string name="allow" msgid="7225948811296386551">"Дазволіць"</string>
- <string name="deny" msgid="2081879885755434506">"Забараніць"</string>
+ <string name="deny" msgid="2081879885755434506">"Ðдмовіць"</string>
<plurals name="elements_selected" formatted="false" msgid="1376955402452875047">
<item quantity="one">Выбраны <xliff:g id="COUNT_1">%1$d</xliff:g></item>
<item quantity="few">Выбраны <xliff:g id="COUNT_1">%1$d</xliff:g></item>
@@ -161,4 +163,6 @@
<item quantity="many">Выдаліць <xliff:g id="COUNT_1">%1$d</xliff:g> Ñлементаў?</item>
<item quantity="other">Выдаліць <xliff:g id="COUNT_1">%1$d</xliff:g> Ñлемента?</item>
</plurals>
+ <string name="too_many_selected" msgid="6781456208116966753">"Ðа жаль, вы можаце выбраць не больш за 1000 Ñлементаў адначаÑова"</string>
+ <string name="too_many_in_select_all" msgid="8281987479885307456">"ÐтрымалаÑÑ Ð²Ñ‹Ð±Ñ€Ð°Ñ†ÑŒ толькі 1000 Ñлементаў"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-bg/strings.xml b/packages/DocumentsUI/res/values-bg/strings.xml
index e068a10e7a4e..59a2730f3691 100644
--- a/packages/DocumentsUI/res/values-bg/strings.xml
+++ b/packages/DocumentsUI/res/values-bg/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Документи"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"ИзтеглÑниÑ"</string>
<string name="title_open" msgid="4353228937663917801">"ОтварÑне от"</string>
<string name="title_save" msgid="2433679664882857999">"Запазване във:"</string>
diff --git a/packages/DocumentsUI/res/values-bn-rBD/strings.xml b/packages/DocumentsUI/res/values-bn-rBD/strings.xml
index 1bdc2049041b..c74c932b433a 100644
--- a/packages/DocumentsUI/res/values-bn-rBD/strings.xml
+++ b/packages/DocumentsUI/res/values-bn-rBD/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"দসà§à¦¤à¦¾à¦¬à§‡à¦œà¦—à§à¦²à¦¿"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"ডাউনলোডগà§à¦²à¦¿"</string>
<string name="title_open" msgid="4353228937663917801">"à¦à¦–ান থেকে খà§à¦²à§à¦¨"</string>
<string name="title_save" msgid="2433679664882857999">"à¦à¦¤à§‡ সংরকà§à¦·à¦£ করà§à¦¨"</string>
diff --git a/packages/DocumentsUI/res/values-bs-rBA/strings.xml b/packages/DocumentsUI/res/values-bs-rBA/strings.xml
index aae7986550f0..b28e15574a48 100644
--- a/packages/DocumentsUI/res/values-bs-rBA/strings.xml
+++ b/packages/DocumentsUI/res/values-bs-rBA/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Dokumenti"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Preuzimanja"</string>
<string name="title_open" msgid="4353228937663917801">"Otvori iz"</string>
<string name="title_save" msgid="2433679664882857999">"SaÄuvaj u"</string>
@@ -106,6 +107,7 @@
<string name="close" msgid="3043722427445528732">"Zatvori"</string>
<string name="copy_failure_alert_content" msgid="4563147454522476183">"Nisu kopirani sljedeći fajlovi: <xliff:g id="LIST">%1$s</xliff:g>"</string>
<string name="move_failure_alert_content" msgid="2635075788682922861">"Nisu premješteni sljedeći fajlovi: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <string name="delete_failure_alert_content" msgid="892393767207938353">"Nisu izbrisani sljedeći fajlovi: <xliff:g id="LIST">%1$s</xliff:g>"</string>
<string name="copy_converted_warning_content" msgid="5753861488218674361">"Ove datoteke su pretvorene u drugi format: <xliff:g id="LIST">%1$s</xliff:g>"</string>
<plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> fajl je kopiran u međuspremnik.</item>
@@ -149,4 +151,6 @@
<item quantity="few">Želite li izbrisati <xliff:g id="COUNT_1">%1$d</xliff:g> stavke?</item>
<item quantity="other">Želite li izbrisati <xliff:g id="COUNT_1">%1$d</xliff:g> stavki?</item>
</plurals>
+ <string name="too_many_selected" msgid="6781456208116966753">"Žao nam je, možete izabrati samo do 1000 stavki istovremeno"</string>
+ <string name="too_many_in_select_all" msgid="8281987479885307456">"Možete izabrati samo 1000 stavki"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-ca/strings.xml b/packages/DocumentsUI/res/values-ca/strings.xml
index 3436ed439e01..1269b098646a 100644
--- a/packages/DocumentsUI/res/values-ca/strings.xml
+++ b/packages/DocumentsUI/res/values-ca/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Documents"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Baixades"</string>
<string name="title_open" msgid="4353228937663917801">"Obre des de"</string>
<string name="title_save" msgid="2433679664882857999">"Desa a"</string>
diff --git a/packages/DocumentsUI/res/values-cs/strings.xml b/packages/DocumentsUI/res/values-cs/strings.xml
index 90d30bcc8ec1..3f665d4c44a7 100644
--- a/packages/DocumentsUI/res/values-cs/strings.xml
+++ b/packages/DocumentsUI/res/values-cs/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Dokumenty"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Stahování"</string>
<string name="title_open" msgid="4353228937663917801">"Otevřít"</string>
<string name="title_save" msgid="2433679664882857999">"Uložit do"</string>
diff --git a/packages/DocumentsUI/res/values-da/strings.xml b/packages/DocumentsUI/res/values-da/strings.xml
index 4900cd0a5aaa..3f36163e33e4 100644
--- a/packages/DocumentsUI/res/values-da/strings.xml
+++ b/packages/DocumentsUI/res/values-da/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Dokumenter"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Downloads"</string>
<string name="title_open" msgid="4353228937663917801">"Ã…bn fra"</string>
<string name="title_save" msgid="2433679664882857999">"Gem i"</string>
diff --git a/packages/DocumentsUI/res/values-de/strings.xml b/packages/DocumentsUI/res/values-de/strings.xml
index 4cd2527a12ec..9159af1036df 100644
--- a/packages/DocumentsUI/res/values-de/strings.xml
+++ b/packages/DocumentsUI/res/values-de/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Dokumente"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Downloads"</string>
<string name="title_open" msgid="4353228937663917801">"Öffnen von"</string>
<string name="title_save" msgid="2433679664882857999">"Speichern unter"</string>
diff --git a/packages/DocumentsUI/res/values-el/strings.xml b/packages/DocumentsUI/res/values-el/strings.xml
index 461b19152fcc..494eec900628 100644
--- a/packages/DocumentsUI/res/values-el/strings.xml
+++ b/packages/DocumentsUI/res/values-el/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"ΈγγÏαφα"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Λήψεις"</string>
<string name="title_open" msgid="4353228937663917801">"Άνοιγμα από"</string>
<string name="title_save" msgid="2433679664882857999">"Αποθήκευση σε"</string>
diff --git a/packages/DocumentsUI/res/values-en-rAU/strings.xml b/packages/DocumentsUI/res/values-en-rAU/strings.xml
index e062d20549b4..1d61a6c41c9a 100644
--- a/packages/DocumentsUI/res/values-en-rAU/strings.xml
+++ b/packages/DocumentsUI/res/values-en-rAU/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Documents"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Downloads"</string>
<string name="title_open" msgid="4353228937663917801">"Open from"</string>
<string name="title_save" msgid="2433679664882857999">"Save to"</string>
@@ -107,7 +108,7 @@
<item quantity="one">Copied <xliff:g id="COUNT_0">%1$d</xliff:g> file to clipboard.</item>
</plurals>
<string name="clipboard_files_cannot_paste" msgid="2878324825602325706">"Cannot paste the selected files in this location."</string>
- <string name="menu_rename" msgid="7678802479104285353">"rename"</string>
+ <string name="menu_rename" msgid="7678802479104285353">"Rename"</string>
<string name="rename_error" msgid="4203041674883412606">"Failed to rename document"</string>
<string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Some files were converted"</string>
<string name="open_external_dialog_request" msgid="5789329484285817629">"Grant <xliff:g id="APPNAME"><b>^1</b></xliff:g> access to <xliff:g id="DIRECTORY"><i>^2</i></xliff:g> directory on <xliff:g id="STORAGE"><i>^3</i></xliff:g>?"</string>
diff --git a/packages/DocumentsUI/res/values-en-rGB/strings.xml b/packages/DocumentsUI/res/values-en-rGB/strings.xml
index e062d20549b4..1d61a6c41c9a 100644
--- a/packages/DocumentsUI/res/values-en-rGB/strings.xml
+++ b/packages/DocumentsUI/res/values-en-rGB/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Documents"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Downloads"</string>
<string name="title_open" msgid="4353228937663917801">"Open from"</string>
<string name="title_save" msgid="2433679664882857999">"Save to"</string>
@@ -107,7 +108,7 @@
<item quantity="one">Copied <xliff:g id="COUNT_0">%1$d</xliff:g> file to clipboard.</item>
</plurals>
<string name="clipboard_files_cannot_paste" msgid="2878324825602325706">"Cannot paste the selected files in this location."</string>
- <string name="menu_rename" msgid="7678802479104285353">"rename"</string>
+ <string name="menu_rename" msgid="7678802479104285353">"Rename"</string>
<string name="rename_error" msgid="4203041674883412606">"Failed to rename document"</string>
<string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Some files were converted"</string>
<string name="open_external_dialog_request" msgid="5789329484285817629">"Grant <xliff:g id="APPNAME"><b>^1</b></xliff:g> access to <xliff:g id="DIRECTORY"><i>^2</i></xliff:g> directory on <xliff:g id="STORAGE"><i>^3</i></xliff:g>?"</string>
diff --git a/packages/DocumentsUI/res/values-en-rIN/strings.xml b/packages/DocumentsUI/res/values-en-rIN/strings.xml
index e062d20549b4..1d61a6c41c9a 100644
--- a/packages/DocumentsUI/res/values-en-rIN/strings.xml
+++ b/packages/DocumentsUI/res/values-en-rIN/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Documents"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Downloads"</string>
<string name="title_open" msgid="4353228937663917801">"Open from"</string>
<string name="title_save" msgid="2433679664882857999">"Save to"</string>
@@ -107,7 +108,7 @@
<item quantity="one">Copied <xliff:g id="COUNT_0">%1$d</xliff:g> file to clipboard.</item>
</plurals>
<string name="clipboard_files_cannot_paste" msgid="2878324825602325706">"Cannot paste the selected files in this location."</string>
- <string name="menu_rename" msgid="7678802479104285353">"rename"</string>
+ <string name="menu_rename" msgid="7678802479104285353">"Rename"</string>
<string name="rename_error" msgid="4203041674883412606">"Failed to rename document"</string>
<string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Some files were converted"</string>
<string name="open_external_dialog_request" msgid="5789329484285817629">"Grant <xliff:g id="APPNAME"><b>^1</b></xliff:g> access to <xliff:g id="DIRECTORY"><i>^2</i></xliff:g> directory on <xliff:g id="STORAGE"><i>^3</i></xliff:g>?"</string>
diff --git a/packages/DocumentsUI/res/values-es-rUS/strings.xml b/packages/DocumentsUI/res/values-es-rUS/strings.xml
index cbb148fc21b6..00f8443622d7 100644
--- a/packages/DocumentsUI/res/values-es-rUS/strings.xml
+++ b/packages/DocumentsUI/res/values-es-rUS/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Documentos"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Descargas"</string>
<string name="title_open" msgid="4353228937663917801">"Abrir desde"</string>
<string name="title_save" msgid="2433679664882857999">"Guardar en"</string>
diff --git a/packages/DocumentsUI/res/values-es/strings.xml b/packages/DocumentsUI/res/values-es/strings.xml
index 1efe13fbae1a..ff845a050549 100644
--- a/packages/DocumentsUI/res/values-es/strings.xml
+++ b/packages/DocumentsUI/res/values-es/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Documentos"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Descargas"</string>
<string name="title_open" msgid="4353228937663917801">"Abrir desde"</string>
<string name="title_save" msgid="2433679664882857999">"Guardar en"</string>
diff --git a/packages/DocumentsUI/res/values-et-rEE/strings.xml b/packages/DocumentsUI/res/values-et-rEE/strings.xml
index ad1937fa2776..9fb5e36d1248 100644
--- a/packages/DocumentsUI/res/values-et-rEE/strings.xml
+++ b/packages/DocumentsUI/res/values-et-rEE/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Dokumendid"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Allalaadimised"</string>
<string name="title_open" msgid="4353228937663917801">"Ava asukohast:"</string>
<string name="title_save" msgid="2433679664882857999">"Salvesta:"</string>
diff --git a/packages/DocumentsUI/res/values-eu-rES/strings.xml b/packages/DocumentsUI/res/values-eu-rES/strings.xml
index 28b8178e9ad6..43da557e1d5b 100644
--- a/packages/DocumentsUI/res/values-eu-rES/strings.xml
+++ b/packages/DocumentsUI/res/values-eu-rES/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Dokumentuak"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Deskargak"</string>
<string name="title_open" msgid="4353228937663917801">"Ireki hemendik"</string>
<string name="title_save" msgid="2433679664882857999">"Gorde hemen"</string>
diff --git a/packages/DocumentsUI/res/values-fa/strings.xml b/packages/DocumentsUI/res/values-fa/strings.xml
index b5158e2cb962..f4ad196ff440 100644
--- a/packages/DocumentsUI/res/values-fa/strings.xml
+++ b/packages/DocumentsUI/res/values-fa/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"اسناد"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"بارگیری‌ها"</string>
<string name="title_open" msgid="4353228937663917801">"باز کردن از"</string>
<string name="title_save" msgid="2433679664882857999">"ذخیره در"</string>
diff --git a/packages/DocumentsUI/res/values-fi/strings.xml b/packages/DocumentsUI/res/values-fi/strings.xml
index 2a27ddeb4ff7..e867515fc198 100644
--- a/packages/DocumentsUI/res/values-fi/strings.xml
+++ b/packages/DocumentsUI/res/values-fi/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Asiakirjat"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Lataukset"</string>
<string name="title_open" msgid="4353228937663917801">"Avaa sijainnista"</string>
<string name="title_save" msgid="2433679664882857999">"Tallenna kohteeseen"</string>
diff --git a/packages/DocumentsUI/res/values-fr-rCA/strings.xml b/packages/DocumentsUI/res/values-fr-rCA/strings.xml
index 9583b8a3319b..e4baa330f19a 100644
--- a/packages/DocumentsUI/res/values-fr-rCA/strings.xml
+++ b/packages/DocumentsUI/res/values-fr-rCA/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Documents"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Téléchargements"</string>
<string name="title_open" msgid="4353228937663917801">"Ouvrir à partir de"</string>
<string name="title_save" msgid="2433679664882857999">"Enregistrer dans"</string>
diff --git a/packages/DocumentsUI/res/values-fr/strings.xml b/packages/DocumentsUI/res/values-fr/strings.xml
index 630a492ef888..e8f4b0917531 100644
--- a/packages/DocumentsUI/res/values-fr/strings.xml
+++ b/packages/DocumentsUI/res/values-fr/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Docs"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Téléchargements"</string>
<string name="title_open" msgid="4353228937663917801">"Ouvrir à partir de"</string>
<string name="title_save" msgid="2433679664882857999">"Enregistrer sous"</string>
diff --git a/packages/DocumentsUI/res/values-gl-rES/strings.xml b/packages/DocumentsUI/res/values-gl-rES/strings.xml
index 47fc1c7252d3..063f61a7fb77 100644
--- a/packages/DocumentsUI/res/values-gl-rES/strings.xml
+++ b/packages/DocumentsUI/res/values-gl-rES/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Documentos"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Descargas"</string>
<string name="title_open" msgid="4353228937663917801">"Abrir desde"</string>
<string name="title_save" msgid="2433679664882857999">"Gardar en"</string>
diff --git a/packages/DocumentsUI/res/values-gu-rIN/strings.xml b/packages/DocumentsUI/res/values-gu-rIN/strings.xml
index 4d87d9705c93..cc2f06ff5b46 100644
--- a/packages/DocumentsUI/res/values-gu-rIN/strings.xml
+++ b/packages/DocumentsUI/res/values-gu-rIN/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"દસà«àª¤àª¾àªµà«‡àªœà«‹"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"ડાઉનલોડà«àª¸"</string>
<string name="title_open" msgid="4353228937663917801">"અહીંથી ખોલો"</string>
<string name="title_save" msgid="2433679664882857999">"આમાં સાચવો"</string>
diff --git a/packages/DocumentsUI/res/values-hi/strings.xml b/packages/DocumentsUI/res/values-hi/strings.xml
index 8420b0203d9d..01fdb3f553c4 100644
--- a/packages/DocumentsUI/res/values-hi/strings.xml
+++ b/packages/DocumentsUI/res/values-hi/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"दसà¥à¤¤à¤¾à¤µà¥‡à¤œà¤¼"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"डाउनलोड"</string>
<string name="title_open" msgid="4353228937663917801">"यहां से खोलें"</string>
<string name="title_save" msgid="2433679664882857999">"यहां सहेजें"</string>
diff --git a/packages/DocumentsUI/res/values-hr/strings.xml b/packages/DocumentsUI/res/values-hr/strings.xml
index 8fe0a4d45639..235e7d87a603 100644
--- a/packages/DocumentsUI/res/values-hr/strings.xml
+++ b/packages/DocumentsUI/res/values-hr/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Dokumenti"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Preuzimanja"</string>
<string name="title_open" msgid="4353228937663917801">"Otvori iz"</string>
<string name="title_save" msgid="2433679664882857999">"Spremi u"</string>
diff --git a/packages/DocumentsUI/res/values-hu/strings.xml b/packages/DocumentsUI/res/values-hu/strings.xml
index aa9d799f59cd..4deb6b730037 100644
--- a/packages/DocumentsUI/res/values-hu/strings.xml
+++ b/packages/DocumentsUI/res/values-hu/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Dokumentumok"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Letöltések"</string>
<string name="title_open" msgid="4353228937663917801">"Megnyitás innen"</string>
<string name="title_save" msgid="2433679664882857999">"Mentés ide"</string>
diff --git a/packages/DocumentsUI/res/values-hy-rAM/strings.xml b/packages/DocumentsUI/res/values-hy-rAM/strings.xml
index fe4bcf8c3fd2..88824dd82d49 100644
--- a/packages/DocumentsUI/res/values-hy-rAM/strings.xml
+++ b/packages/DocumentsUI/res/values-hy-rAM/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Õ“Õ¡Õ½Õ¿Õ¡Õ©Õ²Õ©Õ¥Ö€"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Õ†Õ¥Ö€Õ¢Õ¥Õ¼Õ¶Õ¸Ö‚Õ´Õ¶Õ¥Ö€"</string>
<string name="title_open" msgid="4353228937663917801">"Ô²Õ¡ÖÕ¥Õ¬ Õ¡ÕµÕ½Õ¿Õ¥Õ²Õ«Ö"</string>
<string name="title_save" msgid="2433679664882857999">"ÕŠÕ¡Õ°Õ¥Õ¬ Õ¡ÕµÕ½Õ¿Õ¥Õ²"</string>
diff --git a/packages/DocumentsUI/res/values-in/strings.xml b/packages/DocumentsUI/res/values-in/strings.xml
index 81f9f496634f..fb4ced255fe6 100644
--- a/packages/DocumentsUI/res/values-in/strings.xml
+++ b/packages/DocumentsUI/res/values-in/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Dokumen"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Unduhan"</string>
<string name="title_open" msgid="4353228937663917801">"Buka dari"</string>
<string name="title_save" msgid="2433679664882857999">"Simpan ke"</string>
diff --git a/packages/DocumentsUI/res/values-is-rIS/strings.xml b/packages/DocumentsUI/res/values-is-rIS/strings.xml
index 6f86ad1d6bd0..e581349077ed 100644
--- a/packages/DocumentsUI/res/values-is-rIS/strings.xml
+++ b/packages/DocumentsUI/res/values-is-rIS/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Skjöl"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Niðurhal"</string>
<string name="title_open" msgid="4353228937663917801">"Opna frá"</string>
<string name="title_save" msgid="2433679664882857999">"Vista í"</string>
diff --git a/packages/DocumentsUI/res/values-it/strings.xml b/packages/DocumentsUI/res/values-it/strings.xml
index 5ad9fb291530..f8399d413b34 100644
--- a/packages/DocumentsUI/res/values-it/strings.xml
+++ b/packages/DocumentsUI/res/values-it/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Documenti"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Download"</string>
<string name="title_open" msgid="4353228937663917801">"Apri da"</string>
<string name="title_save" msgid="2433679664882857999">"Salva in"</string>
diff --git a/packages/DocumentsUI/res/values-iw/strings.xml b/packages/DocumentsUI/res/values-iw/strings.xml
index 51414e30ec65..09357b2b2242 100644
--- a/packages/DocumentsUI/res/values-iw/strings.xml
+++ b/packages/DocumentsUI/res/values-iw/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"מסמכי×"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"הורדות"</string>
<string name="title_open" msgid="4353228937663917801">"פתח מ-"</string>
<string name="title_save" msgid="2433679664882857999">"שמור ב-"</string>
diff --git a/packages/DocumentsUI/res/values-ja/strings.xml b/packages/DocumentsUI/res/values-ja/strings.xml
index 48f482aff344..27950dccc05b 100644
--- a/packages/DocumentsUI/res/values-ja/strings.xml
+++ b/packages/DocumentsUI/res/values-ja/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"ドキュメント"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"ダウンロード"</string>
<string name="title_open" msgid="4353228937663917801">"次ã‹ã‚‰é–‹ã:"</string>
<string name="title_save" msgid="2433679664882857999">"次ã«ä¿å­˜:"</string>
diff --git a/packages/DocumentsUI/res/values-ka-rGE/strings.xml b/packages/DocumentsUI/res/values-ka-rGE/strings.xml
index 1be969c2f8c4..532c900ae842 100644
--- a/packages/DocumentsUI/res/values-ka-rGE/strings.xml
+++ b/packages/DocumentsUI/res/values-ka-rGE/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"დáƒáƒ™áƒ£áƒ›áƒ”ნტები"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"ჩáƒáƒ›áƒáƒ¢áƒ•ირთვები"</string>
<string name="title_open" msgid="4353228937663917801">"გáƒáƒ®áƒ¡áƒœáƒ áƒáƒ¥áƒ”დáƒáƒœ:"</string>
<string name="title_save" msgid="2433679664882857999">"შენáƒáƒ®áƒ•რáƒáƒ¥:"</string>
diff --git a/packages/DocumentsUI/res/values-kk-rKZ/strings.xml b/packages/DocumentsUI/res/values-kk-rKZ/strings.xml
index dcb846433a69..fda527562b82 100644
--- a/packages/DocumentsUI/res/values-kk-rKZ/strings.xml
+++ b/packages/DocumentsUI/res/values-kk-rKZ/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Құжаттар"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Жүктеулер"</string>
<string name="title_open" msgid="4353228937663917801">"Мынадан ашу:"</string>
<string name="title_save" msgid="2433679664882857999">"Сақталатын орны"</string>
diff --git a/packages/DocumentsUI/res/values-km-rKH/strings.xml b/packages/DocumentsUI/res/values-km-rKH/strings.xml
index 7c0e8c226ac1..62e6d7b3446a 100644
--- a/packages/DocumentsUI/res/values-km-rKH/strings.xml
+++ b/packages/DocumentsUI/res/values-km-rKH/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"ឯកសារ"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"ទាញយក"</string>
<string name="title_open" msgid="4353228937663917801">"បើក​ពី"</string>
<string name="title_save" msgid="2433679664882857999">"រក្សា​ទុក​ទៅ"</string>
diff --git a/packages/DocumentsUI/res/values-kn-rIN/strings.xml b/packages/DocumentsUI/res/values-kn-rIN/strings.xml
index c7d414fbe638..a4d82328a9bf 100644
--- a/packages/DocumentsUI/res/values-kn-rIN/strings.xml
+++ b/packages/DocumentsUI/res/values-kn-rIN/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"ಡಾಕà³à²¯à³à²®à³†à²‚ಟà³â€Œà²—ಳà³"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"ಡೌನà³â€Œà²²à³‹à²¡à³â€Œà²—ಳà³"</string>
<string name="title_open" msgid="4353228937663917801">"ಇದರ ಮೂಲಕ ತೆರೆಯಿರಿ"</string>
<string name="title_save" msgid="2433679664882857999">"ಇವà³à²—ಳಲà³à²²à²¿ ಉಳಿಸಿ"</string>
diff --git a/packages/DocumentsUI/res/values-ko/strings.xml b/packages/DocumentsUI/res/values-ko/strings.xml
index 8f5cc9f1e8d6..f48d3394f6e4 100644
--- a/packages/DocumentsUI/res/values-ko/strings.xml
+++ b/packages/DocumentsUI/res/values-ko/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"문서"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"다운로드"</string>
<string name="title_open" msgid="4353228937663917801">"열기:"</string>
<string name="title_save" msgid="2433679664882857999">"저장 위치:"</string>
diff --git a/packages/DocumentsUI/res/values-ky-rKG/strings.xml b/packages/DocumentsUI/res/values-ky-rKG/strings.xml
index db8b04c7b6a2..3a1720a45ac5 100644
--- a/packages/DocumentsUI/res/values-ky-rKG/strings.xml
+++ b/packages/DocumentsUI/res/values-ky-rKG/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Документтер"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Жүктөлүп алынгандар"</string>
<string name="title_open" msgid="4353228937663917801">"Кийинкиден ачуу:"</string>
<string name="title_save" msgid="2433679664882857999">"Кийинкиге Ñактоо:"</string>
diff --git a/packages/DocumentsUI/res/values-lo-rLA/strings.xml b/packages/DocumentsUI/res/values-lo-rLA/strings.xml
index 6c2bfd6a1471..fe4c0b626342 100644
--- a/packages/DocumentsUI/res/values-lo-rLA/strings.xml
+++ b/packages/DocumentsUI/res/values-lo-rLA/strings.xml
@@ -16,7 +16,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"ເອ​àºàº°â€‹àºªàº²àº™"</string>
+ <string name="app_label" msgid="1551050262492398204">"​ໄຟລ໌"</string>
<string name="downloads_label" msgid="959113951084633612">"àºàº²àº™àº”າວໂຫລດ"</string>
<string name="title_open" msgid="4353228937663917801">"ເປີດ​ຈາàº"</string>
<string name="title_save" msgid="2433679664882857999">"ບັນທຶàºà»„ປທີ່"</string>
diff --git a/packages/DocumentsUI/res/values-lt/strings.xml b/packages/DocumentsUI/res/values-lt/strings.xml
index 6ee4fb83e6d4..26345e0b7f5d 100644
--- a/packages/DocumentsUI/res/values-lt/strings.xml
+++ b/packages/DocumentsUI/res/values-lt/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Dokumentai"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Atsisiuntimai"</string>
<string name="title_open" msgid="4353228937663917801">"Atidaryti iš"</string>
<string name="title_save" msgid="2433679664882857999">"Išsaugoti į"</string>
diff --git a/packages/DocumentsUI/res/values-lv/strings.xml b/packages/DocumentsUI/res/values-lv/strings.xml
index fa3a05200935..a5176ee697e7 100644
--- a/packages/DocumentsUI/res/values-lv/strings.xml
+++ b/packages/DocumentsUI/res/values-lv/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Dokumenti"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"LejupielÄdes"</string>
<string name="title_open" msgid="4353228937663917801">"Atvēršana no:"</string>
<string name="title_save" msgid="2433679664882857999">"SaglabÄÅ¡ana:"</string>
diff --git a/packages/DocumentsUI/res/values-mk-rMK/strings.xml b/packages/DocumentsUI/res/values-mk-rMK/strings.xml
index 14633dfaac7e..de7473035f0a 100644
--- a/packages/DocumentsUI/res/values-mk-rMK/strings.xml
+++ b/packages/DocumentsUI/res/values-mk-rMK/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Документи"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Преземања"</string>
<string name="title_open" msgid="4353228937663917801">"Отвори од"</string>
<string name="title_save" msgid="2433679664882857999">"Зачувај во"</string>
diff --git a/packages/DocumentsUI/res/values-ml-rIN/strings.xml b/packages/DocumentsUI/res/values-ml-rIN/strings.xml
index 6f1bdfd717e0..771ffae655a3 100644
--- a/packages/DocumentsUI/res/values-ml-rIN/strings.xml
+++ b/packages/DocumentsUI/res/values-ml-rIN/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"à´ªàµà´°à´®à´¾à´£à´™àµà´™àµ¾"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"ഡൗണàµâ€à´²àµ‹à´¡àµà´•ൾ"</string>
<string name="title_open" msgid="4353228937663917801">"ഇതിൽ നിനàµà´¨àµà´‚ à´¤àµà´±à´•àµà´•àµà´•"</string>
<string name="title_save" msgid="2433679664882857999">"ഇതിലàµâ€â€Œ സംരകàµà´·à´¿à´•àµà´•àµà´•"</string>
diff --git a/packages/DocumentsUI/res/values-mn-rMN/strings.xml b/packages/DocumentsUI/res/values-mn-rMN/strings.xml
index da55ab0f293f..8d3c4ce09d72 100644
--- a/packages/DocumentsUI/res/values-mn-rMN/strings.xml
+++ b/packages/DocumentsUI/res/values-mn-rMN/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Документүүд"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Таталт"</string>
<string name="title_open" msgid="4353228937663917801">"ÐÑÑÑ…"</string>
<string name="title_save" msgid="2433679664882857999">"Хадгалах"</string>
diff --git a/packages/DocumentsUI/res/values-mr-rIN/strings.xml b/packages/DocumentsUI/res/values-mr-rIN/strings.xml
index 7453aa2c6c5b..f06544b8ebdc 100644
--- a/packages/DocumentsUI/res/values-mr-rIN/strings.xml
+++ b/packages/DocumentsUI/res/values-mr-rIN/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"दसà¥à¤¤à¤à¤µà¤œ"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"डाउनलोड"</string>
<string name="title_open" msgid="4353228937663917801">"वरून उघडा"</string>
<string name="title_save" msgid="2433679664882857999">"येथे जतन करा"</string>
diff --git a/packages/DocumentsUI/res/values-ms-rMY/strings.xml b/packages/DocumentsUI/res/values-ms-rMY/strings.xml
index 7180bc2557ba..eabe3882b4eb 100644
--- a/packages/DocumentsUI/res/values-ms-rMY/strings.xml
+++ b/packages/DocumentsUI/res/values-ms-rMY/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Dokumen"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Muat turun"</string>
<string name="title_open" msgid="4353228937663917801">"Buka dari"</string>
<string name="title_save" msgid="2433679664882857999">"Simpan ke"</string>
diff --git a/packages/DocumentsUI/res/values-my-rMM/strings.xml b/packages/DocumentsUI/res/values-my-rMM/strings.xml
index fc7e05b66a4c..2b0cc1fdfaf6 100644
--- a/packages/DocumentsUI/res/values-my-rMM/strings.xml
+++ b/packages/DocumentsUI/res/values-my-rMM/strings.xml
@@ -16,7 +16,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"စာရွက်စာá€á€”်းများ"</string>
+ <string name="app_label" msgid="1551050262492398204">"ဖိုင်များ"</string>
<string name="downloads_label" msgid="959113951084633612">"ဒေါင်းလုဒ်များ"</string>
<string name="title_open" msgid="4353228937663917801">"မှ ဖွင့်ပါ"</string>
<string name="title_save" msgid="2433679664882857999">"သို့ သိမ်းပါ"</string>
@@ -27,9 +27,9 @@
<string name="menu_search" msgid="3816712084502856974">"ရှာဖွေရန်"</string>
<string name="menu_settings" msgid="8239065133341597825">"သိုလှောင်မှု ဆက်á€á€„်များ"</string>
<string name="menu_open" msgid="432922957274920903">"ဖွင့်ရန်"</string>
- <string name="menu_save" msgid="2394743337684426338">"သိမ်းပါ"</string>
+ <string name="menu_save" msgid="2394743337684426338">"သိမ်းရန်"</string>
<string name="menu_share" msgid="3075149983979628146">"မျှá€á€±á€á€¼á€„်း"</string>
- <string name="menu_delete" msgid="8138799623850614177">"ဖျက်ပစ်ရန်"</string>
+ <string name="menu_delete" msgid="8138799623850614177">"ဖျက်ရန်"</string>
<string name="menu_select_all" msgid="8323579667348729928">"အားလုံးကို ရွေးရန်"</string>
<string name="menu_copy" msgid="3612326052677229148">"…သို့ကူးယူရန်"</string>
<string name="menu_move" msgid="1828090633118079817">"...သို့ ရွှေ့ရန်"</string>
diff --git a/packages/DocumentsUI/res/values-nb/strings.xml b/packages/DocumentsUI/res/values-nb/strings.xml
index bd5da812face..2eeb96933cc0 100644
--- a/packages/DocumentsUI/res/values-nb/strings.xml
+++ b/packages/DocumentsUI/res/values-nb/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Dokumenter"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Nedlastinger"</string>
<string name="title_open" msgid="4353228937663917801">"Ã…pne fra"</string>
<string name="title_save" msgid="2433679664882857999">"Lagre i"</string>
diff --git a/packages/DocumentsUI/res/values-ne-rNP/strings.xml b/packages/DocumentsUI/res/values-ne-rNP/strings.xml
index 0ab0b785c9fb..c578aebba50a 100644
--- a/packages/DocumentsUI/res/values-ne-rNP/strings.xml
+++ b/packages/DocumentsUI/res/values-ne-rNP/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"कागजातहरू"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"डाउनलोडहरू"</string>
<string name="title_open" msgid="4353228937663917801">"यसबाट खोलà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string>
<string name="title_save" msgid="2433679664882857999">"यसमा सà¥à¤°à¤•à¥à¤·à¤¿à¤¤ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string>
diff --git a/packages/DocumentsUI/res/values-nl/strings.xml b/packages/DocumentsUI/res/values-nl/strings.xml
index 7ede6f575da8..ced16c785c4d 100644
--- a/packages/DocumentsUI/res/values-nl/strings.xml
+++ b/packages/DocumentsUI/res/values-nl/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Documenten"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Downloads"</string>
<string name="title_open" msgid="4353228937663917801">"Openen vanuit"</string>
<string name="title_save" msgid="2433679664882857999">"Opslaan in"</string>
diff --git a/packages/DocumentsUI/res/values-pa-rIN/strings.xml b/packages/DocumentsUI/res/values-pa-rIN/strings.xml
index 7e04403badd9..b08da7e347ec 100644
--- a/packages/DocumentsUI/res/values-pa-rIN/strings.xml
+++ b/packages/DocumentsUI/res/values-pa-rIN/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"ਦਸਤਾਵੇਜ਼"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"ਡਾਊਨਲੋਡ"</string>
<string name="title_open" msgid="4353228937663917801">"ਤੋਂ ਖੋਲà©à¨¹à©‹"</string>
<string name="title_save" msgid="2433679664882857999">"ਇਸ ਵਿੱਚ ਰੱਖਿਅਤ ਕਰੋ"</string>
diff --git a/packages/DocumentsUI/res/values-pl/strings.xml b/packages/DocumentsUI/res/values-pl/strings.xml
index 2a66e59cd171..a2442f6b7475 100644
--- a/packages/DocumentsUI/res/values-pl/strings.xml
+++ b/packages/DocumentsUI/res/values-pl/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Dokumenty"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Pobrane"</string>
<string name="title_open" msgid="4353228937663917801">"Otwórz z"</string>
<string name="title_save" msgid="2433679664882857999">"Zapisz w"</string>
diff --git a/packages/DocumentsUI/res/values-pt-rBR/strings.xml b/packages/DocumentsUI/res/values-pt-rBR/strings.xml
index b86438ff05ca..0470e3f23ae3 100644
--- a/packages/DocumentsUI/res/values-pt-rBR/strings.xml
+++ b/packages/DocumentsUI/res/values-pt-rBR/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Documentos"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Downloads"</string>
<string name="title_open" msgid="4353228937663917801">"Abrir de"</string>
<string name="title_save" msgid="2433679664882857999">"Salvar em"</string>
diff --git a/packages/DocumentsUI/res/values-pt-rPT/strings.xml b/packages/DocumentsUI/res/values-pt-rPT/strings.xml
index e15662ffa423..186defa28999 100644
--- a/packages/DocumentsUI/res/values-pt-rPT/strings.xml
+++ b/packages/DocumentsUI/res/values-pt-rPT/strings.xml
@@ -16,7 +16,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Documentos"</string>
+ <string name="app_label" msgid="1551050262492398204">"Ficheiros"</string>
<string name="downloads_label" msgid="959113951084633612">"Transferências"</string>
<string name="title_open" msgid="4353228937663917801">"Abrir de"</string>
<string name="title_save" msgid="2433679664882857999">"Guardar em"</string>
diff --git a/packages/DocumentsUI/res/values-pt/strings.xml b/packages/DocumentsUI/res/values-pt/strings.xml
index b86438ff05ca..0470e3f23ae3 100644
--- a/packages/DocumentsUI/res/values-pt/strings.xml
+++ b/packages/DocumentsUI/res/values-pt/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Documentos"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Downloads"</string>
<string name="title_open" msgid="4353228937663917801">"Abrir de"</string>
<string name="title_save" msgid="2433679664882857999">"Salvar em"</string>
diff --git a/packages/DocumentsUI/res/values-ro/strings.xml b/packages/DocumentsUI/res/values-ro/strings.xml
index 1f519f5cae7d..98bbf9796c08 100644
--- a/packages/DocumentsUI/res/values-ro/strings.xml
+++ b/packages/DocumentsUI/res/values-ro/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Documente"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Descărcări"</string>
<string name="title_open" msgid="4353228937663917801">"Deschideți din"</string>
<string name="title_save" msgid="2433679664882857999">"Salvați în"</string>
diff --git a/packages/DocumentsUI/res/values-ru/strings.xml b/packages/DocumentsUI/res/values-ru/strings.xml
index 37cf0658283d..d6ac1503a824 100644
--- a/packages/DocumentsUI/res/values-ru/strings.xml
+++ b/packages/DocumentsUI/res/values-ru/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Документы"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Загрузки"</string>
<string name="title_open" msgid="4353228937663917801">"Открыть"</string>
<string name="title_save" msgid="2433679664882857999">"Сохранить"</string>
diff --git a/packages/DocumentsUI/res/values-si-rLK/strings.xml b/packages/DocumentsUI/res/values-si-rLK/strings.xml
index bf9406645c64..356590ad4690 100644
--- a/packages/DocumentsUI/res/values-si-rLK/strings.xml
+++ b/packages/DocumentsUI/res/values-si-rLK/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"ලේඛන"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"à¶¶à·à¶œà·à¶±à·“ම්"</string>
<string name="title_open" msgid="4353228937663917801">"විවෘත වන්නේ"</string>
<string name="title_save" msgid="2433679664882857999">"සුරකින්නේ"</string>
diff --git a/packages/DocumentsUI/res/values-sk/strings.xml b/packages/DocumentsUI/res/values-sk/strings.xml
index 9a4ee9001259..9d9c3bbf7498 100644
--- a/packages/DocumentsUI/res/values-sk/strings.xml
+++ b/packages/DocumentsUI/res/values-sk/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Dokumenty"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Stiahnuté súbory"</string>
<string name="title_open" msgid="4353228937663917801">"Otvoriť z"</string>
<string name="title_save" msgid="2433679664882857999">"Uložiť do"</string>
diff --git a/packages/DocumentsUI/res/values-sl/strings.xml b/packages/DocumentsUI/res/values-sl/strings.xml
index 0c7816ccc1f2..f6b83d75f2cf 100644
--- a/packages/DocumentsUI/res/values-sl/strings.xml
+++ b/packages/DocumentsUI/res/values-sl/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Dokumenti"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Prenosi"</string>
<string name="title_open" msgid="4353228937663917801">"Odpri iz mape"</string>
<string name="title_save" msgid="2433679664882857999">"Shrani v"</string>
diff --git a/packages/DocumentsUI/res/values-sq-rAL/strings.xml b/packages/DocumentsUI/res/values-sq-rAL/strings.xml
index 6cfe3986357e..7945aa11cd75 100644
--- a/packages/DocumentsUI/res/values-sq-rAL/strings.xml
+++ b/packages/DocumentsUI/res/values-sq-rAL/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Dokumente"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Shkarkimet"</string>
<string name="title_open" msgid="4353228937663917801">"Hap nga"</string>
<string name="title_save" msgid="2433679664882857999">"Ruaje te"</string>
diff --git a/packages/DocumentsUI/res/values-sr/strings.xml b/packages/DocumentsUI/res/values-sr/strings.xml
index d44b89b91507..7529d21c5ded 100644
--- a/packages/DocumentsUI/res/values-sr/strings.xml
+++ b/packages/DocumentsUI/res/values-sr/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Документи"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Преузимања"</string>
<string name="title_open" msgid="4353228937663917801">"Отвори Ñа"</string>
<string name="title_save" msgid="2433679664882857999">"Сачувај у"</string>
diff --git a/packages/DocumentsUI/res/values-sv/strings.xml b/packages/DocumentsUI/res/values-sv/strings.xml
index 760a45679fca..c5f52bb53287 100644
--- a/packages/DocumentsUI/res/values-sv/strings.xml
+++ b/packages/DocumentsUI/res/values-sv/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Dokument"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Nedladdningar"</string>
<string name="title_open" msgid="4353228937663917801">"Öppna från"</string>
<string name="title_save" msgid="2433679664882857999">"Spara till"</string>
diff --git a/packages/DocumentsUI/res/values-sw/strings.xml b/packages/DocumentsUI/res/values-sw/strings.xml
index eb37ad0d0624..dd5c4d5191ec 100644
--- a/packages/DocumentsUI/res/values-sw/strings.xml
+++ b/packages/DocumentsUI/res/values-sw/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Hati"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Vipakuliwa"</string>
<string name="title_open" msgid="4353228937663917801">"Fungua kutoka"</string>
<string name="title_save" msgid="2433679664882857999">"Hifadhi kwenye"</string>
diff --git a/packages/DocumentsUI/res/values-ta-rIN/strings.xml b/packages/DocumentsUI/res/values-ta-rIN/strings.xml
index 1f54641854c8..b5fb956a6aa0 100644
--- a/packages/DocumentsUI/res/values-ta-rIN/strings.xml
+++ b/packages/DocumentsUI/res/values-ta-rIN/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"ஆவணஙà¯à®•ளà¯"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"இறகà¯à®•à®™à¯à®•ளà¯"</string>
<string name="title_open" msgid="4353228937663917801">"இதில௠திற"</string>
<string name="title_save" msgid="2433679664882857999">"இதில௠சேமி"</string>
diff --git a/packages/DocumentsUI/res/values-te-rIN/strings.xml b/packages/DocumentsUI/res/values-te-rIN/strings.xml
index 7449913e6aab..fc4a6a1e68dd 100644
--- a/packages/DocumentsUI/res/values-te-rIN/strings.xml
+++ b/packages/DocumentsUI/res/values-te-rIN/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"పతà±à°°à°¾à°²à±"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"డౌనà±â€Œà°²à±‹à°¡à±â€Œà°²à±"</string>
<string name="title_open" msgid="4353228937663917801">"ఇకà±à°•à°¡à°¿ à°¨à±à°‚à°¡à°¿ తెరà±à°µà±"</string>
<string name="title_save" msgid="2433679664882857999">"ఇందà±à°²à±‹ సేవౠచేయి"</string>
diff --git a/packages/DocumentsUI/res/values-th/strings.xml b/packages/DocumentsUI/res/values-th/strings.xml
index 77cb9b134bb5..252b2125a083 100644
--- a/packages/DocumentsUI/res/values-th/strings.xml
+++ b/packages/DocumentsUI/res/values-th/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"เอà¸à¸ªà¸²à¸£"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"à¸à¸²à¸£à¸”าวน์โหลด"</string>
<string name="title_open" msgid="4353228937663917801">"เปิดจาà¸"</string>
<string name="title_save" msgid="2433679664882857999">"บันทึà¸à¹„ปยัง"</string>
diff --git a/packages/DocumentsUI/res/values-tl/strings.xml b/packages/DocumentsUI/res/values-tl/strings.xml
index adf1b72bb25b..bab867d5ef91 100644
--- a/packages/DocumentsUI/res/values-tl/strings.xml
+++ b/packages/DocumentsUI/res/values-tl/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Mga Dokumento"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Mga Download"</string>
<string name="title_open" msgid="4353228937663917801">"Buksan mula sa"</string>
<string name="title_save" msgid="2433679664882857999">"I-save sa"</string>
diff --git a/packages/DocumentsUI/res/values-tr/strings.xml b/packages/DocumentsUI/res/values-tr/strings.xml
index bdc598399202..282129240f9d 100644
--- a/packages/DocumentsUI/res/values-tr/strings.xml
+++ b/packages/DocumentsUI/res/values-tr/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Dokümanlar"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"İndirilenler"</string>
<string name="title_open" msgid="4353228937663917801">"Şuradan aç:"</string>
<string name="title_save" msgid="2433679664882857999">"Åžuraya kaydet:"</string>
diff --git a/packages/DocumentsUI/res/values-uk/strings.xml b/packages/DocumentsUI/res/values-uk/strings.xml
index 192042ca6fa5..7bd9b95ddb61 100644
--- a/packages/DocumentsUI/res/values-uk/strings.xml
+++ b/packages/DocumentsUI/res/values-uk/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Документи"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"ЗавантаженнÑ"</string>
<string name="title_open" msgid="4353228937663917801">"Відкрити"</string>
<string name="title_save" msgid="2433679664882857999">"Зберегти в"</string>
diff --git a/packages/DocumentsUI/res/values-ur-rPK/strings.xml b/packages/DocumentsUI/res/values-ur-rPK/strings.xml
index bea73265fa8d..c641e17c052a 100644
--- a/packages/DocumentsUI/res/values-ur-rPK/strings.xml
+++ b/packages/DocumentsUI/res/values-ur-rPK/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"دستاویزات"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"ڈاؤن لوڈز"</string>
<string name="title_open" msgid="4353228937663917801">"کھولیں از"</string>
<string name="title_save" msgid="2433679664882857999">"اس میں محÙوظ کریں"</string>
diff --git a/packages/DocumentsUI/res/values-uz-rUZ/strings.xml b/packages/DocumentsUI/res/values-uz-rUZ/strings.xml
index a3e117aa34fb..82272d224864 100644
--- a/packages/DocumentsUI/res/values-uz-rUZ/strings.xml
+++ b/packages/DocumentsUI/res/values-uz-rUZ/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Hujjatlar"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Yuklanmalar"</string>
<string name="title_open" msgid="4353228937663917801">"Ochish"</string>
<string name="title_save" msgid="2433679664882857999">"Saqlash"</string>
diff --git a/packages/DocumentsUI/res/values-vi/strings.xml b/packages/DocumentsUI/res/values-vi/strings.xml
index 3979535a8c42..21e63409d4f1 100644
--- a/packages/DocumentsUI/res/values-vi/strings.xml
+++ b/packages/DocumentsUI/res/values-vi/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Tài liệu"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Tải xuống"</string>
<string name="title_open" msgid="4353228937663917801">"Mở từ"</string>
<string name="title_save" msgid="2433679664882857999">"Lưu vào"</string>
diff --git a/packages/DocumentsUI/res/values-zh-rCN/strings.xml b/packages/DocumentsUI/res/values-zh-rCN/strings.xml
index d11362bc7e02..fc409812db37 100644
--- a/packages/DocumentsUI/res/values-zh-rCN/strings.xml
+++ b/packages/DocumentsUI/res/values-zh-rCN/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"文档"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"下载"</string>
<string name="title_open" msgid="4353228937663917801">"打开文件"</string>
<string name="title_save" msgid="2433679664882857999">"ä¿å­˜æ–‡ä»¶"</string>
diff --git a/packages/DocumentsUI/res/values-zh-rHK/strings.xml b/packages/DocumentsUI/res/values-zh-rHK/strings.xml
index 21cf755d7d72..5a27a4a533ea 100644
--- a/packages/DocumentsUI/res/values-zh-rHK/strings.xml
+++ b/packages/DocumentsUI/res/values-zh-rHK/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"文件"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"下載"</string>
<string name="title_open" msgid="4353228937663917801">"開啟檔案"</string>
<string name="title_save" msgid="2433679664882857999">"儲存至"</string>
@@ -53,7 +54,7 @@
<string name="save_error" msgid="6167009778003223664">"無法儲存文件"</string>
<string name="create_error" msgid="3735649141335444215">"無法建立資料夾"</string>
<string name="query_error" msgid="5999895349602476581">"ç›®å‰ç„¡æ³•載入內容"</string>
- <string name="root_recent" msgid="4470053704320518133">"近期用éŽ"</string>
+ <string name="root_recent" msgid="4470053704320518133">"最近"</string>
<string name="root_available_bytes" msgid="8568452858617033281">"å¯ç”¨ç©ºé–“:<xliff:g id="SIZE">%1$s</xliff:g>"</string>
<string name="root_type_service" msgid="2178854894416775409">"儲存空間æœå‹™"</string>
<string name="root_type_shortcut" msgid="3318760609471618093">"æ·å¾‘"</string>
diff --git a/packages/DocumentsUI/res/values-zh-rTW/strings.xml b/packages/DocumentsUI/res/values-zh-rTW/strings.xml
index 16afeb4eb25f..3230b6d99b91 100644
--- a/packages/DocumentsUI/res/values-zh-rTW/strings.xml
+++ b/packages/DocumentsUI/res/values-zh-rTW/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"文件"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"下載"</string>
<string name="title_open" msgid="4353228937663917801">"開啟檔案"</string>
<string name="title_save" msgid="2433679664882857999">"儲存至"</string>
diff --git a/packages/DocumentsUI/res/values-zu/strings.xml b/packages/DocumentsUI/res/values-zu/strings.xml
index 925f9899b718..2d17bf19b725 100644
--- a/packages/DocumentsUI/res/values-zu/strings.xml
+++ b/packages/DocumentsUI/res/values-zu/strings.xml
@@ -16,7 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="2783841764617238354">"Amadokhumenti"</string>
+ <!-- no translation found for app_label (1551050262492398204) -->
+ <skip />
<string name="downloads_label" msgid="959113951084633612">"Okulandiwe"</string>
<string name="title_open" msgid="4353228937663917801">"Vula kusuka ku-"</string>
<string name="title_save" msgid="2433679664882857999">"Londoloza ku-"</string>
diff --git a/packages/DocumentsUI/res/values/strings.xml b/packages/DocumentsUI/res/values/strings.xml
index e67cc8a06da2..c2d4d04e6aa4 100644
--- a/packages/DocumentsUI/res/values/strings.xml
+++ b/packages/DocumentsUI/res/values/strings.xml
@@ -16,7 +16,7 @@
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Title of the documents application [CHAR LIMIT=32] -->
- <string name="app_label">Documents</string>
+ <string name="app_label">Files</string>
<!-- Title of the standalone downloads activity. [CHAR LIMIT=32] -->
<string name="downloads_label">Downloads</string>
diff --git a/packages/EasterEgg/src/com/android/egg/neko/NekoLand.java b/packages/EasterEgg/src/com/android/egg/neko/NekoLand.java
index 86f813e0647a..3629162cdd47 100644
--- a/packages/EasterEgg/src/com/android/egg/neko/NekoLand.java
+++ b/packages/EasterEgg/src/com/android/egg/neko/NekoLand.java
@@ -24,6 +24,7 @@ import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
+import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.media.MediaScannerConnection;
import android.net.Uri;
@@ -50,6 +51,9 @@ import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
public class NekoLand extends Activity implements PrefsListener {
public static boolean DEBUG = false;
@@ -98,7 +102,19 @@ public class NekoLand extends Activity implements PrefsListener {
cats[i] = Cat.create(this);
}
} else {
- cats = mPrefs.getCats().toArray(new Cat[0]);
+ final float[] hsv = new float[3];
+ List<Cat> list = mPrefs.getCats();
+ Collections.sort(list, new Comparator<Cat>() {
+ @Override
+ public int compare(Cat cat, Cat cat2) {
+ Color.colorToHSV(cat.getBodyColor(), hsv);
+ float bodyH1 = hsv[0];
+ Color.colorToHSV(cat2.getBodyColor(), hsv);
+ float bodyH2 = hsv[0];
+ return Float.compare(bodyH1, bodyH2);
+ }
+ });
+ cats = list.toArray(new Cat[0]);
}
mAdapter.setCats(cats);
return cats.length;
diff --git a/packages/InputDevices/res/values-be-rBY/strings.xml b/packages/InputDevices/res/values-be-rBY/strings.xml
index 7d7683c8ec81..a552fa57419d 100644
--- a/packages/InputDevices/res/values-be-rBY/strings.xml
+++ b/packages/InputDevices/res/values-be-rBY/strings.xml
@@ -3,8 +3,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="8016145283189546017">"Input Devices"</string>
<string name="keyboard_layouts_label" msgid="6688773268302087545">"КлавіÑтура Android"</string>
- <string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"ÐнглійÑÐºÐ°Ñ (Злучанае КаралеўÑтва)"</string>
- <string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"ÐнглійÑÐºÐ°Ñ (ЗШÐ)"</string>
+ <string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"англійÑÐºÐ°Ñ (Ð’ÑлікабрытаніÑ)"</string>
+ <string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"англійÑÐºÐ°Ñ (ЗШÐ)"</string>
<string name="keyboard_layout_english_us_intl" msgid="3705168594034233583">"ÐнглійÑÐºÐ°Ñ (ЗШÐ), міжнар. раÑкладка"</string>
<string name="keyboard_layout_english_us_colemak_label" msgid="4194969610343455380">"ÐнглійÑÐºÐ°Ñ (ЗШÐ), раÑкладка Colemak"</string>
<string name="keyboard_layout_english_us_dvorak_label" msgid="793528923171145202">"ÐнглійÑÐºÐ°Ñ (ЗШÐ), раÑкладка Дворака"</string>
diff --git a/packages/Keyguard/res/values-b+sr+Latn/strings.xml b/packages/Keyguard/res/values-b+sr+Latn/strings.xml
index 70f3bda593d2..22dc0596998c 100644
--- a/packages/Keyguard/res/values-b+sr+Latn/strings.xml
+++ b/packages/Keyguard/res/values-b+sr+Latn/strings.xml
@@ -121,10 +121,8 @@
<string name="kg_prompt_reason_switch_profiles_pattern" msgid="8476293962695171574">"Treba da unesete šablon kada prelazite sa jednog profila na drugi"</string>
<string name="kg_prompt_reason_switch_profiles_pin" msgid="2343607138520460043">"Treba da unesete PIN kada prelazite sa jednog profila na drugi"</string>
<string name="kg_prompt_reason_switch_profiles_password" msgid="1295960907951965927">"Treba da unesete lozinku kada prelazite sa jednog profila na drugi"</string>
- <!-- no translation found for kg_prompt_reason_device_admin (5838877342219587193) -->
- <skip />
- <!-- no translation found for kg_prompt_reason_user_request (500999297306031595) -->
- <skip />
+ <string name="kg_prompt_reason_device_admin" msgid="5838877342219587193">"Administrator ureÄ‘aja je zakljuÄao ureÄ‘aj"</string>
+ <string name="kg_prompt_reason_user_request" msgid="500999297306031595">"UreÄ‘aj je ruÄno zakljuÄan"</string>
<plurals name="kg_prompt_reason_time_pattern" formatted="false" msgid="2697444392228541853">
<item quantity="one">Niste otkljuÄali ureÄ‘aj <xliff:g id="NUMBER_1">%d</xliff:g> sat. Potvrdite Å¡ablon.</item>
<item quantity="few">Niste otkljuÄali ureÄ‘aj <xliff:g id="NUMBER_1">%d</xliff:g> sata. Potvrdite Å¡ablon.</item>
diff --git a/packages/Keyguard/res/values-be-rBY/strings.xml b/packages/Keyguard/res/values-be-rBY/strings.xml
index 4ed1a100e67d..ca6a4764406d 100644
--- a/packages/Keyguard/res/values-be-rBY/strings.xml
+++ b/packages/Keyguard/res/values-be-rBY/strings.xml
@@ -58,7 +58,7 @@
<string name="keyboardview_keycode_delete" msgid="3337914833206635744">"Выдаліць"</string>
<string name="keyboardview_keycode_enter" msgid="2985864015076059467">"Enter"</string>
<string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"Забылі ключ"</string>
- <string name="kg_wrong_pattern" msgid="1850806070801358830">"ÐÑправільна ключ"</string>
+ <string name="kg_wrong_pattern" msgid="1850806070801358830">"ÐÑправільны ўзор"</string>
<string name="kg_wrong_password" msgid="2333281762128113157">"ÐÑправiльны пароль"</string>
<string name="kg_wrong_pin" msgid="1131306510833563801">"ÐÑправільны PIN-код"</string>
<string name="kg_too_many_failed_attempts_countdown" msgid="6358110221603297548">"Паўтарыце Ñпробу праз <xliff:g id="NUMBER">%d</xliff:g> Ñ."</string>
@@ -123,10 +123,8 @@
<string name="kg_prompt_reason_switch_profiles_pattern" msgid="8476293962695171574">"Пры пераключÑнні профілÑÑž патрабуецца ўзор"</string>
<string name="kg_prompt_reason_switch_profiles_pin" msgid="2343607138520460043">"Пры пераключÑнні профілÑÑž патрабуецца PIN-код"</string>
<string name="kg_prompt_reason_switch_profiles_password" msgid="1295960907951965927">"Пры пераключÑнні профілÑÑž патрабуецца пароль"</string>
- <!-- no translation found for kg_prompt_reason_device_admin (5838877342219587193) -->
- <skip />
- <!-- no translation found for kg_prompt_reason_user_request (500999297306031595) -->
- <skip />
+ <string name="kg_prompt_reason_device_admin" msgid="5838877342219587193">"ÐдмініÑтратар прылады заблакіраваў прыладу"</string>
+ <string name="kg_prompt_reason_user_request" msgid="500999297306031595">"Прылада была заблакіравана ўручную"</string>
<plurals name="kg_prompt_reason_time_pattern" formatted="false" msgid="2697444392228541853">
<item quantity="one">Прылада не была разблакіравана на працÑгу <xliff:g id="NUMBER_1">%d</xliff:g> гадзіны. УвÑдзіце ўзор.</item>
<item quantity="few">Прылада не была разблакіравана на працÑгу <xliff:g id="NUMBER_1">%d</xliff:g> гадзін. УвÑдзіце ўзор.</item>
diff --git a/packages/Keyguard/res/values-bs-rBA/strings.xml b/packages/Keyguard/res/values-bs-rBA/strings.xml
index 062213ea9fe3..be73580697ae 100644
--- a/packages/Keyguard/res/values-bs-rBA/strings.xml
+++ b/packages/Keyguard/res/values-bs-rBA/strings.xml
@@ -121,10 +121,8 @@
<string name="kg_prompt_reason_switch_profiles_pattern" msgid="8476293962695171574">"Potreban je uzorak nakon prelaska na drugi profil"</string>
<string name="kg_prompt_reason_switch_profiles_pin" msgid="2343607138520460043">"Potreban je PIN nakon prelaska na drugi profil"</string>
<string name="kg_prompt_reason_switch_profiles_password" msgid="1295960907951965927">"Potrebna je lozinka nakon prelaska na drugi profil"</string>
- <!-- no translation found for kg_prompt_reason_device_admin (5838877342219587193) -->
- <skip />
- <!-- no translation found for kg_prompt_reason_user_request (500999297306031595) -->
- <skip />
+ <string name="kg_prompt_reason_device_admin" msgid="5838877342219587193">"Administrator je zakljuÄao ureÄ‘aj."</string>
+ <string name="kg_prompt_reason_user_request" msgid="500999297306031595">"UreÄ‘aj je ruÄno zakljuÄan"</string>
<plurals name="kg_prompt_reason_time_pattern" formatted="false" msgid="2697444392228541853">
<item quantity="one">UreÄ‘aj nije bio otkljuÄan <xliff:g id="NUMBER_1">%d</xliff:g> sat. Potvrdite obrazac.</item>
<item quantity="few">UreÄ‘aj nije bio otkljuÄan <xliff:g id="NUMBER_1">%d</xliff:g> sata. Potvrdite obrazac.</item>
diff --git a/packages/Keyguard/res/values-fr-rCA/strings.xml b/packages/Keyguard/res/values-fr-rCA/strings.xml
index 7259bd3771fc..9bc2456809d6 100644
--- a/packages/Keyguard/res/values-fr-rCA/strings.xml
+++ b/packages/Keyguard/res/values-fr-rCA/strings.xml
@@ -110,20 +110,20 @@
<string name="keyguard_carrier_default" msgid="8700650403054042153">"Aucun service"</string>
<string name="accessibility_ime_switch_button" msgid="2829803408288433429">"Changer de méthode d\'entrée"</string>
<string name="airplane_mode" msgid="3122107900897202805">"Mode Avion"</string>
- <string name="kg_prompt_reason_restart_pattern" msgid="5519822969283306009">"Le motif est exigé après le redémarrage de l\'appareil"</string>
+ <string name="kg_prompt_reason_restart_pattern" msgid="5519822969283306009">"Le schéma est exigé après le redémarrage de l\'appareil"</string>
<string name="kg_prompt_reason_restart_pin" msgid="4411398237158448198">"Le NIP est exigé après le redémarrage de l\'appareil"</string>
<string name="kg_prompt_reason_restart_password" msgid="6504585392626524695">"Le mot de passe est exigé après le redémarrage de l\'appareil"</string>
- <string name="kg_prompt_reason_timeout_pattern" msgid="3717506169674397620">"Le motif est exigé pour plus de sécurité"</string>
+ <string name="kg_prompt_reason_timeout_pattern" msgid="3717506169674397620">"Le schéma est exigé pour plus de sécurité"</string>
<string name="kg_prompt_reason_timeout_pin" msgid="6951483704195396341">"Le NIP est exigé pour plus de sécurité"</string>
<string name="kg_prompt_reason_timeout_password" msgid="7306667546971345027">"Le mot de passe est exigé pour plus de sécurité"</string>
- <string name="kg_prompt_reason_switch_profiles_pattern" msgid="8476293962695171574">"Le motif est exigé lorsque vous changez de profil"</string>
+ <string name="kg_prompt_reason_switch_profiles_pattern" msgid="8476293962695171574">"Le schéma est exigé lorsque vous changez de profil"</string>
<string name="kg_prompt_reason_switch_profiles_pin" msgid="2343607138520460043">"Le NIP est exigé lorsque vous changez de profil"</string>
<string name="kg_prompt_reason_switch_profiles_password" msgid="1295960907951965927">"Le mot de passe est exigé lorsque vous changez de profil"</string>
<string name="kg_prompt_reason_device_admin" msgid="5838877342219587193">"L\'administrateur de l\'appareil l\'a verrouillé"</string>
<string name="kg_prompt_reason_user_request" msgid="500999297306031595">"L\'appareil a été verrouillé manuellement"</string>
<plurals name="kg_prompt_reason_time_pattern" formatted="false" msgid="2697444392228541853">
- <item quantity="one">L\'appareil n\'a pas été déverrouillé depuis <xliff:g id="NUMBER_1">%d</xliff:g> heure. Confirmez le motif.</item>
- <item quantity="other">L\'appareil n\'a pas été déverrouillé depuis <xliff:g id="NUMBER_1">%d</xliff:g> heures. Confirmez le motif.</item>
+ <item quantity="one">L\'appareil n\'a pas été déverrouillé depuis <xliff:g id="NUMBER_1">%d</xliff:g> heure. Confirmez le schéma.</item>
+ <item quantity="other">L\'appareil n\'a pas été déverrouillé depuis <xliff:g id="NUMBER_1">%d</xliff:g> heures. Confirmez le schéma.</item>
</plurals>
<plurals name="kg_prompt_reason_time_pin" formatted="false" msgid="2118758475374354849">
<item quantity="one">L\'appareil n\'a pas été déverrouillé depuis <xliff:g id="NUMBER_1">%d</xliff:g> heure. Confirmez le NIP.</item>
diff --git a/packages/Keyguard/res/values-hy-rAM/strings.xml b/packages/Keyguard/res/values-hy-rAM/strings.xml
index d29a4eab4ecd..6758a2e962c4 100644
--- a/packages/Keyguard/res/values-hy-rAM/strings.xml
+++ b/packages/Keyguard/res/values-hy-rAM/strings.xml
@@ -109,7 +109,7 @@
<string name="kg_pin_accepted" msgid="1448241673570020097">"Ô¿Õ¸Õ¤Õ¶ Õ¨Õ¶Õ¤Õ¸Ö‚Õ¶Õ¾Õ¥Ö:"</string>
<string name="keyguard_carrier_default" msgid="8700650403054042153">"Ô¾Õ¡Õ¼Õ¡ÕµÕ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶ Õ¹Õ¯Õ¡:"</string>
<string name="accessibility_ime_switch_button" msgid="2829803408288433429">"Õ“Õ¸Õ­Õ¡Ö€Õ¯Õ¥Õ¬ Õ´Õ¸Ö‚Õ¿Ö„Õ¡Õ£Ö€Õ´Õ¡Õ¶ Õ¥Õ²Õ¡Õ¶Õ¡Õ¯Õ¨"</string>
- <string name="airplane_mode" msgid="3122107900897202805">"Ô»Õ¶Ö„Õ¶Õ¡Õ©Õ«Õ¼Õ¡ÕµÕ«Õ¶ Õ¼Õ¥ÕªÕ«Õ´"</string>
+ <string name="airplane_mode" msgid="3122107900897202805">"Ô»Õ¶Ö„Õ¶Õ¡Õ©Õ«Õ¼Õ« Õ¼Õ¥ÕªÕ«Õ´"</string>
<string name="kg_prompt_reason_restart_pattern" msgid="5519822969283306009">"ÕÕ¡Ö€Ö„Õ¨ Õ¾Õ¥Ö€Õ¡Õ£Õ¸Ö€Õ®Õ¡Ö€Õ¯Õ¥Õ¬Õ¸Ö‚Ö Õ°Õ¥Õ¿Õ¸ Õ¡Õ¶Õ°Ö€Õ¡ÕªÕ¥Õ·Õ¿ Õ§ Õ´Õ¸Ö‚Õ¿Ö„Õ¡Õ£Ö€Õ¥Õ¬ Õ¶Õ¡Õ­Õ·Õ¨"</string>
<string name="kg_prompt_reason_restart_pin" msgid="4411398237158448198">"ÕÕ¡Ö€Ö„Õ¨ Õ¾Õ¥Ö€Õ¡Õ£Õ¸Ö€Õ®Õ¡Ö€Õ¯Õ¥Õ¬Õ¸Ö‚Ö Õ°Õ¥Õ¿Õ¸ Õ¡Õ¶Õ°Ö€Õ¡ÕªÕ¥Õ·Õ¿ Õ§ Õ´Õ¸Ö‚Õ¿Ö„Õ¡Õ£Ö€Õ¥Õ¬ PIN Õ¯Õ¸Õ¤Õ¨"</string>
<string name="kg_prompt_reason_restart_password" msgid="6504585392626524695">"ÕÕ¡Ö€Ö„Õ¨ Õ¾Õ¥Ö€Õ¡Õ£Õ¸Ö€Õ®Õ¡Ö€Õ¯Õ¥Õ¬Õ¸Ö‚Ö Õ°Õ¥Õ¿Õ¸ Õ¡Õ¶Õ°Ö€Õ¡ÕªÕ¥Õ·Õ¿ Õ§ Õ´Õ¸Ö‚Õ¿Ö„Õ¡Õ£Ö€Õ¥Õ¬ Õ£Õ¡Õ²Õ¿Õ¶Õ¡Õ¢Õ¡Õ¼Õ¨"</string>
diff --git a/packages/Keyguard/res/values-mn-rMN/strings.xml b/packages/Keyguard/res/values-mn-rMN/strings.xml
index d9014c89e183..fae032884c0b 100644
--- a/packages/Keyguard/res/values-mn-rMN/strings.xml
+++ b/packages/Keyguard/res/values-mn-rMN/strings.xml
@@ -93,7 +93,7 @@
<string name="kg_failed_attempts_now_erasing_profile" product="tablet" msgid="4686386497449912146">"Та таблетын түгжÑÑг тайлах оролдлогыг <xliff:g id="NUMBER">%d</xliff:g> удаа буруу оруулÑан байна. Ðжлын профайл уÑтгагдаж, улмаар профайлын бүх мÑдÑÑлÑл уÑтах болно."</string>
<string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4951507352869831265">"Та утаÑны түгжÑÑг тайлах оролдлогыг <xliff:g id="NUMBER">%d</xliff:g> удаа буруу оруулÑан байна. Ðжлын профайл уÑтгагдаж, улмаар профайлын бүх мÑдÑÑлÑл уÑтах болно."</string>
<string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"Та тайлах Ñ…ÑÑг <xliff:g id="NUMBER_0">%1$d</xliff:g> удаа буруу зурлаа. <xliff:g id="NUMBER_1">%2$d</xliff:g> удаа дахин буруу оруулбал, та таблетаа тайлахын тулд имÑйл бүртгÑл шаардлагатай болно.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> Ñекундын дараа дахин оролдоно уу."</string>
- <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"Та тайлах Ñ…ÑÑг <xliff:g id="NUMBER_0">%1$d</xliff:g> удаа буруу зурлаа. <xliff:g id="NUMBER_1">%2$d</xliff:g> удаа дахин буруу оруулбал, та утÑаа тайлахын тулд имÑйл акаунтаа ашиглах шаардлагатай болно.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> Ñекундын дараа дахин оролдоно уу."</string>
+ <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"Та тайлах Ñ…ÑÑг <xliff:g id="NUMBER_0">%1$d</xliff:g> удаа буруу зурлаа. <xliff:g id="NUMBER_1">%2$d</xliff:g> удаа дахин буруу оруулбал, та утÑаа тайлахын тулд имÑйл бүртгÑлÑÑ Ð°ÑˆÐ¸Ð³Ð»Ð°Ñ… шаардлагатай болно.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> Ñекундын дараа дахин оролдоно уу."</string>
<string name="kg_password_wrong_pin_code_pukked" msgid="30531039455764924">"СИМ ПИРкод буруу, та төхөөрөмжийн түгжÑÑг тайлахын тулд оператор компанитай холбоо барих шаардлагатай."</string>
<plurals name="kg_password_wrong_pin_code" formatted="false" msgid="6721575017538162249">
<item quantity="other">СИМ-ны ПИРкод буруу байна. Та <xliff:g id="NUMBER_1">%d</xliff:g> удаа оролдлого хийх боломжтой байна.</item>
diff --git a/packages/Keyguard/res/values-my-rMM/strings.xml b/packages/Keyguard/res/values-my-rMM/strings.xml
index 5db7e95a76bf..fd800e4a50fc 100644
--- a/packages/Keyguard/res/values-my-rMM/strings.xml
+++ b/packages/Keyguard/res/values-my-rMM/strings.xml
@@ -55,7 +55,7 @@
<string name="keyguard_accessibility_sim_pin_area" msgid="3887780775111719336">"SIM PIN နေရာ"</string>
<string name="keyguard_accessibility_sim_puk_area" msgid="1880823406954996207">"SIM PUK နေရာ"</string>
<string name="keyguard_accessibility_next_alarm" msgid="7269583073750518672">"<xliff:g id="ALARM">%1$s</xliff:g> အá€á€½á€€á€º နောက် သá€á€­á€•ေးရန် သá€á€ºá€™á€¾á€á€ºá€á€»á€€á€º"</string>
- <string name="keyboardview_keycode_delete" msgid="3337914833206635744">"ဖျက်ရန်á€á€œá€¯á€á€º"</string>
+ <string name="keyboardview_keycode_delete" msgid="3337914833206635744">"ဖျက်ရန်"</string>
<string name="keyboardview_keycode_enter" msgid="2985864015076059467">"Enterá€á€œá€¯á€á€º"</string>
<string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"ပုံဖော်မှုအား မေ့လျော့á€á€¼á€„်း"</string>
<string name="kg_wrong_pattern" msgid="1850806070801358830">"ပုံဆွဲအမှား"</string>
diff --git a/packages/Keyguard/res/values-pa-rIN/strings.xml b/packages/Keyguard/res/values-pa-rIN/strings.xml
index 5f0b6d8feefe..8cf86a065e8d 100644
--- a/packages/Keyguard/res/values-pa-rIN/strings.xml
+++ b/packages/Keyguard/res/values-pa-rIN/strings.xml
@@ -25,7 +25,7 @@
<string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"SIM PUK ਅਤੇ ਨਵਾਂ PIN ਕੋਡ ਟਾਈਪ ਕਰੋ"</string>
<string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"SIM PUK ਕੋਡ"</string>
<string name="keyguard_password_enter_pin_prompt" msgid="3201151840570492538">"ਨਵਾਂ SIM PIN ਕੋਡ"</string>
- <string name="keyguard_password_entry_touch_hint" msgid="7858547464982981384"><font size="17">"ਪਾਸਵਰਡ ਟਾਈਪ ਕਰਨ ਲਈ ਛੋਹਵੋ"</font></string>
+ <string name="keyguard_password_entry_touch_hint" msgid="7858547464982981384"><font size="17">"ਪਾਸਵਰਡ ਟਾਈਪ ਕਰਨ ਲਈ ਸਪੱਰਸ਼ ਕਰੋ"</font></string>
<string name="keyguard_password_enter_password_code" msgid="1054721668279049780">"ਅਨਲੌਕ ਕਰਨ ਲਈ ਪਾਸਵਰਡ ਟਾਈਪ ਕਰੋ"</string>
<string name="keyguard_password_enter_pin_password_code" msgid="6391755146112503443">"ਅਨਲੌਕ ਕਰਨ ਲਈ PIN ਟਾਈਪ ਕਰੋ"</string>
<string name="keyguard_password_wrong_pin_code" msgid="2422225591006134936">"ਗ਼ਲਤ PIN ਕੋਡ।"</string>
diff --git a/packages/Keyguard/res/values-uz-rUZ/strings.xml b/packages/Keyguard/res/values-uz-rUZ/strings.xml
index a353d1278370..ad71a56651c3 100644
--- a/packages/Keyguard/res/values-uz-rUZ/strings.xml
+++ b/packages/Keyguard/res/values-uz-rUZ/strings.xml
@@ -46,19 +46,19 @@
<string name="keyguard_sim_locked_message" msgid="6875773413306380902">"SIM karta qulflangan."</string>
<string name="keyguard_sim_puk_locked_message" msgid="3747232467471801633">"SIM karta PUK kod bilan qulflangan."</string>
<string name="keyguard_sim_unlock_progress_dialog_message" msgid="7975221805033614426">"SIM karta qulfi ochilmoqda…"</string>
- <string name="keyguard_accessibility_pattern_unlock" msgid="1490840706075246612">"Chizmali qulfni ochish."</string>
+ <string name="keyguard_accessibility_pattern_unlock" msgid="1490840706075246612">"Grafik kalit bilan ochish."</string>
<string name="keyguard_accessibility_pin_unlock" msgid="2469687111784035046">"Pin qulfini ochish."</string>
<string name="keyguard_accessibility_password_unlock" msgid="7675777623912155089">"Parolli qulfni ochish."</string>
- <string name="keyguard_accessibility_pattern_area" msgid="7679891324509597904">"Chizmali qulf maydoni."</string>
+ <string name="keyguard_accessibility_pattern_area" msgid="7679891324509597904">"Grafik kalit chiziladigan hudud."</string>
<string name="keyguard_accessibility_slide_area" msgid="6736064494019979544">"Maydonni silang"</string>
<string name="keyguard_accessibility_pin_area" msgid="7903959476607833485">"PIN-kod maydoni"</string>
<string name="keyguard_accessibility_sim_pin_area" msgid="3887780775111719336">"SIM karta PIN kodi maydoni"</string>
<string name="keyguard_accessibility_sim_puk_area" msgid="1880823406954996207">"SIM karta PUK kodi maydoni"</string>
- <string name="keyguard_accessibility_next_alarm" msgid="7269583073750518672">"Uyg‘otkich signali <xliff:g id="ALARM">%1$s</xliff:g> da chalinadi."</string>
+ <string name="keyguard_accessibility_next_alarm" msgid="7269583073750518672">"Signal <xliff:g id="ALARM">%1$s</xliff:g> da chalinadi."</string>
<string name="keyboardview_keycode_delete" msgid="3337914833206635744">"O‘chirish"</string>
<string name="keyboardview_keycode_enter" msgid="2985864015076059467">"Kiritish"</string>
- <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"Chizmali parol unutilgan"</string>
- <string name="kg_wrong_pattern" msgid="1850806070801358830">"Chizmali kalit noto‘g‘ri"</string>
+ <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"Grafik kalit esimdan chiqdi"</string>
+ <string name="kg_wrong_pattern" msgid="1850806070801358830">"Grafik kalit noto‘g‘ri"</string>
<string name="kg_wrong_password" msgid="2333281762128113157">"Parol noto‘g‘ri"</string>
<string name="kg_wrong_pin" msgid="1131306510833563801">"PIN-kod noto‘g‘ri"</string>
<string name="kg_too_many_failed_attempts_countdown" msgid="6358110221603297548">"<xliff:g id="NUMBER">%d</xliff:g> soniyadan so‘ng qayta urinib ko‘ring."</string>
@@ -76,10 +76,10 @@
<string name="kg_invalid_sim_puk_hint" msgid="7553388325654369575">"PUK kod kamida 8 ta raqam bo‘lishi shart."</string>
<string name="kg_invalid_puk" msgid="3638289409676051243">"To‘g‘ri PUK kodni qayta kiriting. Qayta-qayta urinishlar SIM kartani butunlay o‘chirib qo‘yadi."</string>
<string name="kg_invalid_confirm_pin_hint" product="default" msgid="7003469261464593516">"PIN-kod mos kelmadi"</string>
- <string name="kg_login_too_many_attempts" msgid="6486842094005698475">"Chizmali parolni ochishga juda ko‘p urinildi"</string>
+ <string name="kg_login_too_many_attempts" msgid="6486842094005698475">"Grafik kalit juda ko‘p marta chizildi"</string>
<string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"Siz PIN-kodni <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri kiritdingiz. \n\n<xliff:g id="NUMBER_1">%2$d</xliff:g> soniyadan so‘ng qayta urinib ko‘ring."</string>
<string name="kg_too_many_failed_password_attempts_dialog_message" msgid="7813713389422226531">"Siz parolni <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri kiritdingiz. \n\n<xliff:g id="NUMBER_1">%2$d</xliff:g> soniyadan so‘ng qayta urinib ko‘ring."</string>
- <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"Siz chizmali kalitni <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri kiritdingiz. \n\n<xliff:g id="NUMBER_1">%2$d</xliff:g> soniyadan so‘ng qayta urinib ko‘ring."</string>
+ <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"Siz grafik kalitni <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri kiritdingiz. \n\n<xliff:g id="NUMBER_1">%2$d</xliff:g> soniyadan so‘ng qayta urinib ko‘ring."</string>
<string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="8774056606869646621">"Siz planshetni qulfdan chiqarish uchun <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri urinish qildingiz. Agar yana <xliff:g id="NUMBER_1">%2$d</xliff:g> marta muvaffaqiyatsiz urinish qilsangiz, ushbu planshetda zavod sozlamalari qayta tiklanadi va undagi barcha ma’lumotlar ham o‘chib ketadi."</string>
<string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="1843331751334128428">"Siz telefonni qulfdan chiqarish uchun <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri urinish qildingiz. Agar yana <xliff:g id="NUMBER_1">%2$d</xliff:g> marta muvaffaqiyatsiz urinish qilsangiz, ushbu telefonda zavod sozlamalari qayta tiklanadi va undagi barcha ma’lumotlar ham o‘chib ketadi."</string>
<string name="kg_failed_attempts_now_wiping" product="tablet" msgid="258925501999698032">"Siz planshetni qulfdan chiqarish uchun <xliff:g id="NUMBER">%d</xliff:g> marta noto‘g‘ri urinish qildingiz. Endi, ushbu planshetda zavod sozlamalari qayta tiklanadi va undagi barcha ma’lumotlar ham o‘chib ketadi."</string>
@@ -92,8 +92,8 @@
<string name="kg_failed_attempts_almost_at_erase_profile" product="default" msgid="6853071165802933545">"Siz telefonni qulfdan chiqarish uchun <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri urinish qildingiz. Agar yana <xliff:g id="NUMBER_1">%2$d</xliff:g> marta muvaffaqiyatsiz urinish qilsangiz, ishchi profil o‘chirib tashlanadi va undagi barcha profil ma’lumotlari ham o‘chib ketadi."</string>
<string name="kg_failed_attempts_now_erasing_profile" product="tablet" msgid="4686386497449912146">"Siz planshetni qulfdan chiqarish uchun <xliff:g id="NUMBER">%d</xliff:g> marta noto‘g‘ri urinish qildingiz. Endi, ishchi profil o‘chirib tashlanadi va undagi barcha ma’lumotlar ham o‘chib ketadi."</string>
<string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4951507352869831265">"Siz telefonni qulfdan chiqarish uchun <xliff:g id="NUMBER">%d</xliff:g> marta noto‘g‘ri urinish qildingiz. Endi, ishchi profil o‘chirib tashlanadi va undagi barcha ma’lumotlar ham o‘chib ketadi."</string>
- <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"Siz chizmali kalitni <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri kiritdingiz. <xliff:g id="NUMBER_1">%2$d</xliff:g> marta muvaffaqiyatsiz urinishdan so‘ng, sizdan e-pochtangizdan foydalanib, planshet qulfini ochishingiz so‘raladi.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> soniyadan so‘ng yana urinib ko‘ring."</string>
- <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"Siz chizmali kalitni <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri chizdingiz. <xliff:g id="NUMBER_1">%2$d</xliff:g> marta muvaffaqiyatsiz urinishdan so‘ng, sizdan e-pochtangizdan foydalanib, telefon qulfini ochishingiz so‘raladi.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> soniyadan so‘ng yana urinib ko‘ring."</string>
+ <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"Siz grafik kalitni <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri kiritdingiz. <xliff:g id="NUMBER_1">%2$d</xliff:g> marta muvaffaqiyatsiz urinishdan so‘ng, sizdan e-pochtangizdan foydalanib, planshet qulfini ochishingiz so‘raladi.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> soniyadan so‘ng yana urinib ko‘ring."</string>
+ <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"Siz grafik kalitni <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri chizdingiz. <xliff:g id="NUMBER_1">%2$d</xliff:g> marta muvaffaqiyatsiz urinishdan so‘ng, sizdan e-pochtangizdan foydalanib, telefon qulfini ochishingiz so‘raladi.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> soniyadan so‘ng yana urinib ko‘ring."</string>
<string name="kg_password_wrong_pin_code_pukked" msgid="30531039455764924">"SIM karta PIN kodi noto‘g‘ri. Qurilma qulfini ochish uchun aloqa operatoringiz bilan bog‘laning."</string>
<plurals name="kg_password_wrong_pin_code" formatted="false" msgid="6721575017538162249">
<item quantity="other">SIM kartaning PIN kodi noto‘g‘ri. Sizda yana <xliff:g id="NUMBER_1">%d</xliff:g> ta urinish qoldi.</item>
@@ -110,20 +110,20 @@
<string name="keyguard_carrier_default" msgid="8700650403054042153">"Aloqa yo‘q."</string>
<string name="accessibility_ime_switch_button" msgid="2829803408288433429">"Matn kiritish usulini o‘zgartirish"</string>
<string name="airplane_mode" msgid="3122107900897202805">"Parvoz rejimi"</string>
- <string name="kg_prompt_reason_restart_pattern" msgid="5519822969283306009">"Qurilma o‘chirib yoqilgandan so‘ng chizmali kalit talab qilinadi"</string>
+ <string name="kg_prompt_reason_restart_pattern" msgid="5519822969283306009">"Qurilma o‘chirib yoqilgandan so‘ng grafik kalit talab qilinadi"</string>
<string name="kg_prompt_reason_restart_pin" msgid="4411398237158448198">"Qurilma o‘chirib yoqilgandan so‘ng PIN kod talab qilinadi"</string>
<string name="kg_prompt_reason_restart_password" msgid="6504585392626524695">"Qurilma o‘chirib yoqilgandan so‘ng parol talab qilinadi"</string>
- <string name="kg_prompt_reason_timeout_pattern" msgid="3717506169674397620">"Qo‘shimcha xavfsizlik chorasi sifatida chizmali kalit talab qilinadi"</string>
+ <string name="kg_prompt_reason_timeout_pattern" msgid="3717506169674397620">"Qo‘shimcha xavfsizlik chorasi sifatida grafik kalit talab qilinadi"</string>
<string name="kg_prompt_reason_timeout_pin" msgid="6951483704195396341">"Qo‘shimcha xavfsizlik chorasi sifatida PIN kod talab qilinadi"</string>
<string name="kg_prompt_reason_timeout_password" msgid="7306667546971345027">"Qo‘shimcha xavfsizlik chorasi sifatida parol talab qilinadi"</string>
- <string name="kg_prompt_reason_switch_profiles_pattern" msgid="8476293962695171574">"Profilni amlashtirishda chizmali kalit talab qilinadi"</string>
+ <string name="kg_prompt_reason_switch_profiles_pattern" msgid="8476293962695171574">"Profilni amlashtirishda grafik kalit talab qilinadi"</string>
<string name="kg_prompt_reason_switch_profiles_pin" msgid="2343607138520460043">"Profilni amlashtirishda PIN kod talab qilinadi"</string>
<string name="kg_prompt_reason_switch_profiles_password" msgid="1295960907951965927">"Profilni amlashtirishda parol talab qilinadi"</string>
<string name="kg_prompt_reason_device_admin" msgid="5838877342219587193">"Qurilma administrator tomonidan qulflangan"</string>
<string name="kg_prompt_reason_user_request" msgid="500999297306031595">"Qurilma qo‘lda qulflangan"</string>
<plurals name="kg_prompt_reason_time_pattern" formatted="false" msgid="2697444392228541853">
- <item quantity="other">Qurilma <xliff:g id="NUMBER_1">%d</xliff:g> soatdan beri qulfdan chiqarilgani yo‘q. Chizmali kalitni yana bir marta kiriting.</item>
- <item quantity="one">Qurilma <xliff:g id="NUMBER_0">%d</xliff:g> soatdan beri qulfdan chiqarilgani yo‘q. Chizmali kalitni yana bir marta kiriting.</item>
+ <item quantity="other">Qurilma <xliff:g id="NUMBER_1">%d</xliff:g> soatdan beri qulfdan chiqarilgani yo‘q. Grafik kalitni yana bir marta chizing.</item>
+ <item quantity="one">Qurilma <xliff:g id="NUMBER_0">%d</xliff:g> soatdan beri qulfdan chiqarilgani yo‘q. Grafik kalitni yana bir marta chizing.</item>
</plurals>
<plurals name="kg_prompt_reason_time_pin" formatted="false" msgid="2118758475374354849">
<item quantity="other">Qurilma <xliff:g id="NUMBER_1">%d</xliff:g> soatdan beri qulfdan chiqarilgani yo‘q. PIN-kodni yana bir marta kiriting.</item>
diff --git a/packages/Keyguard/src/com/android/keyguard/NumPadKey.java b/packages/Keyguard/src/com/android/keyguard/NumPadKey.java
index 2ff7e121721a..1518bdced99a 100644
--- a/packages/Keyguard/src/com/android/keyguard/NumPadKey.java
+++ b/packages/Keyguard/src/com/android/keyguard/NumPadKey.java
@@ -23,6 +23,7 @@ import android.os.SystemClock;
import android.util.AttributeSet;
import android.view.HapticFeedbackConstants;
import android.view.LayoutInflater;
+import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
@@ -53,8 +54,7 @@ public class NumPadKey extends ViewGroup {
if (mTextView != null && mTextView.isEnabled()) {
mTextView.append(Character.forDigit(mDigit, 10));
}
- userActivity();
- doHapticKeyClick();
+ userActivity();;
}
};
@@ -126,6 +126,14 @@ public class NumPadKey extends ViewGroup {
}
@Override
+ public boolean onTouchEvent(MotionEvent event) {
+ if (event.getActionMasked() == MotionEvent.ACTION_DOWN) {
+ doHapticKeyClick();
+ }
+ return super.onTouchEvent(event);
+ }
+
+ @Override
public void onDetachedFromWindow() {
super.onDetachedFromWindow();
diff --git a/packages/MtpDocumentsProvider/res/values-am/strings.xml b/packages/MtpDocumentsProvider/res/values-am/strings.xml
new file mode 100644
index 000000000000..7b721c86cec0
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-am/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"የMTP አስተናጋጅ"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"የወረዱ"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"á‹á‹­áˆŽá‰½áŠ• ከ<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> በመድረስ ላይ"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"ሌላኛዠመሣሪያ ሥራ በá‹á‰¶á‰ á‰³áˆá¢ እስከሚገአድረስ á‹á‹­áˆŽá‰½áŠ• ማስተላለá አይችሉáˆá¢"</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"áˆáŠ•áˆ á‹á‹­áˆŽá‰½ አáˆá‰°áŒˆáŠ™áˆá¢ ሌላኛዠመሣሪያ ተቆáˆáŽ áˆŠáˆ†áŠ• ይችላáˆá¢ ተቆáˆáŽ áŠ¨áˆ†áŠ á‹­áŠ­áˆá‰±á‰µ እና እንደገና ይሞክሩá¢"</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-ar/strings.xml b/packages/MtpDocumentsProvider/res/values-ar/strings.xml
new file mode 100644
index 000000000000..284a8602ce6a
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-ar/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"â€Ù…ضي٠بروتوكول نقل الوسائط (MTP)"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"التنزيلات"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"جار٠الوصول إلى Ø§Ù„Ù…Ù„ÙØ§Øª من <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"الجهاز الآخر مشغول، ولا يمكنك نقل Ø§Ù„Ù…Ù„ÙØ§Øª إلا بعد أن يصبح متاحًا."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"لم يتم العثور على Ù…Ù„ÙØ§ØªØŒ وربما يكون الجهاز الآخر ÙÙŠ وضع القÙÙ„. إذا كان الأمر كذلك، ÙØ¹Ù„يك إلغاء Ù‚Ùله وإعادة المحاولة."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-az-rAZ/strings.xml b/packages/MtpDocumentsProvider/res/values-az-rAZ/strings.xml
new file mode 100644
index 000000000000..e8ed1242f13c
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-az-rAZ/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP Host"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Endirmələr"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Fayllara <xliff:g id="DEVICE_MODEL">%1$s</xliff:g> cihazından daxil olunur"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"DigÉ™r cihaz məşğuldur. Ælçatan olmayana kimi fayl köçürÉ™ bilmÉ™zsiniz."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Fayl tapılmadı. Digər cihaz kilidlənmiş ola bilər. Elədirsə, kiliddən çıxarın və yenidən cəhd edin."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-b+sr+Latn/strings.xml b/packages/MtpDocumentsProvider/res/values-b+sr+Latn/strings.xml
new file mode 100644
index 000000000000..bc9009969a16
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-b+sr+Latn/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP host"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Preuzimanja"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Pristup datotekama sa uređaja <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Drugi uređaj je zauzet. Datoteke možete da prenesete tek kad on postane dostupan."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Nije pronaÄ‘ena nijedna datoteka. Drugi ureÄ‘aj je možda zakljuÄan. Ako jeste, otkljuÄajte ga i pokuÅ¡ajte ponovo."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-be-rBY/strings.xml b/packages/MtpDocumentsProvider/res/values-be-rBY/strings.xml
new file mode 100644
index 000000000000..f6263acb0150
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-be-rBY/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"Вузел MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Спампоўкі"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"ДоÑтуп да файлаў з <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Ð†Ð½ÑˆÐ°Ñ Ð¿Ñ€Ñ‹Ð»Ð°Ð´Ð° занÑта. Ð’Ñ‹ не можаце перадаць файлы, пакуль Ñна не Ñтане даÑтупнай."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Файлы не знойдзены. Ð†Ð½ÑˆÐ°Ñ Ð¿Ñ€Ñ‹Ð»Ð°Ð´Ð° можа быць заблакіравана. Калі гÑта так, разблакіруйце Ñе Ñ– паўтарыце Ñпробу."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-bg/strings.xml b/packages/MtpDocumentsProvider/res/values-bg/strings.xml
new file mode 100644
index 000000000000..52d311971fc1
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-bg/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP хоÑÑ‚"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"ИзтеглÑниÑ"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="STORAGE_NAME">%2$s</xliff:g> на <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"От <xliff:g id="DEVICE_MODEL">%1$s</xliff:g> Ñе оÑъщеÑтвÑва доÑтъп до файловете"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Другото уÑтройÑтво е заето. Ðе можете да прехвърлÑте файлове, докато то не Ñе оÑвободи."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"ÐÑма намерени файлове. Другото уÑтройÑтво може да е заключено. Ðко е така, отключете го и опитайте отново."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-bn-rBD/strings.xml b/packages/MtpDocumentsProvider/res/values-bn-rBD/strings.xml
new file mode 100644
index 000000000000..7fad89e89d60
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-bn-rBD/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP হোসà§à¦Ÿ"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"ডাউনলোডগà§à¦²à¦¿"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> থেকে ফাইলগà§à¦²à¦¿à¦•ে অà§à¦¯à¦¾à¦•à§à¦¸à§‡à¦¸ করা হচà§à¦›à§‡"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"অনà§à¦¯ ডিভাইসটি বà§à¦¯à¦¸à§à¦¤ আছে৷ à¦à¦Ÿà¦¿ উপলবà§à¦§ না হওয়া পরà§à¦¯à¦¨à§à¦¤ আপনি ফাইলগà§à¦²à¦¿à¦•ে সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à¦° করতে পারবেন না৷"</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"কোনো ফাইল পাওয়া যায়নি৷ অনà§à¦¯ ডিভাইসটি লক থাকতে পারে৷ যদি তাই হয়, তাহলে à¦à¦Ÿà¦¿à¦•ে আনলক করে আবার চেষà§à¦Ÿà¦¾ করà§à¦¨à§·"</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-bs-rBA/strings.xml b/packages/MtpDocumentsProvider/res/values-bs-rBA/strings.xml
new file mode 100644
index 000000000000..33323f81f81a
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-bs-rBA/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP Host"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Preuzimanja"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Pristupanje datotekama iz uređaja <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Drugi uređaj je zauzet. Nećete moći prenositi fajlove dok ne bude dostupan."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Fajlovi nisu pronaÄ‘eni. Moguće je da je drugi ureÄ‘aj zakljuÄan. Ako jeste, otkljuÄajte ga i pokuÅ¡ajte ponovo."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-ca/strings.xml b/packages/MtpDocumentsProvider/res/values-ca/strings.xml
new file mode 100644
index 000000000000..b2aa59966ac4
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-ca/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"Amfitrió MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Baixades"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="STORAGE_NAME">%2$s</xliff:g> de <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"S\'està accedint als fitxers del dispositiu <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"L\'altre dispositiu està ocupat. No pots transferir fitxers fins que estigui disponible."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"No s\'han trobat fitxers. És possible que l\'altre dispositiu estigui bloquejat. Si és així, desbloqueja\'l i torna-ho a provar."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-cs/strings.xml b/packages/MtpDocumentsProvider/res/values-cs/strings.xml
new file mode 100644
index 000000000000..2156e8c52f7e
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-cs/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"Hostitel MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Stahování"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> – <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Používání souborů ze zařízení <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Druhé zařízení je zaneprázdněné. Dokud nebude dostupné, soubory nelze přenést."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Nebyly nalezeny žádné soubory. Druhé zařízení je možná uzamÄené. Pokud ano, odemknÄ›te jej a zkuste to znovu."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-da/strings.xml b/packages/MtpDocumentsProvider/res/values-da/strings.xml
new file mode 100644
index 000000000000..b82c5e8b0af8
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-da/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP-host"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Downloads"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Adgang til filer fra <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Den anden enhed er optaget. Du kan ikke overføre filer, før den er tilgængelig."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Der blev ikke fundet nogen filer. Den anden enhed er muligvis låst. Hvis dette er tilfældet, skal du låse den op og prøve igen."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-de/strings.xml b/packages/MtpDocumentsProvider/res/values-de/strings.xml
new file mode 100644
index 000000000000..9a71c769aaed
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-de/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP-Host"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Downloads"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="STORAGE_NAME">%2$s</xliff:g> von <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Zugriff auf Dateien von <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Das andere Gerät ist nicht verfügbar. Du kannst die Dateien übertragen, sobald das Gerät wieder verfügbar ist."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Keine Dateien gefunden. Das andere Gerät ist möglicherweise gesperrt. Entsperre es in diesem Fall und versuche es noch einmal."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-el/strings.xml b/packages/MtpDocumentsProvider/res/values-el/strings.xml
new file mode 100644
index 000000000000..562d2952988a
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-el/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"ΚεντÏικός υπολογιστής MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Λήψεις"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"ΠÏόσβαση στα αÏχεία από τη συσκευή <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Η άλλη συσκευή είναι απασχολημένη. Δεν μποÏείτε να μεταφέÏετε αÏχεία μέχÏι να γίνει διαθέσιμη."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Δεν βÏέθηκαν αÏχεία. Η άλλη συσκευή ενδέχεται να είναι κλειδωμένη. Εάν ισχÏει αυτό, ξεκλειδώστε την και δοκιμάστε ξανά."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-en-rAU/strings.xml b/packages/MtpDocumentsProvider/res/values-en-rAU/strings.xml
new file mode 100644
index 000000000000..5f2167e8273a
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-en-rAU/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP Host"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Downloads"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Accessing files from <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"The other device is busy. You can\'t transfer files until it\'s available."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"No files found. The other device may be locked. If so, unlock it and try again."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-en-rGB/strings.xml b/packages/MtpDocumentsProvider/res/values-en-rGB/strings.xml
new file mode 100644
index 000000000000..5f2167e8273a
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-en-rGB/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP Host"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Downloads"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Accessing files from <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"The other device is busy. You can\'t transfer files until it\'s available."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"No files found. The other device may be locked. If so, unlock it and try again."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-en-rIN/strings.xml b/packages/MtpDocumentsProvider/res/values-en-rIN/strings.xml
new file mode 100644
index 000000000000..5f2167e8273a
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-en-rIN/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP Host"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Downloads"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Accessing files from <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"The other device is busy. You can\'t transfer files until it\'s available."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"No files found. The other device may be locked. If so, unlock it and try again."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-es-rUS/strings.xml b/packages/MtpDocumentsProvider/res/values-es-rUS/strings.xml
new file mode 100644
index 000000000000..740d224d7136
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-es-rUS/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"Host MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Descargas"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Accediendo a los archivos de <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"El otro dispositivo está ocupado. No podrás transferir archivos hasta que esté disponible."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"No se encontraron archivos. Es posible que el otro dispositivo esté bloqueado. Si es así, desbloquéalo y vuelve a intentarlo."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-es/strings.xml b/packages/MtpDocumentsProvider/res/values-es/strings.xml
new file mode 100644
index 000000000000..d80a75ac07f7
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-es/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"Host de MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Descargas"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="STORAGE_NAME">%2$s</xliff:g> de <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Accediendo a los archivos desde <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"El otro dispositivo está ocupado. No se pueden transferir archivos hasta que esté disponible."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"No se ha encontrado ningún archivo. Es posible que el otro dispositivo esté bloqueado. Si es así, desbloquéalo y vuelve a intentarlo."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-et-rEE/strings.xml b/packages/MtpDocumentsProvider/res/values-et-rEE/strings.xml
new file mode 100644
index 000000000000..7568777e15f7
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-et-rEE/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP host"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Allalaadimised"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g>, <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Juurdepääsemine failidele seadmest <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Teine seade on hõivatud. Te ei saa faile üle viia enne, kui see seade on saadaval."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Faile ei leitud. Teine seade võib olla lukustatud. Kui see on nii, avage see ja proovige uuesti."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-eu-rES/strings.xml b/packages/MtpDocumentsProvider/res/values-eu-rES/strings.xml
new file mode 100644
index 000000000000..dc9d463b98eb
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-eu-rES/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP ostalaria"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Deskargak"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> gailuko fitxategiak atzitzen"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Beste gailua lanpetuta dago. Erabilgarri egon arte ezingo duzu transferitu fitxategirik."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Ez da aurkitu fitxategirik. Baliteke beste gailua blokeatuta egotea. Hala bada, desblokea ezazu eta saiatu berriro."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-fa/strings.xml b/packages/MtpDocumentsProvider/res/values-fa/strings.xml
new file mode 100644
index 000000000000..9ac58c7ad3f1
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-fa/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"â€Ù…یزبان MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"بارگیری‌ها"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"دسترسی به ÙØ§ÛŒÙ„‌ها از <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"دستگاه دیگر مشغول است. تا زمانی Ú©Ù‡ این دستگاه دردسترس قرار نگیرد نمی‌توانید ÙØ§ÛŒÙ„‌ها را منتقل کنید."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"ÙØ§ÛŒÙ„ÛŒ پیدا نشد. دستگاه دیگر ممکن است Ù‚ÙÙ„ باشد. اگر این‌طور است، Ù‚ÙÙ„ آن را باز کنید Ùˆ دوباره تلاش کنید."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-fi/strings.xml b/packages/MtpDocumentsProvider/res/values-fi/strings.xml
new file mode 100644
index 000000000000..0a61d08a566e
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-fi/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP-isäntä"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Lataukset"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Käytetään laitteen <xliff:g id="DEVICE_MODEL">%1$s</xliff:g> tiedostoja"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Toinen laite on varattu. Et voi siirtää tiedostoja, ennen kuin se on käytettävissä."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Tiedostoja ei löytynyt. Toinen laite voi olla lukittu. Jos näin on, avaa se ja yritä uudelleen."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-fr-rCA/strings.xml b/packages/MtpDocumentsProvider/res/values-fr-rCA/strings.xml
new file mode 100644
index 000000000000..281760ecb620
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-fr-rCA/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"Hôte MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Téléchargements"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Accès aux fichiers à partir de l\'appareil <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"L\'autre appareil est occupé. Vous devez attendre qu\'il soit disponible pour transférer des fichiers."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Aucun fichier trouvé. L\'autre appareil est peut-être verrouillé. Si c\'est le cas, déverrouillez-le, puis réessayez."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-fr/strings.xml b/packages/MtpDocumentsProvider/res/values-fr/strings.xml
new file mode 100644
index 000000000000..96c713b61af4
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-fr/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"Hôte MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Téléchargements"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="STORAGE_NAME">%2$s</xliff:g> – <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Accès aux fichiers depuis le <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>…"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"L\'autre appareil est occupé. Vous devez attendre qu\'il soit disponible pour transférer des fichiers."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Aucun fichier trouvé. L\'autre appareil est peut-être verrouillé. Si tel est le cas, déverrouillez-le, puis réessayez."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-gl-rES/strings.xml b/packages/MtpDocumentsProvider/res/values-gl-rES/strings.xml
new file mode 100644
index 000000000000..54bf4a9771ec
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-gl-rES/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"Host MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Descargas"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="STORAGE_NAME">%2$s</xliff:g> de <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Accedendo aos ficheiros de <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"O outro dispositivo está ocupado. Non podes transferir ficheiros ata que estea dispoñible."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Non se atopou ningún ficheiro. Se o outro dispositivo está bloqueado, desbloquéao e téntao de novo."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-gu-rIN/strings.xml b/packages/MtpDocumentsProvider/res/values-gu-rIN/strings.xml
new file mode 100644
index 000000000000..40ec38ddcda9
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-gu-rIN/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP હોસà«àªŸ"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"ડાઉનલોડà«àª¸"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> ની ફાઇલોને àªàª•à«àª¸à«‡àª¸ કરી રહà«àª¯àª¾àª‚ છે"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"અનà«àª¯ ઉપકરણ વà«àª¯àª¸à«àª¤ છે. તે ઉપલબà«àª§ ન થાય તà«àª¯àª¾àª‚ સà«àª§à«€ તમે ફાઇલોને સà«àª¥àª¾àª¨àª¾àª‚તરિત કરી શકતાં નથી."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"કોઈ ફાઇલો મળી નહીં. અનà«àª¯ ઉપકરણ લૉક કરેલ હોઈ શકે છે. જો આમ હોય, તો તેને અનલૉક કરો અને ફરી પà«àª°àª¯àª¾àª¸ કરો."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-hi/strings.xml b/packages/MtpDocumentsProvider/res/values-hi/strings.xml
new file mode 100644
index 000000000000..1cf1c03780e8
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-hi/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP होसà¥à¤Ÿ"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"डाउनलोड"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> से फ़ाइलें à¤à¤•à¥à¤¸à¥‡à¤¸ कर रहा है"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"दूसरा डिवाइस वà¥à¤¯à¤¸à¥à¤¤ है. आप उसके उपलबà¥à¤§ हो जाने तक फ़ाइलें सà¥à¤¥à¤¾à¤¨à¤¾à¤‚तरित नहीं कर सकते हैं."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"कोई फ़ाइल नहीं मिली. हो सकता है कि दूसरा डिवाइस लॉक हो. यदि à¤à¤¸à¤¾ है, तो उसे अनलॉक करें और पà¥à¤¨: पà¥à¤°à¤¯à¤¾à¤¸ करें."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-hr/strings.xml b/packages/MtpDocumentsProvider/res/values-hr/strings.xml
new file mode 100644
index 000000000000..63fc5c768113
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-hr/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP host"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Preuzimanja"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g><xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Pristupanje datotekama s uređaja <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Drugi je uređaj zauzet. Datoteke ćete moći prenijeti kada postane dostupan."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Datoteke nisu pronaÄ‘ene. Drugi je ureÄ‘aj možda zakljuÄan. U tom ga sluÄaju otkljuÄajte i pokuÅ¡ajte ponovo."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-hu/strings.xml b/packages/MtpDocumentsProvider/res/values-hu/strings.xml
new file mode 100644
index 000000000000..e5b822c14271
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-hu/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP Host"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Letöltések"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Hozzáférés a fájlokhoz a következő eszközről: <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"A másik eszköz elfoglalt. Nem vihetők át fájlok addig, amíg rendelkezésre nem áll."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Nem található fájl. Lehet, hogy a másik eszköz zárolva van. Ha igen, oldja fel, és próbálkozzon újra."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-hy-rAM/strings.xml b/packages/MtpDocumentsProvider/res/values-hy-rAM/strings.xml
new file mode 100644
index 000000000000..3a6bfb50de44
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-hy-rAM/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP Õ­Õ¶Õ¡Õ´Õ¸Ö€Õ¤"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Õ†Õ¥Ö€Õ¢Õ¥Õ¼Õ¶Õ¸Ö‚Õ´Õ¶Õ¥Ö€"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Õ„Õ¸Ö‚Õ¿Ö„ Õ§ Õ£Õ¸Ö€Õ®Õ¸Ö‚Õ´ Ö†Õ¡ÕµÕ¬Õ¥Ö€ <xliff:g id="DEVICE_MODEL">%1$s</xliff:g> Õ½Õ¡Ö€Ö„Õ«Ö"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Õ„ÕµÕ¸Ö‚Õ½ Õ½Õ¡Ö€Ö„Õ¨ Õ¦Õ¢Õ¡Õ²Õ¾Õ¡Õ® Õ§: Õ–Õ¡ÕµÕ¬Õ¥Ö€Õ¨ Õ¯Õ¡Ö€Õ¸Õ² Õ¥Ö„ ÖƒÕ¸Õ­Õ¡Õ¶ÖÕ¥Õ¬ Õ´Õ«Õ¡ÕµÕ¶ Õ¥Ö€Õ¢ Õ¡ÕµÕ¶ Õ°Õ¡Õ½Õ¡Õ¶Õ¥Õ¬Õ« Õ§:"</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Õ–Õ¡ÕµÕ¬Õ¥Ö€ Õ¹Õ¥Õ¶ Õ£Õ¿Õ¶Õ¾Õ¥Õ¬: Õ€Õ¶Õ¡Ö€Õ¡Õ¾Õ¸Ö€ Õ§, Õ¸Ö€ Õ´ÕµÕ¸Ö‚Õ½ Õ½Õ¡Ö€Ö„Õ¨ Õ¯Õ¸Õ²ÕºÕ¾Õ¡Õ® Õ§: ÔµÕ©Õ¥ Õ¤Õ¡ Õ¡ÕµÕ¤ÕºÕ¥Õ½ Õ§, Õ¡ÕºÕ¡Õ¯Õ¸Õ²ÕºÕ¥Ö„ Õ¡ÕµÕ¶ Ö‡ ÖƒÕ¸Ö€Õ±Õ¥Ö„ Õ¶Õ¸Ö€Õ«Ö:"</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-in/strings.xml b/packages/MtpDocumentsProvider/res/values-in/strings.xml
new file mode 100644
index 000000000000..905daec931e6
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-in/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"Host MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Unduhan"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Mengakses file dari <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Perangkat lainnya sedang sibuk. Anda dapat mentransfer file jika telah tersedia."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"File tidak ditemukan. Perangkat lainnya mungkin terkunci. Jika begitu, buka kuncinya dan coba lagi."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-is-rIS/strings.xml b/packages/MtpDocumentsProvider/res/values-is-rIS/strings.xml
new file mode 100644
index 000000000000..9388f7e76efa
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-is-rIS/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP-hýsill"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Niðurhal"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Fær aðgang að skrám frá <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Hitt tækið er upptekið. Þú getur ekki fært skrár fyrr en það er tiltækt."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Engar skrár fundust. Hitt tækið gæti verið læst. Ef svo er skaltu opna það og reyna aftur."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-it/strings.xml b/packages/MtpDocumentsProvider/res/values-it/strings.xml
new file mode 100644
index 000000000000..a41699f55282
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-it/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"Host MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Download"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="STORAGE_NAME">%2$s</xliff:g> di <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Accesso ai file da <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"L\'altro dispositivo è occupato. I file non possono essere trasferiti fino a quando non sarà disponibile."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Nessun file trovato. L\'altro dispositivo potrebbe essere bloccato. In questo caso, sbloccalo e riprova."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-iw/strings.xml b/packages/MtpDocumentsProvider/res/values-iw/strings.xml
new file mode 100644
index 000000000000..62dfe7dd4ebb
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-iw/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"â€×ž×רח פרוטוקול העברת מדיה (MTP)"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"הורדות"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"גישה ×œ×§×‘×¦×™× ×ž-<xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"המכשיר השני ×œ× ×¤× ×•×™. ניתן ×™×”×™×” להעביר ×§×‘×¦×™× ×¨×§ ל×חר ×©×”×•× ×™×”×™×” זמין."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"×œ× × ×ž×¦×ו קבצי×. ייתכן שהמכשיר השני נעול. ×× ×›×Ÿ, פתח ×ותו ונסה שוב."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-ja/strings.xml b/packages/MtpDocumentsProvider/res/values-ja/strings.xml
new file mode 100644
index 000000000000..4ae59f5d9037
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-ja/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP ホスト"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"ダウンロード"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> ã‹ã‚‰ãƒ•ァイルã«ã‚¢ã‚¯ã‚»ã‚¹ã—ã¦ã„ã¾ã™"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"接続先ã®ç«¯æœ«ã¯ä½¿ç”¨ä¸­ã®ãŸã‚ã€åˆ©ç”¨ã§ãるよã†ã«ãªã‚‹ã¾ã§ãƒ•ァイルを転é€ã§ãã¾ã›ã‚“。"</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。接続先ã®ç«¯æœ«ãŒãƒ­ãƒƒã‚¯ã•れã¦ã„ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚ãã®å ´åˆã¯ã€ãƒ­ãƒƒã‚¯ã‚’解除ã—ã¦ã‹ã‚‰ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。"</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-ka-rGE/strings.xml b/packages/MtpDocumentsProvider/res/values-ka-rGE/strings.xml
new file mode 100644
index 000000000000..33812dfbf3df
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-ka-rGE/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP ჰáƒáƒ¡áƒ¢áƒ˜"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"ჩáƒáƒ›áƒáƒ¢áƒ•ირთვები"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"მიმდინáƒáƒ áƒ”áƒáƒ‘ს <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>-ზე áƒáƒ áƒ¡áƒ”ბულ ფáƒáƒ˜áƒšáƒ”ბზე წვდáƒáƒ›áƒ"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"სხვრმáƒáƒ¬áƒ§áƒáƒ‘ილáƒáƒ‘რდáƒáƒ™áƒáƒ•ებულიáƒ. ფáƒáƒ˜áƒšáƒ”ბის გáƒáƒ“áƒáƒ¢áƒáƒœáƒ ვერ მáƒáƒ®áƒ”რხდებáƒ, სáƒáƒœáƒáƒ› ის ხელმისáƒáƒ¬áƒ•დáƒáƒ›áƒ˜ áƒáƒ  გáƒáƒ®áƒ“ებáƒ."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"ფáƒáƒ˜áƒšáƒ”ბი ვერ მáƒáƒ˜áƒ«áƒ”ბნáƒ. მეáƒáƒ áƒ” მáƒáƒ¬áƒ§áƒáƒ‘ილáƒáƒ‘რშეიძლებრდáƒáƒ‘ლáƒáƒ™áƒ˜áƒšáƒ˜ იყáƒáƒ¡. áƒáƒ› შემთხვევáƒáƒ¨áƒ˜, გáƒáƒœáƒ‘ლáƒáƒ™áƒ”თ ის დრცáƒáƒ“ეთ ხელáƒáƒ®áƒšáƒ."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-kk-rKZ/strings.xml b/packages/MtpDocumentsProvider/res/values-kk-rKZ/strings.xml
new file mode 100644
index 000000000000..a6dea5b97b03
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-kk-rKZ/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP хоÑты"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Жүктеп алынғандар"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Файлдарға <xliff:g id="DEVICE_MODEL">%1$s</xliff:g> құрылғыÑынан кіру"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Екінші құрылғы Ð±Ð¾Ñ ÐµÐ¼ÐµÑ. Ол боÑамайынша, файлдар таÑымалданбайды."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Ешқандай файл табылмады. Екінші құрылғы құлыптаулы болуы мүмкін. Құлыптаулы болÑа, құлпын ашып, қайталап көріңіз."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-km-rKH/strings.xml b/packages/MtpDocumentsProvider/res/values-km-rKH/strings.xml
new file mode 100644
index 000000000000..baffa95c426b
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-km-rKH/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"ម៉ាស៊ីន MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"ដោយឡូáž"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"កំពុងចូលដំណើរការពី <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"ឧបករណáŸáž•្សáŸáž„ទៀážáž€áŸ†áž–ុងជាប់រវល់។ អ្នកមិនផ្ទáŸážšáž¯áž€ážŸáž¶ážšáž”ានទ០រហូážáž‘ាល់ážáŸ‚វាអាចប្រើបាន។"</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"រកមិនឃើញឯកសារទáŸáŸ” ឧបករណáŸáž•្សáŸáž„ទៀážáž”្រហែលជាážáŸ’រូវបានចាក់សោ។ ប្រសិនបើវាážáŸ’រូវបានចាក់សោមែន សូមដោះសោ ហើយព្យាយាមម្ážáž„ទៀážáŸ”"</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-kn-rIN/strings.xml b/packages/MtpDocumentsProvider/res/values-kn-rIN/strings.xml
new file mode 100644
index 000000000000..3f16c142aba1
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-kn-rIN/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP ಹೋಸà³à²Ÿà³"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"ಡೌನà³â€Œà²²à³‹à²¡à³â€Œà²—ಳà³"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> ನಿಂದ ಫೈಲà³â€Œà²—ಳನà³à²¨à³ ಪà³à²°à²µà³‡à²¶à²¿à²¸à²²à²¾à²—à³à²¤à³à²¤à²¿à²¦à³†"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"ಬೇರೆಯ ಸಾಧನವೠಕಾರà³à²¯à²¨à²¿à²°à²¤à²µà²¾à²—ಿದೆ. ಇದೠಲಭà³à²¯à²µà²¾à²—à³à²µà²µà²°à³†à²—ೆ ಫೈಲà³â€Œà²—ಳನà³à²¨à³ ನಿಮಗೆ ವರà³à²—ಾಯಿಸಲೠಸಾಧà³à²¯à²µà²¾à²—à³à²µà³à²¦à²¿à²²à³à²²."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"ಯಾವà³à²¦à³‡ ಫೈಲà³â€Œà²—ಳೠಕಂಡà³à²¬à²‚ದಿಲà³à²². ಬೇರೆಯ ಸಾಧನವೠಲಾಕೠಆಗಿರಬಹà³à²¦à³. ಹಾಗಾದಲà³à²²à²¿, ಇದನà³à²¨à³ ಅನà³â€Œà²²à²¾à²•ೠಮಾಡಿ ಹಾಗೂ ಮತà³à²¤à³† ಪà³à²°à²¯à²¤à³à²¨à²¿à²¸à²¿."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-ko/strings.xml b/packages/MtpDocumentsProvider/res/values-ko/strings.xml
new file mode 100644
index 000000000000..bbe2fe6d78a4
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-ko/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP 호스트"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"다운로드"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g>ì—서 파ì¼ì— 액세스 중"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"다른 기기가 사용 중입니다. 다른 기기를 사용할 수 ìžˆì„ ë•Œê¹Œì§€ 파ì¼ì„ 전송할 수 없습니다."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"파ì¼ì´ 없습니다. 다른 기기가 잠겨 ìžˆì„ ìˆ˜ 있습니다. ê¸°ê¸°ì˜ ìž ê¸ˆì„ í•´ì œí•˜ê³  다시 시ë„하세요."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-ky-rKG/strings.xml b/packages/MtpDocumentsProvider/res/values-ky-rKG/strings.xml
new file mode 100644
index 000000000000..e60a494a9919
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-ky-rKG/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP хоÑту"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Жүктөлүп алынган нерÑелер"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> түзмөгүндөгү файлдар колдонулууда"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Берки түзмөк бош ÑмеÑ. Ðл бошомоюнча файлдарды өткөрө албайÑыз."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Бир дагы файл табылган жок. Берки түзмөк кулпуланып турат окшойт. КулпуÑун ачып, кайра аракет кылып көрүңүз."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-lo-rLA/strings.xml b/packages/MtpDocumentsProvider/res/values-lo-rLA/strings.xml
new file mode 100644
index 000000000000..bcc0ee6b7ff3
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-lo-rLA/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"ໂຮສ MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"àºàº²àº™àº”າວໂຫລດ"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"àºàº³àº¥àº±àº‡à»€àº‚ົ້າເຖິງໄຟລ໌ຈາຠ<xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"ອຸປະàºàº­àº™àº­àº·à»ˆàº™àºšà»à»ˆàº«àº§à»ˆàº²àº‡à»€àº—ື່ອ. ທ່ານບà»à»ˆàºªàº²àº¡àº²àº”ໂອນàºà»‰àº²àºà»„ຟລ໌ໄດ້ຈົນàºàº§à»ˆàº²àº¡àº±àº™àºˆàº°àº«àº§à»ˆàº²àº‡."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"ບà»à»ˆàºžàº»àºšà»„ຟລ໌. ອຸປະàºàº­àº™àº­àºµàºà»€àº„ື່ອງອາດຖືàºàº¥àº±àº­àºà»„ວ້ຢູ່. ຫາàºàº¡àº±àº™àº–ືàºàº¥àº±àº­àºà»„ວ້, ໃຫ້ປົດລັອàºàº¡àº±àº™àºà»ˆàº­àº™à»àº¥à»‰àº§àº¥àº­àº‡à»ƒà»à»ˆàº­àºµàºàº„ັ້ງ."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-lt/strings.xml b/packages/MtpDocumentsProvider/res/values-lt/strings.xml
new file mode 100644
index 000000000000..8bff3a8fe78a
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-lt/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MPP priegloba"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Atsisiuntimai"</string>
+ <string name="root_name" msgid="5819495383921089536">"„<xliff:g id="DEVICE_MODEL">%1$s</xliff:g>“ <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Pasiekiami failai iš „<xliff:g id="DEVICE_MODEL">%1$s</xliff:g>“"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Kitas įrenginys yra užsiėmęs. Failus galėsite perkelti tik tada, kai jis bus pasiekiamas."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Nerasta failų. Gali būti, kad kitas įrenginys yra užrakintas. Jei taip yra, atrakinkite jį ir bandykite dar kartą."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-lv/strings.xml b/packages/MtpDocumentsProvider/res/values-lv/strings.xml
new file mode 100644
index 000000000000..5e96338afaa0
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-lv/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP saimniekdators"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"LejupielÄdes"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Piekļuve failiem no: <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Otra ierÄ«ce ir aizņemta. VarÄ“siet pÄrsÅ«tÄ«t failus tikai tad, kad tÄ bÅ«s pieejama."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Neviens fails netika atrasts. IespÄ“jams, otra ierÄ«ce ir bloÄ·Ä“ta. Ja tÄ ir, atbloÄ·Ä“jiet ierÄ«ci un mēģiniet vÄ“lreiz."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-mk-rMK/strings.xml b/packages/MtpDocumentsProvider/res/values-mk-rMK/strings.xml
new file mode 100644
index 000000000000..6028b716ec9e
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-mk-rMK/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP-хоÑÑ‚"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Преземања"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Се приÑтапува до датотеки од <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Другиот уред е зафатен. Ðе може да Ñе пренеÑуваат датотеки ÑÑ Ð´Ð¾Ð´ÐµÐºÐ° не Ñтане доÑтапен."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Ðе Ñе најдени датотеки. Другиот уред можеби е заклучен. Ðко е така, отклучете го и обидете Ñе повторно."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-ml-rIN/strings.xml b/packages/MtpDocumentsProvider/res/values-ml-rIN/strings.xml
new file mode 100644
index 000000000000..f357f96822b2
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-ml-rIN/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP ഹോസàµà´±àµà´±àµ"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"ഡൗൺലോഡàµà´•ൾ"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> ഉപകരണതàµà´¤à´¿àµ½ നിനàµà´¨àµ ഫയലàµà´•ൾ ആകàµà´¸à´¸àµà´¸àµ ചെയàµà´¯àµà´¨àµà´¨àµ"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"à´°à´£àµà´Ÿà´¾à´®à´¤àµà´¤àµ† ഉപകരണം തിരകàµà´•ിലാണàµ. അതൠലഭàµà´¯à´®à´¾à´•àµà´¨àµà´¨à´¤àµ വരെ നിങàµà´™àµ¾à´•àµà´•ൠഫയലàµà´•ൾ കൈമാറാൻ കഴിയിലàµà´²."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"ഫയലàµà´•ളൊനàµà´¨àµà´‚ à´•à´£àµà´Ÿàµ†à´¤àµà´¤à´¿à´¯à´¿à´²àµà´². à´°à´£àµà´Ÿà´¾à´®à´¤àµà´¤àµ† ഉപകരണം ലോകàµà´•àµà´šàµ†à´¯àµà´¤ നിലയിലായിരികàµà´•ാം. ആണെങàµà´•ിൽ, അൺലോകàµà´•àµà´šàµ†à´¯àµà´¤àµ വീണàµà´Ÿàµà´‚ à´¶àµà´°à´®à´¿à´•àµà´•àµà´•."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-mn-rMN/strings.xml b/packages/MtpDocumentsProvider/res/values-mn-rMN/strings.xml
new file mode 100644
index 000000000000..43b8204e7599
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-mn-rMN/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP ХоÑÑ‚"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Таталт"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g>-Ñ Ñ„Ð°Ð¹Ð»Ð´ хандаж байна"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Ðөгөө төхөөрөмж завгүй байна. Үүнийг боломжтой болох хүртÑл файл шилжүүлÑÑ… боломжгүй."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Файл олдÑонгүй. Ðөгөө төхөөрөмж түгжигдÑÑн байж болзошгүй. ИнгÑÑÑн тохиолдолд түгжÑÑг нь тайлаад, дахин оролдоно уу."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-mr-rIN/strings.xml b/packages/MtpDocumentsProvider/res/values-mr-rIN/strings.xml
new file mode 100644
index 000000000000..5b856dc4ec19
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-mr-rIN/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP होसà¥à¤Ÿ"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"डाउनलोड"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> मधून फायलींंमधà¥à¤¯à¥‡ पà¥à¤°à¤µà¥‡à¤¶ करीत आहे"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"अनà¥à¤¯ डिवà¥à¤¹à¤¾à¤‡à¤¸ वà¥à¤¯à¤¸à¥à¤¤ आहे. ते उपलबà¥â€à¤§ होईपरà¥à¤¯à¤‚त आपण फायली हसà¥à¤¤à¤¾à¤‚तरित करू शकत नाही."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"कोणतà¥à¤¯à¤¾à¤¹à¥€ फायली आढळलà¥à¤¯à¤¾ नाहीत. अनà¥à¤¯ डिवà¥à¤¹à¤¾à¤‡à¤¸ कदाचित बंद असू शकते. तसे असलà¥à¤¯à¤¾à¤¸, ते अनलॉक करा आणि पà¥à¤¨à¥à¤¹à¤¾ पà¥à¤°à¤¯à¤¤à¥à¤¨ करा."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-ms-rMY/strings.xml b/packages/MtpDocumentsProvider/res/values-ms-rMY/strings.xml
new file mode 100644
index 000000000000..febec1d349af
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-ms-rMY/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"Hos MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Muat turun"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Mengakses fail daripada <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Peranti lain sedang sibuk. Anda tidak boleh memindahkan fail sehingga peranti itu tersedia."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Tiada fail ditemui. Peranti lain itu mungkin dikunci. Jika benar, sila buka kuncinya dan cuba lagi."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-my-rMM/strings.xml b/packages/MtpDocumentsProvider/res/values-my-rMM/strings.xml
new file mode 100644
index 000000000000..8b509fbf0167
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-my-rMM/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP လက်á€á€¶á€…က်"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"ဒေါင်းလုဒ်များ"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> မှ ဖိုင်များကို အသုံးပြုနေသည်"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"á€á€á€¼á€¬á€¸á€…က်ပစ္စည်းသည် မအားသေးပါዠáŽá€„်းအဆင်သင့် မဖြစ်သေးသá ဖိုင်များကို လွှဲပြောင်းáရမည် မဟုá€á€ºá€•ါá‹"</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"မည်သည့်ဖိုင်မျှ မá€á€½á€±á€·á€•ါዠáŽá€„်းစက်ပစ္စည်းကို လော့á€á€ºá€á€»á€‘ားပုံရပါသည်ዠသို့ဖြစ်လျှင် áŽá€„်းကိုလော့á€á€ºá€–ြုá€á€ºá€•ြီး ထပ်လုပ်ကြည့်ပါá‹"</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-nb/strings.xml b/packages/MtpDocumentsProvider/res/values-nb/strings.xml
new file mode 100644
index 000000000000..40fabed73f40
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-nb/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP-vert"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Nedlastinger"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="STORAGE_NAME">%2$s</xliff:g> på <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Bruker filer på <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Den andre enheten er opptatt. Du kan ikke overføre filer før den er tilgjengelig."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Ingen filer ble funnet. Den andre enheten kan være låst. I så fall må du låse den opp og prøve igjen."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-ne-rNP/strings.xml b/packages/MtpDocumentsProvider/res/values-ne-rNP/strings.xml
new file mode 100644
index 000000000000..9a059e269502
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-ne-rNP/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP होसà¥à¤Ÿ"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"डाउनलोडहरू"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> बाट फाइलहरूमाथि पहà¥à¤à¤š राखà¥à¤¦à¥ˆ"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"अरà¥à¤•ो यनà¥à¤¤à¥à¤° वà¥à¤¯à¤¸à¥à¤¤ छ। तà¥à¤¯à¥‹ यनà¥à¤¤à¥à¤° उपलबà¥à¤§ नभà¤à¤¸à¤®à¥à¤® तपाईठफाइल सà¥à¤¥à¤¾à¤¨à¤¾à¤¨à¥à¤¤à¤°à¤£ गरà¥à¤¨ सकà¥à¤¨à¥à¤¹à¥à¤¨à¥à¤¨à¥¤"</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"कà¥à¤¨à¥ˆ फाइल भेटà¥à¤Ÿà¤¿à¤à¤¨à¥¤ अरà¥à¤•ो यनà¥à¤¤à¥à¤° लक गरिà¤à¤•ो हà¥à¤¨ सकà¥à¤›à¥¤ यदि तà¥à¤¯à¤¸à¥‹ हो भने तà¥à¤¯à¤¸à¤²à¤¾à¤ˆ अनलक गरेर फेरि पà¥à¤°à¤¯à¤¾à¤¸ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥à¥¤"</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-nl/strings.xml b/packages/MtpDocumentsProvider/res/values-nl/strings.xml
new file mode 100644
index 000000000000..b1a01b2cd8a9
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-nl/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP-host"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Downloads"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Bestanden openen op <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Het andere apparaat wordt gebruikt. Je moet wachten tot het beschikbaar is om bestanden te kunnen overzetten."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Geen bestanden gevonden. Het kan zijn dat het andere apparaat is vergrendeld. Als dat het geval is, ontgrendel je het en probeer je het opnieuw."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-pa-rIN/strings.xml b/packages/MtpDocumentsProvider/res/values-pa-rIN/strings.xml
new file mode 100644
index 000000000000..ab8ba1592ba7
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-pa-rIN/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP ਹੋਸਟ"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"ਡਾਊਨਲੋਡ"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> ਦੀਆਂ ਫ਼ਾਈਲਾਂ \'ਤੇ ਪਹà©à©°à¨š ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"ਦੂਜੀ ਡੀਵਾਈਸ ਰà©à¨à©‡à¨µà©‡à¨‚ ਵਿੱਚ ਹੈ। ਉਸਦੇ ਉਪਲਬਧ ਹੋਣ ਤੱਕ ਤà©à¨¸à©€à¨‚ ਫ਼ਾਈਲਾਂ ਦਾ ਤਬਾਦਲਾ ਨਹੀਂ ਕਰ ਸਕਦੇ।"</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"ਕੋਈ ਫ਼ਾਈਲਾਂ ਨਹੀਂ ਮਿਲੀਆਂ। ਹੋ ਸਕਦਾ ਹੈ ਕਿ ਦੂਜੀ ਡੀਵਾਈਸ ਲੌਕ ਹੋਵੇ। ਜੇਕਰ ਇੰਠਹੈ, ਤਾਂ ਉਸਨੂੰ ਅਨਲੌਕ ਕਰੋ ਅਤੇ ਦà©à¨¬à¨¾à¨°à¨¾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-pl/strings.xml b/packages/MtpDocumentsProvider/res/values-pl/strings.xml
new file mode 100644
index 000000000000..69fa0f4473ca
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-pl/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"Host MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Pobrane"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> – <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Uzyskuję dostęp do plików na urządzeniu <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Drugie urządzenie jest zajęte. Dopóki nie będzie dostępne, nie możesz przesłać plików."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Nie znaleziono plików. Drugie urządzenie może być zablokowane. Jeśli tak jest, odblokuj je i spróbuj ponownie."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-pt-rBR/strings.xml b/packages/MtpDocumentsProvider/res/values-pt-rBR/strings.xml
new file mode 100644
index 000000000000..03a14263f9c3
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-pt-rBR/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"Host do MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Downloads"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="STORAGE_NAME">%2$s</xliff:g> do <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Acessando arquivos do <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"O outro dispositivo está ocupado. Não é possível transferir arquivos até que ele esteja disponível."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Nenhum arquivo encontrado. É possível que o outro dispositivo esteja bloqueado. Se for o caso, desbloqueie-o e tente novamente."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-pt-rPT/strings.xml b/packages/MtpDocumentsProvider/res/values-pt-rPT/strings.xml
new file mode 100644
index 000000000000..05d32d40fa27
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-pt-rPT/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"Anfitrião MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Transferências"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Aceder a ficheiros do <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"O outro dispositivo está ocupado. Não pode transferir os ficheiros enquanto não estiver disponível."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Nenhum ficheiro encontrado. O outro dispositivo pode estar bloqueado. Se assim for, desbloqueie e tente novamente."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-pt/strings.xml b/packages/MtpDocumentsProvider/res/values-pt/strings.xml
new file mode 100644
index 000000000000..03a14263f9c3
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-pt/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"Host do MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Downloads"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="STORAGE_NAME">%2$s</xliff:g> do <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Acessando arquivos do <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"O outro dispositivo está ocupado. Não é possível transferir arquivos até que ele esteja disponível."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Nenhum arquivo encontrado. É possível que o outro dispositivo esteja bloqueado. Se for o caso, desbloqueie-o e tente novamente."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-ro/strings.xml b/packages/MtpDocumentsProvider/res/values-ro/strings.xml
new file mode 100644
index 000000000000..21ebc57836b4
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-ro/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"Gazdă MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Descărcări"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Se accesează fișierele de pe <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Celălalt dispozitiv este ocupat. Nu puteți să transferați fișiere înainte să fie disponibil."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Nu s-au găsit fișiere. Este posibil ca celălalt dispozitiv să fie blocat. În acest caz, deblocați-l și încercați din nou."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-ru/strings.xml b/packages/MtpDocumentsProvider/res/values-ru/strings.xml
new file mode 100644
index 000000000000..717f12f5403f
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-ru/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP-хоÑÑ‚"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Загрузки"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="STORAGE_NAME">%2$s</xliff:g> <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"ДоÑтуп к файлам на уÑтройÑтве <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>…"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Другое уÑтройÑтво занÑто. Ð’Ñ‹ Ñможете передать файлы, когда оно будет доÑтупно."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Файлы не найдены. ЕÑли другое уÑтройÑтво заблокировано, разблокируйте его и повторите попытку."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-si-rLK/strings.xml b/packages/MtpDocumentsProvider/res/values-si-rLK/strings.xml
new file mode 100644
index 000000000000..7a096b0a356a
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-si-rLK/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP සංග්â€à¶»à·à·„à¶š"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"à¶¶à·à¶œà·à¶±à·“ම්"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> වෙතින් ගොනු වෙත පිවිසීම"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"අනෙක් à¶‹à¶´à·à¶‚ගය à¶šà·à¶»à·Šà¶º බහුලය. එය ලබ෠ගත à·„à·à¶šà·’ වන තෙක් ඔබට ගොනු මà·à¶»à·” à¶šà·… නොහà·à¶šà·’ය."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"ගොනු හමු නොවීය. අනෙක් à¶‹à¶´à·à¶‚ගය අගුලු දම෠තිබිය à·„à·à¶šà·’ය. එසේ නම්, එය අගුලු à·„à·à¶» à¶±à·à·€à¶­ à¶‹à¶­à·Šà·ƒà·à·„ කරන්න."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-sk/strings.xml b/packages/MtpDocumentsProvider/res/values-sk/strings.xml
new file mode 100644
index 000000000000..365e1b7ba0ae
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-sk/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"Hostiteľ MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Stiahnuté súbory"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Prístup k súborom zo zariadenia <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Druhé zariadenie je zaneprázdnené. Súbory bude možné preniesÅ¥, keÄ bude k dispozícii."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Nenašli sa žiadne súbory. Druhé zariadenie môže byť uzamknuté. Ak je to tak, odomknite ho a skúste to znova."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-sl/strings.xml b/packages/MtpDocumentsProvider/res/values-sl/strings.xml
new file mode 100644
index 000000000000..60945d64fe8f
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-sl/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"Gostitelj MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Prenosi"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Dostopanje do datotek iz naprave <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Druga naprava ni na voljo. Dokler ne bo na voljo, ne bo mogoÄe prenaÅ¡ati datotek."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Ni datotek. Druga naprava je morda zaklenjena. ÄŒe je zaklenjena, jo odklenite in poskusite znova."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-sq-rAL/strings.xml b/packages/MtpDocumentsProvider/res/values-sq-rAL/strings.xml
new file mode 100644
index 000000000000..d92f29f6db60
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-sq-rAL/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"Pritësi i protokollit MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Shkarkimet"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Po qaset te skedarët nga <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Pajisja tjetër është e zënë. Nuk mund të transferosh skedarë deri sa të jetë në dispozicion."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Nuk u gjet asnjë skedar. Pajisja tjetër mund të jetë e kyçur. Nëse po, shkyçe dhe provo përsëri."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-sr/strings.xml b/packages/MtpDocumentsProvider/res/values-sr/strings.xml
new file mode 100644
index 000000000000..d91c5c4354ce
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-sr/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP хоÑÑ‚"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Преузимања"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"ПриÑтуп датотекама Ñа уређаја <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Други уређај је заузет. Датотеке можете да пренеÑете тек кад он поÑтане доÑтупан."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Ðије пронађена ниједна датотека. Други уређај је можда закључан. Ðко јеÑте, откључајте га и покушајте поново."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-sw/strings.xml b/packages/MtpDocumentsProvider/res/values-sw/strings.xml
new file mode 100644
index 000000000000..de3ed54b367f
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-sw/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"Seva pangishi ya MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Vipakuliwa"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Inafikia faili kwenye <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Kifaa hicho kingine kinatumika. Huwezi kuhamisha faili hadi kipatikane."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Hakuna faili zilizopatikana. Huenda kifaa hicho kingine kimefungwa. Ikiwa kimefungwa, kifungue na ujaribu tena."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-ta-rIN/strings.xml b/packages/MtpDocumentsProvider/res/values-ta-rIN/strings.xml
new file mode 100644
index 000000000000..c6e6e6204e2f
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-ta-rIN/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP ஹோஸà¯à®Ÿà¯"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"இறகà¯à®•à®™à¯à®•ளà¯"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> இலிரà¯à®¨à¯à®¤à¯ கோபà¯à®ªà¯à®•ளை அணà¯à®•à¯à®•ிறதà¯"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"பிற சாதனம௠பணிமிகà¯à®¤à®¿à®¯à®¿à®²à¯ உளà¯à®³à®¤à®¾à®²à¯, அநà¯à®¤à®ªà¯ பணி à®®à¯à®Ÿà®¿à®¯à¯à®®à¯ வரை கோபà¯à®ªà¯à®•ளை இடமாறà¯à®± à®®à¯à®Ÿà®¿à®¯à®¾à®¤à¯."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"கோபà¯à®ªà¯à®•ள௠இலà¯à®²à¯ˆ. பிற சாதனம௠பூடà¯à®Ÿà®ªà¯à®ªà®Ÿà¯à®Ÿà®¿à®°à¯à®•à¯à®•கà¯à®•ூடà¯à®®à¯ எனà¯à®ªà®¤à®¾à®²à¯ à®®à¯à®¤à®²à®¿à®²à¯ அதைத௠திறநà¯à®¤à¯, மீணà¯à®Ÿà¯à®®à¯ à®®à¯à®¯à®²à®µà¯à®®à¯."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-te-rIN/strings.xml b/packages/MtpDocumentsProvider/res/values-te-rIN/strings.xml
new file mode 100644
index 000000000000..7add85835da7
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-te-rIN/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP హోసà±à°Ÿà±"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"డౌనà±â€Œà°²à±‹à°¡à±â€Œà°²à±"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> à°¨à±à°‚à°¡à°¿ ఫైలà±â€Œà°²à°¨à± à°ªà±à°°à°¾à°ªà±à°¯à°¤ చేసà±à°¤à±‹à°‚ది"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"ఇతర పరికరం బిజీగా ఉంది. అది à°…à°‚à°¦à±à°¬à°¾à°Ÿà±à°²à±‹à°•à°¿ వచà±à°šà±‡ వరకౠమీరౠఫైలà±â€Œà°²à°¨à± బదిలీ చేయలేరà±."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"ఫైలà±â€à°²à± à°à°µà±€ à°•à°¨à±à°—ొనబడలేదà±. ఇతర పరికరం లాకౠచేయబడి ఉండవచà±à°šà±. అలా జరిగి ఉంటే, దానà±à°¨à°¿ à°…à°¨à±â€Œà°²à°¾à°•ౠచేసి, ఆపై మళà±à°²à±€ à°ªà±à°°à°¯à°¤à±à°¨à°¿à°‚à°šà°‚à°¡à°¿."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-th/strings.xml b/packages/MtpDocumentsProvider/res/values-th/strings.xml
new file mode 100644
index 000000000000..d2b62fe516e1
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-th/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"โฮสต์ MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"ดาวน์โหลด"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"à¸à¸³à¸¥à¸±à¸‡à¹€à¸‚้าถึงไฟล์จาภ<xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"อุปà¸à¸£à¸“์อีà¸à¹€à¸„รื่องหนึ่งไม่ว่าง คุณไม่สามารถโอนไฟล์จนà¸à¸§à¹ˆà¸²à¸­à¸¸à¸›à¸à¸£à¸“์จะสามารถใช้ได้"</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"ไม่พบไฟล์ อุปà¸à¸£à¸“์อีà¸à¹€à¸„รื่องหนึ่งอาจล็อà¸à¸­à¸¢à¸¹à¹ˆ หาà¸à¹€à¸›à¹‡à¸™à¹€à¸Šà¹ˆà¸™à¸™à¸±à¹‰à¸™ ให้ปลดล็อà¸à¹à¸¥à¸°à¸¥à¸­à¸‡à¸­à¸µà¸à¸„รั้ง"</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-tl/strings.xml b/packages/MtpDocumentsProvider/res/values-tl/strings.xml
new file mode 100644
index 000000000000..68b2eba38ea3
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-tl/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"Host ng MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Mga Download"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Nag-a-access ng mga file mula sa <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Abala ang kabilang device. Hindi ka makakapaglipat ng mga file hanggang sa maging available ito."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Walang natagpuang mga file. Maaaring naka-lock ang kabilang device. Kung gayon, i-unlock ito at subukang muli."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-tr/strings.xml b/packages/MtpDocumentsProvider/res/values-tr/strings.xml
new file mode 100644
index 000000000000..14250ef527c7
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-tr/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP Ana Makinesi"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"İndirilenler"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> cihazdaki dosyalara eriÅŸiliyor"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Diğer cihaz meşgul. Cihaz kullanılabilir duruma gelene kadar dosyaları aktaramazsınız."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Hiçbir dosya bulunamadı. Diğer cihaz kilitli olabilir. Kilitliyse, kilidini açıp tekrar deneyin."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-uk/strings.xml b/packages/MtpDocumentsProvider/res/values-uk/strings.xml
new file mode 100644
index 000000000000..8589f8c594b6
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-uk/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"ХоÑÑ‚ MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"ЗавантаженнÑ"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"ВідкриваютьÑÑ Ñ„Ð°Ð¹Ð»Ð¸ з приÑтрою <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Інший приÑтрій зайнÑтий. Щоб передавати файли, він має бути доÑтупним."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ файли. Можливо, інший приÑтрій заблоковано. У такому разі розблокуйте його та повторіть Ñпробу."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-ur-rPK/strings.xml b/packages/MtpDocumentsProvider/res/values-ur-rPK/strings.xml
new file mode 100644
index 000000000000..17578ae51b9f
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-ur-rPK/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"â€MTP میزبان"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"ڈاؤن لوڈز"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> سے ÙØ§Ø¦Ù„ÙˆÚº Ú©ÛŒ رسائی ÛÙˆ رÛÛŒ ÛÛ’"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"دوسرا Ø¢Ù„Û Ù…ØµØ±ÙˆÙ ÛÛ’Û” اس Ú©Û’ دستیاب Ûونے تک آپ ÙØ§Ø¦Ù„یں منتقل Ù†Ûیں کر سکتے۔"</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"کوئی ÙØ§Ø¦Ù„یں Ù†Ûیں ملیں۔ ÛÙˆ سکتا ÛÛ’ دوسرا Ø¢Ù„Û Ù…Ù‚ÙÙ„ ÛÙˆÛ” اگر ایسا ÛÛ’ تو اسے غیر مقÙÙ„ کریں اور Ø¯ÙˆØ¨Ø§Ø±Û Ú©ÙˆØ´Ø´ کریں۔"</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-uz-rUZ/strings.xml b/packages/MtpDocumentsProvider/res/values-uz-rUZ/strings.xml
new file mode 100644
index 000000000000..dea4cffb3ded
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-uz-rUZ/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP Host"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Yuklanishlar"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g><xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> qurilmasidan fayllar o‘qilmoqda"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Ulangan qurilma band. U bo‘shamaguncha fayllarni o‘tkazib bo‘lmaydi."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Hech qanday fayl topilmadi. Ulangan qurilma qulflangan bo‘lishi mumkin. Agar shunday bo‘lsa, uni qulfdan chiqaring va qayta urinib ko‘ring."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-vi/strings.xml b/packages/MtpDocumentsProvider/res/values-vi/strings.xml
new file mode 100644
index 000000000000..0eb63106d85e
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-vi/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"Máy chủ MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Tải xuống"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Äang truy cập tệp từ <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Thiết bị khác đang bận. Bạn không thể chuyển tệp cho đến khi thiết bị rảnh."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Không tìm thấy tệp. Thiết bị khác có thể đã bị khóa. Nếu như vậy, hãy mở khóa thiết bị rồi thử lại."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-zh-rCN/strings.xml b/packages/MtpDocumentsProvider/res/values-zh-rCN/strings.xml
new file mode 100644
index 000000000000..7f1f3942c911
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-zh-rCN/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"MTP 主机"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"下载"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"正在访问 <xliff:g id="DEVICE_MODEL">%1$s</xliff:g> 的文件"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"å¦ä¸€å°è®¾å¤‡æ­£å¿™ã€‚您必须等到该设备å¯ç”¨æ—¶æ‰èƒ½ä¼ è¾“文件。"</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"未找到任何文件。å¦ä¸€å°è®¾å¤‡å¯èƒ½å¤„于é”定状æ€ï¼›å¦‚果是这样,请解é”该设备并é‡è¯•。"</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-zh-rHK/strings.xml b/packages/MtpDocumentsProvider/res/values-zh-rHK/strings.xml
new file mode 100644
index 000000000000..be8c5482c13c
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-zh-rHK/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"媒體傳輸å”定主機"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"下載"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> 的「<xliff:g id="STORAGE_NAME">%2$s</xliff:g>ã€"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"正在從 <xliff:g id="DEVICE_MODEL">%1$s</xliff:g> å­˜å–æª”案"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"å¦ä¸€éƒ¨è£ç½®ç›®å‰è™•於忙碌狀態,è¦ç­‰åˆ°è©²è£ç½®å¯ç”¨æ™‚æ‰èƒ½è½‰ç§»æª”案。"</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"找ä¸åˆ°æª”案。如果å¦ä¸€éƒ¨è£ç½®è™•於鎖定狀態,請解鎖該è£ç½®ï¼Œç„¶å¾Œå†è©¦ä¸€æ¬¡ã€‚"</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-zh-rTW/strings.xml b/packages/MtpDocumentsProvider/res/values-zh-rTW/strings.xml
new file mode 100644
index 000000000000..2fe3c06898e0
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-zh-rTW/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"媒體傳輸通訊å”定主機"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"下載"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"正在從 <xliff:g id="DEVICE_MODEL">%1$s</xliff:g> å­˜å–æª”案"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"å¦ä¸€å€‹è£ç½®å¿™ç¢Œä¸­ã€‚必須等到該è£ç½®å¯ç”¨æ™‚æ‰èƒ½è½‰ç§»æª”案。"</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"找ä¸åˆ°ä»»ä½•檔案。如果å¦ä¸€å€‹è£ç½®è™•於鎖定狀態,請將該è£ç½®è§£éŽ–å¾Œå†è©¦ä¸€æ¬¡ã€‚"</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-zu/strings.xml b/packages/MtpDocumentsProvider/res/values-zu/strings.xml
new file mode 100644
index 000000000000..f3f720676b22
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-zu/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2015 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="6271216747302322594">"Ukusingatha kwe-MTP"</string>
+ <string name="downloads_app_label" msgid="7120690641874849726">"Okulandiwe"</string>
+ <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+ <string name="accessing_notification_title" msgid="3030133609230917944">"Ifinyelela kumafayela kusukela ku-<xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+ <string name="error_busy_device" msgid="3997316850357386589">"Enye idivayisi imatasatasa. Awukwazi ukudlulisela amafayela ize itholakale."</string>
+ <string name="error_locked_device" msgid="7557872102188356147">"Awekho amafayela atholiwe. Enye idivayisi kungenzeka ikhiyiwe. Uma kunjalo, yivule uphinde uzame futhi."</string>
+</resources>
diff --git a/packages/PrintSpooler/res/values-b+sr+Latn/strings.xml b/packages/PrintSpooler/res/values-b+sr+Latn/strings.xml
index 50ce1f96b912..c2b84d0165ca 100644
--- a/packages/PrintSpooler/res/values-b+sr+Latn/strings.xml
+++ b/packages/PrintSpooler/res/values-b+sr+Latn/strings.xml
@@ -62,6 +62,7 @@
</plurals>
<string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="printer_info_desc" msgid="7181988788991581654">"JoÅ¡ informacija o ovom Å¡tampaÄu"</string>
+ <string name="could_not_create_file" msgid="3425025039427448443">"Pravljenje datoteke nije uspelo"</string>
<string name="print_services_disabled_toast" msgid="9089060734685174685">"Neke usluge štampanja su onemogućene"</string>
<string name="print_searching_for_printers" msgid="6550424555079932867">"Pretraga Å¡tampaÄa"</string>
<string name="print_no_print_services" msgid="8561247706423327966">"Nijedna usluga štampanja nije omogućena"</string>
diff --git a/packages/PrintSpooler/res/values-be-rBY/strings.xml b/packages/PrintSpooler/res/values-be-rBY/strings.xml
index c264f9266b81..e74b4cfc2d9d 100644
--- a/packages/PrintSpooler/res/values-be-rBY/strings.xml
+++ b/packages/PrintSpooler/res/values-be-rBY/strings.xml
@@ -63,6 +63,7 @@
</plurals>
<string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="printer_info_desc" msgid="7181988788991581654">"Больш падрабÑÐ·Ð½Ð°Ñ Ñ–Ð½Ñ„Ð°Ñ€Ð¼Ð°Ñ†Ñ‹Ñ Ð¿Ñ€Ð° гÑты прынтар"</string>
+ <string name="could_not_create_file" msgid="3425025039427448443">"Ðе ўдалоÑÑ Ñтварыць файл"</string>
<string name="print_services_disabled_toast" msgid="9089060734685174685">"ÐÐµÐºÐ°Ñ‚Ð¾Ñ€Ñ‹Ñ Ñлужбы друку адключаны"</string>
<string name="print_searching_for_printers" msgid="6550424555079932867">"Пошук прынтараў"</string>
<string name="print_no_print_services" msgid="8561247706423327966">"Службы друку не ўключаны"</string>
diff --git a/packages/PrintSpooler/res/values-bs-rBA/strings.xml b/packages/PrintSpooler/res/values-bs-rBA/strings.xml
index c3c9bb33e9c3..cc04d6646278 100644
--- a/packages/PrintSpooler/res/values-bs-rBA/strings.xml
+++ b/packages/PrintSpooler/res/values-bs-rBA/strings.xml
@@ -62,6 +62,7 @@
</plurals>
<string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="printer_info_desc" msgid="7181988788991581654">"ViÅ¡e informacija o ovom Å¡tampaÄu"</string>
+ <string name="could_not_create_file" msgid="3425025039427448443">"Nije uspjelo kreiranje fajla"</string>
<string name="print_services_disabled_toast" msgid="9089060734685174685">"Neke usluge za Å¡tampanje su iskljuÄene"</string>
<string name="print_searching_for_printers" msgid="6550424555079932867">"Traženje Å¡tampaÄa"</string>
<string name="print_no_print_services" msgid="8561247706423327966">"Usluga za Å¡tampanje nije ukljuÄena"</string>
diff --git a/packages/PrintSpooler/res/values-my-rMM/strings.xml b/packages/PrintSpooler/res/values-my-rMM/strings.xml
index c277c558b965..11b1664114d0 100644
--- a/packages/PrintSpooler/res/values-my-rMM/strings.xml
+++ b/packages/PrintSpooler/res/values-my-rMM/strings.xml
@@ -33,7 +33,7 @@
<string name="pages_range_example" msgid="8558694453556945172">"ဥပမာ á-á…አáˆáŠ áá-ááƒ"</string>
<string name="print_preview" msgid="8010217796057763343">"အစမ်းကြည့်ရှုရန်"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"အစမ်းကြည့်ရန် ပီဒီအက်ဖ် ဖá€á€ºá€›á€¾á€¯á€…ရာ ထည့်သွင်းပါ"</string>
- <string name="printing_app_crashed" msgid="854477616686566398">"စာထုá€á€ºá€œá€¯á€•်သော အက်ပ် á€á€ ပျက်သွားပါသည်"</string>
+ <string name="printing_app_crashed" msgid="854477616686566398">"စာထုá€á€ºá€œá€¯á€•်သော အက်ပ်á€á€ ပျက်သွားပါသည်"</string>
<string name="generating_print_job" msgid="3119608742651698916">"စာထုá€á€ºá€¡á€œá€¯á€•်ကို လုပ်နေပါသည်"</string>
<string name="save_as_pdf" msgid="5718454119847596853">"ပီဒီအက်ဖ် အဖြစ်သိမ်းဆည်းရန်"</string>
<string name="all_printers" msgid="5018829726861876202">"စာထုá€á€ºá€…က် အားလုံး"</string>
@@ -81,7 +81,7 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> ကို ပယ်ဖျက်နေပါသည်"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"စာထုá€á€ºá€…က်မှ အမှား <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>ကိုစာထုá€á€ºá€…က်ကငြင်းလိုက်သည်"</string>
- <string name="cancel" msgid="4373674107267141885">"မလုပ်á€á€±á€¬á€·á€•ါ"</string>
+ <string name="cancel" msgid="4373674107267141885">"မလုပ်á€á€±á€¬á€·"</string>
<string name="restart" msgid="2472034227037808749">"အစက ပြန်စရန်"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"စာထုá€á€ºá€…က်နဲ့ ဆက်သွယ်ထားမှု မရှိပါ"</string>
<string name="reason_unknown" msgid="5507940196503246139">"အကြောင်းအရာ မသိရှိ"</string>
diff --git a/packages/SettingsLib/res/values-b+sr+Latn/strings.xml b/packages/SettingsLib/res/values-b+sr+Latn/strings.xml
index e8621b211267..31fe05a331dd 100644
--- a/packages/SettingsLib/res/values-b+sr+Latn/strings.xml
+++ b/packages/SettingsLib/res/values-b+sr+Latn/strings.xml
@@ -91,7 +91,7 @@
<string name="tether_settings_title_bluetooth" msgid="355855408317564420">"Bluetooth privezivanje"</string>
<string name="tether_settings_title_usb_bluetooth" msgid="5355828977109785001">"Povezivanje sa internetom"</string>
<string name="tether_settings_title_all" msgid="8356136101061143841">"Povezivanje i prenosni hotspot"</string>
- <string name="managed_user_title" msgid="8101244883654409696">"Profil za posao"</string>
+ <string name="managed_user_title" msgid="8109605045406748842">"Sve radne aplikacije"</string>
<string name="user_guest" msgid="8475274842845401871">"Gost"</string>
<string name="unknown" msgid="1592123443519355854">"Nepoznato"</string>
<string name="running_process_item_user_label" msgid="3129887865552025943">"Korisnik: <xliff:g id="USER_NAME">%1$s</xliff:g>"</string>
@@ -123,6 +123,8 @@
<string name="tts_engine_settings_button" msgid="1030512042040722285">"Pokreni podešavanja mašine"</string>
<string name="tts_engine_preference_section_title" msgid="448294500990971413">"Željena mašina"</string>
<string name="tts_general_section_title" msgid="4402572014604490502">"Opšte"</string>
+ <string name="tts_reset_speech_pitch_title" msgid="5789394019544785915">"Resetujte visinu tona govora"</string>
+ <string name="tts_reset_speech_pitch_summary" msgid="8700539616245004418">"Resetujte visinu tona kojom se tekst izgovara na podrazumevanu."</string>
<string-array name="tts_rate_entries">
<item msgid="6695494874362656215">"Veoma sporo"</item>
<item msgid="4795095314303559268">"Sporo"</item>
@@ -165,7 +167,6 @@
<string name="wifi_verbose_logging" msgid="4203729756047242344">"Omogući detaljniju evidenciju za Wi‑Fi"</string>
<string name="wifi_aggressive_handover" msgid="9194078645887480917">"Agresivan prelaz sa Wi‑Fi mreže na mobilnu"</string>
<string name="wifi_allow_scan_with_traffic" msgid="3601853081178265786">"Uvek dozvoli skeniranje Wi‑Fi-ja u romingu"</string>
- <string name="legacy_dhcp_client" msgid="694426978909127287">"Koristi zastareli DHCP klijent"</string>
<string name="mobile_data_always_on" msgid="7745605759775320362">"Podaci za mobilne uređaje su uvek aktivni"</string>
<string name="bluetooth_disable_absolute_volume" msgid="2660673801947898809">"Onemogući glavno podeÅ¡avanje jaÄine zvuka"</string>
<string name="wifi_display_certification_summary" msgid="1155182309166746973">"Prikaz opcija za sertifikaciju bežiÄnog ekrana"</string>
@@ -179,7 +180,6 @@
<string name="allow_mock_location" msgid="2787962564578664888">"Dozvoli lažne lokacije"</string>
<string name="allow_mock_location_summary" msgid="317615105156345626">"Dozvoli lažne lokacije"</string>
<string name="debug_view_attributes" msgid="6485448367803310384">"Omogući proveru atributa za pregled"</string>
- <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Koristite DHCP klijent iz Lollipop-a umesto novog Android DHCP klijenta."</string>
<string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Neka podaci za mobilne ureÄ‘aje uvek budu aktivni, Äak i kada je Wi‑Fi aktivan (radi brze promene mreže)."</string>
<string name="adb_warning_title" msgid="6234463310896563253">"Dozvoli otklanjanje USB grešaka?"</string>
<string name="adb_warning_message" msgid="7316799925425402244">"Otklanjanje USB greÅ¡aka namenjeno je samo za svrhe programiranja. Koristite ga za kopiranje podataka sa raÄunara na ureÄ‘aj i obrnuto, instaliranje aplikacija na ureÄ‘aju bez obaveÅ¡tenja i Äitanje podataka iz evidencije."</string>
@@ -274,8 +274,8 @@
<string name="inactive_app_active_summary" msgid="4174921824958516106">"Aktivna. Dodirnite da biste je deaktivirali."</string>
<string name="runningservices_settings_title" msgid="8097287939865165213">"Pokrenute usluge"</string>
<string name="runningservices_settings_summary" msgid="854608995821032748">"Prikaz i kontrola trenutno pokrenutih usluga"</string>
- <string name="enable_webview_multiprocess" msgid="3405948012467585908">"Omogući višeprocesni WebView"</string>
- <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"Pokrećite WebView prikazivaÄe u okviru izolovanog procesa."</string>
+ <string name="enable_webview_multiprocess" msgid="3352660896640797330">"Višeprocesni WebView"</string>
+ <string name="enable_webview_multiprocess_desc" msgid="2485604010404197724">"Pokrećite WebView prikazivaÄe zasebno"</string>
<string name="select_webview_provider_title" msgid="4628592979751918907">"Primena WebView-a"</string>
<string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"Podesite primenu WebView-a"</string>
<string name="select_webview_provider_toast_text" msgid="5466970498308266359">"Ovaj izbor više nije važeći. Pokušajte ponovo."</string>
@@ -323,6 +323,11 @@
<string name="enabled_by_admin" msgid="2386503803463071894">"Omogućio je administrator"</string>
<string name="disabled_by_admin" msgid="3669999613095206948">"Onemogućio je administrator"</string>
<string name="home" msgid="3256884684164448244">"PoÄetna za PodeÅ¡avanja"</string>
+ <string-array name="battery_labels">
+ <item msgid="8494684293649631252">"0%"</item>
+ <item msgid="8934126114226089439">"50%"</item>
+ <item msgid="1286113608943010849">"100%"</item>
+ </string-array>
<string name="charge_length_format" msgid="8978516217024434156">"Pre <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Još <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="screen_zoom_summary_small" msgid="5867245310241621570">"Mali"</string>
diff --git a/packages/SettingsLib/res/values-be-rBY/arrays.xml b/packages/SettingsLib/res/values-be-rBY/arrays.xml
index 63b8b9bf6f4e..9ac862b7a219 100644
--- a/packages/SettingsLib/res/values-be-rBY/arrays.xml
+++ b/packages/SettingsLib/res/values-be-rBY/arrays.xml
@@ -128,12 +128,12 @@
<item msgid="1340692776955662664">"Выклікаць ÑÑ‚Ñк на glGetError"</item>
</string-array>
<string-array name="show_non_rect_clip_entries">
- <item msgid="993742912147090253">"Ðдключана"</item>
+ <item msgid="993742912147090253">"Выключана"</item>
<item msgid="675719912558941285">"ÐамалÑваць непрамавугольную воблаÑць кліпа Ñінім колерам"</item>
<item msgid="1064373276095698656">"Вылучыце Ð²Ñ‹Ð¿Ñ€Ð°Ð±Ð°Ð²Ð°Ð½Ñ‹Ñ ÐºÐ°Ð¼Ð°Ð½Ð´Ñ‹ малÑÐ²Ð°Ð½Ð½Ñ Ð·Ñлёным колерам"</item>
</string-array>
<string-array name="track_frame_time_entries">
- <item msgid="2193584639058893150">"Ðдключана"</item>
+ <item msgid="2193584639058893150">"Выключана"</item>
<item msgid="2751513398307949636">"Ðа Ñкране Ñž выглÑдзе Ñлупкоў"</item>
<item msgid="1851438178120770973">"У абалонцы adb dumpsys gfxinfo"</item>
</string-array>
diff --git a/packages/SettingsLib/res/values-be-rBY/strings.xml b/packages/SettingsLib/res/values-be-rBY/strings.xml
index a8abb49fd3d0..7281e3dbf1cf 100644
--- a/packages/SettingsLib/res/values-be-rBY/strings.xml
+++ b/packages/SettingsLib/res/values-be-rBY/strings.xml
@@ -23,7 +23,7 @@
<string name="wifi_fail_to_scan" msgid="1265540342578081461">"Ðе атрымлiваецца выканаць Ñканаванне Ð´Ð»Ñ Ñетак"</string>
<string name="wifi_security_none" msgid="7985461072596594400">"ÐÑма"</string>
<string name="wifi_remembered" msgid="4955746899347821096">"Захавана"</string>
- <string name="wifi_disabled_generic" msgid="4259794910584943386">"ÐдключанаÑ"</string>
+ <string name="wifi_disabled_generic" msgid="4259794910584943386">"Ðдключана"</string>
<string name="wifi_disabled_network_failure" msgid="2364951338436007124">"Збой канфігурацыі IP"</string>
<string name="wifi_disabled_wifi_failure" msgid="3081668066612876581">"Збой падлучÑÐ½Ð½Ñ Wi-Fi"</string>
<string name="wifi_disabled_password_failure" msgid="8659805351763133575">"Праблема аўтÑнтыфікацыі"</string>
@@ -71,7 +71,7 @@
<string name="bluetooth_hid_profile_summary_use_for" msgid="232727040453645139">"ВыкарыÑтоўваць Ð´Ð»Ñ ÑžÐ²Ð¾Ð´Ñƒ"</string>
<string name="bluetooth_pairing_accept" msgid="6163520056536604875">"Падлучыць"</string>
<string name="bluetooth_pairing_accept_all_caps" msgid="6061699265220789149">"СПÐЛУЧЫЦЬ"</string>
- <string name="bluetooth_pairing_decline" msgid="4185420413578948140">"Ðдмена"</string>
+ <string name="bluetooth_pairing_decline" msgid="4185420413578948140">"СкаÑаваць"</string>
<string name="bluetooth_pairing_will_share_phonebook" msgid="4982239145676394429">"СпалучÑнне дае доÑтуп да вашых кантактаў Ñ– гіÑторыі выклікаў пры падлучÑнні."</string>
<string name="bluetooth_pairing_error_message" msgid="3748157733635947087">"Ðе атрымалаÑÑ Ð¿Ð°Ð´ÐºÐ»ÑŽÑ‡Ñ‹Ñ†Ñ†Ð° да прылады <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
<string name="bluetooth_pairing_pin_error_message" msgid="8337234855188925274">"Ðе атрымалаÑÑ Ñпалучыцца з прыладай <xliff:g id="DEVICE_NAME">%1$s</xliff:g>, таму што PIN-код або пароль нÑправiльныÑ."</string>
@@ -91,14 +91,14 @@
<string name="tether_settings_title_bluetooth" msgid="355855408317564420">"Bluetooth-мадÑм"</string>
<string name="tether_settings_title_usb_bluetooth" msgid="5355828977109785001">"МадÑм"</string>
<string name="tether_settings_title_all" msgid="8356136101061143841">"МадÑм Ñ– партатыўны хотÑпот"</string>
- <string name="managed_user_title" msgid="8101244883654409696">"Рабочы профіль"</string>
+ <string name="managed_user_title" msgid="8109605045406748842">"УÑе Ð¿Ñ€Ð°Ñ†Ð¾ÑžÐ½Ñ‹Ñ Ð¿Ñ€Ð°Ð³Ñ€Ð°Ð¼Ñ‹"</string>
<string name="user_guest" msgid="8475274842845401871">"ГоÑць"</string>
<string name="unknown" msgid="1592123443519355854">"ÐевÑдома"</string>
<string name="running_process_item_user_label" msgid="3129887865552025943">"КарыÑтальнiк: <xliff:g id="USER_NAME">%1$s</xliff:g>"</string>
<string name="launch_defaults_some" msgid="313159469856372621">"Ðекат. параметры па змаўч. уÑталÑваныÑ"</string>
<string name="launch_defaults_none" msgid="4241129108140034876">"Параметры па змаўчанні не ÑžÑталÑваныÑ"</string>
<string name="tts_settings" msgid="8186971894801348327">"Ðалады Text-to-speech"</string>
- <string name="tts_settings_title" msgid="1237820681016639683">"Выводзіць праз Text-to-speech"</string>
+ <string name="tts_settings_title" msgid="1237820681016639683">"СінтÑз маўленнÑ"</string>
<string name="tts_default_rate_title" msgid="6030550998379310088">"ХуткаÑць гаворкі"</string>
<string name="tts_default_rate_summary" msgid="4061815292287182801">"ХуткаÑць, з Ñкой кажуць Ñ‚ÑкÑÑ‚"</string>
<string name="tts_default_pitch_title" msgid="6135942113172488671">"Тон"</string>
@@ -123,6 +123,8 @@
<string name="tts_engine_settings_button" msgid="1030512042040722285">"ЗапуÑк налад модулю"</string>
<string name="tts_engine_preference_section_title" msgid="448294500990971413">"Выбраны модуль"</string>
<string name="tts_general_section_title" msgid="4402572014604490502">"ÐгульныÑ"</string>
+ <string name="tts_reset_speech_pitch_title" msgid="5789394019544785915">"Скід вышыні голаÑу Ð¿Ð°Ð´Ñ‡Ð°Ñ Ð¼Ð°ÑžÐ»ÐµÐ½Ð½Ñ"</string>
+ <string name="tts_reset_speech_pitch_summary" msgid="8700539616245004418">"Скінуць вышыню голаÑу, з Ñкой прагаворваецца Ñ‚ÑкÑÑ‚, да Ñтандартнай."</string>
<string-array name="tts_rate_entries">
<item msgid="6695494874362656215">"Вельмі павольна"</item>
<item msgid="4795095314303559268">"Павольна"</item>
@@ -137,7 +139,7 @@
<string name="choose_profile" msgid="8229363046053568878">"Выбраць профіль"</string>
<string name="category_personal" msgid="1299663247844969448">"ÐÑабіÑты"</string>
<string name="category_work" msgid="8699184680584175622">"Рабочы"</string>
- <string name="development_settings_title" msgid="215179176067683667">"Опцыі раÑпрацоўшчыка"</string>
+ <string name="development_settings_title" msgid="215179176067683667">"Параметры раÑпрацоўшчыка"</string>
<string name="development_settings_enable" msgid="542530994778109538">"Уключыць параметры раÑпрацоўшчыка"</string>
<string name="development_settings_summary" msgid="1815795401632854041">"Ðалада параметраў Ð´Ð»Ñ Ñ€Ð°Ñпрацоўкі прыкладаннÑÑž"</string>
<string name="development_settings_not_available" msgid="4308569041701535607">"Параметры раÑпрацоўшчыка недаÑÑ‚ÑƒÐ¿Ð½Ñ‹Ñ Ð´Ð»Ñ Ð³Ñтага карыÑтальніка"</string>
@@ -165,7 +167,6 @@
<string name="wifi_verbose_logging" msgid="4203729756047242344">"Уключыць падрабÑзны журнал Wi‑Fi"</string>
<string name="wifi_aggressive_handover" msgid="9194078645887480917">"ÐгрÑÑіўны пераход з Wi‑Fi на маб. Ñетку"</string>
<string name="wifi_allow_scan_with_traffic" msgid="3601853081178265786">"ЗаўÑёды дазвалÑць роўмінгавае Ñканіраванне Wi‑Fi"</string>
- <string name="legacy_dhcp_client" msgid="694426978909127287">"ВыкарыÑтоўваць кліент DHCP ранейшых верÑій"</string>
<string name="mobile_data_always_on" msgid="7745605759775320362">"Перадача даных мабільнай ÑувÑзі заўÑёды актыўна"</string>
<string name="bluetooth_disable_absolute_volume" msgid="2660673801947898809">"Ðдключыць абÑалютны гук"</string>
<string name="wifi_display_certification_summary" msgid="1155182309166746973">"Паказаць опцыі Ñертыфікацыі беÑправаднога дыÑплеÑ"</string>
@@ -179,7 +180,6 @@
<string name="allow_mock_location" msgid="2787962564578664888">"Дазволіць неÑÐ°Ð¿Ñ€Ð°ÑžÐ´Ð½Ñ‹Ñ Ð¼ÐµÑцы"</string>
<string name="allow_mock_location_summary" msgid="317615105156345626">"Дазволіць неÑÐ°Ð¿Ñ€Ð°ÑžÐ´Ð½Ñ‹Ñ Ð¼ÐµÑцы"</string>
<string name="debug_view_attributes" msgid="6485448367803310384">"Уключыць праглÑд атрыбутаў"</string>
- <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"ВыкарыÑтоўвайце кліент DHCP ад Lollipop замеÑÑ‚ новага кліента Android DHCP."</string>
<string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Перадача даных мабільнай ÑувÑзі заўÑёды актыўна, нават калі актыўна Ñетка Wi‑Fi (Ð´Ð»Ñ Ñ…ÑƒÑ‚ÐºÐ°Ð³Ð° пераключÑÐ½Ð½Ñ Ð¿Ð°Ð¼Ñ–Ð¶ Ñеткамі)."</string>
<string name="adb_warning_title" msgid="6234463310896563253">"Дазволіць адладку USB?"</string>
<string name="adb_warning_message" msgid="7316799925425402244">"Ðдладка USB прызначана толькі Ð´Ð»Ñ Ð¼Ñтаў раÑпрацоўкі. Яна можа выкарыÑтоўвацца, каб капіÑваць Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ Ð¿Ð°Ð¼Ñ–Ð¶ кампутарам Ñ– прыладай, уÑталёўваць прыкладанні на прыладзе без папÑÑ€ÑднÑга апавÑшчÑÐ½Ð½Ñ Ñ– чытаць Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ Ð´Ð·Ñ‘Ð½Ð½iка."</string>
@@ -225,7 +225,7 @@
<string name="enable_opengl_traces_title" msgid="6790444011053219871">"УключÑнне ÑлÑдоў OpenGL"</string>
<string name="usb_audio_disable_routing" msgid="8114498436003102671">"Ðдключыць аўдыёмаршрутызацыю USB"</string>
<string name="usb_audio_disable_routing_summary" msgid="980282760277312264">"Ðдкл. аўт. перанакір. на перыфер. USB-прыл. аўдыё"</string>
- <string name="debug_layout" msgid="5981361776594526155">"Паказаць межы размÑшчÑннÑ"</string>
+ <string name="debug_layout" msgid="5981361776594526155">"Паказаць межы макета"</string>
<string name="debug_layout_summary" msgid="2001775315258637682">"Паказаць межы кліпу, палі і г. д."</string>
<string name="force_rtl_layout_all_locales" msgid="2259906643093138978">"ПрымуÑÐ¾Ð²Ð°Ñ Ñ€Ð°Ñкладка Ñправа налева"</string>
<string name="force_rtl_layout_all_locales_summary" msgid="9192797796616132534">"ПрымуÑÐ¾Ð²Ð°Ñ Ñ€Ð°Ñкладка Ñкрана Ñправа налева Ð´Ð»Ñ ÑžÑÑ–Ñ… Ñ€ÑгіÑнальных налад"</string>
@@ -236,12 +236,12 @@
<string name="force_msaa" msgid="7920323238677284387">"ПрымуÑовае выкананне 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Уключыць 4x MSAA у прыкладаннÑÑ… з OpenGL ES 2.0"</string>
<string name="show_non_rect_clip" msgid="505954950474595172">"Ðдладка аперацый непрамавугольнага кліпа"</string>
- <string name="track_frame_time" msgid="6146354853663863443">"Ðпрацоўка профілю GPU"</string>
+ <string name="track_frame_time" msgid="6146354853663863443">"Профіль Ñ€ÑндÑрынгу GPU"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Маштаб анімацыі акна"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Маштаб перадачы анімацыі"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Шкала працÑглаÑці анiматара"</string>
<string name="overlay_display_devices_title" msgid="5364176287998398539">"МадÑлÑванне другаÑных дыÑплеÑÑž"</string>
- <string name="debug_applications_category" msgid="4206913653849771549">"Прыкладаннi"</string>
+ <string name="debug_applications_category" msgid="4206913653849771549">"Праграмы"</string>
<string name="immediately_destroy_activities" msgid="1579659389568133959">"Ðе захоўваць дзеÑнні"</string>
<string name="immediately_destroy_activities_summary" msgid="3592221124808773368">"Знішч. кож.дзеÑнне, Ñк толькі карыÑÑ‚.пакідае Ñго"</string>
<string name="app_process_limit_title" msgid="4280600650253107163">"Ліміт фонавага працÑÑу"</string>
@@ -274,8 +274,8 @@
<string name="inactive_app_active_summary" msgid="4174921824958516106">"ÐктыўнаÑ. Краніце, каб пераключыць."</string>
<string name="runningservices_settings_title" msgid="8097287939865165213">"Ð—Ð°Ð¿ÑƒÑˆÑ‡Ð°Ð½Ñ‹Ñ Ñлужбы"</string>
<string name="runningservices_settings_summary" msgid="854608995821032748">"ПраглÑд запушчаных Ñлужбаў i кіраванне iмi"</string>
- <string name="enable_webview_multiprocess" msgid="3405948012467585908">"Уключыць шматпрацÑÑны WebView"</string>
- <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"ЗапуÑціць апрацоўшчыкі WebView у ізалÑваным працÑÑе."</string>
+ <string name="enable_webview_multiprocess" msgid="3352660896640797330">"ШматпрацÑÑны WebView"</string>
+ <string name="enable_webview_multiprocess_desc" msgid="2485604010404197724">"ЗапуÑціць апрацоўшчыкі WebView аÑобна"</string>
<string name="select_webview_provider_title" msgid="4628592979751918907">"РÑÐ°Ð»Ñ–Ð·Ð°Ñ†Ñ‹Ñ WebView"</string>
<string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"Ðаладзіць Ñ€Ñалізацыю WebView"</string>
<string name="select_webview_provider_toast_text" msgid="5466970498308266359">"ГÑты варыÑнт больш не даÑтупны. ПаÑпрабуйце ÑÑˆÑ‡Ñ Ñ€Ð°Ð·."</string>
@@ -323,6 +323,11 @@
<string name="enabled_by_admin" msgid="2386503803463071894">"Уключана адмініÑтратарам"</string>
<string name="disabled_by_admin" msgid="3669999613095206948">"Ðдключана адмініÑтратарам"</string>
<string name="home" msgid="3256884684164448244">"Ð“Ð°Ð»Ð¾ÑžÐ½Ð°Ñ Ñтаронка налад"</string>
+ <string-array name="battery_labels">
+ <item msgid="8494684293649631252">"0 %"</item>
+ <item msgid="8934126114226089439">"50 %"</item>
+ <item msgid="1286113608943010849">"100 %"</item>
+ </string-array>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> таму назад"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"ЗаÑталоÑÑ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="screen_zoom_summary_small" msgid="5867245310241621570">"Маленькі"</string>
diff --git a/packages/SettingsLib/res/values-bs-rBA/strings.xml b/packages/SettingsLib/res/values-bs-rBA/strings.xml
index 9589b6256139..99dd88830d02 100644
--- a/packages/SettingsLib/res/values-bs-rBA/strings.xml
+++ b/packages/SettingsLib/res/values-bs-rBA/strings.xml
@@ -91,7 +91,7 @@
<string name="tether_settings_title_bluetooth" msgid="355855408317564420">"Dijeljenje Bluetooth veze"</string>
<string name="tether_settings_title_usb_bluetooth" msgid="5355828977109785001">"Dijeljenje veze"</string>
<string name="tether_settings_title_all" msgid="8356136101061143841">"Dijeljenje internetske veze i prijenosna pristupna taÄka"</string>
- <string name="managed_user_title" msgid="8101244883654409696">"Profil za Work"</string>
+ <string name="managed_user_title" msgid="8109605045406748842">"Sve radne aplikacije"</string>
<string name="user_guest" msgid="8475274842845401871">"Gost"</string>
<string name="unknown" msgid="1592123443519355854">"Nepoznato"</string>
<string name="running_process_item_user_label" msgid="3129887865552025943">"Korisnik: <xliff:g id="USER_NAME">%1$s</xliff:g>"</string>
@@ -123,6 +123,8 @@
<string name="tts_engine_settings_button" msgid="1030512042040722285">"Pokreni postavke programa"</string>
<string name="tts_engine_preference_section_title" msgid="448294500990971413">"Željeni program"</string>
<string name="tts_general_section_title" msgid="4402572014604490502">"Opće"</string>
+ <string name="tts_reset_speech_pitch_title" msgid="5789394019544785915">"Postavite visinu glasa"</string>
+ <string name="tts_reset_speech_pitch_summary" msgid="8700539616245004418">"Visinu glasa koji izgovara tekst postavite na podrazumjevanu."</string>
<string-array name="tts_rate_entries">
<item msgid="6695494874362656215">"Veoma sporo"</item>
<item msgid="4795095314303559268">"Sporo"</item>
@@ -165,7 +167,6 @@
<string name="wifi_verbose_logging" msgid="4203729756047242344">"Omogućiti Wi-Fi Verbose zapisivanje"</string>
<string name="wifi_aggressive_handover" msgid="9194078645887480917">"Agresivni Wi-Fi u mobilnoj primopredaji"</string>
<string name="wifi_allow_scan_with_traffic" msgid="3601853081178265786">"Uvijek dopustiti Wi-Fi lutajuće skeniranje"</string>
- <string name="legacy_dhcp_client" msgid="694426978909127287">"Koristi zastareli DHCP klijent"</string>
<string name="mobile_data_always_on" msgid="7745605759775320362">"Mobilni podaci uvijek aktivni"</string>
<string name="bluetooth_disable_absolute_volume" msgid="2660673801947898809">"Onemogućite apsolutnu jaÄinu zvuka"</string>
<string name="wifi_display_certification_summary" msgid="1155182309166746973">"Pokaži opcije za certifikaciju BežiÄnog prikaza"</string>
@@ -179,7 +180,6 @@
<string name="allow_mock_location" msgid="2787962564578664888">"Dozvoli lažne lokacije"</string>
<string name="allow_mock_location_summary" msgid="317615105156345626">"Dozvoli lažne lokacije"</string>
<string name="debug_view_attributes" msgid="6485448367803310384">"Omogući pregled atributa prikaza"</string>
- <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Koristi DHCP klijent iz Lollipopa umjesto novog Android DHCP klijenta."</string>
<string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Uvijek drži mobilne podatke aktivnim, Äak i kada je Wi-Fi je aktivan (za brzo prebacivanje izmeÄ‘u mreža)."</string>
<string name="adb_warning_title" msgid="6234463310896563253">"Omogućiti USB otklanjanje grešaka?"</string>
<string name="adb_warning_message" msgid="7316799925425402244">"USB otklanjanje greÅ¡aka je namijenjeno samo u svrhe razvoja aplikacija. Koristite ga za kopiranje podataka izmeÄ‘u raÄunara i ureÄ‘aja, instaliranje aplikacija na ureÄ‘aj bez obavjeÅ¡tenja te Äitanje podataka iz zapisnika."</string>
@@ -274,8 +274,8 @@
<string name="inactive_app_active_summary" msgid="4174921824958516106">"Aktivno. Dodirnite za promjenu opcije."</string>
<string name="runningservices_settings_title" msgid="8097287939865165213">"Pokrenute usluge"</string>
<string name="runningservices_settings_summary" msgid="854608995821032748">"Prikažite trenutno pokrenute usluge i upravljajte njima"</string>
- <string name="enable_webview_multiprocess" msgid="3405948012467585908">"Omogućiti višeprocesni WebView"</string>
- <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"Pokrenite WebView operatera u izolovanom procesu."</string>
+ <string name="enable_webview_multiprocess" msgid="3352660896640797330">"Višeprocesni WebView"</string>
+ <string name="enable_webview_multiprocess_desc" msgid="2485604010404197724">"Pokreni odvojeno WebView rendere"</string>
<string name="select_webview_provider_title" msgid="4628592979751918907">"Postavljanje WebViewa"</string>
<string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"Podesi WebView"</string>
<string name="select_webview_provider_toast_text" msgid="5466970498308266359">"Ovaj izbor više ne vrijedi. Pokušajte ponovo."</string>
@@ -323,6 +323,11 @@
<string name="enabled_by_admin" msgid="2386503803463071894">"Omogućio administrator"</string>
<string name="disabled_by_admin" msgid="3669999613095206948">"Onemogućio je administrator"</string>
<string name="home" msgid="3256884684164448244">"Postavke poÄetne stranice"</string>
+ <string-array name="battery_labels">
+ <item msgid="8494684293649631252">"0%"</item>
+ <item msgid="8934126114226089439">"50%"</item>
+ <item msgid="1286113608943010849">"100%"</item>
+ </string-array>
<string name="charge_length_format" msgid="8978516217024434156">"prije <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Još otprilike <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="screen_zoom_summary_small" msgid="5867245310241621570">"Malo"</string>
diff --git a/packages/SettingsLib/res/values-gl-rES/arrays.xml b/packages/SettingsLib/res/values-gl-rES/arrays.xml
index 8c2ed064b9b3..b9a2f85b7355 100644
--- a/packages/SettingsLib/res/values-gl-rES/arrays.xml
+++ b/packages/SettingsLib/res/values-gl-rES/arrays.xml
@@ -115,10 +115,10 @@
<item msgid="3414540279805870511">"720 p (seguro)"</item>
<item msgid="9039818062847141551">"1080 p"</item>
<item msgid="4939496949750174834">"1080 p (seguro)"</item>
- <item msgid="1833612718524903568">"4 K"</item>
- <item msgid="238303513127879234">"4 K (seguro)"</item>
- <item msgid="3547211260846843098">"4 K (mellorado)"</item>
- <item msgid="5411365648951414254">"4 K (mellorado e seguro)"</item>
+ <item msgid="1833612718524903568">"4K"</item>
+ <item msgid="238303513127879234">"4K (seguro)"</item>
+ <item msgid="3547211260846843098">"4K (mellorado)"</item>
+ <item msgid="5411365648951414254">"4K (mellorado e seguro)"</item>
<item msgid="1311305077526792901">"720 p, 1080 p (pantalla dual)"</item>
</string-array>
<string-array name="enable_opengl_traces_entries">
diff --git a/packages/SettingsLib/res/values-my-rMM/arrays.xml b/packages/SettingsLib/res/values-my-rMM/arrays.xml
index ad3a59fadee8..be67cdbec1a3 100644
--- a/packages/SettingsLib/res/values-my-rMM/arrays.xml
+++ b/packages/SettingsLib/res/values-my-rMM/arrays.xml
@@ -49,12 +49,12 @@
<item msgid="1805837518286731242">"နှေးကွေးသောဆက်သွယ်မှုကို ယာယီရှောင်ရှားထားသည်"</item>
</string-array>
<string-array name="hdcp_checking_titles">
- <item msgid="441827799230089869">"မည်သည့်အá€á€«á€™á€¾ မစစ်ဆေးပါနှင့်"</item>
+ <item msgid="441827799230089869">"ဘယ်á€á€±á€¬á€·á€™á€¾ မစစ်ဆေးပါနှင့်"</item>
<item msgid="6042769699089883931">"DRMအကြောင်းအရာကိုသာ စစ်ဆေးမည်"</item>
<item msgid="9174900380056846820">"အမြဲစစ်ဆေးရန်"</item>
</string-array>
<string-array name="hdcp_checking_summaries">
- <item msgid="505558545611516707">"HDCP checkingအားမည်သည့်အá€á€«á€™á€»á€¾á€™á€žá€¯á€¶á€¸á€•ါနှင့်"</item>
+ <item msgid="505558545611516707">"HDCP checking အား ဘယ်á€á€±á€¬á€·á€™á€¾ မသုံးပါနှင့်"</item>
<item msgid="3878793616631049349">"DRMအကြောင်းအရာအá€á€½á€€á€º HDCPစစ်ဆေးá€á€¼á€„်းကိုသုံးမည်"</item>
<item msgid="45075631231212732">"HDCP checkingအားအမြဲသုံးပါ"</item>
</string-array>
diff --git a/packages/SettingsLib/res/values-pa-rIN/arrays.xml b/packages/SettingsLib/res/values-pa-rIN/arrays.xml
index fd7eb674c1fe..42cc9f2df8a8 100644
--- a/packages/SettingsLib/res/values-pa-rIN/arrays.xml
+++ b/packages/SettingsLib/res/values-pa-rIN/arrays.xml
@@ -22,7 +22,7 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string-array name="wifi_status">
<item msgid="1922181315419294640"></item>
- <item msgid="8934131797783724664">"ਸਕੈਨ ਕਰ ਰਿਹਾ ਹੈ..."</item>
+ <item msgid="8934131797783724664">"ਸਕੈਨ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ..."</item>
<item msgid="8513729475867537913">"ਕਨੈਕਟ ਕਰ ਰਿਹਾ ਹੈ…"</item>
<item msgid="515055375277271756">"ਪà©à¨°à¨®à¨¾à¨£à¨¿à¨¤ ਕਰ ਰਿਹਾ ਹੈ…"</item>
<item msgid="1943354004029184381">"IP ਪਤਾ ਪà©à¨°à¨¾à¨ªà¨¤ ਕਰ ਰਿਹਾ ਹੈ..."</item>
@@ -36,7 +36,7 @@
</string-array>
<string-array name="wifi_status_with_ssid">
<item msgid="7714855332363650812"></item>
- <item msgid="8878186979715711006">"ਸਕੈਨ ਕਰ ਰਿਹਾ ਹੈ..."</item>
+ <item msgid="8878186979715711006">"ਸਕੈਨ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ..."</item>
<item msgid="355508996603873860">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> ਨਾਲ ਕਨੈਕਟ ਕਰ ਰਿਹਾ ਹੈ…"</item>
<item msgid="554971459996405634">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> ਨਾਲ ਪà©à¨°à¨®à¨¾à¨£à¨¿à¨¤ ਕਰ ਰਿਹਾ ਹੈ…"</item>
<item msgid="7928343808033020343">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> ਤੋਂ IP ਪਤਾ ਪà©à¨°à¨¾à¨ªà¨¤ ਕਰ ਰਿਹਾ ਹੈ…"</item>
diff --git a/packages/SettingsLib/res/values-uz-rUZ/strings.xml b/packages/SettingsLib/res/values-uz-rUZ/strings.xml
index 35e3e88fda4e..caf61e4644b6 100644
--- a/packages/SettingsLib/res/values-uz-rUZ/strings.xml
+++ b/packages/SettingsLib/res/values-uz-rUZ/strings.xml
@@ -75,7 +75,7 @@
<string name="bluetooth_pairing_will_share_phonebook" msgid="4982239145676394429">"Agar ulanishga ruxsat bersangiz, ulangan vaqtda kontakt va qo‘ng‘iroqlaringiz tarixiga kirishi mumkin."</string>
<string name="bluetooth_pairing_error_message" msgid="3748157733635947087">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> bilan biriktirib bo‘lmadi."</string>
<string name="bluetooth_pairing_pin_error_message" msgid="8337234855188925274">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> qurilmasiga ulanib bo‘lmadi, chunki PIN-kod yoki parol noto‘g‘ri kiritildi."</string>
- <string name="bluetooth_pairing_device_down_error_message" msgid="7870998403045801381">"Quyidagi qurilma javob bermayapti: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
+ <string name="bluetooth_pairing_device_down_error_message" msgid="7870998403045801381">"“<xliff:g id="DEVICE_NAME">%1$s</xliff:g>†qurilmasi bilan aloqa o‘rnatib bo‘lmayapti."</string>
<string name="bluetooth_pairing_rejected_error_message" msgid="1648157108520832454">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> biriktirish so‘rovini rad qildi."</string>
<string name="accessibility_wifi_off" msgid="1166761729660614716">"Wi-Fi o‘chiq."</string>
<string name="accessibility_no_wifi" msgid="8834610636137374508">"Wi-Fi o‘chiq."</string>
diff --git a/packages/SettingsLib/res/values/arrays.xml b/packages/SettingsLib/res/values/arrays.xml
index 525d6f421d71..920e061b3771 100644
--- a/packages/SettingsLib/res/values/arrays.xml
+++ b/packages/SettingsLib/res/values/arrays.xml
@@ -138,6 +138,30 @@
<item>16M per log buffer</item>
</string-array>
+ <!-- Values for logpersist state selection preference. -->
+ <string-array name="select_logpersist_values" translatable="false" >
+ <item></item>
+ <item>all</item>
+ <item>default,security,kernel</item>
+ <item>kernel</item>
+ </string-array>
+
+ <!-- Titles for logpersist state selection preference. [CHAR LIMIT=14] -->
+ <string-array name="select_logpersist_titles">
+ <item>Off</item>
+ <item>All</item>
+ <item>All but radio</item>
+ <item>kernel only</item>
+ </string-array>
+
+ <!-- Summaries for logpersist state selection preference. [CHAR LIMIT=50]-->
+ <string-array name="select_logpersist_summaries" >
+ <item>Off</item>
+ <item>All log buffers</item>
+ <item>All but radio log buffers</item>
+ <item>kernel log buffer only</item>
+ </string-array>
+
<!-- Titles for window animation scale preference. [CHAR LIMIT=35] -->
<string-array name="window_animation_scale_entries">
<item>Animation off</item>
@@ -362,4 +386,12 @@
<item>3</item>
</string-array>
+ <!-- IDs for each color mode. The values must match the corresponding constants in
+ android.view.Display -->
+ <integer-array name="color_mode_ids">
+ <item>0</item>
+ <item>-1</item>
+ <item>7</item>
+ </integer-array>
+
</resources>
diff --git a/packages/SettingsLib/res/values/strings.xml b/packages/SettingsLib/res/values/strings.xml
index 97121e9d6f6f..7d42211be5e5 100644
--- a/packages/SettingsLib/res/values/strings.xml
+++ b/packages/SettingsLib/res/values/strings.xml
@@ -438,6 +438,14 @@
<string name="select_logd_size_title">Logger buffer sizes</string>
<!-- UI debug setting: limit size of Android logger buffers [CHAR LIMIT=59] -->
<string name="select_logd_size_dialog_title">Select Logger sizes per log buffer</string>
+ <!-- UI debug setting: store logs persistently -->
+ <string name="dev_logpersist_clear_warning_title">Clear logger persistent storage?</string>
+ <!-- Warning text to user about the implications of enabling USB debugging -->
+ <string name="dev_logpersist_clear_warning_message">When we no longer are monitoring with the persistent logger, we are required to erase the logger data resident on your device.</string>
+ <!-- Title of checkbox setting to perform package verification on apps installed over USB/ADT/ADB [CHAR LIMIT=32] -->
+ <string name="select_logpersist_title">Store logger data persistently on device</string>
+ <!-- UI debug setting: select which logs to store persistently [CHAR LIMIT=80] -->
+ <string name="select_logpersist_dialog_title">Select log buffers to store persistently on device</string>
<!-- UI debug setting: select USB configuration -->
<string name="select_usb_configuration_title">Select USB Configuration</string>
<!-- UI debug setting: limit size of Android logger buffers [CHAR LIMIT=59] -->
diff --git a/packages/SettingsLib/src/com/android/settingslib/HelpUtils.java b/packages/SettingsLib/src/com/android/settingslib/HelpUtils.java
index 579116852cf3..21116b89e73b 100644
--- a/packages/SettingsLib/src/com/android/settingslib/HelpUtils.java
+++ b/packages/SettingsLib/src/com/android/settingslib/HelpUtils.java
@@ -26,6 +26,7 @@ import android.content.pm.PackageManager.NameNotFoundException;
import android.content.res.Resources.Theme;
import android.content.res.TypedArray;
import android.net.Uri;
+import android.provider.Settings.Global;
import android.text.TextUtils;
import android.util.Log;
import android.util.TypedValue;
@@ -92,6 +93,9 @@ public class HelpUtils {
*/
public static boolean prepareHelpMenuItem(final Activity activity, MenuItem helpMenuItem,
String helpUriString, String backupContext) {
+ if (Global.getInt(activity.getContentResolver(), Global.DEVICE_PROVISIONED, 0) == 0) {
+ return false;
+ }
if (TextUtils.isEmpty(helpUriString)) {
// The help url string is empty or null, so set the help menu item to be invisible.
helpMenuItem.setVisible(false);
@@ -129,6 +133,9 @@ public class HelpUtils {
public static Intent getHelpIntent(Context context, String helpUriString,
String backupContext) {
+ if (Global.getInt(context.getContentResolver(), Global.DEVICE_PROVISIONED, 0) == 0) {
+ return null;
+ }
// Try to handle as Intent Uri, otherwise just treat as Uri.
try {
Intent intent = Intent.parseUri(helpUriString,
diff --git a/packages/SettingsLib/src/com/android/settingslib/TetherUtil.java b/packages/SettingsLib/src/com/android/settingslib/TetherUtil.java
index d368de93e263..151e0eafd96d 100644
--- a/packages/SettingsLib/src/com/android/settingslib/TetherUtil.java
+++ b/packages/SettingsLib/src/com/android/settingslib/TetherUtil.java
@@ -16,18 +16,11 @@
package com.android.settingslib;
import android.content.Context;
-import android.net.wifi.WifiManager;
import android.os.SystemProperties;
import android.telephony.CarrierConfigManager;
public class TetherUtil {
- public static boolean setWifiTethering(boolean enable, Context context) {
- final WifiManager wifiManager =
- (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
- return wifiManager.setWifiApEnabled(null, enable);
- }
-
private static boolean isEntitlementCheckRequired(Context context) {
final CarrierConfigManager configManager = (CarrierConfigManager) context
.getSystemService(Context.CARRIER_CONFIG_SERVICE);
diff --git a/packages/SettingsLib/src/com/android/settingslib/drawer/TileUtils.java b/packages/SettingsLib/src/com/android/settingslib/drawer/TileUtils.java
index b9c758cbbc59..e70cc29a7744 100644
--- a/packages/SettingsLib/src/com/android/settingslib/drawer/TileUtils.java
+++ b/packages/SettingsLib/src/com/android/settingslib/drawer/TileUtils.java
@@ -27,6 +27,7 @@ import android.graphics.drawable.Icon;
import android.os.Bundle;
import android.os.UserHandle;
import android.os.UserManager;
+import android.provider.Settings.Global;
import android.text.TextUtils;
import android.util.Log;
import android.util.Pair;
@@ -115,6 +116,8 @@ public class TileUtils {
public static List<DashboardCategory> getCategories(Context context,
HashMap<Pair<String, String>, Tile> cache) {
final long startTime = System.currentTimeMillis();
+ boolean setup = Global.getInt(context.getContentResolver(), Global.DEVICE_PROVISIONED, 0)
+ != 0;
ArrayList<Tile> tiles = new ArrayList<>();
UserManager userManager = UserManager.get(context);
for (UserHandle user : userManager.getUserProfiles()) {
@@ -127,7 +130,9 @@ public class TileUtils {
getTilesForAction(context, user, MANUFACTURER_SETTINGS, cache,
MANUFACTURER_DEFAULT_CATEGORY, tiles, false);
}
- getTilesForAction(context, user, EXTRA_SETTINGS_ACTION, cache, null, tiles, false);
+ if (setup) {
+ getTilesForAction(context, user, EXTRA_SETTINGS_ACTION, cache, null, tiles, false);
+ }
}
HashMap<String, DashboardCategory> categoryMap = new HashMap<>();
for (Tile tile : tiles) {
diff --git a/packages/SettingsProvider/res/values-be-rBY/strings.xml b/packages/SettingsProvider/res/values-be-rBY/strings.xml
index c164ac7b22d8..3a8557ce9a32 100644
--- a/packages/SettingsProvider/res/values-be-rBY/strings.xml
+++ b/packages/SettingsProvider/res/values-be-rBY/strings.xml
@@ -19,5 +19,5 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="4567566098528588863">"Захоўванне налад"</string>
+ <string name="app_label" msgid="4567566098528588863">"Сховішча налад"</string>
</resources>
diff --git a/packages/Shell/AndroidManifest.xml b/packages/Shell/AndroidManifest.xml
index 2efefb3bc1aa..f1789ea03682 100644
--- a/packages/Shell/AndroidManifest.xml
+++ b/packages/Shell/AndroidManifest.xml
@@ -142,7 +142,7 @@
<activity
android:name=".BugreportWarningActivity"
- android:theme="@android:style/Theme.Material.Light.Dialog.Alert"
+ android:theme="@android:style/Theme.DeviceDefault.Light.Dialog.Alert"
android:finishOnCloseSystemDialogs="true"
android:excludeFromRecents="true"
android:exported="false" />
diff --git a/packages/Shell/res/values-af/strings.xml b/packages/Shell/res/values-af/strings.xml
index 51679f750038..78bb62a2337f 100644
--- a/packages/Shell/res/values-af/strings.xml
+++ b/packages/Shell/res/values-af/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Foutverslag <xliff:g id="ID">#%d</xliff:g> is vasgevang"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Voeg tans besonderhede by die foutverslag"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Wag asseblief …"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Swiep na links om jou foutverslag te deel"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Tik om jou foutverslag te deel"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Tik om jou foutverslag sonder \'n skermkiekie te deel, of wag totdat die skermkiekie gereed is"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Tik om jou foutverslag sonder \'n skermkiekie te deel, of wag totdat die skermkiekie gereed is"</string>
diff --git a/packages/Shell/res/values-am/strings.xml b/packages/Shell/res/values-am/strings.xml
index f04e882f4609..822478beba01 100644
--- a/packages/Shell/res/values-am/strings.xml
+++ b/packages/Shell/res/values-am/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"የሳንካ ሪá–ርት <xliff:g id="ID">#%d</xliff:g> ተወስዷáˆ"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"á‹áˆ­á‹áˆ®á‰½áŠ• ወደ የሳንካ ሪá–ርቱ በማከሠላይ"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"እባክዎ ይጠብá‰â€¦"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"የሳንካ ሪá–ርትዎን ለማጋራት ወደ áŒáˆ« ያንሸራትቱ"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"የሳንካ ሪá–ርትዎን ለማጋራት መታ ያድርጉ"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"የእርስዎን የሳንካ ሪá–ርት ያለ ቅጽበታዊ ማያ ገጽ ለማጋራት መታ ያድርጉ ወይሠቅጽበታዊ ማያ ገጹ እስኪጨርስ ይጠብá‰"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"የእርስዎን የሳንካ ሪá–ርት ያለ ቅጽበታዊ ማያ ገጽ ለማጋራት መታ ያድርጉ ወይሠቅጽበታዊ ማያ ገጹ እስኪጨርስ ይጠብá‰"</string>
diff --git a/packages/Shell/res/values-ar/strings.xml b/packages/Shell/res/values-ar/strings.xml
index 37516a1c8a4e..8512b02ce6d1 100644
--- a/packages/Shell/res/values-ar/strings.xml
+++ b/packages/Shell/res/values-ar/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"تم تسجيل تقرير الخطأ <xliff:g id="ID">#%d</xliff:g>."</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Ø¥Ø¶Ø§ÙØ© ØªÙØ§ØµÙŠÙ„ إلى تقرير الخطأ"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"الرجاء الانتظار…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"مرر بسرعة لليمين لمشاركة تقرير الخطأ"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"انقر لمشاركة تقرير الخطأ."</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"انقر لمشاركة تقرير الأخطاء بدون لقطة شاشة أو انتظر حتى انتهاء لقطة الشاشة"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"انقر لمشاركة تقرير الأخطاء بدون لقطة شاشة أو انتظر حتى انتهاء لقطة الشاشة"</string>
diff --git a/packages/Shell/res/values-az-rAZ/strings.xml b/packages/Shell/res/values-az-rAZ/strings.xml
index 303467bf62e6..5d70cc344808 100644
--- a/packages/Shell/res/values-az-rAZ/strings.xml
+++ b/packages/Shell/res/values-az-rAZ/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Baq hesabatı <xliff:g id="ID">#%d</xliff:g> alındı"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Detallar baq hesabatına əlavə olunur"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Lütfən, gözləyin..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Baq raportunu paylaşmaq üçün sola sürüşdürün"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Baq hesabatınızı paylaşmaq üçün tıklayın"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"baq hesabatınızı skrinşot olmadan paylaşmaq üçün tıklayın, skrinşotun tamamlanması üçün isə gözləyin"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"baq hesabatınızı skrinşot olmadan paylaşmaq üçün tıklayın, skrinşotun tamamlanması üçün isə gözləyin"</string>
diff --git a/packages/Shell/res/values-b+sr+Latn/strings.xml b/packages/Shell/res/values-b+sr+Latn/strings.xml
index fe80c220d724..e75119a89a28 100644
--- a/packages/Shell/res/values-b+sr+Latn/strings.xml
+++ b/packages/Shell/res/values-b+sr+Latn/strings.xml
@@ -21,16 +21,16 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Izveštaj o grešci <xliff:g id="ID">#%d</xliff:g> je snimljen"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Dodaju se detalji u izveštaj o grešci"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"SaÄekajte..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Prevucite ulevo da biste delili izveštaj o greškama"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Dodirnite da biste delili izveštaj o grešci"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Dodirnite za deljenje izveÅ¡taja o greÅ¡ci bez snimka ekrana ili saÄekajte da se napravi snimak ekrana"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Dodirnite za deljenje izveÅ¡taja o greÅ¡ci bez snimka ekrana ili saÄekajte da se napravi snimak ekrana"</string>
- <!-- no translation found for bugreport_confirm (5917407234515812495) -->
- <skip />
- <!-- no translation found for bugreport_confirm_dont_repeat (6179945398364357318) -->
- <skip />
+ <string name="bugreport_confirm" msgid="5917407234515812495">"IzveÅ¡taji o greÅ¡kama sadrže podatke iz razliÄitih sistemskih datoteka evidencije, koji obuhvataju liÄne i privatne podatke (poput korišćenja aplikacija i podataka o lokaciji). Delite izveÅ¡taje o greÅ¡kama samo sa aplikacijama i ljudima u koje imate poverenja."</string>
+ <string name="bugreport_confirm_dont_repeat" msgid="6179945398364357318">"Ne prikazuj ponovo"</string>
<string name="bugreport_storage_title" msgid="5332488144740527109">"Izveštaji o greškama"</string>
<string name="bugreport_unreadable_text" msgid="586517851044535486">"Datoteka izveÅ¡taja o greÅ¡ci ne može da se proÄita"</string>
+ <string name="bugreport_add_details_to_zip_failed" msgid="1302931926486712371">"Dodavanje detalja izveštaja o grešci u zip datoteku nije uspelo"</string>
<string name="bugreport_unnamed" msgid="2800582406842092709">"neimenovano"</string>
<string name="bugreport_info_action" msgid="2158204228510576227">"Detalji"</string>
<string name="bugreport_screenshot_action" msgid="8677781721940614995">"Snimci ekrana"</string>
diff --git a/packages/Shell/res/values-be-rBY/strings.xml b/packages/Shell/res/values-be-rBY/strings.xml
index fc5a3b266645..f480a677658d 100644
--- a/packages/Shell/res/values-be-rBY/strings.xml
+++ b/packages/Shell/res/values-be-rBY/strings.xml
@@ -21,16 +21,16 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Справаздача <xliff:g id="ID">#%d</xliff:g> пра памылку зафікÑавана"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Дадаванне падрабÑзнаÑцей да Ñправаздачы пра памылкі"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Калі лаÑка, пачакайце..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"ПравÑдзіце пальцам налева, каб абагуліць Ñваю Ñправаздачу пра памылку"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"ДакраніцеÑÑ, каб абагуліць Ñваю Ñправаздачу пра памылку"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Краніце, каб абагуліць Ñправаздачу пра памылку без здымка Ñкрана, або чакайце Ð°Ñ‚Ñ€Ñ‹Ð¼Ð°Ð½Ð½Ñ Ð·Ð´Ñ‹Ð¼ÐºÐ°."</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Краніце, каб абагуліць Ñправаздачу пра памылку без здымка Ñкрана, або чакайце Ð°Ñ‚Ñ€Ñ‹Ð¼Ð°Ð½Ð½Ñ Ð·Ð´Ñ‹Ð¼ÐºÐ°."</string>
- <!-- no translation found for bugreport_confirm (5917407234515812495) -->
- <skip />
- <!-- no translation found for bugreport_confirm_dont_repeat (6179945398364357318) -->
- <skip />
+ <string name="bugreport_confirm" msgid="5917407234515812495">"Справаздачы пра памылкі ўтрымліваюць Ð´Ð°Ð½Ñ‹Ñ Ð· розных файлаў журналаў ÑÑ–ÑÑ‚Ñмы, ÑÐºÑ–Ñ Ð¼Ð¾Ð³ÑƒÑ†ÑŒ уключаць даныÑ, што вы лічыце канфідÑнцыÑльнымі (напрыклад, пра выкарыÑтанне праграм Ñ– Ð´Ð°Ð½Ñ‹Ñ Ð°Ð± меÑцазнаходжанні). Ðбагульвайце Ñправаздачы пра памылкі толькі з тымі людзьмі Ñ– праграмамі, Ñкім вы давÑраеце."</string>
+ <string name="bugreport_confirm_dont_repeat" msgid="6179945398364357318">"Ðе паказваць зноў"</string>
<string name="bugreport_storage_title" msgid="5332488144740527109">"Справадзачы пра памылкі"</string>
<string name="bugreport_unreadable_text" msgid="586517851044535486">"Ðемагчыма прачытаць файл Ñправаздачы пра памылкі"</string>
+ <string name="bugreport_add_details_to_zip_failed" msgid="1302931926486712371">"Ðе атрымалаÑÑ Ð´Ð°Ð´Ð°Ñ†ÑŒ падрабÑзную інфармацыю Ñправаздачы пра памылку Ñž файл архіва"</string>
<string name="bugreport_unnamed" msgid="2800582406842092709">"без назвы"</string>
<string name="bugreport_info_action" msgid="2158204228510576227">"ПадрабÑзнаÑці"</string>
<string name="bugreport_screenshot_action" msgid="8677781721940614995">"Здымак Ñкрана"</string>
diff --git a/packages/Shell/res/values-bg/strings.xml b/packages/Shell/res/values-bg/strings.xml
index 0787900a86ab..8033d56ce56d 100644
--- a/packages/Shell/res/values-bg/strings.xml
+++ b/packages/Shell/res/values-bg/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Сигналът за програмна грешка „<xliff:g id="ID">#%d</xliff:g>“ е заÑнет"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"ПодробноÑтите Ñе добавÑÑ‚ към Ñигнала за пр. грешка"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"МолÑ, изчакайте…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Прекарайте пръÑÑ‚ налÑво, за да Ñподелите Ñигнала Ñи за програмна грешка"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"ДокоÑнете, за да Ñподелите Ñигнала Ñи за програмна грешка"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"ДокоÑнете, за да Ñподелите Ñигнала за прогр. грешка без екранна Ñнимка, или изчакайте завършването й"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"ДокоÑнете, за да Ñподелите Ñигнала за прогр. грешка без екранна Ñнимка, или изчакайте завършването й"</string>
diff --git a/packages/Shell/res/values-bn-rBD/strings.xml b/packages/Shell/res/values-bn-rBD/strings.xml
index a51950a712fd..a50ae35b2704 100644
--- a/packages/Shell/res/values-bn-rBD/strings.xml
+++ b/packages/Shell/res/values-bn-rBD/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"তà§à¦°à§à¦Ÿà¦¿à¦° পà§à¦°à¦¤à¦¿à¦¬à§‡à¦¦à¦¨ <xliff:g id="ID">#%d</xliff:g> কà§à¦¯à¦¾à¦ªà¦šà¦¾à¦° করা হয়েছে"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"তà§à¦°à§à¦Ÿà¦¿à¦° পà§à¦°à¦¤à¦¿à¦¬à§‡à¦¦à¦¨à§‡ বিশদ বিবরণ যোগ করা হচà§à¦›à§‡"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"অনà§à¦—à§à¦°à¦¹ করে অপেকà§à¦·à¦¾ করà§à¦¨..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"আপনার বাগ রিপোরà§à¦Ÿ শেয়ার করতে বামে সোয়াইপ করà§à¦¨"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"আপনার তà§à¦°à§à¦Ÿà¦¿à¦° পà§à¦°à¦¤à¦¿à¦¬à§‡à¦¦à¦¨ শেয়ার করতে আলতো চাপ দিন"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"কোনো সà§à¦•à§à¦°à§€à¦¨à¦¶à¦Ÿ ছাড়াই তà§à¦°à§à¦Ÿà¦¿à¦° পà§à¦°à¦¤à¦¿à¦¬à§‡à¦¦à¦¨ শেয়ার করতে আলতো চাপ দিন বা সমà§à¦ªà¦¨à§à¦¨ করতে সà§à¦•à§à¦°à§€à¦¨à¦¶à¦Ÿà§‡à¦° জনà§à¦¯ অপেকà§à¦·à¦¾ করà§à¦¨"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"কোনো সà§à¦•à§à¦°à§€à¦¨à¦¶à¦Ÿ ছাড়াই তà§à¦°à§à¦Ÿà¦¿à¦° পà§à¦°à¦¤à¦¿à¦¬à§‡à¦¦à¦¨ শেয়ার করতে আলতো চাপ দিন বা সমà§à¦ªà¦¨à§à¦¨ করতে সà§à¦•à§à¦°à§€à¦¨à¦¶à¦Ÿà§‡à¦° জনà§à¦¯ অপেকà§à¦·à¦¾ করà§à¦¨"</string>
diff --git a/packages/Shell/res/values-bs-rBA/strings.xml b/packages/Shell/res/values-bs-rBA/strings.xml
index c37b4ee6d514..983c26c6818a 100644
--- a/packages/Shell/res/values-bs-rBA/strings.xml
+++ b/packages/Shell/res/values-bs-rBA/strings.xml
@@ -21,16 +21,16 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Izvještaj o grešci <xliff:g id="ID">#%d</xliff:g> je snimljen"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Dodavanje detalja u izvještaj o greškama"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"PriÄekajte..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Prevucite lijevo da podijelite izvještaj o greškama"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Dodirnite da biste podijelili izvještaj o grešci"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Dodirnite da podijelite izveÅ¡taj o greÅ¡kama bez snimka ekrana ili saÄekajte da snimak bude gotov"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Dodirnite da podijelite izveÅ¡taj o greÅ¡kama bez snimka ekrana ili saÄekajte da snimak bude gotov"</string>
- <!-- no translation found for bugreport_confirm (5917407234515812495) -->
- <skip />
- <!-- no translation found for bugreport_confirm_dont_repeat (6179945398364357318) -->
- <skip />
+ <string name="bugreport_confirm" msgid="5917407234515812495">"IzvjeÅ¡taji o greÅ¡kama sadrže podatke iz raznih zapisnika sistema koji mogu sadržavati liÄne i privatne informacije koje smatrate osjetljivima (poput podataka o upotrebi aplikacije ili podataka o lokaciji). IzvjeÅ¡taje o greÅ¡kama dijelite samo sa aplikacijama i osobama kojima vjerujete."</string>
+ <string name="bugreport_confirm_dont_repeat" msgid="6179945398364357318">"Ne prikazuj opet"</string>
<string name="bugreport_storage_title" msgid="5332488144740527109">"Izvještaji o greškama"</string>
<string name="bugreport_unreadable_text" msgid="586517851044535486">"Nije moguće proÄitati izvjeÅ¡taj o greÅ¡ci"</string>
+ <string name="bugreport_add_details_to_zip_failed" msgid="1302931926486712371">"Dodavanje izvještaja o greškama u zip datoteku nije uspjelo"</string>
<string name="bugreport_unnamed" msgid="2800582406842092709">"neimenovano"</string>
<string name="bugreport_info_action" msgid="2158204228510576227">"Detalji"</string>
<string name="bugreport_screenshot_action" msgid="8677781721940614995">"Snimak ekrana"</string>
diff --git a/packages/Shell/res/values-ca/strings.xml b/packages/Shell/res/values-ca/strings.xml
index f8ed8133a48b..3e18bfac5927 100644
--- a/packages/Shell/res/values-ca/strings.xml
+++ b/packages/Shell/res/values-ca/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"S\'ha capturat l\'informe d\'errors <xliff:g id="ID">#%d</xliff:g>"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"S\'estan afegint detalls a l\'informe d\'errors"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Espera…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Llisca cap a l\'esquerra per compartir l\'informe d\'errors."</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Toca per compartir l\'informe d\'errors"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Toca per compartir l\'informe d\'errors sense captura de pantalla o espera que es creï la captura"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Toca per compartir l\'informe d\'errors sense captura de pantalla o espera que es creï la captura"</string>
diff --git a/packages/Shell/res/values-cs/strings.xml b/packages/Shell/res/values-cs/strings.xml
index 4e41b79b56d1..e83b7e2e4939 100644
--- a/packages/Shell/res/values-cs/strings.xml
+++ b/packages/Shell/res/values-cs/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Zpráva o chybě <xliff:g id="ID">#%d</xliff:g> byla vytvořena"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Přidávání podrobností do zprávy o chybě"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Čekejte prosím…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Chcete-li hlášení chyby sdílet, pÅ™ejeÄte doleva."</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Zprávu o chybě můžete sdílet klepnutím"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Klepnutím můžete zprávu o chybÄ› sdílet bez snímku obrazovky, nebo vyÄkejte, než se snímek pÅ™ipraví"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Klepnutím můžete zprávu o chybÄ› sdílet bez snímku obrazovky, nebo vyÄkejte, než se snímek pÅ™ipraví"</string>
diff --git a/packages/Shell/res/values-da/strings.xml b/packages/Shell/res/values-da/strings.xml
index 19e800bf82a5..50c42c54acad 100644
--- a/packages/Shell/res/values-da/strings.xml
+++ b/packages/Shell/res/values-da/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Fejrapporten <xliff:g id="ID">#%d</xliff:g> blev gemt"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Tilføjelse af oplysninger til fejlrapporten"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Vent et øjeblik…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Stryg til venstre for at dele din fejlrapport"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Tryk for at dele din fejlrapport"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Tryk for at dele din fejlrapport uden et skærmbillede, eller vent på, at skærmbilledet fuldføres"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Tryk for at dele din fejlrapport uden et skærmbillede, eller vent på, at skærmbilledet fuldføres"</string>
diff --git a/packages/Shell/res/values-de/strings.xml b/packages/Shell/res/values-de/strings.xml
index 023582408c88..252f4e582a30 100644
--- a/packages/Shell/res/values-de/strings.xml
+++ b/packages/Shell/res/values-de/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Fehlerbericht <xliff:g id="ID">#%d</xliff:g> erfasst"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Informationen werden zum Fehlerbericht hinzugefügt"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Bitte warten…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Wische nach links, um deinen Fehlerbericht zu teilen."</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Zum Teilen des Fehlerberichts tippen"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Tippe, um den Fehlerbericht ohne Screenshot zu teilen, oder warte auf den Screenshot"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Tippe, um den Fehlerbericht ohne Screenshot zu teilen, oder warte auf den Screenshot"</string>
diff --git a/packages/Shell/res/values-el/strings.xml b/packages/Shell/res/values-el/strings.xml
index 4bed10c74e9b..5855d14fff6d 100644
--- a/packages/Shell/res/values-el/strings.xml
+++ b/packages/Shell/res/values-el/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Έγινε λήψη της αναφοÏάς σφάλματος <xliff:g id="ID">#%d</xliff:g>"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"ΠÏοσθήκη λεπτομεÏειών στην αναφοÏά σφάλματος"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"ΠεÏιμένετε…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"ΣÏÏετε Ï€Ïος τα αÏιστεÏά για κοινή χÏήση της αναφοÏάς σφαλμάτων"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Πατήστε για κοινή χÏήση της αναφοÏάς σφάλματος"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Πατήστε για κοινοποίηση της αναφοÏάς σφάλματος χωÏίς στιγμιότυπο οθόνης ή πεÏιμένετε να ολοκληÏωθεί"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Πατήστε για κοινοποίηση της αναφοÏάς σφάλματος χωÏίς στιγμιότυπο οθόνης ή πεÏιμένετε να ολοκληÏωθεί"</string>
diff --git a/packages/Shell/res/values-en-rAU/strings.xml b/packages/Shell/res/values-en-rAU/strings.xml
index 15b587b65764..3fcf9ecd9c36 100644
--- a/packages/Shell/res/values-en-rAU/strings.xml
+++ b/packages/Shell/res/values-en-rAU/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Bug report <xliff:g id="ID">#%d</xliff:g> captured"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Adding details to the bug report"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Please wait…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Swipe left to share your bug report"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Tap to share your bug report"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Tap to share your bug report without a screenshot or wait for the screenshot to finish"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Tap to share your bug report without a screenshot or wait for the screenshot to finish"</string>
diff --git a/packages/Shell/res/values-en-rGB/strings.xml b/packages/Shell/res/values-en-rGB/strings.xml
index 15b587b65764..3fcf9ecd9c36 100644
--- a/packages/Shell/res/values-en-rGB/strings.xml
+++ b/packages/Shell/res/values-en-rGB/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Bug report <xliff:g id="ID">#%d</xliff:g> captured"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Adding details to the bug report"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Please wait…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Swipe left to share your bug report"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Tap to share your bug report"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Tap to share your bug report without a screenshot or wait for the screenshot to finish"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Tap to share your bug report without a screenshot or wait for the screenshot to finish"</string>
diff --git a/packages/Shell/res/values-en-rIN/strings.xml b/packages/Shell/res/values-en-rIN/strings.xml
index 15b587b65764..3fcf9ecd9c36 100644
--- a/packages/Shell/res/values-en-rIN/strings.xml
+++ b/packages/Shell/res/values-en-rIN/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Bug report <xliff:g id="ID">#%d</xliff:g> captured"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Adding details to the bug report"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Please wait…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Swipe left to share your bug report"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Tap to share your bug report"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Tap to share your bug report without a screenshot or wait for the screenshot to finish"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Tap to share your bug report without a screenshot or wait for the screenshot to finish"</string>
diff --git a/packages/Shell/res/values-es-rUS/strings.xml b/packages/Shell/res/values-es-rUS/strings.xml
index b7398dbb1546..8ebd385f6e3e 100644
--- a/packages/Shell/res/values-es-rUS/strings.xml
+++ b/packages/Shell/res/values-es-rUS/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Se capturó el informe de errores <xliff:g id="ID">#%d</xliff:g>"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Agregando detalles al informe de errores"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Espera…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Desliza el dedo hacia la izquierda para compartir el informe de errores."</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Toca para compartir el informe de errores"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Toca para compartir tu informe de errores sin una captura de pantalla o espera a que finalice"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Toca para compartir tu informe de errores sin una captura de pantalla o espera a que finalice"</string>
diff --git a/packages/Shell/res/values-es/strings.xml b/packages/Shell/res/values-es/strings.xml
index 81d8078aa424..142c6fae279e 100644
--- a/packages/Shell/res/values-es/strings.xml
+++ b/packages/Shell/res/values-es/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Informe de errores <xliff:g id="ID">#%d</xliff:g> capturado"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Añadiendo detalles al informe de errores"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Espera…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Desliza el dedo hacia la izquierda para compartir el informe de error"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Toca para compartir el informe de errores"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Toca para compartir el informe de errores sin captura de pantalla o espera a que se haga la captura."</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Toca para compartir el informe de errores sin captura de pantalla o espera a que se haga la captura."</string>
diff --git a/packages/Shell/res/values-et-rEE/strings.xml b/packages/Shell/res/values-et-rEE/strings.xml
index edf1c09c10e9..d0a0e35b41ae 100644
--- a/packages/Shell/res/values-et-rEE/strings.xml
+++ b/packages/Shell/res/values-et-rEE/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Jäädvustati veaaruanne <xliff:g id="ID">#%d</xliff:g>"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Üksikasjade lisamine veaaruandesse"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Oodake …"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Veaaruande jagamiseks pühkige vasakule"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Veaaruande jagamiseks puudutage"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Puudutage, et veaaruannet ilma ekraanipildita jagada, või oodake, kuni ekraanipilt tehtud saab."</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Puudutage, et veaaruannet ilma ekraanipildita jagada, või oodake, kuni ekraanipilt tehtud saab."</string>
diff --git a/packages/Shell/res/values-eu-rES/strings.xml b/packages/Shell/res/values-eu-rES/strings.xml
index 1a220ea193b6..b5d51d3ab08d 100644
--- a/packages/Shell/res/values-eu-rES/strings.xml
+++ b/packages/Shell/res/values-eu-rES/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Akatsen <xliff:g id="ID">#%d</xliff:g> txostena egin da"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Akatsen txostenean xehetasunak gehitzen"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Itxaron, mesedez…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Programa-akatsen txostena partekatzeko, pasatu hatza ezkerrera"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Sakatu akatsen txostena partekatzeko"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Sakatu akatsen txostena argazkirik gabe partekatzeko edo itxaron pantaila-argazkia atera arte"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Sakatu akatsen txostena argazkirik gabe partekatzeko edo itxaron pantaila-argazkia atera arte"</string>
diff --git a/packages/Shell/res/values-fa/strings.xml b/packages/Shell/res/values-fa/strings.xml
index 0a5b84e3fc07..38bc0eef6e4f 100644
--- a/packages/Shell/res/values-fa/strings.xml
+++ b/packages/Shell/res/values-fa/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"گزارش اشکال <xliff:g id="ID">#%d</xliff:g> ثبت شد"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"اضاÙÙ‡ کردن جزئیات به گزارش اشکال"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Ù„Ø·ÙØ§Ù‹ منتظر بمانید..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"برای اشتراک‌گذاری گزارش اشکال، به تندی آن را به چپ بکشید"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"برای به اشتراک گذاشتن گزارش اشکال، ضربه بزنید"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"برای اشتراک‌گذاری گزارش مشکل بدون عکس ØµÙØ­Ù‡â€ŒÙ†Ù…ایش، ضربه بزنید یا صبر کنید تا عکس ØµÙØ­Ù‡â€ŒÙ†Ù…ایش Ú¯Ø±ÙØªÙ‡ شود."</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"برای اشتراک‌گذاری گزارش مشکل بدون عکس ØµÙØ­Ù‡â€ŒÙ†Ù…ایش، ضربه بزنید یا صبر کنید تا عکس ØµÙØ­Ù‡â€ŒÙ†Ù…ایش Ú¯Ø±ÙØªÙ‡ شود."</string>
diff --git a/packages/Shell/res/values-fi/strings.xml b/packages/Shell/res/values-fi/strings.xml
index 894217e6fcaa..5ead54c663d0 100644
--- a/packages/Shell/res/values-fi/strings.xml
+++ b/packages/Shell/res/values-fi/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Virheraportti <xliff:g id="ID">#%d</xliff:g> tallennettu"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Lisätään tietoja virheraporttiin"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Odota…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Jaa virheraportti pyyhkäisemällä vasemmalle"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Jaa virheraportti napauttamalla."</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Jaa virheraportti ilman kuvakaappausta napauttamalla tai odota, että kuvakaappaus latautuu."</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Jaa virheraportti ilman kuvakaappausta napauttamalla tai odota, että kuvakaappaus latautuu."</string>
diff --git a/packages/Shell/res/values-fr-rCA/strings.xml b/packages/Shell/res/values-fr-rCA/strings.xml
index 495d26db83d3..dccb75f6222b 100644
--- a/packages/Shell/res/values-fr-rCA/strings.xml
+++ b/packages/Shell/res/values-fr-rCA/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Rapport de bogue <xliff:g id="ID">#%d</xliff:g> enregistré"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Ajout de détails au rapport de bogue"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Veuillez patienter…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Faites glisser le doigt vers la gauche pour partager votre rapport de bogue."</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Touchez ici pour partager votre rapport de bogue"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Touchez pour partager le rapport de bogue sans saisie d\'écran ou attendez que la saisie soit prête"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Touchez pour partager le rapport de bogue sans saisie d\'écran ou attendez que la saisie soit prête"</string>
diff --git a/packages/Shell/res/values-fr/strings.xml b/packages/Shell/res/values-fr/strings.xml
index 04659160b7cf..7465347255ca 100644
--- a/packages/Shell/res/values-fr/strings.xml
+++ b/packages/Shell/res/values-fr/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Le rapport de bug \"<xliff:g id="ID">#%d</xliff:g>\" a bien été enregistré"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Ajout d\'informations au rapport de bug"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Veuillez patienter…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Faites glisser le doigt vers la gauche pour partager votre rapport d\'erreur."</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Appuyer pour partager votre rapport de bug"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Appuyer pour partager rapport de bug sans capture d\'écran ou attendre finalisation capture d\'écran"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Appuyer pour partager rapport de bug sans capture d\'écran ou attendre finalisation capture d\'écran"</string>
diff --git a/packages/Shell/res/values-gl-rES/strings.xml b/packages/Shell/res/values-gl-rES/strings.xml
index a06a49b851f1..b4fde210b6c0 100644
--- a/packages/Shell/res/values-gl-rES/strings.xml
+++ b/packages/Shell/res/values-gl-rES/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Rexistrouse o informe de erros <xliff:g id="ID">#%d</xliff:g>"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Engadindo detalles ao informe de erro"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Agarda..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Pasa o dedo á esquerda para compartir o teu informe de erros"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Toca para compartir o teu informe de erros"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Toca para compartir o informe de erros sen captura de pantalla ou agarda a que finalice a captura"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Toca para compartir o informe de erros sen captura de pantalla ou agarda a que finalice a captura"</string>
diff --git a/packages/Shell/res/values-gu-rIN/strings.xml b/packages/Shell/res/values-gu-rIN/strings.xml
index 83a0ab6a944c..eb45c9b59142 100644
--- a/packages/Shell/res/values-gu-rIN/strings.xml
+++ b/packages/Shell/res/values-gu-rIN/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"બગ રિપોરà«àªŸ <xliff:g id="ID">#%d</xliff:g> કૅપà«àªšàª° કરી"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"બગ રિપોરà«àªŸàª®àª¾àª‚ વિગતો ઉમેરવી"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"કૃપા કરીને રાહ જà«àª“…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"તમારી બગ રિપોરà«àªŸ શેર કરવા માટે ડાબે સà«àªµàª¾àª‡àªª કરો"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"તમારી બગ રિપોરà«àªŸ શેર કરવા ટૅપ કરો"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"સà«àª•à«àª°à«€àª¨àª¶à«‰àªŸ વગર અથવા સà«àª•à«àª°à«€àª¨àª¶à«‰àªŸ સમાપà«àª¤ થવાની રાહ જોયા વગર તમારી બગ રિપોરà«àªŸ શેર કરવા ટૅપ કરો"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"સà«àª•à«àª°à«€àª¨àª¶à«‰àªŸ વગર અથવા સà«àª•à«àª°à«€àª¨àª¶à«‰àªŸ સમાપà«àª¤ થવાની રાહ જોયા વગર તમારી બગ રિપોરà«àªŸ શેર કરવા ટૅપ કરો"</string>
diff --git a/packages/Shell/res/values-hi/strings.xml b/packages/Shell/res/values-hi/strings.xml
index 9086d8959dad..689a0744c549 100644
--- a/packages/Shell/res/values-hi/strings.xml
+++ b/packages/Shell/res/values-hi/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"बग रिपोरà¥à¤Ÿ <xliff:g id="ID">#%d</xliff:g> कैपà¥à¤šà¤° की गई"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"बग रिपोरà¥à¤Ÿ में विवरण जोड़े जा रहे हैं"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"कृपया पà¥à¤°à¤¤à¥€à¤•à¥à¤·à¤¾ करें…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"अपनी बग रिपोरà¥à¤Ÿ साà¤à¤¾ करने के लिठबाà¤à¤‚ सà¥à¤µà¤¾à¤‡à¤ª करें"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"अपनी बग रिपोरà¥à¤Ÿ साà¤à¤¾ करने के लिठटैप करें"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"अपनी बग रिपोरà¥à¤Ÿ को बिना सà¥à¤•à¥à¤°à¥€à¤¨à¤¶à¥‰à¤Ÿ साà¤à¤¾ करने हेतॠटैप करें या सà¥à¤•à¥à¤°à¥€à¤¨à¤¶à¥‰à¤Ÿ पूरा होने की पà¥à¤°à¤¤à¥€à¤•à¥à¤·à¤¾ करें"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"अपनी बग रिपोरà¥à¤Ÿ को बिना सà¥à¤•à¥à¤°à¥€à¤¨à¤¶à¥‰à¤Ÿ साà¤à¤¾ करने हेतॠटैप करें या सà¥à¤•à¥à¤°à¥€à¤¨à¤¶à¥‰à¤Ÿ पूरा होने की पà¥à¤°à¤¤à¥€à¤•à¥à¤·à¤¾ करें"</string>
diff --git a/packages/Shell/res/values-hr/strings.xml b/packages/Shell/res/values-hr/strings.xml
index 24b657b43815..5852875f9d04 100644
--- a/packages/Shell/res/values-hr/strings.xml
+++ b/packages/Shell/res/values-hr/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Izvješće o programskoj pogrešci <xliff:g id="ID">#%d</xliff:g> snimljeno"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Dodavanje pojedinosti u izvješće o progr. pogrešci"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"PriÄekajte..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Prijeđite prstom ulijevo da biste poslali izvješće o programskim pogreškama"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Dodirnite da biste podijelili izvješće o programskoj pogrešci"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Dodirnite za dijeljenje izvješća o pogreÅ¡ci bez snimke zaslona ili priÄekajte da se izradi snimka"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Dodirnite za dijeljenje izvješća o pogreÅ¡ci bez snimke zaslona ili priÄekajte da se izradi snimka"</string>
diff --git a/packages/Shell/res/values-hu/strings.xml b/packages/Shell/res/values-hu/strings.xml
index a8c5c76f1dd0..659945b2b94f 100644
--- a/packages/Shell/res/values-hu/strings.xml
+++ b/packages/Shell/res/values-hu/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Hibajelentés (<xliff:g id="ID">#%d</xliff:g>) rögzítve"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Információk hozzáadása a hibajelentéshez"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Kérjük, várjon..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Húzza ujját balra a hibajelentés megosztásához"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Koppintson a hibajelentés megosztásához"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Koppintson ide, ha képernyőkép nélkül osztaná meg a hibajelentést, vagy várjon a képernyőképre."</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Koppintson ide, ha képernyőkép nélkül osztaná meg a hibajelentést, vagy várjon a képernyőképre."</string>
diff --git a/packages/Shell/res/values-hy-rAM/strings.xml b/packages/Shell/res/values-hy-rAM/strings.xml
index 56627f4ed38b..8764c919673d 100644
--- a/packages/Shell/res/values-hy-rAM/strings.xml
+++ b/packages/Shell/res/values-hy-rAM/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"<xliff:g id="ID">#%d</xliff:g> Õ¾Ö€Õ«ÕºÕ¡Õ¯Õ« Õ¦Õ¥Õ¯Õ¸Ö‚ÕµÖÕ¨ Õ£Ö€Õ¡Õ¶ÖÕ¾Õ¥Ö"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"ÕÕ¾ÕµÕ¡Õ¬Õ¶Õ¥Ö€Õ« Õ¡Õ¾Õ¥Õ¬Õ¡ÖÕ¸Ö‚Õ´ Õ¾Ö€Õ«ÕºÕ¡Õ¯Õ« Õ¦Õ¥Õ¯Õ¸Ö‚ÕµÖÕ¸Ö‚Õ´"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Խնդրում ենք սպասել…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"ÕÕ¡Õ°Õ¥ÖÖ€Õ¥Ö„ Õ±Õ¡Õ­Õ Õ½Õ­Õ¡Õ¬Õ« Õ°Õ¡Õ·Õ¾Õ¥Õ¿Õ¾Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨ Õ°Õ¡Õ´Ö…Õ£Õ¿Õ¡Õ£Õ¸Ö€Õ®Õ¥Õ¬Õ¸Ö‚ Õ°Õ¡Õ´Õ¡Ö€"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Õ€ÕºÕ¥Ö„Õ Õ¾Ö€Õ«ÕºÕ¡Õ¯Õ« Õ¦Õ¥Õ¯Õ¸Ö‚ÕµÖÕ¨ Õ¿Ö€Õ¡Õ´Õ¡Õ¤Ö€Õ¥Õ¬Õ¸Ö‚ Õ°Õ¡Õ´Õ¡Ö€"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Õ€ÕºÕ¥Ö„Õ Õ¾Ö€Õ«ÕºÕ¡Õ¯Õ« Õ¦Õ¥Õ¯Õ¸Ö‚ÕµÖÕ¶ Õ¡Õ¼Õ¡Õ¶Ö Õ§Õ¯Ö€Õ¡Õ¶Õ« ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ« Õ¸Ö‚Õ²Õ¡Ö€Õ¯Õ¥Õ¬Õ¸Ö‚ Õ°Õ¡Õ´Õ¡Ö€ Õ¯Õ¡Õ´ Õ½ÕºÕ¡Õ½Õ¥Ö„ Õ§Õ¯Ö€Õ¡Õ¶Õ« ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ« Õ½Õ¿Õ¥Õ²Õ®Õ´Õ¡Õ¶Õ¨"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Õ€ÕºÕ¥Ö„Õ Õ¾Ö€Õ«ÕºÕ¡Õ¯Õ« Õ¦Õ¥Õ¯Õ¸Ö‚ÕµÖÕ¶ Õ¡Õ¼Õ¡Õ¶Ö Õ§Õ¯Ö€Õ¡Õ¶Õ« ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ« Õ¸Ö‚Õ²Õ¡Ö€Õ¯Õ¥Õ¬Õ¸Ö‚ Õ°Õ¡Õ´Õ¡Ö€ Õ¯Õ¡Õ´ Õ½ÕºÕ¡Õ½Õ¥Ö„ Õ§Õ¯Ö€Õ¡Õ¶Õ« ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ« Õ½Õ¿Õ¥Õ²Õ®Õ´Õ¡Õ¶Õ¨"</string>
diff --git a/packages/Shell/res/values-in/strings.xml b/packages/Shell/res/values-in/strings.xml
index 90700c7ddadc..cca5fbeee820 100644
--- a/packages/Shell/res/values-in/strings.xml
+++ b/packages/Shell/res/values-in/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Laporan bug <xliff:g id="ID">#%d</xliff:g> dijepret"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Menambahkan detail ke laporan bug"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Harap tunggu..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Gesek ke kiri untuk membagikan laporan bug Anda"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Ketuk untuk membagikan laporan bug"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Ketuk untuk membagikan laporan bug tanpa tangkapan layar atau menunggu tangkapan layar selesai"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Ketuk untuk membagikan laporan bug tanpa tangkapan layar atau menunggu tangkapan layar selesai"</string>
diff --git a/packages/Shell/res/values-is-rIS/strings.xml b/packages/Shell/res/values-is-rIS/strings.xml
index dc21b3577eee..945e287e16ca 100644
--- a/packages/Shell/res/values-is-rIS/strings.xml
+++ b/packages/Shell/res/values-is-rIS/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Villutilkynning <xliff:g id="ID">#%d</xliff:g> búin til"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Bætir upplýsingum við villutilkynningu"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Augnablik..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Strjúktu til vinstri til að deila villuskýrslunni"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Ãttu til að deila villutilkynningunni"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Ãttu til að deila villutilkynningunni án skjámyndar eða hinkraðu þangað til skjámyndin er tilbúin"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Ãttu til að deila villutilkynningunni án skjámyndar eða hinkraðu þangað til skjámyndin er tilbúin"</string>
diff --git a/packages/Shell/res/values-it/strings.xml b/packages/Shell/res/values-it/strings.xml
index 0fd6c7ab6af5..87965a47e50e 100644
--- a/packages/Shell/res/values-it/strings.xml
+++ b/packages/Shell/res/values-it/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Segnalazione di bug <xliff:g id="ID">#%d</xliff:g> acquisita"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Aggiunta di dettagli alla segnalazione di bug"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Attendi..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Scorri verso sinistra per condividere il rapporto sui bug"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Tocca per condividere la segnalazione di bug"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Tocca per inviare la segnalazione del bug senza screenshot o attendi che lo screenshot sia completo"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Tocca per inviare la segnalazione del bug senza screenshot o attendi che lo screenshot sia completo"</string>
diff --git a/packages/Shell/res/values-iw/strings.xml b/packages/Shell/res/values-iw/strings.xml
index b3f9d028b947..c79409e78be4 100644
--- a/packages/Shell/res/values-iw/strings.xml
+++ b/packages/Shell/res/values-iw/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"הדוח על הב××’ <xliff:g id="ID">#%d</xliff:g> צול×"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"מוסיף ×¤×¨×˜×™× ×œ×“×•×— על הב××’"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"המתן…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"החלק שמ×לה כדי לשתף ×ת דוח הב××’×™×"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"הקש כדי לשתף ×ת הדוח על הב××’"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"הקש כדי לשתף ×ת הדוח על הב××’ ×œ×œ× ×¦×™×œ×•× ×ž×¡×š, ×ו המתן להשלמת ×¦×™×œ×•× ×”×ž×¡×š"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"הקש כדי לשתף ×ת הדוח על הב××’ ×œ×œ× ×¦×™×œ×•× ×ž×¡×š, ×ו המתן להשלמת ×¦×™×œ×•× ×”×ž×¡×š"</string>
diff --git a/packages/Shell/res/values-ja/strings.xml b/packages/Shell/res/values-ja/strings.xml
index eca0ea0a4515..00bd301eb65e 100644
--- a/packages/Shell/res/values-ja/strings.xml
+++ b/packages/Shell/res/values-ja/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"ãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆ <xliff:g id="ID">#%d</xliff:g> ã®è¨˜éŒ²å®Œäº†"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"ãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆã«è©³ç´°æƒ…報を追加ã—ã¦ã„ã¾ã™"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"ãŠå¾…ã¡ãã ã•ã„…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"ãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆã‚’共有ã™ã‚‹ã«ã¯å·¦ã«ã‚¹ãƒ¯ã‚¤ãƒ—"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"ãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆã‚’共有ã™ã‚‹ã«ã¯ã‚¿ãƒƒãƒ—ã—ã¾ã™"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"タップã—ã¦ãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆã‚’スクリーンショットãªã—ã§å…±æœ‰ã™ã‚‹ã‹ã€ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã‚·ãƒ§ãƒƒãƒˆå®Œæˆã¾ã§ãŠå¾…ã¡ãã ã•ã„"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"タップã—ã¦ãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆã‚’スクリーンショットãªã—ã§å…±æœ‰ã™ã‚‹ã‹ã€ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã‚·ãƒ§ãƒƒãƒˆå®Œæˆã¾ã§ãŠå¾…ã¡ãã ã•ã„"</string>
diff --git a/packages/Shell/res/values-ka-rGE/strings.xml b/packages/Shell/res/values-ka-rGE/strings.xml
index 43cdeee22d0b..d2e16cfce99f 100644
--- a/packages/Shell/res/values-ka-rGE/strings.xml
+++ b/packages/Shell/res/values-ka-rGE/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"ხáƒáƒ áƒ•ეზების შესáƒáƒ®áƒ”ბ áƒáƒœáƒ’áƒáƒ áƒ˜áƒ¨áƒ˜ <xliff:g id="ID">#%d</xliff:g> áƒáƒ¦áƒ‘ეჭდილიáƒ"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"ხáƒáƒ áƒ•ეზის შესáƒáƒ®áƒ”ბ áƒáƒœáƒ’áƒáƒ áƒ˜áƒ¨áƒ¡ დეტáƒáƒšáƒ”ბი ემáƒáƒ¢áƒ”ბáƒ"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"გთხáƒáƒ•თ, მáƒáƒ˜áƒ—მინáƒáƒ—..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"გáƒáƒáƒ¡áƒ áƒ˜áƒáƒšáƒ”თ მáƒáƒ áƒªáƒ®áƒœáƒ˜áƒ• თქვენი ხáƒáƒ áƒ•ეზის შეტყáƒáƒ‘ინების გáƒáƒ¡áƒáƒ–იáƒáƒ áƒ”ბლáƒáƒ“"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"შეეხეთ ხáƒáƒ áƒ•ეზების შესáƒáƒ®áƒ”ბ áƒáƒœáƒ’áƒáƒ áƒ˜áƒ¨áƒ˜áƒ¡ გáƒáƒ¡áƒáƒ–იáƒáƒ áƒ”ბლáƒáƒ“"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"შეეხეთ ხáƒáƒ áƒ•ეზის შესáƒáƒ®áƒ”ბ áƒáƒœáƒ’áƒáƒ áƒ˜áƒ¨áƒ˜áƒ¡ ეკრáƒáƒœáƒ˜áƒ¡ áƒáƒœáƒáƒ‘ეჭდის გáƒáƒ áƒ”შე გáƒáƒ¡áƒáƒ–იáƒáƒ áƒ”ბლáƒáƒ“, áƒáƒœ დáƒáƒ”ლáƒáƒ“ეთ მის შექმნáƒáƒ¡"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"შეეხეთ ხáƒáƒ áƒ•ეზის შესáƒáƒ®áƒ”ბ áƒáƒœáƒ’áƒáƒ áƒ˜áƒ¨áƒ˜áƒ¡ ეკრáƒáƒœáƒ˜áƒ¡ áƒáƒœáƒáƒ‘ეჭდის გáƒáƒ áƒ”შე გáƒáƒ¡áƒáƒ–იáƒáƒ áƒ”ბლáƒáƒ“, áƒáƒœ დáƒáƒ”ლáƒáƒ“ეთ მის შექმნáƒáƒ¡"</string>
diff --git a/packages/Shell/res/values-kk-rKZ/strings.xml b/packages/Shell/res/values-kk-rKZ/strings.xml
index 7d1218fe9f10..dfc46d148eca 100644
--- a/packages/Shell/res/values-kk-rKZ/strings.xml
+++ b/packages/Shell/res/values-kk-rKZ/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"<xliff:g id="ID">#%d</xliff:g> қате туралы еÑебі жазып алынды"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Қате туралы еÑепке мәліметтер қоÑылуда"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Күте тұрыңыз…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Қате туралы еÑепті бөліÑу үшін Ñолға жанаңыз"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Қате туралы еÑепті бөліÑу үшін түртіңіз"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Қате туралы еÑепті ÑкриншотÑыз бөліÑу үшін түртіңіз немеÑе Ñкриншот Ñақталып болғанша күтіңіз"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Қате туралы еÑепті ÑкриншотÑыз бөліÑу үшін түртіңіз немеÑе Ñкриншот Ñақталып болғанша күтіңіз"</string>
diff --git a/packages/Shell/res/values-km-rKH/strings.xml b/packages/Shell/res/values-km-rKH/strings.xml
index c9633db7f449..472a1547cf89 100644
--- a/packages/Shell/res/values-km-rKH/strings.xml
+++ b/packages/Shell/res/values-km-rKH/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"<xliff:g id="ID">#%d</xliff:g> របាយការណáŸáž€áŸ†áž áž»ážŸážáŸ’រូវបានážáž"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"កំពុងបន្ážáŸ‚មពáŸážáŸŒáž˜áž¶áž“លម្អិážáž‘ៅរបាយការណáŸáž€áŸ†áž áž»ážŸ"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"សូម​រង់ចាំ…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"អូស​ទៅ​ឆ្វáŸáž„​​ ដើម្បី​ចែក​រំលែក​របាយការណáŸâ€‹áž€áŸ†áž áž»ážŸâ€‹ážšáž”ស់​អ្នក"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"ប៉ះដើម្បីចែករំលែករបាយការណáŸáž€áŸ†áž áž»ážŸážšáž”ស់អ្នក"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"ប៉ះដើម្បីចែករំលែករបាយការណáŸáž€áŸ†áž áž»ážŸážšáž”ស់អ្នកដោយមិនចាំបាច់មានរូបážážáž¢áŸáž€áŸ’រង់ ឬរង់ចាំការបញ្ចប់ការážážáž¢áŸáž€áŸ’រង់"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"ប៉ះដើម្បីចែករំលែករបាយការណáŸáž€áŸ†áž áž»ážŸážšáž”ស់អ្នកដោយមិនចាំបាច់មានរូបážážáž¢áŸáž€áŸ’រង់ ឬរង់ចាំការបញ្ចប់ការážážáž¢áŸáž€áŸ’រង់"</string>
diff --git a/packages/Shell/res/values-kn-rIN/strings.xml b/packages/Shell/res/values-kn-rIN/strings.xml
index fc8d03c3408f..daddee7c2496 100644
--- a/packages/Shell/res/values-kn-rIN/strings.xml
+++ b/packages/Shell/res/values-kn-rIN/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"ದೋಷ ವರದಿಯ <xliff:g id="ID">#%d</xliff:g> ಅನà³à²¨à³ ಕà³à²¯à²¾à²ªà³à²šà²°à³ ಮಾಡಿಕೊಳà³à²³à²²à²¾à²—ಿದೆ"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"ಬಗೠವರದಿಗೆ ವಿವರಗಳನà³à²¨à³ ಸೇರಿಸಲಾಗà³à²¤à³à²¤à²¿à²¦à³†"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"ದಯವಿಟà³à²Ÿà³ ನಿರೀಕà³à²·à²¿à²¸à²¿..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"ನಿಮà³à²® ದೋಷ ವರದಿಯನà³à²¨à³ ಹಂಚಿಕೊಳà³à²³à²²à³ ಎಡಕà³à²•ೆ ಸà³à²µà³ˆà²ªà³â€Œ ಮಾಡಿ"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"ನಿಮà³à²® ಬಗೠವರದಿಯನà³à²¨à³ ಹಂಚಿಕೊಳà³à²³à²²à³ ಟà³à²¯à²¾à²ªà³ ಮಾಡಿ"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"ಸà³à²•à³à²°à³€à²¨à³â€Œà²¶à²¾à²Ÿà³â€Œ ಇಲà³à²²à²¦à³‡ ನಿಮà³à²® ಬಗೠವರದಿಯನà³à²¨à³ ಹಂಚಿಕೊಳà³à²³à²²à³ ಟà³à²¯à²¾à²ªà³ ಮಾಡಿ ಅಥವಾ ಸà³à²•à³à²°à³€à²¨à³â€Œà²¶à²¾à²Ÿà³â€Œ ಪೂರà³à²¤à²¿à²¯à²¾à²—à³à²µà²µà²°à³†à²—ೂ ನಿರೀಕà³à²·à²¿à²¸à²¿"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"ಸà³à²•à³à²°à³€à²¨à³â€Œà²¶à²¾à²Ÿà³â€Œ ಇಲà³à²²à²¦à³‡ ನಿಮà³à²® ಬಗೠವರದಿಯನà³à²¨à³ ಹಂಚಿಕೊಳà³à²³à²²à³ ಟà³à²¯à²¾à²ªà³ ಮಾಡಿ ಅಥವಾ ಸà³à²•à³à²°à³€à²¨à³â€Œà²¶à²¾à²Ÿà³â€Œ ಪೂರà³à²¤à²¿à²¯à²¾à²—à³à²µà²µà²°à³†à²—ೂ ನಿರೀಕà³à²·à²¿à²¸à²¿"</string>
diff --git a/packages/Shell/res/values-ko/strings.xml b/packages/Shell/res/values-ko/strings.xml
index d382fb163d8c..ecd8fa3151ea 100644
--- a/packages/Shell/res/values-ko/strings.xml
+++ b/packages/Shell/res/values-ko/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"버그 ì‹ ê³  <xliff:g id="ID">#%d</xliff:g> 캡처ë¨"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"세부정보를 버그 ë³´ê³ ì„œì— ì¶”ê°€"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"잠시 기다려 주세요..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"왼쪽으로 스와ì´í”„하여 버그 신고서를 공유하세요."</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"버그 신고를 공유하려면 탭하세요."</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"스í¬ë¦°ìƒ· ì—†ì´ ë²„ê·¸ 신고서를 공유하려면 탭하고 그렇지 않으면 스í¬ë¦°ìƒ·ì´ ì™„ë£Œë  ë•Œê¹Œì§€ 기다려 주세요."</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"스í¬ë¦°ìƒ· ì—†ì´ ë²„ê·¸ 신고서를 공유하려면 탭하고 그렇지 않으면 스í¬ë¦°ìƒ·ì´ ì™„ë£Œë  ë•Œê¹Œì§€ 기다려 주세요."</string>
diff --git a/packages/Shell/res/values-ky-rKG/strings.xml b/packages/Shell/res/values-ky-rKG/strings.xml
index fe2dde41924c..84aa4de85663 100644
--- a/packages/Shell/res/values-ky-rKG/strings.xml
+++ b/packages/Shell/res/values-ky-rKG/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Мүчүлүштүк тууралуу билдирүү <xliff:g id="ID">#%d</xliff:g> жаздырылды"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Мүчүлүштүк жөнүндө кабардын чоо-жайы кошулууда"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Күтө туруңуз…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Ката жөнүндө кабар менен бөлүшүү үчүн Ñолго Ñерпип коюңуз"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Мүчүлүштүк тууралуу билдирүүңүздү бөлүшүү үчүн таптап коюңуз"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Мүчүлүштүк тууралуу билдирүүңүздү ÑкриншотÑуз бөлүшүү үчүн таптап коюңуз же Ñкриншот даÑÑ€ болгуча күтө туруңуз"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Мүчүлүштүк тууралуу билдирүүңүздү ÑкриншотÑуз бөлүшүү үчүн таптап коюңуз же Ñкриншот даÑÑ€ болгуча күтө туруңуз"</string>
diff --git a/packages/Shell/res/values-lo-rLA/strings.xml b/packages/Shell/res/values-lo-rLA/strings.xml
index 2cc157358944..39b73504d320 100644
--- a/packages/Shell/res/values-lo-rLA/strings.xml
+++ b/packages/Shell/res/values-lo-rLA/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"ບັນທຶàºàº¥àº²àºàº‡àº²àº™àº‚à»à»‰àºœàº´àº”ພາດ <xliff:g id="ID">#%d</xliff:g> à»àº¥à»‰àº§"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"àºàº³àº¥àº±àº‡à»€àºžàºµà»ˆàº¡àº¥àº²àºàº¥àº°àº­àº½àº”ໃສ່ລາàºàº‡àº²àº™àº‚à»à»‰àºœàº´àº”ພາດ"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"àºàº°àº¥àº¸àº™àº²àº¥à»àº–້າ..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"​ປັດ​ໄປ​ຊ້າàºâ€‹à»€àºžàº·à»ˆàº­â€‹àºªàº»à»ˆàº‡â€‹àº¥àº²àºâ€‹àº‡àº²àº™â€‹àº‚à»à»‰â€‹àºœàº´àº”​ພາດ​ຂອງ​ທ່ານ"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"à»àº•ະເພື່ອà»àºšà»ˆàº‡àº›àº±àº™àº¥àº²àºàº‡àº²àº™àº‚à»à»‰àºœàº´àº”ພາດຂອງທ່ານ"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"à»àº•ະເພື່ອà»àºšà»ˆàº‡àº›àº±àº™àº¥àº²àºàº‡àº²àº™àº‚à»à»‰àºœàº´àº”ພາດຂອງທ່ານໂດàºàºšà»à»ˆà»ƒàºŠà»‰àº®àº¹àºšà»œà»‰àº²àºˆà» ຫຼື ລà»àº–້າໃຫ້ຮູບໜ້າຈà»à»àº¥à»‰àº§à»†"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"à»àº•ະເພື່ອà»àºšà»ˆàº‡àº›àº±àº™àº¥àº²àºàº‡àº²àº™àº‚à»à»‰àºœàº´àº”ພາດຂອງທ່ານໂດàºàºšà»à»ˆà»ƒàºŠà»‰àº®àº¹àºšà»œà»‰àº²àºˆà» ຫຼື ລà»àº–້າໃຫ້ຮູບໜ້າຈà»à»àº¥à»‰àº§à»†"</string>
diff --git a/packages/Shell/res/values-lt/strings.xml b/packages/Shell/res/values-lt/strings.xml
index 23fba5fe31ce..ff7a9cf21708 100644
--- a/packages/Shell/res/values-lt/strings.xml
+++ b/packages/Shell/res/values-lt/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Pranešimas apie riktą (<xliff:g id="ID">#%d</xliff:g>) užfiksuotas"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Pridedama informacijos prie pranešimo apie riktą"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Palaukite…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Perbraukite kairÄ—n, kad bendrintumÄ—te rikto ataskaitÄ…"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Palieskite, kad bendrintumėte pranešimą apie riktą"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Palieskite ir bendrinkite pranešimą apie riktą be ekrano kopijos arba palaukite, kol ji bus sukurta"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Palieskite ir bendrinkite pranešimą apie riktą be ekrano kopijos arba palaukite, kol ji bus sukurta"</string>
diff --git a/packages/Shell/res/values-lv/strings.xml b/packages/Shell/res/values-lv/strings.xml
index d6bfee32b1d0..c04c0d6dc4f1 100644
--- a/packages/Shell/res/values-lv/strings.xml
+++ b/packages/Shell/res/values-lv/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Kļūdas pÄrskats <xliff:g id="ID">#%d</xliff:g> reÄ£istrÄ“ts"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"InformÄcijas pievienoÅ¡ana kļūdas pÄrskatam"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Lūdzu, uzgaidiet..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Velciet pa kreisi, lai kopīgotu savu kļūdu ziņojumu."</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Pieskarieties, lai kopÄ«gotu kļūdas pÄrskatu."</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Pieskarieties, lai kopÄ«gotu kļūdas pÄrskatu bez ekrÄnuzņēmuma vai gaidiet ekrÄnuzņēmumu."</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Pieskarieties, lai kopÄ«gotu kļūdas pÄrskatu bez ekrÄnuzņēmuma vai gaidiet ekrÄnuzņēmumu."</string>
diff --git a/packages/Shell/res/values-mk-rMK/strings.xml b/packages/Shell/res/values-mk-rMK/strings.xml
index 3ce94366b87f..df356954764b 100644
--- a/packages/Shell/res/values-mk-rMK/strings.xml
+++ b/packages/Shell/res/values-mk-rMK/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Извештајот за грешки <xliff:g id="ID">#%d</xliff:g> е Ñнимен"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Се додаваат детали на извештајот за грешка"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Почекајте..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Повлечете налево за да Ñподелите пријава за грешка"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Допрете за да го Ñподелите извештајот за грешки"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Допрете за Ñподелување извештај за грешки без Ñлика од екранот или почекајте да Ñе подготви Ñликата"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Допрете за Ñподелување извештај за грешки без Ñлика од екранот или почекајте да Ñе подготви Ñликата"</string>
diff --git a/packages/Shell/res/values-ml-rIN/strings.xml b/packages/Shell/res/values-ml-rIN/strings.xml
index 13d6ee43072a..243d50794650 100644
--- a/packages/Shell/res/values-ml-rIN/strings.xml
+++ b/packages/Shell/res/values-ml-rIN/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"ബഗൠറിപàµà´ªàµ‹àµ¼à´Ÿàµà´Ÿàµ <xliff:g id="ID">#%d</xliff:g> à´•àµà´¯à´¾à´ªàµà´šàµ¼ ചെയàµà´¤àµ"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"ബഗൠറിപàµà´ªàµ‹àµ¼à´Ÿàµà´Ÿà´¿à´²àµ‡à´•àµà´•ൠവിശദാംശങàµà´™àµ¾ ചേർകàµà´•àµà´¨àµà´¨àµ"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"കാതàµà´¤à´¿à´°à´¿à´•àµà´•àµà´•..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"നിങàµà´™à´³àµà´Ÿàµ† ബഗൠറിപàµà´ªàµ‹àµ¼à´Ÿàµà´Ÿàµ പങàµà´•à´¿à´Ÿàµà´¨àµà´¨à´¤à´¿à´¨àµ ഇടതàµà´¤àµ‡à´¯àµâ€Œà´•àµà´•ൠസàµà´µàµˆà´ªàµà´ªàµà´šàµ†à´¯àµà´¯àµà´•"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"നിങàµà´™à´³àµà´Ÿàµ† ബഗൠറിപàµà´ªàµ‹àµ¼à´Ÿàµà´Ÿàµ പങàµà´•ിടാൻ ടാപàµà´ªàµà´šàµ†à´¯àµà´¯àµà´•"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"à´¸àµà´•àµà´°àµ€àµ»à´·àµ‹à´Ÿàµà´Ÿàµ കൂടാതെയോ à´¸àµà´•àµà´°àµ€àµ»à´·àµ‹à´Ÿàµà´Ÿàµ പൂർതàµà´¤à´¿à´¯à´¾à´•àµà´¨àµà´¨à´¤à´¿à´¨àµ കാകàµà´•ാതെയോ നിങàµà´™à´³àµà´Ÿàµ† ബഗൠറിപàµà´ªàµ‹àµ¼à´Ÿàµà´Ÿàµ പങàµà´•ിടാൻ ടാപàµà´ªàµà´šàµ†à´¯àµà´¯àµà´•"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"à´¸àµà´•àµà´°àµ€àµ»à´·àµ‹à´Ÿàµà´Ÿàµ കൂടാതെയോ à´¸àµà´•àµà´°àµ€àµ»à´·àµ‹à´Ÿàµà´Ÿàµ പൂർതàµà´¤à´¿à´¯à´¾à´•àµà´¨àµà´¨à´¤à´¿à´¨àµ കാകàµà´•ാതെയോ നിങàµà´™à´³àµà´Ÿàµ† ബഗൠറിപàµà´ªàµ‹àµ¼à´Ÿàµà´Ÿàµ പങàµà´•ിടാൻ ടാപàµà´ªàµà´šàµ†à´¯àµà´¯àµà´•"</string>
diff --git a/packages/Shell/res/values-mn-rMN/strings.xml b/packages/Shell/res/values-mn-rMN/strings.xml
index 591e5425d4a8..3ff3b179886e 100644
--- a/packages/Shell/res/values-mn-rMN/strings.xml
+++ b/packages/Shell/res/values-mn-rMN/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Програмд гарÑан алдааны мÑдÑÑллийн <xliff:g id="ID">#%d</xliff:g>-г бүртгÑгдлÑÑ"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Ðлдааны тайланд дÑлгÑÑ€Ñнгүй мÑдÑÑлÑл нÑмж байна"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Түр хүлÑÑÐ½Ñ Ò¯Ò¯..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Өөрийн Ñогог репортыг хуваалцахын тулд зүүн шудрана уу"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Програмд гарÑан алдааны мÑдÑÑллÑÑ Ñ…ÑƒÐ²Ð°Ð°Ð»Ñ†Ð°Ñ… бол дарна уу"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Ðлдааны тайлангаа дÑлгÑцÑÑÑ Ð°Ð²Ñан зураггүйгÑÑÑ€ хуваалцах бол дарж, ÑÑвÑл дÑлгÑцÑÑÑ Ð°Ð²Ñан зургийг бÑлÑн болтол нь хүлÑÑÐ½Ñ Ò¯Ò¯"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Ðлдааны тайлангаа дÑлгÑцÑÑÑ Ð°Ð²Ñан зураггүйгÑÑÑ€ хуваалцах бол дарж, ÑÑвÑл дÑлгÑцÑÑÑ Ð°Ð²Ñан зургийг бÑлÑн болтол нь хүлÑÑÐ½Ñ Ò¯Ò¯"</string>
diff --git a/packages/Shell/res/values-mr-rIN/strings.xml b/packages/Shell/res/values-mr-rIN/strings.xml
index 035ac0139634..8f35ed908a91 100644
--- a/packages/Shell/res/values-mr-rIN/strings.xml
+++ b/packages/Shell/res/values-mr-rIN/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"दोष अहवाल <xliff:g id="ID">#%d</xliff:g> कॅपà¥à¤šà¤° केला"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"दोष अहवालामधà¥â€à¤¯à¥‡ तपशील जोडत आहे"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"कृपया पà¥à¤°à¤¤à¥€à¤•à¥à¤·à¤¾ करा..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"आपला दोष अहवाल सामायिक करणà¥à¤¯à¤¾à¤¸à¤¾à¤ à¥€ डावीकडे सà¥à¤µà¤¾à¤‡à¤ª करा"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"आपला दोष अहवाल सामायिक करणà¥à¤¯à¤¾à¤¸à¤¾à¤ à¥€ टॅप करा"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"सà¥à¤•à¥à¤°à¥€à¤¨à¤¶à¥‰à¤Ÿ शिवाय आपला दोष अहवाल सामायिक करणà¥à¤¯à¤¾à¤¸à¤¾à¤ à¥€ टॅप करा किंवा समापà¥à¤¤ करणà¥à¤¯à¤¾à¤¸à¤¾à¤ à¥€ सà¥à¤•à¥à¤°à¥€à¤¨à¤¶à¥‰à¤Ÿà¤šà¥€ पà¥à¤°à¤¤à¥€à¤•à¥à¤·à¤¾ करा"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"सà¥à¤•à¥à¤°à¥€à¤¨à¤¶à¥‰à¤Ÿ शिवाय आपला दोष अहवाल सामायिक करणà¥à¤¯à¤¾à¤¸à¤¾à¤ à¥€ टॅप करा किंवा समापà¥à¤¤ करणà¥à¤¯à¤¾à¤¸à¤¾à¤ à¥€ सà¥à¤•à¥à¤°à¥€à¤¨à¤¶à¥‰à¤Ÿà¤šà¥€ पà¥à¤°à¤¤à¥€à¤•à¥à¤·à¤¾ करा"</string>
diff --git a/packages/Shell/res/values-ms-rMY/strings.xml b/packages/Shell/res/values-ms-rMY/strings.xml
index 085152f429bb..336506de542f 100644
--- a/packages/Shell/res/values-ms-rMY/strings.xml
+++ b/packages/Shell/res/values-ms-rMY/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Laporan pepijat <xliff:g id="ID">#%d</xliff:g> telah ditangkap"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Menambahkan butiran pada laporan pepijat"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Sila tunggu…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Leret ke kiri untuk berkongsi laporan pepijat anda"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Ketik untuk berkongsi laporan pepijat anda"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Ketik untuk berkongsi laporan pepijat anda tanpa tangkapan skrin atau tunggu tangkapan skrin selesai"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Ketik untuk berkongsi laporan pepijat anda tanpa tangkapan skrin atau tunggu tangkapan skrin selesai"</string>
diff --git a/packages/Shell/res/values-my-rMM/strings.xml b/packages/Shell/res/values-my-rMM/strings.xml
index c9486c97eeeb..943bedd1aa59 100644
--- a/packages/Shell/res/values-my-rMM/strings.xml
+++ b/packages/Shell/res/values-my-rMM/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"á€á€»á€½á€á€ºá€šá€½á€„်းမှုအစီရင်á€á€¶á€á€»á€€á€º <xliff:g id="ID">#%d</xliff:g> ကိုရယူထားပြီးပါပြီ"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"á€á€»á€½á€á€ºá€šá€½á€„်းá€á€»á€€á€ºá€¡á€…ီရင်á€á€¶á€á€»á€€á€ºá€žá€­á€¯á€· အသေးစိá€á€ºá€™á€»á€¬á€¸á€•ေါင်းထည့်ရန်"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"á€á€±á€á€¹á€á€…ောင့်ပါ..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"သင်á ဘာဂ် အစီရင်á€á€¶á€…ာကို မျှပေးရန် ဘယ်ဘက်သို့ ပွá€á€ºá€†á€½á€²á€›á€”်"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"သင့်á€á€»á€½á€á€ºá€šá€½á€„်းမှုအစီရင်á€á€¶á€á€»á€€á€ºá€€á€­á€¯ မျှá€á€±á€›á€”် á€á€­á€¯á€·á€•ါ"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"á€á€»á€½á€á€ºá€šá€½á€„်းá€á€»á€€á€ºá€¡á€…ီရင်á€á€¶á€…ာကို ဖန်သားပြင်ဓာá€á€ºá€•ုံမှá€á€ºá€á€™á€ºá€¸á€™á€•ါဘဲ မျှá€á€±á€›á€”် á€á€­á€¯á€·á€•ါ သို့မဟုá€á€º ဖန်သားပြင်ဓာá€á€ºá€•ုံမှá€á€ºá€á€™á€ºá€¸á€á€„်á€á€¼á€„်း ပြီးဆုံးသည်အထိ စောင့်ပါ"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"á€á€»á€½á€á€ºá€šá€½á€„်းá€á€»á€€á€ºá€¡á€…ီရင်á€á€¶á€…ာကို ဖန်သားပြင်ဓာá€á€ºá€•ုံမှá€á€ºá€á€™á€ºá€¸á€™á€•ါဘဲ မျှá€á€±á€›á€”် á€á€­á€¯á€·á€•ါ သို့မဟုá€á€º ဖန်သားပြင်ဓာá€á€ºá€•ုံမှá€á€ºá€á€™á€ºá€¸á€á€„်á€á€¼á€„်း ပြီးဆုံးသည်အထိ စောင့်ပါ"</string>
@@ -39,5 +40,5 @@
<string name="bugreport_info_name" msgid="4414036021935139527">"ဖိုင်အမည်"</string>
<string name="bugreport_info_title" msgid="2306030793918239804">"á€á€»á€½á€á€ºá€šá€½á€„်းá€á€»á€€á€º á€á€±á€«á€„်းစဉ်"</string>
<string name="bugreport_info_description" msgid="5072835127481627722">"á€á€»á€½á€á€ºá€šá€½á€„်းá€á€»á€€á€º အကျဉ်းá€á€»á€¯á€•်"</string>
- <string name="save" msgid="4781509040564835759">"သိမ်းဆည်းပါ"</string>
+ <string name="save" msgid="4781509040564835759">"သိမ်းရန်"</string>
</resources>
diff --git a/packages/Shell/res/values-nb/strings.xml b/packages/Shell/res/values-nb/strings.xml
index 43fb97bb6150..acd1e28c8100 100644
--- a/packages/Shell/res/values-nb/strings.xml
+++ b/packages/Shell/res/values-nb/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Feilrapporten <xliff:g id="ID">#%d</xliff:g> er fullført"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Legger til detaljer i feilrapporten"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Vent litt"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Sveip til venstre for å dele feilrapporten din"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Trykk for å dele feilrapporten"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Trykk for å dele feilrapporten uten noen skjermdump, eller vent til skjermdumpen er klar"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Trykk for å dele feilrapporten uten noen skjermdump, eller vent til skjermdumpen er klar"</string>
diff --git a/packages/Shell/res/values-ne-rNP/strings.xml b/packages/Shell/res/values-ne-rNP/strings.xml
index 4ffa42290e48..559ca2082eff 100644
--- a/packages/Shell/res/values-ne-rNP/strings.xml
+++ b/packages/Shell/res/values-ne-rNP/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"बग रिपोरà¥à¤Ÿ <xliff:g id="ID">#%d</xliff:g>लाई कैद गरियो"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"बग रिपोरà¥à¤Ÿà¤®à¤¾ विवरणहरू थपà¥à¤¦à¥ˆ"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"कृपया पà¥à¤°à¤¤à¥€à¤•à¥à¤·à¤¾ गरà¥à¤¨à¥à¤¹à¥‹à¤²à¤¾..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"तपाईà¤à¤•ो बग रिपोरà¥à¤Ÿ साà¤à¥‡à¤¦à¤¾à¤°à¥€ गरà¥à¤¨ बायाठसà¥à¤µà¤¾à¤‡à¤ª गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"तपाईंको बग रिपोरà¥à¤Ÿà¤²à¤¾à¤ˆ साà¤à¥‡à¤¦à¤¾à¤°à¥€ गरà¥à¤¨ टà¥à¤¯à¤¾à¤ª गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"तपाईà¤à¤•ो बग रिपोरà¥à¤Ÿà¤²à¤¾à¤ˆ सà¥à¤•à¥à¤°à¤¿à¤¨à¤¸à¤Ÿ बिना साà¤à¥‡à¤¦à¤¾à¤°à¥€ गरà¥à¤¨à¤•ा लागि टà¥à¤¯à¤¾à¤ª गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ वा सà¥à¤•à¥à¤°à¤¿à¤¨à¤¸à¤Ÿ लिने पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ पूरा हà¥à¤¨ पà¥à¤°à¤¤à¥€à¤•à¥à¤·à¤¾ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"तपाईà¤à¤•ो बग रिपोरà¥à¤Ÿà¤²à¤¾à¤ˆ सà¥à¤•à¥à¤°à¤¿à¤¨à¤¸à¤Ÿ बिना साà¤à¥‡à¤¦à¤¾à¤°à¥€ गरà¥à¤¨à¤•ा लागि टà¥à¤¯à¤¾à¤ª गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ वा सà¥à¤•à¥à¤°à¤¿à¤¨à¤¸à¤Ÿ लिने पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ पूरा हà¥à¤¨ पà¥à¤°à¤¤à¥€à¤•à¥à¤·à¤¾ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string>
diff --git a/packages/Shell/res/values-nl/strings.xml b/packages/Shell/res/values-nl/strings.xml
index 1b60f0de1ea1..9bda8d29c38f 100644
--- a/packages/Shell/res/values-nl/strings.xml
+++ b/packages/Shell/res/values-nl/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Bugrapport <xliff:g id="ID">#%d</xliff:g> is vastgelegd"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Details toevoegen aan het bugrapport"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Even geduld…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Veeg naar links om je bugmelding te delen"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Tik om je bugrapport te delen"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Tik om je bugrapport te delen zonder screenshot of wacht tot het screenshot is voltooid"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Tik om je bugrapport te delen zonder screenshot of wacht tot het screenshot is voltooid"</string>
diff --git a/packages/Shell/res/values-pa-rIN/strings.xml b/packages/Shell/res/values-pa-rIN/strings.xml
index db8b29f65b23..b5481f1df8fc 100644
--- a/packages/Shell/res/values-pa-rIN/strings.xml
+++ b/packages/Shell/res/values-pa-rIN/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"ਬੱਗ ਰਿਪੋਰਟ <xliff:g id="ID">#%d</xliff:g> ਕੈਪਚਰ ਕੀਤੀ ਗਈ"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"ਬੱਗ ਰਿਪੋਰਟ ਵਿੱਚ ਵੇਰਵਿਆਂ ਨੂੰ ਸ਼ਾਮਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"ਕਿਰਪਾ ਕਰਕੇ ਉਡੀਕ ਕਰੋ..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"ਤà©à¨¹à¨¾à¨¡à©€ ਬਗ ਰਿਪੋਰਟ ਸ਼ੇਅਰ ਕਰਨ ਲਈ ਖੱਬੇ ਪਾਸੇ ਸਵਾਈਪ ਕਰੋ"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"ਆਪਣੀ ਬੱਗ ਰਿਪੋਰਟ ਸਾਂà¨à©€ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"ਸਕà©à¨°à©€à¨¨à¨¸à¨¼à¨¾à¨Ÿ ਦੇ ਬਿਨਾਂ ਆਪਣੀ ਬੱਗ ਰਿਪੋਰਟ ਨੂੰ ਸਾਂà¨à©€ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ ਜਾਂ ਸਕà©à¨°à©€à¨¨à¨¸à¨¼à¨¾à¨Ÿ ਦੇ ਪੂਰੇ ਹੋਣ ਦੀ ਉਡੀਕ ਕਰੋ"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"ਸਕà©à¨°à©€à¨¨à¨¸à¨¼à¨¾à¨Ÿ ਦੇ ਬਿਨਾਂ ਆਪਣੀ ਬੱਗ ਰਿਪੋਰਟ ਨੂੰ ਸਾਂà¨à©€ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ ਜਾਂ ਸਕà©à¨°à©€à¨¨à¨¸à¨¼à¨¾à¨Ÿ ਦੇ ਪੂਰੇ ਹੋਣ ਦੀ ਉਡੀਕ ਕਰੋ"</string>
diff --git a/packages/Shell/res/values-pl/strings.xml b/packages/Shell/res/values-pl/strings.xml
index d0375b61efdc..1e6257b6933b 100644
--- a/packages/Shell/res/values-pl/strings.xml
+++ b/packages/Shell/res/values-pl/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Raport o błędzie <xliff:g id="ID">#%d</xliff:g> został zapisany"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Dodaję szczegóły do raportu o błędzie"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Czekaj..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Przesuń palcem w lewo, by udostępnić swoje zgłoszenie błędu"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Kliknij, by udostępnić raport o błędzie"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Kliknij, by udostępnić raport o błędzie bez zrzutu ekranu, lub poczekaj, aż zostanie on wygenerowany"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Kliknij, by udostępnić raport o błędzie bez zrzutu ekranu, lub poczekaj, aż zostanie on wygenerowany"</string>
diff --git a/packages/Shell/res/values-pt-rBR/strings.xml b/packages/Shell/res/values-pt-rBR/strings.xml
index 12cf2e4c3c8f..b59d52dd86aa 100644
--- a/packages/Shell/res/values-pt-rBR/strings.xml
+++ b/packages/Shell/res/values-pt-rBR/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Relatório do bug <xliff:g id="ID">#%d</xliff:g> capturado"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Adicionando detalhes ao relatório do bug"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Aguarde…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Deslize para a esquerda para compartilhar seu relatório de bugs"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Toque para compartilhar seu relatório do bug"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Toque para compartilhar seu relatório de bug sem captura de tela ou aguarde a conclusão"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Toque para compartilhar seu relatório de bug sem captura de tela ou aguarde a conclusão"</string>
diff --git a/packages/Shell/res/values-pt-rPT/strings.xml b/packages/Shell/res/values-pt-rPT/strings.xml
index 2148f97ad22c..f0a2c99778c2 100644
--- a/packages/Shell/res/values-pt-rPT/strings.xml
+++ b/packages/Shell/res/values-pt-rPT/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Relatório de erro <xliff:g id="ID">#%d</xliff:g> criado"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"A adicionar detalhes ao relatório de erro"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Aguarde..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Deslizar rapidamente para a esquerda para partilhar o seu relatório de erros"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Toque para partilhar o relatório de erro"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Toque para partilhar o relatório de erro sem uma captura de ecrã ou aguarde a conclusão da mesma"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Toque para partilhar o relatório de erro sem uma captura de ecrã ou aguarde a conclusão da mesma"</string>
diff --git a/packages/Shell/res/values-pt/strings.xml b/packages/Shell/res/values-pt/strings.xml
index 12cf2e4c3c8f..b59d52dd86aa 100644
--- a/packages/Shell/res/values-pt/strings.xml
+++ b/packages/Shell/res/values-pt/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Relatório do bug <xliff:g id="ID">#%d</xliff:g> capturado"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Adicionando detalhes ao relatório do bug"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Aguarde…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Deslize para a esquerda para compartilhar seu relatório de bugs"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Toque para compartilhar seu relatório do bug"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Toque para compartilhar seu relatório de bug sem captura de tela ou aguarde a conclusão"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Toque para compartilhar seu relatório de bug sem captura de tela ou aguarde a conclusão"</string>
diff --git a/packages/Shell/res/values-ro/strings.xml b/packages/Shell/res/values-ro/strings.xml
index 4e57b60c2c18..7f77dbec3a1f 100644
--- a/packages/Shell/res/values-ro/strings.xml
+++ b/packages/Shell/res/values-ro/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Raportul de eroare <xliff:g id="ID">#%d</xliff:g> a fost creat"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Se adaugă detaliile la raportul de eroare"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Așteptați…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Glisați la stânga pentru a trimite raportul de erori"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Atingeți pentru a trimite raportul de eroare"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Atingeți ca să trimiteți raportul de eroare fără captură de ecran sau așteptați finalizarea acesteia"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Atingeți ca să trimiteți raportul de eroare fără captură de ecran sau așteptați finalizarea acesteia"</string>
diff --git a/packages/Shell/res/values-ru/strings.xml b/packages/Shell/res/values-ru/strings.xml
index 62647ca3c8ab..41eec6ade37a 100644
--- a/packages/Shell/res/values-ru/strings.xml
+++ b/packages/Shell/res/values-ru/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Отчет об ошибке <xliff:g id="ID">#%d</xliff:g> Ñохранен"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Добавление данных в отчет об ошибке"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Подождите…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Проведите влево, чтобы отправить отчет"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Ðажмите, чтобы отправить отчет об ошибке."</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Ðажмите, чтобы отправить отчет об ошибке Ñразу, или подождите, пока будет Ñохранен Ñкриншот."</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Ðажмите, чтобы отправить отчет об ошибке Ñразу, или подождите, пока будет Ñохранен Ñкриншот."</string>
diff --git a/packages/Shell/res/values-si-rLK/strings.xml b/packages/Shell/res/values-si-rLK/strings.xml
index 0b1d478a1dd3..75c35bf3093a 100644
--- a/packages/Shell/res/values-si-rLK/strings.xml
+++ b/packages/Shell/res/values-si-rLK/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"දà·à·‚ à·€à·à¶»à·Šà¶­à· <xliff:g id="ID">#%d</xliff:g> ග්â€à¶»à·„ණය à¶šà¶» ගන්න෠ලදී"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"දà·à·‚ à·€à·à¶»à·Šà¶­à·à·€ වෙත විස්තර à¶‘à¶šà·Š කිරීම"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"කරුණà·à¶šà¶» à¶»à·à¶³à·“ සිටින්න..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"ඔබගේ දà·à·‚ à·€à·à¶»à·Šà¶­à·à·€ බෙදà·à¶œà·à¶±à·“මට වමට ස්වයිප් කරන්න"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"ඔබගේ දà·à·‚ à·€à·à¶»à·Šà¶­à·à·€ බෙද෠ගà·à¶±à·“මට à¶­à¶§à·Šà¶§à·” කරන්න"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"à¶­à·’à¶» රුවක් රහිතව ඔබගේ දà·à·‚ à·€à·à¶»à·Šà¶­à·à·€ බෙද෠ගà·à¶±à·“මට à¶­à¶§à·Šà¶§à·” කරන්න à¶±à·à¶­à·„ොත් à¶­à·’à¶» රුව à¶œà·à¶±à·“ම අවසන් වන තෙක් à¶»à·à¶³à·™à¶±à·Šà¶±"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"à¶­à·’à¶» රුවක් රහිතව ඔබගේ දà·à·‚ à·€à·à¶»à·Šà¶­à·à·€ බෙද෠ගà·à¶±à·“මට à¶­à¶§à·Šà¶§à·” කරන්න à¶±à·à¶­à·„ොත් à¶­à·’à¶» රුව à¶œà·à¶±à·“ම අවසන් වන තෙක් à¶»à·à¶³à·™à¶±à·Šà¶±"</string>
diff --git a/packages/Shell/res/values-sk/strings.xml b/packages/Shell/res/values-sk/strings.xml
index 3e3a0e44c1e2..306e58ae9378 100644
--- a/packages/Shell/res/values-sk/strings.xml
+++ b/packages/Shell/res/values-sk/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Hlásenie chyby <xliff:g id="ID">#%d</xliff:g> bolo zaznamenané"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Pridanie podrobností o hlásení chyby"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Čakajte prosím…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Ak chcete hlásenie o chybe zdieľať, prejdite prstom doľava."</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Hlásenie chyby môžete zdieľať klepnutím"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Klepnutím zdieľajte hlásenie chyby bez snímky obrazovky alebo poÄkajte na dokonÄenie snímky obrazovky"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Klepnutím zdieľajte hlásenie chyby bez snímky obrazovky alebo poÄkajte na dokonÄenie snímky obrazovky"</string>
diff --git a/packages/Shell/res/values-sl/strings.xml b/packages/Shell/res/values-sl/strings.xml
index 6b07e4654dbc..77f2bbbc0bb8 100644
--- a/packages/Shell/res/values-sl/strings.xml
+++ b/packages/Shell/res/values-sl/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"PoroÄilo o napaki <xliff:g id="ID">#%d</xliff:g> zajeto"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Dodajanje podrobnosti v poroÄilo o napakah"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"PoÄakajte ..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Povlecite v levo, Äe želite poslati sporoÄilo o napaki"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Dotaknite se, Äe želite poroÄilo o napaki dati v skupno rabo"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Dotaknite se za poÅ¡iljanje poroÄila o napakah brez posnetka zaslona ali poÄakajte, da se ta dokonÄa"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Dotaknite se za poÅ¡iljanje poroÄila o napakah brez posnetka zaslona ali poÄakajte, da se ta dokonÄa"</string>
diff --git a/packages/Shell/res/values-sq-rAL/strings.xml b/packages/Shell/res/values-sq-rAL/strings.xml
index 08c77c29f0a1..5cd74aac414a 100644
--- a/packages/Shell/res/values-sq-rAL/strings.xml
+++ b/packages/Shell/res/values-sq-rAL/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Raporti i defekteve në kod <xliff:g id="ID">#%d</xliff:g> u regjistrua"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Po shtohen detajet te raporti i defekteve në kod"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Qëndro në pritje..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Rrëshqit majtas për të ndarë raportin e defektit në kod"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Trokit për të ndarë raportin e defekteve në kod"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Trokit për të ndarë raportin e defekteve në kod pa një pamje çasti ose prit që pamja e çastit të përfundojë"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Trokit për të ndarë raportin e defekteve në kod pa një pamje çasti ose prit që pamja e çastit të përfundojë"</string>
diff --git a/packages/Shell/res/values-sr/strings.xml b/packages/Shell/res/values-sr/strings.xml
index 72a5dc8bcb4f..a5ae7ab84f0d 100644
--- a/packages/Shell/res/values-sr/strings.xml
+++ b/packages/Shell/res/values-sr/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Извештај о грешци <xliff:g id="ID">#%d</xliff:g> је Ñнимљен"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Додају Ñе детаљи у извештај о грешци"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Сачекајте..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Превуците улево да биÑте делили извештај о грешкама"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Додирните да биÑте делили извештај о грешци"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Додирните за дељење извештаја о грешци без Ñнимка екрана или Ñачекајте да Ñе направи Ñнимак екрана"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Додирните за дељење извештаја о грешци без Ñнимка екрана или Ñачекајте да Ñе направи Ñнимак екрана"</string>
diff --git a/packages/Shell/res/values-sv/strings.xml b/packages/Shell/res/values-sv/strings.xml
index 52ff7c554df1..f01721a6c85f 100644
--- a/packages/Shell/res/values-sv/strings.xml
+++ b/packages/Shell/res/values-sv/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Felrapporten <xliff:g id="ID">#%d</xliff:g> har skapats"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Lägger till information i felrapporten"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Vänta …"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Svep åt vänster om du vill dela felrapporten"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Tryck om du vill dela felrapporten"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Tryck om du vill dela felrapporten utan en skärmdump eller vänta tills skärmdumpen är klar"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Tryck om du vill dela felrapporten utan en skärmdump eller vänta tills skärmdumpen är klar"</string>
diff --git a/packages/Shell/res/values-sw/strings.xml b/packages/Shell/res/values-sw/strings.xml
index b31b54f39e9e..4672d01a94d6 100644
--- a/packages/Shell/res/values-sw/strings.xml
+++ b/packages/Shell/res/values-sw/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Ripoti ya hitilafu ya <xliff:g id="ID">#%d</xliff:g> imerekodiwa"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Inaongeza maelezo kwenye ripoti ya hitilafu"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Tafadhali subiri…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Telezesha kidole kushoto ili ushiriki ripoti yako ya hitilafu"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Gonga ili ushiriki ripoti yako ya hitilafu"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Gonga ili ushiriki ripoti yako ya hitilafu bila picha ya skrini au usubiri picha ya skrini itayarishwe"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Gonga ili ushiriki ripoti yako ya hitilafu bila picha ya skrini au usubiri picha ya skrini itayarishwe"</string>
diff --git a/packages/Shell/res/values-ta-rIN/strings.xml b/packages/Shell/res/values-ta-rIN/strings.xml
index bd727ea3871a..1557c4e5c7d8 100644
--- a/packages/Shell/res/values-ta-rIN/strings.xml
+++ b/packages/Shell/res/values-ta-rIN/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"பிழை அறிகà¯à®•ை <xliff:g id="ID">#%d</xliff:g> எடà¯à®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®¤à¯"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"பிழை அறிகà¯à®•ையில௠விவரஙà¯à®•ளைச௠சேரà¯à®•à¯à®•ிறதà¯"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"காதà¯à®¤à®¿à®°à¯à®•à¯à®•வà¯à®®à¯â€¦"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"பிழை அறிகà¯à®•ையைப௠பகிர இடத௠பà¯à®±à®®à®¾à®•த௠தேயà¯à®•à¯à®•வà¯à®®à¯"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"பிழை அறிகà¯à®•ையைப௠பகிர, தடà¯à®Ÿà®µà¯à®®à¯"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"ஸà¯à®•ிரீனà¯à®·à®¾à®Ÿà¯ இலà¯à®²à®¾à®®à®²à¯ பிழை அறிகà¯à®•ையைப௠பகிர, தடà¯à®Ÿà®µà¯à®®à¯ அலà¯à®²à®¤à¯ ஸà¯à®•ிரீனà¯à®·à®¾à®Ÿà¯ à®®à¯à®Ÿà®¿à®¯à¯à®®à¯à®µà®°à¯ˆ காதà¯à®¤à®¿à®°à¯à®•à¯à®•வà¯à®®à¯"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"ஸà¯à®•ிரீனà¯à®·à®¾à®Ÿà¯ இலà¯à®²à®¾à®®à®²à¯ பிழை அறிகà¯à®•ையைப௠பகிர, தடà¯à®Ÿà®µà¯à®®à¯ அலà¯à®²à®¤à¯ ஸà¯à®•ிரீனà¯à®·à®¾à®Ÿà¯ à®®à¯à®Ÿà®¿à®¯à¯à®®à¯à®µà®°à¯ˆ காதà¯à®¤à®¿à®°à¯à®•à¯à®•வà¯à®®à¯"</string>
diff --git a/packages/Shell/res/values-te-rIN/strings.xml b/packages/Shell/res/values-te-rIN/strings.xml
index a6beb3c6a3db..002d5ff32e6e 100644
--- a/packages/Shell/res/values-te-rIN/strings.xml
+++ b/packages/Shell/res/values-te-rIN/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"బగౠనివేదిక <xliff:g id="ID">#%d</xliff:g> సంగà±à°°à°¹à°¿à°‚చబడింది"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"బగౠనివేదికకౠవివరాలనౠజోడిసà±à°¤à±‹à°‚ది"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"దయచేసి వేచి ఉండండి..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"మీ బగౠనివేదికనౠభాగసà±à°µà°¾à°®à±à°¯à°‚ చేయడానికి ఎడమవైపà±à°•à± à°¸à±à°µà±ˆà°ªà± చేయండి"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"మీ బగౠనివేదికనౠభాగసà±à°µà°¾à°®à±à°¯à°‚ చేయడానికి నొకà±à°•à°‚à°¡à°¿"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"à°¸à±à°•à±à°°à±€à°¨à±â€Œà°·à°¾à°Ÿà± లేకà±à°‚à°¡à°¾ మీ బగౠనివే. భాగ. చేయడానికి నొకà±à°•à°‚à°¡à°¿ లేదా à°¸à±à°•à±à°°à±€à°¨à±â€Œà°·à°¾à°Ÿà± à°®à±à°—ిసేదాకా వేచి ఉండండి"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"à°¸à±à°•à±à°°à±€à°¨à±â€Œà°·à°¾à°Ÿà± లేకà±à°‚à°¡à°¾ మీ బగౠనివే. భాగ. చేయడానికి నొకà±à°•à°‚à°¡à°¿ లేదా à°¸à±à°•à±à°°à±€à°¨à±â€Œà°·à°¾à°Ÿà± à°®à±à°—ిసేదాకా వేచి ఉండండి"</string>
diff --git a/packages/Shell/res/values-th/strings.xml b/packages/Shell/res/values-th/strings.xml
index d76bf12526bc..23de43d3ff38 100644
--- a/packages/Shell/res/values-th/strings.xml
+++ b/packages/Shell/res/values-th/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"บันทึà¸à¸£à¸²à¸¢à¸‡à¸²à¸™à¸‚้อบà¸à¸žà¸£à¹ˆà¸­à¸‡ <xliff:g id="ID">#%d</xliff:g> à¹à¸¥à¹‰à¸§"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"à¸à¸³à¸¥à¸±à¸‡à¹€à¸žà¸´à¹ˆà¸¡à¸£à¸²à¸¢à¸¥à¸°à¹€à¸­à¸µà¸¢à¸”ในรายงานข้อบà¸à¸žà¸£à¹ˆà¸­à¸‡"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"โปรดรอสัà¸à¸„รู่…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"à¸à¸§à¸²à¸”ไปทางซ้ายเพื่อà¹à¸Šà¸£à¹Œà¸£à¸²à¸¢à¸‡à¸²à¸™à¸‚้อบà¸à¸žà¸£à¹ˆà¸­à¸‡"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"à¹à¸•ะเพื่อà¹à¸Šà¸£à¹Œà¸£à¸²à¸¢à¸‡à¸²à¸™à¸‚้อบà¸à¸žà¸£à¹ˆà¸­à¸‡à¸‚องคุณ"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"à¹à¸•ะเพื่อà¹à¸Šà¸£à¹Œà¸£à¸²à¸¢à¸‡à¸²à¸™à¸‚้อบà¸à¸žà¸£à¹ˆà¸­à¸‡à¸‚องคุณโดยไม่มีภาพหน้าจอ หรือรอให้ภาพหน้าจอเสร็จสมบูรณ์"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"à¹à¸•ะเพื่อà¹à¸Šà¸£à¹Œà¸£à¸²à¸¢à¸‡à¸²à¸™à¸‚้อบà¸à¸žà¸£à¹ˆà¸­à¸‡à¸‚องคุณโดยไม่มีภาพหน้าจอ หรือรอให้ภาพหน้าจอเสร็จสมบูรณ์"</string>
diff --git a/packages/Shell/res/values-tl/strings.xml b/packages/Shell/res/values-tl/strings.xml
index fc556e12b6dd..2901589e8026 100644
--- a/packages/Shell/res/values-tl/strings.xml
+++ b/packages/Shell/res/values-tl/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Na-capture ang ulat ng bug na <xliff:g id="ID">#%d</xliff:g>"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Pagdaragdag ng mga detalye sa ulat ng bug"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Mangyaring maghintay..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Mag-swipe pakaliwa upang ibahagi ang iyong ulat ng bug"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Mag-tap upang ibahagi ang iyong ulat ng bug"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Mag-tap para ibahagi ang iyong ulat ng bug nang walang screenshot o hintaying matapos ang screenshot"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Mag-tap para ibahagi ang iyong ulat ng bug nang walang screenshot o hintaying matapos ang screenshot"</string>
diff --git a/packages/Shell/res/values-tr/strings.xml b/packages/Shell/res/values-tr/strings.xml
index f2b02c37e0c3..db2c6411fa8c 100644
--- a/packages/Shell/res/values-tr/strings.xml
+++ b/packages/Shell/res/values-tr/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Hata raporu (<xliff:g id="ID">#%d</xliff:g>) yakalandı"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Hata raporuna ayrıntılar ekleniyor"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Lütfen bekleyin…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Hata raporunuzu paylaşmak için hızlıca sola kaydırın"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Hata raporunuzu paylaşmak için hafifçe dokunun"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Hata raporunu ekran görüntüsüz paylaşmak için dokunun veya bitirmek için ekran görüntüsünü bekleyin"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Hata raporunu ekran görüntüsüz paylaşmak için dokunun veya bitirmek için ekran görüntüsünü bekleyin"</string>
diff --git a/packages/Shell/res/values-uk/strings.xml b/packages/Shell/res/values-uk/strings.xml
index 919a2b51d39c..07df70332b52 100644
--- a/packages/Shell/res/values-uk/strings.xml
+++ b/packages/Shell/res/values-uk/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилку <xliff:g id="ID">#%d</xliff:g> Ñтворено"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"ДодаютьÑÑ Ð´ÐµÑ‚Ð°Ð»Ñ– до Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилку"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Зачекайте…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Проведіть пальцем ліворуч, щоб надіÑлати звіт про помилки"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"ТоркнітьÑÑ, щоб надіÑлати Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилку"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"ТоркнітьÑÑ, щоб надіÑлати Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилку без знімка екрана або зачекайте на знімок"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"ТоркнітьÑÑ, щоб надіÑлати Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилку без знімка екрана або зачекайте на знімок"</string>
diff --git a/packages/Shell/res/values-ur-rPK/strings.xml b/packages/Shell/res/values-ur-rPK/strings.xml
index d97a6931bed2..0928501019ed 100644
--- a/packages/Shell/res/values-ur-rPK/strings.xml
+++ b/packages/Shell/res/values-ur-rPK/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"بگ رپورٹ <xliff:g id="ID">#%d</xliff:g> کیپچر ÛÙˆ گئی"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"بگ رپورٹ میں ØªÙØµÛŒÙ„ات شامل Ú©ÛŒ جا رÛÛŒ Ûیں"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Ø¨Ø±Ø§Û Ú©Ø±Ù… انتظار کریں…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"اپنی بگ رپورٹ کا اشتراک کرنے کیلئے بائیں سوائپ کریں"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"اپنی بگ رپورٹ کا اشتراک کرنے کیلئے تھپتھپائیں"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"بغیر اسکرین شاٹ Ú©Û’ بگ رپورٹ کا اشتراک کرنے کیلئے تھپتھپائیں یا اسکرین شاٹ Ú©Û’ ختم Ûونے کا انتظار کریں"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"بغیر اسکرین شاٹ Ú©Û’ بگ رپورٹ کا اشتراک کرنے کیلئے تھپتھپائیں یا اسکرین شاٹ Ú©Û’ ختم Ûونے کا انتظار کریں"</string>
diff --git a/packages/Shell/res/values-uz-rUZ/strings.xml b/packages/Shell/res/values-uz-rUZ/strings.xml
index 605fc1250def..7669dbd1fc79 100644
--- a/packages/Shell/res/values-uz-rUZ/strings.xml
+++ b/packages/Shell/res/values-uz-rUZ/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Xatoliklar hisoboti (<xliff:g id="ID">#%d</xliff:g>) yozib olindi"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Xatoliklar hisobotiga tafsilotlar qo‘shilmoqda"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Iltimos, kuting…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Xatolik hisobotini yuborish uchun barmog‘ingiz bilan chapga suring"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Xatoliklar hisobotini ulashish uchun bosing"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Xatoliklar hisobotini darhol yuborish uchun shu yerga bosing yoki skrinshot saqlanguncha kuting"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Xatoliklar hisobotini darhol yuborish uchun shu yerga bosing yoki skrinshot saqlanguncha kuting"</string>
diff --git a/packages/Shell/res/values-vi/strings.xml b/packages/Shell/res/values-vi/strings.xml
index e9b5a9d83077..ae7bb3e6a53b 100644
--- a/packages/Shell/res/values-vi/strings.xml
+++ b/packages/Shell/res/values-vi/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Äã chụp báo cáo lá»—i <xliff:g id="ID">#%d</xliff:g>"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Äang thêm thông tin chi tiết vào báo cáo lá»—i"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Vui lòng đợi…"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Vuốt sang trái để chia sẻ báo cáo lỗi của bạn"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Nhấn để chia sẻ báo cáo lỗi của bạn"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Bấm để chia sẻ báo cáo lỗi mà không cần ảnh chụp màn hình hoặc đợi hoàn tất ảnh chụp màn hình"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Bấm để chia sẻ báo cáo lỗi mà không cần ảnh chụp màn hình hoặc đợi hoàn tất ảnh chụp màn hình"</string>
diff --git a/packages/Shell/res/values-zh-rCN/strings.xml b/packages/Shell/res/values-zh-rCN/strings.xml
index ce10d56b252a..1da2e1009c19 100644
--- a/packages/Shell/res/values-zh-rCN/strings.xml
+++ b/packages/Shell/res/values-zh-rCN/strings.xml
@@ -18,10 +18,11 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="3701846017049540910">"Shell"</string>
<string name="bugreport_in_progress_title" msgid="4311705936714972757">"正在生æˆé”™è¯¯æŠ¥å‘Š <xliff:g id="ID">#%d</xliff:g>"</string>
- <string name="bugreport_finished_title" msgid="4429132808670114081">"å·²æ•获错误报告 <xliff:g id="ID">#%d</xliff:g>"</string>
+ <string name="bugreport_finished_title" msgid="4429132808670114081">"已获å–错误报告 <xliff:g id="ID">#%d</xliff:g>"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"正在å‘错误报告添加详细信æ¯"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"请ç¨å€™â€¦"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"å‘左滑动å³å¯åˆ†äº«é”™è¯¯æŠ¥å‘Š"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"点按å³å¯åˆ†äº«æ‚¨çš„错误报告"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"点按å³å¯åˆ†äº«ä¸å«å±å¹•截图的错误报告;您也å¯ä»¥ç­‰å¾…å±å¹•截图完æˆ"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"点按å³å¯åˆ†äº«ä¸å«å±å¹•截图的错误报告;您也å¯ä»¥ç­‰å¾…å±å¹•截图完æˆ"</string>
diff --git a/packages/Shell/res/values-zh-rHK/strings.xml b/packages/Shell/res/values-zh-rHK/strings.xml
index 8433d2295799..16d91741a093 100644
--- a/packages/Shell/res/values-zh-rHK/strings.xml
+++ b/packages/Shell/res/values-zh-rHK/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"已擷å–錯誤報告 <xliff:g id="ID">#%d</xliff:g>"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"正在新增錯誤報告詳細資訊"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"è«‹ç¨å€™â€¦"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"å‘左滑動å³å¯åˆ†äº«éŒ¯èª¤å ±å‘Š"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"輕按å³å¯åˆ†äº«éŒ¯èª¤å ±å‘Š"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"輕按以分享錯誤報告 (ä¸åŒ…å«èž¢å¹•擷圖)ï¼Œæˆ–ç­‰å¾…èž¢å¹•ç•«é¢æ“·å–完æˆ"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"輕按以分享錯誤報告 (ä¸åŒ…å«èž¢å¹•擷圖)ï¼Œæˆ–ç­‰å¾…èž¢å¹•ç•«é¢æ“·å–完æˆ"</string>
diff --git a/packages/Shell/res/values-zh-rTW/strings.xml b/packages/Shell/res/values-zh-rTW/strings.xml
index 85dde84a5270..af2a4e05679f 100644
--- a/packages/Shell/res/values-zh-rTW/strings.xml
+++ b/packages/Shell/res/values-zh-rTW/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"已擷å–錯誤報告 <xliff:g id="ID">#%d</xliff:g>"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"正在新增錯誤報告詳細資訊"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"è«‹ç¨å€™â€¦"</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"å‘左滑動å³å¯åˆ†äº«éŒ¯èª¤å ±å‘Š"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"輕觸å³å¯åˆ†äº«éŒ¯èª¤å ±å‘Š"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"輕觸å³å¯åˆ†äº«ç„¡èž¢å¹•擷圖的錯誤報告;您也å¯ä»¥ç­‰å€™èž¢å¹•ç•«é¢æ“·å–完畢"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"輕觸å³å¯åˆ†äº«ç„¡èž¢å¹•擷圖的錯誤報告;您也å¯ä»¥ç­‰å€™èž¢å¹•ç•«é¢æ“·å–完畢"</string>
diff --git a/packages/Shell/res/values-zu/strings.xml b/packages/Shell/res/values-zu/strings.xml
index a12a2b7b62d7..10b0db1b01e4 100644
--- a/packages/Shell/res/values-zu/strings.xml
+++ b/packages/Shell/res/values-zu/strings.xml
@@ -21,7 +21,8 @@
<string name="bugreport_finished_title" msgid="4429132808670114081">"Umbiko wesiphazamisi ongu-<xliff:g id="ID">#%d</xliff:g> uthwetshuliwe"</string>
<string name="bugreport_updating_title" msgid="4423539949559634214">"Ingeza imininingwane kumbiko wesiphazamisi"</string>
<string name="bugreport_updating_wait" msgid="3322151947853929470">"Sicela ulinde..."</string>
- <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Swayiphela kwesokunxele ukuze wabelane umbiko wesiphazamiso sakho"</string>
+ <!-- no translation found for bugreport_finished_text (1223616207145252689) -->
+ <skip />
<string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Thepha ukuze wabelane ngombiko wakho wesiphazamisi"</string>
<string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Thepha ukuze wabelane ngombiko wesiphazamisi ngaphandle kwesithombe-skrini noma ulinde isithombe-skrini ukuthi siqede"</string>
<string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Thepha ukuze wabelane ngombiko wesiphazamisi ngaphandle kwesithombe-skrini noma ulinde isithombe-skrini ukuthi siqede"</string>
diff --git a/packages/Shell/res/values/strings.xml b/packages/Shell/res/values/strings.xml
index 3d6643d8b0a0..5dfac95e3527 100644
--- a/packages/Shell/res/values/strings.xml
+++ b/packages/Shell/res/values/strings.xml
@@ -25,8 +25,8 @@
<!-- Content notification indicating a bugreport is being updated before it can be shared, asking the user to wait [CHAR LIMIT=50] -->
<string name="bugreport_updating_wait">Please wait\u2026</string>
- <!-- Text of notification indicating that swipe left will share the captured bugreport. [CHAR LIMIT=100] -->
- <string name="bugreport_finished_text" product="watch">Swipe left to share your bug report</string>
+ <!-- Text of notification indicating that bugreport will appear on the phone. [CHAR LIMIT=100] -->
+ <string name="bugreport_finished_text" product="watch">The bug report will appear on the phone shortly</string>
<!-- Text of notification indicating that tapping will share the captured bugreport. [CHAR LIMIT=100] -->
<string name="bugreport_finished_text" product="default">Tap to share your bug report</string>
<!-- Text of notification indicating that swipe left will share the captured bugreport, but giving user the option to wait for the screenshot. [CHAR LIMIT=100] -->
diff --git a/packages/Shell/src/com/android/shell/BugreportProgressService.java b/packages/Shell/src/com/android/shell/BugreportProgressService.java
index 6bc4df71fc5c..f04df4b64f84 100644
--- a/packages/Shell/src/com/android/shell/BugreportProgressService.java
+++ b/packages/Shell/src/com/android/shell/BugreportProgressService.java
@@ -212,6 +212,8 @@ public class BugreportProgressService extends Service {
private static final Bundle sNotificationBundle = new Bundle();
+ private boolean mIsWatch;
+
@Override
public void onCreate() {
mContext = getApplicationContext();
@@ -225,6 +227,9 @@ public class BugreportProgressService extends Service {
Log.w(TAG, "Could not create directory " + mScreenshotsDir);
}
}
+ final Configuration conf = mContext.getResources().getConfiguration();
+ mIsWatch = (conf.uiMode & Configuration.UI_MODE_TYPE_MASK) ==
+ Configuration.UI_MODE_TYPE_WATCH;
}
@Override
@@ -439,56 +444,68 @@ public class BugreportProgressService extends Service {
return;
}
+ if (info.finished) {
+ Log.w(TAG, "Not sending progress notification because bugreport has finished already ("
+ + info + ")");
+ return;
+ }
+
final NumberFormat nf = NumberFormat.getPercentInstance();
nf.setMinimumFractionDigits(2);
nf.setMaximumFractionDigits(2);
final String percentageText = nf.format((double) info.progress / info.max);
- final Action cancelAction = new Action.Builder(null, mContext.getString(
- com.android.internal.R.string.cancel), newCancelIntent(mContext, info)).build();
- final Intent infoIntent = new Intent(mContext, BugreportProgressService.class);
- infoIntent.setAction(INTENT_BUGREPORT_INFO_LAUNCH);
- infoIntent.putExtra(EXTRA_ID, info.id);
- final PendingIntent infoPendingIntent =
- PendingIntent.getService(mContext, info.id, infoIntent,
- PendingIntent.FLAG_UPDATE_CURRENT);
- final Action infoAction = new Action.Builder(null,
- mContext.getString(R.string.bugreport_info_action),
- infoPendingIntent).build();
- final Intent screenshotIntent = new Intent(mContext, BugreportProgressService.class);
- screenshotIntent.setAction(INTENT_BUGREPORT_SCREENSHOT);
- screenshotIntent.putExtra(EXTRA_ID, info.id);
- PendingIntent screenshotPendingIntent = mTakingScreenshot ? null : PendingIntent
- .getService(mContext, info.id, screenshotIntent,
- PendingIntent.FLAG_UPDATE_CURRENT);
- final Action screenshotAction = new Action.Builder(null,
- mContext.getString(R.string.bugreport_screenshot_action),
- screenshotPendingIntent).build();
-
- final String title = mContext.getString(R.string.bugreport_in_progress_title, info.id);
+
+ String title = mContext.getString(R.string.bugreport_in_progress_title, info.id);
+
+ // TODO: Remove this workaround when notification progress is implemented on Wear.
+ if (mIsWatch) {
+ nf.setMinimumFractionDigits(0);
+ nf.setMaximumFractionDigits(0);
+ final String watchPercentageText = nf.format((double) info.progress / info.max);
+ title = title + "\n" + watchPercentageText;
+ }
final String name =
info.name != null ? info.name : mContext.getString(R.string.bugreport_unnamed);
- final Notification notification = newBaseNotification(mContext)
+ final Notification.Builder builder = newBaseNotification(mContext)
.setContentTitle(title)
.setTicker(title)
.setContentText(name)
.setProgress(info.max, info.progress, false)
- .setOngoing(true)
- .setContentIntent(infoPendingIntent)
- .setActions(infoAction, screenshotAction, cancelAction)
- .build();
-
- if (info.finished) {
- Log.w(TAG, "Not sending progress notification because bugreport has finished already ("
- + info + ")");
- return;
+ .setOngoing(true);
+
+ // Wear bugreport doesn't need the bug info dialog, screenshot and cancel action.
+ if (!mIsWatch) {
+ final Action cancelAction = new Action.Builder(null, mContext.getString(
+ com.android.internal.R.string.cancel), newCancelIntent(mContext, info)).build();
+ final Intent infoIntent = new Intent(mContext, BugreportProgressService.class);
+ infoIntent.setAction(INTENT_BUGREPORT_INFO_LAUNCH);
+ infoIntent.putExtra(EXTRA_ID, info.id);
+ final PendingIntent infoPendingIntent =
+ PendingIntent.getService(mContext, info.id, infoIntent,
+ PendingIntent.FLAG_UPDATE_CURRENT);
+ final Action infoAction = new Action.Builder(null,
+ mContext.getString(R.string.bugreport_info_action),
+ infoPendingIntent).build();
+ final Intent screenshotIntent = new Intent(mContext, BugreportProgressService.class);
+ screenshotIntent.setAction(INTENT_BUGREPORT_SCREENSHOT);
+ screenshotIntent.putExtra(EXTRA_ID, info.id);
+ PendingIntent screenshotPendingIntent = mTakingScreenshot ? null : PendingIntent
+ .getService(mContext, info.id, screenshotIntent,
+ PendingIntent.FLAG_UPDATE_CURRENT);
+ final Action screenshotAction = new Action.Builder(null,
+ mContext.getString(R.string.bugreport_screenshot_action),
+ screenshotPendingIntent).build();
+ builder.setContentIntent(infoPendingIntent)
+ .setActions(infoAction, screenshotAction, cancelAction);
}
+
if (DEBUG) {
Log.d(TAG, "Sending 'Progress' notification for id " + info.id + " (pid " + info.pid
+ "): " + percentageText);
}
- sendForegroundabledNotification(info.id, notification);
+ sendForegroundabledNotification(info.id, builder.build());
}
private void sendForegroundabledNotification(int id, Notification notification) {
@@ -854,10 +871,7 @@ public class BugreportProgressService extends Service {
// Stop running on foreground, otherwise share notification cannot be dismissed.
stopForegroundWhenDone(id);
- final Configuration conf = mContext.getResources().getConfiguration();
- if ((conf.uiMode & Configuration.UI_MODE_TYPE_MASK) != Configuration.UI_MODE_TYPE_WATCH) {
- triggerLocalNotification(mContext, info);
- }
+ triggerLocalNotification(mContext, info);
}
/**
diff --git a/packages/SystemUI/res/drawable/recents_stack_action_background.xml b/packages/SystemUI/res/drawable/recents_stack_action_background.xml
new file mode 100644
index 000000000000..2a40dd0ec613
--- /dev/null
+++ b/packages/SystemUI/res/drawable/recents_stack_action_background.xml
@@ -0,0 +1,25 @@
+<!--
+Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2 (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.
+-->
+
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="?android:attr/colorControlHighlight">
+ <item android:id="@android:id/mask">
+ <shape>
+ <corners android:radius="@dimen/recents_task_view_rounded_corners_radius" />
+ <solid android:color="@android:color/white" />
+ </shape>
+ </item>
+</ripple> \ No newline at end of file
diff --git a/packages/SystemUI/res/layout/recents_stack_action_button.xml b/packages/SystemUI/res/layout/recents_stack_action_button.xml
index 43b3de1a0244..541000b78f8b 100644
--- a/packages/SystemUI/res/layout/recents_stack_action_button.xml
+++ b/packages/SystemUI/res/layout/recents_stack_action_button.xml
@@ -31,6 +31,6 @@
android:shadowDy="2"
android:shadowRadius="5"
android:fontFamily="sans-serif-medium"
- android:background="?android:selectableItemBackground"
+ android:background="@drawable/recents_stack_action_background"
android:visibility="invisible"
android:forceHasOverlappingRendering="false" />
diff --git a/packages/SystemUI/res/values-af/config.xml b/packages/SystemUI/res/values-af/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-af/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml
index 536a50b1a3a6..847bdb14ee53 100644
--- a/packages/SystemUI/res/values-af/strings.xml
+++ b/packages/SystemUI/res/values-af/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Swerwing"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"EDGE"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g>-limiet"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> waarskuwing"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Werkmodus"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Aandbeligting"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Aandbeligting is aan, tik om af te skakel"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Aandbeligting is af, tik om aan te skakel"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Geen onlangse items nie"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Jy het alles toegemaak"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Programinligting"</string>
diff --git a/packages/SystemUI/res/values-am/config.xml b/packages/SystemUI/res/values-am/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-am/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-am/strings.xml b/packages/SystemUI/res/values-am/strings.xml
index 2c13ff158482..1d7b2238a797 100644
--- a/packages/SystemUI/res/values-am/strings.xml
+++ b/packages/SystemUI/res/values-am/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"ኤሠቲ ኢ"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"á‹áˆ‚ብን በማዛወር ላይ"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> ገደብ"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"የ<xliff:g id="DATA_LIMIT">%s</xliff:g> ማስጠንቀቂያ"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"የሥራ áˆáŠá‰³"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"የáˆáˆ½á‰µ ብርሃን"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"የáˆáˆ½á‰µ ብርሃን በርቷáˆá£ ለማጥá‹á‰µ መታ ያድርጉ"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"የáˆáˆ½á‰µ ብርሃን ጠáቷáˆá£ ለማብራት መታ ያድርጉ"</string>
<string name="recents_empty_message" msgid="808480104164008572">"áˆáŠ•áˆ á‹¨á‰…áˆ­á‰¥ ጊዜ ንጥሎች የሉáˆ"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"áˆáˆ‰áŠ•áˆ áŠáŒˆáˆ­ አጽድተዋáˆ"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"የመተáŒá‰ áˆªá‹« መረጃ"</string>
diff --git a/packages/SystemUI/res/values-ar/config.xml b/packages/SystemUI/res/values-ar/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-ar/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml
index 3bcd0a285234..3090efe181c7 100644
--- a/packages/SystemUI/res/values-ar/strings.xml
+++ b/packages/SystemUI/res/values-ar/strings.xml
@@ -149,6 +149,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"شبكة الجيل الرابع"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"شبكة الجيل الرابع أو أحدث"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"تجوال"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -326,6 +327,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"قيد <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"تحذير <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"وضع العمل"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"إضاءة ليلية"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"الإضاءة الليلية قيد العمل، انقر لإيقاÙها."</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"الإضاءة الليلية قيد Ø§Ù„Ø¥ÙŠÙ‚Ø§ÙØŒ انقر لتشغيلها."</string>
<string name="recents_empty_message" msgid="808480104164008572">"ليست هناك عناصر تم استخدامها مؤخرًا"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"لقد محوتَ كل شيء"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"معلومات التطبيق"</string>
diff --git a/packages/SystemUI/res/values-az-rAZ/config.xml b/packages/SystemUI/res/values-az-rAZ/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-az-rAZ/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-az-rAZ/strings.xml b/packages/SystemUI/res/values-az-rAZ/strings.xml
index a129a43a0853..f54af11ca8d4 100644
--- a/packages/SystemUI/res/values-az-rAZ/strings.xml
+++ b/packages/SystemUI/res/values-az-rAZ/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Rominq"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> limit"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> xəbərdarlığı"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"İş rejimi"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Gecə işığı"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Gecə işığı aktivdir, deaktiv etmək üçün tıklayın"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Gecə işığı deaktivdir, aktiv etmək üçün tıklayın"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Son elementlər yoxdur"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Hərşeyi təmizlədiniz"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Tətbiq haqqında"</string>
diff --git a/packages/SystemUI/res/values-b+sr+Latn/config.xml b/packages/SystemUI/res/values-b+sr+Latn/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-b+sr+Latn/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-b+sr+Latn/strings.xml b/packages/SystemUI/res/values-b+sr+Latn/strings.xml
index ec2af9c67036..dbe4d51df5b8 100644
--- a/packages/SystemUI/res/values-b+sr+Latn/strings.xml
+++ b/packages/SystemUI/res/values-b+sr+Latn/strings.xml
@@ -72,7 +72,7 @@
<string name="screenshot_saving_title" msgid="8242282144535555697">"ÄŒuvanje snimka ekrana..."</string>
<string name="screenshot_saving_text" msgid="2419718443411738818">"Snimak ekrana se Äuva."</string>
<string name="screenshot_saved_title" msgid="6461865960961414961">"Snimak ekrana je napravljen."</string>
- <string name="screenshot_saved_text" msgid="1152839647677558815">"Dodirnite da biste videli snimak ekrana."</string>
+ <string name="screenshot_saved_text" msgid="2685605830386712477">"Dodirnite da biste videli snimak ekrana."</string>
<string name="screenshot_failed_title" msgid="705781116746922771">"Nije moguće napraviti snimak ekrana."</string>
<string name="screenshot_failed_to_save_unknown_text" msgid="7887826345701753830">"DoÅ¡lo je do problema pri Äuvanju snimka ekrana."</string>
<string name="screenshot_failed_to_save_text" msgid="2592658083866306296">"ÄŒuvanje snimka ekrana nije uspelo zbog ograniÄenog memorijskog prostora."</string>
@@ -119,6 +119,7 @@
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Signal za podatke je najjaÄi."</string>
<string name="accessibility_wifi_name" msgid="7202151365171148501">"Povezani ste sa <xliff:g id="WIFI">%s</xliff:g>."</string>
<string name="accessibility_bluetooth_name" msgid="8441517146585531676">"Povezani ste sa <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
+ <string name="accessibility_cast_name" msgid="4026393061247081201">"Povezani smo sa uređajem <xliff:g id="CAST">%s</xliff:g>."</string>
<string name="accessibility_no_wimax" msgid="4329180129727630368">"Nema WiMAX signala."</string>
<string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX signal ima jednu crtu."</string>
<string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX signal ima dve crte."</string>
@@ -143,18 +144,24 @@
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+ <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roming"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
<string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Nema SIM kartice."</string>
+ <string name="accessibility_cell_data" msgid="7080312242791850520">"Podaci za mobilne uređaje"</string>
+ <string name="accessibility_cell_data_on" msgid="4310018593519761767">"Podaci za mobilne ureÄ‘aje su ukljuÄeni"</string>
<string name="accessibility_cell_data_off" msgid="8000803571751407635">"Podaci za mobilne ureÄ‘aje su iskljuÄeni"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth privezivanje."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Režim rada u avionu."</string>
<string name="accessibility_no_sims" msgid="3957997018324995781">"Nema SIM kartice."</string>
<string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Promena mreže mobilnog operatera."</string>
+ <string name="accessibility_battery_details" msgid="7645516654955025422">"Otvori detalje o bateriji"</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Baterija je na <xliff:g id="NUMBER">%d</xliff:g> posto."</string>
+ <string name="accessibility_battery_level_charging" msgid="1147587904439319646">"Baterija se puni, <xliff:g id="BATTERY_PERCENTAGE">%d</xliff:g> procenata."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Sistemska podešavanja."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Obaveštenja."</string>
<string name="accessibility_remove_notification" msgid="3603099514902182350">"Obriši obaveštenje."</string>
@@ -192,9 +199,11 @@
<string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"PodeÅ¡avanje Ne uznemiravaj je ukljuÄeno, samo prioritetni prekidi."</string>
<string name="accessibility_quick_settings_dnd_none_on" msgid="6882582132662613537">"PodeÅ¡avanje Ne uznemiravaj je ukljuÄeno, potpuna tiÅ¡ina."</string>
<string name="accessibility_quick_settings_dnd_alarms_on" msgid="9152834845587554157">"PodeÅ¡avanje Ne uznemiravaj je ukljuÄeno, samo alarmi."</string>
+ <string name="accessibility_quick_settings_dnd" msgid="6607873236717185815">"Ne uznemiravaj."</string>
<string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"PodeÅ¡avanje Ne uznemiravaj je iskljuÄeno."</string>
<string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"PodeÅ¡avanje Ne uznemiravaj je iskljuÄeno."</string>
<string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"PodeÅ¡avanje Ne uznemiravaj je ukljuÄeno."</string>
+ <string name="accessibility_quick_settings_bluetooth" msgid="6341675755803320038">"Bluetooth."</string>
<string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth je iskljuÄen."</string>
<string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth je ukljuÄen."</string>
<string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth se povezuje."</string>
@@ -239,6 +248,11 @@
<string name="accessibility_location_active" msgid="2427290146138169014">"Ima aktivnih zahteva za lokaciju"</string>
<string name="accessibility_clear_all" msgid="5235938559247164925">"Obriši sva obaveštenja."</string>
<string name="notification_group_overflow_indicator" msgid="1863231301642314183">"i još <xliff:g id="NUMBER">%s</xliff:g>"</string>
+ <plurals name="notification_group_overflow_description" formatted="false" msgid="4579313201268495404">
+ <item quantity="one">Još <xliff:g id="NUMBER_1">%s</xliff:g> obaveštenje u grupi.</item>
+ <item quantity="few">Još <xliff:g id="NUMBER_1">%s</xliff:g> obaveštenja u grupi.</item>
+ <item quantity="other">Još <xliff:g id="NUMBER_1">%s</xliff:g> obaveštenja u grupi.</item>
+ </plurals>
<string name="status_bar_notification_inspect_item_title" msgid="5668348142410115323">"Podešavanja obaveštenja"</string>
<string name="status_bar_notification_app_settings_title" msgid="5525260160341558869">"Podešavanja za <xliff:g id="APP_NAME">%s</xliff:g>"</string>
<string name="accessibility_rotation_lock_off" msgid="4062780228931590069">"Ekran će se automatski rotirati."</string>
@@ -248,7 +262,7 @@
<string name="accessibility_rotation_lock_on_landscape_changed" msgid="3135965553707519743">"Ekran je sada zakljuÄan u vertikalnom položaju."</string>
<string name="accessibility_rotation_lock_on_portrait_changed" msgid="8922481981834012126">"Ekran je sada zakljuÄan u horizontalnom položaju."</string>
<string name="dessert_case" msgid="1295161776223959221">"Vitrina sa poslasticama"</string>
- <string name="start_dreams" msgid="7219575858348719790">"Sanjarenje"</string>
+ <string name="start_dreams" msgid="5640361424498338327">"ÄŒuvar ekrana"</string>
<string name="ethernet_label" msgid="7967563676324087464">"Eternet"</string>
<string name="quick_settings_dnd_label" msgid="8735855737575028208">"Ne uznemiravaj"</string>
<string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Samo prioritetni prekidi"</string>
@@ -260,6 +274,8 @@
<string name="quick_settings_bluetooth_detail_empty_text" msgid="4910015762433302860">"Nije dostupan nijedan upareni uređaj"</string>
<string name="quick_settings_brightness_label" msgid="6968372297018755815">"Osvetljenost"</string>
<string name="quick_settings_rotation_unlocked_label" msgid="7305323031808150099">"Automatska rotacija"</string>
+ <string name="accessibility_quick_settings_rotation" msgid="4231661040698488779">"Automatsko rotiranje ekrana"</string>
+ <string name="accessibility_quick_settings_rotation_value" msgid="1428962304214992318">"Podesi na <xliff:g id="ID_1">%s</xliff:g>"</string>
<string name="quick_settings_rotation_locked_label" msgid="6359205706154282377">"Rotacija je zakljuÄana"</string>
<string name="quick_settings_rotation_locked_portrait_label" msgid="5102691921442135053">"Vertikalni prikaz"</string>
<string name="quick_settings_rotation_locked_landscape_label" msgid="8553157770061178719">"Horizontalni prikaz"</string>
@@ -278,6 +294,7 @@
<string name="quick_settings_wifi_not_connected" msgid="7171904845345573431">"Veza nije uspostavljena"</string>
<string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Nema mreže"</string>
<string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"Wi-Fi je iskljuÄen"</string>
+ <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi je ukljuÄen"</string>
<string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Nije dostupna nijedna Wi-Fi mreža"</string>
<string name="quick_settings_cast_title" msgid="7709016546426454729">"Prebacivanje"</string>
<string name="quick_settings_casting" msgid="6601710681033353316">"Prebacivanje"</string>
@@ -304,6 +321,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"OgraniÄenje od <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Upozorenje za <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Režim rada"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Noćno svetlo"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Noćno svetlo je ukljuÄeno, dodirnite da biste ga iskljuÄili"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Noćno svetlo je iskljuÄeno, dodirnite da biste ga ukljuÄili"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Nema nedavnih stavki"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Obrisali ste sve"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Informacije o aplikaciji"</string>
@@ -313,6 +333,7 @@
<string name="recents_launch_disabled_message" msgid="1624523193008871793">"Aplikacija <xliff:g id="APP">%s</xliff:g> je onemogućena u bezbednom režimu."</string>
<string name="recents_stack_action_button_label" msgid="6593727103310426253">"Obriši sve"</string>
<string name="recents_incompatible_app_message" msgid="5075812958564082451">"Aplikacija ne podržava podeljeni ekran"</string>
+ <string name="recents_drag_hint_message" msgid="2649739267073203985">"Prevucite ovde da biste koristili razdeljeni ekran"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Podeli horizontalno"</string>
<string name="recents_multistack_add_stack_dialog_split_vertical" msgid="9075292233696180813">"Podeli vertikalno"</string>
<string name="recents_multistack_add_stack_dialog_split_custom" msgid="4177837597513701943">"Prilagođeno deljenje"</string>
@@ -330,7 +351,7 @@
<string name="zen_silence_introduction" msgid="3137882381093271568">"Ovo blokira SVE zvukove i vibracije ukljuÄujući alarme, muziku, video snimke i igre."</string>
<string name="keyguard_more_overflow_text" msgid="9195222469041601365">"+<xliff:g id="NUMBER_OF_NOTIFICATIONS">%d</xliff:g>"</string>
<string name="speed_bump_explanation" msgid="1288875699658819755">"Manje hitna obaveštenja su u nastavku"</string>
- <string name="notification_tap_again" msgid="8524949573675922138">"Dodirnite ponovo da biste otvorili"</string>
+ <string name="notification_tap_again" msgid="7590196980943943842">"Dodirnite ponovo da biste otvorili"</string>
<string name="keyguard_unlock" msgid="8043466894212841998">"Prevucite nagore da biste otkljuÄali"</string>
<string name="phone_hint" msgid="4872890986869209950">"Prevucite od ikone za telefon"</string>
<string name="voice_hint" msgid="8939888732119726665">"Prevucite od ikone za glasovnu pomoć"</string>
@@ -408,7 +429,7 @@
<string name="accessibility_volume_expand" msgid="5946812790999244205">"Proširi"</string>
<string name="accessibility_volume_collapse" msgid="3609549593031810875">"Skupi"</string>
<string name="screen_pinning_title" msgid="3273740381976175811">"Ekran je zakaÄen"</string>
- <string name="screen_pinning_description" msgid="3577937698406151604">"Zbog toga se on stalno prikazuje dok ga ne otkaÄite. Dodirnite i zadržite Nazad da biste ga otkaÄili."</string>
+ <string name="screen_pinning_description" msgid="7238941806855968768">"Na ovaj naÄin se ovo stalno prikazuje dok ga ne otkaÄite. Dodirnite i zadržite Nazad da biste ga otkaÄili."</string>
<string name="screen_pinning_positive" msgid="3783985798366751226">"Važi"</string>
<string name="screen_pinning_negative" msgid="3741602308343880268">"Ne, hvala"</string>
<string name="quick_settings_reset_confirmation_title" msgid="748792586749897883">"Želite li da sakrijete <xliff:g id="TILE_LABEL">%1$s</xliff:g>?"</string>
@@ -418,11 +439,25 @@
<string name="volumeui_prompt_allow" msgid="7954396902482228786">"Dozvoli"</string>
<string name="volumeui_prompt_deny" msgid="5720663643411696731">"Odbij"</string>
<string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> je dijalog za jaÄinu zvuka"</string>
- <string name="volumeui_notification_text" msgid="1826889705095768656">"Dodirnite da biste vratili original."</string>
+ <string name="volumeui_notification_text" msgid="8819536904234337445">"Dodirnite da biste vratili original."</string>
<string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Koristite profil za Work"</string>
+ <string-array name="volume_stream_titles">
+ <item msgid="5841843895402729630">"Pozovi"</item>
+ <item msgid="5997713001067658559">"Sistem"</item>
+ <item msgid="7858983209929864160">"Prsten"</item>
+ <item msgid="1850038478268896762">"Medijumi"</item>
+ <item msgid="8265110906352372092">"Alarm"</item>
+ <item msgid="5339394737636839168"></item>
+ <item msgid="2951313578278086204">"Bluetooth"</item>
+ <item msgid="2919807739709798970"></item>
+ <item msgid="150349973435223405"></item>
+ <item msgid="6761963760295549099"></item>
+ </string-array>
<string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Dodirnite da biste ukljuÄili zvuk."</string>
<string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Dodirnite da biste podesili na vibraciju. Zvuk usluga pristupaÄnosti će možda biti iskljuÄen."</string>
<string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Dodirnite da biste iskljuÄili zvuk. Zvuk usluga pristupaÄnosti će možda biti iskljuÄen."</string>
+ <string name="volume_dialog_accessibility_shown_message" msgid="1834631467074259998">"Kontrole za jaÄinu zvuka (%s) su prikazane. Prevucite nagore da biste ih odbacili."</string>
+ <string name="volume_dialog_accessibility_dismissed_message" msgid="51543526013711399">"Kontrole za jaÄinu zvuka su sakrivene"</string>
<string name="system_ui_tuner" msgid="708224127392452018">"Tjuner za korisniÄki interfejs sistema"</string>
<string name="show_battery_percentage" msgid="5444136600512968798">"Prikazuj ugrađeni procenat baterije"</string>
<string name="show_battery_percentage_summary" msgid="3215025775576786037">"Prikazivanje nivoa napunjenosti baterije u procentima unutar ikone na statusnoj traci kada se baterija ne puni"</string>
@@ -467,37 +502,27 @@
<string name="block" msgid="2734508760962682611">"Blokiraj sva obaveštenja"</string>
<string name="do_not_silence" msgid="6878060322594892441">"Ne iskljuÄuj zvuk"</string>
<string name="do_not_silence_block" msgid="4070647971382232311">"Ne iskljuÄuju zvuk niti blokiraj"</string>
- <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Prikaži kompletna podešavanja važnosti"</string>
- <string name="blocked_importance" msgid="5198578988978234161">"Blokirana"</string>
- <string name="min_importance" msgid="1901894910809414782">"Veoma mala važnost"</string>
- <string name="low_importance" msgid="4109929986107147930">"Mala važnost"</string>
- <string name="default_importance" msgid="8192107689995742653">"UobiÄajena važnost"</string>
- <string name="high_importance" msgid="1527066195614050263">"Velika važnost"</string>
- <string name="max_importance" msgid="5089005872719563894">"Važnost: hitno"</string>
- <string name="notification_importance_blocked" msgid="2397192642657872872">"Ova obaveštenja se nikada ne prikazuju"</string>
- <string name="notification_importance_min" msgid="1938190340516905748">"Prikazuju se u dnu liste obaveštenja bez zvuka"</string>
- <string name="notification_importance_low" msgid="3657252049508213048">"Ova obaveštenja se prikazuju bez zvuka"</string>
- <string name="notification_importance_default" msgid="4466466472622442175">"Dozvolite da ova obaveštenja emituju zvuk"</string>
- <string name="notification_importance_high" msgid="2135428926525093825">"Nakratko se prikazuju na ekranu i emituju zvuk"</string>
- <string name="notification_importance_max" msgid="5806278962376556491">"Prikazuju se u vrhu liste obaveštenja, nakratko se prikazuju na ekranu i emituju zvuk"</string>
+ <string name="tuner_full_importance_settings" msgid="3207312268609236827">"Napredne kontrole za obaveštenja"</string>
+ <string name="tuner_full_importance_settings_on" msgid="7545060756610299966">"UkljuÄeno"</string>
+ <string name="tuner_full_importance_settings_off" msgid="8208165412614935229">"IskljuÄeno"</string>
+ <string name="power_notification_controls_description" msgid="4372459941671353358">"Pomoću naprednih kontrola za obaveÅ¡tenja možete da podesite nivo važnosti od 0. do 5. za obaveÅ¡tenja aplikacije. \n\n"<b>"5. nivo"</b>" \n– Prikazuju se u vrhu liste obaveÅ¡tenja \n- Dozvoli prekid režima celog ekrana \n– Uvek zaviruj \n\n"<b>"4. nivo"</b>" \n– SpreÄi prekid režima celog ekrana \n– Uvek zaviruj \n\n"<b>"3. nivo"</b>" \n– SpreÄi prekid režima celog ekrana \n– Nikada ne zaviruj \n\n"<b>"2. nivo"</b>" \n– SpreÄi prekid režima celog ekrana \n– Nikada ne zaviruj \n– Nikada ne proizvodi zvuk ili vibraciju \n\n"<b>"1. nivo"</b>" \n– SpreÄi prekid režima celog ekrana \n– Nikada ne zaviruj \n– Nikada ne proizvodi zvuk ili vibraciju \n– Sakrij na zakljuÄanom ekranu i statusnoj traci \n– Prikazuju se u dnu liste obaveÅ¡tenja \n\n"<b>"0. nivo"</b>" \n– Blokiraj sva obaveÅ¡tenja iz aplikacije"</string>
+ <string name="user_unspecified_importance" msgid="361613856933432117">"Važnost: Automatski"</string>
+ <string name="blocked_importance" msgid="5035073235408414397">"Važnost: 0. nivo"</string>
+ <string name="min_importance" msgid="560779348928574878">"Važnost: 1. nivo"</string>
+ <string name="low_importance" msgid="7571498511534140">"Važnost: 2. nivo"</string>
+ <string name="default_importance" msgid="7609889614553354702">"Važnost: 3. nivo"</string>
+ <string name="high_importance" msgid="3441537905162782568">"Važnost: 4. nivo"</string>
+ <string name="max_importance" msgid="4880179829869865275">"Važnost: 5. nivo"</string>
+ <string name="notification_importance_user_unspecified" msgid="2868359605125272874">"Aplikacija određuje važnost svakog obaveštenja."</string>
+ <string name="notification_importance_blocked" msgid="4237497046867398057">"Nikada ne prikazuj obaveštenja iz ove aplikacije"</string>
+ <string name="notification_importance_min" msgid="7844224511187027155">"Bez prekida režima celog ekrana, zavirivanja, zvuka ili vibracije. Sakrij na zakljuÄanom ekranu i statusnoj traci."</string>
+ <string name="notification_importance_low" msgid="7950291702044409847">"Bez prekida režima celog ekrana, zavirivanja, zvuka ili vibracije."</string>
+ <string name="notification_importance_default" msgid="5924405820269074915">"Bez prekida režima celog ekrana ili zavirivanja."</string>
+ <string name="notification_importance_high" msgid="1729480727023990427">"Uvek zaviruj. Bez prekida režima celog ekrana."</string>
+ <string name="notification_importance_max" msgid="2508384624461849111">"Uvek zaviruj i dozvoli prekid režima celog ekrana."</string>
<string name="notification_more_settings" msgid="816306283396553571">"Još podešavanja"</string>
<string name="notification_done" msgid="5279426047273930175">"Gotovo"</string>
<string name="notification_gear_accessibility" msgid="94429150213089611">"Kontrole obaveštenja za aplikaciju <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
- <string name="color_and_appearance" msgid="1254323855964993144">"Boja i izgled"</string>
- <string name="night_mode" msgid="3540405868248625488">"Noćni režim"</string>
- <string name="calibrate_display" msgid="5974642573432039217">"Kalibrišite ekran"</string>
- <string name="night_mode_on" msgid="5597545513026541108">"UkljuÄeno"</string>
- <string name="night_mode_off" msgid="8035605276956057508">"IskljuÄeno"</string>
- <string name="turn_on_automatically" msgid="4167565356762016083">"Automatski ukljuÄi"</string>
- <string name="turn_on_auto_summary" msgid="2190994512406701520">"Pređite na noćni režim u zavisnosti od lokacije i doba dana"</string>
- <string name="when_night_mode_on" msgid="2969436026899172821">"Kada je noćni režim ukljuÄen"</string>
- <string name="use_dark_theme" msgid="2900938704964299312">"Koristi tamnu temu za Android OS"</string>
- <string name="adjust_tint" msgid="3398569573231409878">"Prilagodi senku"</string>
- <string name="adjust_brightness" msgid="980039329808178246">"Prilagodi osvetljenost"</string>
- <string name="night_mode_disclaimer" msgid="598914896926759578">"Tamna tema se primenjuje na kljuÄne delove Android OS-a koji se obiÄno prikazuju u svetloj temi, poput PodeÅ¡avanja."</string>
- <string name="color_apply" msgid="9212602012641034283">"Primeni"</string>
- <string name="color_revert_title" msgid="4746666545480534663">"Potvrdite podešavanja"</string>
- <string name="color_revert_message" msgid="9116001069397996691">"Neka podeÅ¡avanja boja mogu da uÄine ureÄ‘aj neupotrebljivim. Kliknite na Potvrdi da biste potvrdili ova podeÅ¡avanja boja, poÅ¡to će se u suprotnom ova podeÅ¡avanja resetovati nakon 10 sekundi."</string>
<string name="battery_panel_title" msgid="7944156115535366613">"Potrošnja baterije"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Ušteda baterije nije dostupna tokom punjenja"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Ušteda baterije"</string>
@@ -594,10 +619,16 @@
</string-array>
<string name="other" msgid="4060683095962566764">"Drugo"</string>
<string name="accessibility_divider" msgid="5903423481953635044">"Razdelnik podeljenog ekrana"</string>
- <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Pomeri nadole"</string>
- <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Pomeri nagore"</string>
- <string name="accessibility_action_divider_move_left" msgid="9218189832115847253">"Pomeri ulevo"</string>
- <string name="accessibility_action_divider_move_right" msgid="4671522715182567972">"Pomeri udesno"</string>
+ <string name="accessibility_action_divider_left_full" msgid="2801570521881574972">"Režim celog ekrana za levi ekran"</string>
+ <string name="accessibility_action_divider_left_70" msgid="3612060638991687254">"Levi ekran 70%"</string>
+ <string name="accessibility_action_divider_left_50" msgid="1248083470322193075">"Levi ekran 50%"</string>
+ <string name="accessibility_action_divider_left_30" msgid="543324403127069386">"Levi ekran 30%"</string>
+ <string name="accessibility_action_divider_right_full" msgid="4639381073802030463">"Režim celog ekrana za donji ekran"</string>
+ <string name="accessibility_action_divider_top_full" msgid="5357010904067731654">"Režim celog ekrana za gornji ekran"</string>
+ <string name="accessibility_action_divider_top_70" msgid="5090779195650364522">"Gornji ekran 70%"</string>
+ <string name="accessibility_action_divider_top_50" msgid="6385859741925078668">"Gornji ekran 50%"</string>
+ <string name="accessibility_action_divider_top_30" msgid="6201455163864841205">"Gornji ekran 30%"</string>
+ <string name="accessibility_action_divider_bottom_full" msgid="301433196679548001">"Režim celog ekrana za donji ekran"</string>
<string name="accessibility_qs_edit_tile_label" msgid="8374924053307764245">"<xliff:g id="POSITION">%1$d</xliff:g>. pozicija, <xliff:g id="TILE_NAME">%2$s</xliff:g>. Dvaput dodirnite da biste izmenili."</string>
<string name="accessibility_qs_edit_add_tile_label" msgid="8133209638023882667">"<xliff:g id="TILE_NAME">%1$s</xliff:g>. Dvaput dodirnite da biste dodali."</string>
<string name="accessibility_qs_edit_position_label" msgid="5055306305919289819">"<xliff:g id="POSITION">%1$d</xliff:g>. pozicija. Dvaput dodirnite da biste izabrali."</string>
@@ -607,9 +638,17 @@
<string name="accessibility_qs_edit_tile_removed" msgid="8584304916627913440">"PloÄica <xliff:g id="TILE_NAME">%1$s</xliff:g> je uklonjena"</string>
<string name="accessibility_qs_edit_tile_moved" msgid="4343693412689365038">"PloÄica <xliff:g id="TILE_NAME">%1$s</xliff:g> je premeÅ¡tena na <xliff:g id="POSITION">%2$d</xliff:g>. poziciju"</string>
<string name="accessibility_desc_quick_settings_edit" msgid="8073587401747016103">"UreÄ‘ivaÄ za Brza podeÅ¡avanja."</string>
+ <string name="accessibility_desc_notification_icon" msgid="8352414185263916335">"Obaveštenja za <xliff:g id="ID_1">%1$s</xliff:g>: <xliff:g id="ID_2">%2$s</xliff:g>"</string>
<string name="dock_forced_resizable" msgid="5914261505436217520">"Aplikacija možda neće funkcionisati sa podeljenim ekranom."</string>
<string name="dock_non_resizeble_failed_to_dock_text" msgid="3871617304250207291">"Aplikacija ne podržava podeljeni ekran."</string>
- <string name="accessibility_quick_settings_expand" msgid="4982484435775933070">"Proširi Brza podešavanja."</string>
- <!-- no translation found for accessibility_quick_settings_page (5032979051755200721) -->
- <skip />
+ <string name="accessibility_quick_settings_settings" msgid="6132460890024942157">"Otvori Podešavanja."</string>
+ <string name="accessibility_quick_settings_expand" msgid="2375165227880477530">"Otvori Brza podešavanja."</string>
+ <string name="accessibility_quick_settings_collapse" msgid="1792625797142648105">"Zatvori Brza podešavanja."</string>
+ <string name="accessibility_quick_settings_alarm_set" msgid="1863000242431528676">"Alarm je podešen."</string>
+ <string name="accessibility_quick_settings_user" msgid="1567445362870421770">"Prijavljeni ste kao <xliff:g id="ID_1">%s</xliff:g>"</string>
+ <string name="accessibility_quick_settings_no_internet" msgid="31890692343084075">"Nema interneta."</string>
+ <string name="accessibility_quick_settings_open_details" msgid="4230931801728005194">"Otvori detalje."</string>
+ <string name="accessibility_quick_settings_open_settings" msgid="7806613775728380737">"Otvori podešavanja za <xliff:g id="ID_1">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_edit" msgid="7839992848995240393">"Izmeni redosled podešavanja."</string>
+ <string name="accessibility_quick_settings_page" msgid="5032979051755200721">"<xliff:g id="ID_1">%1$d</xliff:g>. strana od <xliff:g id="ID_2">%2$d</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-b+sr+Latn/strings_tv.xml b/packages/SystemUI/res/values-b+sr+Latn/strings_tv.xml
index d026d2c855de..8b01a835587c 100644
--- a/packages/SystemUI/res/values-b+sr+Latn/strings_tv.xml
+++ b/packages/SystemUI/res/values-b+sr+Latn/strings_tv.xml
@@ -24,7 +24,10 @@
<string name="pip_play" msgid="674145557658227044">"Pusti"</string>
<string name="pip_pause" msgid="8412075640017218862">"Pauziraj"</string>
<string name="pip_hold_home" msgid="340086535668778109"><b>"POÄŒETNI EKRAN"</b>" kont. PIP"</string>
- <string name="pip_onboarding_description" msgid="2882896641362814195">"Pritisnite i zadržite dugme POČETNI EKRAN da biste kontrolisali PIP"</string>
+ <string name="pip_onboarding_title" msgid="7850436557670253991">"Slika u slici"</string>
+ <string name="pip_onboarding_description" msgid="4028124563309465267">"Na ovaj naÄin će video biti prikazan dok ne pustite neki drugi. Pritisnite i zadržite "<b>"POÄŒETNA"</b>" da biste ga kontrolisali."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Važi"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Odbaci"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-be-rBY/config.xml b/packages/SystemUI/res/values-be-rBY/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-be-rBY/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-be-rBY/strings.xml b/packages/SystemUI/res/values-be-rBY/strings.xml
index 71e3cb18b674..8ed3d8d320b8 100644
--- a/packages/SystemUI/res/values-be-rBY/strings.xml
+++ b/packages/SystemUI/res/values-be-rBY/strings.xml
@@ -53,8 +53,8 @@
<string name="bluetooth_tethered" msgid="7094101612161133267">"ПрывÑÐ·Ð°Ð½Ñ‹Ñ Ð¿Ñ€Ð°Ð· Bluetooth"</string>
<string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Ðалада метадаў уводу"</string>
<string name="status_bar_use_physical_keyboard" msgid="7551903084416057810">"Ð¤Ñ–Ð·Ñ–Ñ‡Ð½Ð°Ñ ÐºÐ»Ð°Ð²Ñ–Ñтура"</string>
- <string name="usb_device_permission_prompt" msgid="834698001271562057">"Дазволіць праыкладанню <xliff:g id="APPLICATION">%1$s</xliff:g> атрымлiваць доÑтуп да прылады USB?"</string>
- <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Дазволіць прыкладанню <xliff:g id="APPLICATION">%1$s</xliff:g> доÑтуп да прылады USB?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Дазволіць праграме <xliff:g id="APPLICATION">%1$s</xliff:g> атрымлiваць доÑтуп да прылады USB?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Дазволіць праграме <xliff:g id="APPLICATION">%1$s</xliff:g> доÑтуп да USB-акÑеÑуара?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Ðдкрыць <xliff:g id="ACTIVITY">%1$s</xliff:g>, калі гÑÑ‚Ð°Ñ USB-прылада падлучанаÑ?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Ðдкрыць <xliff:g id="ACTIVITY">%1$s</xliff:g>, калі гÑÑ‚Ð°Ñ USB-прылада падлучанаÑ?"</string>
<string name="usb_accessory_uri_prompt" msgid="513450621413733343">"ÐÑма ÑžÑталÑв. прыкл. Ð´Ð»Ñ Ð¿Ñ€Ð°Ñ†Ñ‹ з гÑтай прыл. USB. Больш падраб. пра гÑтую прыл.: <xliff:g id="URL">%1$s</xliff:g>"</string>
@@ -73,7 +73,7 @@
<string name="screenshot_saving_title" msgid="8242282144535555697">"Захаванне Ñкрыншота..."</string>
<string name="screenshot_saving_text" msgid="2419718443411738818">"Скрыншот захаваны."</string>
<string name="screenshot_saved_title" msgid="6461865960961414961">"Скрыншот зроблены"</string>
- <string name="screenshot_saved_text" msgid="1152839647677558815">"ÐаціÑніце, каб прагледзець Ñкрыншот"</string>
+ <string name="screenshot_saved_text" msgid="2685605830386712477">"ДакраніцеÑÑ, каб прагледзець здымак Ñкрана."</string>
<string name="screenshot_failed_title" msgid="705781116746922771">"Ðе атрымалаÑÑ Ð·Ñ€Ð°Ð±iць Ñкрыншот."</string>
<string name="screenshot_failed_to_save_unknown_text" msgid="7887826345701753830">"ÐŸÐ°Ð´Ñ‡Ð°Ñ Ð·Ð°Ñ…Ð°Ð²Ð°Ð½Ð½Ñ Ñкрыншота адбылаÑÑ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°."</string>
<string name="screenshot_failed_to_save_text" msgid="2592658083866306296">"Ðемагчыма захаваць здымак Ñкрана, бо мала меÑца Ñž памÑці."</string>
@@ -98,7 +98,7 @@
<string name="voice_assist_label" msgid="3956854378310019854">"адкрыць галаÑавую дапамогу"</string>
<string name="camera_label" msgid="7261107956054836961">"адкрыць камеру"</string>
<string name="recents_caption_resize" msgid="3517056471774958200">"Выберыце новы макет заданнÑÑž"</string>
- <string name="cancel" msgid="6442560571259935130">"ÐдмÑніць"</string>
+ <string name="cancel" msgid="6442560571259935130">"СкаÑаваць"</string>
<string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Кнопка ÑумÑшчальнаÑці маштаба."</string>
<string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Маштабаванне малых Ñлементаў Ð´Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆÐ°Ð³Ð° Ñкрана."</string>
<string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth-ÑувÑзь."</string>
@@ -120,6 +120,7 @@
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Поўны Ñігнал перадачы дадзеных."</string>
<string name="accessibility_wifi_name" msgid="7202151365171148501">"Падключаны да <xliff:g id="WIFI">%s</xliff:g>."</string>
<string name="accessibility_bluetooth_name" msgid="8441517146585531676">"Падлучаны да <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
+ <string name="accessibility_cast_name" msgid="4026393061247081201">"ÐÑць падключÑнне да <xliff:g id="CAST">%s</xliff:g>."</string>
<string name="accessibility_no_wimax" msgid="4329180129727630368">"ÐÑма Ñiгналу WiMAX."</string>
<string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"Ðдзiн Ñлупок Ñiгналу WiMAX."</string>
<string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"Два Ñлупкi Ñiгналу WiMAX."</string>
@@ -135,7 +136,7 @@
<string name="accessibility_three_bars" msgid="2648241415119396648">"Тры Ñлупкi."</string>
<string name="accessibility_signal_full" msgid="9122922886519676839">"Сігнал поўны."</string>
<string name="accessibility_desc_on" msgid="2385254693624345265">"Уключана."</string>
- <string name="accessibility_desc_off" msgid="6475508157786853157">"Ðдключана."</string>
+ <string name="accessibility_desc_off" msgid="6475508157786853157">"Выключана."</string>
<string name="accessibility_desc_connected" msgid="8366256693719499665">"Падключана."</string>
<string name="accessibility_desc_connecting" msgid="3812924520316280149">"ПадлучÑнне."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
@@ -144,20 +145,26 @@
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+ <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Роўмінг"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
<string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"ÐÑма SIM-карты."</string>
+ <string name="accessibility_cell_data" msgid="7080312242791850520">"Ð¡Ð¾Ñ‚Ð°Ð²Ð°Ñ Ð¿ÐµÑ€Ð°Ð´Ð°Ñ‡Ð° даных"</string>
+ <string name="accessibility_cell_data_on" msgid="4310018593519761767">"Ð¡Ð¾Ñ‚Ð°Ð²Ð°Ñ Ð¿ÐµÑ€Ð°Ð´Ð°Ñ‡Ð° даных уключана"</string>
<string name="accessibility_cell_data_off" msgid="8000803571751407635">"ÐœÐ°Ð±Ñ–Ð»ÑŒÐ½Ð°Ñ Ð¿ÐµÑ€Ð°Ð´Ð°Ñ‡Ð° даных адключана"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"СувÑзь па Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"РÑжым палёту."</string>
<string name="accessibility_no_sims" msgid="3957997018324995781">"ÐÑма SIM-карты."</string>
<string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"ЗмÑненне аператара Ñеткі."</string>
+ <string name="accessibility_battery_details" msgid="7645516654955025422">"Паказаць падрабÑзную інфармацыю пра акумулÑтар"</string>
<!-- String.format failed for translation -->
<!-- no translation found for accessibility_battery_level (7451474187113371965) -->
<skip />
+ <string name="accessibility_battery_level_charging" msgid="1147587904439319646">"Зарадка акумулÑтара, працÑнтаў: <xliff:g id="BATTERY_PERCENTAGE">%d</xliff:g>."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"СіÑÑ‚ÑÐ¼Ð½Ñ‹Ñ Ð½Ð°Ð»Ð°Ð´Ñ‹."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"ÐпавÑшчÑнні."</string>
<string name="accessibility_remove_notification" msgid="3603099514902182350">"Выдаліць апавÑшчÑнне."</string>
@@ -195,9 +202,11 @@
<string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"РÑжым «Ðе турбаваць» укл., толькі прыÑрытÑтныÑ."</string>
<string name="accessibility_quick_settings_dnd_none_on" msgid="6882582132662613537">"РÑжым «Ðе турбаваць» укл., Ð¿Ð¾ÑžÐ½Ð°Ñ Ñ†Ñ–ÑˆÑ‹Ð½Ñ."</string>
<string name="accessibility_quick_settings_dnd_alarms_on" msgid="9152834845587554157">"РÑжым «Ðе турбаваць» укл., толькі будзільнікі."</string>
+ <string name="accessibility_quick_settings_dnd" msgid="6607873236717185815">"Ðе турбаваць."</string>
<string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"РÑжым «Ðе турбаваць» выкл."</string>
<string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"РÑжым «Ðе турбаваць» выкл."</string>
<string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"РÑжым «Ðе турбаваць» укл."</string>
+ <string name="accessibility_quick_settings_bluetooth" msgid="6341675755803320038">"Bluetooth."</string>
<string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth выключаны."</string>
<string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth уключаны."</string>
<string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth падлучаецца."</string>
@@ -242,6 +251,12 @@
<string name="accessibility_location_active" msgid="2427290146138169014">"ÐÑць Ð°ÐºÑ‚Ñ‹ÑžÐ½Ñ‹Ñ Ð·Ð°Ð¿Ñ‹Ñ‚Ñ‹ пра меÑцазнаходжанне"</string>
<string name="accessibility_clear_all" msgid="5235938559247164925">"Выдалiць уÑе апавÑшчÑннi."</string>
<string name="notification_group_overflow_indicator" msgid="1863231301642314183">"+ <xliff:g id="NUMBER">%s</xliff:g>"</string>
+ <plurals name="notification_group_overflow_description" formatted="false" msgid="4579313201268495404">
+ <item quantity="one">Ð¯ÑˆÑ‡Ñ <xliff:g id="NUMBER_1">%s</xliff:g> апавÑшчÑнне ўнутры.</item>
+ <item quantity="few">Ð¯ÑˆÑ‡Ñ <xliff:g id="NUMBER_1">%s</xliff:g> апавÑшчÑнні ўнутры.</item>
+ <item quantity="many">Ð¯ÑˆÑ‡Ñ <xliff:g id="NUMBER_1">%s</xliff:g> апавÑшчÑннÑÑž унутры.</item>
+ <item quantity="other">Ð¯ÑˆÑ‡Ñ <xliff:g id="NUMBER_1">%s</xliff:g> апавÑшчÑÐ½Ð½Ñ ÑžÐ½ÑƒÑ‚Ñ€Ñ‹.</item>
+ </plurals>
<string name="status_bar_notification_inspect_item_title" msgid="5668348142410115323">"Ðалады апавÑшчÑннÑÑž"</string>
<string name="status_bar_notification_app_settings_title" msgid="5525260160341558869">"Ðалады <xliff:g id="APP_NAME">%s</xliff:g>"</string>
<string name="accessibility_rotation_lock_off" msgid="4062780228931590069">"Экран паварочваецца аўтаматычна."</string>
@@ -251,7 +266,7 @@
<string name="accessibility_rotation_lock_on_landscape_changed" msgid="3135965553707519743">"ЦÑпер Ñкран заблакіраваны Ñž альбомнай арыентацыі."</string>
<string name="accessibility_rotation_lock_on_portrait_changed" msgid="8922481981834012126">"ЦÑпер Ñкран заблакiраваны Ñž кніжнай арыентацыі."</string>
<string name="dessert_case" msgid="1295161776223959221">"Вітрына з дÑÑертамі"</string>
- <string name="start_dreams" msgid="7219575858348719790">"Мроi"</string>
+ <string name="start_dreams" msgid="5640361424498338327">"Ð­ÐºÑ€Ð°Ð½Ð½Ð°Ñ Ð·Ð°Ñтаўка"</string>
<string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
<string name="quick_settings_dnd_label" msgid="8735855737575028208">"Ðе турбаваць"</string>
<string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Толькі прыÑрытÑтныÑ"</string>
@@ -263,6 +278,8 @@
<string name="quick_settings_bluetooth_detail_empty_text" msgid="4910015762433302860">"ÐÑма даÑтупных Ñпалучаных прылад"</string>
<string name="quick_settings_brightness_label" msgid="6968372297018755815">"ЯркаÑць"</string>
<string name="quick_settings_rotation_unlocked_label" msgid="7305323031808150099">"Ðўтапаварот"</string>
+ <string name="accessibility_quick_settings_rotation" msgid="4231661040698488779">"Ðўтаматычны паварот Ñкрана"</string>
+ <string name="accessibility_quick_settings_rotation_value" msgid="1428962304214992318">"УÑталÑвана на <xliff:g id="ID_1">%s</xliff:g>"</string>
<string name="quick_settings_rotation_locked_label" msgid="6359205706154282377">"Паварот заблакіраваны"</string>
<string name="quick_settings_rotation_locked_portrait_label" msgid="5102691921442135053">"ÐšÐ½Ñ–Ð¶Ð½Ð°Ñ Ð°Ñ€Ñ‹ÐµÐ½Ñ‚Ð°Ñ†Ñ‹Ñ"</string>
<string name="quick_settings_rotation_locked_landscape_label" msgid="8553157770061178719">"ÐÐ»ÑŒÐ±Ð¾Ð¼Ð½Ð°Ñ Ð°Ñ€Ñ‹ÐµÐ½Ñ‚Ð°Ñ†Ñ‹Ñ"</string>
@@ -281,6 +298,7 @@
<string name="quick_settings_wifi_not_connected" msgid="7171904845345573431">"ÐÑма падключÑннÑ"</string>
<string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"ÐÑма Ñеткi"</string>
<string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"Wi-Fi адключаны"</string>
+ <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi уключаны"</string>
<string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"ÐÑма даÑтупнай Ñеткі Wi-Fi"</string>
<string name="quick_settings_cast_title" msgid="7709016546426454729">"ТранÑлÑцыÑ"</string>
<string name="quick_settings_casting" msgid="6601710681033353316">"Ідзе перадача"</string>
@@ -307,7 +325,10 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Ліміт <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"ПапÑÑ€Ñджанне: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"РÑжым працы"</string>
- <string name="recents_empty_message" msgid="808480104164008572">"ÐÑма апошніх Ñлементаў"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"ÐÐ°Ñ‡Ð½Ð°Ñ Ð¿Ð°Ð´Ñветка"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"\"ÐÐ°Ñ‡Ð½Ð°Ñ Ð¿Ð°Ð´Ñветка\" ўключана; дакраніцеÑÑ, каб выключыць"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"\"ÐÐ°Ñ‡Ð½Ð°Ñ Ð¿Ð°Ð´Ñветка\" выключана; дакраніцеÑÑ, каб уключыць"</string>
+ <string name="recents_empty_message" msgid="808480104164008572">"ÐÑма нÑдаўніх Ñлементаў"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Ð’Ñ‹ ачыÑцілі уÑÑ‘"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"ЗвеÑткі аб праграме"</string>
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"замацаванне Ñкрана"</string>
@@ -316,6 +337,7 @@
<string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g> адключана Ñž бÑÑпечным Ñ€Ñжыме."</string>
<string name="recents_stack_action_button_label" msgid="6593727103310426253">"ÐчыÑціць уÑÑ‘"</string>
<string name="recents_incompatible_app_message" msgid="5075812958564082451">"Праграма не падтрымлівае функцыю дзÑÐ»ÐµÐ½Ð½Ñ Ñкрана"</string>
+ <string name="recents_drag_hint_message" msgid="2649739267073203985">"ПерацÑгніце Ñюды, каб перайÑці Ñž Ñ€Ñжым падзеленага Ñкрана"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"ПадзÑліць гарызантальна"</string>
<string name="recents_multistack_add_stack_dialog_split_vertical" msgid="9075292233696180813">"ПадзÑліць вертыкальна"</string>
<string name="recents_multistack_add_stack_dialog_split_custom" msgid="4177837597513701943">"ПадзÑліць іншым чынам"</string>
@@ -333,7 +355,7 @@
<string name="zen_silence_introduction" msgid="3137882381093271568">"ГÑта заблакіруе ЎСЕ гукі Ñ– вібрацыі, у тым ліку ад будзільнікаў, музыкі, відÑа Ñ– гульнÑÑž."</string>
<string name="keyguard_more_overflow_text" msgid="9195222469041601365">"+<xliff:g id="NUMBER_OF_NOTIFICATIONS">%d</xliff:g>"</string>
<string name="speed_bump_explanation" msgid="1288875699658819755">"Менш Ñ‚ÑÑ€Ð¼Ñ–Ð½Ð¾Ð²Ñ‹Ñ Ð°Ð¿Ð°Ð²ÑшчÑнні ніжÑй"</string>
- <string name="notification_tap_again" msgid="8524949573675922138">"Краніце ÑÑˆÑ‡Ñ Ñ€Ð°Ð·, каб адкрыць"</string>
+ <string name="notification_tap_again" msgid="7590196980943943842">"ДакраніцеÑÑ ÑÑˆÑ‡Ñ Ñ€Ð°Ð·, каб адкрыць"</string>
<string name="keyguard_unlock" msgid="8043466894212841998">"ПравÑдзіце пальцам уверх, каб разблакіраваць"</string>
<string name="phone_hint" msgid="4872890986869209950">"ТÑлефон: правÑдзіце пальцам ад значка"</string>
<string name="voice_hint" msgid="8939888732119726665">"ГалаÑÐ°Ð²Ð°Ñ Ð´Ð°Ð¿Ð°Ð¼Ð¾Ð³Ð°: правÑдзіце пальцам ад значка"</string>
@@ -371,7 +393,7 @@
<string name="user_logout_notification_text" msgid="3350262809611876284">"Выканаць выхад бÑгучага карыÑтальніка"</string>
<string name="user_logout_notification_action" msgid="1195428991423425062">"ВЫКÐÐÐЦЬ ВЫХÐД КÐРЫСТÐЛЬÐІКÐ"</string>
<string name="user_add_user_title" msgid="4553596395824132638">"Дадаць новага карыÑтальніка?"</string>
- <string name="user_add_user_message_short" msgid="2161624834066214559">"Калі вы дадаÑце новага карыÑтальніка, ён павінен наладзіць Ñвой раздзел.\n\nЛюбы карыÑтальнік можа абнаўлÑць праграмы Ð´Ð»Ñ ÑžÑÑ–Ñ… аÑтатніх карыÑтальнікаў."</string>
+ <string name="user_add_user_message_short" msgid="2161624834066214559">"ПаÑÐ»Ñ ÑтварÑÐ½Ð½Ñ Ð¿Ñ€Ð¾Ñ„Ñ–Ð»Ñ Ñго трÑба наладзіць.\n\nЛюбы карыÑтальнік прылады можа абнаўлÑць праграмы ÑžÑÑ–Ñ… іншых карыÑтальнікаў."</string>
<string name="user_remove_user_title" msgid="4681256956076895559">"Выдаліць карыÑтальніка?"</string>
<string name="user_remove_user_message" msgid="1453218013959498039">"УÑе праграмы Ñ– Ð´Ð°Ð½Ñ‹Ñ Ð³Ñтага карыÑтальніка будуць выдалены."</string>
<string name="user_remove_user_remove" msgid="7479275741742178297">"Выдаліць"</string>
@@ -411,7 +433,7 @@
<string name="accessibility_volume_expand" msgid="5946812790999244205">"Разгарнуць"</string>
<string name="accessibility_volume_collapse" msgid="3609549593031810875">"Згарнуць"</string>
<string name="screen_pinning_title" msgid="3273740381976175811">"Экран замацаваны"</string>
- <string name="screen_pinning_description" msgid="3577937698406151604">"Будзе паказвацца, пакуль не адмацуеце. ДакраніцеÑÑ Ñ– ўтрымлівайце кнопку «Ðазад», каб адмацаваць."</string>
+ <string name="screen_pinning_description" msgid="7238941806855968768">"Будзе паказвацца, пакуль не адмацуеце. ДакраніцеÑÑ Ñ– ўтрымлівайце кнопку \"Ðазад\", каб адмацаваць."</string>
<string name="screen_pinning_positive" msgid="3783985798366751226">"Зразумела"</string>
<string name="screen_pinning_negative" msgid="3741602308343880268">"Ðе, дзÑкуй"</string>
<string name="quick_settings_reset_confirmation_title" msgid="748792586749897883">"Схаваць <xliff:g id="TILE_LABEL">%1$s</xliff:g>?"</string>
@@ -419,13 +441,27 @@
<string name="quick_settings_reset_confirmation_button" msgid="2660339101868367515">"Схаваць"</string>
<string name="volumeui_prompt_message" msgid="918680947433389110">"<xliff:g id="APP_NAME">%1$s</xliff:g> хоча быць дыÑлогам гучнаÑці."</string>
<string name="volumeui_prompt_allow" msgid="7954396902482228786">"Дазволіць"</string>
- <string name="volumeui_prompt_deny" msgid="5720663643411696731">"Ðдхiлiць"</string>
+ <string name="volumeui_prompt_deny" msgid="5720663643411696731">"Ðдмовіць"</string>
<string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> з\'ÑўлÑецца дыÑлогам гучнаÑці"</string>
- <string name="volumeui_notification_text" msgid="1826889705095768656">"ÐаціÑніце, каб аднавіць арыгінал."</string>
+ <string name="volumeui_notification_text" msgid="8819536904234337445">"ДакраніцеÑÑ, каб аднавіць арыгінал."</string>
<string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Ð’Ñ‹ выкарыÑтоўваеце Ñвой працоўны профіль"</string>
- <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Краніце, каб уключыць гук."</string>
- <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Краніце, каб уключыць вібрацыю. Можа быць адключаны гук Ñлужбаў ÑпецыÑльных магчымаÑцей."</string>
- <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Краніце, каб адключыць гук. Можа быць адключаны гук Ñлужбаў ÑпецыÑльных магчымаÑцей."</string>
+ <string-array name="volume_stream_titles">
+ <item msgid="5841843895402729630">"Выклік"</item>
+ <item msgid="5997713001067658559">"СіÑÑ‚Ñма"</item>
+ <item msgid="7858983209929864160">"Званок"</item>
+ <item msgid="1850038478268896762">"МедыÑ"</item>
+ <item msgid="8265110906352372092">"Будзільнік"</item>
+ <item msgid="5339394737636839168"></item>
+ <item msgid="2951313578278086204">"Bluetooth"</item>
+ <item msgid="2919807739709798970"></item>
+ <item msgid="150349973435223405"></item>
+ <item msgid="6761963760295549099"></item>
+ </string-array>
+ <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. ДакраніцеÑÑ, каб уключыць гук."</string>
+ <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. ДакраніцеÑÑ, каб уключыць вібрацыю. Можа быць адключаны гук Ñлужбаў ÑпецыÑльных магчымаÑцей."</string>
+ <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. ДакраніцеÑÑ, каб адключыць гук. Можа быць адключаны гук Ñлужбаў ÑпецыÑльных магчымаÑцей."</string>
+ <string name="volume_dialog_accessibility_shown_message" msgid="1834631467074259998">"Паказваецца наÑÑ‚ÑƒÐ¿Ð½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць Ñ€ÑгулÑтараў гучнаÑці: %s. ПравÑдзіце пальцам уверх, каб закрыць Ñ–Ñ…."</string>
+ <string name="volume_dialog_accessibility_dismissed_message" msgid="51543526013711399">"РÑгулÑтары гучнаÑці Ñхаваны"</string>
<string name="system_ui_tuner" msgid="708224127392452018">"Ðаладка ÑÑ–ÑÑ‚Ñмнага інтÑрфейÑу карыÑтальніка"</string>
<string name="show_battery_percentage" msgid="5444136600512968798">"Паказваць працÑнт зараду акумулÑтара"</string>
<string name="show_battery_percentage_summary" msgid="3215025775576786037">"Паказваць працÑнт узроўню акумулÑтара ўнутры значка панÑлі Ñтану, калі ён не зараджаецца"</string>
@@ -470,37 +506,27 @@
<string name="block" msgid="2734508760962682611">"Блакіраваць уÑе апавÑшчÑнні"</string>
<string name="do_not_silence" msgid="6878060322594892441">"Ðе адключаць гук"</string>
<string name="do_not_silence_block" msgid="4070647971382232311">"Ðе адключаць гук Ñ– не блакіраваць"</string>
- <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Паказаць поўны ÑÐ¿Ñ–Ñ Ð½Ð°Ð»Ð°Ð´ важнаÑці"</string>
- <string name="blocked_importance" msgid="5198578988978234161">"Заблакiравана"</string>
- <string name="min_importance" msgid="1901894910809414782">"ÐœÑ–Ð½Ñ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð²Ð°Ð¶Ð½Ð°Ñць"</string>
- <string name="low_importance" msgid="4109929986107147930">"ÐÑ–Ð·ÐºÐ°Ñ Ð²Ð°Ð¶Ð½Ð°Ñць"</string>
- <string name="default_importance" msgid="8192107689995742653">"Ð—Ð²Ñ‹Ñ‡Ð°Ð¹Ð½Ð°Ñ Ð²Ð°Ð¶Ð½Ð°Ñць"</string>
- <string name="high_importance" msgid="1527066195614050263">"Ð’Ñ‹ÑÐ¾ÐºÐ°Ñ Ð²Ð°Ð¶Ð½Ð°Ñць"</string>
- <string name="max_importance" msgid="5089005872719563894">"ÐŸÑ–Ð»ÑŒÐ½Ð°Ñ Ð²Ð°Ð¶Ð½Ð°Ñць"</string>
- <string name="notification_importance_blocked" msgid="2397192642657872872">"Ðіколі не паказваць гÑÑ‚Ñ‹Ñ Ð°Ð¿Ð°Ð²ÑшчÑнні"</string>
- <string name="notification_importance_min" msgid="1938190340516905748">"БÑзгучна паказваць унізе ÑпіÑа апавÑшчÑннÑÑž"</string>
- <string name="notification_importance_low" msgid="3657252049508213048">"Паказваць гÑÑ‚Ñ‹Ñ Ð°Ð¿Ð°Ð²ÑшчÑнні бÑзгучна"</string>
- <string name="notification_importance_default" msgid="4466466472622442175">"Дазволіць гÑтым апавÑшчÑннÑм прайграваць гукі"</string>
- <string name="notification_importance_high" msgid="2135428926525093825">"Хутка паказаць на Ñкране Ñ– дазволіць прайграванне гуку"</string>
- <string name="notification_importance_max" msgid="5806278962376556491">"Паказваць уверÑе ÑпіÑа апавÑшчÑннÑÑž, хутка паказаць на Ñкране Ñ– дазволіць прайграванне гуку"</string>
+ <string name="tuner_full_importance_settings" msgid="3207312268609236827">"Пашыранае кіраванне апавÑшчÑннÑмі"</string>
+ <string name="tuner_full_importance_settings_on" msgid="7545060756610299966">"Уключана"</string>
+ <string name="tuner_full_importance_settings_off" msgid="8208165412614935229">"Выключана"</string>
+ <string name="power_notification_controls_description" msgid="4372459941671353358">"З дапамогай пашыранага ÐºÑ–Ñ€Ð°Ð²Ð°Ð½Ð½Ñ Ð°Ð¿Ð°Ð²ÑшчÑннÑмі вы можаце задаваць узровень важнаÑці апавÑшчÑннÑÑž праграмы ад 0 да 5. \n\n"<b>"Узровень 5"</b>" \n- Паказваць уверÑе ÑпіÑа апавÑшчÑннÑÑž \n- ДазвалÑць перапынÑць Ñ€Ñжым поўнага Ñкрана \n- ЗаўÑёды дазвалÑць кароткі паказ \n\n"<b>"Узровень 4"</b>" \n- ЗабаранÑць перапынÑць Ñ€Ñжым поўнага Ñкрана \n- ЗаўÑёды дазвалÑць кароткі паказ \n\n"<b>"Узровень 3"</b>" \n- ЗабаранÑць перапынÑць Ñ€Ñжым поўнага Ñкрана \n- Ðіколі не дазвалÑць кароткі паказ \n\n"<b>"Узровень 2"</b>" \n- ЗабаранÑць перапынÑць Ñ€Ñжым поўнага Ñкрана \n- Ðіколі не дазвалÑць кароткі паказ \n- Ðіколі не прайграваць гук Ñ– не вібрыраваць \n\n"<b>"Узровень 1"</b>" \n- ЗабаранÑць перапынÑць Ñ€Ñжым поўнага Ñкрана \n- Ðіколі не дазвалÑць кароткі паказ \n- Ðіколі не прайграваць гук Ñ– не вібрыраваць \n- Хаваць з Ñкрана блакіроўкі Ñ– панÑлі Ñтану \n- Паказваць унізе ÑпіÑа апавÑшчÑннÑÑž \n\n"<b>"Узровень 0"</b>" \n- Блакіраваць уÑе апавÑшчÑнні ад праграмы"</string>
+ <string name="user_unspecified_importance" msgid="361613856933432117">"ВажнаÑць: аўтаматычна"</string>
+ <string name="blocked_importance" msgid="5035073235408414397">"ВажнаÑць: узровень 0"</string>
+ <string name="min_importance" msgid="560779348928574878">"ВажнаÑць: узровень 1"</string>
+ <string name="low_importance" msgid="7571498511534140">"ВажнаÑць: узровень 2"</string>
+ <string name="default_importance" msgid="7609889614553354702">"ВажнаÑць: узровень 3"</string>
+ <string name="high_importance" msgid="3441537905162782568">"ВажнаÑць: узровень 4"</string>
+ <string name="max_importance" msgid="4880179829869865275">"ВажнаÑць: узровень 5"</string>
+ <string name="notification_importance_user_unspecified" msgid="2868359605125272874">"Праграма вызначае важнаÑць кожнага апавÑшчÑннÑ."</string>
+ <string name="notification_importance_blocked" msgid="4237497046867398057">"Ðіколі не паказваць апавÑшчÑнні ад гÑтай праграмы."</string>
+ <string name="notification_importance_min" msgid="7844224511187027155">"Ðе перап. Ñ€Ñжым поўн. Ñкр., не дазв. карот. паказ, гук або вібр. Хаваць з Ñкр. блак. Ñ– панÑлі Ñтану."</string>
+ <string name="notification_importance_low" msgid="7950291702044409847">"Ðе перапынÑць Ñ€Ñжым поўнага Ñкрана, не дазвалÑць кароткі паказ, прайгранне гуку або вібрацыю."</string>
+ <string name="notification_importance_default" msgid="5924405820269074915">"Ðе перапынÑць Ñ€Ñжым поўнага Ñкрана Ñ– не дазвалÑць кароткі паказ."</string>
+ <string name="notification_importance_high" msgid="1729480727023990427">"ЗаўÑёды дазвалÑць кароткі паказ. Ðе перапынÑць Ñ€Ñжым поўнага Ñкрана."</string>
+ <string name="notification_importance_max" msgid="2508384624461849111">"ЗаўÑёды дазвалÑць кароткі паказ, дазвалÑць перапынÑць Ñ€Ñжым поўнага Ñкрана."</string>
<string name="notification_more_settings" msgid="816306283396553571">"Ð”Ð°Ð´Ð°Ñ‚ÐºÐ¾Ð²Ñ‹Ñ Ð½Ð°Ð»Ð°Ð´Ñ‹"</string>
<string name="notification_done" msgid="5279426047273930175">"Гатова"</string>
<string name="notification_gear_accessibility" msgid="94429150213089611">"Элементы кантролю апавÑшчÑннÑÑž <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
- <string name="color_and_appearance" msgid="1254323855964993144">"Колер Ñ– выглÑд"</string>
- <string name="night_mode" msgid="3540405868248625488">"Ðачны Ñ€Ñжым"</string>
- <string name="calibrate_display" msgid="5974642573432039217">"Каліброўка дыÑплÑÑ"</string>
- <string name="night_mode_on" msgid="5597545513026541108">"Уключана"</string>
- <string name="night_mode_off" msgid="8035605276956057508">"Ðдключана"</string>
- <string name="turn_on_automatically" msgid="4167565356762016083">"Уключаць аўтаматычна"</string>
- <string name="turn_on_auto_summary" msgid="2190994512406701520">"ПераключÑнне Ñž начны Ñ€Ñжым у залежнаÑці ад канкрÑтнай мÑÑцоваÑці Ñ– чаÑу Ñутак"</string>
- <string name="when_night_mode_on" msgid="2969436026899172821">"Калі ўключаны Ðачны Ñ€Ñжым"</string>
- <string name="use_dark_theme" msgid="2900938704964299312">"ВыкарыÑтоўваць цёмную Ñ‚Ñму Ð´Ð»Ñ ÐС Android"</string>
- <string name="adjust_tint" msgid="3398569573231409878">"РÑгулÑванне адценнÑÑž"</string>
- <string name="adjust_brightness" msgid="980039329808178246">"РÑгулÑванне ÑркаÑці"</string>
- <string name="night_mode_disclaimer" msgid="598914896926759578">"Ð¦Ñ‘Ð¼Ð½Ð°Ñ Ñ‚Ñма ўжываецца да аÑноўных воблаÑцÑÑž ÐС Android, да Ñкіх звычайна шжываецца ÑÐ²ÐµÑ‚Ð»Ð°Ñ Ñ‚Ñма, напрыклад, Ðалады."</string>
- <string name="color_apply" msgid="9212602012641034283">"Ужыць"</string>
- <string name="color_revert_title" msgid="4746666545480534663">"Пацвердзіце налады"</string>
- <string name="color_revert_message" msgid="9116001069397996691">"ÐÐµÐºÐ°Ñ‚Ð¾Ñ€Ñ‹Ñ Ð½Ð°Ð»Ð°Ð´Ñ‹ колеру могуць зрабіць гÑту прыладу непрыдатнай Ð´Ð»Ñ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹ÑтаннÑ. ÐаціÑніце кнопку «ОК», каб пацвердзіць гÑÑ‚Ñ‹Ñ Ð½Ð°Ð»Ð°Ð´Ñ‹ колеру, у адваротным выпадку гÑÑ‚Ñ‹Ñ Ð½Ð°Ð»Ð°Ð´Ñ‹ будуць Ñкінуты праз 10 Ñекунд."</string>
<string name="battery_panel_title" msgid="7944156115535366613">"ВыкарыÑтанне зараду"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Ð­ÐºÐ°Ð½Ð¾Ð¼Ñ–Ñ Ð·Ð°Ñ€Ð°Ð´Ñƒ акумулÑтара недаÑÑ‚ÑƒÐ¿Ð½Ð°Ñ Ð¿Ð°Ð´Ñ‡Ð°Ñ Ð·Ð°Ñ€Ð°Ð´ÐºÑ–"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Ð­ÐºÐ°Ð½Ð¾Ð¼Ñ–Ñ Ð·Ð°Ñ€Ð°Ð´Ñƒ"</string>
@@ -560,7 +586,7 @@
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Ð­ÐºÐ°Ð½Ð¾Ð¼Ñ–Ñ Ñ‚Ñ€Ð°Ñ„Ñ–ÐºÑƒ ўключана"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Ð­ÐºÐ°Ð½Ð¾Ð¼Ñ–Ñ Ñ‚Ñ€Ð°Ñ„Ñ–ÐºÑƒ адключана"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Уключана"</string>
- <string name="switch_bar_off" msgid="8803270596930432874">"Ðдключана"</string>
+ <string name="switch_bar_off" msgid="8803270596930432874">"Выключана"</string>
<string name="nav_bar" msgid="1993221402773877607">"ПанÑль навігацыі"</string>
<string name="start" msgid="6873794757232879664">"Пачатак"</string>
<string name="center" msgid="4327473927066010960">"ЦÑнтр"</string>
@@ -580,7 +606,7 @@
<string name="keycode" msgid="7335281375728356499">"Код клавішы"</string>
<string name="keycode_description" msgid="1403795192716828949">"Кнопка Код клавішы дазвалÑе дадаваць клавішы Ñž ПанÑль навігацыі. Пры націÑку гÑтай кнопкі Ñмулюецца Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð°Ñ ÐºÐ»Ð°Ð²Ñ–ÑˆÐ°. Спачатку трÑба выбраць клавішу Ð´Ð»Ñ ÐºÐ½Ð¾Ð¿ÐºÑ–, а потым відарыÑ, Ñкі будзе паказвацца на кнопцы."</string>
<string name="select_keycode" msgid="7413765103381924584">"Выберыце клавішу клавіÑтуры"</string>
- <string name="preview" msgid="9077832302472282938">"ПапÑÑ€Ñдні праглÑд"</string>
+ <string name="preview" msgid="9077832302472282938">"ПерадпраглÑд"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"ПерацÑгніце, каб дадаць пліткі"</string>
<string name="drag_to_remove_tiles" msgid="3361212377437088062">"ПерацÑгніце Ñюды, каб выдаліць"</string>
<string name="qs_edit" msgid="2232596095725105230">"РÑдагаваць"</string>
@@ -597,10 +623,16 @@
</string-array>
<string name="other" msgid="4060683095962566764">"Іншае"</string>
<string name="accessibility_divider" msgid="5903423481953635044">"РаздзÑлÑльнік падзеленага Ñкрана"</string>
- <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"ПерамÑÑціць уніз"</string>
- <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"ПерамÑÑціць уверх"</string>
- <string name="accessibility_action_divider_move_left" msgid="9218189832115847253">"ПерамÑÑціць улева"</string>
- <string name="accessibility_action_divider_move_right" msgid="4671522715182567972">"ПерамÑÑціць управа"</string>
+ <string name="accessibility_action_divider_left_full" msgid="2801570521881574972">"Левы Ñкран – поўнаÑкранны Ñ€Ñжым"</string>
+ <string name="accessibility_action_divider_left_70" msgid="3612060638991687254">"Левы Ñкран – 70%"</string>
+ <string name="accessibility_action_divider_left_50" msgid="1248083470322193075">"Левы Ñкран – 50%"</string>
+ <string name="accessibility_action_divider_left_30" msgid="543324403127069386">"Левы Ñкран – 30%"</string>
+ <string name="accessibility_action_divider_right_full" msgid="4639381073802030463">"Правы Ñкран – поўнаÑкранны Ñ€Ñжым"</string>
+ <string name="accessibility_action_divider_top_full" msgid="5357010904067731654">"Верхні Ñкран – поўнаÑкранны Ñ€Ñжым"</string>
+ <string name="accessibility_action_divider_top_70" msgid="5090779195650364522">"Верхні Ñкран – 70%"</string>
+ <string name="accessibility_action_divider_top_50" msgid="6385859741925078668">"Верхні Ñкран – 50%"</string>
+ <string name="accessibility_action_divider_top_30" msgid="6201455163864841205">"Верхні Ñкран – 30%"</string>
+ <string name="accessibility_action_divider_bottom_full" msgid="301433196679548001">"Ðіжні Ñкран – поўнаÑкранны Ñ€Ñжым"</string>
<string name="accessibility_qs_edit_tile_label" msgid="8374924053307764245">"МеÑца: <xliff:g id="POSITION">%1$d</xliff:g>, <xliff:g id="TILE_NAME">%2$s</xliff:g>. Краніце двойчы, каб Ñ€Ñдагаваць."</string>
<string name="accessibility_qs_edit_add_tile_label" msgid="8133209638023882667">"<xliff:g id="TILE_NAME">%1$s</xliff:g>. Краніце двойчы, каб дадаць."</string>
<string name="accessibility_qs_edit_position_label" msgid="5055306305919289819">"МеÑца: <xliff:g id="POSITION">%1$d</xliff:g>. Краніце двойчы, каб выбраць."</string>
@@ -610,9 +642,17 @@
<string name="accessibility_qs_edit_tile_removed" msgid="8584304916627913440">"Плітка <xliff:g id="TILE_NAME">%1$s</xliff:g> выдалена"</string>
<string name="accessibility_qs_edit_tile_moved" msgid="4343693412689365038">"<xliff:g id="TILE_NAME">%1$s</xliff:g> перамешчана Ñž наÑтупнае меÑца: <xliff:g id="POSITION">%2$d</xliff:g>"</string>
<string name="accessibility_desc_quick_settings_edit" msgid="8073587401747016103">"РÑдактар хуткіх налад."</string>
+ <string name="accessibility_desc_notification_icon" msgid="8352414185263916335">"ÐпавÑшчÑнне <xliff:g id="ID_1">%1$s</xliff:g>: <xliff:g id="ID_2">%2$s</xliff:g>"</string>
<string name="dock_forced_resizable" msgid="5914261505436217520">"Праграма можа не працаваць у Ñ€Ñжыме дзÑÐ»ÐµÐ½Ð½Ñ Ñкрана."</string>
<string name="dock_non_resizeble_failed_to_dock_text" msgid="3871617304250207291">"Праграма не падтрымлівае функцыю дзÑÐ»ÐµÐ½Ð½Ñ Ñкрана."</string>
- <string name="accessibility_quick_settings_expand" msgid="4982484435775933070">"Разгарнуць Ñ…ÑƒÑ‚ÐºÑ–Ñ Ð½Ð°Ð»Ð°Ð´Ñ‹."</string>
- <!-- no translation found for accessibility_quick_settings_page (5032979051755200721) -->
- <skip />
+ <string name="accessibility_quick_settings_settings" msgid="6132460890024942157">"Ðдкрыць налады."</string>
+ <string name="accessibility_quick_settings_expand" msgid="2375165227880477530">"Ðдкрыць Ñ…ÑƒÑ‚ÐºÑ–Ñ Ð½Ð°Ð»Ð°Ð´Ñ‹."</string>
+ <string name="accessibility_quick_settings_collapse" msgid="1792625797142648105">"Закрыць Ñ…ÑƒÑ‚ÐºÑ–Ñ Ð½Ð°Ð»Ð°Ð´Ñ‹."</string>
+ <string name="accessibility_quick_settings_alarm_set" msgid="1863000242431528676">"Будзільнік паÑтаўлены."</string>
+ <string name="accessibility_quick_settings_user" msgid="1567445362870421770">"Ð’Ñ‹ ўвайшлі Ñк <xliff:g id="ID_1">%s</xliff:g>"</string>
+ <string name="accessibility_quick_settings_no_internet" msgid="31890692343084075">"ÐÑма інтÑрнÑту."</string>
+ <string name="accessibility_quick_settings_open_details" msgid="4230931801728005194">"Паказаць падрабÑзную інфармацыю."</string>
+ <string name="accessibility_quick_settings_open_settings" msgid="7806613775728380737">"Ðдкрыць налады <xliff:g id="ID_1">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_edit" msgid="7839992848995240393">"ЗмÑніць парадак налад."</string>
+ <string name="accessibility_quick_settings_page" msgid="5032979051755200721">"Старонка <xliff:g id="ID_1">%1$d</xliff:g> з <xliff:g id="ID_2">%2$d</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-be-rBY/strings_tv.xml b/packages/SystemUI/res/values-be-rBY/strings_tv.xml
index dab7938718d9..4b871a6311a0 100644
--- a/packages/SystemUI/res/values-be-rBY/strings_tv.xml
+++ b/packages/SystemUI/res/values-be-rBY/strings_tv.xml
@@ -24,7 +24,10 @@
<string name="pip_play" msgid="674145557658227044">"Прайграць"</string>
<string name="pip_pause" msgid="8412075640017218862">"Прыпыніць"</string>
<string name="pip_hold_home" msgid="340086535668778109">"Утрым. "<b>"HOME"</b>" Ð´Ð»Ñ ÐºÑ–Ñ€. PIP"</string>
- <string name="pip_onboarding_description" msgid="2882896641362814195">"ÐаціÑніце Ñ– ўтрымлівайце кнопку HOME Ð´Ð»Ñ ÐºÑ–Ñ€Ð°Ð²Ð°Ð½Ð½Ñ PIP"</string>
+ <string name="pip_onboarding_title" msgid="7850436557670253991">"Ð’Ñ–Ð´Ð°Ñ€Ñ‹Ñ Ñƒ відарыÑе"</string>
+ <string name="pip_onboarding_description" msgid="4028124563309465267">"ГÑта дазвалÑе захоўваць ваша відÑа Ñž полі зроку, пакуль вы не пачнÑце прайграванне іншага. ÐаціÑніце Ñ– ўтрымлівайце "<b>"HOME"</b>" Ð´Ð»Ñ ÐºÑ–Ñ€Ð°Ð²Ð°Ð½Ð½Ñ."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Зразумела"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Ðдхіліць"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-bg/config.xml b/packages/SystemUI/res/values-bg/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-bg/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml
index f34130e5fd05..0e97138cb23c 100644
--- a/packages/SystemUI/res/values-bg/strings.xml
+++ b/packages/SystemUI/res/values-bg/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Роуминг"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Ограничение от <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Предупреждение: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Работен режим"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Ðощно оÑветление"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"ФункциÑта за нощно оÑветление е включена. ДокоÑнете, за да Ñ Ð¸Ð·ÐºÐ»ÑŽÑ‡Ð¸Ñ‚Ðµ"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"ФункциÑта за нощно оÑветление е изключена. ДокоÑнете, за да Ñ Ð²ÐºÐ»ÑŽÑ‡Ð¸Ñ‚Ðµ"</string>
<string name="recents_empty_message" msgid="808480104164008572">"ÐÑма Ñкорошни елементи"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"ИзчиÑтихте вÑичко"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° приложението"</string>
diff --git a/packages/SystemUI/res/values-bn-rBD/config.xml b/packages/SystemUI/res/values-bn-rBD/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-bn-rBD/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-bn-rBD/strings.xml b/packages/SystemUI/res/values-bn-rBD/strings.xml
index 93207c418ee8..000119ae232d 100644
--- a/packages/SystemUI/res/values-bn-rBD/strings.xml
+++ b/packages/SystemUI/res/values-bn-rBD/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"রোমিং"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"সীমা <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> সতরà§à¦•তা"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"কাজের মোড"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"নাইট লাইট"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"নাইট লাইট চালৠআছে, বনà§à¦§ করতে আলতো চাপà§à¦¨"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"নাইট লাইট বনà§à¦§ আছে, চালৠকরতে আলতো চাপà§à¦¨"</string>
<string name="recents_empty_message" msgid="808480104164008572">"কোনো সামà§à¦ªà§à¦°à¦¤à¦¿à¦• আইটেম নেই"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"আপনি সবকিছৠসাফ করেছেন"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"অà§à¦¯à¦¾à¦ªà§à¦²à¦¿à¦•েশানের তথà§à¦¯"</string>
diff --git a/packages/SystemUI/res/values-bs-rBA/config.xml b/packages/SystemUI/res/values-bs-rBA/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-bs-rBA/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-bs-rBA/strings.xml b/packages/SystemUI/res/values-bs-rBA/strings.xml
index d0590e9c44c6..fd8fad6f2e06 100644
--- a/packages/SystemUI/res/values-bs-rBA/strings.xml
+++ b/packages/SystemUI/res/values-bs-rBA/strings.xml
@@ -72,7 +72,7 @@
<string name="screenshot_saving_title" msgid="8242282144535555697">"Spašavanje snimka ekrana..."</string>
<string name="screenshot_saving_text" msgid="2419718443411738818">"Spašavanje snimka ekrana u toku."</string>
<string name="screenshot_saved_title" msgid="6461865960961414961">"Ekran snimljen."</string>
- <string name="screenshot_saved_text" msgid="1152839647677558815">"Dodirnite za prikaz snimka ekrana."</string>
+ <string name="screenshot_saved_text" msgid="2685605830386712477">"Dodirnite za prikaz snimka ekrana."</string>
<string name="screenshot_failed_title" msgid="705781116746922771">"Došlo je do greške prilikom snimanja ekrana."</string>
<string name="screenshot_failed_to_save_unknown_text" msgid="7887826345701753830">"Došlo je do problema prilikom spašavanja snimka ekrana."</string>
<string name="screenshot_failed_to_save_text" msgid="2592658083866306296">"Snimak ekrana se ne može saÄuvati zbog manjka prostora za pohranu."</string>
@@ -97,7 +97,7 @@
<string name="voice_assist_label" msgid="3956854378310019854">"otvori glasovnu pomoć"</string>
<string name="camera_label" msgid="7261107956054836961">"otvori kameru"</string>
<string name="recents_caption_resize" msgid="3517056471774958200">"Izaberite novi raspored zadataka"</string>
- <string name="cancel" msgid="6442560571259935130">"Prekini"</string>
+ <string name="cancel" msgid="6442560571259935130">"Otkaži"</string>
<string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Dugme za uvećavanje u sluÄaju nekompatibilnosti."</string>
<string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Uvećani prikaz manjeg ekrana na većem ekranu."</string>
<string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth je povezan."</string>
@@ -119,6 +119,7 @@
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Signal za prijenos podataka pun."</string>
<string name="accessibility_wifi_name" msgid="7202151365171148501">"Povezan na <xliff:g id="WIFI">%s</xliff:g>."</string>
<string name="accessibility_bluetooth_name" msgid="8441517146585531676">"Povezan na <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
+ <string name="accessibility_cast_name" msgid="4026393061247081201">"Povezan na <xliff:g id="CAST">%s</xliff:g>."</string>
<string name="accessibility_no_wimax" msgid="4329180129727630368">"Nema WiMAX signala."</string>
<string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX signal na jednoj crtici."</string>
<string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX signal na dvije crtice."</string>
@@ -143,18 +144,24 @@
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+ <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roming"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
<string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Nema SIM kartice."</string>
+ <string name="accessibility_cell_data" msgid="7080312242791850520">"Mobilni podaci"</string>
+ <string name="accessibility_cell_data_on" msgid="4310018593519761767">"Prijenos mobilnih podataka ukljuÄen"</string>
<string name="accessibility_cell_data_off" msgid="8000803571751407635">"Mobilni podaci iskljuÄeni"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Dijeljenje Bluetooth veze."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"NaÄin rada u avionu."</string>
<string name="accessibility_no_sims" msgid="3957997018324995781">"Nema SIM kartice."</string>
<string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Promjena mreže operatera."</string>
+ <string name="accessibility_battery_details" msgid="7645516654955025422">"Otvori detalje o potrošnji baterije"</string>
<string name="accessibility_battery_level" msgid="7451474187113371965">"Baterija na <xliff:g id="NUMBER">%d</xliff:g> posto."</string>
+ <string name="accessibility_battery_level_charging" msgid="1147587904439319646">"Punjenje baterije, <xliff:g id="BATTERY_PERCENTAGE">%d</xliff:g> procenata."</string>
<string name="accessibility_settings_button" msgid="799583911231893380">"Postavke sistema."</string>
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Obavještenja."</string>
<string name="accessibility_remove_notification" msgid="3603099514902182350">"Ukloniti obavještenje."</string>
@@ -192,9 +199,11 @@
<string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"Opcija Ne ometaj je ukljuÄena, Äut će se samo prioritetna obavjeÅ¡tenja."</string>
<string name="accessibility_quick_settings_dnd_none_on" msgid="6882582132662613537">"Opcija Ne ometaj je ukljuÄena, potpuna tiÅ¡ina."</string>
<string name="accessibility_quick_settings_dnd_alarms_on" msgid="9152834845587554157">"Opcija Ne ometaj je ukljuÄena, Äut će se samo alarmi."</string>
+ <string name="accessibility_quick_settings_dnd" msgid="6607873236717185815">"Ne ometaj."</string>
<string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Opcija Ne ometaj je iskljuÄena."</string>
<string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Opcija Ne ometaj je iskljuÄena."</string>
<string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Opcija Ne ometaj je ukljuÄena."</string>
+ <string name="accessibility_quick_settings_bluetooth" msgid="6341675755803320038">"Bluetooth."</string>
<string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth iskljuÄen."</string>
<string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth ukljuÄen."</string>
<string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth se povezuje."</string>
@@ -239,6 +248,11 @@
<string name="accessibility_location_active" msgid="2427290146138169014">"Aktiviran je zahtjev za lokaciju"</string>
<string name="accessibility_clear_all" msgid="5235938559247164925">"Uklanjanje svih obavještenja."</string>
<string name="notification_group_overflow_indicator" msgid="1863231301642314183">"+ <xliff:g id="NUMBER">%s</xliff:g>"</string>
+ <plurals name="notification_group_overflow_description" formatted="false" msgid="4579313201268495404">
+ <item quantity="one">Još <xliff:g id="NUMBER_1">%s</xliff:g> obavještenje unutra.</item>
+ <item quantity="few">Još <xliff:g id="NUMBER_1">%s</xliff:g> obavještenja unutra.</item>
+ <item quantity="other">Još <xliff:g id="NUMBER_1">%s</xliff:g> obavještenja unutra.</item>
+ </plurals>
<string name="status_bar_notification_inspect_item_title" msgid="5668348142410115323">"Postavke obavještenja"</string>
<string name="status_bar_notification_app_settings_title" msgid="5525260160341558869">"Postavke aplikacije <xliff:g id="APP_NAME">%s</xliff:g>"</string>
<string name="accessibility_rotation_lock_off" msgid="4062780228931590069">"Ekran će se automatski rotirati."</string>
@@ -248,7 +262,7 @@
<string name="accessibility_rotation_lock_on_landscape_changed" msgid="3135965553707519743">"Ekran je sada zakljuÄan u vodoravnom položaju."</string>
<string name="accessibility_rotation_lock_on_portrait_changed" msgid="8922481981834012126">"Ekran je sada zakljuÄan u uspravnom položaju."</string>
<string name="dessert_case" msgid="1295161776223959221">"Slika sa desertima"</string>
- <string name="start_dreams" msgid="7219575858348719790">"Sanjarenje"</string>
+ <string name="start_dreams" msgid="5640361424498338327">"ÄŒuvar ekrana"</string>
<string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
<string name="quick_settings_dnd_label" msgid="8735855737575028208">"Ne ometaj"</string>
<string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Samo prioritetni prekidi"</string>
@@ -260,6 +274,8 @@
<string name="quick_settings_bluetooth_detail_empty_text" msgid="4910015762433302860">"Nema dostupnih uparenih uređaja"</string>
<string name="quick_settings_brightness_label" msgid="6968372297018755815">"Osvjetljenje"</string>
<string name="quick_settings_rotation_unlocked_label" msgid="7305323031808150099">"Automatsko rotiranje"</string>
+ <string name="accessibility_quick_settings_rotation" msgid="4231661040698488779">"Automatsko rotiranje ekrana"</string>
+ <string name="accessibility_quick_settings_rotation_value" msgid="1428962304214992318">"Postaviti naÄin rada: <xliff:g id="ID_1">%s</xliff:g>"</string>
<string name="quick_settings_rotation_locked_label" msgid="6359205706154282377">"Rotiranje je zakljuÄano"</string>
<string name="quick_settings_rotation_locked_portrait_label" msgid="5102691921442135053">"Uspravno"</string>
<string name="quick_settings_rotation_locked_landscape_label" msgid="8553157770061178719">"Vodoravno"</string>
@@ -278,6 +294,7 @@
<string name="quick_settings_wifi_not_connected" msgid="7171904845345573431">"Nije povezano"</string>
<string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Nema mreže"</string>
<string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"Wi-Fi iskljuÄen"</string>
+ <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi ukljuÄen"</string>
<string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Nema dostupnih Wi-Fi mreža"</string>
<string name="quick_settings_cast_title" msgid="7709016546426454729">"Prebacivanje"</string>
<string name="quick_settings_casting" msgid="6601710681033353316">"Prebacivanje"</string>
@@ -304,6 +321,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"OgraniÄenje <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Upozorenje <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Poslovni režim"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Noćno svjetlo"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Noćno svjetlo je ukljuÄeno, dodirnite da iskljuÄite"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Noćno svjetlo je iskljuÄeno, dodirnite da ukljuÄite"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Nema nedavnih stavki"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Sve ste obrisali"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Informacije o aplikaciji"</string>
@@ -313,6 +333,7 @@
<string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g> je onemogućena u sigurnom naÄinu rada."</string>
<string name="recents_stack_action_button_label" msgid="6593727103310426253">"Obriši sve"</string>
<string name="recents_incompatible_app_message" msgid="5075812958564082451">"Aplikacija ne podržava dijeljenje ekrana."</string>
+ <string name="recents_drag_hint_message" msgid="2649739267073203985">"Povucite ovdje za korištenje podijeljenog ekrana"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Podjela po horizontali"</string>
<string name="recents_multistack_add_stack_dialog_split_vertical" msgid="9075292233696180813">"Podjela po vertikali"</string>
<string name="recents_multistack_add_stack_dialog_split_custom" msgid="4177837597513701943">"Prilagođena podjela"</string>
@@ -330,7 +351,7 @@
<string name="zen_silence_introduction" msgid="3137882381093271568">"Ovim se blokiraju SVI zvukovi i vibracije, ukljuÄujući alarme, muziku, video zapise i igre."</string>
<string name="keyguard_more_overflow_text" msgid="9195222469041601365">"+<xliff:g id="NUMBER_OF_NOTIFICATIONS">%d</xliff:g>"</string>
<string name="speed_bump_explanation" msgid="1288875699658819755">"Prikaži manje važna obavještenja ispod"</string>
- <string name="notification_tap_again" msgid="8524949573675922138">"Dodirnite ponovo da otvorite"</string>
+ <string name="notification_tap_again" msgid="7590196980943943842">"Dodirnite ponovo da otvorite"</string>
<string name="keyguard_unlock" msgid="8043466894212841998">"Prevucite prema gore da otkljuÄate"</string>
<string name="phone_hint" msgid="4872890986869209950">"Prevucite preko ikone da otvorite telefon"</string>
<string name="voice_hint" msgid="8939888732119726665">"Prevucite preko ikone za glasovnu pomoć"</string>
@@ -408,7 +429,7 @@
<string name="accessibility_volume_expand" msgid="5946812790999244205">"Proširi"</string>
<string name="accessibility_volume_collapse" msgid="3609549593031810875">"Skupi"</string>
<string name="screen_pinning_title" msgid="3273740381976175811">"Ekran je prikaÄen"</string>
- <string name="screen_pinning_description" msgid="3577937698406151604">"Ovim ekran ostaje prikazan dok ga ne otkaÄite. Da biste ga otkaÄili dodirnite i držite Nazad."</string>
+ <string name="screen_pinning_description" msgid="7238941806855968768">"Ovim ekran ostaje prikazan dok ga ne otkaÄite. Da biste ga otkaÄili dodirnite i držite Nazad."</string>
<string name="screen_pinning_positive" msgid="3783985798366751226">"Jasno mi je"</string>
<string name="screen_pinning_negative" msgid="3741602308343880268">"Ne, hvala"</string>
<string name="quick_settings_reset_confirmation_title" msgid="748792586749897883">"Želite li sakriti <xliff:g id="TILE_LABEL">%1$s</xliff:g>?"</string>
@@ -418,13 +439,27 @@
<string name="volumeui_prompt_allow" msgid="7954396902482228786">"Dozvoli"</string>
<string name="volumeui_prompt_deny" msgid="5720663643411696731">"Odbij"</string>
<string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> je dijaloÅ¡ki okvir za jaÄinu zvuka"</string>
- <string name="volumeui_notification_text" msgid="1826889705095768656">"Dodirnite da vratite original."</string>
+ <string name="volumeui_notification_text" msgid="8819536904234337445">"Dodirnite za povrat originala."</string>
<string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Koristite svoj profil za posao"</string>
+ <string-array name="volume_stream_titles">
+ <item msgid="5841843895402729630">"Pozovi"</item>
+ <item msgid="5997713001067658559">"Sistem"</item>
+ <item msgid="7858983209929864160">"Zazvoni"</item>
+ <item msgid="1850038478268896762">"Mediji"</item>
+ <item msgid="8265110906352372092">"Alarm"</item>
+ <item msgid="5339394737636839168"></item>
+ <item msgid="2951313578278086204">"Bluetooth"</item>
+ <item msgid="2919807739709798970"></item>
+ <item msgid="150349973435223405"></item>
+ <item msgid="6761963760295549099"></item>
+ </string-array>
<!-- String.format failed for translation -->
<!-- no translation found for volume_stream_content_description_unmute (4436631538779230857) -->
<skip />
<string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Dodirnite za postavljanje vibracije. Zvukovi usluga pristupaÄnosti mogu biti iskljuÄeni."</string>
<string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Dodirnite da iskljuÄite zvuk. Zvukovi usluga pristupaÄnosti mogu biti iskljuÄeni."</string>
+ <string name="volume_dialog_accessibility_shown_message" msgid="1834631467074259998">"Prikazane kontrole jaÄine zvuka za: %s. Prevucite prema gore za odbacivanje."</string>
+ <string name="volume_dialog_accessibility_dismissed_message" msgid="51543526013711399">"Kontrole jaÄine zvuka sakrivene"</string>
<string name="system_ui_tuner" msgid="708224127392452018">"PodeÅ¡avaÄ za korisniÄko suÄelje sistema"</string>
<string name="show_battery_percentage" msgid="5444136600512968798">"Prikaži ugrađeni postotak baterije"</string>
<string name="show_battery_percentage_summary" msgid="3215025775576786037">"Prikazuje postotak nivoa baterije unutar ikone na statusnoj traci kada se baterija ne puni"</string>
@@ -469,37 +504,27 @@
<string name="block" msgid="2734508760962682611">"Blokiraj sva obavještenja"</string>
<string name="do_not_silence" msgid="6878060322594892441">"Nemoj utišati"</string>
<string name="do_not_silence_block" msgid="4070647971382232311">"Nemoj utišati ili blokirati"</string>
- <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Prikaži kompletne postavke za odreÄ‘ivanje znaÄaja"</string>
- <string name="blocked_importance" msgid="5198578988978234161">"Blokirano"</string>
- <string name="min_importance" msgid="1901894910809414782">"Minimalni znaÄaj"</string>
- <string name="low_importance" msgid="4109929986107147930">"Mali znaÄaj"</string>
- <string name="default_importance" msgid="8192107689995742653">"Normalan znaÄaj"</string>
- <string name="high_importance" msgid="1527066195614050263">"Visok znaÄaj"</string>
- <string name="max_importance" msgid="5089005872719563894">"Hitan znaÄaj"</string>
- <string name="notification_importance_blocked" msgid="2397192642657872872">"Nikada ne prikazuj ova obavještenja"</string>
- <string name="notification_importance_min" msgid="1938190340516905748">"NeÄujno prikaži na dnu spiska obavjeÅ¡tenja"</string>
- <string name="notification_importance_low" msgid="3657252049508213048">"NeÄujno prikaži ova obavjeÅ¡tenja"</string>
- <string name="notification_importance_default" msgid="4466466472622442175">"Dozvolite zvuk na ovim obavještenjima"</string>
- <string name="notification_importance_high" msgid="2135428926525093825">"Kratko prikaži na ekranu i dozvoli zvuk"</string>
- <string name="notification_importance_max" msgid="5806278962376556491">"Prikaži na vrhu liste obavještenja, kratko prikaži na ekranu i dozvoli zvuk"</string>
+ <string name="tuner_full_importance_settings" msgid="3207312268609236827">"Kontrole obavještenja o napajanju"</string>
+ <string name="tuner_full_importance_settings_on" msgid="7545060756610299966">"UkljuÄeno"</string>
+ <string name="tuner_full_importance_settings_off" msgid="8208165412614935229">"IskljuÄeno"</string>
+ <string name="power_notification_controls_description" msgid="4372459941671353358">"Uz kontrolu obavjeÅ¡tenja o napajanju, možete postaviti nivo znaÄaja obavjeÅ¡tenja iz aplikacije, i to od nivoa 0 do 5. \n\n"<b>"Nivo 5"</b>" \n- Prikaži na vrhu liste obavjeÅ¡tenja \n- Dopusti prekid prikaza cijelog ekrana \n- Uvijek izviruj \n\n"<b>"Nvio 4"</b>" \n- SprijeÄi prekid prikaza cijelog ekrana \n- Uvijek izviruj \n\n"<b>"Nivo 3"</b>" \n- SprijeÄi prekid prikaza cijelog ekrana \n- Nikad ne izviruj \n\n"<b>"Nivo 2"</b>" \n- SprijeÄi prekid prikaza cijelog ekrana \n- Nikad ne izviruj \n- Nikada ne puÅ¡taj zvuk ili vibraciju \n\n"<b>"Nivo 1"</b>" \n- SprijeÄi prekid prikaza cijelog ekrana \n- Nikada ne izviruj \n- Nikada ne puÅ¡taj zvuk ili vibraciju \n- Sakrij sa ekrana za zakljuÄavanje i statusne trake \n- Prikaži na dnu liste obavjeÅ¡tenja \n\n"<b>"Nivo 0"</b>" \n- Blokiraj sva obavjeÅ¡tenja iz aplikacije"</string>
+ <string name="user_unspecified_importance" msgid="361613856933432117">"ZnaÄaj: Automatski"</string>
+ <string name="blocked_importance" msgid="5035073235408414397">"ZnaÄaj: Nivo 0"</string>
+ <string name="min_importance" msgid="560779348928574878">"ZnaÄaj: Nivo 1"</string>
+ <string name="low_importance" msgid="7571498511534140">"ZnaÄaj: Nivo 2"</string>
+ <string name="default_importance" msgid="7609889614553354702">"ZnaÄaj: Nivo 3"</string>
+ <string name="high_importance" msgid="3441537905162782568">"ZnaÄaj: Nivo 4"</string>
+ <string name="max_importance" msgid="4880179829869865275">"ZnaÄaj: Nivo 5"</string>
+ <string name="notification_importance_user_unspecified" msgid="2868359605125272874">"Aplikacija određuje važnost svakog obavještenja."</string>
+ <string name="notification_importance_blocked" msgid="4237497046867398057">"Nikad ne prikazuj obavještenja iz ove aplikacije"</string>
+ <string name="notification_importance_min" msgid="7844224511187027155">"Bez prekidanja prikaza cijelog ekrana, izvirivanja, zvuka ili vibracije. Sakriti sa ekrana za zakljuÄavanje i statusne trake."</string>
+ <string name="notification_importance_low" msgid="7950291702044409847">"Bez prekidanja prikaza cijelog ekrana, izvirivanja, zvuka ili vibracije."</string>
+ <string name="notification_importance_default" msgid="5924405820269074915">"Bez izvirivanja ili prekidanja prikaza cijelog ekrana."</string>
+ <string name="notification_importance_high" msgid="1729480727023990427">"Uvijek izviruj. Bez prekidanja prikaza cijelog ekrana."</string>
+ <string name="notification_importance_max" msgid="2508384624461849111">"Uvijek izviruj i dopusti prekid prikaza cijelog ekrana."</string>
<string name="notification_more_settings" msgid="816306283396553571">"Više postavki"</string>
<string name="notification_done" msgid="5279426047273930175">"Gotovo"</string>
<string name="notification_gear_accessibility" msgid="94429150213089611">"Kontrole <xliff:g id="APP_NAME">%1$s</xliff:g> obavještenja"</string>
- <string name="color_and_appearance" msgid="1254323855964993144">"Boja i izgled"</string>
- <string name="night_mode" msgid="3540405868248625488">"Noćni naÄin rada"</string>
- <string name="calibrate_display" msgid="5974642573432039217">"Kalibracija zaslona"</string>
- <string name="night_mode_on" msgid="5597545513026541108">"UkljuÄeno"</string>
- <string name="night_mode_off" msgid="8035605276956057508">"IskljuÄeno"</string>
- <string name="turn_on_automatically" msgid="4167565356762016083">"Automatsko ukljuÄivanje"</string>
- <string name="turn_on_auto_summary" msgid="2190994512406701520">"Prebaciti u Noćni naÄin rada u skladu sa lokacijom i dobom dana"</string>
- <string name="when_night_mode_on" msgid="2969436026899172821">"Kada je Noćni režim rada ukljuÄen"</string>
- <string name="use_dark_theme" msgid="2900938704964299312">"Koristiti tamne teme za OS Android"</string>
- <string name="adjust_tint" msgid="3398569573231409878">"Prilagođavanje nijanse"</string>
- <string name="adjust_brightness" msgid="980039329808178246">"Podešavanje osvijetljenosti"</string>
- <string name="night_mode_disclaimer" msgid="598914896926759578">"Tamna tema se primjenjuje na kljuÄna podruÄja OS Android koja se obiÄno prikazuju u svijetloj temi, kao Å¡to je meni Postavke."</string>
- <string name="color_apply" msgid="9212602012641034283">"Prihvati"</string>
- <string name="color_revert_title" msgid="4746666545480534663">"Potvrdi postavke"</string>
- <string name="color_revert_message" msgid="9116001069397996691">"S nekim postavkama boja ovaj ureÄ‘aj može biti neupotrebljiv. Kliknite U redu da biste potvrdili ove postavke boja ili saÄekajte 10 sekundi da se postavke vrate na poÄetnu vrijednost."</string>
<string name="battery_panel_title" msgid="7944156115535366613">"Upotreba baterije"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"UÅ¡teda baterije je iskljuÄena prilikom punjenja"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Ušteda baterije"</string>
@@ -580,7 +605,7 @@
<string name="keycode_description" msgid="1403795192716828949">"Dugmad za kodiranje tipki omogućavaju da se tipke sa tipkovnice dodaju u navigacionu traku. Kada se pritisnu, oni oponašaju izabranu tipku tastature. Kao prvo, tipka mora biti izabrana za dugme, a nakon toga se bira slika koja će biti prikazana na njemu."</string>
<string name="select_keycode" msgid="7413765103381924584">"Odaberite dugme na tastaturi"</string>
<string name="preview" msgid="9077832302472282938">"Pregledaj"</string>
- <string name="drag_to_add_tiles" msgid="7058945779098711293">"Povucite da biste dodali polja"</string>
+ <string name="drag_to_add_tiles" msgid="7058945779098711293">"Povucite da dodate polja"</string>
<string name="drag_to_remove_tiles" msgid="3361212377437088062">"Prevucite ovdje za uklanjanje"</string>
<string name="qs_edit" msgid="2232596095725105230">"Uredi"</string>
<string name="tuner_time" msgid="6572217313285536011">"Vrijeme"</string>
@@ -596,10 +621,16 @@
</string-array>
<string name="other" msgid="4060683095962566764">"Ostalo"</string>
<string name="accessibility_divider" msgid="5903423481953635044">"Razdjelnik ekrana"</string>
- <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Pomjeri dolje"</string>
- <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Pomjeri gore"</string>
- <string name="accessibility_action_divider_move_left" msgid="9218189832115847253">"Pomjeri lijevo"</string>
- <string name="accessibility_action_divider_move_right" msgid="4671522715182567972">"Pomjeri desno"</string>
+ <string name="accessibility_action_divider_left_full" msgid="2801570521881574972">"Lijevo cijeli ekran"</string>
+ <string name="accessibility_action_divider_left_70" msgid="3612060638991687254">"Lijevo 70%"</string>
+ <string name="accessibility_action_divider_left_50" msgid="1248083470322193075">"Lijevo 50%"</string>
+ <string name="accessibility_action_divider_left_30" msgid="543324403127069386">"Lijevo 30%"</string>
+ <string name="accessibility_action_divider_right_full" msgid="4639381073802030463">"Desno cijeli ekran"</string>
+ <string name="accessibility_action_divider_top_full" msgid="5357010904067731654">"Gore cijeli ekran"</string>
+ <string name="accessibility_action_divider_top_70" msgid="5090779195650364522">"Gore 70%"</string>
+ <string name="accessibility_action_divider_top_50" msgid="6385859741925078668">"Gore 50%"</string>
+ <string name="accessibility_action_divider_top_30" msgid="6201455163864841205">"Gore 30%"</string>
+ <string name="accessibility_action_divider_bottom_full" msgid="301433196679548001">"Dole cijeli ekran"</string>
<string name="accessibility_qs_edit_tile_label" msgid="8374924053307764245">"Pozicija <xliff:g id="POSITION">%1$d</xliff:g>, <xliff:g id="TILE_NAME">%2$s</xliff:g>. Dvaput dodirnite za uređivanje."</string>
<string name="accessibility_qs_edit_add_tile_label" msgid="8133209638023882667">"<xliff:g id="TILE_NAME">%1$s</xliff:g> Dvaput dodirnite za dodavanje."</string>
<string name="accessibility_qs_edit_position_label" msgid="5055306305919289819">"Pozicija <xliff:g id="POSITION">%1$d</xliff:g>. Dvaput dodirnite za odabir."</string>
@@ -609,9 +640,17 @@
<string name="accessibility_qs_edit_tile_removed" msgid="8584304916627913440">"<xliff:g id="TILE_NAME">%1$s</xliff:g> je uklonjen"</string>
<string name="accessibility_qs_edit_tile_moved" msgid="4343693412689365038">"<xliff:g id="TILE_NAME">%1$s</xliff:g> je premješten na poziciju <xliff:g id="POSITION">%2$d</xliff:g>"</string>
<string name="accessibility_desc_quick_settings_edit" msgid="8073587401747016103">"Uređivanje brzih postavki"</string>
+ <string name="accessibility_desc_notification_icon" msgid="8352414185263916335">"<xliff:g id="ID_1">%1$s</xliff:g> obavještenje: <xliff:g id="ID_2">%2$s</xliff:g>"</string>
<string name="dock_forced_resizable" msgid="5914261505436217520">"Aplikacija možda neće raditi na podijeljenom ekranu"</string>
<string name="dock_non_resizeble_failed_to_dock_text" msgid="3871617304250207291">"Aplikacija ne podržava dijeljenje ekrana."</string>
- <string name="accessibility_quick_settings_expand" msgid="4982484435775933070">"Proširite brze postavke."</string>
- <!-- no translation found for accessibility_quick_settings_page (5032979051755200721) -->
- <skip />
+ <string name="accessibility_quick_settings_settings" msgid="6132460890024942157">"Otvori postavke."</string>
+ <string name="accessibility_quick_settings_expand" msgid="2375165227880477530">"Otvoriti brze postavke."</string>
+ <string name="accessibility_quick_settings_collapse" msgid="1792625797142648105">"Zatvoriti brze postavke."</string>
+ <string name="accessibility_quick_settings_alarm_set" msgid="1863000242431528676">"Alarm postavljen."</string>
+ <string name="accessibility_quick_settings_user" msgid="1567445362870421770">"Prijavljeni ste kao <xliff:g id="ID_1">%s</xliff:g>"</string>
+ <string name="accessibility_quick_settings_no_internet" msgid="31890692343084075">"Nema internet veze."</string>
+ <string name="accessibility_quick_settings_open_details" msgid="4230931801728005194">"Otvori detalje."</string>
+ <string name="accessibility_quick_settings_open_settings" msgid="7806613775728380737">"Otvori postavke za: <xliff:g id="ID_1">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_edit" msgid="7839992848995240393">"Urediti raspored postavki."</string>
+ <string name="accessibility_quick_settings_page" msgid="5032979051755200721">"Stranica <xliff:g id="ID_1">%1$d</xliff:g> od <xliff:g id="ID_2">%2$d</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-bs-rBA/strings_tv.xml b/packages/SystemUI/res/values-bs-rBA/strings_tv.xml
index 65c0982df650..40347dcd9f2c 100644
--- a/packages/SystemUI/res/values-bs-rBA/strings_tv.xml
+++ b/packages/SystemUI/res/values-bs-rBA/strings_tv.xml
@@ -20,14 +20,14 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="pip_close" msgid="3480680679023423574">"Zatvori PIP"</string>
- <!-- no translation found for pip_fullscreen (8604643018538487816) -->
- <skip />
- <!-- no translation found for pip_play (674145557658227044) -->
- <skip />
- <!-- no translation found for pip_pause (8412075640017218862) -->
- <skip />
+ <string name="pip_fullscreen" msgid="8604643018538487816">"Cijeli ekran"</string>
+ <string name="pip_play" msgid="674145557658227044">"Pokreni"</string>
+ <string name="pip_pause" msgid="8412075640017218862">"Pauziraj"</string>
<string name="pip_hold_home" msgid="340086535668778109">"Za kontr. PIP držite "<b>"HOME"</b></string>
- <string name="pip_onboarding_description" msgid="2882896641362814195">"Za kontrolu PIP, pritisnite i držite dugme POČETAK"</string>
+ <string name="pip_onboarding_title" msgid="7850436557670253991">"Slika u slici"</string>
+ <string name="pip_onboarding_description" msgid="4028124563309465267">"Ovim videozapis ostaje prikazan sve dok pokrenete sljedeći. Pritisnite i držite "<b>" POČETAK "</b>" za kontrole PIP-a."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Jasno mi je"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Odbaci"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-ca/config.xml b/packages/SystemUI/res/values-ca/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-ca/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml
index f680f9dd9d92..66d37358b4bf 100644
--- a/packages/SystemUI/res/values-ca/strings.xml
+++ b/packages/SystemUI/res/values-ca/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Itinerància"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Vora"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Límit: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Advertiment: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Mode de feina"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Llum nocturna"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"La llum nocturna està encesa; toca aquí per apagar-la"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"La llum nocturna està apagada; toca aquí per encendre-la"</string>
<string name="recents_empty_message" msgid="808480104164008572">"No hi ha cap element recent"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Ho has esborrat tot"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Informació de l\'aplicació"</string>
diff --git a/packages/SystemUI/res/values-cs/config.xml b/packages/SystemUI/res/values-cs/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-cs/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml
index 8a290e438592..f905f145565f 100644
--- a/packages/SystemUI/res/values-cs/strings.xml
+++ b/packages/SystemUI/res/values-cs/strings.xml
@@ -147,6 +147,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -324,6 +325,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Limit: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Upozornění při <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Pracovní režim"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"NoÄní režim"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"NoÄní režim je zapnut, klepnutím jej vypnete"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"NoÄní režim je vypnut, klepnutím jej zapnete"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Žádné nedávné položky"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Vše je vymazáno"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Informace o aplikaci"</string>
diff --git a/packages/SystemUI/res/values-da/config.xml b/packages/SystemUI/res/values-da/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-da/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml
index 8ebf9fd5dd16..399dd497aa03 100644
--- a/packages/SystemUI/res/values-da/strings.xml
+++ b/packages/SystemUI/res/values-da/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"Over 4G"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Grænse: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Advarsel ved <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Arbejdstilstand"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Nattelys"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Nattelys er tændt. Tryk for at slukke"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Nattelys er slukket. Tryk for at tænde"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Ingen nye elementer"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Du har ryddet alt"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Oplysninger om applikationen"</string>
diff --git a/packages/SystemUI/res/values-de/config.xml b/packages/SystemUI/res/values-de/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-de/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml
index 5a0bc1093300..be919a6402cf 100644
--- a/packages/SystemUI/res/values-de/strings.xml
+++ b/packages/SystemUI/res/values-de/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -320,6 +321,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> Datenlimit"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Warnung für <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Arbeitsmodus"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Nachtlicht"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Nachtlicht an, zum Deaktivieren tippen"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Nachtlicht aus, zum Aktivieren tippen"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Keine kürzlich verwendeten Elemente"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Du hast alles gelöscht"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"App-Info"</string>
diff --git a/packages/SystemUI/res/values-el/config.xml b/packages/SystemUI/res/values-el/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-el/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml
index 8f563307bd8c..81c56c2a4360 100644
--- a/packages/SystemUI/res/values-el/strings.xml
+++ b/packages/SystemUI/res/values-el/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"ΠεÏιαγωγή"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"ÎŒÏιο <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"ΠÏοειδοποίηση για <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"ΛειτουÏγία εÏγασίας"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"ÎυχτεÏινός φωτισμός"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Ο ÎυχτεÏινός φωτισμός είναι ενεÏγοποιημένος. Πατήστε για απενεÏγοποίηση."</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Ο ÎυχτεÏινός φωτισμός είναι απενεÏγοποιημένος. Πατήστε για ενεÏγοποίηση."</string>
<string name="recents_empty_message" msgid="808480104164008572">"Δεν υπάÏχουν Ï€Ïόσφατα στοιχεία"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Έχει γίνει εκκαθάÏιση όλων των στοιχείων"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"ΠληÏοφοÏίες εφαÏμογής"</string>
diff --git a/packages/SystemUI/res/values-en-rAU/config.xml b/packages/SystemUI/res/values-en-rAU/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-en-rAU/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-en-rAU/strings.xml b/packages/SystemUI/res/values-en-rAU/strings.xml
index beb29b7a488e..a89afb626b2b 100644
--- a/packages/SystemUI/res/values-en-rAU/strings.xml
+++ b/packages/SystemUI/res/values-en-rAU/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> limit"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> warning"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Work mode"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Night Light"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Night Light on, tap to turn off"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Night Light off, tap to turn on"</string>
<string name="recents_empty_message" msgid="808480104164008572">"No recent items"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"You\'ve cleared everything"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Application Info"</string>
diff --git a/packages/SystemUI/res/values-en-rGB/config.xml b/packages/SystemUI/res/values-en-rGB/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-en-rGB/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml
index beb29b7a488e..a89afb626b2b 100644
--- a/packages/SystemUI/res/values-en-rGB/strings.xml
+++ b/packages/SystemUI/res/values-en-rGB/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> limit"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> warning"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Work mode"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Night Light"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Night Light on, tap to turn off"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Night Light off, tap to turn on"</string>
<string name="recents_empty_message" msgid="808480104164008572">"No recent items"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"You\'ve cleared everything"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Application Info"</string>
diff --git a/packages/SystemUI/res/values-en-rIN/config.xml b/packages/SystemUI/res/values-en-rIN/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-en-rIN/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-en-rIN/strings.xml b/packages/SystemUI/res/values-en-rIN/strings.xml
index beb29b7a488e..a89afb626b2b 100644
--- a/packages/SystemUI/res/values-en-rIN/strings.xml
+++ b/packages/SystemUI/res/values-en-rIN/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> limit"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> warning"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Work mode"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Night Light"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Night Light on, tap to turn off"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Night Light off, tap to turn on"</string>
<string name="recents_empty_message" msgid="808480104164008572">"No recent items"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"You\'ve cleared everything"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Application Info"</string>
diff --git a/packages/SystemUI/res/values-es-rUS/config.xml b/packages/SystemUI/res/values-es-rUS/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-es-rUS/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml
index d81f7cdd75ae..85f2cbdb53dc 100644
--- a/packages/SystemUI/res/values-es-rUS/strings.xml
+++ b/packages/SystemUI/res/values-es-rUS/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -320,6 +321,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Límite de <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Advertencia de <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Modo de trabajo"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Luz nocturna"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Presiona para desactivar la Luz nocturna"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Presiona para activar la Luz nocturna"</string>
<string name="recents_empty_message" msgid="808480104164008572">"No hay elementos recientes"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Todo borrado"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Información de la aplicación"</string>
diff --git a/packages/SystemUI/res/values-es/config.xml b/packages/SystemUI/res/values-es/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-es/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml
index 902a676bfd5b..2016d250dc1e 100644
--- a/packages/SystemUI/res/values-es/strings.xml
+++ b/packages/SystemUI/res/values-es/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Itinerancia"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Tipo Edge"</string>
@@ -320,6 +321,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Límite de <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Advertencia de <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Modo de trabajo"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Luz nocturna"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Luz nocturna activada; toca aquí para desactivarla"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Luz nocturna desactivada; toca aquí para activarla"</string>
<string name="recents_empty_message" msgid="808480104164008572">"No hay elementos recientes"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Has rechazado todo"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Información de la aplicación"</string>
diff --git a/packages/SystemUI/res/values-et-rEE/config.xml b/packages/SystemUI/res/values-et-rEE/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-et-rEE/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-et-rEE/strings.xml b/packages/SystemUI/res/values-et-rEE/strings.xml
index fd5115243208..604167392dd0 100644
--- a/packages/SystemUI/res/values-et-rEE/strings.xml
+++ b/packages/SystemUI/res/values-et-rEE/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Rändlus"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Serv"</string>
@@ -320,6 +321,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Limiit: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> hoiatus"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Töörežiim"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Öövalgus"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Öövalgus on sees, puudutage väljalülitamiseks"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Öövalgus on väljas, puudutage sisselülitamiseks"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Hiljutisi üksusi pole"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Olete kõik ära kustutanud"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Rakenduste teave"</string>
diff --git a/packages/SystemUI/res/values-eu-rES/config.xml b/packages/SystemUI/res/values-eu-rES/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-eu-rES/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-eu-rES/strings.xml b/packages/SystemUI/res/values-eu-rES/strings.xml
index 28804015f111..509fd43c239d 100644
--- a/packages/SystemUI/res/values-eu-rES/strings.xml
+++ b/packages/SystemUI/res/values-eu-rES/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Ibiltaritza"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"EDGE"</string>
@@ -320,6 +321,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Muga: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Abisua: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Lan modua"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Gaueko argia"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Aktibatuta dago gaueko argia. Sakatu desaktibatzeko."</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Desaktibatuta dago gaueko argia. Sakatu aktibatzeko."</string>
<string name="recents_empty_message" msgid="808480104164008572">"Ez dago azkenaldi honetako ezer"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Dena garbitu duzu"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Aplikazioaren informazioa"</string>
diff --git a/packages/SystemUI/res/values-fa/config.xml b/packages/SystemUI/res/values-fa/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-fa/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml
index ab6b5255116e..7ce3fce5b6f2 100644
--- a/packages/SystemUI/res/values-fa/strings.xml
+++ b/packages/SystemUI/res/values-fa/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+‎"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+‎"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"رومینگ"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> محدودیت"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"هشدار <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"حالت کار"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"نور شب"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"نور شب روشن است، برای خاموش‌کردن آن ضربه بزنید"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"نور شب خاموش است، برای روشن‌شدن آن ضربه بزنید"</string>
<string name="recents_empty_message" msgid="808480104164008572">"بدون موارد اخیر"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"همه‌چیز را پاک کرده‌اید"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"اطلاعات برنامه"</string>
diff --git a/packages/SystemUI/res/values-fi/config.xml b/packages/SystemUI/res/values-fi/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-fi/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml
index c91d3cbf0801..e588a26ba8c1 100644
--- a/packages/SystemUI/res/values-fi/strings.xml
+++ b/packages/SystemUI/res/values-fi/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"kiintiö <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> – varoitus"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Työtila"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Yövalo"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Yövalo on käytössä. Poista se käytöstä koskettamalla."</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Yövalo ei ole käytössä. Ota se käyttöön koskettamalla."</string>
<string name="recents_empty_message" msgid="808480104164008572">"Ei viimeaikaisia kohteita"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Kaikki on hoidettu."</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Sovellustiedot"</string>
diff --git a/packages/SystemUI/res/values-fr-rCA/config.xml b/packages/SystemUI/res/values-fr-rCA/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-fr-rCA/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-fr-rCA/strings.xml b/packages/SystemUI/res/values-fr-rCA/strings.xml
index 5efe3a08d9eb..c20c2b6f3bbc 100644
--- a/packages/SystemUI/res/values-fr-rCA/strings.xml
+++ b/packages/SystemUI/res/values-fr-rCA/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Itinérance"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"EDGE"</string>
@@ -320,6 +321,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Limite : <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Avertissement : <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Mode Travail"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Éclairage nocturne"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Le mode Éclairage nocturne est activé. Touchez ici pour le désactiver."</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Le mode Éclairage nocturne est désactivé. Touchez ici pour l\'activer."</string>
<string name="recents_empty_message" msgid="808480104164008572">"Aucun élément récent"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Vous avez tout effacé"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Détails de l\'application"</string>
diff --git a/packages/SystemUI/res/values-fr/config.xml b/packages/SystemUI/res/values-fr/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-fr/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml
index f59b456dfc33..cedc1ed8ed2d 100644
--- a/packages/SystemUI/res/values-fr/strings.xml
+++ b/packages/SystemUI/res/values-fr/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Itinérance"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"EDGE"</string>
@@ -320,6 +321,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> au maximum"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Avertissement : <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Mode Travail"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Éclairage nocturne"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Éclairage nocturne activé, appuyer pour désactiver"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Éclairage nocturne désactivé, appuyer pour activer"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Aucun élément récent"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Vous avez tout effacé."</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Infos application"</string>
diff --git a/packages/SystemUI/res/values-gl-rES/config.xml b/packages/SystemUI/res/values-gl-rES/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-gl-rES/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-gl-rES/strings.xml b/packages/SystemUI/res/values-gl-rES/strings.xml
index 27a3eb32940e..4d90e9123ba3 100644
--- a/packages/SystemUI/res/values-gl-rES/strings.xml
+++ b/packages/SystemUI/res/values-gl-rES/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Itinerancia"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -320,6 +321,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Límite de <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Advertencia <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Modo de traballo"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Luz nocturna"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"A función Luz nocturna está activada. Toca para desactivala"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"A función Luz nocturna está desactivada. Toca para activala"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Non hai elementos recentes"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Borraches todo"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Información da aplicación"</string>
diff --git a/packages/SystemUI/res/values-gu-rIN/config.xml b/packages/SystemUI/res/values-gu-rIN/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-gu-rIN/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-gu-rIN/strings.xml b/packages/SystemUI/res/values-gu-rIN/strings.xml
index f13436c6f4a2..d425f3a7a0ea 100644
--- a/packages/SystemUI/res/values-gu-rIN/strings.xml
+++ b/packages/SystemUI/res/values-gu-rIN/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"રોમિંગ"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> મરà«àª¯àª¾àª¦àª¾"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> ચેતવણી"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"કારà«àª¯ મોડ"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"રાતà«àª°àª¿ પà«àª°àª•ાશ"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"રાતà«àª°àª¿ પà«àª°àª•ાશ ચાલૠછે, બંધ કરવા માટે ટપ કરો"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"રાતà«àª°àª¿ પà«àª°àª•ાશ બંધ છે, ચાલૠકરવા માટે ટૅપ કરો"</string>
<string name="recents_empty_message" msgid="808480104164008572">"કોઇ તાજેતરની આઇટમà«àª¸ નથી"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"તમે બધà«àª‚ સાફ કરà«àª¯à«àª‚"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"àªàªªà«àª²àª¿àª•ેશન માહિતી"</string>
diff --git a/packages/SystemUI/res/values-hi/config.xml b/packages/SystemUI/res/values-hi/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-hi/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml
index 6f4e519deade..c74da952ceba 100644
--- a/packages/SystemUI/res/values-hi/strings.xml
+++ b/packages/SystemUI/res/values-hi/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"रोमिंग"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"किनारा"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> सीमा"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> चेतावनी"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"कारà¥à¤¯ मोड"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"नाइट लाइट"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"नाइट लाइट चालू है, बंद करने के लिठटैप करें"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"नाइट लाइट बंद है, चालू करने के लिठटैप करें"</string>
<string name="recents_empty_message" msgid="808480104164008572">"हाल ही का कोई आइटम नहीं"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"आपने सब कà¥à¤› साफ़ कर दिया है"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"à¤à¤ªà¥â€à¤²à¤¿à¤•ेशन जानकारी"</string>
diff --git a/packages/SystemUI/res/values-hr/config.xml b/packages/SystemUI/res/values-hr/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-hr/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml
index 0a8a788a4307..de3b3a6a98c6 100644
--- a/packages/SystemUI/res/values-hr/strings.xml
+++ b/packages/SystemUI/res/values-hr/strings.xml
@@ -146,6 +146,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G i više"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -320,6 +321,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"OgraniÄenje od <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Upozorenje <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"NaÄin rada"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Noćno svjetlo"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Noćno je svjetlo ukljuÄeno, dodirnite da biste ga iskljuÄili"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Noćno je svjetlo iskljuÄeno, dodirnite da biste ga ukljuÄili"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Nema nedavnih stavki"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Izbrisali ste sve"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Informacije o aplikaciji"</string>
diff --git a/packages/SystemUI/res/values-hu/config.xml b/packages/SystemUI/res/values-hu/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-hu/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml
index b4643ceae646..03943245cf31 100644
--- a/packages/SystemUI/res/values-hu/strings.xml
+++ b/packages/SystemUI/res/values-hu/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Barangolás"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> korlát"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Figyelem! <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Munka mód"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Éjszakai fény"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Éjszakai fény bekapcsolva, koppintson a kikapcsoláshoz"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Éjszakai fény kikapcsolva, koppintson a bekapcsoláshoz"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Nincsenek mostanában használt elemek"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Mindent törölt"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Az alkalmazás adatai"</string>
diff --git a/packages/SystemUI/res/values-hy-rAM/config.xml b/packages/SystemUI/res/values-hy-rAM/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-hy-rAM/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-hy-rAM/strings.xml b/packages/SystemUI/res/values-hy-rAM/strings.xml
index e0311118bd7f..f37858ccc2fc 100644
--- a/packages/SystemUI/res/values-hy-rAM/strings.xml
+++ b/packages/SystemUI/res/values-hy-rAM/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Ռոումինգ"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"ÕÕ¡Õ°Õ´Õ¡Õ¶Õ¡Õ¹Õ¡ÖƒÕ <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> Õ¦Õ£Õ¸Ö‚Õ·Õ¡ÖÕ¸Ö‚Õ´"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Ô±Õ·Õ­Õ¡Õ¿Õ¡Õ¶Ö„Õ¡ÕµÕ«Õ¶ Õ¼Õ¥ÕªÕ«Õ´"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Ô³Õ«Õ·Õ¥Ö€Õ¡ÕµÕ«Õ¶ Õ¬Õ¸Ö‚ÕµÕ½"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Ô³Õ«Õ·Õ¥Ö€Õ¡ÕµÕ«Õ¶ Õ¬Õ¸Ö‚ÕµÕ½Õ¨ Õ´Õ«Õ¡ÖÕ¾Õ¡Õ® Õ§, Õ°ÕºÕ¥Ö„Õ Õ¡Õ¶Õ»Õ¡Õ¿Õ¥Õ¬Õ¸Ö‚ Õ°Õ¡Õ´Õ¡Ö€"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Ô³Õ«Õ·Õ¥Ö€Õ¡ÕµÕ«Õ¶ Õ¬Õ¸Ö‚ÕµÕ½Õ¶ Õ¡Õ¶Õ»Õ¡Õ¿Õ¾Õ¡Õ® Õ§, Õ°ÕºÕ¥Ö„Õ Õ´Õ«Õ¡ÖÕ¶Õ¥Õ¬Õ¸Ö‚ Õ°Õ¡Õ´Õ¡Ö€"</string>
<string name="recents_empty_message" msgid="808480104164008572">"ÕŽÕ¥Ö€Õ»Õ«Õ¶ Õ¿Õ¡Ö€Ö€Õ¥Ö€ Õ¹Õ¯Õ¡Õ¶"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Ô´Õ¸Ö‚Ö„ Õ»Õ¶Õ»Õ¥Õ¬ Õ¥Ö„ Õ¡Õ´Õ¥Õ¶Õ¨"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Õ€Õ¡Õ¾Õ¥Õ¬Õ¾Õ¡Õ®Õ« Õ´Õ¡Õ½Õ«Õ¶"</string>
diff --git a/packages/SystemUI/res/values-in/config.xml b/packages/SystemUI/res/values-in/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-in/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml
index 13f9a15bbeec..5b80343bfbbe 100644
--- a/packages/SystemUI/res/values-in/strings.xml
+++ b/packages/SystemUI/res/values-in/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Batas <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Peringatan <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Mode kerja"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Cahaya Malam"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Cahaya Malam hidup, ketuk untuk mematikan"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Cahaya Malam mati, ketuk untuk menyalakan"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Tidak ada item baru-baru ini"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Anda sudah menghapus semua"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Info Aplikasi"</string>
diff --git a/packages/SystemUI/res/values-is-rIS/config.xml b/packages/SystemUI/res/values-is-rIS/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-is-rIS/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-is-rIS/strings.xml b/packages/SystemUI/res/values-is-rIS/strings.xml
index aabcc7642368..5d9989c50563 100644
--- a/packages/SystemUI/res/values-is-rIS/strings.xml
+++ b/packages/SystemUI/res/values-is-rIS/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Reiki"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> hámark"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> viðvörun"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Vinnustilling"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Næturljós"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Kveikt á næturljósi, ýttu til að slökkva"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Slökkt á næturljósi, ýttu til að kveikja"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Engin nýleg atriði"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Þú hefur hreinsað allt"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Forritsupplýsingar"</string>
diff --git a/packages/SystemUI/res/values-it/config.xml b/packages/SystemUI/res/values-it/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-it/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml
index a7ce343c0cc2..209f3efb87c2 100644
--- a/packages/SystemUI/res/values-it/strings.xml
+++ b/packages/SystemUI/res/values-it/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -320,6 +321,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Limite di <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Avviso <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Modalità Lavoro"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Luminosità notturna"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Luminosità notturna attiva, tocca per disattivarla"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Luminosità notturna disattivata, tocca per attivarla"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Nessun elemento recente"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Hai cancellato tutto"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Informazioni sull\'applicazione"</string>
diff --git a/packages/SystemUI/res/values-iw/config.xml b/packages/SystemUI/res/values-iw/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-iw/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml
index 1702926fa417..4afad7f01518 100644
--- a/packages/SystemUI/res/values-iw/strings.xml
+++ b/packages/SystemUI/res/values-iw/strings.xml
@@ -147,6 +147,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"+4G"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"+LTE"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"נדידה"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"קצה"</string>
@@ -322,6 +323,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"הגבלה של <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"×זהרה - <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"מצב עבודה"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"ת×ורת לילה"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"ת×ורת לילה פועלת, הקש כדי לכבות"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"ת×ורת לילה כבויה, הקש כדי להפעיל"</string>
<string name="recents_empty_message" msgid="808480104164008572">"×ין ×¤×¨×™×˜×™× ×חרוני×"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"מחקת הכול"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"מידע על ×”×פליקציה"</string>
diff --git a/packages/SystemUI/res/values-ja/config.xml b/packages/SystemUI/res/values-ja/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-ja/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml
index eebd09f058cc..f9940f1c7495 100644
--- a/packages/SystemUI/res/values-ja/strings.xml
+++ b/packages/SystemUI/res/values-ja/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"ローミング中"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"EDGE"</string>
@@ -320,6 +321,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"上é™: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"警告: 上é™ã¯<xliff:g id="DATA_LIMIT">%s</xliff:g>ã§ã™"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Work モード"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"読書ç¯"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"èª­æ›¸ç¯ ON: タップã™ã‚‹ã¨ OFF ã«ãªã‚Šã¾ã™"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"èª­æ›¸ç¯ OFF: タップã™ã‚‹ã¨ ON ã«ãªã‚Šã¾ã™"</string>
<string name="recents_empty_message" msgid="808480104164008572">"最近ã®ã‚¿ã‚¹ã‚¯ã¯ã‚りã¾ã›ã‚“"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"ã™ã¹ã¦ã®ã‚¿ã‚¹ã‚¯ã‚’消去ã—ã¾ã—ãŸ"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"アプリ情報"</string>
diff --git a/packages/SystemUI/res/values-ka-rGE/config.xml b/packages/SystemUI/res/values-ka-rGE/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-ka-rGE/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-ka-rGE/strings.xml b/packages/SystemUI/res/values-ka-rGE/strings.xml
index d066bd348df9..1715d7bb2bd7 100644
--- a/packages/SystemUI/res/values-ka-rGE/strings.xml
+++ b/packages/SystemUI/res/values-ka-rGE/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"რáƒáƒ£áƒ›áƒ˜áƒœáƒ’ი"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"ლიმიტი: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> გáƒáƒ¤áƒ áƒ—ხილებáƒ"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"სáƒáƒ›áƒ¡áƒáƒ®áƒ£áƒ áƒ˜áƒ¡ რეჟიმი"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"ღáƒáƒ›áƒ˜áƒ¡ გáƒáƒœáƒáƒ—ებáƒ"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"ღáƒáƒ›áƒ˜áƒ¡ გáƒáƒœáƒáƒ—ებრჩáƒáƒ áƒ—ულიáƒ, შეეხეთ გáƒáƒ›áƒáƒ¡áƒáƒ áƒ—áƒáƒ•áƒáƒ“"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"ღáƒáƒ›áƒ˜áƒ¡ გáƒáƒœáƒáƒ—ებრგáƒáƒ›áƒáƒ áƒ—ულიáƒ, შეეხეთ ჩáƒáƒ¡áƒáƒ áƒ—áƒáƒ•áƒáƒ“"</string>
<string name="recents_empty_message" msgid="808480104164008572">"ბáƒáƒšáƒáƒ¡ გáƒáƒ›áƒáƒ§áƒ”ნებული ერთეულები áƒáƒ  áƒáƒ áƒ˜áƒ¡"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"ყველáƒáƒ¤áƒ”რი გáƒáƒ¡áƒ£áƒ¤áƒ—áƒáƒ•დáƒ"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"áƒáƒžáƒšáƒ˜áƒ™áƒáƒªáƒ˜áƒ˜áƒ¡ შესáƒáƒ®áƒ”ბ"</string>
diff --git a/packages/SystemUI/res/values-kk-rKZ/config.xml b/packages/SystemUI/res/values-kk-rKZ/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-kk-rKZ/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-kk-rKZ/strings.xml b/packages/SystemUI/res/values-kk-rKZ/strings.xml
index 7d089508a056..6715fefcdd26 100644
--- a/packages/SystemUI/res/values-kk-rKZ/strings.xml
+++ b/packages/SystemUI/res/values-kk-rKZ/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4Г"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"ҰМД"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA (кодтармен бөлінген бірнеше қол жетімділік)"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Роуминг"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"EDGE (Ò±Ñлы байланыÑтар жүйеÑіне арналған жетілдірілген деректер шамалары)"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> шегі"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> туралы еÑкерту"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Ð–Ò±Ð¼Ñ‹Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñ–"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Түнгі жарық"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Түнгі жарық қоÑулы, өшіру үшін оны түртіңіз"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Түнгі жарық өшірулі, қоÑу үшін оны түртіңіз"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Жақындағы Ñлементтер жоқ"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Сіз барлығын өшірдіңіз"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Қолданба туралы ақпарат"</string>
diff --git a/packages/SystemUI/res/values-km-rKH/config.xml b/packages/SystemUI/res/values-km-rKH/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-km-rKH/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-km-rKH/strings.xml b/packages/SystemUI/res/values-km-rKH/strings.xml
index 907b26fa641f..f9d36aafed00 100644
--- a/packages/SystemUI/res/values-km-rKH/strings.xml
+++ b/packages/SystemUI/res/values-km-rKH/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"រ៉ូ​មីង"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"ដែន​កំណážáŸ‹ <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> ការ​ព្រមាន"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"របៀបការងារ"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"ពន្លឺពáŸáž›áž™áž”់"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"ពន្លឺពáŸáž›áž™áž”់បើកហើយ ប៉ះដើម្បីបិទ"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"ពន្លឺពáŸáž›áž™áž”់បិទហើយ ប៉ះដើម្បីបើក"</string>
<string name="recents_empty_message" msgid="808480104164008572">"មិនមានធាážáž»ážáŸ’មីៗទáŸ"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"អ្នកបានជម្រះអ្វីៗទាំងអស់"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"áž–áŸážáŸŒáž˜áž¶áž“​កម្មវិធី"</string>
diff --git a/packages/SystemUI/res/values-kn-rIN/config.xml b/packages/SystemUI/res/values-kn-rIN/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-kn-rIN/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-kn-rIN/strings.xml b/packages/SystemUI/res/values-kn-rIN/strings.xml
index f1da673623f0..548adbe32633 100644
--- a/packages/SystemUI/res/values-kn-rIN/strings.xml
+++ b/packages/SystemUI/res/values-kn-rIN/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"ರೋಮಿಂಗà³"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"ಎಡà³à²œà³â€Œ"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> ಮಿತಿ"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> ಎಚà³à²šà²°à²¿à²•ೆ"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"ಕೆಲಸದ ಮೋಡà³"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"ನೈಟೠಲೈಟà³"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"ನೈಟೠಲೈಟೠಆನೠಆಗಿದೆ, ಆಫೠಮಾಡಲೠಟà³à²¯à²¾à²ªà³ ಮಾಡಿ"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"ನೈಟೠಲೈಟೠಆಫೠಆಗಿದೆ, ಆನೠಮಾಡಲೠಟà³à²¯à²¾à²ªà³ ಮಾಡಿ"</string>
<string name="recents_empty_message" msgid="808480104164008572">"ಯಾವà³à²¦à³‡ ಇತà³à²¤à³€à²šà²¿à²¨ à²à²Ÿà²‚ಗಳಿಲà³à²²"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"ನೀವೠಎಲà³à²²à²µà²¨à³à²¨à³‚ ತೆರವà³à²—ೊಳಿಸಿರà³à²µà²¿à²°à²¿"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"ಅಪà³à²²à²¿à²•ೇಶನೠಮಾಹಿತಿ"</string>
diff --git a/packages/SystemUI/res/values-ko/config.xml b/packages/SystemUI/res/values-ko/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-ko/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml
index b48548adcb5f..241f80322d47 100644
--- a/packages/SystemUI/res/values-ko/strings.xml
+++ b/packages/SystemUI/res/values-ko/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G ì´ìƒ"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"로ë°"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -320,6 +321,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"한ë„: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> 경고"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"작업 모드"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"야간 조명"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"야간 조명 사용 설정ë¨, 사용 중지하려면 탭"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"야간 조명 사용 중지ë¨, 사용 설정하려면 탭"</string>
<string name="recents_empty_message" msgid="808480104164008572">"최근 í•­ëª©ì´ ì—†ìŠµë‹ˆë‹¤."</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"모든 í•­ëª©ì„ ì‚­ì œí–ˆìŠµë‹ˆë‹¤."</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"애플리케ì´ì…˜ ì •ë³´"</string>
diff --git a/packages/SystemUI/res/values-ky-rKG/config.xml b/packages/SystemUI/res/values-ky-rKG/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-ky-rKG/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-ky-rKG/strings.xml b/packages/SystemUI/res/values-ky-rKG/strings.xml
index baed26f1f346..e392b97c15c4 100644
--- a/packages/SystemUI/res/values-ky-rKG/strings.xml
+++ b/packages/SystemUI/res/values-ky-rKG/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Роуминг"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> чектөө"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> ÑÑкертүү"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Иштөө режими"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Түнкү жарык"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Түнкү жарык күйүк, өчүрүү үчүн таптап коюңуз"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Түнкү жарык өчүк, күйгүзүү үчүн таптап коюңуз"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Ðкыркы колдонмолор жок"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Баарын тазаладыңыз"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Колдонмо жөнүндө маалымат"</string>
diff --git a/packages/SystemUI/res/values-lo-rLA/config.xml b/packages/SystemUI/res/values-lo-rLA/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-lo-rLA/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-lo-rLA/strings.xml b/packages/SystemUI/res/values-lo-rLA/strings.xml
index 75fa023267d7..66fb010b617c 100644
--- a/packages/SystemUI/res/values-lo-rLA/strings.xml
+++ b/packages/SystemUI/res/values-lo-rLA/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"ໂຣມມິງ"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"ຈຳ​àºàº±àº” <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"ຄຳ​ເຕືອນ <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"ໂà»àº”àºàº²àº™à»€àº®àº±àº”ວຽàº"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"à»àºªàº‡àºàº²àº‡àº„ືນ"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"ເປີດà»àºªàº‡àºàº²àº‡àº„ືນຢູ່, à»àº•ະເພື່ອປິດໄວ້"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"ປິດà»àºªàº‡àºàº²àº‡àº„ືນຢູ່, à»àº•ະເພື່ອເປີດໃຊ້"</string>
<string name="recents_empty_message" msgid="808480104164008572">"ບà»à»ˆàº¡àºµàº¥àº²àºàºàº²àº™àº«àº¼à»‰àº²àºªàº¸àº”"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"ທ່ານລຶບລ້າງທຸàºàº¢à»ˆàº²àº‡à»àº¥à»‰àº§"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"​ຂà»à»‰â€‹àº¡àº¹àº™â€‹à»àº­àº±àºšâ€‹àºžâ€‹àº¥àº´â€‹à»€àº„​ຊັນ"</string>
diff --git a/packages/SystemUI/res/values-lt/config.xml b/packages/SystemUI/res/values-lt/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-lt/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml
index fa843c6c95f2..c120a7e21ecb 100644
--- a/packages/SystemUI/res/values-lt/strings.xml
+++ b/packages/SystemUI/res/values-lt/strings.xml
@@ -147,6 +147,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Tarptinklinis ryšys"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Kraštas"</string>
@@ -322,6 +323,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Limitas: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> įspėjimas"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Darbo režimas"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Nakties šviesa"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Nakties šviesa įjungta. Palieskite, kad išjungtumėte"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Nakties šviesa išjungta. Palieskite, kad įjungtumėte"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Nėra jokių naujausių elementų"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Viską išvalėte"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Programos informacija"</string>
diff --git a/packages/SystemUI/res/values-lv/config.xml b/packages/SystemUI/res/values-lv/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-lv/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml
index 4b98e29ef109..3dcd7a2dbdc6 100644
--- a/packages/SystemUI/res/values-lv/strings.xml
+++ b/packages/SystemUI/res/values-lv/strings.xml
@@ -146,6 +146,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Viesabonēšana"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"EDGE"</string>
@@ -320,6 +321,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Ierobežojums: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> brÄ«dinÄjums"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Darba režīms"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Nakts režīms"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Nakts režīms ir ieslēgts. Pieskarieties, lai to izslēgtu."</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Nakts režīms ir izslēgts. Pieskarieties, lai to ieslēgtu."</string>
<string name="recents_empty_message" msgid="808480104164008572">"Nav nesenu vienumu"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Visi uzdevumi ir notīrīti"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"InformÄcija par lietojumprogrammu"</string>
diff --git a/packages/SystemUI/res/values-mk-rMK/config.xml b/packages/SystemUI/res/values-mk-rMK/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-mk-rMK/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-mk-rMK/strings.xml b/packages/SystemUI/res/values-mk-rMK/strings.xml
index df05c0681f57..14940e600a15 100644
--- a/packages/SystemUI/res/values-mk-rMK/strings.xml
+++ b/packages/SystemUI/res/values-mk-rMK/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Роаминг"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Лимит: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Предупредување за <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Режим на работа"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Ðоќно Ñветло"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Ðоќното Ñветло е вклучено, допрете за да Ñе иÑклучи"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Ðоќното Ñветло е иÑклучено, допрете за да Ñе вклучи"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Ðема неодамнешни Ñтавки"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"ИÑчиÑтивте ÑÑ"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Информации за апликацијата"</string>
diff --git a/packages/SystemUI/res/values-ml-rIN/config.xml b/packages/SystemUI/res/values-ml-rIN/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-ml-rIN/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-ml-rIN/strings.xml b/packages/SystemUI/res/values-ml-rIN/strings.xml
index db2f30acb2ec..c3e231b2c250 100644
--- a/packages/SystemUI/res/values-ml-rIN/strings.xml
+++ b/packages/SystemUI/res/values-ml-rIN/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"റോമിംഗàµ"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> പരിധി"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> à´®àµà´¨àµà´¨à´±à´¿à´¯à´¿à´ªàµà´ªàµ"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"à´ªàµà´°à´µàµ¼à´¤àµà´¤à´¨ മോഡàµ"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"നൈറàµà´±àµ ലൈറàµà´±àµ"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"നൈറàµà´±àµ ലൈറàµà´±àµ ഓണാണàµ, ഓഫാകàµà´•àµà´¨àµà´¨à´¤à´¿à´¨àµ ടാപàµà´ªàµà´šàµ†à´¯àµà´¯àµà´•"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"നൈറàµà´±àµ ലൈറàµà´±àµ ഓഫാണàµ, ഓണാകàµà´•àµà´¨àµà´¨à´¤à´¿à´¨àµ ടാപàµà´ªàµà´šàµ†à´¯àµà´¯àµà´•"</string>
<string name="recents_empty_message" msgid="808480104164008572">"സമീപകാല ഇനങàµà´™àµ¾ à´’à´¨àµà´¨àµà´®à´¿à´²àµà´²"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"നിങàµà´™àµ¾ à´Žà´²àµà´²à´¾à´‚ മായàµà´šàµà´šà´¿à´°à´¿à´•àµà´•àµà´¨àµà´¨àµ"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"ആപàµà´ªàµ വിവരം"</string>
diff --git a/packages/SystemUI/res/values-mn-rMN/config.xml b/packages/SystemUI/res/values-mn-rMN/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-mn-rMN/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-mn-rMN/strings.xml b/packages/SystemUI/res/values-mn-rMN/strings.xml
index a878c7ff15ed..859ad57d9292 100644
--- a/packages/SystemUI/res/values-mn-rMN/strings.xml
+++ b/packages/SystemUI/res/values-mn-rMN/strings.xml
@@ -143,6 +143,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Рүүминг"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -316,6 +317,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> Ñ…Ñзгаар"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> анхааруулга"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Ðжлын горим"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Шөнийн гÑÑ€Ñл"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Шөнийн гÑÑ€Ñл аÑаалттай байна. Унтраахын тулд товшино уу"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Шөнийн гÑÑ€Ñл унтраалттай байна. ÐÑаахын тулд товшино уу"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Сүүлийн үеийн зүйл байхгүй"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Та бүгдийг нь уÑтгаÑан"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Ðппликешны мÑдÑÑлÑл"</string>
diff --git a/packages/SystemUI/res/values-mr-rIN/config.xml b/packages/SystemUI/res/values-mr-rIN/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-mr-rIN/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-mr-rIN/strings.xml b/packages/SystemUI/res/values-mr-rIN/strings.xml
index 0abc667228ea..a088bd4eddc6 100644
--- a/packages/SystemUI/res/values-mr-rIN/strings.xml
+++ b/packages/SystemUI/res/values-mr-rIN/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"रोमिंग"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> मरà¥à¤¯à¤¾à¤¦à¤¾"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> चेतावणी"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"कारà¥à¤¯ मोड"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"रातà¥à¤°à¥€à¤šà¤¾ पà¥à¤°à¤•ाश"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"रातà¥à¤°à¥€à¤šà¤¾ पà¥à¤°à¤•ाश चालू आहे, बंद करणà¥à¤¯à¤¾à¤¸à¤¾à¤ à¥€ टॅप करा"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"रातà¥à¤°à¥€à¤šà¤¾ पà¥à¤°à¤•ाश बंद आहे, चालू करणà¥à¤¯à¤¾à¤¸à¤¾à¤ à¥€ टॅप करा"</string>
<string name="recents_empty_message" msgid="808480104164008572">"अलीकडील कोणतेही आयटम नाहीत"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"आपण सरà¥à¤µà¤•ाही साफ केले"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"अनà¥à¤ªà¥à¤°à¤¯à¥‹à¤— माहिती"</string>
diff --git a/packages/SystemUI/res/values-ms-rMY/config.xml b/packages/SystemUI/res/values-ms-rMY/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-ms-rMY/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-ms-rMY/strings.xml b/packages/SystemUI/res/values-ms-rMY/strings.xml
index fa5ba0a56671..a9a1ad0ba3c5 100644
--- a/packages/SystemUI/res/values-ms-rMY/strings.xml
+++ b/packages/SystemUI/res/values-ms-rMY/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Perayauan"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> had"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Amaran <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Mod kerja"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Cahaya Malam"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Cahaya Malam dihidupkan, ketik untuk mematikannya"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Cahaya Malam dimatikan, ketik untuk menghidupkannya"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Tiada item terbaharu"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Anda telah mengetepikan semua item"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Maklumat Aplikasi"</string>
diff --git a/packages/SystemUI/res/values-my-rMM/config.xml b/packages/SystemUI/res/values-my-rMM/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-my-rMM/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-my-rMM/strings.xml b/packages/SystemUI/res/values-my-rMM/strings.xml
index 5f7478834eb0..0577b51e2b36 100644
--- a/packages/SystemUI/res/values-my-rMM/strings.xml
+++ b/packages/SystemUI/res/values-my-rMM/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"မြန်နှုန်းမြင့်လိုင်း"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"ကွန်ယက်ပြင်ပဒေá€á€¬á€¡á€žá€¯á€¶á€¸á€•ြုá€á€¼á€„်း"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"EDGE"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> ကန့်သá€á€ºá€á€»á€€á€º"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> သá€á€­á€•ေးá€á€»á€€á€º"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"အလုပ် မုဒ်"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"ညအလင်းရောင်"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"ညအလင်းရောင်ကို ဖွင့်ထားသည်አပိá€á€ºá€›á€”်á€á€­á€¯á€·á€•ါ"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"ညအလင်းရောင်ကို ပိá€á€ºá€‘ားသည်አဖွင့်ရန်á€á€­á€¯á€·á€•ါ"</string>
<string name="recents_empty_message" msgid="808480104164008572">"မကြာမီကဖွင့်ထားသည်များ မရှိပါ"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"သင်အားလုံးကို ရှင်းလင်းပြီးပါပြီ"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"အပလီကေးရှင်းအင်ဖို"</string>
diff --git a/packages/SystemUI/res/values-nb/config.xml b/packages/SystemUI/res/values-nb/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-nb/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml
index 63ae35b2021e..ff1cd2c4e19d 100644
--- a/packages/SystemUI/res/values-nb/strings.xml
+++ b/packages/SystemUI/res/values-nb/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Grense på <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Advarsel for <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Arbeidsmodus"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Nattlys"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Nattlys er på, trykk for å slå av"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Nattlys er av, trykk for å slå på"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Ingen nylige elementer"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Du har fjernet alt"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Appinformasjon"</string>
diff --git a/packages/SystemUI/res/values-ne-rNP/config.xml b/packages/SystemUI/res/values-ne-rNP/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-ne-rNP/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-ne-rNP/strings.xml b/packages/SystemUI/res/values-ne-rNP/strings.xml
index 06baec1d0b20..76908d914f2a 100644
--- a/packages/SystemUI/res/values-ne-rNP/strings.xml
+++ b/packages/SystemUI/res/values-ne-rNP/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"रोमिङ"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> सीमा"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> चेतावनी दिà¤à¤¦à¥ˆ"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"कारà¥à¤¯ मोड"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"रातà¥à¤°à¤¿à¤•ो पà¥à¤°à¤•ाश"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"रातà¥à¤°à¤¿à¤•ो पà¥à¤°à¤•ाश सकà¥à¤°à¤¿à¤¯ छ, निषà¥à¤•à¥à¤°à¤¿à¤¯ पारà¥à¤¨ टà¥à¤¯à¤¾à¤ª गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"रातà¥à¤°à¤¿à¤•ो पà¥à¤°à¤•ाश निषà¥à¤•à¥à¤°à¤¿à¤¯ छ, सकà¥à¤°à¤¿à¤¯ गरà¥à¤¨ टà¥à¤¯à¤¾à¤ª गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string>
<string name="recents_empty_message" msgid="808480104164008572">"हालका कà¥à¤¨à¥ˆ पनि वसà¥à¤¤à¥à¤¹à¤°à¥‚ छैननà¥"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"तपाईà¤à¤²à¥‡ सबै कà¥à¤°à¤¾ खाली गरà¥à¤¨à¥à¤­à¤à¤•ो छ"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"अनà¥à¤ªà¥à¤°à¤¯à¥‹à¤— जानकारी"</string>
diff --git a/packages/SystemUI/res/values-nl/config.xml b/packages/SystemUI/res/values-nl/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-nl/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml
index 546025591fdf..c26b6a5d66a0 100644
--- a/packages/SystemUI/res/values-nl/strings.xml
+++ b/packages/SystemUI/res/values-nl/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Limiet van <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Waarschuwing voor <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Werkmodus"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Nachtverlichting"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Nachtverlichting is ingeschakeld. Tik om deze uit te schakelen."</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Nachtverlichting is uitgeschakeld. Tik om deze in te schakelen."</string>
<string name="recents_empty_message" msgid="808480104164008572">"Geen recente items"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Je hebt alles gewist"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"App-informatie"</string>
diff --git a/packages/SystemUI/res/values-pa-rIN/config.xml b/packages/SystemUI/res/values-pa-rIN/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-pa-rIN/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-pa-rIN/strings.xml b/packages/SystemUI/res/values-pa-rIN/strings.xml
index ee29c466adbf..fdd5ae096785 100644
--- a/packages/SystemUI/res/values-pa-rIN/strings.xml
+++ b/packages/SystemUI/res/values-pa-rIN/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"ਰੋਮਿੰਗ"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"ਕਿਨਾਰਾ"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> ਸੀਮਾ"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> ਚਿਤਾਵਨੀ"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"ਕੰਮ ਮੋਡ"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"ਰਾਤਰੀ ਲਾਈਟ"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"ਰਾਤਰੀ ਲਾਈਟ ਚਾਲੂ ਹੈ, ਬੰਦ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"ਰਾਤਰੀ ਲਾਈਟ ਬੰਦ ਹੈ, ਚਾਲੂ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ"</string>
<string name="recents_empty_message" msgid="808480104164008572">"ਕੋਈ ਹਾਲੀਆ ਆਈਟਮਾਂ ਨਹੀਂ"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"ਤà©à¨¸à©€à¨‚ ਸਭ ਕà©à¨ ਸਾਫ਼ ਕਰ ਦਿੱਤਾ ਹੈ"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"à¨à¨ªà¨²à©€à¨•ੇਸ਼ਨ ਜਾਣਕਾਰੀ"</string>
diff --git a/packages/SystemUI/res/values-pl/config.xml b/packages/SystemUI/res/values-pl/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-pl/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml
index 90a0099402bd..9892e797a96a 100644
--- a/packages/SystemUI/res/values-pl/strings.xml
+++ b/packages/SystemUI/res/values-pl/strings.xml
@@ -147,6 +147,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -322,6 +323,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Limit <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Ostrzeżenie: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Tryb pracy"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Podświetlenie nocne"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Podświetlenie nocne włączone – kliknij, by wyłączyć"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Podświetlenie nocne wyłączone – kliknij, by włączyć"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Brak ostatnich elementów"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Wszystko zostało wyczyszczone"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Informacje o aplikacji"</string>
diff --git a/packages/SystemUI/res/values-pt-rBR/config.xml b/packages/SystemUI/res/values-pt-rBR/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-pt-rBR/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-pt-rBR/strings.xml b/packages/SystemUI/res/values-pt-rBR/strings.xml
index b860c099dd27..153f8af4da89 100644
--- a/packages/SystemUI/res/values-pt-rBR/strings.xml
+++ b/packages/SystemUI/res/values-pt-rBR/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -320,6 +321,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Limite: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Aviso de <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Modo de trabalho"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Modo noturno"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Modo noturno ativado. Toque para desativar"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Modo noturno desativado. Toque para ativar"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Nenhum item recente"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Você limpou tudo"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Informações do app"</string>
diff --git a/packages/SystemUI/res/values-pt-rPT/config.xml b/packages/SystemUI/res/values-pt-rPT/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-pt-rPT/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml
index 00afbc148b27..e515c6e56467 100644
--- a/packages/SystemUI/res/values-pt-rPT/strings.xml
+++ b/packages/SystemUI/res/values-pt-rPT/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Limite de <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Aviso de <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Modo de trabalho"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Luz noturna"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Luz noturna ativada; toque para desativar"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Luz noturna desativada; toque para ativar"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Nenhum item recente"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Limpou tudo"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Informações da aplicação"</string>
diff --git a/packages/SystemUI/res/values-pt/config.xml b/packages/SystemUI/res/values-pt/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-pt/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml
index b860c099dd27..153f8af4da89 100644
--- a/packages/SystemUI/res/values-pt/strings.xml
+++ b/packages/SystemUI/res/values-pt/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -320,6 +321,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Limite: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Aviso de <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Modo de trabalho"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Modo noturno"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Modo noturno ativado. Toque para desativar"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Modo noturno desativado. Toque para ativar"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Nenhum item recente"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Você limpou tudo"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Informações do app"</string>
diff --git a/packages/SystemUI/res/values-ro/config.xml b/packages/SystemUI/res/values-ro/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-ro/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml
index 6c0cab283c98..e8157a4c22e6 100644
--- a/packages/SystemUI/res/values-ro/strings.xml
+++ b/packages/SystemUI/res/values-ro/strings.xml
@@ -146,6 +146,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"EDGE"</string>
@@ -322,6 +323,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Limită de <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Avertizare: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Modul de lucru"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Lumină de noapte"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Lumina de noapte este activată; atingeți pentru a o dezactiva"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Lumina de noapte este dezactivată; atingeți pentru a o activa"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Niciun element recent"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Ați șters tot"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Informații despre aplicație"</string>
diff --git a/packages/SystemUI/res/values-ru/config.xml b/packages/SystemUI/res/values-ru/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-ru/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml
index f606f77be23e..89c11a37f5a2 100644
--- a/packages/SystemUI/res/values-ru/strings.xml
+++ b/packages/SystemUI/res/values-ru/strings.xml
@@ -147,6 +147,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Роуминг"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -324,6 +325,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Ограничение: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Предупреждение: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Рабочий режим"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Ðочной режим"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Ðочной режим включен. Ðажмите, чтобы отключить."</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Ðочной режим отключен. Ðажмите, чтобы включить."</string>
<string name="recents_empty_message" msgid="808480104164008572">"Ðедавних приложений нет"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Ð’Ñ‹ очиÑтили вÑÑ‘"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Ð¡Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ приложении"</string>
diff --git a/packages/SystemUI/res/values-si-rLK/config.xml b/packages/SystemUI/res/values-si-rLK/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-si-rLK/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-si-rLK/strings.xml b/packages/SystemUI/res/values-si-rLK/strings.xml
index 57cc5dfa1be6..256803f1f681 100644
--- a/packages/SystemUI/res/values-si-rLK/strings.xml
+++ b/packages/SystemUI/res/values-si-rLK/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"à¶»à·à¶¸à·’à¶‚"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> සීමිත"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> අවවà·à¶¯ කිරීම"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"à·€à·à¶© à¶´à·Šâ€à¶»à¶šà·à¶»à¶º"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"à¶»à·à¶­à·Šâ€à¶»à·“ ආලà·à¶šà¶º"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"à¶»à·à¶­à·Šâ€à¶»à·“ ආලà·à¶šà¶º à¶šà·Šâ€à¶»à·’යà·à¶­à·Šà¶¸à¶šà¶ºà·’, à¶šà·Šâ€à¶»à·’යà·à·€à·’රහිත කිරීමට à¶­à¶§à·Šà¶§à·” කරන්න"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"à¶»à·à¶­à·Šâ€à¶»à·“ ආලà·à¶šà¶º à¶šà·Šâ€à¶»à·’යà·à·€à·’රහිතයි, à¶šà·Šâ€à¶»à·’යà·à¶­à·Šà¶¸à¶š කිරීමට à¶­à¶§à·Šà¶§à·” කරන්න"</string>
<string name="recents_empty_message" msgid="808480104164008572">"මෑත අයිතම à¶±à·à¶­"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"ඔබ සියලු දේ හිස් කර ඇත"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"යෙදුම් තොරතුරු"</string>
diff --git a/packages/SystemUI/res/values-sk/config.xml b/packages/SystemUI/res/values-sk/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-sk/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml
index a96367ed88a2..5ef132d09344 100644
--- a/packages/SystemUI/res/values-sk/strings.xml
+++ b/packages/SystemUI/res/values-sk/strings.xml
@@ -147,6 +147,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -324,6 +325,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Limit: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Upozornenie pri <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Pracovný režim"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"NoÄný režim"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"NoÄný režim je zapnutý (vypnete ho klepnutím)"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"NoÄný režim je vypnutý (zapnete ho klepnutím)"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Žiadne nedávne položky"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Vymazali ste všetko"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Informácie o aplikácii"</string>
@@ -589,7 +593,7 @@
<string name="end" msgid="125797972524818282">"Koniec"</string>
<string name="space" msgid="804232271282109749">"Medzerník"</string>
<string name="menu_ime" msgid="4943221416525250684">"PrepínaÄ â€“ ponuka/klávesnica"</string>
- <string name="select_button" msgid="1597989540662710653">"Výber tlaÄidla, ktoré sa má pridaÅ¥"</string>
+ <string name="select_button" msgid="1597989540662710653">"Výber tlaÄidla"</string>
<string name="add_button" msgid="4134946063432258161">"PridaÅ¥ tlaÄidlo"</string>
<string name="save" msgid="2311877285724540644">"Uložiť"</string>
<string name="reset" msgid="2448168080964209908">"Obnoviť"</string>
diff --git a/packages/SystemUI/res/values-sl/config.xml b/packages/SystemUI/res/values-sl/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-sl/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml
index d2cd947f919a..4f874324465d 100644
--- a/packages/SystemUI/res/values-sl/strings.xml
+++ b/packages/SystemUI/res/values-sl/strings.xml
@@ -147,6 +147,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Gostovanje"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -324,6 +325,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Omejitev: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Opozorilo – <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"NaÄin za delo"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"NoÄna svetloba"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"NoÄna svetloba je vklopljena. Dotaknite se, Äe jo želite izklopiti."</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"NoÄna svetloba je izklopljena. Dotaknite se, Äe jo želite vklopiti."</string>
<string name="recents_empty_message" msgid="808480104164008572">"Ni nedavnih elementov"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Vse te poÄistili"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Podatki o aplikaciji"</string>
diff --git a/packages/SystemUI/res/values-sq-rAL/config.xml b/packages/SystemUI/res/values-sq-rAL/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-sq-rAL/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-sq-rAL/strings.xml b/packages/SystemUI/res/values-sq-rAL/strings.xml
index 06182b1649ac..bf620ec74933 100644
--- a/packages/SystemUI/res/values-sq-rAL/strings.xml
+++ b/packages/SystemUI/res/values-sq-rAL/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"Lidhje CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Kufiri: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Paralajmërim për kufirin prej <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Modaliteti i punës"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Drita e natës"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Drita e natës është joaktive, trokit për ta çaktivizuar"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Drita e natës është joaktive, trokit për ta aktivizuar"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Nuk ka asnjë artikull të fundit"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"I ke pastruar të gjitha"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Informacioni i aplikacionit"</string>
diff --git a/packages/SystemUI/res/values-sr/config.xml b/packages/SystemUI/res/values-sr/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-sr/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml
index 67292a6cb887..2f7781122ba6 100644
--- a/packages/SystemUI/res/values-sr/strings.xml
+++ b/packages/SystemUI/res/values-sr/strings.xml
@@ -146,6 +146,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Роминг"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -320,6 +321,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Ограничење од <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Упозорење за <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Режим рада"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Ðоћно Ñветло"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Ðоћно Ñветло је укључено, додирните да биÑте га иÑкључили"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Ðоћно Ñветло је иÑкључено, додирните да биÑте га укључили"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Ðема недавних Ñтавки"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"ОбриÑали Ñте Ñве"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Информације о апликацији"</string>
diff --git a/packages/SystemUI/res/values-sv/config.xml b/packages/SystemUI/res/values-sv/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-sv/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml
index 6b274936c85c..dfa02a423c1e 100644
--- a/packages/SystemUI/res/values-sv/strings.xml
+++ b/packages/SystemUI/res/values-sv/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Gräns: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Varning <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Arbetsläge"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Nattljus"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Nattljus har aktiverats. Tryck för att inaktivera"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Nattljus har inaktiverats. Tryck för att aktivera"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Listan med de senaste åtgärderna är tom"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Du har tömt listan"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Appinformation"</string>
diff --git a/packages/SystemUI/res/values-sw/config.xml b/packages/SystemUI/res/values-sw/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-sw/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-sw/strings.xml b/packages/SystemUI/res/values-sw/strings.xml
index 20cd2aa9ba93..2df876781ec0 100644
--- a/packages/SystemUI/res/values-sw/strings.xml
+++ b/packages/SystemUI/res/values-sw/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Inatumia data nje mtandao wako wa kawaida"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Ukingo"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"kikomo <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Onyo <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Hali ya kazi"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Mwanga wa Usiku"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Umewasha hali ya Mwanga wa Usiku, gonga ili uizime"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Umezima hali ya Mwanga wa Usiku, gonga ili uiwashe"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Hakuna vipengee vya hivi karibuni"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Umeondoa vipengee vyote"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Maelezo ya Programu"</string>
diff --git a/packages/SystemUI/res/values-ta-rIN/config.xml b/packages/SystemUI/res/values-ta-rIN/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-ta-rIN/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-ta-rIN/strings.xml b/packages/SystemUI/res/values-ta-rIN/strings.xml
index ea444bf7cf00..a9660a3d971b 100644
--- a/packages/SystemUI/res/values-ta-rIN/strings.xml
+++ b/packages/SystemUI/res/values-ta-rIN/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"ரோமிஙà¯"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> வரமà¯à®ªà¯"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> எசà¯à®šà®°à®¿à®•à¯à®•ை"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"பணிப௠பயனà¯à®®à¯à®±à¯ˆ"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"இரவ௠ஒளி"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"இரவ௠ஒளி இயகà¯à®•பà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯. à®®à¯à®Ÿà®•à¯à®•, தடà¯à®Ÿà®µà¯à®®à¯"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"இரவ௠ஒளி à®®à¯à®Ÿà®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯. இயகà¯à®•, தடà¯à®Ÿà®µà¯à®®à¯"</string>
<string name="recents_empty_message" msgid="808480104164008572">"சமீபதà¯à®¤à®¿à®¯ பணிகள௠இலà¯à®²à¯ˆ"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"எலà¯à®²à®¾à®µà®±à¯à®±à¯ˆà®¯à¯à®®à¯ அழிதà¯à®¤à¯à®µà®¿à®Ÿà¯à®Ÿà¯€à®°à¯à®•ளà¯"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"பயனà¯à®ªà®¾à®Ÿà¯à®Ÿà¯ தகவலà¯"</string>
diff --git a/packages/SystemUI/res/values-te-rIN/config.xml b/packages/SystemUI/res/values-te-rIN/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-te-rIN/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-te-rIN/strings.xml b/packages/SystemUI/res/values-te-rIN/strings.xml
index 5c9988b7c07c..4c069e162f59 100644
--- a/packages/SystemUI/res/values-te-rIN/strings.xml
+++ b/packages/SystemUI/res/values-te-rIN/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"రోమింగà±"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"à°Žà°¡à±à°œà±"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> పరిమితి"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> హెచà±à°šà°°à°¿à°•"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"పని మోడà±"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"రాతà±à°°à°¿ కాంతి"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"రాతà±à°°à°¿ కాంతి ఆనà±â€Œà°²à±‹ ఉంది, ఆఫౠచేయడానికి నొకà±à°•à°‚à°¡à°¿"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"రాతà±à°°à°¿ కాంతి ఆఫà±â€Œà°²à±‹ ఉంది, ఆనౠచేయడానికి నొకà±à°•à°‚à°¡à°¿"</string>
<string name="recents_empty_message" msgid="808480104164008572">"ఇటీవలి అంశాలౠà°à°µà±€ లేవà±"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"మీరౠఅనà±à°¨à°¿à°‚టినీ తీసివేసారà±"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"à°…à°¨à±à°µà°°à±à°¤à°¨ సమాచారం"</string>
diff --git a/packages/SystemUI/res/values-th/config.xml b/packages/SystemUI/res/values-th/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-th/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml
index f7337187723d..c9631caf4b63 100644
--- a/packages/SystemUI/res/values-th/strings.xml
+++ b/packages/SystemUI/res/values-th/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"โรมมิ่ง"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"EDGE"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"ขีดจำà¸à¸±à¸” <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"คำเตือน <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"โหมดà¸à¸²à¸£à¸—ำงาน"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"à¹à¸ªà¸‡à¸•อนà¸à¸¥à¸²à¸‡à¸„ืน"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"à¹à¸ªà¸‡à¸•อนà¸à¸¥à¸²à¸‡à¸„ืนเปิดอยู่ à¹à¸•ะเพื่อปิด"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"à¹à¸ªà¸‡à¸•อนà¸à¸¥à¸²à¸‡à¸„ืนปิดอยู่ à¹à¸•ะเพื่อเปิด"</string>
<string name="recents_empty_message" msgid="808480104164008572">"ไม่มีรายà¸à¸²à¸£à¸¥à¹ˆà¸²à¸ªà¸¸à¸”"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"คุณได้ล้างทุà¸à¸­à¸¢à¹ˆà¸²à¸‡à¹à¸¥à¹‰à¸§"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"ข้อมูลà¹à¸­à¸›à¸žà¸¥à¸´à¹€à¸„ชัน"</string>
diff --git a/packages/SystemUI/res/values-tl/config.xml b/packages/SystemUI/res/values-tl/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-tl/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml
index c5a6dcc2629d..66d1d449679e 100644
--- a/packages/SystemUI/res/values-tl/strings.xml
+++ b/packages/SystemUI/res/values-tl/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> ang limitasyon"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Babala sa <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Work mode"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Night Light"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Naka-on ang Night Light, i-tap upang i-off"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Naka-off ang Night Light, i-tap upang i-on"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Walang mga kamakailang item"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Na-clear mo ang lahat"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Impormasyon ng Application"</string>
diff --git a/packages/SystemUI/res/values-tr/config.xml b/packages/SystemUI/res/values-tr/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-tr/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml
index af9c277c3528..13fd288a90fe 100644
--- a/packages/SystemUI/res/values-tr/strings.xml
+++ b/packages/SystemUI/res/values-tr/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Dolaşımda"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Sınır: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> uyarısı"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Çalışma modu"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Gece Işığı"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Geçe Işığı açık, kapatmak için dokunun"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Gece Işığı kapalı, açmak için dokunun"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Yeni öğe yok"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Her ÅŸeyi sildiniz"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Uygulama Bilgileri"</string>
diff --git a/packages/SystemUI/res/values-uk/config.xml b/packages/SystemUI/res/values-uk/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-uk/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml
index 12a3628f538a..fc327631d58f 100644
--- a/packages/SystemUI/res/values-uk/strings.xml
+++ b/packages/SystemUI/res/values-uk/strings.xml
@@ -147,6 +147,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Роумінг"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -324,6 +325,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"ОбмеженнÑ: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"ЗаÑтереженнÑ: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Робочий режим"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Ðічний режим"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Ðічний режим увімкнено. ТоркнітьÑÑ, щоб вимкнути його"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Ðічний режим вимкнено. ТоркнітьÑÑ, щоб увімкнути його"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Ðемає нещодавніх завдань"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Ви очиÑтили вÑе"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Ð†Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ додаток"</string>
diff --git a/packages/SystemUI/res/values-ur-rPK/config.xml b/packages/SystemUI/res/values-ur-rPK/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-ur-rPK/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-ur-rPK/strings.xml b/packages/SystemUI/res/values-ur-rPK/strings.xml
index 69e196764a45..abe67753e638 100644
--- a/packages/SystemUI/res/values-ur-rPK/strings.xml
+++ b/packages/SystemUI/res/values-ur-rPK/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+‎"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+‎"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"رومنگ"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> حد"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> وارننگ"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"کام موڈ"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"نائٹ لائٹ"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"نائٹ لائٹ آن ÛÛ’ØŒ آ٠کرنے کیلئے تھپتھپائیں"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"نائٹ لائٹ Ø¢Ù ÛÛ’ØŒ آن کرنے کیلئے تھپتھپائیں"</string>
<string name="recents_empty_message" msgid="808480104164008572">"کوئی Ø­Ø§Ù„ÛŒÛ Ø¢Ø¦Ù¹Ù… Ù†Ûیں"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"آپ Ù†Û’ سب Ú©Ú†Ú¾ صا٠کر دیا ÛÛ’"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"ایپلیکیشن کی معلومات"</string>
diff --git a/packages/SystemUI/res/values-uz-rUZ/config.xml b/packages/SystemUI/res/values-uz-rUZ/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-uz-rUZ/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-uz-rUZ/strings.xml b/packages/SystemUI/res/values-uz-rUZ/strings.xml
index 0a8304546399..50fa1ee28a9a 100644
--- a/packages/SystemUI/res/values-uz-rUZ/strings.xml
+++ b/packages/SystemUI/res/values-uz-rUZ/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Rouming"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -320,6 +321,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Cheklov: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Ogohlantirish: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Ish rejimi"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Tungi rejim"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Tunji rejim yoniq, o‘chirish uchun bosing"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Tunji rejim o‘chiq, yoqish uchun bosing"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Hozircha hech narsa yo‘q"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Hammasi o‘chirildi"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Ilova haqida ma’lumot"</string>
diff --git a/packages/SystemUI/res/values-vi/config.xml b/packages/SystemUI/res/values-vi/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-vi/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml
index d798be65ab2d..2dfc7bbf672e 100644
--- a/packages/SystemUI/res/values-vi/strings.xml
+++ b/packages/SystemUI/res/values-vi/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Chuyển vùng"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Cạnh"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"Giới hạn <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"Cảnh báo <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Chế độ làm việc"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Äèn Ä‘á»c sách"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Äèn Ä‘á»c sách được bật, nhấn để tắt"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Äèn Ä‘á»c sách bị tắt, nhấn để bật"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Không có mục gần đây nào"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Bạn đã xóa má»i ná»™i dung"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Thông tin ứng dụng"</string>
diff --git a/packages/SystemUI/res/values-zh-rCN/config.xml b/packages/SystemUI/res/values-zh-rCN/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-zh-rCN/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml
index cfb4873a7bdf..07e8264a71ea 100644
--- a/packages/SystemUI/res/values-zh-rCN/strings.xml
+++ b/packages/SystemUI/res/values-zh-rCN/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"漫游中"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"EDGE"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"上é™ä¸º<xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g>警告"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"工作模å¼"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"夜间模å¼"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"夜间模å¼å·²å¼€å¯ï¼Œç‚¹æŒ‰å³å¯å…³é—­"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"夜间模å¼å·²å…³é—­ï¼Œç‚¹æŒ‰å³å¯å¼€å¯"</string>
<string name="recents_empty_message" msgid="808480104164008572">"近期没有任何内容"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"您已清除所有内容"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"应用信æ¯"</string>
diff --git a/packages/SystemUI/res/values-zh-rHK/config.xml b/packages/SystemUI/res/values-zh-rHK/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-zh-rHK/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml
index d1f2c922216f..08f723f4a9c8 100644
--- a/packages/SystemUI/res/values-zh-rHK/strings.xml
+++ b/packages/SystemUI/res/values-zh-rHK/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"漫éŠ"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -320,6 +321,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"上é™ç‚º <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> 警告"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"工作模å¼"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"夜燈模å¼"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"夜燈模å¼å·²é–‹å•Ÿï¼Œè¼•按å³å¯é—œé–‰"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"夜燈模å¼å·²é—œé–‰ï¼Œè¼•按å³å¯é–‹å•Ÿ"</string>
<string name="recents_empty_message" msgid="808480104164008572">"沒有最近項目"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"您已清除所有項目"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"應用程å¼è³‡æ–™"</string>
diff --git a/packages/SystemUI/res/values-zh-rTW/config.xml b/packages/SystemUI/res/values-zh-rTW/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-zh-rTW/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml
index d0288eb1f2ed..9cb846eaef65 100644
--- a/packages/SystemUI/res/values-zh-rTW/strings.xml
+++ b/packages/SystemUI/res/values-zh-rTW/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"漫éŠä¸­"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"上é™ç‚º <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> 警告"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"工作模å¼"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"夜燈"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"夜燈功能已開啟,輕觸å³å¯é—œé–‰"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"夜燈功能已關閉,輕觸å³å¯é–‹å•Ÿ"</string>
<string name="recents_empty_message" msgid="808480104164008572">"最近沒有任何項目"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"您已清除所有工作"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"應用程å¼è³‡è¨Š"</string>
diff --git a/packages/SystemUI/res/values-zu/config.xml b/packages/SystemUI/res/values-zu/config.xml
new file mode 100644
index 000000000000..5309563e3986
--- /dev/null
+++ b/packages/SystemUI/res/values-zu/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+ -->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="doze_pickup_subtype_performs_proximity_check" msgid="533127617385956583"></string>
+</resources>
diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml
index 5a562932e2c2..4892c1d16b72 100644
--- a/packages/SystemUI/res/values-zu/strings.xml
+++ b/packages/SystemUI/res/values-zu/strings.xml
@@ -145,6 +145,7 @@
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
<string name="accessibility_data_connection_lte" msgid="5413468808637540658">"I-LTE"</string>
+ <string name="accessibility_data_connection_lte_plus" msgid="361876866906946007">"I-LTE+"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Iyazulazula"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Ekucupheleni"</string>
@@ -318,6 +319,9 @@
<string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> umkhawulo"</string>
<string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> isexwayiso"</string>
<string name="quick_settings_work_mode_label" msgid="6244915274350490429">"Imodi yomsebenzi"</string>
+ <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Ukukhanya kwasebusuku"</string>
+ <string name="quick_settings_night_display_summary_on" msgid="1814901757887526769">"Ukukhanya kwasebusuku kuvuliwe, thepha ukuze uvale"</string>
+ <string name="quick_settings_night_display_summary_off" msgid="7892102914128777905">"Ukukhanya kwasebusuku kuvaliwe, thepha ukuze uvule"</string>
<string name="recents_empty_message" msgid="808480104164008572">"Azikho izinto zakamuva"</string>
<string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Usule yonke into"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Ulwazi lohlelo lokusebenza"</string>
diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml
index 9061376a3279..52565ba733d3 100644
--- a/packages/SystemUI/res/values/colors.xml
+++ b/packages/SystemUI/res/values/colors.xml
@@ -30,7 +30,7 @@
<color name="batterymeter_charge_color">#FFFFFFFF</color>
<color name="batterymeter_bolt_color">#FFFFFFFF</color>
<color name="qs_batterymeter_frame_color">#FF404040</color>
- <color name="system_warning_color">#fff4511e</color><!-- deep orange 600 -->
+ <color name="system_warning_color">@*android:color/system_error</color>
<color name="qs_text">#FFFFFFFF</color>
<color name="qs_tile_divider">#29ffffff</color><!-- 16% white -->
<color name="qs_subhead">#99FFFFFF</color><!-- 60% white -->
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSDetail.java b/packages/SystemUI/src/com/android/systemui/qs/QSDetail.java
index 6206cef971b0..ee55a807443b 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSDetail.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSDetail.java
@@ -249,6 +249,9 @@ public class QSDetail extends LinearLayout {
return;
}
mQsDetailHeaderSwitch.setChecked(state);
+ final boolean toggleEnabled = mDetailAdapter != null && mDetailAdapter.getToggleEnabled();
+ mQsDetailHeader.setEnabled(toggleEnabled);
+ mQsDetailHeaderSwitch.setEnabled(toggleEnabled);
}
private void handleScanStateChanged(boolean state) {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSTile.java b/packages/SystemUI/src/com/android/systemui/qs/QSTile.java
index ca853feb1a1f..2fda6eac6e0b 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSTile.java
@@ -148,6 +148,9 @@ public abstract class QSTile<TState extends State> {
public interface DetailAdapter {
CharSequence getTitle();
Boolean getToggleState();
+ default boolean getToggleEnabled() {
+ return true;
+ }
View createDetailView(Context context, View convertView, ViewGroup parent);
Intent getSettingsIntent();
void setToggleState(boolean state);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/external/TileServices.java b/packages/SystemUI/src/com/android/systemui/qs/external/TileServices.java
index 575f198acf46..6bc94b25aa5a 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/external/TileServices.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/external/TileServices.java
@@ -178,8 +178,8 @@ public class TileServices extends IQSService.Stub {
@Override
public void updateQsTile(Tile tile, IBinder token) {
CustomTile customTile = getTileForToken(token);
- verifyCaller(customTile);
if (customTile != null) {
+ verifyCaller(customTile);
synchronized (mServices) {
final TileServiceManager tileServiceManager = mServices.get(customTile);
tileServiceManager.clearPendingBind();
@@ -193,8 +193,8 @@ public class TileServices extends IQSService.Stub {
@Override
public void onStartSuccessful(IBinder token) {
CustomTile customTile = getTileForToken(token);
- verifyCaller(customTile);
if (customTile != null) {
+ verifyCaller(customTile);
synchronized (mServices) {
final TileServiceManager tileServiceManager = mServices.get(customTile);
tileServiceManager.clearPendingBind();
@@ -206,8 +206,8 @@ public class TileServices extends IQSService.Stub {
@Override
public void onShowDialog(IBinder token) {
CustomTile customTile = getTileForToken(token);
- verifyCaller(customTile);
if (customTile != null) {
+ verifyCaller(customTile);
customTile.onDialogShown();
mHost.collapsePanels();
mServices.get(customTile).setShowingDialog(true);
@@ -217,8 +217,8 @@ public class TileServices extends IQSService.Stub {
@Override
public void onDialogHidden(IBinder token) {
CustomTile customTile = getTileForToken(token);
- verifyCaller(customTile);
if (customTile != null) {
+ verifyCaller(customTile);
mServices.get(customTile).setShowingDialog(false);
customTile.onDialogHidden();
}
@@ -227,8 +227,8 @@ public class TileServices extends IQSService.Stub {
@Override
public void onStartActivity(IBinder token) {
CustomTile customTile = getTileForToken(token);
- verifyCaller(customTile);
if (customTile != null) {
+ verifyCaller(customTile);
mHost.collapsePanels();
}
}
@@ -236,8 +236,8 @@ public class TileServices extends IQSService.Stub {
@Override
public void updateStatusIcon(IBinder token, Icon icon, String contentDescription) {
CustomTile customTile = getTileForToken(token);
- verifyCaller(customTile);
if (customTile != null) {
+ verifyCaller(customTile);
try {
ComponentName componentName = customTile.getComponent();
String packageName = componentName.getPackageName();
@@ -266,8 +266,8 @@ public class TileServices extends IQSService.Stub {
@Override
public Tile getTile(IBinder token) {
CustomTile customTile = getTileForToken(token);
- verifyCaller(customTile);
if (customTile != null) {
+ verifyCaller(customTile);
return customTile.getQsTile();
}
return null;
@@ -276,8 +276,8 @@ public class TileServices extends IQSService.Stub {
@Override
public void startUnlockAndRun(IBinder token) {
CustomTile customTile = getTileForToken(token);
- verifyCaller(customTile);
if (customTile != null) {
+ verifyCaller(customTile);
customTile.startUnlockAndRun();
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java
index 794610e50f93..f1e8749fb03a 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java
@@ -16,6 +16,7 @@
package com.android.systemui.qs.tiles;
+import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothProfile;
import android.content.Context;
@@ -208,6 +209,12 @@ public class BluetoothTile extends QSTile<QSTile.BooleanState> {
}
@Override
+ public boolean getToggleEnabled() {
+ return mController.getBluetoothState() == BluetoothAdapter.STATE_OFF
+ || mController.getBluetoothState() == BluetoothAdapter.STATE_ON;
+ }
+
+ @Override
public Intent getSettingsIntent() {
return BLUETOOTH_SETTINGS;
}
diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java b/packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java
index a8939100f66d..43d0cf6db854 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java
@@ -140,8 +140,6 @@ public class RecentsView extends FrameLayout {
LayoutInflater inflater = LayoutInflater.from(context);
if (RecentsDebugFlags.Static.EnableStackActionButton) {
- float cornerRadius = context.getResources().getDimensionPixelSize(
- R.dimen.recents_task_view_rounded_corners_radius);
mStackActionButton = (TextView) inflater.inflate(R.layout.recents_stack_action_button,
this, false);
mStackActionButton.setOnClickListener(new View.OnClickListener() {
@@ -151,13 +149,6 @@ public class RecentsView extends FrameLayout {
}
});
addView(mStackActionButton);
- mStackActionButton.setClipToOutline(true);
- mStackActionButton.setOutlineProvider(new ViewOutlineProvider() {
- @Override
- public void getOutline(View view, Outline outline) {
- outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), cornerRadius);
- }
- });
}
mEmptyView = (TextView) inflater.inflate(R.layout.recents_empty, this, false);
addView(mEmptyView);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
index 8530d667daa5..628cfd52d210 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
@@ -40,7 +40,6 @@ import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.UserInfo;
import android.content.res.Configuration;
-import android.content.res.Resources;
import android.database.ContentObserver;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
@@ -472,20 +471,28 @@ public abstract class BaseStatusBar extends SystemUI implements
}
}
- riv.setVisibility(View.VISIBLE);
- int cx = view.getLeft() + view.getWidth() / 2;
+ int width = view.getWidth();
+ if (view instanceof TextView) {
+ // Center the reveal on the text which might be off-center from the TextView
+ TextView tv = (TextView) view;
+ if (tv.getLayout() != null) {
+ int innerWidth = (int) tv.getLayout().getLineWidth(0);
+ innerWidth += tv.getCompoundPaddingLeft() + tv.getCompoundPaddingRight();
+ width = Math.min(width, innerWidth);
+ }
+ }
+ int cx = view.getLeft() + width / 2;
int cy = view.getTop() + view.getHeight() / 2;
int w = riv.getWidth();
int h = riv.getHeight();
int r = Math.max(
Math.max(cx + cy, cx + (h - cy)),
Math.max((w - cx) + cy, (w - cx) + (h - cy)));
- ViewAnimationUtils.createCircularReveal(riv, cx, cy, 0, r)
- .start();
+ riv.setRevealParameters(cx, cy, r);
riv.setPendingIntent(pendingIntent);
riv.setRemoteInput(inputs, input);
- riv.focus();
+ riv.focusAnimated();
return true;
}
@@ -959,18 +966,15 @@ public abstract class BaseStatusBar extends SystemUI implements
}
}
- protected View bindVetoButtonClickListener(View row, final StatusBarNotification n) {
- View vetoButton = row.findViewById(R.id.veto);
- vetoButton.setOnClickListener(new View.OnClickListener() {
+ protected void bindDismissListener(final ExpandableNotificationRow row) {
+ row.setOnDismissListener(new View.OnClickListener() {
public void onClick(View v) {
// Accessibility feedback
v.announceForAccessibility(
mContext.getString(R.string.accessibility_notification_dismissed));
- performRemoveNotification(n, false /* removeView */);
+ performRemoveNotification(row.getStatusBarNotification(), false /* removeView */);
}
});
- vetoButton.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
- return vetoButton;
}
protected void performRemoveNotification(StatusBarNotification n, boolean removeView) {
@@ -1647,9 +1651,7 @@ public abstract class BaseStatusBar extends SystemUI implements
}
workAroundBadLayerDrawableOpacity(row);
- View vetoButton = bindVetoButtonClickListener(row, sbn);
- vetoButton.setContentDescription(mContext.getString(
- R.string.accessibility_remove_notification));
+ bindDismissListener(row);
// NB: the large icon is now handled entirely by the template
@@ -2409,10 +2411,6 @@ public abstract class BaseStatusBar extends SystemUI implements
updateHeadsUp(key, entry, shouldPeek, alertAgain);
updateNotifications();
- // Update the veto button accordingly (and as a result, whether this row is
- // swipe-dismissable)
- bindVetoButtonClickListener(entry.row, notification);
-
if (!notification.isClearable()) {
// The user may have performed a dismiss action on the notification, since it's
// not clearable we should snap it back.
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java
index f09eae84df9e..5f6d958ed83e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java
@@ -109,7 +109,6 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {
private int mHeadsUpHeight;
private View mVetoButton;
private int mNotificationColor;
- private boolean mClearable;
private ExpansionLogger mLogger;
private String mLoggingKey;
private NotificationSettingsIconRow mSettingsIconRow;
@@ -280,7 +279,6 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {
mPublicLayout.onNotificationUpdated(entry);
mShowingPublicInitialized = false;
updateNotificationColor();
- updateClearability();
if (mIsSummaryWithChildren) {
mChildrenContainer.recreateNotificationHeader(mExpandClickListener, mEntry.notification);
mChildrenContainer.onNotificationUpdated();
@@ -779,6 +777,14 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {
return mGroupParentWhenDismissed;
}
+ public void performDismiss() {
+ mVetoButton.performClick();
+ }
+
+ public void setOnDismissListener(OnClickListener listener) {
+ mVetoButton.setOnClickListener(listener);
+ }
+
public interface ExpansionLogger {
public void logNotificationExpansion(String key, boolean userAction, boolean expanded);
}
@@ -880,6 +886,9 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {
}
});
mVetoButton = findViewById(R.id.veto);
+ mVetoButton.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
+ mVetoButton.setContentDescription(mContext.getString(
+ R.string.accessibility_remove_notification));
// Add the views that we translate to reveal the gear
mTranslateableViews = new ArrayList<View>();
@@ -893,6 +902,10 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {
mTranslateableViews.remove(mGutsStub);
}
+ public View getVetoButton() {
+ return mVetoButton;
+ }
+
public void resetTranslation() {
if (mTranslateableViews != null) {
for (int i = 0; i < mTranslateableViews.size(); i++) {
@@ -1157,10 +1170,25 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {
}
/**
- * @return Can the underlying notification be cleared?
+ * @return Can the underlying notification be cleared? This can be different from whether the
+ * notification can be dismissed in case notifications are sensitive on the lockscreen.
+ * @see #canViewBeDismissed()
*/
public boolean isClearable() {
- return mStatusBarNotification != null && mStatusBarNotification.isClearable();
+ if (mStatusBarNotification == null || !mStatusBarNotification.isClearable()) {
+ return false;
+ }
+ if (mIsSummaryWithChildren) {
+ List<ExpandableNotificationRow> notificationChildren =
+ mChildrenContainer.getNotificationChildren();
+ for (int i = 0; i < notificationChildren.size(); i++) {
+ ExpandableNotificationRow child = notificationChildren.get(i);
+ if (!child.isClearable()) {
+ return false;
+ }
+ }
+ }
+ return true;
}
@Override
@@ -1317,7 +1345,6 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {
NotificationContentView showingLayout = getShowingLayout();
showingLayout.updateBackgroundColor(animated);
mPrivateLayout.updateExpandButtons(isExpandable());
- updateClearability();
mShowingPublicInitialized = true;
}
@@ -1357,12 +1384,12 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {
return mIsHeadsUp;
}
- private void updateClearability() {
- // public versions cannot be dismissed
- mVetoButton.setVisibility(canViewBeDismissed() ? View.VISIBLE : View.GONE);
- }
-
- private boolean canViewBeDismissed() {
+ /**
+ * @return Whether this view is allowed to be dismissed. Only valid for visible notifications as
+ * otherwise some state might not be updated. To request about the general clearability
+ * see {@link #isClearable()}.
+ */
+ public boolean canViewBeDismissed() {
return isClearable() && (!mShowingPublic || !mSensitiveHiddenInGeneral);
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
index 71904fa707e2..bd485dd40e0b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
@@ -225,6 +225,8 @@ public class KeyguardIndicationController {
}
KeyguardUpdateMonitorCallback mUpdateMonitor = new KeyguardUpdateMonitorCallback() {
+ public int mLastSuccessiveErrorMessage = -1;
+
@Override
public void onRefreshBatteryInfo(KeyguardUpdateMonitor.BatteryStatus status) {
boolean isChargingOrFull = status.status == BatteryManager.BATTERY_STATUS_CHARGING
@@ -252,6 +254,9 @@ public class KeyguardIndicationController {
mHandler.sendMessageDelayed(mHandler.obtainMessage(MSG_CLEAR_FP_MSG),
TRANSIENT_FP_ERROR_TIMEOUT);
}
+ // Help messages indicate that there was actually a try since the last error, so those
+ // are not two successive error messages anymore.
+ mLastSuccessiveErrorMessage = -1;
}
@Override
@@ -263,15 +268,22 @@ public class KeyguardIndicationController {
}
int errorColor = mContext.getResources().getColor(R.color.system_warning_color, null);
if (mStatusBarKeyguardViewManager.isBouncerShowing()) {
- mStatusBarKeyguardViewManager.showBouncerMessage(errString, errorColor);
+ // When swiping up right after receiving a fingerprint error, the bouncer calls
+ // authenticate leading to the same message being shown again on the bouncer.
+ // We want to avoid this, as it may confuse the user when the message is too
+ // generic.
+ if (mLastSuccessiveErrorMessage != msgId) {
+ mStatusBarKeyguardViewManager.showBouncerMessage(errString, errorColor);
+ }
} else if (updateMonitor.isDeviceInteractive()) {
- showTransientIndication(errString, errorColor);
- // We want to keep this message around in case the screen was off
- mHandler.removeMessages(MSG_HIDE_TRANSIENT);
- hideTransientIndicationDelayed(5000);
- } else {
- mMessageToShowOnScreenOn = errString;
+ showTransientIndication(errString, errorColor);
+ // We want to keep this message around in case the screen was off
+ mHandler.removeMessages(MSG_HIDE_TRANSIENT);
+ hideTransientIndicationDelayed(5000);
+ } else {
+ mMessageToShowOnScreenOn = errString;
}
+ mLastSuccessiveErrorMessage = msgId;
}
@Override
@@ -293,6 +305,18 @@ public class KeyguardIndicationController {
mMessageToShowOnScreenOn = null;
}
}
+
+ @Override
+ public void onFingerprintAuthenticated(int userId) {
+ super.onFingerprintAuthenticated(userId);
+ mLastSuccessiveErrorMessage = -1;
+ }
+
+ @Override
+ public void onFingerprintAuthFailed() {
+ super.onFingerprintAuthFailed();
+ mLastSuccessiveErrorMessage = -1;
+ }
};
BroadcastReceiver mReceiver = new BroadcastReceiver() {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStatusBarHeader.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStatusBarHeader.java
index 21db64febbe0..a9c47834238f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStatusBarHeader.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStatusBarHeader.java
@@ -321,20 +321,23 @@ public class QuickStatusBarHeader extends BaseStatusBarHeader implements
mExpanded ? MetricsProto.MetricsEvent.ACTION_QS_EXPANDED_SETTINGS_LAUNCH
: MetricsProto.MetricsEvent.ACTION_QS_COLLAPSED_SETTINGS_LAUNCH);
if (mSettingsButton.isTunerClick()) {
- if (TunerService.isTunerEnabled(mContext)) {
- TunerService.showResetRequest(mContext, new Runnable() {
- @Override
- public void run() {
+ mHost.startRunnableDismissingKeyguard(() -> post(() -> {
+ if (TunerService.isTunerEnabled(mContext)) {
+ TunerService.showResetRequest(mContext, () -> {
// Relaunch settings so that the tuner disappears.
startSettingsActivity();
- }
- });
- } else {
- Toast.makeText(getContext(), R.string.tuner_toast, Toast.LENGTH_LONG).show();
- TunerService.setTunerEnabled(mContext, true);
- }
+ });
+ } else {
+ Toast.makeText(getContext(), R.string.tuner_toast,
+ Toast.LENGTH_LONG).show();
+ TunerService.setTunerEnabled(mContext, true);
+ }
+ startSettingsActivity();
+
+ }));
+ } else {
+ startSettingsActivity();
}
- startSettingsActivity();
} else if (v == mAlarmStatus && mNextAlarm != null) {
PendingIntent showIntent = mNextAlarm.getShowIntent();
if (showIntent != null && showIntent.isActivity()) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java
index 7b22b882abab..47ea59e62da7 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java
@@ -190,6 +190,12 @@ public class StatusBarWindowView extends FrameLayout {
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
+ if (mService.interceptMediaKey(event)) {
+ return true;
+ }
+ if (super.dispatchKeyEvent(event)) {
+ return true;
+ }
boolean down = event.getAction() == KeyEvent.ACTION_DOWN;
switch (event.getKeyCode()) {
case KeyEvent.KEYCODE_BACK:
@@ -214,10 +220,7 @@ public class StatusBarWindowView extends FrameLayout {
}
break;
}
- if (mService.interceptMediaKey(event)) {
- return true;
- }
- return super.dispatchKeyEvent(event);
+ return false;
}
@Override
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java
index e7e2ac2958aa..08675c4f027c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java
@@ -26,6 +26,9 @@ public interface BluetoothController {
boolean isBluetoothSupported();
boolean isBluetoothEnabled();
+
+ int getBluetoothState();
+
boolean isBluetoothConnected();
boolean isBluetoothConnecting();
String getLastDeviceName();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java
index 014cc4944a74..4f880b446f2c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java
@@ -49,6 +49,7 @@ public class BluetoothControllerImpl implements BluetoothController, BluetoothCa
private CachedBluetoothDevice mLastDevice;
private final H mHandler = new H();
+ private int mState;
public BluetoothControllerImpl(Context context, Looper bgLooper) {
mLocalBluetoothManager = LocalBluetoothManager.getInstance(context, null);
@@ -120,6 +121,11 @@ public class BluetoothControllerImpl implements BluetoothController, BluetoothCa
}
@Override
+ public int getBluetoothState() {
+ return mState;
+ }
+
+ @Override
public boolean isBluetoothConnected() {
return mConnectionState == BluetoothAdapter.STATE_CONNECTED;
}
@@ -192,7 +198,9 @@ public class BluetoothControllerImpl implements BluetoothController, BluetoothCa
@Override
public void onBluetoothStateChanged(int bluetoothState) {
- mEnabled = bluetoothState == BluetoothAdapter.STATE_ON;
+ mEnabled = bluetoothState == BluetoothAdapter.STATE_ON
+ || bluetoothState == BluetoothAdapter.STATE_TURNING_ON;
+ mState = bluetoothState;
mHandler.sendEmptyMessage(H.MSG_STATE_CHANGED);
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/FlashlightController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/FlashlightController.java
index 9a21a1e378e6..91b21ed322a0 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/FlashlightController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/FlashlightController.java
@@ -17,6 +17,7 @@
package com.android.systemui.statusbar.policy;
import android.content.Context;
+import android.content.pm.PackageManager;
import android.hardware.camera2.CameraAccessException;
import android.hardware.camera2.CameraCharacteristics;
import android.hardware.camera2.CameraManager;
@@ -42,6 +43,7 @@ public class FlashlightController {
private static final int DISPATCH_AVAILABILITY_CHANGED = 2;
private final CameraManager mCameraManager;
+ private final Context mContext;
/** Call {@link #ensureHandler()} before using */
private Handler mHandler;
@@ -51,20 +53,22 @@ public class FlashlightController {
/** Lock on {@code this} when accessing */
private boolean mFlashlightEnabled;
- private final String mCameraId;
+ private String mCameraId;
private boolean mTorchAvailable;
- public FlashlightController(Context mContext) {
+ public FlashlightController(Context context) {
+ mContext = context;
mCameraManager = (CameraManager) mContext.getSystemService(Context.CAMERA_SERVICE);
- String cameraId = null;
+ tryInitCamera();
+ }
+
+ private void tryInitCamera() {
try {
- cameraId = getCameraId();
+ mCameraId = getCameraId();
} catch (Throwable e) {
Log.e(TAG, "Couldn't initialize.", e);
return;
- } finally {
- mCameraId = cameraId;
}
if (mCameraId != null) {
@@ -94,7 +98,7 @@ public class FlashlightController {
}
public boolean hasFlashlight() {
- return mCameraId != null;
+ return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);
}
public synchronized boolean isEnabled() {
@@ -107,6 +111,9 @@ public class FlashlightController {
public void addListener(FlashlightListener l) {
synchronized (mListeners) {
+ if (mCameraId == null) {
+ tryInitCamera();
+ }
cleanUpListenersLocked(l);
mListeners.add(new WeakReference<>(l));
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java
index a2289c84a315..29577ef13874 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java
@@ -16,6 +16,8 @@
package com.android.systemui.statusbar.policy;
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
import android.app.Notification;
import android.app.PendingIntent;
import android.app.RemoteInput;
@@ -33,6 +35,7 @@ import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
+import android.view.ViewAnimationUtils;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.view.inputmethod.CompletionInfo;
@@ -47,11 +50,13 @@ import android.widget.TextView;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.MetricsProto;
+import com.android.systemui.Interpolators;
import com.android.systemui.R;
import com.android.systemui.statusbar.ExpandableView;
import com.android.systemui.statusbar.NotificationData;
import com.android.systemui.statusbar.RemoteInputController;
import com.android.systemui.statusbar.stack.ScrollContainer;
+import com.android.systemui.statusbar.stack.StackStateAnimator;
/**
* Host for the remote input.
@@ -77,6 +82,10 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene
private View mScrollContainerChild;
private boolean mRemoved;
+ private int mRevealCx;
+ private int mRevealCy;
+ private int mRevealR;
+
public RemoteInputView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@@ -180,14 +189,28 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene
return true;
}
- public void onDefocus() {
+ private void onDefocus(boolean animate) {
mController.removeRemoteInput(mEntry);
mEntry.remoteInputText = mEditText.getText();
// During removal, we get reattached and lose focus. Not hiding in that
// case to prevent flicker.
if (!mRemoved) {
- setVisibility(INVISIBLE);
+ if (animate && mRevealR > 0) {
+ Animator reveal = ViewAnimationUtils.createCircularReveal(
+ this, mRevealCx, mRevealCy, mRevealR, 0);
+ reveal.setInterpolator(Interpolators.FAST_OUT_LINEAR_IN);
+ reveal.setDuration(StackStateAnimator.ANIMATION_DURATION_CLOSE_REMOTE_INPUT);
+ reveal.addListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ setVisibility(INVISIBLE);
+ }
+ });
+ reveal.start();
+ } else {
+ setVisibility(INVISIBLE);
+ }
}
MetricsLogger.action(mContext, MetricsProto.MetricsEvent.ACTION_REMOTE_INPUT_CLOSE,
mEntry.notification.getPackageName());
@@ -223,6 +246,17 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene
mEditText.setHint(mRemoteInput.getLabel());
}
+ public void focusAnimated() {
+ if (getVisibility() != VISIBLE) {
+ Animator animator = ViewAnimationUtils.createCircularReveal(
+ this, mRevealCx, mRevealCy, 0, mRevealR);
+ animator.setDuration(StackStateAnimator.ANIMATION_DURATION_STANDARD);
+ animator.setInterpolator(Interpolators.LINEAR_OUT_SLOW_IN);
+ animator.start();
+ }
+ focus();
+ }
+
public void focus() {
MetricsLogger.action(mContext, MetricsProto.MetricsEvent.ACTION_REMOTE_INPUT_OPEN,
mEntry.notification.getPackageName());
@@ -253,7 +287,7 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene
mProgressBar.setVisibility(INVISIBLE);
mController.removeSpinning(mEntry.key);
updateSendButton();
- onDefocus();
+ onDefocus(false /* animate */);
}
private void updateSendButton() {
@@ -272,7 +306,7 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene
}
public void close() {
- mEditText.defocusIfNeeded();
+ mEditText.defocusIfNeeded(false /* animated */);
}
@Override
@@ -321,6 +355,7 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene
other.close();
setPendingIntent(other.mPendingIntent);
setRemoteInput(other.mRemoteInputs, other.mRemoteInput);
+ setRevealParameters(other.mRevealCx, other.mRevealCy, other.mRevealR);
focus();
}
@@ -331,7 +366,6 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene
* @return true if a matching action was found, false otherwise
*/
public boolean updatePendingIntentFromActions(Notification.Action[] actions) {
- boolean found = false;
if (mPendingIntent == null || actions == null) {
return false;
}
@@ -374,6 +408,12 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene
mRemoved = true;
}
+ public void setRevealParameters(int cx, int cy, int r) {
+ mRevealCx = cx;
+ mRevealCy = cy;
+ mRevealR = r;
+ }
+
/**
* An EditText that changes appearance based on whether it's focusable and becomes
* un-focusable whenever the user navigates away from it or it becomes invisible.
@@ -389,14 +429,14 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene
mBackground = getBackground();
}
- private void defocusIfNeeded() {
+ private void defocusIfNeeded(boolean animate) {
if (mRemoteInputView != null && mRemoteInputView.mEntry.row.isChangingPosition()) {
return;
}
if (isFocusable() && isEnabled()) {
setInnerFocusable(false);
if (mRemoteInputView != null) {
- mRemoteInputView.onDefocus();
+ mRemoteInputView.onDefocus(animate);
}
mShowImeOnInputConnection = false;
}
@@ -407,7 +447,7 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene
super.onVisibilityChanged(changedView, visibility);
if (!isShown()) {
- defocusIfNeeded();
+ defocusIfNeeded(false /* animate */);
}
}
@@ -415,7 +455,7 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene
protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) {
super.onFocusChanged(focused, direction, previouslyFocusedRect);
if (!focused) {
- defocusIfNeeded();
+ defocusIfNeeded(true /* animate */);
}
}
@@ -432,14 +472,21 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene
}
@Override
- public boolean onKeyPreIme(int keyCode, KeyEvent event) {
- if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP) {
- defocusIfNeeded();
- final InputMethodManager imm = InputMethodManager.getInstance();
- imm.hideSoftInputFromWindow(getWindowToken(), 0);
+ public boolean onKeyDown(int keyCode, KeyEvent event) {
+ if (keyCode == KeyEvent.KEYCODE_BACK) {
+ // Eat the DOWN event here to prevent any default behavior.
+ return true;
+ }
+ return super.onKeyDown(keyCode, event);
+ }
+
+ @Override
+ public boolean onKeyUp(int keyCode, KeyEvent event) {
+ if (keyCode == KeyEvent.KEYCODE_BACK) {
+ defocusIfNeeded(true /* animate */);
return true;
}
- return super.onKeyPreIme(keyCode, event);
+ return super.onKeyUp(keyCode, event);
}
@Override
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
index 71b349f3c59a..20ec0de6c2b3 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
@@ -824,20 +824,20 @@ public class NotificationStackScrollLayout extends ViewGroup
public static void performDismiss(View v, NotificationGroupManager groupManager,
boolean fromAccessibility) {
- if (v instanceof ExpandableNotificationRow) {
- ExpandableNotificationRow row = (ExpandableNotificationRow) v;
- if (groupManager.isOnlyChildInGroup(row.getStatusBarNotification())) {
- ExpandableNotificationRow groupSummary =
- groupManager.getLogicalGroupSummary(row.getStatusBarNotification());
- if (groupSummary.isClearable()) {
- performDismiss(groupSummary, groupManager, fromAccessibility);
- }
+ if (!(v instanceof ExpandableNotificationRow)) {
+ return;
+ }
+ ExpandableNotificationRow row = (ExpandableNotificationRow) v;
+ if (groupManager.isOnlyChildInGroup(row.getStatusBarNotification())) {
+ ExpandableNotificationRow groupSummary =
+ groupManager.getLogicalGroupSummary(row.getStatusBarNotification());
+ if (groupSummary.isClearable()) {
+ performDismiss(groupSummary, groupManager, fromAccessibility);
}
- row.setDismissed(true, fromAccessibility);
}
- final View veto = v.findViewById(R.id.veto);
- if (veto != null && veto.getVisibility() != View.GONE) {
- veto.performClick();
+ row.setDismissed(true, fromAccessibility);
+ if (row.isClearable()) {
+ row.performDismiss();
}
if (DEBUG) Log.v(TAG, "onChildDismissed: " + v);
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollAlgorithm.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollAlgorithm.java
index 87e87c8e9bb3..45647ff1c10f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollAlgorithm.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollAlgorithm.java
@@ -173,14 +173,14 @@ public class StackScrollAlgorithm {
}
public static boolean canChildBeDismissed(View v) {
- if (v instanceof ExpandableNotificationRow) {
- ExpandableNotificationRow row = (ExpandableNotificationRow) v;
- if (row.areGutsExposed()) {
- return false;
- }
+ if (!(v instanceof ExpandableNotificationRow)) {
+ return false;
+ }
+ ExpandableNotificationRow row = (ExpandableNotificationRow) v;
+ if (row.areGutsExposed()) {
+ return false;
}
- final View veto = v.findViewById(R.id.veto);
- return (veto != null && veto.getVisibility() != View.GONE);
+ return row.canViewBeDismissed();
}
/**
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java
index 659eaf7e209c..3804b42dc5e4 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java
@@ -44,6 +44,7 @@ public class StackStateAnimator {
public static final int ANIMATION_DURATION_GO_TO_FULL_SHADE = 448;
public static final int ANIMATION_DURATION_APPEAR_DISAPPEAR = 464;
public static final int ANIMATION_DURATION_DIMMED_ACTIVATED = 220;
+ public static final int ANIMATION_DURATION_CLOSE_REMOTE_INPUT = 150;
public static final int ANIMATION_DURATION_HEADS_UP_APPEAR = 650;
public static final int ANIMATION_DURATION_HEADS_UP_DISAPPEAR = 230;
public static final int ANIMATION_DELAY_PER_ELEMENT_INTERRUPTING = 80;
diff --git a/packages/WallpaperBackup/src/com/android/wallpaperbackup/WallpaperBackupAgent.java b/packages/WallpaperBackup/src/com/android/wallpaperbackup/WallpaperBackupAgent.java
index 05207b9f6b00..402d9adf0e7c 100644
--- a/packages/WallpaperBackup/src/com/android/wallpaperbackup/WallpaperBackupAgent.java
+++ b/packages/WallpaperBackup/src/com/android/wallpaperbackup/WallpaperBackupAgent.java
@@ -16,17 +16,21 @@
package com.android.wallpaperbackup;
+import static android.app.WallpaperManager.FLAG_LOCK;
+import static android.app.WallpaperManager.FLAG_SYSTEM;
+
import android.app.WallpaperManager;
import android.app.backup.BackupAgent;
import android.app.backup.BackupDataInput;
import android.app.backup.BackupDataOutput;
import android.app.backup.FullBackupDataOutput;
import android.content.Context;
+import android.content.SharedPreferences;
import android.graphics.Rect;
import android.os.Environment;
+import android.os.FileUtils;
import android.os.ParcelFileDescriptor;
import android.os.UserHandle;
-import android.system.Os;
import android.util.Slog;
import android.util.Xml;
@@ -40,7 +44,7 @@ import java.nio.charset.StandardCharsets;
public class WallpaperBackupAgent extends BackupAgent {
private static final String TAG = "WallpaperBackup";
- private static final boolean DEBUG = true;
+ private static final boolean DEBUG = false;
// NB: must be kept in sync with WallpaperManagerService but has no
// compile-time visibility.
@@ -57,6 +61,11 @@ public class WallpaperBackupAgent extends BackupAgent {
static final String EMPTY_SENTINEL = "empty";
static final String QUOTA_SENTINEL = "quota";
+ // Not-for-backup bookkeeping
+ static final String PREFS_NAME = "wbprefs.xml";
+ static final String SYSTEM_GENERATION = "system_gen";
+ static final String LOCK_GENERATION = "lock_gen";
+
private File mWallpaperInfo; // wallpaper metadata file
private File mWallpaperFile; // primary wallpaper image file
private File mLockWallpaperFile; // lock wallpaper image file
@@ -106,27 +115,48 @@ public class WallpaperBackupAgent extends BackupAgent {
// only back up the wallpaper if we've been told it's allowed
if (mWm.isWallpaperBackupEligible()) {
if (DEBUG) {
- Slog.v(TAG, "Wallpaper is backup-eligible; linking & writing");
+ Slog.v(TAG, "Wallpaper is backup-eligible");
}
- // In case of prior muddled state
- infoStage.delete();
- imageStage.delete();
- lockImageStage.delete();
+ SharedPreferences prefs = getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
+ final int lastSysGeneration = prefs.getInt(SYSTEM_GENERATION, -1);
+ final int lastLockGeneration = prefs.getInt(LOCK_GENERATION, -1);
+
+ final int sysGeneration =
+ mWm.getWallpaperIdForUser(FLAG_SYSTEM, UserHandle.USER_SYSTEM);
+ final int lockGeneration =
+ mWm.getWallpaperIdForUser(FLAG_LOCK, UserHandle.USER_SYSTEM);
+ final boolean sysChanged = (sysGeneration != lastSysGeneration);
+ final boolean lockChanged = (lockGeneration != lastLockGeneration);
+ if (DEBUG) {
+ Slog.v(TAG, "sysGen=" + sysGeneration + " : sysChanged=" + sysChanged);
+ Slog.v(TAG, "lockGen=" + lockGeneration + " : lockChanged=" + lockChanged);
+ }
if (mWallpaperInfo.exists()) {
- Os.link(mWallpaperInfo.getCanonicalPath(), infoStage.getCanonicalPath());
+ if (sysChanged || lockChanged || !infoStage.exists()) {
+ if (DEBUG) Slog.v(TAG, "New wallpaper configuration; copying");
+ FileUtils.copyFileOrThrow(mWallpaperInfo, infoStage);
+ }
fullBackupFile(infoStage, data);
}
if (mWallpaperFile.exists()) {
- Os.link(mWallpaperFile.getCanonicalPath(), imageStage.getCanonicalPath());
+ if (sysChanged || !imageStage.exists()) {
+ if (DEBUG) Slog.v(TAG, "New system wallpaper; copying");
+ FileUtils.copyFileOrThrow(mWallpaperFile, imageStage);
+ }
fullBackupFile(imageStage, data);
+ prefs.edit().putInt(SYSTEM_GENERATION, sysGeneration).apply();
}
// Don't try to store the lock image if we overran our quota last time
if (mLockWallpaperFile.exists() && !mQuotaExceeded) {
- Os.link(mLockWallpaperFile.getCanonicalPath(), lockImageStage.getCanonicalPath());
+ if (lockChanged || !lockImageStage.exists()) {
+ if (DEBUG) Slog.v(TAG, "New lock wallpaper; copying");
+ FileUtils.copyFileOrThrow(mLockWallpaperFile, lockImageStage);
+ }
fullBackupFile(lockImageStage, data);
+ prefs.edit().putInt(LOCK_GENERATION, lockGeneration).apply();
}
} else {
if (DEBUG) {
@@ -136,13 +166,6 @@ public class WallpaperBackupAgent extends BackupAgent {
} catch (Exception e) {
Slog.e(TAG, "Unable to back up wallpaper", e);
} finally {
- if (DEBUG) {
- Slog.v(TAG, "Removing backup stage links");
- }
- infoStage.delete();
- imageStage.delete();
- lockImageStage.delete();
-
// Even if this time we had to back off on attempting to store the lock image
// due to exceeding the data quota, try again next time. This will alternate
// between "try both" and "only store the primary image" until either there
@@ -189,26 +212,30 @@ public class WallpaperBackupAgent extends BackupAgent {
Slog.e(TAG, "Unable to restore wallpaper: " + e.getMessage());
} finally {
if (DEBUG) {
- Slog.v(TAG, "Removing restore stage files");
+ Slog.v(TAG, "Restore finished; clearing backup bookkeeping");
}
infoStage.delete();
imageStage.delete();
lockImageStage.delete();
+
+ SharedPreferences prefs = getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
+ prefs.edit()
+ .putInt(SYSTEM_GENERATION, -1)
+ .putInt(LOCK_GENERATION, -1)
+ .commit();
}
}
private void restoreFromStage(File stage, File info, String hintTag, int which)
throws IOException {
if (stage.exists()) {
- if (DEBUG) {
- Slog.v(TAG, "Got restored wallpaper; applying which=" + which);
- }
// Parse the restored info file to find the crop hint. Note that this currently
// relies on a priori knowledge of the wallpaper info file schema.
Rect cropHint = parseCropHint(info, hintTag);
if (cropHint != null) {
+ Slog.i(TAG, "Got restored wallpaper; applying which=" + which);
if (DEBUG) {
- Slog.v(TAG, "Restored crop hint " + cropHint + "; now writing data");
+ Slog.v(TAG, "Restored crop hint " + cropHint);
}
try (FileInputStream in = new FileInputStream(stage)) {
mWm.setStream(in, cropHint, true, which);
diff --git a/proto/src/metrics_constants.proto b/proto/src/metrics_constants.proto
index ba59c2f0192a..0106f7f03023 100644
--- a/proto/src/metrics_constants.proto
+++ b/proto/src/metrics_constants.proto
@@ -2177,7 +2177,7 @@ message MetricsEvent {
// CATEGORY: SETTINGS
ACTION_SUPPORT_DIAL_TOLLED = 487;
- // OPEN: Settings > Display > Night display
+ // OPEN: Settings > Display > Night Light
// CATEGORY: SETTINGS
NIGHT_DISPLAY_SETTINGS = 488;
@@ -2188,12 +2188,15 @@ message MetricsEvent {
// Settings launched from collapsed quick settings.
ACTION_QS_COLLAPSED_SETTINGS_LAUNCH = 490;
- // OPEN: QS Night mode tile shown
- // ACTION: QS Night mode tile tapped
+ // OPEN: QS Night Light tile shown
+ // ACTION: QS Night Light tile tapped
// SUBTYPE: 0 is off, 1 is on
// CATEGORY: QUICK_SETTINGS
QS_NIGHT_DISPLAY = 491;
+ // Night Light on
+ SETTINGS_CONDITION_NIGHT_DISPLAY = 492;
+
// ---- End N-MR1 Constants, all N-MR1 constants go above this line ----
// Add new aosp constants above this line.
// END OF AOSP CONSTANTS
diff --git a/services/core/java/com/android/server/LockSettingsService.java b/services/core/java/com/android/server/LockSettingsService.java
index 0cce2a226392..33c2ea28d7d1 100644
--- a/services/core/java/com/android/server/LockSettingsService.java
+++ b/services/core/java/com/android/server/LockSettingsService.java
@@ -1243,6 +1243,10 @@ public class LockSettingsService extends ILockSettings.Stub {
private VerifyCredentialResponse doVerifyPattern(String pattern, CredentialHash storedHash,
boolean hasChallenge, long challenge, int userId,
ICheckCredentialProgressCallback progressCallback) throws RemoteException {
+
+ if (TextUtils.isEmpty(pattern)) {
+ throw new IllegalArgumentException("Pattern can't be null or empty");
+ }
boolean shouldReEnrollBaseZero = storedHash != null && storedHash.isBaseZeroPattern;
String patternToVerify;
@@ -1340,6 +1344,9 @@ public class LockSettingsService extends ILockSettings.Stub {
private VerifyCredentialResponse doVerifyPassword(String password, CredentialHash storedHash,
boolean hasChallenge, long challenge, int userId,
ICheckCredentialProgressCallback progressCallback) throws RemoteException {
+ if (TextUtils.isEmpty(password)) {
+ throw new IllegalArgumentException("Password can't be null or empty");
+ }
return verifyCredential(userId, storedHash, password, hasChallenge, challenge,
new CredentialUtil() {
@Override
diff --git a/services/core/java/com/android/server/NetworkManagementService.java b/services/core/java/com/android/server/NetworkManagementService.java
index be9d836ebca4..ec53c16b312e 100644
--- a/services/core/java/com/android/server/NetworkManagementService.java
+++ b/services/core/java/com/android/server/NetworkManagementService.java
@@ -494,7 +494,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub
if (mLastPowerStateFromWifi != powerState) {
mLastPowerStateFromWifi = powerState;
try {
- getBatteryStats().noteWifiRadioPowerState(powerState, tsNanos);
+ getBatteryStats().noteWifiRadioPowerState(powerState, tsNanos, uid);
} catch (RemoteException e) {
}
}
@@ -2774,4 +2774,19 @@ public class NetworkManagementService extends INetworkManagementService.Stub
public void removeInterfaceFromLocalNetwork(String iface) {
modifyInterfaceInNetwork("remove", "local", iface);
}
+
+ @Override
+ public int removeRoutesFromLocalNetwork(List<RouteInfo> routes) {
+ int failures = 0;
+
+ for (RouteInfo route : routes) {
+ try {
+ modifyRoute("remove", "local", route);
+ } catch (IllegalStateException e) {
+ failures++;
+ }
+ }
+
+ return failures;
+ }
}
diff --git a/services/core/java/com/android/server/accounts/AccountManagerService.java b/services/core/java/com/android/server/accounts/AccountManagerService.java
index 577cada36c3e..9108acf9c40a 100644
--- a/services/core/java/com/android/server/accounts/AccountManagerService.java
+++ b/services/core/java/com/android/server/accounts/AccountManagerService.java
@@ -1553,9 +1553,15 @@ public class AccountManagerService
}
}
}
-
- logRecord(accounts, DebugDbHelper.ACTION_CALLED_ACCOUNT_REMOVE, TABLE_ACCOUNTS);
-
+ SQLiteDatabase db = accounts.openHelper.getReadableDatabase();
+ final long accountId = getAccountIdLocked(db, account);
+ logRecord(
+ db,
+ DebugDbHelper.ACTION_CALLED_ACCOUNT_REMOVE,
+ TABLE_ACCOUNTS,
+ accountId,
+ accounts,
+ callingUid);
try {
new RemoveAccountSession(accounts, response, account, expectActivityLaunch).bind();
} finally {
@@ -1587,7 +1593,15 @@ public class AccountManagerService
throw new SecurityException(msg);
}
UserAccounts accounts = getUserAccountsForCaller();
- logRecord(accounts, DebugDbHelper.ACTION_CALLED_ACCOUNT_REMOVE, TABLE_ACCOUNTS);
+ SQLiteDatabase db = accounts.openHelper.getReadableDatabase();
+ final long accountId = getAccountIdLocked(db, account);
+ logRecord(
+ db,
+ DebugDbHelper.ACTION_CALLED_ACCOUNT_REMOVE,
+ TABLE_ACCOUNTS,
+ accountId,
+ accounts,
+ callingUid);
long identityToken = clearCallingIdentity();
try {
return removeAccountInternal(accounts, account, callingUid);
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 87168111c3f9..59e309662302 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -13604,7 +13604,7 @@ public final class ActivityManagerService extends ActivityManagerNative
sb.append("Process: ").append(processName).append("\n");
int flags = process.info.flags;
IPackageManager pm = AppGlobals.getPackageManager();
- sb.append("Flags: 0x").append(Integer.toString(flags, 16)).append("\n");
+ sb.append("Flags: 0x").append(Integer.toHexString(flags)).append("\n");
for (int ip=0; ip<process.pkgList.size(); ip++) {
String pkg = process.pkgList.keyAt(ip);
sb.append("Package: ").append(pkg);
@@ -20265,10 +20265,12 @@ public final class ActivityManagerService extends ActivityManagerNative
if (mUseFifoUiScheduling) {
// Reset UI pipeline to SCHED_OTHER
Process.setThreadScheduler(app.pid, Process.SCHED_OTHER, 0);
- Process.setThreadScheduler(app.renderThreadTid,
- Process.SCHED_OTHER, 0);
Process.setThreadPriority(app.pid, app.savedPriority);
- Process.setThreadPriority(app.renderThreadTid, -4);
+ if (app.renderThreadTid != 0) {
+ Process.setThreadScheduler(app.renderThreadTid,
+ Process.SCHED_OTHER, 0);
+ Process.setThreadPriority(app.renderThreadTid, -4);
+ }
}
}
} catch (Exception e) {
@@ -21798,10 +21800,13 @@ public final class ActivityManagerService extends ActivityManagerNative
}
@Override
- public int startActivityAsPackage(String packageName, int userId, Intent intent,
+ public int startActivitiesAsPackage(String packageName, int userId, Intent[] intents,
Bundle bOptions) {
- Preconditions.checkNotNull(intent, "intent");
- final String resolvedType = intent.resolveTypeIfNeeded(mContext.getContentResolver());
+ Preconditions.checkNotNull(intents, "intents");
+ final String[] resolvedTypes = new String[intents.length];
+ for (int i = 0; i < intents.length; i++) {
+ resolvedTypes[i] = intents[i].resolveTypeIfNeeded(mContext.getContentResolver());
+ }
// UID of the package on user userId.
// "= 0" is needed because otherwise catch(RemoteException) would make it look like
@@ -21815,9 +21820,8 @@ public final class ActivityManagerService extends ActivityManagerNative
}
synchronized (ActivityManagerService.this) {
- return startActivityInPackage(packageUid, packageName, intent, resolvedType,
- /*resultTo*/ null, /*resultWho*/ null, /*requestCode*/ 0, /*startFlags*/ 0,
- bOptions, userId, /*container*/ null, /*inTask*/ null);
+ return startActivitiesInPackage(packageUid, packageName, intents, resolvedTypes,
+ /*resultTo*/ null, bOptions, userId);
}
}
}
diff --git a/services/core/java/com/android/server/am/BatteryStatsService.java b/services/core/java/com/android/server/am/BatteryStatsService.java
index def6828beabb..ff13125a8417 100644
--- a/services/core/java/com/android/server/am/BatteryStatsService.java
+++ b/services/core/java/com/android/server/am/BatteryStatsService.java
@@ -484,6 +484,20 @@ public final class BatteryStatsService extends IBatteryStats.Stub
}
}
+ public void noteLongPartialWakelockStart(String name, String historyName, int uid) {
+ enforceCallingPermission();
+ synchronized (mStats) {
+ mStats.noteLongPartialWakelockStart(name, historyName, uid);
+ }
+ }
+
+ public void noteLongPartialWakelockFinish(String name, String historyName, int uid) {
+ enforceCallingPermission();
+ synchronized (mStats) {
+ mStats.noteLongPartialWakelockFinish(name, historyName, uid);
+ }
+ }
+
public void noteStartSensor(int uid, int sensor) {
enforceCallingPermission();
synchronized (mStats) {
@@ -710,7 +724,7 @@ public final class BatteryStatsService extends IBatteryStats.Stub
}
@Override
- public void noteWifiRadioPowerState(int powerState, long tsNanos) {
+ public void noteWifiRadioPowerState(int powerState, long tsNanos, int uid) {
enforceCallingPermission();
// There was a change in WiFi power state.
@@ -723,7 +737,7 @@ public final class BatteryStatsService extends IBatteryStats.Stub
mHandler.scheduleSync("wifi-data: " + type,
BatteryStatsImpl.ExternalStatsSync.UPDATE_WIFI);
}
- mStats.noteWifiRadioPowerState(powerState, tsNanos);
+ mStats.noteWifiRadioPowerState(powerState, tsNanos, uid);
}
}
diff --git a/services/core/java/com/android/server/am/UserController.java b/services/core/java/com/android/server/am/UserController.java
index 4de09bd5318e..9c22be724bbc 100644
--- a/services/core/java/com/android/server/am/UserController.java
+++ b/services/core/java/com/android/server/am/UserController.java
@@ -352,9 +352,15 @@ final class UserController {
final UserInfo info = getUserInfo(userId);
if (!Objects.equals(info.lastLoggedInFingerprint, Build.FINGERPRINT)) {
// Suppress double notifications for managed profiles that
- // were unlocked automatically (no challenge token required)
- // as part of their parent user being unlocked.
- final boolean quiet = info.isManagedProfile() && !uss.tokenProvided;
+ // were unlocked automatically as part of their parent user
+ // being unlocked.
+ final boolean quiet;
+ if (info.isManagedProfile()) {
+ quiet = !uss.tokenProvided
+ || !mLockPatternUtils.isSeparateProfileChallengeEnabled(userId);
+ } else {
+ quiet = false;
+ }
new PreBootBroadcaster(mService, userId, null, quiet) {
@Override
public void onFinished() {
diff --git a/services/core/java/com/android/server/clipboard/ClipboardService.java b/services/core/java/com/android/server/clipboard/ClipboardService.java
index 1c2684642c53..66aa40325a4f 100644
--- a/services/core/java/com/android/server/clipboard/ClipboardService.java
+++ b/services/core/java/com/android/server/clipboard/ClipboardService.java
@@ -188,6 +188,14 @@ public class ClipboardService extends IClipboard.Stub {
if (!canCopy) {
clip = null;
} else {
+ // We want to fix the uris of the related user's clip without changing the
+ // uris of the current user's clip.
+ // So, copy the ClipData, and then copy all the items, so that nothing
+ // is shared in memmory.
+ clip = new ClipData(clip);
+ for (int i = clip.getItemCount() - 1; i >= 0; i--) {
+ clip.setItemAt(i, new ClipData.Item(clip.getItemAt(i)));
+ }
clip.fixUrisLight(userId);
}
for (int i = 0; i < size; i++) {
diff --git a/services/core/java/com/android/server/connectivity/tethering/IPv6TetheringInterfaceServices.java b/services/core/java/com/android/server/connectivity/tethering/IPv6TetheringInterfaceServices.java
index b74283853726..a58d24329083 100644
--- a/services/core/java/com/android/server/connectivity/tethering/IPv6TetheringInterfaceServices.java
+++ b/services/core/java/com/android/server/connectivity/tethering/IPv6TetheringInterfaceServices.java
@@ -157,8 +157,17 @@ class IPv6TetheringInterfaceServices {
}
} else {
if (mLastLocalRoutes != null && !mLastLocalRoutes.isEmpty()) {
- // TODO: Remove only locally added network routes.
- // mNMSwervice.removeInterfaceFromLocalNetwork(mIfName);
+ try {
+ final int removalFailures =
+ mNMService.removeRoutesFromLocalNetwork(mLastLocalRoutes);
+ if (removalFailures > 0) {
+ Log.e(TAG,
+ String.format("Failed to remove %d IPv6 routes from local table.",
+ removalFailures));
+ }
+ } catch (RemoteException e) {
+ Log.e(TAG, "Failed to remove IPv6 routes from local table: ", e);
+ }
}
}
diff --git a/services/core/java/com/android/server/display/DisplayAdapter.java b/services/core/java/com/android/server/display/DisplayAdapter.java
index 701b9f179f9c..6ba25a53248d 100644
--- a/services/core/java/com/android/server/display/DisplayAdapter.java
+++ b/services/core/java/com/android/server/display/DisplayAdapter.java
@@ -49,13 +49,6 @@ abstract class DisplayAdapter {
*/
private static final AtomicInteger NEXT_DISPLAY_MODE_ID = new AtomicInteger(1); // 0 = no mode.
- /**
- * Used to generate globally unique color transform ids.
- *
- * Valid IDs start at 1 with 0 as the sentinel value for the default mode.
- */
- private static final AtomicInteger NEXT_COLOR_TRANSFORM_ID = new AtomicInteger(1);
-
// Called with SyncRoot lock held.
public DisplayAdapter(DisplayManagerService.SyncRoot syncRoot,
Context context, Handler handler, Listener listener, String name) {
@@ -141,11 +134,6 @@ abstract class DisplayAdapter {
NEXT_DISPLAY_MODE_ID.getAndIncrement(), width, height, refreshRate);
}
- public static Display.ColorTransform createColorTransform(int colorTransform) {
- return new Display.ColorTransform(
- NEXT_COLOR_TRANSFORM_ID.getAndIncrement(), colorTransform);
- }
-
public interface Listener {
public void onDisplayDeviceEvent(DisplayDevice device, int event);
public void onTraversalRequested();
diff --git a/services/core/java/com/android/server/display/DisplayDevice.java b/services/core/java/com/android/server/display/DisplayDevice.java
index 7af0bdbdc357..839ab4d4867d 100644
--- a/services/core/java/com/android/server/display/DisplayDevice.java
+++ b/services/core/java/com/android/server/display/DisplayDevice.java
@@ -94,6 +94,11 @@ abstract class DisplayDevice {
}
/**
+ * Returns whether the unique id of the device is stable across reboots.
+ */
+ public abstract boolean hasStableUniqueId();
+
+ /**
* Gets information about the display device.
*
* The information returned should not change between calls unless the display
@@ -135,7 +140,7 @@ abstract class DisplayDevice {
/**
* Sets the mode, if supported.
*/
- public void requestColorTransformAndModeInTransactionLocked(int colorTransformId, int modeId) {
+ public void requestDisplayModesInTransactionLocked(int colorMode, int modeId) {
}
/**
diff --git a/services/core/java/com/android/server/display/DisplayDeviceInfo.java b/services/core/java/com/android/server/display/DisplayDeviceInfo.java
index 5ce66fae3429..671918209b25 100644
--- a/services/core/java/com/android/server/display/DisplayDeviceInfo.java
+++ b/services/core/java/com/android/server/display/DisplayDeviceInfo.java
@@ -118,6 +118,11 @@ final class DisplayDeviceInfo {
public static final int DIFF_OTHER = 1 << 1;
/**
+ * Diff result: The color mode fields differ.
+ */
+ public static final int DIFF_COLOR_MODE = 1 << 2;
+
+ /**
* Gets the name of the display device, which may be derived from EDID or
* other sources. The name may be localized and displayed to the user.
*/
@@ -155,14 +160,11 @@ final class DisplayDeviceInfo {
*/
public Display.Mode[] supportedModes = Display.Mode.EMPTY_ARRAY;
- /** The active color transform of the display */
- public int colorTransformId;
+ /** The active color mode of the display */
+ public int colorMode;
- /** The default color transform of the display */
- public int defaultColorTransformId;
-
- /** The supported color transforms of the display */
- public Display.ColorTransform[] supportedColorTransforms = Display.ColorTransform.EMPTY_ARRAY;
+ /** The supported color modes of the display */
+ public int[] supportedColorModes = { Display.COLOR_MODE_DEFAULT };
/**
* The HDR capabilities this display claims to support.
@@ -283,6 +285,9 @@ final class DisplayDeviceInfo {
if (state != other.state) {
diff |= DIFF_STATE;
}
+ if (colorMode != other.colorMode) {
+ diff |= DIFF_COLOR_MODE;
+ }
if (!Objects.equal(name, other.name)
|| !Objects.equal(uniqueId, other.uniqueId)
|| width != other.width
@@ -290,9 +295,7 @@ final class DisplayDeviceInfo {
|| modeId != other.modeId
|| defaultModeId != other.defaultModeId
|| !Arrays.equals(supportedModes, other.supportedModes)
- || colorTransformId != other.colorTransformId
- || defaultColorTransformId != other.defaultColorTransformId
- || !Arrays.equals(supportedColorTransforms, other.supportedColorTransforms)
+ || !Arrays.equals(supportedColorModes, other.supportedColorModes)
|| !Objects.equal(hdrCapabilities, other.hdrCapabilities)
|| densityDpi != other.densityDpi
|| xDpi != other.xDpi
@@ -324,9 +327,8 @@ final class DisplayDeviceInfo {
modeId = other.modeId;
defaultModeId = other.defaultModeId;
supportedModes = other.supportedModes;
- colorTransformId = other.colorTransformId;
- defaultColorTransformId = other.defaultColorTransformId;
- supportedColorTransforms = other.supportedColorTransforms;
+ colorMode = other.colorMode;
+ supportedColorModes = other.supportedColorModes;
hdrCapabilities = other.hdrCapabilities;
densityDpi = other.densityDpi;
xDpi = other.xDpi;
@@ -353,9 +355,8 @@ final class DisplayDeviceInfo {
sb.append(", modeId ").append(modeId);
sb.append(", defaultModeId ").append(defaultModeId);
sb.append(", supportedModes ").append(Arrays.toString(supportedModes));
- sb.append(", colorTransformId ").append(colorTransformId);
- sb.append(", defaultColorTransformId ").append(defaultColorTransformId);
- sb.append(", supportedColorTransforms ").append(Arrays.toString(supportedColorTransforms));
+ sb.append(", colorMode ").append(colorMode);
+ sb.append(", supportedColorModes ").append(Arrays.toString(supportedColorModes));
sb.append(", HdrCapabilities ").append(hdrCapabilities);
sb.append(", density ").append(densityDpi);
sb.append(", ").append(xDpi).append(" x ").append(yDpi).append(" dpi");
diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java
index fec7ed1ff998..0abd2e79b45f 100644
--- a/services/core/java/com/android/server/display/DisplayManagerService.java
+++ b/services/core/java/com/android/server/display/DisplayManagerService.java
@@ -239,6 +239,11 @@ public final class DisplayManagerService extends SystemService {
@Override
public void onStart() {
+ // We need to pre-load the persistent data store so it's ready before the default display
+ // adapter is up so that we have it's configuration. We could load it lazily, but since
+ // we're going to have to read it in eventually we may as well do it here rather than after
+ // we've waited for the diplay to register itself with us.
+ mPersistentDataStore.loadIfNeeded();
mHandler.sendEmptyMessage(MSG_REGISTER_DEFAULT_DISPLAY_ADAPTER);
publishBinderService(Context.DISPLAY_SERVICE, new BinderService(),
@@ -541,12 +546,12 @@ public final class DisplayManagerService extends SystemService {
}
}
- private void requestColorTransformInternal(int displayId, int colorTransformId) {
+ private void requestColorModeInternal(int displayId, int colorMode) {
synchronized (mSyncRoot) {
LogicalDisplay display = mLogicalDisplays.get(displayId);
if (display != null &&
- display.getRequestedColorTransformIdLocked() != colorTransformId) {
- display.setRequestedColorTransformIdLocked(colorTransformId);
+ display.getRequestedColorModeLocked() != colorMode) {
+ display.setRequestedColorModeLocked(colorMode);
scheduleTraversalLocked(false);
}
}
@@ -691,11 +696,15 @@ public final class DisplayManagerService extends SystemService {
device.mDebugLastLoggedDeviceInfo = info;
mDisplayDevices.add(device);
- addLogicalDisplayLocked(device);
+ LogicalDisplay display = addLogicalDisplayLocked(device);
Runnable work = updateDisplayStateLocked(device);
if (work != null) {
work.run();
}
+ if (display != null && display.getPrimaryDisplayDeviceLocked() == device) {
+ int colorMode = mPersistentDataStore.getColorMode(device);
+ display.setRequestedColorModeLocked(colorMode);
+ }
scheduleTraversalLocked(false);
}
@@ -714,6 +723,13 @@ public final class DisplayManagerService extends SystemService {
} else if (diff != 0) {
Slog.i(TAG, "Display device changed: " + info);
}
+ if ((diff & DisplayDeviceInfo.DIFF_COLOR_MODE) != 0) {
+ try {
+ mPersistentDataStore.setColorMode(device, info.colorMode);
+ } finally {
+ mPersistentDataStore.saveIfNeeded();
+ }
+ }
device.mDebugLastLoggedDeviceInfo = info;
device.applyPendingDisplayDeviceInfoChangesLocked();
@@ -766,7 +782,7 @@ public final class DisplayManagerService extends SystemService {
// Adds a new logical display based on the given display device.
// Sends notifications if needed.
- private void addLogicalDisplayLocked(DisplayDevice device) {
+ private LogicalDisplay addLogicalDisplayLocked(DisplayDevice device) {
DisplayDeviceInfo deviceInfo = device.getDisplayDeviceInfoLocked();
boolean isDefault = (deviceInfo.flags
& DisplayDeviceInfo.FLAG_DEFAULT_DISPLAY) != 0;
@@ -778,7 +794,7 @@ public final class DisplayManagerService extends SystemService {
if (!isDefault && mSingleDisplayDemoMode) {
Slog.i(TAG, "Not creating a logical display for a secondary display "
+ " because single display demo mode is enabled: " + deviceInfo);
- return;
+ return null;
}
final int displayId = assignDisplayIdLocked(isDefault);
@@ -790,7 +806,7 @@ public final class DisplayManagerService extends SystemService {
// This should never happen currently.
Slog.w(TAG, "Ignoring display device because the logical display "
+ "created from it was not considered valid: " + deviceInfo);
- return;
+ return null;
}
mLogicalDisplays.put(displayId, display);
@@ -801,6 +817,7 @@ public final class DisplayManagerService extends SystemService {
}
sendDisplayEventLocked(displayId, DisplayManagerGlobal.EVENT_DISPLAY_ADDED);
+ return display;
}
private int assignDisplayIdLocked(boolean isDefault) {
@@ -1068,6 +1085,9 @@ public final class DisplayManagerService extends SystemService {
if (mDisplayPowerController != null) {
mDisplayPowerController.dump(pw);
}
+
+ pw.println();
+ mPersistentDataStore.dump(pw);
}
}
@@ -1352,13 +1372,13 @@ public final class DisplayManagerService extends SystemService {
}
@Override // Binder call
- public void requestColorTransform(int displayId, int colorTransformId) {
+ public void requestColorMode(int displayId, int colorMode) {
mContext.enforceCallingOrSelfPermission(
- Manifest.permission.CONFIGURE_DISPLAY_COLOR_TRANSFORM,
- "Permission required to change the display color transform");
+ Manifest.permission.CONFIGURE_DISPLAY_COLOR_MODE,
+ "Permission required to change the display color mode");
final long token = Binder.clearCallingIdentity();
try {
- requestColorTransformInternal(displayId, colorTransformId);
+ requestColorModeInternal(displayId, colorMode);
} finally {
Binder.restoreCallingIdentity(token);
}
diff --git a/services/core/java/com/android/server/display/DisplayTransformManager.java b/services/core/java/com/android/server/display/DisplayTransformManager.java
index cfeae7bd6bd7..6902b1a5cd04 100644
--- a/services/core/java/com/android/server/display/DisplayTransformManager.java
+++ b/services/core/java/com/android/server/display/DisplayTransformManager.java
@@ -24,6 +24,10 @@ import android.os.ServiceManager;
import android.util.Slog;
import android.util.SparseArray;
+import com.android.internal.annotations.GuardedBy;
+
+import java.util.Arrays;
+
/**
* Manager for applying color transformations to the display.
*/
@@ -44,19 +48,34 @@ public class DisplayTransformManager {
*/
public static final int LEVEL_COLOR_MATRIX_INVERT_COLOR = 300;
+ /**
+ * Map of level -> color transformation matrix.
+ */
+ @GuardedBy("mColorMatrix")
private final SparseArray<float[]> mColorMatrix = new SparseArray<>(3);
+ /**
+ * Temporary matrix used internally by {@link #computeColorMatrixLocked()}.
+ */
+ @GuardedBy("mColorMatrix")
+ private final float[][] mTempColorMatrix = new float[2][16];
+ /**
+ * Lock used for synchronize access to {@link #mDaltonizerMode}.
+ */
+ private final Object mDaltonizerModeLock = new Object();
+ @GuardedBy("mDaltonizerModeLock")
private int mDaltonizerMode = -1;
/* package */ DisplayTransformManager() {
}
/**
- * Returns the color transform matrix set for a given level.
+ * Returns a copy of the color transform matrix set for a given level.
*/
public float[] getColorMatrix(int key) {
synchronized (mColorMatrix) {
- return mColorMatrix.get(key);
+ final float[] value = mColorMatrix.get(key);
+ return value == null ? null : Arrays.copyOf(value, value.length);
}
}
@@ -66,53 +85,59 @@ public class DisplayTransformManager {
* Note: all color transforms are first composed to a single matrix in ascending order based
* on level before being applied to the display.
*
- * @param key the level used to identify and compose the color transform (low -> high)
+ * @param level the level used to identify and compose the color transform (low -> high)
* @param value the 4x4 color transform matrix (in column-major order), or {@code null} to
* remove the color transform matrix associated with the provided level
*/
- public void setColorMatrix(int key, float[] value) {
+ public void setColorMatrix(int level, float[] value) {
if (value != null && value.length != 16) {
throw new IllegalArgumentException("Expected length: 16 (4x4 matrix)"
+ ", actual length: " + value.length);
}
synchronized (mColorMatrix) {
- if (value != null) {
- mColorMatrix.put(key, value);
- } else {
- mColorMatrix.remove(key);
- }
+ final float[] oldValue = mColorMatrix.get(level);
+ if (!Arrays.equals(oldValue, value)) {
+ if (value == null) {
+ mColorMatrix.remove(level);
+ } else if (oldValue == null) {
+ mColorMatrix.put(level, Arrays.copyOf(value, value.length));
+ } else {
+ System.arraycopy(value, 0, oldValue, 0, value.length);
+ }
- // Update the current color transform.
- applyColorMatrix(computeColorMatrix());
+ // Update the current color transform.
+ applyColorMatrix(computeColorMatrixLocked());
+ }
}
}
/**
* Returns the composition of all current color matrices, or {@code null} if there are none.
*/
- private float[] computeColorMatrix() {
- synchronized (mColorMatrix) {
- final int count = mColorMatrix.size();
- if (count == 0) {
- return null;
- }
+ @GuardedBy("mColorMatrix")
+ private float[] computeColorMatrixLocked() {
+ final int count = mColorMatrix.size();
+ if (count == 0) {
+ return null;
+ }
- final float[][] result = new float[2][16];
- Matrix.setIdentityM(result[0], 0);
- for (int i = 0; i < count; i++) {
- float[] rhs = mColorMatrix.valueAt(i);
- Matrix.multiplyMM(result[(i + 1) % 2], 0, result[i % 2], 0, rhs, 0);
- }
- return result[count % 2];
+ final float[][] result = mTempColorMatrix;
+ Matrix.setIdentityM(result[0], 0);
+ for (int i = 0; i < count; i++) {
+ float[] rhs = mColorMatrix.valueAt(i);
+ Matrix.multiplyMM(result[(i + 1) % 2], 0, result[i % 2], 0, rhs, 0);
}
+ return result[count % 2];
}
/**
* Returns the current Daltonization mode.
*/
public int getDaltonizerMode() {
- return mDaltonizerMode;
+ synchronized (mDaltonizerModeLock) {
+ return mDaltonizerMode;
+ }
}
/**
@@ -122,9 +147,11 @@ public class DisplayTransformManager {
* @param mode the new Daltonization mode, or -1 to disable
*/
public void setDaltonizerMode(int mode) {
- if (mDaltonizerMode != mode) {
- mDaltonizerMode = mode;
- applyDaltonizerMode(mode);
+ synchronized (mDaltonizerModeLock) {
+ if (mDaltonizerMode != mode) {
+ mDaltonizerMode = mode;
+ applyDaltonizerMode(mode);
+ }
}
}
diff --git a/services/core/java/com/android/server/display/LocalDisplayAdapter.java b/services/core/java/com/android/server/display/LocalDisplayAdapter.java
index 7b16ea61eb74..61c2eacaa8f9 100644
--- a/services/core/java/com/android/server/display/LocalDisplayAdapter.java
+++ b/services/core/java/com/android/server/display/LocalDisplayAdapter.java
@@ -39,6 +39,8 @@ import android.view.SurfaceControl;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
/**
* A display adapter for the local displays managed by Surface Flinger.
@@ -100,14 +102,25 @@ final class LocalDisplayAdapter extends DisplayAdapter {
builtInDisplayId);
return;
}
+ int activeColorMode = SurfaceControl.getActiveColorMode(displayToken);
+ if (activeColorMode < 0) {
+ // We failed to get the active color mode. We don't bail out here since on the next
+ // configuration pass we'll go ahead and set it to whatever it was set to last (or
+ // COLOR_MODE_NATIVE if this is the first configuration).
+ Slog.w(TAG, "Unable to get active color mode for display device " +
+ builtInDisplayId);
+ activeColorMode = Display.COLOR_MODE_INVALID;
+ }
+ int[] colorModes = SurfaceControl.getDisplayColorModes(displayToken);
LocalDisplayDevice device = mDevices.get(builtInDisplayId);
if (device == null) {
// Display was added.
device = new LocalDisplayDevice(displayToken, builtInDisplayId,
- configs, activeConfig);
+ configs, activeConfig, colorModes, activeColorMode);
mDevices.put(builtInDisplayId, device);
sendDisplayDeviceEventLocked(device, DISPLAY_DEVICE_EVENT_ADDED);
- } else if (device.updatePhysicalDisplayInfoLocked(configs, activeConfig)) {
+ } else if (device.updatePhysicalDisplayInfoLocked(configs, activeConfig,
+ colorModes, activeColorMode)) {
// Display properties changed.
sendDisplayDeviceEventLocked(device, DISPLAY_DEVICE_EVENT_CHANGED);
}
@@ -144,8 +157,7 @@ final class LocalDisplayAdapter extends DisplayAdapter {
private final int mBuiltInDisplayId;
private final Light mBacklight;
private final SparseArray<DisplayModeRecord> mSupportedModes = new SparseArray<>();
- private final SparseArray<Display.ColorTransform> mSupportedColorTransforms =
- new SparseArray<>();
+ private final ArrayList<Integer> mSupportedColorModes = new ArrayList<>();
private DisplayDeviceInfo mInfo;
private boolean mHavePendingChanges;
@@ -155,18 +167,20 @@ final class LocalDisplayAdapter extends DisplayAdapter {
private int mDefaultModeId;
private int mActiveModeId;
private boolean mActiveModeInvalid;
- private int mDefaultColorTransformId;
- private int mActiveColorTransformId;
- private boolean mActiveColorTransformInvalid;
+ private int mActiveColorMode;
+ private boolean mActiveColorModeInvalid;
private Display.HdrCapabilities mHdrCapabilities;
private SurfaceControl.PhysicalDisplayInfo mDisplayInfos[];
public LocalDisplayDevice(IBinder displayToken, int builtInDisplayId,
- SurfaceControl.PhysicalDisplayInfo[] physicalDisplayInfos, int activeDisplayInfo) {
+ SurfaceControl.PhysicalDisplayInfo[] physicalDisplayInfos, int activeDisplayInfo,
+ int[] colorModes, int activeColorMode) {
super(LocalDisplayAdapter.this, displayToken, UNIQUE_ID_PREFIX + builtInDisplayId);
mBuiltInDisplayId = builtInDisplayId;
- updatePhysicalDisplayInfoLocked(physicalDisplayInfos, activeDisplayInfo);
+ updatePhysicalDisplayInfoLocked(physicalDisplayInfos, activeDisplayInfo,
+ colorModes, activeColorMode);
+ updateColorModesLocked(colorModes, activeColorMode);
if (mBuiltInDisplayId == SurfaceControl.BUILT_IN_DISPLAY_ID_MAIN) {
LightsManager lights = LocalServices.getService(LightsManager.class);
mBacklight = lights.getLight(LightsManager.LIGHT_ID_BACKLIGHT);
@@ -176,39 +190,16 @@ final class LocalDisplayAdapter extends DisplayAdapter {
mHdrCapabilities = SurfaceControl.getHdrCapabilities(displayToken);
}
+ @Override
+ public boolean hasStableUniqueId() {
+ return true;
+ }
+
public boolean updatePhysicalDisplayInfoLocked(
- SurfaceControl.PhysicalDisplayInfo[] physicalDisplayInfos, int activeDisplayInfo) {
+ SurfaceControl.PhysicalDisplayInfo[] physicalDisplayInfos, int activeDisplayInfo,
+ int[] colorModes, int activeColorMode) {
mDisplayInfos = Arrays.copyOf(physicalDisplayInfos, physicalDisplayInfos.length);
mActivePhysIndex = activeDisplayInfo;
- ArrayList<Display.ColorTransform> colorTransforms = new ArrayList<>();
-
- // Build an updated list of all existing color transforms.
- boolean colorTransformsAdded = false;
- Display.ColorTransform activeColorTransform = null;
- for (int i = 0; i < physicalDisplayInfos.length; i++) {
- SurfaceControl.PhysicalDisplayInfo info = physicalDisplayInfos[i];
- // First check to see if we've already added this color transform
- boolean existingMode = false;
- for (int j = 0; j < colorTransforms.size(); j++) {
- if (colorTransforms.get(j).getColorTransform() == info.colorTransform) {
- existingMode = true;
- break;
- }
- }
- if (existingMode) {
- continue;
- }
- Display.ColorTransform colorTransform = findColorTransform(info);
- if (colorTransform == null) {
- colorTransform = createColorTransform(info.colorTransform);
- colorTransformsAdded = true;
- }
- colorTransforms.add(colorTransform);
- if (i == activeDisplayInfo) {
- activeColorTransform = colorTransform;
- }
- }
-
// Build an updated list of all existing modes.
ArrayList<DisplayModeRecord> records = new ArrayList<DisplayModeRecord>();
boolean modesAdded = false;
@@ -254,21 +245,10 @@ final class LocalDisplayAdapter extends DisplayAdapter {
mActiveModeInvalid = true;
sendTraversalRequestLocked();
}
- // Check whether surface flinger spontaneously changed color transforms out from under
- // us.
- if (mActiveColorTransformId != 0
- && mActiveColorTransformId != activeColorTransform.getId()) {
- mActiveColorTransformInvalid = true;
- sendTraversalRequestLocked();
- }
- boolean colorTransformsChanged =
- colorTransforms.size() != mSupportedColorTransforms.size()
- || colorTransformsAdded;
boolean recordsChanged = records.size() != mSupportedModes.size() || modesAdded;
- // If neither the records nor the supported color transforms have changed then we're
- // done here.
- if (!recordsChanged && !colorTransformsChanged) {
+ // If the records haven't changed then we're done here.
+ if (!recordsChanged) {
return false;
}
// Update the index of modes.
@@ -278,24 +258,13 @@ final class LocalDisplayAdapter extends DisplayAdapter {
for (DisplayModeRecord record : records) {
mSupportedModes.put(record.mMode.getModeId(), record);
}
- mSupportedColorTransforms.clear();
- for (Display.ColorTransform colorTransform : colorTransforms) {
- mSupportedColorTransforms.put(colorTransform.getId(), colorTransform);
- }
-
- // Update the default mode and color transform if needed. This needs to be done in
- // tandem so we always have a default state to fall back to.
- if (findDisplayInfoIndexLocked(mDefaultColorTransformId, mDefaultModeId) < 0) {
+ // Update the default mode, if needed.
+ if (findDisplayInfoIndexLocked(mDefaultModeId) < 0) {
if (mDefaultModeId != 0) {
Slog.w(TAG, "Default display mode no longer available, using currently"
+ " active mode as default.");
}
mDefaultModeId = activeRecord.mMode.getModeId();
- if (mDefaultColorTransformId != 0) {
- Slog.w(TAG, "Default color transform no longer available, using currently"
- + " active color transform as default");
- }
- mDefaultColorTransformId = activeColorTransform.getId();
}
// Determine whether the active mode is still there.
if (mSupportedModes.indexOfKey(mActiveModeId) < 0) {
@@ -307,20 +276,62 @@ final class LocalDisplayAdapter extends DisplayAdapter {
mActiveModeInvalid = true;
}
- // Determine whether the active color transform is still there.
- if (mSupportedColorTransforms.indexOfKey(mActiveColorTransformId) < 0) {
- if (mActiveColorTransformId != 0) {
- Slog.w(TAG, "Active color transform no longer available, reverting"
- + " to default transform.");
- }
- mActiveColorTransformId = mDefaultColorTransformId;
- mActiveColorTransformInvalid = true;
- }
// Schedule traversals so that we apply pending changes.
sendTraversalRequestLocked();
return true;
}
+ private boolean updateColorModesLocked(int[] colorModes,
+ int activeColorMode) {
+ List<Integer> pendingColorModes = new ArrayList<>();
+
+ // Build an updated list of all existing color modes.
+ boolean colorModesAdded = false;
+ for (int colorMode: colorModes) {
+ if (!mSupportedColorModes.contains(colorMode)) {
+ colorModesAdded = true;
+ }
+ pendingColorModes.add(colorMode);
+ }
+
+ boolean colorModesChanged =
+ pendingColorModes.size() != mSupportedColorModes.size()
+ || colorModesAdded;
+
+ // If the supported color modes haven't changed then we're done here.
+ if (!colorModesChanged) {
+ return false;
+ }
+
+ mHavePendingChanges = true;
+
+ mSupportedColorModes.clear();
+ mSupportedColorModes.addAll(pendingColorModes);
+ Collections.sort(mSupportedColorModes);
+
+ // Determine whether the active color mode is still there.
+ if (!mSupportedColorModes.contains(mActiveColorMode)) {
+ if (mActiveColorMode != 0) {
+ Slog.w(TAG, "Active color mode no longer available, reverting"
+ + " to default mode.");
+ mActiveColorMode = Display.COLOR_MODE_DEFAULT;
+ mActiveColorModeInvalid = true;
+ } else {
+ if (!mSupportedColorModes.isEmpty()) {
+ // This should never happen.
+ Slog.e(TAG, "Default and active color mode is no longer available!"
+ + " Reverting to first available mode.");
+ mActiveColorMode = mSupportedColorModes.get(0);
+ mActiveColorModeInvalid = true;
+ } else {
+ // This should really never happen.
+ Slog.e(TAG, "No color modes available!");
+ }
+ }
+ }
+ return true;
+ }
+
private DisplayModeRecord findDisplayModeRecord(SurfaceControl.PhysicalDisplayInfo info) {
for (int i = 0; i < mSupportedModes.size(); i++) {
DisplayModeRecord record = mSupportedModes.valueAt(i);
@@ -331,16 +342,6 @@ final class LocalDisplayAdapter extends DisplayAdapter {
return null;
}
- private Display.ColorTransform findColorTransform(SurfaceControl.PhysicalDisplayInfo info) {
- for (int i = 0; i < mSupportedColorTransforms.size(); i++) {
- Display.ColorTransform transform = mSupportedColorTransforms.valueAt(i);
- if (transform.getColorTransform() == info.colorTransform) {
- return transform;
- }
- }
- return null;
- }
-
@Override
public void applyPendingDisplayDeviceInfoChangesLocked() {
if (mHavePendingChanges) {
@@ -363,12 +364,11 @@ final class LocalDisplayAdapter extends DisplayAdapter {
DisplayModeRecord record = mSupportedModes.valueAt(i);
mInfo.supportedModes[i] = record.mMode;
}
- mInfo.colorTransformId = mActiveColorTransformId;
- mInfo.defaultColorTransformId = mDefaultColorTransformId;
- mInfo.supportedColorTransforms =
- new Display.ColorTransform[mSupportedColorTransforms.size()];
- for (int i = 0; i < mSupportedColorTransforms.size(); i++) {
- mInfo.supportedColorTransforms[i] = mSupportedColorTransforms.valueAt(i);
+ mInfo.colorMode = mActiveColorMode;
+ mInfo.supportedColorModes =
+ new int[mSupportedColorModes.size()];
+ for (int i = 0; i < mSupportedColorModes.size(); i++) {
+ mInfo.supportedColorModes[i] = mSupportedColorModes.get(i);
}
mInfo.hdrCapabilities = mHdrCapabilities;
mInfo.appVsyncOffsetNanos = phys.appVsyncOffsetNanos;
@@ -520,8 +520,15 @@ final class LocalDisplayAdapter extends DisplayAdapter {
}
@Override
- public void requestColorTransformAndModeInTransactionLocked(
- int colorTransformId, int modeId) {
+ public void requestDisplayModesInTransactionLocked(
+ int colorMode, int modeId) {
+ if (requestModeInTransactionLocked(modeId) ||
+ requestColorModeInTransactionLocked(colorMode)) {
+ updateDeviceInfoLocked();
+ }
+ }
+
+ public boolean requestModeInTransactionLocked(int modeId) {
if (modeId == 0) {
modeId = mDefaultModeId;
} else if (mSupportedModes.indexOfKey(modeId) < 0) {
@@ -530,37 +537,36 @@ final class LocalDisplayAdapter extends DisplayAdapter {
modeId = mDefaultModeId;
}
- if (colorTransformId == 0) {
- colorTransformId = mDefaultColorTransformId;
- } else if (mSupportedColorTransforms.indexOfKey(colorTransformId) < 0) {
- Slog.w(TAG, "Requested color transform " + colorTransformId + " is not supported"
- + " by this display, reverting to the default color transform");
- colorTransformId = mDefaultColorTransformId;
- }
- int physIndex = findDisplayInfoIndexLocked(colorTransformId, modeId);
+ int physIndex = findDisplayInfoIndexLocked(modeId);
if (physIndex < 0) {
- Slog.w(TAG, "Requested color transform, mode ID pair (" + colorTransformId + ", "
- + modeId + ") not available, trying color transform with default mode ID");
+ Slog.w(TAG, "Requested mode ID " + modeId + " not available,"
+ + " trying with default mode ID");
modeId = mDefaultModeId;
- physIndex = findDisplayInfoIndexLocked(colorTransformId, modeId);
- if (physIndex < 0) {
- Slog.w(TAG, "Requested color transform with default mode ID still not"
- + " available, falling back to default color transform with default"
- + " mode.");
- colorTransformId = mDefaultColorTransformId;
- physIndex = findDisplayInfoIndexLocked(colorTransformId, modeId);
- }
+ physIndex = findDisplayInfoIndexLocked(modeId);
}
if (mActivePhysIndex == physIndex) {
- return;
+ return false;
}
SurfaceControl.setActiveConfig(getDisplayTokenLocked(), physIndex);
mActivePhysIndex = physIndex;
mActiveModeId = modeId;
mActiveModeInvalid = false;
- mActiveColorTransformId = colorTransformId;
- mActiveColorTransformInvalid = false;
- updateDeviceInfoLocked();
+ return true;
+ }
+
+ public boolean requestColorModeInTransactionLocked(int colorMode) {
+ if (mActiveColorMode == colorMode) {
+ return false;
+ }
+ if (!mSupportedColorModes.contains(colorMode)) {
+ Slog.w(TAG, "Unable to find color mode " + colorMode
+ + ", ignoring request.");
+ return false;
+ }
+ SurfaceControl.setActiveColorMode(getDisplayTokenLocked(), colorMode);
+ mActiveColorMode = colorMode;
+ mActiveColorModeInvalid = false;
+ return true;
}
@Override
@@ -569,7 +575,7 @@ final class LocalDisplayAdapter extends DisplayAdapter {
pw.println("mBuiltInDisplayId=" + mBuiltInDisplayId);
pw.println("mActivePhysIndex=" + mActivePhysIndex);
pw.println("mActiveModeId=" + mActiveModeId);
- pw.println("mActiveColorTransformId=" + mActiveColorTransformId);
+ pw.println("mActiveColorMode=" + mActiveColorMode);
pw.println("mState=" + Display.stateToString(mState));
pw.println("mBrightness=" + mBrightness);
pw.println("mBacklight=" + mBacklight);
@@ -581,24 +587,22 @@ final class LocalDisplayAdapter extends DisplayAdapter {
for (int i = 0; i < mSupportedModes.size(); i++) {
pw.println(" " + mSupportedModes.valueAt(i));
}
- pw.println("mSupportedColorTransforms=[");
- for (int i = 0; i < mSupportedColorTransforms.size(); i++) {
+ pw.print("mSupportedColorModes=[");
+ for (int i = 0; i < mSupportedColorModes.size(); i++) {
if (i != 0) {
pw.print(", ");
}
- pw.print(mSupportedColorTransforms.valueAt(i));
+ pw.print(mSupportedColorModes.get(i));
}
pw.println("]");
}
- private int findDisplayInfoIndexLocked(int colorTransformId, int modeId) {
+ private int findDisplayInfoIndexLocked(int modeId) {
DisplayModeRecord record = mSupportedModes.get(modeId);
- Display.ColorTransform transform = mSupportedColorTransforms.get(colorTransformId);
- if (record != null && transform != null) {
+ if (record != null) {
for (int i = 0; i < mDisplayInfos.length; i++) {
SurfaceControl.PhysicalDisplayInfo info = mDisplayInfos[i];
- if (info.colorTransform == transform.getColorTransform()
- && record.hasMatchingMode(info)){
+ if (record.hasMatchingMode(info)){
return i;
}
}
diff --git a/services/core/java/com/android/server/display/LogicalDisplay.java b/services/core/java/com/android/server/display/LogicalDisplay.java
index 973f04ccc6a9..287a25aa9b3e 100644
--- a/services/core/java/com/android/server/display/LogicalDisplay.java
+++ b/services/core/java/com/android/server/display/LogicalDisplay.java
@@ -74,7 +74,7 @@ final class LogicalDisplay {
private boolean mHasContent;
private int mRequestedModeId;
- private int mRequestedColorTransformId;
+ private int mRequestedColorMode;
// The display offsets to apply to the display projection.
private int mDisplayOffsetX;
@@ -236,11 +236,10 @@ final class LogicalDisplay {
mBaseDisplayInfo.defaultModeId = deviceInfo.defaultModeId;
mBaseDisplayInfo.supportedModes = Arrays.copyOf(
deviceInfo.supportedModes, deviceInfo.supportedModes.length);
- mBaseDisplayInfo.colorTransformId = deviceInfo.colorTransformId;
- mBaseDisplayInfo.defaultColorTransformId = deviceInfo.defaultColorTransformId;
- mBaseDisplayInfo.supportedColorTransforms = Arrays.copyOf(
- deviceInfo.supportedColorTransforms,
- deviceInfo.supportedColorTransforms.length);
+ mBaseDisplayInfo.colorMode = deviceInfo.colorMode;
+ mBaseDisplayInfo.supportedColorModes = Arrays.copyOf(
+ deviceInfo.supportedColorModes,
+ deviceInfo.supportedColorModes.length);
mBaseDisplayInfo.hdrCapabilities = deviceInfo.hdrCapabilities;
mBaseDisplayInfo.logicalDensityDpi = deviceInfo.densityDpi;
mBaseDisplayInfo.physicalXDpi = deviceInfo.xDpi;
@@ -282,12 +281,12 @@ final class LogicalDisplay {
// Set the layer stack.
device.setLayerStackInTransactionLocked(isBlanked ? BLANK_LAYER_STACK : mLayerStack);
- // Set the color transform and mode.
+ // Set the color mode and mode.
if (device == mPrimaryDisplayDevice) {
- device.requestColorTransformAndModeInTransactionLocked(
- mRequestedColorTransformId, mRequestedModeId);
+ device.requestDisplayModesInTransactionLocked(
+ mRequestedColorMode, mRequestedModeId);
} else {
- device.requestColorTransformAndModeInTransactionLocked(0, 0); // Revert to default.
+ device.requestDisplayModesInTransactionLocked(0, 0); // Revert to default.
}
// Only grab the display info now as it may have been changed based on the requests above.
@@ -391,15 +390,15 @@ final class LogicalDisplay {
}
/**
- * Requests the given color transform.
+ * Requests the given color mode.
*/
- public void setRequestedColorTransformIdLocked(int colorTransformId) {
- mRequestedColorTransformId = colorTransformId;
+ public void setRequestedColorModeLocked(int colorMode) {
+ mRequestedColorMode = colorMode;
}
- /** Returns the pending requested color transform. */
- public int getRequestedColorTransformIdLocked() {
- return mRequestedColorTransformId;
+ /** Returns the pending requested color mode. */
+ public int getRequestedColorModeLocked() {
+ return mRequestedColorMode;
}
/**
@@ -429,7 +428,7 @@ final class LogicalDisplay {
pw.println("mLayerStack=" + mLayerStack);
pw.println("mHasContent=" + mHasContent);
pw.println("mRequestedMode=" + mRequestedModeId);
- pw.println("mRequestedColorTransformId=" + mRequestedColorTransformId);
+ pw.println("mRequestedColorMode=" + mRequestedColorMode);
pw.println("mDisplayOffset=(" + mDisplayOffsetX + ", " + mDisplayOffsetY + ")");
pw.println("mPrimaryDisplayDevice=" + (mPrimaryDisplayDevice != null ?
mPrimaryDisplayDevice.getNameLocked() : "null"));
diff --git a/services/core/java/com/android/server/display/NightDisplayService.java b/services/core/java/com/android/server/display/NightDisplayService.java
index 1f4ee9b2d4ea..39498a62fdcd 100644
--- a/services/core/java/com/android/server/display/NightDisplayService.java
+++ b/services/core/java/com/android/server/display/NightDisplayService.java
@@ -16,6 +16,10 @@
package com.android.server.display;
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
+import android.animation.TypeEvaluator;
+import android.animation.ValueAnimator;
import android.app.AlarmManager;
import android.content.BroadcastReceiver;
import android.content.ContentResolver;
@@ -24,11 +28,14 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.database.ContentObserver;
import android.net.Uri;
+import android.opengl.Matrix;
import android.os.Handler;
import android.os.Looper;
import android.os.UserHandle;
import android.provider.Settings.Secure;
+import android.util.MathUtils;
import android.util.Slog;
+import android.view.animation.AnimationUtils;
import com.android.internal.app.NightDisplayController;
import com.android.server.SystemService;
@@ -39,6 +46,8 @@ import com.android.server.twilight.TwilightState;
import java.util.Calendar;
import java.util.TimeZone;
+import static com.android.server.display.DisplayTransformManager.LEVEL_COLOR_MATRIX_NIGHT_DISPLAY;
+
/**
* Tints the display at night.
*/
@@ -58,6 +67,19 @@ public final class NightDisplayService extends SystemService
0, 0, 0, 1
};
+ /**
+ * The identity matrix, used if one of the given matrices is {@code null}.
+ */
+ private static final float[] MATRIX_IDENTITY = new float[16];
+ static {
+ Matrix.setIdentityM(MATRIX_IDENTITY, 0);
+ }
+
+ /**
+ * Evaluator used to animate color matrix transitions.
+ */
+ private static final ColorMatrixEvaluator COLOR_MATRIX_EVALUATOR = new ColorMatrixEvaluator();
+
private final Handler mHandler;
private int mCurrentUser = UserHandle.USER_NULL;
@@ -65,6 +87,7 @@ public final class NightDisplayService extends SystemService
private boolean mBootCompleted;
private NightDisplayController mController;
+ private ValueAnimator mColorMatrixAnimator;
private Boolean mIsActivated;
private AutoMode mAutoMode;
@@ -181,6 +204,11 @@ public final class NightDisplayService extends SystemService
mAutoMode = null;
}
+ if (mColorMatrixAnimator != null) {
+ mColorMatrixAnimator.end();
+ mColorMatrixAnimator = null;
+ }
+
mIsActivated = null;
}
@@ -195,10 +223,49 @@ public final class NightDisplayService extends SystemService
mAutoMode.onActivated(activated);
}
- // Update the current color matrix.
+ // Cancel the old animator if still running.
+ if (mColorMatrixAnimator != null) {
+ mColorMatrixAnimator.cancel();
+ }
+
final DisplayTransformManager dtm = getLocalService(DisplayTransformManager.class);
- dtm.setColorMatrix(DisplayTransformManager.LEVEL_COLOR_MATRIX_NIGHT_DISPLAY,
- activated ? MATRIX_NIGHT : null);
+ final float[] from = dtm.getColorMatrix(LEVEL_COLOR_MATRIX_NIGHT_DISPLAY);
+ final float[] to = mIsActivated ? MATRIX_NIGHT : null;
+
+ mColorMatrixAnimator = ValueAnimator.ofObject(COLOR_MATRIX_EVALUATOR,
+ from == null ? MATRIX_IDENTITY : from, to == null ? MATRIX_IDENTITY : to);
+ mColorMatrixAnimator.setDuration(getContext().getResources()
+ .getInteger(android.R.integer.config_longAnimTime));
+ mColorMatrixAnimator.setInterpolator(AnimationUtils.loadInterpolator(
+ getContext(), android.R.interpolator.fast_out_slow_in));
+ mColorMatrixAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
+ @Override
+ public void onAnimationUpdate(ValueAnimator animator) {
+ final float[] value = (float[]) animator.getAnimatedValue();
+ dtm.setColorMatrix(LEVEL_COLOR_MATRIX_NIGHT_DISPLAY, value);
+ }
+ });
+ mColorMatrixAnimator.addListener(new AnimatorListenerAdapter() {
+
+ private boolean mIsCancelled;
+
+ @Override
+ public void onAnimationCancel(Animator animator) {
+ mIsCancelled = true;
+ }
+
+ @Override
+ public void onAnimationEnd(Animator animator) {
+ if (!mIsCancelled) {
+ // Ensure final color matrix is set at the end of the animation. If the
+ // animation is cancelled then don't set the final color matrix so the new
+ // animator can pick up from where this one left off.
+ dtm.setColorMatrix(LEVEL_COLOR_MATRIX_NIGHT_DISPLAY, to);
+ }
+ mColorMatrixAnimator = null;
+ }
+ });
+ mColorMatrixAnimator.start();
}
}
@@ -394,4 +461,23 @@ public final class NightDisplayService extends SystemService
updateActivated();
}
}
+
+ /**
+ * Interpolates between two 4x4 color transform matrices (in column-major order).
+ */
+ private static class ColorMatrixEvaluator implements TypeEvaluator<float[]> {
+
+ /**
+ * Result matrix returned by {@link #evaluate(float, float[], float[])}.
+ */
+ private final float[] mResultMatrix = new float[16];
+
+ @Override
+ public float[] evaluate(float fraction, float[] startValue, float[] endValue) {
+ for (int i = 0; i < mResultMatrix.length; i++) {
+ mResultMatrix[i] = MathUtils.lerp(startValue[i], endValue[i], fraction);
+ }
+ return mResultMatrix;
+ }
+ }
}
diff --git a/services/core/java/com/android/server/display/OverlayDisplayAdapter.java b/services/core/java/com/android/server/display/OverlayDisplayAdapter.java
index cf6264ace34f..27327d4eb100 100644
--- a/services/core/java/com/android/server/display/OverlayDisplayAdapter.java
+++ b/services/core/java/com/android/server/display/OverlayDisplayAdapter.java
@@ -266,6 +266,11 @@ final class OverlayDisplayAdapter extends DisplayAdapter {
}
@Override
+ public boolean hasStableUniqueId() {
+ return false;
+ }
+
+ @Override
public void performTraversalInTransactionLocked() {
if (mSurfaceTexture != null) {
if (mSurface == null) {
@@ -310,7 +315,7 @@ final class OverlayDisplayAdapter extends DisplayAdapter {
}
@Override
- public void requestColorTransformAndModeInTransactionLocked(int color, int id) {
+ public void requestDisplayModesInTransactionLocked(int color, int id) {
int index = -1;
if (id == 0) {
// Use the default.
diff --git a/services/core/java/com/android/server/display/PersistentDataStore.java b/services/core/java/com/android/server/display/PersistentDataStore.java
index d676b35998d2..5616fb97bad7 100644
--- a/services/core/java/com/android/server/display/PersistentDataStore.java
+++ b/services/core/java/com/android/server/display/PersistentDataStore.java
@@ -27,6 +27,7 @@ import android.hardware.display.WifiDisplay;
import android.util.AtomicFile;
import android.util.Slog;
import android.util.Xml;
+import android.view.Display;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
@@ -35,8 +36,11 @@ import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.io.PrintWriter;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
import libcore.io.IoUtils;
import libcore.util.Objects;
@@ -50,8 +54,13 @@ import libcore.util.Objects;
* &lt;display-manager-state>
* &lt;remembered-wifi-displays>
* &lt;wifi-display deviceAddress="00:00:00:00:00:00" deviceName="XXXX" deviceAlias="YYYY" />
- * &gt;remembered-wifi-displays>
- * &gt;/display-manager-state>
+ * &lt;remembered-wifi-displays>
+ * &lt;display-states>
+ * &lt;display>
+ * &lt;color-mode>0&lt;/color-mode>
+ * &lt;/display>
+ * &lt;/display-states>
+ * &lt;/display-manager-state>
* </code>
*
* TODO: refactor this to extract common code shared with the input manager's data store
@@ -62,6 +71,10 @@ final class PersistentDataStore {
// Remembered Wifi display devices.
private ArrayList<WifiDisplay> mRememberedWifiDisplays = new ArrayList<WifiDisplay>();
+ // Display state by unique id.
+ private final HashMap<String, DisplayState> mDisplayStates =
+ new HashMap<String, DisplayState>();
+
// The atomic file used to safely read or write the file.
private final AtomicFile mAtomicFile;
@@ -168,7 +181,41 @@ final class PersistentDataStore {
return -1;
}
- private void loadIfNeeded() {
+ public int getColorMode(DisplayDevice device) {
+ if (!device.hasStableUniqueId()) {
+ return Display.COLOR_MODE_DEFAULT;
+ }
+ DisplayState state = getDisplayState(device.getUniqueId(), false);
+ if (state == null) {
+ return Display.COLOR_MODE_DEFAULT;
+ }
+ return state.getColorMode();
+ }
+
+ public boolean setColorMode(DisplayDevice device, int colorMode) {
+ if (!device.hasStableUniqueId()) {
+ return false;
+ }
+ DisplayState state = getDisplayState(device.getUniqueId(), true);
+ if (state.setColorMode(colorMode)) {
+ setDirty();
+ return true;
+ }
+ return false;
+ }
+
+ private DisplayState getDisplayState(String uniqueId, boolean createIfAbsent) {
+ loadIfNeeded();
+ DisplayState state = mDisplayStates.get(uniqueId);
+ if (state == null && createIfAbsent) {
+ state = new DisplayState();
+ mDisplayStates.put(uniqueId, state);
+ setDirty();
+ }
+ return state;
+ }
+
+ public void loadIfNeeded() {
if (!mLoaded) {
load();
mLoaded = true;
@@ -240,6 +287,9 @@ final class PersistentDataStore {
if (parser.getName().equals("remembered-wifi-displays")) {
loadRememberedWifiDisplaysFromXml(parser);
}
+ if (parser.getName().equals("display-states")) {
+ loadDisplaysFromXml(parser);
+ }
}
}
@@ -267,6 +317,27 @@ final class PersistentDataStore {
}
}
+ private void loadDisplaysFromXml(XmlPullParser parser)
+ throws IOException, XmlPullParserException {
+ final int outerDepth = parser.getDepth();
+ while (XmlUtils.nextElementWithin(parser, outerDepth)) {
+ if (parser.getName().equals("display")) {
+ String uniqueId = parser.getAttributeValue(null, "unique-id");
+ if (uniqueId == null) {
+ throw new XmlPullParserException(
+ "Missing unique-id attribute on display.");
+ }
+ if (mDisplayStates.containsKey(uniqueId)) {
+ throw new XmlPullParserException("Found duplicate display.");
+ }
+
+ DisplayState state = new DisplayState();
+ state.loadFromXml(parser);
+ mDisplayStates.put(uniqueId, state);
+ }
+ }
+ }
+
private void saveToXml(XmlSerializer serializer) throws IOException {
serializer.startDocument(null, true);
serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
@@ -282,7 +353,72 @@ final class PersistentDataStore {
serializer.endTag(null, "wifi-display");
}
serializer.endTag(null, "remembered-wifi-displays");
+ serializer.startTag(null, "display-states");
+ for (Map.Entry<String, DisplayState> entry : mDisplayStates.entrySet()) {
+ final String uniqueId = entry.getKey();
+ final DisplayState state = entry.getValue();
+ serializer.startTag(null, "display");
+ serializer.attribute(null, "unique-id", uniqueId);
+ state.saveToXml(serializer);
+ serializer.endTag(null, "display");
+ }
+ serializer.endTag(null, "display-states");
serializer.endTag(null, "display-manager-state");
serializer.endDocument();
}
+
+ public void dump(PrintWriter pw) {
+ pw.println("PersistentDataStore");
+ pw.println(" mLoaded=" + mLoaded);
+ pw.println(" mDirty=" + mDirty);
+ pw.println(" RememberedWifiDisplays:");
+ int i = 0;
+ for (WifiDisplay display : mRememberedWifiDisplays) {
+ pw.println(" " + i++ + ": " + display);
+ }
+ pw.println(" DisplayStates:");
+ i = 0;
+ for (Map.Entry<String, DisplayState> entry : mDisplayStates.entrySet()) {
+ pw.println(" " + i++ + ": " + entry.getKey());
+ entry.getValue().dump(pw, " ");
+ }
+ }
+
+ private static final class DisplayState {
+ private int mColorMode;
+
+ public boolean setColorMode(int colorMode) {
+ if (colorMode == mColorMode) {
+ return false;
+ }
+ mColorMode = colorMode;
+ return true;
+ }
+
+ public int getColorMode() {
+ return mColorMode;
+ }
+
+ public void loadFromXml(XmlPullParser parser)
+ throws IOException, XmlPullParserException {
+ final int outerDepth = parser.getDepth();
+
+ while (XmlUtils.nextElementWithin(parser, outerDepth)) {
+ if (parser.getName().equals("color-mode")) {
+ String value = parser.nextText();
+ mColorMode = Integer.parseInt(value);
+ }
+ }
+ }
+
+ public void saveToXml(XmlSerializer serializer) throws IOException {
+ serializer.startTag(null, "color-mode");
+ serializer.text(Integer.toString(mColorMode));
+ serializer.endTag(null, "color-mode");
+ }
+
+ private void dump(final PrintWriter pw, final String prefix) {
+ pw.println(prefix + "ColorMode=" + mColorMode);
+ }
+ }
}
diff --git a/services/core/java/com/android/server/display/VirtualDisplayAdapter.java b/services/core/java/com/android/server/display/VirtualDisplayAdapter.java
index 986efd6918b1..9d0fde5f2027 100644
--- a/services/core/java/com/android/server/display/VirtualDisplayAdapter.java
+++ b/services/core/java/com/android/server/display/VirtualDisplayAdapter.java
@@ -225,6 +225,11 @@ final class VirtualDisplayAdapter extends DisplayAdapter {
}
@Override
+ public boolean hasStableUniqueId() {
+ return false;
+ }
+
+ @Override
public Runnable requestDisplayStateLocked(int state, int brightness) {
if (state != mDisplayState) {
mDisplayState = state;
diff --git a/services/core/java/com/android/server/display/WifiDisplayAdapter.java b/services/core/java/com/android/server/display/WifiDisplayAdapter.java
index 64bc7291114b..08c0a1ad8219 100644
--- a/services/core/java/com/android/server/display/WifiDisplayAdapter.java
+++ b/services/core/java/com/android/server/display/WifiDisplayAdapter.java
@@ -602,6 +602,11 @@ final class WifiDisplayAdapter extends DisplayAdapter {
mMode = createMode(width, height, refreshRate);
}
+ @Override
+ public boolean hasStableUniqueId() {
+ return true;
+ }
+
public void destroyLocked() {
if (mSurface != null) {
mSurface.release();
diff --git a/services/core/java/com/android/server/job/JobSchedulerService.java b/services/core/java/com/android/server/job/JobSchedulerService.java
index 8f212db7d90a..9d931467d914 100644
--- a/services/core/java/com/android/server/job/JobSchedulerService.java
+++ b/services/core/java/com/android/server/job/JobSchedulerService.java
@@ -28,6 +28,7 @@ import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
+import android.app.Activity;
import android.app.ActivityManager;
import android.app.ActivityManagerNative;
import android.app.AppGlobals;
@@ -43,7 +44,9 @@ import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
+import android.content.pm.ApplicationInfo;
import android.content.pm.IPackageManager;
+import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ServiceInfo;
import android.content.pm.PackageManager.NameNotFoundException;
@@ -396,10 +399,11 @@ public final class JobSchedulerService extends com.android.server.SystemService
private final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
+ final String action = intent.getAction();
if (DEBUG) {
- Slog.d(TAG, "Receieved: " + intent.getAction());
+ Slog.d(TAG, "Receieved: " + action);
}
- if (Intent.ACTION_PACKAGE_CHANGED.equals(intent.getAction())) {
+ if (Intent.ACTION_PACKAGE_CHANGED.equals(action)) {
// Purge the app's jobs if the whole package was just disabled. When this is
// the case the component name will be a bare package name.
final String pkgName = getPackageName(intent);
@@ -433,7 +437,7 @@ public final class JobSchedulerService extends com.android.server.SystemService
} else {
Slog.w(TAG, "PACKAGE_CHANGED for " + pkgName + " / uid " + pkgUid);
}
- } else if (Intent.ACTION_PACKAGE_REMOVED.equals(intent.getAction())) {
+ } else if (Intent.ACTION_PACKAGE_REMOVED.equals(action)) {
// If this is an outright uninstall rather than the first half of an
// app update sequence, cancel the jobs associated with the app.
if (!intent.getBooleanExtra(Intent.EXTRA_REPLACING, false)) {
@@ -443,12 +447,43 @@ public final class JobSchedulerService extends com.android.server.SystemService
}
cancelJobsForUid(uidRemoved, true);
}
- } else if (Intent.ACTION_USER_REMOVED.equals(intent.getAction())) {
+ } else if (Intent.ACTION_USER_REMOVED.equals(action)) {
final int userId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, 0);
if (DEBUG) {
Slog.d(TAG, "Removing jobs for user: " + userId);
}
cancelJobsForUser(userId);
+ } else if (Intent.ACTION_QUERY_PACKAGE_RESTART.equals(action)) {
+ // Has this package scheduled any jobs, such that we will take action
+ // if it were to be force-stopped?
+ final int pkgUid = intent.getIntExtra(Intent.EXTRA_UID, -1);
+ final String pkgName = intent.getData().getSchemeSpecificPart();
+ if (pkgUid != -1) {
+ List<JobStatus> jobsForUid;
+ synchronized (mLock) {
+ jobsForUid = mJobs.getJobsByUid(pkgUid);
+ }
+ for (int i = jobsForUid.size() - 1; i >= 0; i--) {
+ if (jobsForUid.get(i).getSourcePackageName().equals(pkgName)) {
+ if (DEBUG) {
+ Slog.d(TAG, "Restart query: package " + pkgName + " at uid "
+ + pkgUid + " has jobs");
+ }
+ setResultCode(Activity.RESULT_OK);
+ break;
+ }
+ }
+ }
+ } else if (Intent.ACTION_PACKAGE_RESTARTED.equals(action)) {
+ // possible force-stop
+ final int pkgUid = intent.getIntExtra(Intent.EXTRA_UID, -1);
+ final String pkgName = intent.getData().getSchemeSpecificPart();
+ if (pkgUid != -1) {
+ if (DEBUG) {
+ Slog.d(TAG, "Removing jobs for pkg " + pkgName + " at uid " + pkgUid);
+ }
+ cancelJobsForPackageAndUid(pkgName, pkgUid);
+ }
}
}
};
@@ -583,6 +618,19 @@ public final class JobSchedulerService extends com.android.server.SystemService
}
}
+ void cancelJobsForPackageAndUid(String pkgName, int uid) {
+ List<JobStatus> jobsForUid;
+ synchronized (mLock) {
+ jobsForUid = mJobs.getJobsByUid(uid);
+ }
+ for (int i = jobsForUid.size() - 1; i >= 0; i--) {
+ final JobStatus job = jobsForUid.get(i);
+ if (job.getSourcePackageName().equals(pkgName)) {
+ cancelJobImpl(job, null);
+ }
+ }
+ }
+
/**
* Entry point from client to cancel all jobs originating from their uid.
* This will remove the job from the master list, and cancel the job if it was staged for
@@ -754,6 +802,8 @@ public final class JobSchedulerService extends com.android.server.SystemService
final IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_PACKAGE_REMOVED);
filter.addAction(Intent.ACTION_PACKAGE_CHANGED);
+ filter.addAction(Intent.ACTION_PACKAGE_RESTARTED);
+ filter.addAction(Intent.ACTION_QUERY_PACKAGE_RESTART);
filter.addDataScheme("package");
getContext().registerReceiverAsUser(
mBroadcastReceiver, UserHandle.ALL, filter, null, null);
diff --git a/services/core/java/com/android/server/location/GnssLocationProvider.java b/services/core/java/com/android/server/location/GnssLocationProvider.java
index 173f76fa52f5..7580cf4f0111 100644
--- a/services/core/java/com/android/server/location/GnssLocationProvider.java
+++ b/services/core/java/com/android/server/location/GnssLocationProvider.java
@@ -393,6 +393,15 @@ public class GnssLocationProvider implements LocationProviderInterface {
// SIM/Carrier info.
private final static String SIM_STATE_CHANGED = "android.intent.action.SIM_STATE_CHANGED";
+ // Persist property for LPP_PROFILE
+ private final static String LPP_PROFILE = "persist.sys.gps.lpp";
+
+ // VZW PLMN info
+ private static final String[] VzwMccMncList = {"311480", "310004", "20404"};
+ // corresponding GID1 value, empty string means ignore gid1 match.
+ private static final String[] VzwGid1List = {"", "", "BAE0000000000000"};
+
+
private final PowerManager mPowerManager;
private final AlarmManager mAlarmManager;
private final PendingIntent mWakeupIntent;
@@ -507,14 +516,43 @@ public class GnssLocationProvider implements LocationProviderInterface {
}
};
+ private final boolean isVerizon(String mccMnc, String imsi, String groupId) {
+ if (DEBUG) Log.d(TAG, "simOperator: " + mccMnc);
+ if (!TextUtils.isEmpty(mccMnc) || !TextUtils.isEmpty(imsi)) {
+ for (int i = 0; i < VzwMccMncList.length; i++) {
+ if ((!TextUtils.isEmpty(mccMnc) && mccMnc.equals(VzwMccMncList[i])) ||
+ (!TextUtils.isEmpty(imsi) && imsi.startsWith(VzwMccMncList[i]))) {
+ // check gid too if needed
+ if (TextUtils.isEmpty(VzwGid1List[i]) || VzwGid1List[i].equals(groupId)) {
+ if (DEBUG) Log.d(TAG, "Verizon UICC");
+ return true;
+ }
+ }
+ }
+ }
+ return false;
+ }
+
private void subscriptionOrSimChanged(Context context) {
if (DEBUG) Log.d(TAG, "received SIM related action: ");
TelephonyManager phone = (TelephonyManager)
mContext.getSystemService(Context.TELEPHONY_SERVICE);
String mccMnc = phone.getSimOperator();
+ String imsi = phone.getSubscriberId();
+ String groupId = phone.getGroupIdLevel1();
if (!TextUtils.isEmpty(mccMnc)) {
if (DEBUG) Log.d(TAG, "SIM MCC/MNC is available: " + mccMnc);
synchronized (mLock) {
+ if (isVerizon(mccMnc, imsi, groupId)) {
+ // load current properties for carrier VZW
+ loadPropertiesFromResource(context, mProperties);
+ String lpp_profile = mProperties.getProperty("LPP_PROFILE");
+ // set the persist property LPP_PROFILE for VZW
+ SystemProperties.set(LPP_PROFILE, lpp_profile);
+ } else {
+ // reset the persist property for Non VZW
+ SystemProperties.set(LPP_PROFILE, "");
+ }
reloadGpsProperties(context, mProperties);
mNIHandler.setSuplEsEnabled(mSuplEsEnabled);
}
@@ -571,8 +609,10 @@ public class GnssLocationProvider implements LocationProviderInterface {
private void reloadGpsProperties(Context context, Properties properties) {
if (DEBUG) Log.d(TAG, "Reset GPS properties, previous size = " + properties.size());
loadPropertiesFromResource(context, properties);
+
boolean isPropertiesLoadedFromFile = false;
final String gpsHardware = SystemProperties.get("ro.hardware.gps");
+
if (!TextUtils.isEmpty(gpsHardware)) {
final String propFilename =
PROPERTIES_FILE_PREFIX + "." + gpsHardware + PROPERTIES_FILE_SUFFIX;
@@ -583,7 +623,11 @@ public class GnssLocationProvider implements LocationProviderInterface {
loadPropertiesFromFile(DEFAULT_PROPERTIES_FILE, properties);
}
if (DEBUG) Log.d(TAG, "GPS properties reloaded, size = " + properties.size());
-
+ String lpp_prof = SystemProperties.get(LPP_PROFILE);
+ if (!TextUtils.isEmpty(lpp_prof)) {
+ // override default value of this if lpp_prof is not empty
+ properties.setProperty("LPP_PROFILE", lpp_prof);
+ }
// TODO: we should get rid of C2K specific setting.
setSuplHostPort(properties.getProperty("SUPL_HOST"),
properties.getProperty("SUPL_PORT"));
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index cbd0769fdf68..8b5942c85e4b 100644
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -58,6 +58,7 @@ import android.app.Notification;
import android.app.NotificationManager;
import android.app.NotificationManager.Policy;
import android.app.PendingIntent;
+import android.app.RemoteInput;
import android.app.StatusBarManager;
import android.app.backup.BackupManager;
import android.app.usage.UsageEvents;
@@ -92,6 +93,7 @@ import android.os.IBinder;
import android.os.IInterface;
import android.os.Looper;
import android.os.Message;
+import android.os.Parcelable;
import android.os.Process;
import android.os.RemoteException;
import android.os.SystemClock;
@@ -120,8 +122,6 @@ import android.util.Log;
import android.util.Slog;
import android.util.SparseArray;
import android.util.Xml;
-import android.view.WindowManager;
-import android.view.WindowManagerInternal;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityManager;
import android.widget.Toast;
@@ -232,7 +232,6 @@ public class NotificationManagerService extends SystemService {
@Nullable StatusBarManagerInternal mStatusBar;
Vibrator mVibrator;
private VrManagerInternal mVrManagerInternal;
- private WindowManagerInternal mWindowManagerInternal;
final IBinder mForegroundToken = new Binder();
private Handler mHandler;
@@ -453,15 +452,13 @@ public class NotificationManagerService extends SystemService {
final String pkg;
final ITransientNotification callback;
int duration;
- Binder token;
- ToastRecord(int pid, String pkg, ITransientNotification callback, int duration,
- Binder token) {
+ ToastRecord(int pid, String pkg, ITransientNotification callback, int duration)
+ {
this.pid = pid;
this.pkg = pkg;
this.callback = callback;
this.duration = duration;
- this.token = token;
}
void update(int duration) {
@@ -1128,7 +1125,6 @@ public class NotificationManagerService extends SystemService {
mAudioManager = (AudioManager) getContext().getSystemService(Context.AUDIO_SERVICE);
mAudioManagerInternal = getLocalService(AudioManagerInternal.class);
mVrManagerInternal = getLocalService(VrManagerInternal.class);
- mWindowManagerInternal = LocalServices.getService(WindowManagerInternal.class);
mZenModeHelper.onSystemReady();
} else if (phase == SystemService.PHASE_THIRD_PARTY_APPS_CAN_START) {
// This observer will force an update when observe is called, causing us to
@@ -1329,13 +1325,10 @@ public class NotificationManagerService extends SystemService {
}
}
- Binder token = new Binder();
- mWindowManagerInternal.addWindowToken(token,
- WindowManager.LayoutParams.TYPE_TOAST);
- record = new ToastRecord(callingPid, pkg, callback, duration, token);
+ record = new ToastRecord(callingPid, pkg, callback, duration);
mToastQueue.add(record);
index = mToastQueue.size() - 1;
- keepProcessAliveIfNeededLocked(callingPid);
+ keepProcessAliveLocked(callingPid);
}
// If it's at index 0, it's the current toast. It doesn't matter if it's
// new or just been updated. Call back and tell it to show itself.
@@ -2994,7 +2987,7 @@ public class NotificationManagerService extends SystemService {
while (record != null) {
if (DBG) Slog.d(TAG, "Show pkg=" + record.pkg + " callback=" + record.callback);
try {
- record.callback.show(record.token);
+ record.callback.show();
scheduleTimeoutLocked(record);
return;
} catch (RemoteException e) {
@@ -3005,7 +2998,7 @@ public class NotificationManagerService extends SystemService {
if (index >= 0) {
mToastQueue.remove(index);
}
- keepProcessAliveIfNeededLocked(record.pid);
+ keepProcessAliveLocked(record.pid);
if (mToastQueue.size() > 0) {
record = mToastQueue.get(0);
} else {
@@ -3025,11 +3018,8 @@ public class NotificationManagerService extends SystemService {
// don't worry about this, we're about to remove it from
// the list anyway
}
-
- ToastRecord lastToast = mToastQueue.remove(index);
- mWindowManagerInternal.removeWindowToken(lastToast.token, true);
-
- keepProcessAliveIfNeededLocked(record.pid);
+ mToastQueue.remove(index);
+ keepProcessAliveLocked(record.pid);
if (mToastQueue.size() > 0) {
// Show the next one. If the callback fails, this will remove
// it from the list, so don't assume that the list hasn't changed
@@ -3073,7 +3063,7 @@ public class NotificationManagerService extends SystemService {
}
// lock on mToastQueue
- void keepProcessAliveIfNeededLocked(int pid)
+ void keepProcessAliveLocked(int pid)
{
int toastCount = 0; // toasts from this pid
ArrayList<ToastRecord> list = mToastQueue;
@@ -3150,6 +3140,12 @@ public class NotificationManagerService extends SystemService {
}
}
+ private void recordCallerLocked(NotificationRecord record) {
+ if (mZenModeHelper.isCall(record)) {
+ mZenModeHelper.recordCaller(record);
+ }
+ }
+
// let zen mode evaluate this record
private void applyZenModeLocked(NotificationRecord record) {
record.setIntercepted(mZenModeHelper.shouldIntercept(record));
@@ -3289,6 +3285,10 @@ public class NotificationManagerService extends SystemService {
}
private void cancelNotificationLocked(NotificationRecord r, boolean sendDelete, int reason) {
+
+ // Record caller.
+ recordCallerLocked(r);
+
// tell the app
if (sendDelete) {
if (r.getNotification().deleteIntent != null) {
diff --git a/services/core/java/com/android/server/notification/ScheduleCalendar.java b/services/core/java/com/android/server/notification/ScheduleCalendar.java
index 22ca7024dd5b..9e8b2e34520b 100644
--- a/services/core/java/com/android/server/notification/ScheduleCalendar.java
+++ b/services/core/java/com/android/server/notification/ScheduleCalendar.java
@@ -82,15 +82,13 @@ public class ScheduleCalendar {
if (end <= start) {
end = addDays(end, 1);
}
- boolean isInSchedule =
- isInSchedule(-1, time, start, end) || isInSchedule(0, time, start, end);
- if (isInSchedule && mSchedule.exitAtAlarm
+ return isInSchedule(-1, time, start, end) || isInSchedule(0, time, start, end);
+ }
+
+ public boolean shouldExitForAlarm(long time) {
+ return mSchedule.exitAtAlarm
&& mSchedule.nextAlarm != 0
- && time >= mSchedule.nextAlarm) {
- return false;
- } else {
- return isInSchedule;
- }
+ && time >= mSchedule.nextAlarm;
}
private boolean isInSchedule(int daysOffset, long time, long start, long end) {
diff --git a/services/core/java/com/android/server/notification/ScheduleConditionProvider.java b/services/core/java/com/android/server/notification/ScheduleConditionProvider.java
index 81975443bf50..32d03ced1be8 100644
--- a/services/core/java/com/android/server/notification/ScheduleConditionProvider.java
+++ b/services/core/java/com/android/server/notification/ScheduleConditionProvider.java
@@ -25,11 +25,15 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.Uri;
+import android.os.Binder;
+import android.provider.Settings;
import android.service.notification.Condition;
import android.service.notification.IConditionProvider;
import android.service.notification.ZenModeConfig;
import android.service.notification.ZenModeConfig.ScheduleInfo;
+import android.text.TextUtils;
import android.util.ArrayMap;
+import android.util.ArraySet;
import android.util.Log;
import android.util.Slog;
@@ -53,9 +57,13 @@ public class ScheduleConditionProvider extends SystemConditionProviderService {
private static final String ACTION_EVALUATE = SIMPLE_NAME + ".EVALUATE";
private static final int REQUEST_CODE_EVALUATE = 1;
private static final String EXTRA_TIME = "time";
+ private static final String SEPARATOR = ";";
+ private static final String SCP_SETTING = "snoozed_schedule_condition_provider";
+
private final Context mContext = this;
private final ArrayMap<Uri, ScheduleCalendar> mSubscriptions = new ArrayMap<>();
+ private ArraySet<Uri> mSnoozed = new ArraySet<>();
private AlarmManager mAlarmManager;
private boolean mConnected;
@@ -90,6 +98,7 @@ public class ScheduleConditionProvider extends SystemConditionProviderService {
pw.print(" ");
pw.println(mSubscriptions.get(conditionId).toString());
}
+ pw.println(" snoozed due to alarm: " + TextUtils.join(SEPARATOR, mSnoozed));
dumpUpcomingTime(pw, "mNextAlarmTime", mNextAlarmTime, now);
}
@@ -97,6 +106,7 @@ public class ScheduleConditionProvider extends SystemConditionProviderService {
public void onConnected() {
if (DEBUG) Slog.d(TAG, "onConnected");
mConnected = true;
+ readSnoozed();
}
@Override
@@ -126,6 +136,7 @@ public class ScheduleConditionProvider extends SystemConditionProviderService {
public void onUnsubscribe(Uri conditionId) {
if (DEBUG) Slog.d(TAG, "onUnsubscribe " + conditionId);
mSubscriptions.remove(conditionId);
+ removeSnoozed(conditionId);
evaluateSubscriptions();
}
@@ -150,10 +161,16 @@ public class ScheduleConditionProvider extends SystemConditionProviderService {
for (Uri conditionId : mSubscriptions.keySet()) {
final ScheduleCalendar cal = mSubscriptions.get(conditionId);
if (cal != null && cal.isInSchedule(now)) {
- notifyCondition(conditionId, Condition.STATE_TRUE, "meetsSchedule");
+ if (conditionSnoozed(conditionId) || cal.shouldExitForAlarm(now)) {
+ notifyCondition(conditionId, Condition.STATE_FALSE, "alarmCanceled");
+ addSnoozed(conditionId);
+ } else {
+ notifyCondition(conditionId, Condition.STATE_TRUE, "meetsSchedule");
+ }
cal.maybeSetNextAlarm(now, nextUserAlarmTime);
} else {
notifyCondition(conditionId, Condition.STATE_FALSE, "!meetsSchedule");
+ removeSnoozed(conditionId);
if (nextUserAlarmTime == 0) {
cal.maybeSetNextAlarm(now, nextUserAlarmTime);
}
@@ -194,7 +211,7 @@ public class ScheduleConditionProvider extends SystemConditionProviderService {
return info != null ? info.getTriggerTime() : 0;
}
- private static boolean meetsSchedule(ScheduleCalendar cal, long time) {
+ private boolean meetsSchedule(ScheduleCalendar cal, long time) {
return cal != null && cal.isInSchedule(time);
}
@@ -237,6 +254,62 @@ public class ScheduleConditionProvider extends SystemConditionProviderService {
return new Condition(id, summary, line1, line2, 0, state, Condition.FLAG_RELEVANT_ALWAYS);
}
+ private boolean conditionSnoozed(Uri conditionId) {
+ synchronized (mSnoozed) {
+ return mSnoozed.contains(conditionId);
+ }
+ }
+
+ private void addSnoozed(Uri conditionId) {
+ synchronized (mSnoozed) {
+ mSnoozed.add(conditionId);
+ saveSnoozedLocked();
+ }
+ }
+
+ private void removeSnoozed(Uri conditionId) {
+ synchronized (mSnoozed) {
+ mSnoozed.remove(conditionId);
+ saveSnoozedLocked();
+ }
+ }
+
+ public void saveSnoozedLocked() {
+ final String setting = TextUtils.join(SEPARATOR, mSnoozed);
+ final int currentUser = ActivityManager.getCurrentUser();
+ Settings.Secure.putStringForUser(mContext.getContentResolver(),
+ SCP_SETTING,
+ setting,
+ currentUser);
+ }
+
+ public void readSnoozed() {
+ synchronized (mSnoozed) {
+ long identity = Binder.clearCallingIdentity();
+ try {
+ final String setting = Settings.Secure.getStringForUser(
+ mContext.getContentResolver(),
+ SCP_SETTING,
+ ActivityManager.getCurrentUser());
+ if (setting != null) {
+ final String[] tokens = setting.split(SEPARATOR);
+ for (int i = 0; i < tokens.length; i++) {
+ String token = tokens[i];
+ if (token != null) {
+ token = token.trim();
+ }
+ if (TextUtils.isEmpty(token)) {
+ continue;
+ }
+ mSnoozed.add(Uri.parse(token));
+ }
+ }
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
+ }
+ }
+
private BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
diff --git a/services/core/java/com/android/server/notification/ZenModeFiltering.java b/services/core/java/com/android/server/notification/ZenModeFiltering.java
index 80dc52349c34..cbaad460b888 100644
--- a/services/core/java/com/android/server/notification/ZenModeFiltering.java
+++ b/services/core/java/com/android/server/notification/ZenModeFiltering.java
@@ -81,7 +81,9 @@ public class ZenModeFiltering {
if (zen == Global.ZEN_MODE_NO_INTERRUPTIONS) return false; // nothing gets through
if (zen == Global.ZEN_MODE_ALARMS) return false; // not an alarm
if (zen == Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS) {
- if (config.allowRepeatCallers && REPEAT_CALLERS.isRepeat(context, extras)) return true;
+ if (config.allowRepeatCallers && REPEAT_CALLERS.isRepeat(context, extras)) {
+ return true;
+ }
if (!config.allowCalls) return false; // no other calls get through
if (validator != null) {
final float contactAffinity = validator.getContactAffinity(userHandle, extras,
@@ -97,6 +99,10 @@ public class ZenModeFiltering {
? record.sbn.getNotification().extras : null;
}
+ protected void recordCall(NotificationRecord record) {
+ REPEAT_CALLERS.recordCall(mContext, extras(record));
+ }
+
public boolean shouldIntercept(int zen, ZenModeConfig config, NotificationRecord record) {
if (isSystem(record)) {
return false;
@@ -233,28 +239,45 @@ public class ZenModeFiltering {
}
private static class RepeatCallers {
+ // Person : time
private final ArrayMap<String, Long> mCalls = new ArrayMap<>();
private int mThresholdMinutes;
+ private synchronized void recordCall(Context context, Bundle extras) {
+ setThresholdMinutes(context);
+ if (mThresholdMinutes <= 0 || extras == null) return;
+ final String peopleString = peopleString(extras);
+ if (peopleString == null) return;
+ final long now = System.currentTimeMillis();
+ cleanUp(mCalls, now);
+ mCalls.put(peopleString, now);
+ }
+
private synchronized boolean isRepeat(Context context, Bundle extras) {
- if (mThresholdMinutes <= 0) {
- mThresholdMinutes = context.getResources().getInteger(com.android.internal.R.integer
- .config_zen_repeat_callers_threshold);
- }
+ setThresholdMinutes(context);
if (mThresholdMinutes <= 0 || extras == null) return false;
final String peopleString = peopleString(extras);
if (peopleString == null) return false;
final long now = System.currentTimeMillis();
- final int N = mCalls.size();
+ cleanUp(mCalls, now);
+ return mCalls.containsKey(peopleString);
+ }
+
+ private synchronized void cleanUp(ArrayMap<String, Long> calls, long now) {
+ final int N = calls.size();
for (int i = N - 1; i >= 0; i--) {
final long time = mCalls.valueAt(i);
if (time > now || (now - time) > mThresholdMinutes * 1000 * 60) {
- mCalls.removeAt(i);
+ calls.removeAt(i);
}
}
- final boolean isRepeat = mCalls.containsKey(peopleString);
- mCalls.put(peopleString, now);
- return isRepeat;
+ }
+
+ private void setThresholdMinutes(Context context) {
+ if (mThresholdMinutes <= 0) {
+ mThresholdMinutes = context.getResources().getInteger(com.android.internal.R.integer
+ .config_zen_repeat_callers_threshold);
+ }
}
private static String peopleString(Bundle extras) {
diff --git a/services/core/java/com/android/server/notification/ZenModeHelper.java b/services/core/java/com/android/server/notification/ZenModeHelper.java
index 8c9dc3ba60f2..c22bfb321a5c 100644
--- a/services/core/java/com/android/server/notification/ZenModeHelper.java
+++ b/services/core/java/com/android/server/notification/ZenModeHelper.java
@@ -139,8 +139,7 @@ public class ZenModeHelper {
ValidateNotificationPeople validator, int contactsTimeoutMs, float timeoutAffinity) {
synchronized (mConfig) {
return ZenModeFiltering.matchesCallFilter(mContext, mZenMode, mConfig, userHandle,
- extras,
- validator, contactsTimeoutMs, timeoutAffinity);
+ extras, validator, contactsTimeoutMs, timeoutAffinity);
}
}
@@ -148,6 +147,10 @@ public class ZenModeHelper {
return mFiltering.isCall(record);
}
+ public void recordCaller(NotificationRecord record) {
+ mFiltering.recordCall(record);
+ }
+
public boolean shouldIntercept(NotificationRecord record) {
synchronized (mConfig) {
return mFiltering.shouldIntercept(mZenMode, mConfig, record);
diff --git a/services/core/java/com/android/server/pm/LauncherAppsService.java b/services/core/java/com/android/server/pm/LauncherAppsService.java
index cff2da9f005c..698e7622b2fa 100644
--- a/services/core/java/com/android/server/pm/LauncherAppsService.java
+++ b/services/core/java/com/android/server/pm/LauncherAppsService.java
@@ -17,7 +17,6 @@
package com.android.server.pm;
import android.annotation.NonNull;
-import android.annotation.Nullable;
import android.annotation.UserIdInt;
import android.app.ActivityManager;
import android.app.ActivityManagerInternal;
@@ -30,7 +29,6 @@ import android.content.pm.ApplicationInfo;
import android.content.pm.ILauncherApps;
import android.content.pm.IOnAppsChangedListener;
import android.content.pm.IPackageManager;
-import android.content.pm.LauncherApps;
import android.content.pm.LauncherApps.ShortcutQuery;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
@@ -454,26 +452,27 @@ public class LauncherAppsService extends SystemService {
ensureShortcutPermission(callingPackage, userId);
}
- final Intent intent = mShortcutServiceInternal.createShortcutIntent(getCallingUserId(),
- callingPackage, packageName, shortcutId, userId);
- if (intent == null) {
+ final Intent[] intents = mShortcutServiceInternal.createShortcutIntents(
+ getCallingUserId(), callingPackage, packageName, shortcutId, userId);
+ if (intents == null || intents.length == 0) {
return false;
}
// Note the target activity doesn't have to be exported.
- prepareIntentForLaunch(intent, sourceBounds);
+ intents[0].setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ intents[0].setSourceBounds(sourceBounds);
- return startShortcutIntentAsPublisher(
- intent, packageName, startActivityOptions, userId);
+ return startShortcutIntentsAsPublisher(
+ intents, packageName, startActivityOptions, userId);
}
- private boolean startShortcutIntentAsPublisher(@NonNull Intent intent,
+ private boolean startShortcutIntentsAsPublisher(@NonNull Intent[] intents,
@NonNull String publisherPackage, Bundle startActivityOptions, int userId) {
final int code;
final long ident = injectClearCallingIdentity();
try {
- code = mActivityManagerInternal.startActivityAsPackage(publisherPackage,
- userId, intent, startActivityOptions);
+ code = mActivityManagerInternal.startActivitiesAsPackage(publisherPackage,
+ userId, intents, startActivityOptions);
if (code >= ActivityManager.START_SUCCESS) {
return true; // Success
} else {
@@ -521,7 +520,9 @@ public class LauncherAppsService extends SystemService {
Intent launchIntent = new Intent(Intent.ACTION_MAIN);
launchIntent.addCategory(Intent.CATEGORY_LAUNCHER);
- prepareIntentForLaunch(launchIntent, sourceBounds);
+ launchIntent.setSourceBounds(sourceBounds);
+ launchIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
+ | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
launchIntent.setPackage(component.getPackageName());
long ident = Binder.clearCallingIdentity();
@@ -562,13 +563,6 @@ public class LauncherAppsService extends SystemService {
}
}
- private void prepareIntentForLaunch(@NonNull Intent launchIntent,
- @Nullable Rect sourceBounds) {
- launchIntent.setSourceBounds(sourceBounds);
- launchIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
- | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
- }
-
@Override
public void showAppDetailsAsUser(ComponentName component, Rect sourceBounds,
Bundle opts, UserHandle user) throws RemoteException {
diff --git a/services/core/java/com/android/server/pm/ShortcutPackage.java b/services/core/java/com/android/server/pm/ShortcutPackage.java
index 7d57f33604d8..51c9619b77ca 100644
--- a/services/core/java/com/android/server/pm/ShortcutPackage.java
+++ b/services/core/java/com/android/server/pm/ShortcutPackage.java
@@ -23,6 +23,7 @@ import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.ShortcutInfo;
import android.content.res.Resources;
+import android.os.Bundle;
import android.os.PersistableBundle;
import android.text.format.Formatter;
import android.util.ArrayMap;
@@ -63,7 +64,8 @@ class ShortcutPackage extends ShortcutPackageItem {
private static final String TAG_VERIFY = ShortcutService.TAG + ".verify";
static final String TAG_ROOT = "package";
- private static final String TAG_INTENT_EXTRAS = "intent-extras";
+ private static final String TAG_INTENT_EXTRAS_LEGACY = "intent-extras";
+ private static final String TAG_INTENT = "intent";
private static final String TAG_EXTRAS = "extras";
private static final String TAG_SHORTCUT = "shortcut";
private static final String TAG_CATEGORIES = "categories";
@@ -82,7 +84,8 @@ class ShortcutPackage extends ShortcutPackageItem {
private static final String ATTR_DISABLED_MESSAGE = "dmessage";
private static final String ATTR_DISABLED_MESSAGE_RES_ID = "dmessageid";
private static final String ATTR_DISABLED_MESSAGE_RES_NAME = "dmessagename";
- private static final String ATTR_INTENT = "intent";
+ private static final String ATTR_INTENT_LEGACY = "intent";
+ private static final String ATTR_INTENT_NO_EXTRA = "intent-base";
private static final String ATTR_RANK = "rank";
private static final String ATTR_TIMESTAMP = "timestamp";
private static final String ATTR_FLAGS = "flags";
@@ -1288,7 +1291,6 @@ class ShortcutPackage extends ShortcutPackageItem {
si.getDisabledMessageResourceId());
ShortcutService.writeAttr(out, ATTR_DISABLED_MESSAGE_RES_NAME,
si.getDisabledMessageResName());
- ShortcutService.writeAttr(out, ATTR_INTENT, si.getIntentNoExtras());
ShortcutService.writeAttr(out, ATTR_TIMESTAMP,
si.getLastChangedTimestamp());
if (forBackup) {
@@ -1317,9 +1319,16 @@ class ShortcutPackage extends ShortcutPackageItem {
out.endTag(null, TAG_CATEGORIES);
}
}
+ final Intent[] intentsNoExtras = si.getIntentsNoExtras();
+ final PersistableBundle[] intentsExtras = si.getIntentPersistableExtrases();
+ final int numIntents = intentsNoExtras.length;
+ for (int i = 0; i < numIntents; i++) {
+ out.startTag(null, TAG_INTENT);
+ ShortcutService.writeAttr(out, ATTR_INTENT_NO_EXTRA, intentsNoExtras[i]);
+ ShortcutService.writeTagExtra(out, TAG_EXTRAS, intentsExtras[i]);
+ out.endTag(null, TAG_INTENT);
+ }
- ShortcutService.writeTagExtra(out, TAG_INTENT_EXTRAS,
- si.getIntentPersistableExtras());
ShortcutService.writeTagExtra(out, TAG_EXTRAS, si.getExtras());
out.endTag(null, TAG_SHORTCUT);
@@ -1382,8 +1391,9 @@ class ShortcutPackage extends ShortcutPackageItem {
String disabledMessage;
int disabledMessageResId;
String disabledMessageResName;
- Intent intent;
- PersistableBundle intentPersistableExtras = null;
+ Intent intentLegacy;
+ PersistableBundle intentPersistableExtrasLegacy = null;
+ ArrayList<Intent> intents = new ArrayList<>();
int rank;
PersistableBundle extras = null;
long lastChangedTimestamp;
@@ -1407,7 +1417,7 @@ class ShortcutPackage extends ShortcutPackageItem {
ATTR_DISABLED_MESSAGE_RES_ID);
disabledMessageResName = ShortcutService.parseStringAttribute(parser,
ATTR_DISABLED_MESSAGE_RES_NAME);
- intent = ShortcutService.parseIntentAttribute(parser, ATTR_INTENT);
+ intentLegacy = ShortcutService.parseIntentAttributeNoDefault(parser, ATTR_INTENT_LEGACY);
rank = (int) ShortcutService.parseLongAttribute(parser, ATTR_RANK);
lastChangedTimestamp = ShortcutService.parseLongAttribute(parser, ATTR_TIMESTAMP);
flags = (int) ShortcutService.parseLongAttribute(parser, ATTR_FLAGS);
@@ -1429,8 +1439,11 @@ class ShortcutPackage extends ShortcutPackageItem {
depth, type, tag));
}
switch (tag) {
- case TAG_INTENT_EXTRAS:
- intentPersistableExtras = PersistableBundle.restoreFromXml(parser);
+ case TAG_INTENT_EXTRAS_LEGACY:
+ intentPersistableExtrasLegacy = PersistableBundle.restoreFromXml(parser);
+ continue;
+ case TAG_INTENT:
+ intents.add(parseIntent(parser));
continue;
case TAG_EXTRAS:
extras = PersistableBundle.restoreFromXml(parser);
@@ -1453,15 +1466,53 @@ class ShortcutPackage extends ShortcutPackageItem {
throw ShortcutService.throwForInvalidTag(depth, tag);
}
+ if (intentLegacy != null) {
+ // For the legacy file format which supported only one intent per shortcut.
+ ShortcutInfo.setIntentExtras(intentLegacy, intentPersistableExtrasLegacy);
+ intents.clear();
+ intents.add(intentLegacy);
+ }
+
return new ShortcutInfo(
userId, id, packageName, activityComponent, /* icon =*/ null,
title, titleResId, titleResName, text, textResId, textResName,
disabledMessage, disabledMessageResId, disabledMessageResName,
- categories, intent,
- intentPersistableExtras, rank, extras, lastChangedTimestamp, flags,
+ categories,
+ intents.toArray(new Intent[intents.size()]),
+ rank, extras, lastChangedTimestamp, flags,
iconResId, iconResName, bitmapPath);
}
+ private static Intent parseIntent(XmlPullParser parser)
+ throws IOException, XmlPullParserException {
+
+ Intent intent = ShortcutService.parseIntentAttribute(parser,
+ ATTR_INTENT_NO_EXTRA);
+
+ final int outerDepth = parser.getDepth();
+ int type;
+ while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
+ && (type != XmlPullParser.END_TAG || parser.getDepth() > outerDepth)) {
+ if (type != XmlPullParser.START_TAG) {
+ continue;
+ }
+ final int depth = parser.getDepth();
+ final String tag = parser.getName();
+ if (ShortcutService.DEBUG_LOAD) {
+ Slog.d(TAG, String.format(" depth=%d type=%d name=%s",
+ depth, type, tag));
+ }
+ switch (tag) {
+ case TAG_EXTRAS:
+ ShortcutInfo.setIntentExtras(intent,
+ PersistableBundle.restoreFromXml(parser));
+ continue;
+ }
+ throw ShortcutService.throwForInvalidTag(depth, tag);
+ }
+ return intent;
+ }
+
@VisibleForTesting
List<ShortcutInfo> getAllShortcutsForTest() {
return new ArrayList<>(mShortcuts.values());
diff --git a/services/core/java/com/android/server/pm/ShortcutPackageInfo.java b/services/core/java/com/android/server/pm/ShortcutPackageInfo.java
index 7f5d931e0b7f..e7b66fca684b 100644
--- a/services/core/java/com/android/server/pm/ShortcutPackageInfo.java
+++ b/services/core/java/com/android/server/pm/ShortcutPackageInfo.java
@@ -171,7 +171,7 @@ class ShortcutPackageInfo {
final int versionCode = ShortcutService.parseIntAttribute(parser, ATTR_VERSION);
- final long lastUpdateTime = ShortcutService.parseIntAttribute(
+ final long lastUpdateTime = ShortcutService.parseLongAttribute(
parser, ATTR_LAST_UPDATE_TIME);
// When restoring from backup, it's always shadow.
diff --git a/services/core/java/com/android/server/pm/ShortcutParser.java b/services/core/java/com/android/server/pm/ShortcutParser.java
index 3f302d67acf6..2a2a4b25b5bf 100644
--- a/services/core/java/com/android/server/pm/ShortcutParser.java
+++ b/services/core/java/com/android/server/pm/ShortcutParser.java
@@ -127,6 +127,7 @@ public class ShortcutParser {
ShortcutInfo currentShortcut = null;
Set<String> categories = null;
+ final ArrayList<Intent> intents = new ArrayList<>();
outer:
while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
@@ -143,9 +144,15 @@ public class ShortcutParser {
final ShortcutInfo si = currentShortcut;
currentShortcut = null; // Make sure to null out for the next iteration.
- if (si.getIntent() == null) {
- Log.e(TAG, "Shortcut " + si.getId() + " has no intent. Skipping it.");
- continue;
+ if (si.isEnabled()) {
+ if (intents.size() == 0) {
+ Log.e(TAG, "Shortcut " + si.getId() + " has no intent. Skipping it.");
+ continue;
+ }
+ } else {
+ // Just set the default intent to disabled shortcuts.
+ intents.clear();
+ intents.add(new Intent(Intent.ACTION_VIEW));
}
if (numShortcuts >= maxShortcuts) {
@@ -153,6 +160,23 @@ public class ShortcutParser {
+ activityInfo.getComponentName() + ". Skipping the rest.");
return result;
}
+
+ // Same flag as what TaskStackBuilder adds.
+ intents.get(0).addFlags(
+ Intent.FLAG_ACTIVITY_NEW_TASK |
+ Intent.FLAG_ACTIVITY_CLEAR_TASK |
+ Intent.FLAG_ACTIVITY_TASK_ON_HOME);
+ try {
+ si.setIntents(intents.toArray(new Intent[intents.size()]));
+ } catch (RuntimeException e) {
+ // This shouldn't happen because intents in XML can't have complicated
+ // extras, but just in case Intent.parseIntent() supports such a thing one
+ // day.
+ Log.e(TAG, "Shortcut's extras contain un-persistable values. Skipping it.");
+ continue;
+ }
+ intents.clear();
+
if (categories != null) {
si.setCategories(categories);
categories = null;
@@ -196,17 +220,12 @@ public class ShortcutParser {
}
}
}
- if (!si.isEnabled()) {
- // Just set the default intent to disabled shortcuts.
- si.setIntent(new Intent(Intent.ACTION_VIEW));
- }
currentShortcut = si;
categories = null;
continue;
}
if (depth == 3 && TAG_INTENT.equals(tag)) {
if ((currentShortcut == null)
- || (currentShortcut.getIntentNoExtras() != null)
|| !currentShortcut.isEnabled()) {
Log.e(TAG, "Ignoring excessive intent tag.");
continue;
@@ -216,17 +235,10 @@ public class ShortcutParser {
parser, attrs);
if (TextUtils.isEmpty(intent.getAction())) {
Log.e(TAG, "Shortcut intent action must be provided. activity=" + activity);
+ currentShortcut = null; // Invalidate the current shortcut.
continue;
}
- try {
- currentShortcut.setIntent(intent);
- } catch (RuntimeException e) {
- // This shouldn't happen because intents in XML can't have complicated
- // extras, but just in case Intent.parseIntent() supports such a thing one
- // day.
- Log.e(TAG, "Shortcut's extras contain un-persistable values. Skipping it.");
- continue;
- }
+ intents.add(intent);
continue;
}
if (depth == 3 && TAG_CATEGORIES.equals(tag)) {
@@ -345,7 +357,6 @@ public class ShortcutParser {
null, // disabled message res name
null, // categories
null, // intent
- null, // intent extras
rank,
null, // extras
service.injectCurrentTimeMillis(),
diff --git a/services/core/java/com/android/server/pm/ShortcutService.java b/services/core/java/com/android/server/pm/ShortcutService.java
index a91e2842261d..185a6a2aadd8 100644
--- a/services/core/java/com/android/server/pm/ShortcutService.java
+++ b/services/core/java/com/android/server/pm/ShortcutService.java
@@ -687,7 +687,7 @@ public class ShortcutService extends IShortcutService.Stub {
}
@Nullable
- static Intent parseIntentAttribute(XmlPullParser parser, String attribute) {
+ static Intent parseIntentAttributeNoDefault(XmlPullParser parser, String attribute) {
final String value = parseStringAttribute(parser, attribute);
Intent parsed = null;
if (!TextUtils.isEmpty(value)) {
@@ -697,6 +697,12 @@ public class ShortcutService extends IShortcutService.Stub {
Slog.e(TAG, "Error parsing intent", e);
}
}
+ return parsed;
+ }
+
+ @Nullable
+ static Intent parseIntentAttribute(XmlPullParser parser, String attribute) {
+ Intent parsed = parseIntentAttributeNoDefault(parser, attribute);
if (parsed == null) {
// Default intent.
parsed = new Intent(Intent.ACTION_VIEW);
@@ -836,12 +842,17 @@ public class ShortcutService extends IShortcutService.Stub {
getLastResetTimeLocked();
}
+ @VisibleForTesting
+ final File getUserFile(@UserIdInt int userId) {
+ return new File(injectUserDataPath(userId), FILENAME_USER_PACKAGES);
+ }
+
private void saveUserLocked(@UserIdInt int userId) {
- final File path = new File(injectUserDataPath(userId), FILENAME_USER_PACKAGES);
+ final File path = getUserFile(userId);
if (DEBUG) {
Slog.d(TAG, "Saving to " + path);
}
- path.mkdirs();
+ path.getParentFile().mkdirs();
final AtomicFile file = new AtomicFile(path);
FileOutputStream os = null;
try {
@@ -884,7 +895,7 @@ public class ShortcutService extends IShortcutService.Stub {
@Nullable
private ShortcutUser loadUserLocked(@UserIdInt int userId) {
- final File path = new File(injectUserDataPath(userId), FILENAME_USER_PACKAGES);
+ final File path = getUserFile(userId);
if (DEBUG) {
Slog.d(TAG, "Loading from " + path);
}
@@ -1460,7 +1471,7 @@ public class ShortcutService extends IShortcutService.Stub {
* Clean up / validate an incoming shortcut.
* - Make sure all mandatory fields are set.
* - Make sure the intent's extras are persistable, and them to set
- * {@link ShortcutInfo#mIntentPersistableExtras}. Also clear its extras.
+ * {@link ShortcutInfo#mIntentPersistableExtrases}. Also clear its extras.
* - Clear flags.
*
* TODO Detailed unit tests
@@ -2240,7 +2251,7 @@ public class ShortcutService extends IShortcutService.Stub {
}
@Override
- public Intent createShortcutIntent(int launcherUserId,
+ public Intent[] createShortcutIntents(int launcherUserId,
@NonNull String callingPackage,
@NonNull String packageName, @NonNull String shortcutId, int userId) {
// Calling permission must be checked by LauncherAppsImpl.
@@ -2259,7 +2270,7 @@ public class ShortcutService extends IShortcutService.Stub {
Log.e(TAG, "Shortcut " + shortcutId + " does not exist or disabled");
return null;
}
- return si.getIntent();
+ return si.getIntents();
}
}
diff --git a/services/core/java/com/android/server/power/Notifier.java b/services/core/java/com/android/server/power/Notifier.java
index 9ccfd67980f5..4e9f5a2b2b52 100644
--- a/services/core/java/com/android/server/power/Notifier.java
+++ b/services/core/java/com/android/server/power/Notifier.java
@@ -194,6 +194,48 @@ final class Notifier {
}
}
+ public void onLongPartialWakeLockStart(String tag, int ownerUid, WorkSource workSource,
+ String historyTag) {
+ if (DEBUG) {
+ Slog.d(TAG, "onLongPartialWakeLockStart: ownerUid=" + ownerUid
+ + ", workSource=" + workSource);
+ }
+
+ try {
+ if (workSource != null) {
+ final int N = workSource.size();
+ for (int i=0; i<N; i++) {
+ mBatteryStats.noteLongPartialWakelockStart(tag, historyTag, workSource.get(i));
+ }
+ } else {
+ mBatteryStats.noteLongPartialWakelockStart(tag, historyTag, ownerUid);
+ }
+ } catch (RemoteException ex) {
+ // Ignore
+ }
+ }
+
+ public void onLongPartialWakeLockFinish(String tag, int ownerUid, WorkSource workSource,
+ String historyTag) {
+ if (DEBUG) {
+ Slog.d(TAG, "onLongPartialWakeLockFinish: ownerUid=" + ownerUid
+ + ", workSource=" + workSource);
+ }
+
+ try {
+ if (workSource != null) {
+ final int N = workSource.size();
+ for (int i=0; i<N; i++) {
+ mBatteryStats.noteLongPartialWakelockFinish(tag, historyTag, workSource.get(i));
+ }
+ } else {
+ mBatteryStats.noteLongPartialWakelockFinish(tag, historyTag, ownerUid);
+ }
+ } catch (RemoteException ex) {
+ // Ignore
+ }
+ }
+
/**
* Called when a wake lock is changing.
*/
diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java
index 12a2d2ef924a..2215cbb90480 100644
--- a/services/core/java/com/android/server/power/PowerManagerService.java
+++ b/services/core/java/com/android/server/power/PowerManagerService.java
@@ -56,6 +56,7 @@ import android.service.dreams.DreamManagerInternal;
import android.service.vr.IVrManager;
import android.service.vr.IVrStateCallbacks;
import android.util.EventLog;
+import android.util.PrintWriterPrinter;
import android.util.Slog;
import android.util.SparseIntArray;
import android.util.TimeUtils;
@@ -73,9 +74,7 @@ import com.android.server.Watchdog;
import com.android.server.am.BatteryStatsService;
import com.android.server.lights.Light;
import com.android.server.lights.LightsManager;
-import com.android.server.vr.VrManagerInternal;
import com.android.server.vr.VrManagerService;
-import com.android.server.vr.VrStateListener;
import libcore.util.Objects;
import java.io.FileDescriptor;
@@ -108,6 +107,8 @@ public final class PowerManagerService extends SystemService
private static final int MSG_SANDMAN = 2;
// Message: Sent when the screen brightness boost expires.
private static final int MSG_SCREEN_BRIGHTNESS_BOOST_TIMEOUT = 3;
+ // Message: Polling to look for long held wake locks.
+ private static final int MSG_CHECK_FOR_LONG_WAKELOCKS = 4;
// Dirty bit: mWakeLocks changed
private static final int DIRTY_WAKE_LOCKS = 1 << 0;
@@ -159,6 +160,9 @@ public final class PowerManagerService extends SystemService
// This should perhaps be a setting.
private static final int SCREEN_BRIGHTNESS_BOOST_TIMEOUT = 5 * 1000;
+ // How long a partial wake lock must be held until we consider it a long wake lock.
+ static final long MIN_LONG_WAKE_CHECK_INTERVAL = 60*1000;
+
// Power hints defined in hardware/libhardware/include/hardware/power.h.
private static final int POWER_HINT_LOW_POWER = 5;
private static final int POWER_HINT_VR_MODE = 7;
@@ -221,6 +225,15 @@ public final class PowerManagerService extends SystemService
// A bitfield that summarizes the state of all active wakelocks.
private int mWakeLockSummary;
+ // Have we scheduled a message to check for long wake locks? This is when we will check.
+ private long mNotifyLongScheduled;
+
+ // Last time we checked for long wake locks.
+ private long mNotifyLongDispatched;
+
+ // The time we decided to do next long check.
+ private long mNotifyLongNextCheck;
+
// If true, instructs the display controller to wait for the proximity sensor to
// go negative before turning the screen on.
private boolean mRequestWaitForNegativeProximity;
@@ -1025,6 +1038,38 @@ public final class PowerManagerService extends SystemService
mNotifier.onWakeLockAcquired(wakeLock.mFlags, wakeLock.mTag, wakeLock.mPackageName,
wakeLock.mOwnerUid, wakeLock.mOwnerPid, wakeLock.mWorkSource,
wakeLock.mHistoryTag);
+ restartNofifyLongTimerLocked(wakeLock);
+ }
+ }
+
+ private void enqueueNotifyLongMsgLocked(long time) {
+ mNotifyLongScheduled = time;
+ Message msg = mHandler.obtainMessage(MSG_CHECK_FOR_LONG_WAKELOCKS);
+ msg.setAsynchronous(true);
+ mHandler.sendMessageAtTime(msg, time);
+ }
+
+ private void restartNofifyLongTimerLocked(WakeLock wakeLock) {
+ wakeLock.mAcquireTime = SystemClock.uptimeMillis();
+ if ((wakeLock.mFlags & PowerManager.WAKE_LOCK_LEVEL_MASK)
+ == PowerManager.PARTIAL_WAKE_LOCK && mNotifyLongScheduled == 0) {
+ enqueueNotifyLongMsgLocked(wakeLock.mAcquireTime + MIN_LONG_WAKE_CHECK_INTERVAL);
+ }
+ }
+
+ private void notifyWakeLockLongStartedLocked(WakeLock wakeLock) {
+ if (mSystemReady && !wakeLock.mDisabled) {
+ wakeLock.mNotifiedLong = true;
+ mNotifier.onLongPartialWakeLockStart(wakeLock.mTag, wakeLock.mOwnerUid,
+ wakeLock.mWorkSource, wakeLock.mHistoryTag);
+ }
+ }
+
+ private void notifyWakeLockLongFinishedLocked(WakeLock wakeLock) {
+ if (wakeLock.mNotifiedLong) {
+ wakeLock.mNotifiedLong = false;
+ mNotifier.onLongPartialWakeLockFinish(wakeLock.mTag, wakeLock.mOwnerUid,
+ wakeLock.mWorkSource, wakeLock.mHistoryTag);
}
}
@@ -1034,15 +1079,23 @@ public final class PowerManagerService extends SystemService
mNotifier.onWakeLockChanging(wakeLock.mFlags, wakeLock.mTag, wakeLock.mPackageName,
wakeLock.mOwnerUid, wakeLock.mOwnerPid, wakeLock.mWorkSource,
wakeLock.mHistoryTag, flags, tag, packageName, uid, pid, ws, historyTag);
+ notifyWakeLockLongFinishedLocked(wakeLock);
+ // Changing the wake lock will count as releasing the old wake lock(s) and
+ // acquiring the new ones... we do this because otherwise once a wakelock
+ // becomes long, if we just continued to treat it as long we can get in to
+ // situations where we spam battery stats with every following change to it.
+ restartNofifyLongTimerLocked(wakeLock);
}
}
private void notifyWakeLockReleasedLocked(WakeLock wakeLock) {
if (mSystemReady && wakeLock.mNotifiedAcquired) {
wakeLock.mNotifiedAcquired = false;
+ wakeLock.mAcquireTime = 0;
mNotifier.onWakeLockReleased(wakeLock.mFlags, wakeLock.mTag,
wakeLock.mPackageName, wakeLock.mOwnerUid, wakeLock.mOwnerPid,
wakeLock.mWorkSource, wakeLock.mHistoryTag);
+ notifyWakeLockLongFinishedLocked(wakeLock);
}
}
@@ -1599,6 +1652,42 @@ public final class PowerManagerService extends SystemService
}
}
+ void checkForLongWakeLocks() {
+ synchronized (mLock) {
+ final long now = SystemClock.uptimeMillis();
+ mNotifyLongDispatched = now;
+ final long when = now - MIN_LONG_WAKE_CHECK_INTERVAL;
+ long nextCheckTime = Long.MAX_VALUE;
+ final int numWakeLocks = mWakeLocks.size();
+ for (int i = 0; i < numWakeLocks; i++) {
+ final WakeLock wakeLock = mWakeLocks.get(i);
+ if ((wakeLock.mFlags & PowerManager.WAKE_LOCK_LEVEL_MASK)
+ == PowerManager.PARTIAL_WAKE_LOCK) {
+ if (wakeLock.mNotifiedAcquired && !wakeLock.mNotifiedLong) {
+ if (wakeLock.mAcquireTime < when) {
+ // This wake lock has exceeded the long acquire time, report!
+ notifyWakeLockLongStartedLocked(wakeLock);
+ } else {
+ // This wake lock could still become a long one, at this time.
+ long checkTime = wakeLock.mAcquireTime + MIN_LONG_WAKE_CHECK_INTERVAL;
+ if (checkTime < nextCheckTime) {
+ nextCheckTime = checkTime;
+ }
+ }
+ }
+ }
+ }
+ mNotifyLongScheduled = 0;
+ mHandler.removeMessages(MSG_CHECK_FOR_LONG_WAKELOCKS);
+ if (nextCheckTime != Long.MAX_VALUE) {
+ mNotifyLongNextCheck = nextCheckTime;
+ enqueueNotifyLongMsgLocked(nextCheckTime);
+ } else {
+ mNotifyLongNextCheck = 0;
+ }
+ }
+ }
+
/**
* Updates the value of mUserActivitySummary to summarize the user requested
* state of the system such as whether the screen should be bright or dim.
@@ -2748,6 +2837,27 @@ public final class PowerManagerService extends SystemService
pw.println(" mHalAutoSuspendModeEnabled=" + mHalAutoSuspendModeEnabled);
pw.println(" mHalInteractiveModeEnabled=" + mHalInteractiveModeEnabled);
pw.println(" mWakeLockSummary=0x" + Integer.toHexString(mWakeLockSummary));
+ pw.print(" mNotifyLongScheduled=");
+ if (mNotifyLongScheduled == 0) {
+ pw.print("(none)");
+ } else {
+ TimeUtils.formatDuration(mNotifyLongScheduled, SystemClock.uptimeMillis(), pw);
+ }
+ pw.println();
+ pw.print(" mNotifyLongDispatched=");
+ if (mNotifyLongDispatched == 0) {
+ pw.print("(none)");
+ } else {
+ TimeUtils.formatDuration(mNotifyLongDispatched, SystemClock.uptimeMillis(), pw);
+ }
+ pw.println();
+ pw.print(" mNotifyLongNextCheck=");
+ if (mNotifyLongNextCheck == 0) {
+ pw.print("(none)");
+ } else {
+ TimeUtils.formatDuration(mNotifyLongNextCheck, SystemClock.uptimeMillis(), pw);
+ }
+ pw.println();
pw.println(" mUserActivitySummary=0x" + Integer.toHexString(mUserActivitySummary));
pw.println(" mRequestWaitForNegativeProximity=" + mRequestWaitForNegativeProximity);
pw.println(" mSandmanScheduled=" + mSandmanScheduled);
@@ -2856,6 +2966,10 @@ public final class PowerManagerService extends SystemService
}
pw.println();
+ pw.println("Looper state:");
+ mHandler.getLooper().dump(new PrintWriterPrinter(pw), " ");
+
+ pw.println();
pw.println("Wake Locks: size=" + mWakeLocks.size());
for (WakeLock wl : mWakeLocks) {
pw.println(" " + wl);
@@ -2984,6 +3098,9 @@ public final class PowerManagerService extends SystemService
case MSG_SCREEN_BRIGHTNESS_BOOST_TIMEOUT:
handleScreenBrightnessBoostTimeout();
break;
+ case MSG_CHECK_FOR_LONG_WAKELOCKS:
+ checkForLongWakeLocks();
+ break;
}
}
}
@@ -3000,7 +3117,9 @@ public final class PowerManagerService extends SystemService
public String mHistoryTag;
public final int mOwnerUid;
public final int mOwnerPid;
+ public long mAcquireTime;
public boolean mNotifiedAcquired;
+ public boolean mNotifiedLong;
public boolean mDisabled;
public WakeLock(IBinder lock, int flags, String tag, String packageName,
@@ -3059,9 +3178,34 @@ public final class PowerManagerService extends SystemService
@Override
public String toString() {
- return getLockLevelString()
- + " '" + mTag + "'" + getLockFlagsString() + (mDisabled ? " DISABLED" : "")
- + " (uid=" + mOwnerUid + ", pid=" + mOwnerPid + ", ws=" + mWorkSource + ")";
+ StringBuilder sb = new StringBuilder();
+ sb.append(getLockLevelString());
+ sb.append(" '");
+ sb.append(mTag);
+ sb.append("'");
+ sb.append(getLockFlagsString());
+ if (mDisabled) {
+ sb.append(" DISABLED");
+ }
+ if (mNotifiedAcquired) {
+ sb.append(" ACQ=");
+ TimeUtils.formatDuration(mAcquireTime-SystemClock.uptimeMillis(), sb);
+ }
+ if (mNotifiedLong) {
+ sb.append(" LONG");
+ }
+ sb.append(" (uid=");
+ sb.append(mOwnerUid);
+ if (mOwnerPid != 0) {
+ sb.append(" pid=");
+ sb.append(mOwnerPid);
+ }
+ if (mWorkSource != null) {
+ sb.append(" ws=");
+ sb.append(mWorkSource);
+ }
+ sb.append(")");
+ return sb.toString();
}
@SuppressWarnings("deprecation")
diff --git a/services/core/java/com/android/server/twilight/TwilightService.java b/services/core/java/com/android/server/twilight/TwilightService.java
index 89e5e5833117..ee7a4a0d5599 100644
--- a/services/core/java/com/android/server/twilight/TwilightService.java
+++ b/services/core/java/com/android/server/twilight/TwilightService.java
@@ -16,18 +16,12 @@
package com.android.server.twilight;
-import com.android.server.SystemService;
-import com.android.server.TwilightCalculator;
-
-import android.app.ActivityManager;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
-import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
-import android.database.ContentObserver;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
@@ -36,64 +30,52 @@ import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.SystemClock;
-import android.os.UserHandle;
-import android.provider.Settings;
-import android.provider.Settings.Secure;
import android.text.format.DateUtils;
import android.text.format.Time;
import android.util.Slog;
+import com.android.internal.annotations.GuardedBy;
+import com.android.server.SystemService;
+import com.android.server.TwilightCalculator;
+
import java.util.ArrayList;
import java.util.Iterator;
-
-import libcore.util.Objects;
+import java.util.List;
+import java.util.Objects;
/**
* Figures out whether it's twilight time based on the user's location.
- *
+ * <p>
* Used by the UI mode manager and other components to adjust night mode
* effects based on sunrise and sunset.
*/
public final class TwilightService extends SystemService {
- static final String TAG = "TwilightService";
- static final boolean DEBUG = false;
- static final String ACTION_UPDATE_TWILIGHT_STATE =
- "com.android.server.action.UPDATE_TWILIGHT_STATE";
- // The amount of time after or before sunrise over which to start adjusting
- // twilight affected things. We want the change to happen gradually so that
- // it is below the threshold of perceptibility and so that the adjustment has
- // maximum effect well after dusk.
- private static final long TWILIGHT_ADJUSTMENT_TIME = DateUtils.HOUR_IN_MILLIS * 2;
-
- // Broadcast when twilight changes.
- public static final String ACTION_TWILIGHT_CHANGED = "android.intent.action.TWILIGHT_CHANGED";
-
- public static final String EXTRA_IS_NIGHT = "isNight";
- public static final String EXTRA_AMOUNT = "amount";
-
- // Amount of time the TwilightService will stay locked in an override state before switching
- // back to auto.
- private static final long RESET_TIME = DateUtils.HOUR_IN_MILLIS * 2;
- private static final String EXTRA_RESET_USER = "user";
+ private static final String TAG = "TwilightService";
+ private static final boolean DEBUG = false;
- private static final String ACTION_RESET_TWILIGHT_AUTO =
- "com.android.server.action.RESET_TWILIGHT_AUTO";
+ private static final String ACTION_UPDATE_TWILIGHT_STATE =
+ "com.android.server.action.UPDATE_TWILIGHT_STATE";
- final Object mLock = new Object();
+ /**
+ * The amount of time after or before sunrise over which to start adjusting twilight affected
+ * things. We want the change to happen gradually so that it is below the threshold of
+ * perceptibility and so that the adjustment has and so that the adjustment has
+ * maximum effect well after dusk.
+ */
+ private static final long TWILIGHT_ADJUSTMENT_TIME = DateUtils.HOUR_IN_MILLIS * 2;
- AlarmManager mAlarmManager;
- LocationManager mLocationManager;
- LocationHandler mLocationHandler;
+ private final Object mLock = new Object();
- final ArrayList<TwilightListenerRecord> mListeners =
- new ArrayList<TwilightListenerRecord>();
+ @GuardedBy("mLock")
+ private final List<TwilightListenerRecord> mListeners = new ArrayList<>();
- TwilightState mTwilightState;
+ private AlarmManager mAlarmManager;
+ private LocationManager mLocationManager;
+ private LocationHandler mLocationHandler;
- private int mCurrentUser;
- private boolean mLocked;
- private boolean mBootCompleted;
+ @GuardedBy("mLock")
+ private TwilightState mTwilightState;
public TwilightService(Context context) {
super(context);
@@ -105,13 +87,11 @@ public final class TwilightService extends SystemService {
mLocationManager = (LocationManager) getContext().getSystemService(
Context.LOCATION_SERVICE);
mLocationHandler = new LocationHandler();
- mCurrentUser = ActivityManager.getCurrentUser();
IntentFilter filter = new IntentFilter(Intent.ACTION_AIRPLANE_MODE_CHANGED);
filter.addAction(Intent.ACTION_TIME_CHANGED);
filter.addAction(Intent.ACTION_TIMEZONE_CHANGED);
filter.addAction(Intent.ACTION_USER_SWITCHED);
- filter.addAction(ACTION_UPDATE_TWILIGHT_STATE);
getContext().registerReceiver(mReceiver, filter);
publishLocalService(TwilightManager.class, mService);
@@ -120,81 +100,29 @@ public final class TwilightService extends SystemService {
@Override
public void onBootPhase(int phase) {
if (phase == PHASE_BOOT_COMPLETED) {
- getContext().getContentResolver().registerContentObserver(
- Secure.getUriFor(Secure.TWILIGHT_MODE), false, mContentObserver, mCurrentUser);
- mContentObserver.onChange(true);
- mBootCompleted = true;
- sendBroadcast();
- }
- }
-
- private void reregisterSettingObserver() {
- final ContentResolver contentResolver = getContext().getContentResolver();
- contentResolver.unregisterContentObserver(mContentObserver);
- contentResolver.registerContentObserver(Secure.getUriFor(Secure.TWILIGHT_MODE), false,
- mContentObserver, mCurrentUser);
- mContentObserver.onChange(true);
- }
-
- private void setLockedState(TwilightState state) {
- synchronized (mLock) {
- // Make sure we aren't locked so we can set the state.
- mLocked = false;
- setTwilightState(state);
- // Make sure we leave the state locked, so it cant be changed.
- mLocked = true;
- // TODO: Don't bother updating state when locked.
+ // Initialize the current twilight state.
+ mLocationHandler.requestTwilightUpdate();
}
}
private void setTwilightState(TwilightState state) {
synchronized (mLock) {
- if (mLocked) {
- // State has been locked by secure setting, shouldn't be changed.
- return;
- }
- if (!Objects.equal(mTwilightState, state)) {
+ if (!Objects.equals(mTwilightState, state)) {
if (DEBUG) {
Slog.d(TAG, "Twilight state changed: " + state);
}
mTwilightState = state;
- final int listenerLen = mListeners.size();
- for (int i = 0; i < listenerLen; i++) {
- mListeners.get(i).postUpdate();
+ for (TwilightListenerRecord mListener : mListeners) {
+ mListener.postUpdate();
}
}
}
- sendBroadcast();
- }
-
- private void sendBroadcast() {
- synchronized (mLock) {
- if (mTwilightState == null) {
- return;
- }
- if (mBootCompleted) {
- Intent intent = new Intent(ACTION_TWILIGHT_CHANGED);
- intent.putExtra(EXTRA_IS_NIGHT, mTwilightState.isNight());
- intent.putExtra(EXTRA_AMOUNT, mTwilightState.getAmount());
- intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY);
- getContext().sendStickyBroadcastAsUser(intent, UserHandle.ALL);
- }
- }
- }
-
- private void scheduleReset() {
- long resetTime = System.currentTimeMillis() + RESET_TIME;
- Intent resetIntent = new Intent(ACTION_RESET_TWILIGHT_AUTO);
- resetIntent.putExtra(EXTRA_RESET_USER, mCurrentUser);
- PendingIntent pendingIntent = PendingIntent.getBroadcast(
- getContext(), 0, resetIntent, 0);
- mAlarmManager.cancel(pendingIntent);
- mAlarmManager.setExact(AlarmManager.RTC, resetTime, pendingIntent);
}
private static class TwilightListenerRecord implements Runnable {
+
private final TwilightListener mListener;
private final Handler mHandler;
@@ -211,15 +139,9 @@ public final class TwilightService extends SystemService {
public void run() {
mListener.onTwilightStateChanged();
}
-
}
private final TwilightManager mService = new TwilightManager() {
- /**
- * Gets the current twilight state.
- *
- * @return The current twilight state, or null if no information is available.
- */
@Override
public TwilightState getCurrentState() {
synchronized (mLock) {
@@ -227,11 +149,6 @@ public final class TwilightService extends SystemService {
}
}
- /**
- * Listens for twilight time.
- *
- * @param listener The listener.
- */
@Override
public void registerListener(TwilightListener listener, Handler handler) {
synchronized (mLock) {
@@ -286,6 +203,7 @@ public final class TwilightService extends SystemService {
}
private final class LocationHandler extends Handler {
+
private static final int MSG_ENABLE_LOCATION_UPDATES = 1;
private static final int MSG_GET_NEW_LOCATION_UPDATE = 2;
private static final int MSG_PROCESS_NEW_LOCATION = 3;
@@ -301,13 +219,14 @@ public final class TwilightService extends SystemService {
private static final double FACTOR_GMT_OFFSET_LONGITUDE =
1000.0 * 360.0 / DateUtils.DAY_IN_MILLIS;
+ private final TwilightCalculator mTwilightCalculator = new TwilightCalculator();
+
private boolean mPassiveListenerEnabled;
private boolean mNetworkListenerEnabled;
private boolean mDidFirstInit;
private long mLastNetworkRegisterTime = -MIN_LOCATION_UPDATE_MS;
private long mLastUpdateInterval;
private Location mLocation;
- private final TwilightCalculator mTwilightCalculator = new TwilightCalculator();
public void processNewLocation(Location location) {
Message msg = obtainMessage(MSG_PROCESS_NEW_LOCATION, location);
@@ -334,14 +253,14 @@ public final class TwilightService extends SystemService {
public void handleMessage(Message msg) {
switch (msg.what) {
case MSG_PROCESS_NEW_LOCATION: {
- final Location location = (Location)msg.obj;
+ final Location location = (Location) msg.obj;
final boolean hasMoved = hasMoved(mLocation, location);
final boolean hasBetterAccuracy = mLocation == null
|| location.getAccuracy() < mLocation.getAccuracy();
if (DEBUG) {
Slog.d(TAG, "Processing new location: " + location
- + ", hasMoved=" + hasMoved
- + ", hasBetterAccuracy=" + hasBetterAccuracy);
+ + ", hasMoved=" + hasMoved
+ + ", hasBetterAccuracy=" + hasBetterAccuracy);
}
if (hasMoved || hasBetterAccuracy) {
setLocation(location);
@@ -373,8 +292,8 @@ public final class TwilightService extends SystemService {
// distance.
boolean networkLocationEnabled;
try {
- networkLocationEnabled =
- mLocationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
+ networkLocationEnabled = mLocationManager.isProviderEnabled(
+ LocationManager.NETWORK_PROVIDER);
} catch (Exception e) {
// we may get IllegalArgumentException if network location provider
// does not exist or is not yet installed.
@@ -398,8 +317,8 @@ public final class TwilightService extends SystemService {
// and network).
boolean passiveLocationEnabled;
try {
- passiveLocationEnabled =
- mLocationManager.isProviderEnabled(LocationManager.PASSIVE_PROVIDER);
+ passiveLocationEnabled = mLocationManager.isProviderEnabled(
+ LocationManager.PASSIVE_PROVIDER);
} catch (Exception e) {
// we may get IllegalArgumentException if passive location provider
// does not exist or is not yet installed.
@@ -409,7 +328,7 @@ public final class TwilightService extends SystemService {
if (!mPassiveListenerEnabled && passiveLocationEnabled) {
mPassiveListenerEnabled = true;
mLocationManager.requestLocationUpdates(LocationManager.PASSIVE_PROVIDER,
- 0, LOCATION_UPDATE_DISTANCE_METER , mLocationListener);
+ 0, LOCATION_UPDATE_DISTANCE_METER, mLocationListener);
}
if (!(mNetworkListenerEnabled && mPassiveListenerEnabled)) {
@@ -444,14 +363,14 @@ public final class TwilightService extends SystemService {
// pick the most recent location
if (location == null || (lastKnownLocation != null &&
location.getElapsedRealtimeNanos() <
- lastKnownLocation.getElapsedRealtimeNanos())) {
+ lastKnownLocation.getElapsedRealtimeNanos())) {
location = lastKnownLocation;
}
}
// In the case there is no location available (e.g. GPS fix or network location
- // is not available yet), the longitude of the location is estimated using the timezone,
- // latitude and accuracy are set to get a good average.
+ // is not available yet), the longitude of the location is estimated using the
+ // timezone, latitude and accuracy are set to get a good average.
if (location == null) {
Time currentTime = new Time();
currentTime.set(System.currentTimeMillis());
@@ -543,58 +462,22 @@ public final class TwilightService extends SystemService {
Slog.d(TAG, "Next update in " + (nextUpdate - now) + " ms");
}
- Intent updateIntent = new Intent(ACTION_UPDATE_TWILIGHT_STATE);
- PendingIntent pendingIntent = PendingIntent.getBroadcast(
- getContext(), 0, updateIntent, 0);
+ final PendingIntent pendingIntent = PendingIntent.getBroadcast(
+ getContext(), 0, new Intent(ACTION_UPDATE_TWILIGHT_STATE), 0);
mAlarmManager.cancel(pendingIntent);
mAlarmManager.setExact(AlarmManager.RTC, nextUpdate, pendingIntent);
}
}
- private final ContentObserver mContentObserver = new ContentObserver(new Handler()) {
- @Override
- public void onChange(boolean selfChange) {
- super.onChange(selfChange);
- int value = Secure.getIntForUser(getContext().getContentResolver(),
- Secure.TWILIGHT_MODE, Secure.TWILIGHT_MODE_AUTO, mCurrentUser);
- if (value == Secure.TWILIGHT_MODE_LOCKED_OFF) {
- setLockedState(new TwilightState(false, 0));
- } else if (value == Secure.TWILIGHT_MODE_LOCKED_ON) {
- setLockedState(new TwilightState(true, 1));
- } else if (value == Secure.TWILIGHT_MODE_AUTO_OVERRIDE_OFF) {
- setLockedState(new TwilightState(false, 0));
- scheduleReset();
- } else if (value == Secure.TWILIGHT_MODE_AUTO_OVERRIDE_ON) {
- setLockedState(new TwilightState(true, 1));
- scheduleReset();
- } else {
- mLocked = false;
- mLocationHandler.requestTwilightUpdate();
- }
- }
- };
-
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
- if (Intent.ACTION_USER_SWITCHED.equals(intent.getAction())) {
- mCurrentUser = ActivityManager.getCurrentUser();
- reregisterSettingObserver();
- return;
- }
if (Intent.ACTION_AIRPLANE_MODE_CHANGED.equals(intent.getAction())
&& !intent.getBooleanExtra("state", false)) {
// Airplane mode is now off!
mLocationHandler.requestLocationUpdate();
return;
}
-
- if (ACTION_RESET_TWILIGHT_AUTO.equals(intent.getAction())) {
- int user = intent.getIntExtra(EXTRA_RESET_USER, 0);
- Settings.Secure.putIntForUser(getContext().getContentResolver(),
- Secure.TWILIGHT_MODE, Secure.TWILIGHT_MODE_AUTO, user);
- return;
- }
// Time zone has changed or alarm expired.
mLocationHandler.requestTwilightUpdate();
}
@@ -602,32 +485,40 @@ public final class TwilightService extends SystemService {
// A LocationListener to initialize the network location provider. The location updates
// are handled through the passive location provider.
- private final LocationListener mEmptyLocationListener = new LocationListener() {
+ private final LocationListener mEmptyLocationListener = new LocationListener() {
+ @Override
public void onLocationChanged(Location location) {
}
- public void onProviderDisabled(String provider) {
+ @Override
+ public void onStatusChanged(String provider, int status, Bundle extras) {
}
+ @Override
public void onProviderEnabled(String provider) {
}
- public void onStatusChanged(String provider, int status, Bundle extras) {
+ @Override
+ public void onProviderDisabled(String provider) {
}
};
private final LocationListener mLocationListener = new LocationListener() {
+ @Override
public void onLocationChanged(Location location) {
mLocationHandler.processNewLocation(location);
}
- public void onProviderDisabled(String provider) {
+ @Override
+ public void onStatusChanged(String provider, int status, Bundle extras) {
}
+ @Override
public void onProviderEnabled(String provider) {
}
- public void onStatusChanged(String provider, int status, Bundle extras) {
+ @Override
+ public void onProviderDisabled(String provider) {
}
};
}
diff --git a/services/core/java/com/android/server/twilight/TwilightState.java b/services/core/java/com/android/server/twilight/TwilightState.java
index 81abc132011a..dec053b83948 100644
--- a/services/core/java/com/android/server/twilight/TwilightState.java
+++ b/services/core/java/com/android/server/twilight/TwilightState.java
@@ -24,6 +24,7 @@ import java.util.Date;
* This object is immutable.
*/
public class TwilightState {
+
private final boolean mIsNight;
private final float mAmount;
diff --git a/services/core/java/com/android/server/vr/EnabledComponentsObserver.java b/services/core/java/com/android/server/vr/EnabledComponentsObserver.java
index 40ee5d88fc8a..7126cb51b57f 100644
--- a/services/core/java/com/android/server/vr/EnabledComponentsObserver.java
+++ b/services/core/java/com/android/server/vr/EnabledComponentsObserver.java
@@ -215,7 +215,11 @@ public class EnabledComponentsObserver implements SettingChangeListener {
*/
public ArraySet<ComponentName> getInstalled(int userId) {
synchronized (mLock) {
- return mInstalledSet.get(userId);
+ ArraySet<ComponentName> ret = mInstalledSet.get(userId);
+ if (ret == null) {
+ return new ArraySet<ComponentName>();
+ }
+ return ret;
}
}
@@ -227,7 +231,12 @@ public class EnabledComponentsObserver implements SettingChangeListener {
*/
public ArraySet<ComponentName> getEnabled(int userId) {
synchronized (mLock) {
- return mEnabledSet.get(userId);
+ ArraySet<ComponentName> ret = mEnabledSet.get(userId);
+ if (ret == null) {
+ return new ArraySet<ComponentName>();
+ }
+ return ret;
+
}
}
diff --git a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
index f7a92fe7d952..75f6120c51e2 100644
--- a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
+++ b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
@@ -487,6 +487,7 @@ public class WallpaperManagerService extends IWallpaperManager.Stub {
final SparseArray<WallpaperData> mWallpaperMap = new SparseArray<WallpaperData>();
final SparseArray<WallpaperData> mLockWallpaperMap = new SparseArray<WallpaperData>();
+ final SparseArray<Boolean> mUserRestorecon = new SparseArray<Boolean>();
int mCurrentUserId;
static class WallpaperData {
@@ -944,26 +945,32 @@ public class WallpaperManagerService extends IWallpaperManager.Stub {
void onUnlockUser(final int userId) {
synchronized (mLock) {
- if (mCurrentUserId == userId && mWaitingForUnlock) {
- switchUser(userId, null);
+ if (mCurrentUserId == userId) {
+ if (mWaitingForUnlock) {
+ // If we're switching users, now is when we transition the wallpaper
+ switchUser(userId, null);
+ }
// Make sure that the SELinux labeling of all the relevant files is correct.
// This corrects for mislabeling bugs that might have arisen from move-to
// operations involving the wallpaper files. This isn't timing-critical,
// so we do it in the background to avoid holding up the user unlock operation.
- Runnable relabeler = new Runnable() {
- @Override
- public void run() {
- final File wallpaperDir = getWallpaperDir(userId);
- for (String filename : sPerUserFiles) {
- File f = new File(wallpaperDir, filename);
- if (f.exists()) {
- SELinux.restorecon(f);
+ if (mUserRestorecon.get(userId) != Boolean.TRUE) {
+ mUserRestorecon.put(userId, Boolean.TRUE);
+ Runnable relabeler = new Runnable() {
+ @Override
+ public void run() {
+ final File wallpaperDir = getWallpaperDir(userId);
+ for (String filename : sPerUserFiles) {
+ File f = new File(wallpaperDir, filename);
+ if (f.exists()) {
+ SELinux.restorecon(f);
+ }
}
}
- }
- };
- BackgroundThread.getHandler().post(relabeler);
+ };
+ BackgroundThread.getHandler().post(relabeler);
+ }
}
}
}
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index f357cd04ebeb..d8a45387c5bf 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -200,7 +200,6 @@ import static android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR;
import static android.view.WindowManager.LayoutParams.TYPE_PRIVATE_PRESENTATION;
import static android.view.WindowManager.LayoutParams.TYPE_QS_DIALOG;
import static android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR;
-import static android.view.WindowManager.LayoutParams.TYPE_TOAST;
import static android.view.WindowManager.LayoutParams.TYPE_VOICE_INTERACTION;
import static android.view.WindowManager.LayoutParams.TYPE_WALLPAPER;
import static android.view.WindowManagerGlobal.RELAYOUT_DEFER_SURFACE_DESTROY;
@@ -1951,11 +1950,6 @@ public class WindowManagerService extends IWindowManager.Stub
+ attrs.token + ". Aborting.");
return WindowManagerGlobal.ADD_BAD_APP_TOKEN;
}
- if (type == TYPE_TOAST) {
- Slog.w(TAG_WM, "Attempted to add a toast window with unknown token "
- + attrs.token + ". Aborting.");
- return WindowManagerGlobal.ADD_BAD_APP_TOKEN;
- }
token = new WindowToken(this, attrs.token, -1, false);
addToken = true;
} else if (type >= FIRST_APPLICATION_WINDOW && type <= LAST_APPLICATION_WINDOW) {
@@ -2005,12 +1999,6 @@ public class WindowManagerService extends IWindowManager.Stub
+ attrs.token + ". Aborting.");
return WindowManagerGlobal.ADD_BAD_APP_TOKEN;
}
- } else if (type == TYPE_TOAST) {
- if (token.windowType != TYPE_TOAST) {
- Slog.w(TAG_WM, "Attempted to add a toast window with bad token "
- + attrs.token + ". Aborting.");
- return WindowManagerGlobal.ADD_BAD_APP_TOKEN;
- }
} else if (type == TYPE_QS_DIALOG) {
if (token.windowType != TYPE_QS_DIALOG) {
Slog.w(TAG_WM, "Attempted to add QS dialog window with bad token "
@@ -9437,7 +9425,7 @@ public class WindowManagerService extends IWindowManager.Stub
if (task != null && task.mStack.getBoundsAnimating()) {
return;
}
- w.setInsetsChanged();
+ w.setReportResizeHints();
boolean configChanged = w.isConfigChanged();
if (DEBUG_CONFIGURATION && configChanged) {
Slog.v(TAG_WM, "Win " + w + " config changed: "
@@ -9449,11 +9437,11 @@ public class WindowManagerService extends IWindowManager.Stub
+ ": configChanged=" + configChanged
+ " dragResizingChanged=" + dragResizingChanged
+ " last=" + w.mLastFrame + " frame=" + w.mFrame);
- w.mLastFrame.set(w.mFrame);
if (w.mContentInsetsChanged
|| w.mVisibleInsetsChanged
|| winAnimator.mSurfaceResized
|| w.mOutsetsChanged
+ || w.mFrameSizeChanged
|| configChanged
|| dragResizingChanged
|| !w.isResizedWhileNotDragResizingReported()) {
@@ -9486,6 +9474,7 @@ public class WindowManagerService extends IWindowManager.Stub
w.mLastVisibleInsets.set(w.mVisibleInsets);
w.mLastStableInsets.set(w.mStableInsets);
w.mLastOutsets.set(w.mOutsets);
+ w.mLastFrame.set(w.mFrame);
makeWindowFreezingScreenIfNeededLocked(w);
// If the orientation is changing, or we're starting or ending
// a drag resizing action, then we need to hold off on unfreezing
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java
index 1ac3d44c7a45..25ad07ef07a7 100644
--- a/services/core/java/com/android/server/wm/WindowState.java
+++ b/services/core/java/com/android/server/wm/WindowState.java
@@ -287,6 +287,7 @@ final class WindowState implements WindowManagerPolicy.WindowState {
// "Real" frame that the application sees, in display coordinate space.
final Rect mFrame = new Rect();
final Rect mLastFrame = new Rect();
+ boolean mFrameSizeChanged = false;
// Frame that is scaled to the application's coordinate space when in
// screen size compatibility mode.
final Rect mCompatFrame = new Rect();
@@ -1055,14 +1056,16 @@ final class WindowState implements WindowManagerPolicy.WindowState {
return mAppToken != null && mAppToken.voiceInteraction;
}
- boolean setInsetsChanged() {
+ boolean setReportResizeHints() {
mOverscanInsetsChanged |= !mLastOverscanInsets.equals(mOverscanInsets);
mContentInsetsChanged |= !mLastContentInsets.equals(mContentInsets);
mVisibleInsetsChanged |= !mLastVisibleInsets.equals(mVisibleInsets);
mStableInsetsChanged |= !mLastStableInsets.equals(mStableInsets);
mOutsetsChanged |= !mLastOutsets.equals(mOutsets);
+ mFrameSizeChanged |= (mLastFrame.width() != mFrame.width()) ||
+ (mLastFrame.height() != mFrame.height());
return mOverscanInsetsChanged || mContentInsetsChanged || mVisibleInsetsChanged
- || mOutsetsChanged;
+ || mOutsetsChanged || mFrameSizeChanged;
}
public DisplayContent getDisplayContent() {
@@ -2344,6 +2347,7 @@ final class WindowState implements WindowManagerPolicy.WindowState {
mVisibleInsetsChanged = false;
mStableInsetsChanged = false;
mOutsetsChanged = false;
+ mFrameSizeChanged = false;
mResizedWhileNotDragResizingReported = true;
mWinAnimator.mSurfaceResized = false;
} catch (RemoteException e) {
diff --git a/services/core/java/com/android/server/wm/WindowSurfacePlacer.java b/services/core/java/com/android/server/wm/WindowSurfacePlacer.java
index e5f972886ccf..0bd5eafa3293 100644
--- a/services/core/java/com/android/server/wm/WindowSurfacePlacer.java
+++ b/services/core/java/com/android/server/wm/WindowSurfacePlacer.java
@@ -974,7 +974,7 @@ class WindowSurfacePlacer {
// windows, since that means "perform layout as normal,
// just don't display").
if (!gone || !win.mHaveFrame || win.mLayoutNeeded
- || ((win.isConfigChanged() || win.setInsetsChanged())
+ || ((win.isConfigChanged() || win.setReportResizeHints())
&& !win.isGoneForLayoutLw() &&
((win.mAttrs.privateFlags & PRIVATE_FLAG_KEYGUARD) != 0 ||
(win.mHasSurface && win.mAppToken != null &&
diff --git a/services/net/java/android/net/ip/RouterAdvertisementDaemon.java b/services/net/java/android/net/ip/RouterAdvertisementDaemon.java
index 53c2fd7ce543..407d315f9973 100644
--- a/services/net/java/android/net/ip/RouterAdvertisementDaemon.java
+++ b/services/net/java/android/net/ip/RouterAdvertisementDaemon.java
@@ -30,7 +30,7 @@ import android.util.Log;
import com.android.internal.annotations.GuardedBy;
-import libcore.io.IoUtils;
+import libcore.io.IoBridge;
import libcore.util.HexEncoding;
import java.io.FileDescriptor;
@@ -457,7 +457,9 @@ public class RouterAdvertisementDaemon {
private void closeSocket() {
if (mSocket != null) {
- IoUtils.closeQuietly(mSocket);
+ try {
+ IoBridge.closeAndSignalBlockedThreads(mSocket);
+ } catch (IOException ignored) {}
}
mSocket = null;
}
diff --git a/services/retaildemo/java/com/android/server/retaildemo/RetailDemoModeService.java b/services/retaildemo/java/com/android/server/retaildemo/RetailDemoModeService.java
index c351e738a04f..1a605929bdc5 100644
--- a/services/retaildemo/java/com/android/server/retaildemo/RetailDemoModeService.java
+++ b/services/retaildemo/java/com/android/server/retaildemo/RetailDemoModeService.java
@@ -26,6 +26,7 @@ import android.app.PendingIntent;
import android.app.RetailDemoModeServiceInternal;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
+import android.content.ContentProvider;
import android.content.ContentResolver;
import android.content.Context;
import android.content.DialogInterface;
@@ -51,8 +52,10 @@ import android.os.Message;
import android.os.PowerManager;
import android.os.RemoteException;
import android.os.SystemClock;
+import android.os.SystemProperties;
import android.os.UserHandle;
import android.os.UserManager;
+import android.provider.CallLog;
import android.provider.MediaStore;
import android.provider.Settings;
import android.util.KeyValueListParser;
@@ -78,6 +81,7 @@ public class RetailDemoModeService extends SystemService {
private static final String DEMO_USER_NAME = "Demo";
private static final String ACTION_RESET_DEMO =
"com.android.server.retaildemo.ACTION_RESET_DEMO";
+ private static final String SYSTEM_PROPERTY_RETAIL_DEMO_ENABLED = "sys.retaildemo.enabled";
private static final int MSG_TURN_SCREEN_ON = 0;
private static final int MSG_INACTIVITY_TIME_OUT = 1;
@@ -220,9 +224,13 @@ public class RetailDemoModeService extends SystemService {
if (mDeviceDemoModeUri.equals(uri)) {
mDeviceInDemoMode = UserManager.isDeviceInDemoMode(getContext());
if (mDeviceInDemoMode) {
+ SystemProperties.set(SYSTEM_PROPERTY_RETAIL_DEMO_ENABLED, "1");
mHandler.sendEmptyMessage(MSG_START_NEW_SESSION);
- } else if (mWakeLock.isHeld()) {
- mWakeLock.release();
+ } else {
+ SystemProperties.set(SYSTEM_PROPERTY_RETAIL_DEMO_ENABLED, "0");
+ if (mWakeLock.isHeld()) {
+ mWakeLock.release();
+ }
}
}
// If device is provisioned and left demo mode - run the cleanup in demo folder
@@ -327,6 +335,8 @@ public class RetailDemoModeService extends SystemService {
um.setUserRestriction(UserManager.DISALLOW_USB_FILE_TRANSFER, true, user);
um.setUserRestriction(UserManager.DISALLOW_MODIFY_ACCOUNTS, true, user);
um.setUserRestriction(UserManager.DISALLOW_CONFIG_BLUETOOTH, true, user);
+ // Set this to false because the default is true on user creation
+ um.setUserRestriction(UserManager.DISALLOW_OUTGOING_CALLS, false, user);
// Disallow rebooting in safe mode - controlled by user 0
getUserManager().setUserRestriction(UserManager.DISALLOW_SAFE_BOOT, true,
UserHandle.SYSTEM);
@@ -335,7 +345,8 @@ public class RetailDemoModeService extends SystemService {
Settings.Secure.putIntForUser(getContext().getContentResolver(),
Settings.Global.PACKAGE_VERIFIER_ENABLE, 0, userInfo.id);
- grantRuntimePermissionToCamera(userInfo.getUserHandle());
+ grantRuntimePermissionToCamera(user);
+ clearPrimaryCallLog();
}
private void grantRuntimePermissionToCamera(UserHandle user) {
@@ -353,7 +364,18 @@ public class RetailDemoModeService extends SystemService {
} catch (Exception e) {
// Ignore
}
+ }
+ private void clearPrimaryCallLog() {
+ final ContentResolver resolver = getContext().getContentResolver();
+
+ // Deleting primary user call log so that it doesn't get copied to the new demo user
+ final Uri uri = CallLog.Calls.CONTENT_URI;
+ try {
+ resolver.delete(uri, null, null);
+ } catch (Exception e) {
+ Slog.w(TAG, "Deleting call log failed: " + e);
+ }
}
void logSessionDuration() {
@@ -470,6 +492,7 @@ public class RetailDemoModeService extends SystemService {
if (UserManager.isDeviceInDemoMode(getContext())) {
mDeviceInDemoMode = true;
+ SystemProperties.set(SYSTEM_PROPERTY_RETAIL_DEMO_ENABLED, "1");
mHandler.sendEmptyMessage(MSG_START_NEW_SESSION);
}
SettingsObserver settingsObserver = new SettingsObserver(mHandler);
diff --git a/services/tests/servicestests/assets/shortcut/shortcut_legacy_file.xml b/services/tests/servicestests/assets/shortcut/shortcut_legacy_file.xml
new file mode 100644
index 000000000000..872dc3a26773
--- /dev/null
+++ b/services/tests/servicestests/assets/shortcut/shortcut_legacy_file.xml
@@ -0,0 +1,25 @@
+<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
+<!-- Copyright (C) 2016 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.
+-->
+<user locales="en-US" last-app-scan-time="3113976673">
+ <package name="com.android.test.1" call-count="0" last-reset="1468976368772">
+ <package-info version="25" last_udpate_time="1230796800000" />
+ <shortcut id="manifest-shortcut-storage" activity="com.android.test.1/com.android.test.1.Settings" title="Storage" titleid="2131625197" titlename="storage_settings" textid="0" dmessageid="0" intent="#Intent;action=android.settings.INTERNAL_STORAGE_SETTINGS;end" timestamp="1469050672334" rank="4" flags="420" icon-res="2130837747" icon-resname="drawable/ic_shortcut_storage" >
+ <intent-extras>
+ <int name="key" value="12345" />
+ </intent-extras>
+ </shortcut>
+ </package>
+</user>
diff --git a/services/tests/servicestests/res/xml/shortcut_error_4.xml b/services/tests/servicestests/res/xml/shortcut_error_4.xml
index 3697bb4144d6..f680e99f98c5 100644
--- a/services/tests/servicestests/res/xml/shortcut_error_4.xml
+++ b/services/tests/servicestests/res/xml/shortcut_error_4.xml
@@ -19,7 +19,9 @@
android:shortcutId="ms1"
android:shortcutShortLabel="@string/shortcut_title1"
>
- <intent android:action="action1" />
+ <intent android:action="action1" >
+ <extra android:name="key1" android:value="value1" />
+ </intent>
</shortcut>
<!-- Invalid: no intent -->
@@ -28,13 +30,17 @@
android:shortcutShortLabel="@string/shortcut_title1"
/>
- <!-- Valid: more than one intent; first one will be picked. -->
+ <!-- Valid: more than one intent -->
<shortcut
android:shortcutId="ms2"
android:shortcutShortLabel="@string/shortcut_title1"
>
- <intent android:action="action2_1" />
- <intent android:action="action2_2" />
+ <intent android:action="action2_1" >
+ <extra android:name="key1" android:value="value1" />
+ </intent>
+ <intent android:action="action2_2">
+ <extra android:name="key2" android:value="value2" />
+ </intent>
</shortcut>
<!-- Valid: disabled shortcut doesn't need an intent -->
@@ -53,11 +59,12 @@
<intent android:action="action4" />
</shortcut>
- <!-- Invalid, no intent action -->
+ <!-- Invalid, no intent action (if any of the intents is invalid, the entire shortcut will be invalid.) -->
<shortcut
android:shortcutId="ms_ignored2"
android:shortcutShortLabel="@string/shortcut_title1"
>
<intent android:data="x"/>
+ <intent android:action="actionx"/>
</shortcut>
</shortcuts>
diff --git a/services/tests/servicestests/src/com/android/server/pm/BaseShortcutManagerTest.java b/services/tests/servicestests/src/com/android/server/pm/BaseShortcutManagerTest.java
index 586425564129..ff1c3b6b8ae0 100644
--- a/services/tests/servicestests/src/com/android/server/pm/BaseShortcutManagerTest.java
+++ b/services/tests/servicestests/src/com/android/server/pm/BaseShortcutManagerTest.java
@@ -34,14 +34,12 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.annotation.NonNull;
-import android.annotation.Nullable;
-import android.annotation.RequiresPermission;
import android.annotation.UserIdInt;
import android.app.Activity;
-import android.app.ActivityManager;
import android.app.ActivityManagerInternal;
import android.app.IUidObserver;
import android.app.usage.UsageStatsManagerInternal;
+import android.content.ActivityNotFoundException;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
@@ -190,11 +188,6 @@ public abstract class BaseShortcutManagerTest extends InstrumentationTestCase {
}
@Override
- public void startActivityAsUser(@RequiresPermission Intent intent, @Nullable Bundle options,
- UserHandle userId) {
- }
-
- @Override
public int getUserId() {
return UserHandle.USER_SYSTEM;
}
@@ -706,17 +699,6 @@ public abstract class BaseShortcutManagerTest extends InstrumentationTestCase {
mUnlockedUsers.put(USER_11, true);
mUnlockedUsers.put(USER_P0, true);
- // Set up mMockActivityManagerInternal.
- // By default, startActivityAsPackage() will simply forward to startActivityAsUser().
- doAnswer(new AnswerWithSystemCheck<>(inv -> {
- mServiceContext.startActivityAsUser(
- (Intent) inv.getArguments()[2],
- (Bundle) inv.getArguments()[3],
- UserHandle.of((Integer) inv.getArguments()[1]));
- return ActivityManager.START_SUCCESS;
- })).when(mMockActivityManagerInternal).startActivityAsPackage(anyString(), anyInt(),
- any(Intent.class), any(Bundle.class));
-
// Set up resources
setUpAppResources();
@@ -1303,6 +1285,35 @@ public abstract class BaseShortcutManagerTest extends InstrumentationTestCase {
return s;
}
+ protected ShortcutInfo makeShortcutWithIntents(String id, Intent... intents) {
+ return makeShortcut(
+ id, "Title-" + id, /* activity =*/ null, /* icon =*/ null,
+ intents, /* rank =*/ 0);
+ }
+
+ /**
+ * Make a shortcut with details.
+ */
+ protected ShortcutInfo makeShortcut(String id, String title, ComponentName activity,
+ Icon icon, Intent[] intents, int rank) {
+ final ShortcutInfo.Builder b = new ShortcutInfo.Builder(mClientContext, id)
+ .setActivity(new ComponentName(mClientContext.getPackageName(), "dummy"))
+ .setShortLabel(title)
+ .setRank(rank)
+ .setIntents(intents);
+ if (icon != null) {
+ b.setIcon(icon);
+ }
+ if (activity != null) {
+ b.setActivity(activity);
+ }
+ final ShortcutInfo s = b.build();
+
+ s.setTimestamp(mInjectedCurrentTimeMillis); // HACK
+
+ return s;
+ }
+
/**
* Make a shortcut with details.
*/
@@ -1388,33 +1399,53 @@ public abstract class BaseShortcutManagerTest extends InstrumentationTestCase {
assertTrue(getPackageShortcut(packageName, shortcutId, userId) == null);
}
- protected Intent launchShortcutAndGetIntent(
+ protected Intent[] launchShortcutAndGetIntentsInner(Runnable shortcutStarter,
@NonNull String packageName, @NonNull String shortcutId, int userId) {
- reset(mServiceContext);
- mLauncherApps.startShortcut(packageName, shortcutId, null, null,
- UserHandle.of(userId));
+ reset(mMockActivityManagerInternal);
+ shortcutStarter.run();
- final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
- verify(mServiceContext).startActivityAsUser(
- intentCaptor.capture(),
- any(Bundle.class),
- eq(UserHandle.of(userId)));
- return intentCaptor.getValue();
+ final ArgumentCaptor<Intent[]> intentsCaptor = ArgumentCaptor.forClass(Intent[].class);
+ verify(mMockActivityManagerInternal).startActivitiesAsPackage(
+ eq(packageName),
+ eq(userId),
+ intentsCaptor.capture(),
+ any(Bundle.class));
+ return intentsCaptor.getValue();
}
- protected Intent launchShortcutAndGetIntent_withShortcutInfo(
+ protected Intent[] launchShortcutAndGetIntents(
+ @NonNull String packageName, @NonNull String shortcutId, int userId) {
+ return launchShortcutAndGetIntentsInner(
+ () -> {
+ mLauncherApps.startShortcut(packageName, shortcutId, null, null,
+ UserHandle.of(userId));
+ }, packageName, shortcutId, userId
+ );
+ }
+
+ protected Intent launchShortcutAndGetIntent(
@NonNull String packageName, @NonNull String shortcutId, int userId) {
- reset(mServiceContext);
+ final Intent[] intents = launchShortcutAndGetIntents(packageName, shortcutId, userId);
+ assertEquals(1, intents.length);
+ return intents[0];
+ }
- mLauncherApps.startShortcut(
- getShortcutInfoAsLauncher(packageName, shortcutId, userId), null, null);
+ protected Intent[] launchShortcutAndGetIntents_withShortcutInfo(
+ @NonNull String packageName, @NonNull String shortcutId, int userId) {
+ return launchShortcutAndGetIntentsInner(
+ () -> {
+ mLauncherApps.startShortcut(
+ getShortcutInfoAsLauncher(packageName, shortcutId, userId), null, null);
+ }, packageName, shortcutId, userId
+ );
+ }
- final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
- verify(mServiceContext).startActivityAsUser(
- intentCaptor.capture(),
- any(Bundle.class),
- eq(UserHandle.of(userId)));
- return intentCaptor.getValue();
+ protected Intent launchShortcutAndGetIntent_withShortcutInfo(
+ @NonNull String packageName, @NonNull String shortcutId, int userId) {
+ final Intent[] intents = launchShortcutAndGetIntents_withShortcutInfo(
+ packageName, shortcutId, userId);
+ assertEquals(1, intents.length);
+ return intents[0];
}
protected void assertShortcutLaunchable(@NonNull String packageName, @NonNull String shortcutId,
@@ -1423,9 +1454,25 @@ public abstract class BaseShortcutManagerTest extends InstrumentationTestCase {
assertNotNull(launchShortcutAndGetIntent_withShortcutInfo(packageName, shortcutId, userId));
}
- protected void assertShortcutNotLaunchable(@NonNull String packageName,
+ protected void assertShortcutNotLaunched(@NonNull String packageName,
+ @NonNull String shortcutId, int userId) {
+ reset(mMockActivityManagerInternal);
+ try {
+ mLauncherApps.startShortcut(packageName, shortcutId, null, null,
+ UserHandle.of(userId));
+ fail("ActivityNotFoundException was not thrown");
+ } catch (ActivityNotFoundException expected) {
+ }
+ // This shouldn't have been called.
+ verify(mMockActivityManagerInternal, times(0)).startActivitiesAsPackage(
+ anyString(),
+ anyInt(),
+ any(Intent[].class),
+ any(Bundle.class));
+ }
+
+ protected void assertStartShortcutThrowsException(@NonNull String packageName,
@NonNull String shortcutId, int userId, Class<?> expectedException) {
- reset(mServiceContext);
Exception thrown = null;
try {
mLauncherApps.startShortcut(packageName, shortcutId, null, null,
@@ -1433,11 +1480,6 @@ public abstract class BaseShortcutManagerTest extends InstrumentationTestCase {
} catch (Exception e) {
thrown = e;
}
- // This shouldn't have been called.
- verify(mServiceContext, times(0)).startActivityAsUser(
- any(Intent.class),
- any(Bundle.class),
- any(UserHandle.class));
assertNotNull("Exception was not thrown", thrown);
assertEquals("Exception type different", expectedException, thrown.getClass());
}
diff --git a/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest1.java b/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest1.java
index 55fa625f2cc4..5206507f898a 100644
--- a/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest1.java
+++ b/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest1.java
@@ -58,10 +58,12 @@ import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.anyString;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.reset;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
import android.Manifest.permission;
import android.app.ActivityManager;
@@ -1681,7 +1683,7 @@ public class ShortcutManagerTest1 extends BaseShortcutManagerTest {
.areAllPinned()
.areAllNotWithKeyFieldsOnly()
.areAllDisabled();
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s2", USER_0,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s2", USER_0,
ActivityNotFoundException.class);
// Here, s4 is still enabled and launchable, but s3 is disabled.
@@ -1698,7 +1700,7 @@ public class ShortcutManagerTest1 extends BaseShortcutManagerTest {
.selectByIds("s4")
.areAllEnabled();
- assertShortcutNotLaunchable(CALLING_PACKAGE_2, "s3", USER_0,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_2, "s3", USER_0,
ActivityNotFoundException.class);
assertShortcutLaunchable(CALLING_PACKAGE_2, "s4", USER_0);
@@ -2130,17 +2132,17 @@ public class ShortcutManagerTest1 extends BaseShortcutManagerTest {
assertShortcutLaunchable(CALLING_PACKAGE_2, "s2", USER_0);
assertShortcutLaunchable(CALLING_PACKAGE_2, "s3", USER_0);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s1", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s1", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s2", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s2", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s3", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s3", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s4", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s4", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s5", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s5", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s6", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s6", USER_10,
SecurityException.class);
});
runWithCaller(LAUNCHER_1, USER_P0, () -> {
@@ -2178,17 +2180,17 @@ public class ShortcutManagerTest1 extends BaseShortcutManagerTest {
assertShortcutLaunchable(CALLING_PACKAGE_2, "s2", USER_0);
assertShortcutLaunchable(CALLING_PACKAGE_2, "s3", USER_0);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s1", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s1", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s2", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s2", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s3", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s3", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s4", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s4", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s5", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s5", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s6", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s6", USER_10,
SecurityException.class);
});
runWithCaller(LAUNCHER_2, USER_P0, () -> {
@@ -2226,17 +2228,17 @@ public class ShortcutManagerTest1 extends BaseShortcutManagerTest {
assertShortcutLaunchable(CALLING_PACKAGE_2, "s2", USER_0);
assertShortcutLaunchable(CALLING_PACKAGE_2, "s3", USER_0);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s1", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s1", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s2", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s2", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s3", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s3", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s4", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s4", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s5", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s5", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s6", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s6", USER_10,
SecurityException.class);
});
runWithCaller(LAUNCHER_2, USER_10, () -> {
@@ -2297,26 +2299,26 @@ public class ShortcutManagerTest1 extends BaseShortcutManagerTest {
"s1", "s2", "s3");
assertShortcutLaunchable(CALLING_PACKAGE_1, "s1", USER_0);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s2", USER_0,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s2", USER_0,
ActivityNotFoundException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s3", USER_0,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s3", USER_0,
ActivityNotFoundException.class);
assertShortcutLaunchable(CALLING_PACKAGE_2, "s1", USER_0);
assertShortcutLaunchable(CALLING_PACKAGE_2, "s2", USER_0);
assertShortcutLaunchable(CALLING_PACKAGE_2, "s3", USER_0);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s1", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s1", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s2", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s2", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s3", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s3", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s4", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s4", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s5", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s5", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s6", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s6", USER_10,
SecurityException.class);
});
runWithCaller(LAUNCHER_1, USER_P0, () -> {
@@ -2348,24 +2350,24 @@ public class ShortcutManagerTest1 extends BaseShortcutManagerTest {
assertShortcutLaunchable(CALLING_PACKAGE_1, "s1", USER_0);
assertShortcutLaunchable(CALLING_PACKAGE_1, "s2", USER_0);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s3", USER_0,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s3", USER_0,
ActivityNotFoundException.class);
assertShortcutLaunchable(CALLING_PACKAGE_2, "s1", USER_0);
assertShortcutLaunchable(CALLING_PACKAGE_2, "s2", USER_0);
assertShortcutLaunchable(CALLING_PACKAGE_2, "s3", USER_0);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s1", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s1", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s2", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s2", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s3", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s3", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s4", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s4", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s5", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s5", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s6", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s6", USER_10,
SecurityException.class);
});
runWithCaller(LAUNCHER_2, USER_P0, () -> {
@@ -2396,26 +2398,26 @@ public class ShortcutManagerTest1 extends BaseShortcutManagerTest {
"s1", "s3");
assertShortcutLaunchable(CALLING_PACKAGE_1, "s1", USER_0);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s2", USER_0,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s2", USER_0,
ActivityNotFoundException.class);
assertShortcutLaunchable(CALLING_PACKAGE_1, "s3", USER_0);
assertShortcutLaunchable(CALLING_PACKAGE_2, "s1", USER_0);
- assertShortcutNotLaunchable(CALLING_PACKAGE_2, "s2", USER_0,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_2, "s2", USER_0,
ActivityNotFoundException.class);
assertShortcutLaunchable(CALLING_PACKAGE_2, "s3", USER_0);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s1", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s1", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s2", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s2", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s3", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s3", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s4", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s4", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s5", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s5", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s6", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s6", USER_10,
SecurityException.class);
});
runWithCaller(LAUNCHER_2, USER_10, () -> {
@@ -2432,28 +2434,28 @@ public class ShortcutManagerTest1 extends BaseShortcutManagerTest {
/* activity =*/ null, PIN_AND_DYNAMIC), HANDLE_USER_10)),
"s1", "s2", "s3");
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s1", USER_0,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s1", USER_0,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s2", USER_0,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s2", USER_0,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s3", USER_0,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s3", USER_0,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_2, "s1", USER_0,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_2, "s1", USER_0,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_2, "s2", USER_0,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_2, "s2", USER_0,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_2, "s3", USER_0,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_2, "s3", USER_0,
SecurityException.class);
assertShortcutLaunchable(CALLING_PACKAGE_1, "s1", USER_10);
assertShortcutLaunchable(CALLING_PACKAGE_1, "s2", USER_10);
assertShortcutLaunchable(CALLING_PACKAGE_1, "s3", USER_10);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s4", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s4", USER_10,
ActivityNotFoundException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s5", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s5", USER_10,
ActivityNotFoundException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s6", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s6", USER_10,
ActivityNotFoundException.class);
});
@@ -2490,26 +2492,26 @@ public class ShortcutManagerTest1 extends BaseShortcutManagerTest {
"s1", "s2", "s3");
assertShortcutLaunchable(CALLING_PACKAGE_1, "s1", USER_0);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s2", USER_0,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s2", USER_0,
ActivityNotFoundException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s3", USER_0,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s3", USER_0,
ActivityNotFoundException.class);
assertShortcutLaunchable(CALLING_PACKAGE_2, "s1", USER_0);
assertShortcutLaunchable(CALLING_PACKAGE_2, "s2", USER_0);
assertShortcutLaunchable(CALLING_PACKAGE_2, "s3", USER_0);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s1", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s1", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s2", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s2", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s3", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s3", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s4", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s4", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s5", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s5", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s6", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s6", USER_10,
SecurityException.class);
});
runWithCaller(LAUNCHER_1, USER_P0, () -> {
@@ -2541,24 +2543,24 @@ public class ShortcutManagerTest1 extends BaseShortcutManagerTest {
assertShortcutLaunchable(CALLING_PACKAGE_1, "s1", USER_0);
assertShortcutLaunchable(CALLING_PACKAGE_1, "s2", USER_0);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s3", USER_0,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s3", USER_0,
ActivityNotFoundException.class);
assertShortcutLaunchable(CALLING_PACKAGE_2, "s1", USER_0);
assertShortcutLaunchable(CALLING_PACKAGE_2, "s2", USER_0);
assertShortcutLaunchable(CALLING_PACKAGE_2, "s3", USER_0);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s1", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s1", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s2", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s2", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s3", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s3", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s4", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s4", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s5", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s5", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s6", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s6", USER_10,
SecurityException.class);
});
runWithCaller(LAUNCHER_2, USER_P0, () -> {
@@ -2589,26 +2591,26 @@ public class ShortcutManagerTest1 extends BaseShortcutManagerTest {
"s1", "s3");
assertShortcutLaunchable(CALLING_PACKAGE_1, "s1", USER_0);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s2", USER_0,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s2", USER_0,
ActivityNotFoundException.class);
assertShortcutLaunchable(CALLING_PACKAGE_1, "s3", USER_0);
assertShortcutLaunchable(CALLING_PACKAGE_2, "s1", USER_0);
- assertShortcutNotLaunchable(CALLING_PACKAGE_2, "s2", USER_0,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_2, "s2", USER_0,
ActivityNotFoundException.class);
assertShortcutLaunchable(CALLING_PACKAGE_2, "s3", USER_0);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s1", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s1", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s2", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s2", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s3", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s3", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s4", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s4", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s5", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s5", USER_10,
SecurityException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s6", USER_10,
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s6", USER_10,
SecurityException.class);
});
}
@@ -2680,10 +2682,8 @@ public class ShortcutManagerTest1 extends BaseShortcutManagerTest {
assertShortcutLaunchable(CALLING_PACKAGE_1, "s3", USER_0);
- assertShortcutNotLaunchable("no-such-package", "s2", USER_0,
- ActivityNotFoundException.class);
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "xxxx", USER_0,
- ActivityNotFoundException.class);
+ assertShortcutNotLaunched("no-such-package", "s2", USER_0);
+ assertShortcutNotLaunched(CALLING_PACKAGE_1, "xxxx", USER_0);
});
// LAUNCHER_1 is no longer the default launcher
@@ -2710,19 +2710,18 @@ public class ShortcutManagerTest1 extends BaseShortcutManagerTest {
// Test inner errors.
runWithCaller(LAUNCHER_1, USER_0, () -> {
// Not launchable.
- doAnswer(new AnswerWithSystemCheck<>(inv -> {
- return ActivityManager.START_CLASS_NOT_FOUND;
- })).when(mMockActivityManagerInternal).startActivityAsPackage(anyString(), anyInt(),
- any(Intent.class), any(Bundle.class));
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s1", USER_0,
+ doReturn(ActivityManager.START_CLASS_NOT_FOUND)
+ .when(mMockActivityManagerInternal).startActivitiesAsPackage(
+ anyString(), anyInt(), any(Intent[].class), any(Bundle.class));
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s1", USER_0,
ActivityNotFoundException.class);
// Still not launchable.
- doAnswer(new AnswerWithSystemCheck<>(inv -> {
- return ActivityManager.START_PERMISSION_DENIED;
- })).when(mMockActivityManagerInternal).startActivityAsPackage(anyString(), anyInt(),
- any(Intent.class), any(Bundle.class));
- assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s1", USER_0,
+ doReturn(ActivityManager.START_CLASS_NOT_FOUND)
+ .when(mMockActivityManagerInternal)
+ .startActivitiesAsPackage(
+ anyString(), anyInt(), any(Intent[].class), any(Bundle.class));
+ assertStartShortcutThrowsException(CALLING_PACKAGE_1, "s1", USER_0,
ActivityNotFoundException.class);
});
@@ -5924,11 +5923,41 @@ public class ShortcutManagerTest1 extends BaseShortcutManagerTest {
.areAllEnabled()
.forShortcutWithId("ms1", si -> {
assertTrue(si.isEnabled());
+ assertEquals(1, si.getIntents().length);
+
assertEquals("action1", si.getIntent().getAction());
+ assertEquals("value1", si.getIntent().getStringExtra("key1"));
+ assertEquals(Intent.FLAG_ACTIVITY_NEW_TASK |
+ Intent.FLAG_ACTIVITY_CLEAR_TASK |
+ Intent.FLAG_ACTIVITY_TASK_ON_HOME, si.getIntent().getFlags());
+
+ assertEquals("action1", si.getIntents()[0].getAction());
+ assertEquals("value1", si.getIntents()[0].getStringExtra("key1"));
+ assertEquals(Intent.FLAG_ACTIVITY_NEW_TASK |
+ Intent.FLAG_ACTIVITY_CLEAR_TASK |
+ Intent.FLAG_ACTIVITY_TASK_ON_HOME, si.getIntents()[0].getFlags());
})
.forShortcutWithId("ms2", si -> {
assertTrue(si.isEnabled());
- assertEquals("action2_1", si.getIntent().getAction());
+ assertEquals(2, si.getIntents().length);
+
+ // getIntent will return the last one.
+ assertEquals("action2_2", si.getIntent().getAction());
+ assertEquals("value2", si.getIntent().getStringExtra("key2"));
+ assertEquals(0, si.getIntent().getFlags());
+
+ final Intent i1 = si.getIntents()[0];
+ final Intent i2 = si.getIntents()[1];
+
+ assertEquals("action2_1", i1.getAction());
+ assertEquals("value1", i1.getStringExtra("key1"));
+ assertEquals(Intent.FLAG_ACTIVITY_NEW_TASK |
+ Intent.FLAG_ACTIVITY_CLEAR_TASK |
+ Intent.FLAG_ACTIVITY_TASK_ON_HOME, i1.getFlags());
+
+ assertEquals("action2_2", i2.getAction());
+ assertEquals("value2", i2.getStringExtra("key2"));
+ assertEquals(0, i2.getFlags());
});
});
@@ -6001,7 +6030,8 @@ public class ShortcutManagerTest1 extends BaseShortcutManagerTest {
assertEquals(si.getId(), "action1", si.getIntent().getAction());
})
.forShortcutWithId("ms2", si -> {
- assertEquals(si.getId(), "action2_1", si.getIntent().getAction());
+ // getIntent returns the last one.
+ assertEquals(si.getId(), "action2_2", si.getIntent().getAction());
})
.forShortcutWithId("ms3", si -> {
assertEquals(si.getId(), Intent.ACTION_VIEW, si.getIntent().getAction());
diff --git a/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest2.java b/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest2.java
index dc70583c2f8f..54b2a15230f7 100644
--- a/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest2.java
+++ b/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest2.java
@@ -48,9 +48,11 @@ import com.android.frameworks.servicestests.R;
import com.android.server.pm.ShortcutService.ConfigConstants;
import java.io.File;
+import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
+import java.io.Writer;
import java.util.Locale;
/**
@@ -90,7 +92,7 @@ public class ShortcutManagerTest2 extends BaseShortcutManagerTest {
assertExpectException(
RuntimeException.class,
- "intent cannot be null",
+ "intents cannot contain null",
() -> new ShortcutInfo.Builder(getTestContext(), "id").setIntent(null));
assertExpectException(
@@ -100,6 +102,12 @@ public class ShortcutManagerTest2 extends BaseShortcutManagerTest {
assertExpectException(
RuntimeException.class,
+ "action must be set",
+ () -> new ShortcutInfo.Builder(getTestContext(), "id")
+ .setIntents(new Intent[]{new Intent("action"), new Intent()}));
+
+ assertExpectException(
+ RuntimeException.class,
"activity cannot be null",
() -> new ShortcutInfo.Builder(getTestContext(), "id").setActivity(null));
@@ -879,11 +887,16 @@ public class ShortcutManagerTest2 extends BaseShortcutManagerTest {
final long now = mInjectedCurrentTimeMillis;
mInjectedCurrentTimeMillis += 1;
+ dumpsysOnLogcat("before save");
+
// Save and load.
mService.saveDirtyInfo();
initService();
mService.handleUnlockUser(USER_10);
+ dumpUserFile(USER_10);
+ dumpsysOnLogcat("after load");
+
ShortcutInfo si;
si = mService.getPackageShortcutForTest(CALLING_PACKAGE_1, "id", USER_10);
@@ -912,6 +925,8 @@ public class ShortcutManagerTest2 extends BaseShortcutManagerTest {
// to test it.
si = mService.getPackageShortcutForTest(CALLING_PACKAGE_1, "id2", USER_10);
assertEquals(1, si.getRank());
+
+ dumpUserFile(USER_10);
}
public void testShortcutInfoSaveAndLoad_resId() throws InterruptedException {
@@ -1133,7 +1148,30 @@ public class ShortcutManagerTest2 extends BaseShortcutManagerTest {
assertEquals(intent.getAction(), si.getIntent().getAction());
assertEquals(intent.getData(), si.getIntent().getData());
assertEquals(intent.getComponent(), si.getIntent().getComponent());
- assertBundlesEqual(intent.getExtras(), si.getExtras());
+ assertBundlesEqual(intent.getExtras(), si.getIntent().getExtras());
+ });
+ }
+
+ private void checkShortcutInfoSaveAndLoad_intents(Intent... intents) {
+ assertTrue(mManager.setDynamicShortcuts(list(
+ makeShortcutWithIntents("s1", intents))));
+ initService();
+ mService.handleUnlockUser(USER_0);
+
+ assertWith(getCallerShortcuts())
+ .haveIds("s1")
+ .forShortcutWithId("s1", si -> {
+
+ final Intent[] actual = si.getIntents();
+ assertEquals(intents.length, actual.length);
+
+ for (int i = 0; i < intents.length; i++) {
+ assertEquals(intents[i].getAction(), actual[i].getAction());
+ assertEquals(intents[i].getData(), actual[i].getData());
+ assertEquals(intents[i].getComponent(), actual[i].getComponent());
+ assertEquals(intents[i].getFlags(), actual[i].getFlags());
+ assertBundlesEqual(intents[i].getExtras(), actual[i].getExtras());
+ }
});
}
@@ -1176,6 +1214,30 @@ public class ShortcutManagerTest2 extends BaseShortcutManagerTest {
.putExtras(makeBundle("a", "b")));
mInjectedCurrentTimeMillis += INTERVAL; // reset throttling.
+
+ // Multi-intents
+ checkShortcutInfoSaveAndLoad_intents(
+ new Intent(Intent.ACTION_MAIN).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK),
+ new Intent(Intent.ACTION_VIEW).setFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT)
+ );
+
+ checkShortcutInfoSaveAndLoad_intents(
+ new Intent(Intent.ACTION_MAIN).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK)
+ .setComponent(new ComponentName("a", "b")),
+ new Intent(Intent.ACTION_VIEW)
+ .setComponent(new ComponentName("a", "b"))
+ );
+
+ checkShortcutInfoSaveAndLoad_intents(
+ new Intent(Intent.ACTION_MAIN)
+ .setComponent(new ComponentName("a", "b")),
+ new Intent(Intent.ACTION_VIEW).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK)
+ .setComponent(new ComponentName("a", "b")),
+ new Intent("xyz").setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK
+ | Intent.FILL_IN_COMPONENT)
+ .setComponent(new ComponentName("a", "b")).putExtras(
+ makeBundle("xx", "yy"))
+ );
}
public void testThrottling() {
@@ -1566,12 +1628,22 @@ public class ShortcutManagerTest2 extends BaseShortcutManagerTest {
ActivityManager.PROCESS_STATE_FOREGROUND_SERVICE);
runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
assertEquals(3, mManager.getRemainingCallCount());
+ assertFalse(mManager.isRateLimitingActive());
mManager.setDynamicShortcuts(list(makeShortcut("s")));
+
+ assertEquals(2, mManager.getRemainingCallCount());
+ assertFalse(mManager.isRateLimitingActive());
+
mManager.setDynamicShortcuts(list(makeShortcut("s")));
+
+ assertEquals(1, mManager.getRemainingCallCount());
+ assertFalse(mManager.isRateLimitingActive());
+
mManager.setDynamicShortcuts(list(makeShortcut("s")));
assertEquals(0, mManager.getRemainingCallCount());
+ assertTrue(mManager.isRateLimitingActive());
});
runWithCaller(CALLING_PACKAGE_2, USER_0, () -> {
assertEquals(3, mManager.getRemainingCallCount());
@@ -1581,6 +1653,7 @@ public class ShortcutManagerTest2 extends BaseShortcutManagerTest {
mManager.setDynamicShortcuts(list(makeShortcut("s")));
assertEquals(0, mManager.getRemainingCallCount());
+ assertTrue(mManager.isRateLimitingActive());
});
runWithCaller(CALLING_PACKAGE_3, USER_0, () -> {
MoreAsserts.assertNotEqual(3, mManager.getRemainingCallCount());
@@ -1590,6 +1663,7 @@ public class ShortcutManagerTest2 extends BaseShortcutManagerTest {
mManager.setDynamicShortcuts(list(makeShortcut("s")));
assertEquals(0, mManager.getRemainingCallCount());
+ assertTrue(mManager.isRateLimitingActive());
});
runWithCaller(CALLING_PACKAGE_4, USER_0, () -> {
MoreAsserts.assertNotEqual(3, mManager.getRemainingCallCount());
@@ -1599,6 +1673,7 @@ public class ShortcutManagerTest2 extends BaseShortcutManagerTest {
mManager.setDynamicShortcuts(list(makeShortcut("s")));
assertEquals(0, mManager.getRemainingCallCount());
+ assertTrue(mManager.isRateLimitingActive());
});
runWithCaller(CALLING_PACKAGE_1, USER_P0, () -> {
MoreAsserts.assertNotEqual(3, mManager.getRemainingCallCount());
@@ -1608,6 +1683,7 @@ public class ShortcutManagerTest2 extends BaseShortcutManagerTest {
mManager.setDynamicShortcuts(list(makeShortcut("s")));
assertEquals(0, mManager.getRemainingCallCount());
+ assertTrue(mManager.isRateLimitingActive());
});
runWithCaller(CALLING_PACKAGE_1, USER_10, () -> {
assertEquals(3, mManager.getRemainingCallCount());
@@ -1617,6 +1693,7 @@ public class ShortcutManagerTest2 extends BaseShortcutManagerTest {
mManager.setDynamicShortcuts(list(makeShortcut("s")));
assertEquals(3, mManager.getRemainingCallCount()); // Still 3!
+ assertFalse(mManager.isRateLimitingActive());
});
}
@@ -1898,4 +1975,28 @@ public class ShortcutManagerTest2 extends BaseShortcutManagerTest {
mService.dump(null, new PrintWriter(new StringWriter()), null);
});
}
+
+ /**
+ * Make sure the legacy file format that only supported a single intent per shortcut
+ * can still be read.
+ */
+ public void testLoadLegacySavedFile() throws Exception {
+ final File path = mService.getUserFile(USER_0);
+ path.getParentFile().mkdirs();
+ try (Writer w = new FileWriter(path)) {
+ w.write(readTestAsset("shortcut/shortcut_legacy_file.xml"));
+ };
+ initService();
+ mService.handleUnlockUser(USER_0);
+
+ runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
+ assertWith(getCallerShortcuts())
+ .haveIds("manifest-shortcut-storage")
+ .forShortcutWithId("manifest-shortcut-storage", si -> {
+ assertEquals("android.settings.INTERNAL_STORAGE_SETTINGS",
+ si.getIntent().getAction());
+ assertEquals(12345, si.getIntent().getIntExtra("key", 0));
+ });
+ });
+ }
}
diff --git a/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest4.java b/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest4.java
index 54c4b22494f1..583c3d41c401 100644
--- a/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest4.java
+++ b/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest4.java
@@ -100,7 +100,7 @@ public class ShortcutManagerTest4 extends BaseShortcutManagerTest {
);
public void testPersistingWeirdCharacters() {
- final Intent intent = new Intent(Intent.ACTION_VIEW)
+ final Intent intent = new Intent(Intent.ACTION_MAIN)
.putExtras(sIntentExtras);
runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
diff --git a/services/tests/shortcutmanagerutils/src/com/android/server/pm/shortcutmanagertest/ShortcutManagerTestUtils.java b/services/tests/shortcutmanagerutils/src/com/android/server/pm/shortcutmanagertest/ShortcutManagerTestUtils.java
index 2f64ad705737..ce7adfa70878 100644
--- a/services/tests/shortcutmanagerutils/src/com/android/server/pm/shortcutmanagertest/ShortcutManagerTestUtils.java
+++ b/services/tests/shortcutmanagerutils/src/com/android/server/pm/shortcutmanagertest/ShortcutManagerTestUtils.java
@@ -861,8 +861,8 @@ public class ShortcutManagerTestUtils {
if (b1 == null && b2 == null) {
return; // pass
}
- assertNotNull(b1);
- assertNotNull(b2);
+ assertNotNull("b1 is null but b2 is not", b1);
+ assertNotNull("b2 is null but b1 is not", b2);
// HashSet makes the error message readable.
assertEquals(set(b1.keySet()), set(b2.keySet()));
@@ -973,7 +973,8 @@ public class ShortcutManagerTestUtils {
waitOnMainThread();
- launcherApps.unregisterCallback(asserter.getMockCallback());
+ // TODO unregister doesn't work well during unit tests. Figure out and fix it.
+ // launcherApps.unregisterCallback(asserter.getMockCallback());
return asserter;
}
diff --git a/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java b/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java
index 3779d8720a9d..e89585ca52fd 100644
--- a/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java
+++ b/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java
@@ -696,8 +696,13 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener {
Slog.w(TAG, "Recognition aborted");
MetricsLogger.count(mContext, "sth_recognition_aborted", 1);
ModelData modelData = getModelDataForLocked(event.soundModelHandle);
- if (modelData != null) {
+ if (modelData != null && modelData.isModelStarted()) {
modelData.setStopped();
+ try {
+ modelData.getCallback().onRecognitionPaused();
+ } catch (RemoteException e) {
+ Slog.w(TAG, "RemoteException in onRecognitionPaused", e);
+ }
}
}
diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java
index 3052cdb20552..bdaf0b74e734 100644
--- a/telephony/java/android/telephony/CarrierConfigManager.java
+++ b/telephony/java/android/telephony/CarrierConfigManager.java
@@ -403,6 +403,13 @@ public class CarrierConfigManager {
"always_show_emergency_alert_onoff_bool";
/**
+ * The flag to disable cell broadcast severe alert when extreme alert is disabled.
+ * @hide
+ */
+ public static final String KEY_DISABLE_SEVERE_WHEN_EXTREME_DISABLED_BOOL =
+ "disable_severe_when_extreme_disabled_bool";
+
+ /**
* The data call APN retry configuration for default type APN.
* @hide
*/
@@ -684,6 +691,8 @@ public class CarrierConfigManager {
public static final String KEY_MMS_UA_PROF_TAG_NAME_STRING = "uaProfTagName";
public static final String KEY_MMS_UA_PROF_URL_STRING = "uaProfUrl";
public static final String KEY_MMS_USER_AGENT_STRING = "userAgent";
+ /** @hide */
+ public static final String KEY_MMS_CLOSE_CONNECTION_BOOL = "mmsCloseConnection";
/**
* If carriers require differentiate un-provisioned status: cold sim or out of credit sim
@@ -837,6 +846,12 @@ public class CarrierConfigManager {
"allow_merge_wifi_calls_when_vowifi_off_bool";
/**
+ * Flag indicating whether the carrier supports the Hold command while in an IMS call.
+ * @hide
+ */
+ public static final String KEY_ALLOW_HOLD_IN_IMS_CALL_BOOL = "allow_hold_in_ims_call";
+
+ /**
* When true, indicates that adding a call is disabled when there is an ongoing video call
* or when there is an ongoing call on wifi which was downgraded from video and VoWifi is
* turned off.
@@ -845,6 +860,20 @@ public class CarrierConfigManager {
"allow_add_call_during_video_call";
/**
+ * When true, indicates that the HD audio icon in the in-call screen should not be shown for
+ * VoWifi calls.
+ * @hide
+ */
+ public static final String KEY_WIFI_CALLS_CAN_BE_HD_AUDIO = "wifi_calls_can_be_hd_audio";
+
+ /**
+ * When true, indicates that the HD audio icon in the in-call screen should not be shown for
+ * video calls.
+ * @hide
+ */
+ public static final String KEY_VIDEO_CALLS_CAN_BE_HD_AUDIO = "video_calls_can_be_hd_audio";
+
+ /**
* Defines operator-specific {@link com.android.ims.ImsReasonInfo} mappings.
*
* Format: "ORIGINAL_CODE|MESSAGE|NEW_CODE"
@@ -868,6 +897,7 @@ public class CarrierConfigManager {
static {
sDefaults = new PersistableBundle();
+ sDefaults.putBoolean(KEY_ALLOW_HOLD_IN_IMS_CALL_BOOL, true);
sDefaults.putBoolean(KEY_ADDITIONAL_CALL_SETTING_BOOL, true);
sDefaults.putBoolean(KEY_ALLOW_EMERGENCY_NUMBERS_IN_CALL_LOG_BOOL, false);
sDefaults.putBoolean(KEY_ALLOW_LOCAL_DTMF_TONES_BOOL, true);
@@ -931,6 +961,7 @@ public class CarrierConfigManager {
sDefaults.putBoolean(KEY_ALLOW_ADDING_APNS_BOOL, true);
sDefaults.putBoolean(KEY_BROADCAST_EMERGENCY_CALL_STATE_CHANGES_BOOL, false);
sDefaults.putBoolean(KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL, false);
+ sDefaults.putBoolean(KEY_DISABLE_SEVERE_WHEN_EXTREME_DISABLED_BOOL, true);
sDefaults.putString(KEY_CARRIER_DATA_CALL_RETRY_CONFIG_DEFAULT_STRING,
"default_randomization=2000,5000,10000,20000,40000,80000:5000,160000:5000,"
+ "320000:5000,640000:5000,1280000:5000,1800000:5000");
@@ -983,6 +1014,7 @@ public class CarrierConfigManager {
sDefaults.putBoolean(KEY_MMS_SMS_DELIVERY_REPORT_ENABLED_BOOL, true);
sDefaults.putBoolean(KEY_MMS_SUPPORT_HTTP_CHARSET_HEADER_BOOL, false);
sDefaults.putBoolean(KEY_MMS_SUPPORT_MMS_CONTENT_DISPOSITION_BOOL, true);
+ sDefaults.putBoolean(KEY_MMS_CLOSE_CONNECTION_BOOL, false);
sDefaults.putInt(KEY_MMS_ALIAS_MAX_CHARS_INT, 48);
sDefaults.putInt(KEY_MMS_ALIAS_MIN_CHARS_INT, 2);
sDefaults.putInt(KEY_MMS_HTTP_SOCKET_TIMEOUT_INT, 60 * 1000);
@@ -1020,6 +1052,8 @@ public class CarrierConfigManager {
sDefaults.putBoolean(KEY_DROP_VIDEO_CALL_WHEN_ANSWERING_AUDIO_CALL_BOOL, false);
sDefaults.putBoolean(KEY_ALLOW_MERGE_WIFI_CALLS_WHEN_VOWIFI_OFF_BOOL, true);
sDefaults.putBoolean(KEY_ALLOW_ADD_CALL_DURING_VIDEO_CALL_BOOL, true);
+ sDefaults.putBoolean(KEY_WIFI_CALLS_CAN_BE_HD_AUDIO, true);
+ sDefaults.putBoolean(KEY_VIDEO_CALLS_CAN_BE_HD_AUDIO, true);
sDefaults.putStringArray(KEY_IMS_REASONINFO_MAPPING_STRING_ARRAY, null);
}
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
index df81d7f90008..a3dc34374c62 100644
--- a/telephony/java/android/telephony/TelephonyManager.java
+++ b/telephony/java/android/telephony/TelephonyManager.java
@@ -5424,6 +5424,39 @@ public class TelephonyManager {
}
/**
+ * Return the Preferred Roaming List Version
+ *
+ * Requires that the calling app has READ_PRIVILEGED_PHONE_STATE permission
+ *
+ * @return PRLVersion or null if error.
+ * @hide
+ */
+ public String getCdmaPrlVersion() {
+ return getCdmaPrlVersion(getDefaultSubscription());
+ }
+
+ /**
+ * Return the Preferred Roaming List Version
+ *
+ * Requires that the calling app has READ_PRIVILEGED_PHONE_STATE permission
+ *
+ * @param subId the subscription ID that this request applies to.
+ * @return PRLVersion or null if error.
+ * @hide
+ */
+ public String getCdmaPrlVersion(int subId) {
+ try {
+ ITelephony service = getITelephony();
+ if (service != null) {
+ return service.getCdmaPrlVersion(subId);
+ }
+ } catch (RemoteException e) {
+ Log.e(TAG, "Error calling ITelephony#getCdmaPrlVersion", e);
+ }
+ return null;
+ }
+
+ /**
* Get snapshot of Telephony histograms
* @return List of Telephony histograms
* Requires Permission:
diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl
index 167e1a739ca5..7e7071ee173a 100644
--- a/telephony/java/com/android/internal/telephony/ITelephony.aidl
+++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl
@@ -1107,6 +1107,16 @@ interface ITelephony {
String getEsn(int subId);
/**
+ * Return the Preferred Roaming List Version
+ *
+ * Requires that the calling app has READ_PRIVILEGED_PHONE_STATE permission
+ * @param subId the subscription ID that this request applies to.
+ * @return PRLVersion or null if error.
+ * @hide
+ */
+ String getCdmaPrlVersion(int subId);
+
+ /**
* Get snapshot of Telephony histograms
* @return List of Telephony histograms
* Requires Permission:
diff --git a/tools/aapt/Images.cpp b/tools/aapt/Images.cpp
index 9939c188cdd9..aea16c715b95 100644
--- a/tools/aapt/Images.cpp
+++ b/tools/aapt/Images.cpp
@@ -808,13 +808,13 @@ static void checkNinePatchSerialization(Res_png_9patch* inPatch, void* data)
assert(outPatch->paddingTop == inPatch->paddingTop);
assert(outPatch->paddingBottom == inPatch->paddingBottom);
for (int i = 0; i < outPatch->numXDivs; i++) {
- assert(outPatch->xDivs[i] == inPatch->xDivs[i]);
+ assert(outPatch->getXDivs()[i] == inPatch->getXDivs()[i]);
}
for (int i = 0; i < outPatch->numYDivs; i++) {
- assert(outPatch->yDivs[i] == inPatch->yDivs[i]);
+ assert(outPatch->getYDivs()[i] == inPatch->getYDivs()[i]);
}
for (int i = 0; i < outPatch->numColors; i++) {
- assert(outPatch->colors[i] == inPatch->colors[i]);
+ assert(outPatch->getColors()[i] == inPatch->getColors()[i]);
}
free(newData);
}
diff --git a/tools/aapt/Resource.cpp b/tools/aapt/Resource.cpp
index e6407332bb90..a7878d196c15 100644
--- a/tools/aapt/Resource.cpp
+++ b/tools/aapt/Resource.cpp
@@ -326,13 +326,18 @@ static status_t makeFileResources(Bundle* bundle, const sp<AaptAssets>& assets,
}
String8 resPath = it.getPath();
resPath.convertToResPath();
- table->addEntry(SourcePos(it.getPath(), 0), String16(assets->getPackage()),
+ status_t result = table->addEntry(SourcePos(it.getPath(), 0),
+ String16(assets->getPackage()),
type16,
baseName,
String16(resPath),
NULL,
&it.getParams());
- assets->addResource(it.getLeafName(), resPath, it.getFile(), type8);
+ if (result != NO_ERROR) {
+ hasErrors = true;
+ } else {
+ assets->addResource(it.getLeafName(), resPath, it.getFile(), type8);
+ }
}
return hasErrors ? STATUST(UNKNOWN_ERROR) : NO_ERROR;
@@ -1370,6 +1375,10 @@ status_t buildResources(Bundle* bundle, const sp<AaptAssets>& assets, sp<ApkBuil
}
}
+ if (hasErrors) {
+ return UNKNOWN_ERROR;
+ }
+
// --------------------------------------------------------------------
// Assignment of resource IDs and initial generation of resource table.
// --------------------------------------------------------------------
diff --git a/tools/aapt/ResourceTable.cpp b/tools/aapt/ResourceTable.cpp
index 6a4b63789815..6d80a69b7444 100644
--- a/tools/aapt/ResourceTable.cpp
+++ b/tools/aapt/ResourceTable.cpp
@@ -4521,6 +4521,7 @@ bool ResourceTable::shouldGenerateVersionedResource(
const ConfigDescription& sourceConfig,
const int sdkVersionToGenerate) {
assert(sdkVersionToGenerate > sourceConfig.sdkVersion);
+ assert(configList != NULL);
const DefaultKeyedVector<ConfigDescription, sp<ResourceTable::Entry>>& entries
= configList->getEntries();
ssize_t idx = entries.indexOfKey(sourceConfig);