diff options
150 files changed, 1942 insertions, 468 deletions
diff --git a/core/java/com/android/internal/app/PlatLogoActivity.java b/core/java/com/android/internal/app/PlatLogoActivity.java index efe88ff..2595fe0 100644 --- a/core/java/com/android/internal/app/PlatLogoActivity.java +++ b/core/java/com/android/internal/app/PlatLogoActivity.java @@ -1,6 +1,5 @@ /* * Copyright (C) 2010 The Android Open Source Project - * Copyright (C) 2014-2015 The CyanogenMod Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -58,13 +57,10 @@ public class PlatLogoActivity extends Activity { int mKeyCount; PathInterpolator mInterpolator = new PathInterpolator(0f, 0f, 0.5f, 1f); - private boolean mIsCM; - @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - mIsCM = getIntent().hasExtra("is_cm"); mLayout = new FrameLayout(this); setContentView(mLayout); } @@ -157,7 +153,6 @@ public class PlatLogoActivity extends Activity { .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS) - .putExtra("is_cm", mIsCM) .addCategory("com.android.internal.category.PLATLOGO")); } catch (ActivityNotFoundException ex) { Log.e("PlatLogoActivity", "No more eggs."); @@ -207,9 +202,7 @@ public class PlatLogoActivity extends Activity { } public void showMarshmallow(View im) { - final Drawable fg = getDrawable(mIsCM - ? com.android.internal.R.drawable.platlogo_cm - : com.android.internal.R.drawable.platlogo); + final Drawable fg = getDrawable(com.android.internal.R.drawable.platlogo); fg.setBounds(0, 0, im.getWidth(), im.getHeight()); fg.setAlpha(0); im.getOverlay().add(fg); diff --git a/core/jni/com_android_internal_os_Zygote.cpp b/core/jni/com_android_internal_os_Zygote.cpp index 4f90bd9..8686444 100644 --- a/core/jni/com_android_internal_os_Zygote.cpp +++ b/core/jni/com_android_internal_os_Zygote.cpp @@ -465,6 +465,20 @@ static pid_t ForkAndSpecializeCommon(JNIEnv* env, uid_t uid, gid_t gid, jintArra SetForkLoad(true); #endif + sigset_t sigchld; + sigemptyset(&sigchld); + sigaddset(&sigchld, SIGCHLD); + + // Temporarily block SIGCHLD during forks. The SIGCHLD handler might + // log, which would result in the logging FDs we close being reopened. + // This would cause failures because the FDs are not whitelisted. + // + // Note that the zygote process is single threaded at this point. + if (sigprocmask(SIG_BLOCK, &sigchld, NULL) == -1) { + ALOGE("sigprocmask(SIG_SETMASK, { SIGCHLD }) failed: %s", strerror(errno)); + RuntimeAbort(env, __LINE__, "Call to sigprocmask(SIG_BLOCK, { SIGCHLD }) failed."); + } + // Close any logging related FDs before we start evaluating the list of // file descriptors. __android_log_close(); @@ -496,6 +510,11 @@ static pid_t ForkAndSpecializeCommon(JNIEnv* env, uid_t uid, gid_t gid, jintArra RuntimeAbort(env, __LINE__, "Unable to reopen whitelisted descriptors."); } + if (sigprocmask(SIG_UNBLOCK, &sigchld, NULL) == -1) { + ALOGE("sigprocmask(SIG_SETMASK, { SIGCHLD }) failed: %s", strerror(errno)); + RuntimeAbort(env, __LINE__, "Call to sigprocmask(SIG_UNBLOCK, { SIGCHLD }) failed."); + } + // Keep capabilities across UID change, unless we're staying root. if (uid != 0) { EnableKeepCapabilities(env); @@ -628,11 +647,11 @@ static pid_t ForkAndSpecializeCommon(JNIEnv* env, uid_t uid, gid_t gid, jintArra } else if (pid > 0) { // the parent process -#ifdef ENABLE_SCHED_BOOST - // unset scheduler knob - SetForkLoad(false); -#endif - + // We blocked SIGCHLD prior to a fork, we unblock it here. + if (sigprocmask(SIG_UNBLOCK, &sigchld, NULL) == -1) { + ALOGE("sigprocmask(SIG_SETMASK, { SIGCHLD }) failed: %s", strerror(errno)); + RuntimeAbort(env, __LINE__, "Call to sigprocmask(SIG_UNBLOCK, { SIGCHLD }) failed."); + } } return pid; } diff --git a/core/jni/fd_utils-inl.h b/core/jni/fd_utils-inl.h index f245a7f..6c4ca6b 100644 --- a/core/jni/fd_utils-inl.h +++ b/core/jni/fd_utils-inl.h @@ -248,9 +248,22 @@ class FileDescriptorInfo { is_sock(false) { } + static bool StartsWith(const std::string& str, const std::string& prefix) { + return str.compare(0, prefix.size(), prefix) == 0; + } + + static bool EndsWith(const std::string& str, const std::string& suffix) { + if (suffix.size() > str.size()) { + return false; + } + + return str.compare(str.size() - suffix.size(), suffix.size(), suffix) == 0; + } + // Returns true iff. a given path is whitelisted. A path is whitelisted // if it belongs to the whitelist (see kPathWhitelist) or if it's a path - // under /system/framework that ends with ".jar". + // under /system/framework that ends with ".jar" or if it is a system + // framework overlay. static bool IsWhitelisted(const std::string& path) { for (size_t i = 0; i < (sizeof(kPathWhitelist) / sizeof(kPathWhitelist[0])); ++i) { if (kPathWhitelist[i] == path) { @@ -260,10 +273,41 @@ class FileDescriptorInfo { static const std::string kFrameworksPrefix = "/system/framework/"; static const std::string kJarSuffix = ".jar"; - if (path.compare(0, kFrameworksPrefix.size(), kFrameworksPrefix) == 0 && - path.compare(path.size() - kJarSuffix.size(), kJarSuffix.size(), kJarSuffix) == 0) { + if (StartsWith(path, kFrameworksPrefix) && EndsWith(path, kJarSuffix)) { return true; } + + // Whitelist files needed for Runtime Resource Overlay, like these: + // /system/vendor/overlay/framework-res.apk + // /system/vendor/overlay-subdir/pg/framework-res.apk + // /data/resource-cache/system@vendor@overlay@framework-res.apk@idmap + // /data/resource-cache/system@vendor@overlay-subdir@pg@framework-res.apk@idmap + // See AssetManager.cpp for more details on overlay-subdir. + static const std::string kOverlayDir = "/system/vendor/overlay/"; + static const std::string kVendorOverlayDir = "/vendor/overlay"; + static const std::string kOverlaySubdir = "/system/vendor/overlay-subdir/"; + static const std::string kApkSuffix = ".apk"; + + if ((StartsWith(path, kOverlayDir) || StartsWith(path, kOverlaySubdir) + || StartsWith(path, kVendorOverlayDir)) + && EndsWith(path, kApkSuffix) + && path.find("/../") == std::string::npos) { + return true; + } + + static const std::string kOverlayIdmapPrefix = "/data/resource-cache/"; + static const std::string kOverlayIdmapSuffix = ".apk@idmap"; + if (StartsWith(path, kOverlayIdmapPrefix) && EndsWith(path, kOverlayIdmapSuffix) + && path.find("/../") == std::string::npos) { + return true; + } + + // All regular files that are placed under this path are whitelisted automatically. + static const std::string kZygoteWhitelistPath = "/vendor/zygote_whitelist/"; + if (StartsWith(path, kZygoteWhitelistPath) && path.find("/../") == std::string::npos) { + return true; + } + return false; } diff --git a/core/res/res/drawable-nodpi/platlogo_cm.xml b/core/res/res/drawable-nodpi/platlogo_cm.xml deleted file mode 100644 index b863c27..0000000 --- a/core/res/res/drawable-nodpi/platlogo_cm.xml +++ /dev/null @@ -1,55 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - Copyright (c) 2015 The CyanogenMod Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="48dp" - android:height="48dp" - android:viewportWidth="48.0" - android:viewportHeight="48.0"> - - <path - android:name="body" - android:fillColor="#FFFFFF" - android:pathData="M24,12L24,12L24,12L24,12L24,12c7.7,0,14,1.2,14.9,2.6c0,0,0,0,0,0c1,1.5,1.1,6.5,1.1,9.4s-0.1,7.8-1.1,9.4 -c0,0,0,0,0,0C38,34.8,31.7,36,24,36l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0c-7.7,0-14-1.2-14.9-2.6c0,0,0,0,0,0C8.1,31.8,8,26.9,8,24 -s0.1-7.8,1.1-9.4c0,0,0,0,0,0C10,13.2,16.3,12,24,12L24,12L24,12L24,12L24,12z" /> - <path - android:name="top" - android:fillColor="#EBEBEB" - android:pathData="M39,15c0,1.7-6.7,3-15,3S9,16.7,9,15s6.7-3,15-3S39,13.3,39,15z" /> - <path - android:name="r_ant" - android:fillColor="#FFFFFF" - android:pathData="M35,15c-0.1,0-0.3,0-0.4-0.1c-0.5-0.2-0.8-0.8-0.5-1.3l2-5c0.2-0.5,0.8-0.8,1.3-0.5 -c0.5,0.2,0.8,0.8,0.5,1.3l-2,5C35.7,14.8,35.3,15,35,15z" /> - <path - android:name="l_ant" - android:fillColor="#FFFFFF" - android:pathData="M13,15c0.1,0,0.3,0,0.4-0.1c0.5-0.2,0.8-0.8,0.5-1.3l-2-5c-0.2-0.5-0.8-0.8-1.3-0.5 -c-0.5,0.2-0.8,0.8-0.5,1.3l2,5C12.3,14.8,12.7,15,13,15z" /> - <path - android:name="smile" - android:fillColor="#EBEBEB" - android:pathData="M22,32C22,32,22,32.1,22,32c0,0.9,0.6,1.5,1.4,1.5h1.1c0.8,0,1.5-0.7,1.5-1.5c0,0,0-0.1,0-0.1H22z" /> - <path - android:name="l_eye" - android:fillColor="#EBEBEB" - android:pathData="M16,20c-2.8,0-5,2.2-5,5c0,2.8,2.2,5,5,5c2.8,0,5-2.2,5-5C21,22.2,18.8,20,16,20z" /> - <path - android:name="r_eye" - android:fillColor="#EBEBEB" - android:pathData="M32,20c-2.8,0-5,2.2-5,5c0,2.8,2.2,5,5,5c2.8,0,5-2.2,5-5C37,22.2,34.8,20,32,20z" /> -</vector> diff --git a/core/res/res/drawable-nodpi/stat_sys_adb.xml b/core/res/res/drawable-nodpi/stat_sys_adb.xml index 9dd9497..d72d801 100644 --- a/core/res/res/drawable-nodpi/stat_sys_adb.xml +++ b/core/res/res/drawable-nodpi/stat_sys_adb.xml @@ -1,11 +1,11 @@ <!-- - Copyright (c) 2015 The CyanogenMod Project +Copyright (C) 2017 The LineageOS Project - Licensed under the Apache License, Version 2.0 (the "License"); + Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, @@ -14,26 +14,13 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="24dp" - android:height="24dp" - android:viewportWidth="24" - android:viewportHeight="24"> - - <path - android:fillColor="#FFFFFF" - android:pathData="M21.3,6.6L21,6.9c0,1-3.8,1.7-9,1.7S3,7.9,3,6.9L2.7,6.6C2.1,7.6,2,10.7,2,12.5 -c0,1.8,0.1,4.9,0.7,5.8l0,0C3.2,19.3,7.2,20,12,20c4.8,0,8.8-0.7,9.3-1.7l0,0c0.6-1,0.7-4.1,0.7-5.8C22,10.7,21.9,7.6,21.3,6.6z -M7,17c-1.7,0-3-1.3-3-3s1.3-3,3-3c1.7,0,3,1.3,3,3S8.7,17,7,17z -M17,17c-1.7,0-3-1.3-3-3c0-1.7,1.3-3,3-3c1.7,0,3,1.3,3,3 C20,15.7,18.7,17,17,17z" /> - <path - android:fillColor="#BBFFFFFF" - android:pathData="M21.4,6.9c0,1-4.2,1.9-9.4,1.9S2.6,7.9,2.6,6.9S6.8,5,12,5S21.4,5.8,21.4,6.9z" /> - <path - android:fillColor="#FFFFFF" - android:pathData="M19.7,6.5c-0.1,0.3-0.5,0.5-0.8,0.3c-0.3-0.1-0.5-0.5-0.3-0.8l1.3-3.1c0.1-0.3,0.5-0.5,0.8-0.3 -C20.9,2.7,21.1,3,21,3.4L19.7,6.5z" /> + android:width="24.0dp" + android:height="24.0dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> <path - android:fillColor="#FFFFFF" - android:pathData="M4.3,6.5C4.5,6.8,4.8,7,5.1,6.8C5.5,6.7,5.6,6.3,5.5,6L4.2,2.9C4.1,2.6,3.7,2.4,3.4,2.5 -C3.1,2.7,2.9,3,3,3.4L4.3,6.5z" /> + android:fillColor="#FFFFFFFF" + android:pathData="M12,6 C15.3,6,18,8.7,18,12 S15.3,18,12,18 S6,15.3,6,12 S8.7,6,12,6 M12,4 +C7.6,4,4,7.6,4,12 S7.6,20,12,20 S20,16.4,20,12 S16.4,4,12,4 Z M12,9 +C10.3,9,9,10.3,9,12 S10.3,15,12,15 S15,13.7,15,12 S13.7,9,12,9 Z" /> </vector> diff --git a/core/res/res/values-as-rIN/strings.xml b/core/res/res/values-as-rIN/strings.xml index 58b884b..3acd9fd 100644 --- a/core/res/res/values-as-rIN/strings.xml +++ b/core/res/res/values-as-rIN/strings.xml @@ -453,6 +453,8 @@ <!-- Message shown during fingerprint acquisision when the user removes their finger from the sensor too quickly --> <!-- Message shown during fingerprint acquisision when the user moves their finger too slowly --> <!-- Array containing custom messages shown during fingerprint acquisision from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_acquired_vendor"> + </string-array> <!-- Error message shown when the fingerprint hardware can't be accessed --> <!-- Error message shown when the fingerprint hardware has run out of room for storing fingerprints --> <!-- Error message shown when the fingerprint hardware timer has expired and the user needs to restart the operation. --> @@ -461,6 +463,8 @@ <!-- Generic error message shown when the fingerprint hardware can't recognize the fingerprint --> <!-- Template to be used to name enrolled fingerprints by default. --> <!-- Array containing custom error messages from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_error_vendor"> + </string-array> <!-- Content description which should be used for the fingerprint icon. --> <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. --> diff --git a/core/res/res/values-ast-rES/strings.xml b/core/res/res/values-ast-rES/strings.xml index 65cdade..f2abe83 100644 --- a/core/res/res/values-ast-rES/strings.xml +++ b/core/res/res/values-ast-rES/strings.xml @@ -850,6 +850,8 @@ <!-- Message shown during fingerprint acquisision when the user moves their finger too slowly --> <string name="fingerprint_acquired_too_slow">Movisti\'l deu mui lento. Vuelvi intentalo.</string> <!-- Array containing custom messages shown during fingerprint acquisision from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_acquired_vendor"> + </string-array> <!-- Error message shown when the fingerprint hardware can't be accessed --> <string name="fingerprint_error_hw_not_available">El hardware pa buelgues dixitales nun ta disponible.</string> <!-- Error message shown when the fingerprint hardware has run out of room for storing fingerprints --> @@ -865,6 +867,8 @@ <!-- Template to be used to name enrolled fingerprints by default. --> <string name="fingerprint_name_template">Deu <xliff:g id="fingerId" example="1">%d</xliff:g></string> <!-- Array containing custom error messages from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_error_vendor"> + </string-array> <!-- Content description which should be used for the fingerprint icon. --> <string name="fingerprint_icon_content_description">Iconu de buelga</string> <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. --> diff --git a/core/res/res/values-be/cm_strings.xml b/core/res/res/values-be/cm_strings.xml index 5e73c39..9053cf0 100644 --- a/core/res/res/values-be/cm_strings.xml +++ b/core/res/res/values-be/cm_strings.xml @@ -102,7 +102,7 @@ <!-- App ops requests --> <string name="app_ops_access_camera">атрымаць доступ да камеры</string> <string name="app_ops_access_location">атрымаць доступ да месцазнаходжання прылады</string> - <string name="app_ops_access_notifications">атрымаць доступ да апавяшчэнняў</string> + <string name="app_ops_access_notifications">чытаньне паведамленьняў</string> <string name="app_ops_activate_vpn">актываваць VPN</string> <string name="app_ops_auto_start">прызначыць запуск пры ўлучэнні прылады</string> <string name="app_ops_delete_call_log">выдаліць часопіс званкоў</string> diff --git a/core/res/res/values-bg/cm_strings.xml b/core/res/res/values-bg/cm_strings.xml index 8b94d24..212ba59 100644 --- a/core/res/res/values-bg/cm_strings.xml +++ b/core/res/res/values-bg/cm_strings.xml @@ -34,7 +34,7 @@ <!-- [CHAR LIMIT=NONE] Title of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <string name="permlab_readPhoneBlacklist">Прочетете списъка с блокирани контакти</string> <!-- [CHAR LIMIT=NONE] Description of an application permission, listed so the user can choose whether they want to allow the application to do this. --> - <string name="permdesc_readPhoneBlacklist">Разрешава на приложението да прочетете информацията за телефонни номера, които са блокирани за входящи повиквания или съобщения.</string> + <string name="permdesc_readPhoneBlacklist">Разрешава на приложението да чете информацията от списъка с контакти, които са блокирани за входящи повиквания или съобщения.</string> <!-- [CHAR LIMIT=NONE] Title of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <string name="permlab_changePhoneBlacklist">Промяна на списъка с блокирани контакти</string> <!-- [CHAR LIMIT=NONE] Description of an application permission, listed so the user can choose whether they want to allow the application to do this. --> @@ -42,7 +42,7 @@ <!-- Title of an application permission, listed so the user can choose whether they want the application to do this. --> <string name="permlab_setKeyguardWallpaper">Задаване на тапет за заключен екран</string> <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. --> - <string name="permdesc_setKeyguardWallpaper">Разрешава на едно приложение да променя тапета на заключения екран.</string> + <string name="permdesc_setKeyguardWallpaper">Разрешава на приложението да променя тапета на екрана за заключване.</string> <!-- label for item that reboots the phone in phone options dialog --> <string name="global_action_reboot">Рестартиране</string> <!-- label for current user in phone options dialog --> @@ -87,25 +87,25 @@ <string name="silent_mode_priority">Приоритет</string> <string name="silent_mode_none">Без</string> <!-- Wifi Hotspot disabled due to subscription change --> - <string name="subscription_change_disabled_wifi_ap">Изключена Wi-Fi точка за достъп, поради промяна в абонаментна на СИМ</string> + <string name="subscription_change_disabled_wifi_ap">Изключена Wi-Fi точка за достъп, поради промяна в СИМ абонамента</string> <!-- WiFi turn off notification action text --> <string name="notify_turn_wifi_off_title">Изключете Wi-Fi</string> <!-- Privacy Guard --> <string name="permlab_changePrivacyGuardState">Активира или деактивира Защитен режим</string> <string name="permdesc_changePrivacyGuardState">Разрешава на приложението да променя статута на поверителност на друго приложение. Когато едно приложение се използва с защита на поверителността, не може да има достъп до персонални данни, като контакти, регистри с повиквания или съобщения.</string> - <string name="privacy_guard_notification">Защитен режим e активен</string> - <string name="privacy_guard_notification_detail"><xliff:g id="app">%1$s </xliff:g> няма да можете да получите достъп до лични данни</string> + <string name="privacy_guard_notification">Активиран е защитен режим</string> + <string name="privacy_guard_notification_detail"><xliff:g id="app">%1$s </xliff:g> няма достъп до лични данни</string> <string name="privacy_guard_dialog_title">Защитен режим</string> - <string name="privacy_guard_dialog_summary"><xliff:g id="app">%1$s </xliff:g> бих искал да <xliff:g id="op">%2$s </xliff:g>.</string> + <string name="privacy_guard_dialog_summary"><xliff:g id="app">%1$s </xliff:g> иска да <xliff:g id="op">%2$s </xliff:g>.</string> <!-- Text of the checkbox for the permission confirmation dialog to remember the user's choice. [CHAR LIMIT=40] --> <string name="permission_remember_choice">Запомни избора ми</string> <!-- App ops requests --> <string name="app_ops_access_camera">достъп до камерата</string> <string name="app_ops_access_location">достъп до вашето местоположение</string> - <string name="app_ops_access_notifications">прочети своите известия</string> + <string name="app_ops_access_notifications">прочети известията</string> <string name="app_ops_activate_vpn">активиране на VPN</string> <string name="app_ops_auto_start">изпълнение при включване</string> - <string name="app_ops_delete_call_log">изтриване на дневника за повиквания</string> + <string name="app_ops_delete_call_log">изтриване на списъка с обаждания</string> <string name="app_ops_delete_contacts">Изтриване на контакти</string> <string name="app_ops_delete_mms">Изтриване на MMS съобщенията</string> <string name="app_ops_delete_sms">Изтриване на SMS съобщенията</string> @@ -114,7 +114,7 @@ <string name="app_ops_keep_device_awake">Задръж устройството будно</string> <string name="app_ops_make_phone_call">осъществете телефонно повикване</string> <string name="app_ops_modify_calendar">актуализиране на вашият календар</string> - <string name="app_ops_modify_call_log">актуализация на дневника за повиквания</string> + <string name="app_ops_modify_call_log">актуализация на списъка с обаждания</string> <string name="app_ops_modify_clipboard">промяна на клипборда</string> <string name="app_ops_modify_contacts">актуализиране на вашите контакти</string> <string name="app_ops_modify_settings">актуализиране на системните настройки</string> @@ -134,13 +134,13 @@ <string name="app_ops_send_sms">Изпращане на SMS съобщение</string> <string name="app_ops_start_at_bootup">изпълнение при включване</string> <string name="app_ops_toast_window">показвай изкачащи уведомления</string> - <string name="app_ops_toggle_bluetooth">активиране/деактивиране Bluetooth</string> - <string name="app_ops_toggle_mobile_data">Превключване клетъчен данни</string> + <string name="app_ops_toggle_bluetooth">активиране/деактивиране Блутуут</string> + <string name="app_ops_toggle_mobile_data">Включване / Изключване на мобилни данни</string> <string name="app_ops_toggle_nfc">активиране/деактивиране NFC</string> <string name="app_ops_toggle_wifi">активирай/деактивирай Wi-Fi</string> <string name="app_ops_use_alarm_volume">контрол на силата на алармата</string> <string name="app_ops_use_audio_focus">контрол на силата на звука</string> - <string name="app_ops_use_bluetooth_volume">контрол на силата на Bluetooth</string> + <string name="app_ops_use_bluetooth_volume">контрол на силата на Блутуут</string> <string name="app_ops_use_master_volume">главен контрол на звука</string> <string name="app_ops_use_media_buttons">Използвайте мултимедийните бутони</string> <string name="app_ops_use_media_volume">контрол на звука за мултимедия</string> @@ -176,7 +176,7 @@ <!-- Sequence of characters used to separate carrier message strings in keyguard. Typically just vertical line with spaces on either side. [CHAR LIMIT=3] --> <!-- Protected Apps Notification --> - <string name="notify_package_component_protected_title">Старта на приложението блокиран</string> + <string name="notify_package_component_protected_title">Старта на приложението е блокиран</string> <string name="notify_package_component_protected_text"><xliff:g id="app_name">%1$s</xliff:g> е блокиран. Докосни за да потвърдиш старта на приложението.</string> <!-- Battery fully charged notification --> <string name="notify_battery_fully_charged_title">Батерията е напълно заредена</string> diff --git a/core/res/res/values-br-rFR/strings.xml b/core/res/res/values-br-rFR/strings.xml index 58b884b..3acd9fd 100644 --- a/core/res/res/values-br-rFR/strings.xml +++ b/core/res/res/values-br-rFR/strings.xml @@ -453,6 +453,8 @@ <!-- Message shown during fingerprint acquisision when the user removes their finger from the sensor too quickly --> <!-- Message shown during fingerprint acquisision when the user moves their finger too slowly --> <!-- Array containing custom messages shown during fingerprint acquisision from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_acquired_vendor"> + </string-array> <!-- Error message shown when the fingerprint hardware can't be accessed --> <!-- Error message shown when the fingerprint hardware has run out of room for storing fingerprints --> <!-- Error message shown when the fingerprint hardware timer has expired and the user needs to restart the operation. --> @@ -461,6 +463,8 @@ <!-- Generic error message shown when the fingerprint hardware can't recognize the fingerprint --> <!-- Template to be used to name enrolled fingerprints by default. --> <!-- Array containing custom error messages from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_error_vendor"> + </string-array> <!-- Content description which should be used for the fingerprint icon. --> <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. --> diff --git a/core/res/res/values-csb-rPL/strings.xml b/core/res/res/values-csb-rPL/strings.xml index 58b884b..3acd9fd 100644 --- a/core/res/res/values-csb-rPL/strings.xml +++ b/core/res/res/values-csb-rPL/strings.xml @@ -453,6 +453,8 @@ <!-- Message shown during fingerprint acquisision when the user removes their finger from the sensor too quickly --> <!-- Message shown during fingerprint acquisision when the user moves their finger too slowly --> <!-- Array containing custom messages shown during fingerprint acquisision from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_acquired_vendor"> + </string-array> <!-- Error message shown when the fingerprint hardware can't be accessed --> <!-- Error message shown when the fingerprint hardware has run out of room for storing fingerprints --> <!-- Error message shown when the fingerprint hardware timer has expired and the user needs to restart the operation. --> @@ -461,6 +463,8 @@ <!-- Generic error message shown when the fingerprint hardware can't recognize the fingerprint --> <!-- Template to be used to name enrolled fingerprints by default. --> <!-- Array containing custom error messages from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_error_vendor"> + </string-array> <!-- Content description which should be used for the fingerprint icon. --> <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. --> diff --git a/core/res/res/values-cy/strings.xml b/core/res/res/values-cy/strings.xml index 58b884b..3acd9fd 100644 --- a/core/res/res/values-cy/strings.xml +++ b/core/res/res/values-cy/strings.xml @@ -453,6 +453,8 @@ <!-- Message shown during fingerprint acquisision when the user removes their finger from the sensor too quickly --> <!-- Message shown during fingerprint acquisision when the user moves their finger too slowly --> <!-- Array containing custom messages shown during fingerprint acquisision from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_acquired_vendor"> + </string-array> <!-- Error message shown when the fingerprint hardware can't be accessed --> <!-- Error message shown when the fingerprint hardware has run out of room for storing fingerprints --> <!-- Error message shown when the fingerprint hardware timer has expired and the user needs to restart the operation. --> @@ -461,6 +463,8 @@ <!-- Generic error message shown when the fingerprint hardware can't recognize the fingerprint --> <!-- Template to be used to name enrolled fingerprints by default. --> <!-- Array containing custom error messages from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_error_vendor"> + </string-array> <!-- Content description which should be used for the fingerprint icon. --> <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. --> diff --git a/core/res/res/values-en-rPT/strings.xml b/core/res/res/values-en-rPT/strings.xml index 58b884b..3acd9fd 100644 --- a/core/res/res/values-en-rPT/strings.xml +++ b/core/res/res/values-en-rPT/strings.xml @@ -453,6 +453,8 @@ <!-- Message shown during fingerprint acquisision when the user removes their finger from the sensor too quickly --> <!-- Message shown during fingerprint acquisision when the user moves their finger too slowly --> <!-- Array containing custom messages shown during fingerprint acquisision from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_acquired_vendor"> + </string-array> <!-- Error message shown when the fingerprint hardware can't be accessed --> <!-- Error message shown when the fingerprint hardware has run out of room for storing fingerprints --> <!-- Error message shown when the fingerprint hardware timer has expired and the user needs to restart the operation. --> @@ -461,6 +463,8 @@ <!-- Generic error message shown when the fingerprint hardware can't recognize the fingerprint --> <!-- Template to be used to name enrolled fingerprints by default. --> <!-- Array containing custom error messages from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_error_vendor"> + </string-array> <!-- Content description which should be used for the fingerprint icon. --> <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. --> diff --git a/core/res/res/values-eo/strings.xml b/core/res/res/values-eo/strings.xml index f58ee6e..e4a6a8c 100644 --- a/core/res/res/values-eo/strings.xml +++ b/core/res/res/values-eo/strings.xml @@ -485,6 +485,8 @@ <!-- Message shown during fingerprint acquisision when the user removes their finger from the sensor too quickly --> <!-- Message shown during fingerprint acquisision when the user moves their finger too slowly --> <!-- Array containing custom messages shown during fingerprint acquisision from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_acquired_vendor"> + </string-array> <!-- Error message shown when the fingerprint hardware can't be accessed --> <!-- Error message shown when the fingerprint hardware has run out of room for storing fingerprints --> <!-- Error message shown when the fingerprint hardware timer has expired and the user needs to restart the operation. --> @@ -493,6 +495,8 @@ <!-- Generic error message shown when the fingerprint hardware can't recognize the fingerprint --> <!-- Template to be used to name enrolled fingerprints by default. --> <!-- Array containing custom error messages from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_error_vendor"> + </string-array> <!-- Content description which should be used for the fingerprint icon. --> <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. --> diff --git a/core/res/res/values-es-rCO/strings.xml b/core/res/res/values-es-rCO/strings.xml index 58b884b..3acd9fd 100644 --- a/core/res/res/values-es-rCO/strings.xml +++ b/core/res/res/values-es-rCO/strings.xml @@ -453,6 +453,8 @@ <!-- Message shown during fingerprint acquisision when the user removes their finger from the sensor too quickly --> <!-- Message shown during fingerprint acquisision when the user moves their finger too slowly --> <!-- Array containing custom messages shown during fingerprint acquisision from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_acquired_vendor"> + </string-array> <!-- Error message shown when the fingerprint hardware can't be accessed --> <!-- Error message shown when the fingerprint hardware has run out of room for storing fingerprints --> <!-- Error message shown when the fingerprint hardware timer has expired and the user needs to restart the operation. --> @@ -461,6 +463,8 @@ <!-- Generic error message shown when the fingerprint hardware can't recognize the fingerprint --> <!-- Template to be used to name enrolled fingerprints by default. --> <!-- Array containing custom error messages from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_error_vendor"> + </string-array> <!-- Content description which should be used for the fingerprint icon. --> <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. --> diff --git a/core/res/res/values-es-rMX/strings.xml b/core/res/res/values-es-rMX/strings.xml index 58b884b..3acd9fd 100644 --- a/core/res/res/values-es-rMX/strings.xml +++ b/core/res/res/values-es-rMX/strings.xml @@ -453,6 +453,8 @@ <!-- Message shown during fingerprint acquisision when the user removes their finger from the sensor too quickly --> <!-- Message shown during fingerprint acquisision when the user moves their finger too slowly --> <!-- Array containing custom messages shown during fingerprint acquisision from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_acquired_vendor"> + </string-array> <!-- Error message shown when the fingerprint hardware can't be accessed --> <!-- Error message shown when the fingerprint hardware has run out of room for storing fingerprints --> <!-- Error message shown when the fingerprint hardware timer has expired and the user needs to restart the operation. --> @@ -461,6 +463,8 @@ <!-- Generic error message shown when the fingerprint hardware can't recognize the fingerprint --> <!-- Template to be used to name enrolled fingerprints by default. --> <!-- Array containing custom error messages from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_error_vendor"> + </string-array> <!-- Content description which should be used for the fingerprint icon. --> <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. --> diff --git a/core/res/res/values-es-rUS/cm_strings.xml b/core/res/res/values-es-rUS/cm_strings.xml index 74e70ab..45762b1 100644 --- a/core/res/res/values-es-rUS/cm_strings.xml +++ b/core/res/res/values-es-rUS/cm_strings.xml @@ -117,7 +117,7 @@ <string name="app_ops_modify_call_log">actualizar el registro de llamadas</string> <string name="app_ops_modify_clipboard">modificar el portapapeles</string> <string name="app_ops_modify_contacts">actualizar tus contactos</string> - <string name="app_ops_modify_settings">actualizar configuración del sistema</string> + <string name="app_ops_modify_settings">actualizar ajustes del sistema</string> <string name="app_ops_mute_unmute_microphone">silenciar / activar el micrófono</string> <string name="app_ops_play_audio">reproducir el audio</string> <string name="app_ops_post_notification">publicar una notificación</string> diff --git a/core/res/res/values-frp-rIT/strings.xml b/core/res/res/values-frp-rIT/strings.xml index 58b884b..3acd9fd 100644 --- a/core/res/res/values-frp-rIT/strings.xml +++ b/core/res/res/values-frp-rIT/strings.xml @@ -453,6 +453,8 @@ <!-- Message shown during fingerprint acquisision when the user removes their finger from the sensor too quickly --> <!-- Message shown during fingerprint acquisision when the user moves their finger too slowly --> <!-- Array containing custom messages shown during fingerprint acquisision from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_acquired_vendor"> + </string-array> <!-- Error message shown when the fingerprint hardware can't be accessed --> <!-- Error message shown when the fingerprint hardware has run out of room for storing fingerprints --> <!-- Error message shown when the fingerprint hardware timer has expired and the user needs to restart the operation. --> @@ -461,6 +463,8 @@ <!-- Generic error message shown when the fingerprint hardware can't recognize the fingerprint --> <!-- Template to be used to name enrolled fingerprints by default. --> <!-- Array containing custom error messages from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_error_vendor"> + </string-array> <!-- Content description which should be used for the fingerprint icon. --> <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. --> diff --git a/core/res/res/values-fy-rNL/strings.xml b/core/res/res/values-fy-rNL/strings.xml index 58b884b..3acd9fd 100644 --- a/core/res/res/values-fy-rNL/strings.xml +++ b/core/res/res/values-fy-rNL/strings.xml @@ -453,6 +453,8 @@ <!-- Message shown during fingerprint acquisision when the user removes their finger from the sensor too quickly --> <!-- Message shown during fingerprint acquisision when the user moves their finger too slowly --> <!-- Array containing custom messages shown during fingerprint acquisision from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_acquired_vendor"> + </string-array> <!-- Error message shown when the fingerprint hardware can't be accessed --> <!-- Error message shown when the fingerprint hardware has run out of room for storing fingerprints --> <!-- Error message shown when the fingerprint hardware timer has expired and the user needs to restart the operation. --> @@ -461,6 +463,8 @@ <!-- Generic error message shown when the fingerprint hardware can't recognize the fingerprint --> <!-- Template to be used to name enrolled fingerprints by default. --> <!-- Array containing custom error messages from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_error_vendor"> + </string-array> <!-- Content description which should be used for the fingerprint icon. --> <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. --> diff --git a/core/res/res/values-ga-rIE/strings.xml b/core/res/res/values-ga-rIE/strings.xml index 58b884b..3acd9fd 100644 --- a/core/res/res/values-ga-rIE/strings.xml +++ b/core/res/res/values-ga-rIE/strings.xml @@ -453,6 +453,8 @@ <!-- Message shown during fingerprint acquisision when the user removes their finger from the sensor too quickly --> <!-- Message shown during fingerprint acquisision when the user moves their finger too slowly --> <!-- Array containing custom messages shown during fingerprint acquisision from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_acquired_vendor"> + </string-array> <!-- Error message shown when the fingerprint hardware can't be accessed --> <!-- Error message shown when the fingerprint hardware has run out of room for storing fingerprints --> <!-- Error message shown when the fingerprint hardware timer has expired and the user needs to restart the operation. --> @@ -461,6 +463,8 @@ <!-- Generic error message shown when the fingerprint hardware can't recognize the fingerprint --> <!-- Template to be used to name enrolled fingerprints by default. --> <!-- Array containing custom error messages from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_error_vendor"> + </string-array> <!-- Content description which should be used for the fingerprint icon. --> <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. --> diff --git a/core/res/res/values-gd-rGB/strings.xml b/core/res/res/values-gd-rGB/strings.xml index 58b884b..3acd9fd 100644 --- a/core/res/res/values-gd-rGB/strings.xml +++ b/core/res/res/values-gd-rGB/strings.xml @@ -453,6 +453,8 @@ <!-- Message shown during fingerprint acquisision when the user removes their finger from the sensor too quickly --> <!-- Message shown during fingerprint acquisision when the user moves their finger too slowly --> <!-- Array containing custom messages shown during fingerprint acquisision from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_acquired_vendor"> + </string-array> <!-- Error message shown when the fingerprint hardware can't be accessed --> <!-- Error message shown when the fingerprint hardware has run out of room for storing fingerprints --> <!-- Error message shown when the fingerprint hardware timer has expired and the user needs to restart the operation. --> @@ -461,6 +463,8 @@ <!-- Generic error message shown when the fingerprint hardware can't recognize the fingerprint --> <!-- Template to be used to name enrolled fingerprints by default. --> <!-- Array containing custom error messages from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_error_vendor"> + </string-array> <!-- Content description which should be used for the fingerprint icon. --> <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. --> diff --git a/core/res/res/values-ja/cm_strings.xml b/core/res/res/values-ja/cm_strings.xml index 7157ab2..8902282 100644 --- a/core/res/res/values-ja/cm_strings.xml +++ b/core/res/res/values-ja/cm_strings.xml @@ -65,7 +65,7 @@ <string name="reboot_confirm" product="tablet">タブレットは再起動します。</string> <string name="reboot_confirm" product="default">携帯電話は再起動します。</string> <!-- Reboot Progress Dialog. This is shown if the user chooses to reboot the phone. --> - <string name="reboot_progress">再起動中\u2026</string> + <string name="reboot_progress">再起動中...</string> <!-- Long-press back kill application --> <string name="app_killed_message">アプリを終了しました。</string> <!-- ADB over network notification --> diff --git a/core/res/res/values-ku/strings.xml b/core/res/res/values-ku/strings.xml index d4c50e2..3837084 100644 --- a/core/res/res/values-ku/strings.xml +++ b/core/res/res/values-ku/strings.xml @@ -805,6 +805,8 @@ <!-- Message shown during fingerprint acquisision when the user removes their finger from the sensor too quickly --> <!-- Message shown during fingerprint acquisision when the user moves their finger too slowly --> <!-- Array containing custom messages shown during fingerprint acquisision from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_acquired_vendor"> + </string-array> <!-- Error message shown when the fingerprint hardware can't be accessed --> <!-- Error message shown when the fingerprint hardware has run out of room for storing fingerprints --> <!-- Error message shown when the fingerprint hardware timer has expired and the user needs to restart the operation. --> @@ -813,6 +815,8 @@ <!-- Generic error message shown when the fingerprint hardware can't recognize the fingerprint --> <!-- Template to be used to name enrolled fingerprints by default. --> <!-- Array containing custom error messages from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_error_vendor"> + </string-array> <!-- Content description which should be used for the fingerprint icon. --> <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <string name="permlab_readSyncSettings">خوێندنەوەی زانیاریەکەنی هاوتاکردن</string> diff --git a/core/res/res/values-lb/strings.xml b/core/res/res/values-lb/strings.xml index f89fc67..1224366 100644 --- a/core/res/res/values-lb/strings.xml +++ b/core/res/res/values-lb/strings.xml @@ -211,6 +211,7 @@ <string name="roamingText12">Roaming-Banner Aus</string> <string name="roamingTextSearching">E Service gëtt gesicht</string> <!-- Displayed when WFC registration fails --> + <string name="wfcRegErrorTitle">WLAN-Uriff</string> <!-- WFC Operator Error Codes --> <!-- WFC Operator Error Messages showed as alerts --> <!-- WFC Operator Error Messages showed as notifications --> @@ -800,6 +801,8 @@ <!-- Message shown during fingerprint acquisision when the user removes their finger from the sensor too quickly --> <!-- Message shown during fingerprint acquisision when the user moves their finger too slowly --> <!-- Array containing custom messages shown during fingerprint acquisision from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_acquired_vendor"> + </string-array> <!-- Error message shown when the fingerprint hardware can't be accessed --> <!-- Error message shown when the fingerprint hardware has run out of room for storing fingerprints --> <!-- Error message shown when the fingerprint hardware timer has expired and the user needs to restart the operation. --> @@ -808,6 +811,8 @@ <!-- Generic error message shown when the fingerprint hardware can't recognize the fingerprint --> <!-- Template to be used to name enrolled fingerprints by default. --> <!-- Array containing custom error messages from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_error_vendor"> + </string-array> <!-- Content description which should be used for the fingerprint icon. --> <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <string name="permlab_readSyncSettings">Synchroniséierungsastellunge liesen</string> diff --git a/core/res/res/values-nb/cm_strings.xml b/core/res/res/values-nb/cm_strings.xml index d1cfdaf..d531a6a 100644 --- a/core/res/res/values-nb/cm_strings.xml +++ b/core/res/res/values-nb/cm_strings.xml @@ -120,7 +120,7 @@ <string name="app_ops_modify_settings">oppdatere systeminnstillinger</string> <string name="app_ops_mute_unmute_microphone">Demp/fjern demping av mikrofonen</string> <string name="app_ops_play_audio">spille av lyd</string> - <string name="app_ops_post_notification">legge inn en melding</string> + <string name="app_ops_post_notification">legge inn en varsel</string> <string name="app_ops_project_media">Prosjekt media</string> <string name="app_ops_read_calendar">lese kalenderen</string> <string name="app_ops_read_call_log">lese i samtaleloggen</string> diff --git a/core/res/res/values-nl/cm_strings.xml b/core/res/res/values-nl/cm_strings.xml index 9ef6871..0dcc2aa 100644 --- a/core/res/res/values-nl/cm_strings.xml +++ b/core/res/res/values-nl/cm_strings.xml @@ -57,7 +57,7 @@ <!-- Button to reboot the phone into download, within the Reboot Options dialog --> <string name="reboot_download">Download</string> <!-- Button to soft reboot the device, within the Reboot Options dialog --> - <string name="reboot_soft">Soft reboot</string> + <string name="reboot_soft">Snelle herstart</string> <!-- Title of dialog to confirm rebooting. --> <string name="reboot_title">Herstarten</string> <!-- Reboot Confirmation Dialog. When the user chooses to reboot the device, there will diff --git a/core/res/res/values-oc-rFR/strings.xml b/core/res/res/values-oc-rFR/strings.xml index 58b884b..3acd9fd 100644 --- a/core/res/res/values-oc-rFR/strings.xml +++ b/core/res/res/values-oc-rFR/strings.xml @@ -453,6 +453,8 @@ <!-- Message shown during fingerprint acquisision when the user removes their finger from the sensor too quickly --> <!-- Message shown during fingerprint acquisision when the user moves their finger too slowly --> <!-- Array containing custom messages shown during fingerprint acquisision from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_acquired_vendor"> + </string-array> <!-- Error message shown when the fingerprint hardware can't be accessed --> <!-- Error message shown when the fingerprint hardware has run out of room for storing fingerprints --> <!-- Error message shown when the fingerprint hardware timer has expired and the user needs to restart the operation. --> @@ -461,6 +463,8 @@ <!-- Generic error message shown when the fingerprint hardware can't recognize the fingerprint --> <!-- Template to be used to name enrolled fingerprints by default. --> <!-- Array containing custom error messages from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_error_vendor"> + </string-array> <!-- Content description which should be used for the fingerprint icon. --> <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. --> diff --git a/core/res/res/values-or-rIN/strings.xml b/core/res/res/values-or-rIN/strings.xml index 58b884b..3acd9fd 100644 --- a/core/res/res/values-or-rIN/strings.xml +++ b/core/res/res/values-or-rIN/strings.xml @@ -453,6 +453,8 @@ <!-- Message shown during fingerprint acquisision when the user removes their finger from the sensor too quickly --> <!-- Message shown during fingerprint acquisision when the user moves their finger too slowly --> <!-- Array containing custom messages shown during fingerprint acquisision from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_acquired_vendor"> + </string-array> <!-- Error message shown when the fingerprint hardware can't be accessed --> <!-- Error message shown when the fingerprint hardware has run out of room for storing fingerprints --> <!-- Error message shown when the fingerprint hardware timer has expired and the user needs to restart the operation. --> @@ -461,6 +463,8 @@ <!-- Generic error message shown when the fingerprint hardware can't recognize the fingerprint --> <!-- Template to be used to name enrolled fingerprints by default. --> <!-- Array containing custom error messages from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_error_vendor"> + </string-array> <!-- Content description which should be used for the fingerprint icon. --> <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. --> diff --git a/core/res/res/values-ro/cm_strings.xml b/core/res/res/values-ro/cm_strings.xml index 1587713..57a3f1b 100644 --- a/core/res/res/values-ro/cm_strings.xml +++ b/core/res/res/values-ro/cm_strings.xml @@ -87,6 +87,7 @@ <string name="silent_mode_priority">Prioritate</string> <string name="silent_mode_none">Nimic</string> <!-- Wifi Hotspot disabled due to subscription change --> + <string name="subscription_change_disabled_wifi_ap">Hotspot-ul Wi-Fi a fost dezactivat din cauza schimbării abonării SIM</string> <!-- WiFi turn off notification action text --> <string name="notify_turn_wifi_off_title">Oprește Wi-Fi</string> <!-- Privacy Guard --> @@ -176,6 +177,7 @@ with spaces on either side. [CHAR LIMIT=3] --> <!-- Protected Apps Notification --> <string name="notify_package_component_protected_title">Lansarea activității blocată</string> + <string name="notify_package_component_protected_text"><xliff:g id="app_name">%1$s</xliff:g> este protejat de la lansare. Atingeți pentru a vă autentifica și pentru a lansa aplicația.</string> <!-- Battery fully charged notification --> <string name="notify_battery_fully_charged_title">Acumulator încărcat complet</string> <string name="notify_battery_fully_charged_text">Deconectați aparatul de la încărcător pentru a îmbunătăți longevitatea bateriei.</string> @@ -186,4 +188,6 @@ whether they want to allow the application to do this. --> <string name="permdesc_resetBatteryStats">Permite unei aplicații să reseteze datele curente de utilizare a bateriei.</string> <!-- Uicc hotswapped event configuration needed notification --> + <string name="uicc_hot_swapped_event_title">Cardurile SIM s-au modificat</string> + <string name="uicc_hot_swapped_event_text">Atingeți pentru a seta preferințele implicite ale cardului SIM</string> </resources> diff --git a/core/res/res/values-sk/cm_strings.xml b/core/res/res/values-sk/cm_strings.xml index 31eb96b..6748dbb 100644 --- a/core/res/res/values-sk/cm_strings.xml +++ b/core/res/res/values-sk/cm_strings.xml @@ -132,10 +132,12 @@ <string name="app_ops_record_audio">nahrať zvuk</string> <string name="app_ops_send_mms">odoslať správu MMS</string> <string name="app_ops_send_sms">odoslať správu SMS</string> - <string name="app_ops_start_at_bootup">spustiť pri štaťte</string> + <string name="app_ops_start_at_bootup">spustiť pri štarte</string> <string name="app_ops_toast_window">zobraziť vyskakovacie oznámenia</string> <string name="app_ops_toggle_bluetooth">prepnúť bluetooth</string> + <string name="app_ops_toggle_mobile_data">prepnúť mobilné dáta</string> <string name="app_ops_toggle_nfc">prepnúť NFC</string> + <string name="app_ops_toggle_wifi">prepnúť Wi-Fi</string> <string name="app_ops_use_alarm_volume">ovládať hlasitosť budíka</string> <string name="app_ops_use_audio_focus">ovládať zvukové zdroje</string> <string name="app_ops_use_bluetooth_volume">ovládať hlasitosť bluetooh</string> @@ -148,6 +150,21 @@ <string name="app_ops_use_voice_volume">ovládať hlasitosť hovoru</string> <string name="app_ops_write_mms">napísať správu MMS</string> <string name="app_ops_write_sms">napísať správu SMS</string> + <string name="app_ops_use_fingerprint">použiť odtlačok prsta</string> + <string name="app_ops_add_voicemail">pridať hlasovú poštu</string> + <string name="app_ops_read_phone_state">pristupovať k stavu telefónu</string> + <string name="app_ops_scan_wifi">prehľadať Wi-Fi siete</string> + <string name="app_ops_change_wallpaper">zmeniť tapetu</string> + <string name="app_ops_assist_structure">použiť asistovanú štruktúru</string> + <string name="app_ops_assist_screenshot">urobiť snímok obrazovky</string> + <string name="app_ops_use_body_sensors">použiť telové senzory</string> + <string name="app_ops_read_cell_broadcasts">čítať bunkové vysielanie</string> + <string name="app_ops_mock_location">falšovať vašu polohu</string> + <string name="app_ops_read_external_storage">čítať externé úložisko</string> + <string name="app_ops_write_external_storage">zapisovať do externého úložiska</string> + <string name="app_ops_turn_on_screen">zapnúť obrazovku</string> + <string name="app_ops_get_accounts">získať účty zariadenia</string> + <string name="app_ops_wifi_change">zmeniť stav Wi-Fi</string> <string name="app_ops_su">získať root prístup</string> <!-- Notify user that they are in Lock-to-app (for devices without navbar) --> <string name="lock_to_app_toast_no_navbar">Na odopnutie tejto obrazovky stlačte a podržte tlačidlo Späť.</string> @@ -159,7 +176,11 @@ <!-- Sequence of characters used to separate carrier message strings in keyguard. Typically just vertical line with spaces on either side. [CHAR LIMIT=3] --> <!-- Protected Apps Notification --> + <string name="notify_package_component_protected_title">Spustenie aktivity zablokované</string> + <string name="notify_package_component_protected_text"><xliff:g id="app_name">%1$s</xliff:g> je chránená proti spusteniu. Kliknite na overenie a spustenie aplikácie.</string> <!-- Battery fully charged notification --> + <string name="notify_battery_fully_charged_title">Batéria plne nabitá</string> + <string name="notify_battery_fully_charged_text">Odpojte zariadenie od nabíjačky pre zlepšenie životnosti batérie.</string> <!-- [CHAR LIMIT=NONE] Title of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <string name="permlab_resetBatteryStats">obnoviť štatistiky batérie</string> @@ -167,4 +188,6 @@ whether they want to allow the application to do this. --> <string name="permdesc_resetBatteryStats">Umožňuje aplikácii obnoviť aktuálne nízkoúrovňové údaje o využití batérie.</string> <!-- Uicc hotswapped event configuration needed notification --> + <string name="uicc_hot_swapped_event_title">SIM karty sa zmenili</string> + <string name="uicc_hot_swapped_event_text">Kliknite na nastavenie redvolieb SIM karty</string> </resources> diff --git a/core/res/res/values-ug/strings.xml b/core/res/res/values-ug/strings.xml index a5d9d1e..b6dee8c 100644 --- a/core/res/res/values-ug/strings.xml +++ b/core/res/res/values-ug/strings.xml @@ -741,6 +741,8 @@ <!-- Message shown during fingerprint acquisision when the user removes their finger from the sensor too quickly --> <!-- Message shown during fingerprint acquisision when the user moves their finger too slowly --> <!-- Array containing custom messages shown during fingerprint acquisision from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_acquired_vendor"> + </string-array> <!-- Error message shown when the fingerprint hardware can't be accessed --> <!-- Error message shown when the fingerprint hardware has run out of room for storing fingerprints --> <!-- Error message shown when the fingerprint hardware timer has expired and the user needs to restart the operation. --> @@ -749,6 +751,8 @@ <!-- Generic error message shown when the fingerprint hardware can't recognize the fingerprint --> <!-- Template to be used to name enrolled fingerprints by default. --> <!-- Array containing custom error messages from vendor. Vendor is expected to add and translate these strings --> + <string-array name="fingerprint_error_vendor"> + </string-array> <!-- Content description which should be used for the fingerprint icon. --> <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <string name="permlab_readSyncSettings">قەدەمداش تەڭشىكىنى ئوقۇيدۇ</string> diff --git a/core/res/res/values-zh-rCN/cm_strings.xml b/core/res/res/values-zh-rCN/cm_strings.xml index 6f522d1..ec8af28 100644 --- a/core/res/res/values-zh-rCN/cm_strings.xml +++ b/core/res/res/values-zh-rCN/cm_strings.xml @@ -32,13 +32,13 @@ <!-- Description of a category of application permissions, listed so the user can choose whether they want to allow the application to do this. --> <string name="permgroupdesc_security">与设备安全信息相关的权限。</string> <!-- [CHAR LIMIT=NONE] Title of an application permission, listed so the user can choose whether they want to allow the application to do this. --> - <string name="permlab_readPhoneBlacklist">读取手机黑名单</string> + <string name="permlab_readPhoneBlacklist">读取号码黑名单</string> <!-- [CHAR LIMIT=NONE] Description of an application permission, listed so the user can choose whether they want to allow the application to do this. --> - <string name="permdesc_readPhoneBlacklist">允许应用读取有关被阻止来电或信息的电话号码的信息。</string> + <string name="permdesc_readPhoneBlacklist">允许应用读取有关已阻止来电或信息的电话号码信息。</string> <!-- [CHAR LIMIT=NONE] Title of an application permission, listed so the user can choose whether they want to allow the application to do this. --> - <string name="permlab_changePhoneBlacklist">更改手机黑名单</string> + <string name="permlab_changePhoneBlacklist">更改号码黑名单</string> <!-- [CHAR LIMIT=NONE] Description of an application permission, listed so the user can choose whether they want to allow the application to do this. --> - <string name="permdesc_changePhoneBlacklist">允许应用更改被阻止来电或信息的电话号码。</string> + <string name="permdesc_changePhoneBlacklist">允许应用更改阻止来电或信息的电话号码。</string> <!-- Title of an application permission, listed so the user can choose whether they want the application to do this. --> <string name="permlab_setKeyguardWallpaper">设置锁屏壁纸</string> <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. --> @@ -76,13 +76,13 @@ <string name="adb_active_generic_notification_message">触摸以禁用调试。</string> <!-- ADB custom tile --> <string name="adb_active_custom_tile">ADB - <xliff:g id="adb_type" example="USB">%1$s</xliff:g></string> - <string name="adb_active_custom_tile_both">USB & 网络</string> + <string name="adb_active_custom_tile_both">USB 和网络</string> <string name="adb_active_custom_tile_usb">USB</string> <string name="adb_active_custom_tile_net">网络</string> <!-- Title of an application permission, listed so the user can choose whether they want the application to do this. --> <string name="permlab_interceptPackageLaunch">拦截应用启动</string> <!-- stylus gestures support --> - <string name="stylus_app_not_installed">%s 尚未被安装</string> + <string name="stylus_app_not_installed">%s 尚未安装</string> <!-- Zen mode buttons --> <string name="silent_mode_priority">优先级</string> <string name="silent_mode_none">无</string> @@ -92,7 +92,7 @@ <string name="notify_turn_wifi_off_title">关闭 Wi-Fi</string> <!-- Privacy Guard --> <string name="permlab_changePrivacyGuardState">启用或禁用隐私防护</string> - <string name="permdesc_changePrivacyGuardState">允许应用更改其他应用是否启用隐私防护。当一个应用运行时启用了隐私防护,它将不能访问个人数据,如联系人、通话记录、短信。</string> + <string name="permdesc_changePrivacyGuardState">允许应用更改其他应用是否启用隐私防护。当一个应用以启用隐私防护运行时,它将不能访问如联系人、通话记录、短信等个人数据。</string> <string name="privacy_guard_notification">隐私防护激活</string> <string name="privacy_guard_notification_detail"><xliff:g id="app">%1$s</xliff:g> 将不能访问个人数据</string> <string name="privacy_guard_dialog_title">隐私防护</string> @@ -101,7 +101,7 @@ <string name="permission_remember_choice">记住我的选择</string> <!-- App ops requests --> <string name="app_ops_access_camera">存取相机</string> - <string name="app_ops_access_location">访问你的地理位置信息</string> + <string name="app_ops_access_location">访问您的位置信息</string> <string name="app_ops_access_notifications">读取通知</string> <string name="app_ops_activate_vpn">激活一个 VPN</string> <string name="app_ops_auto_start">开机自启动</string> @@ -113,21 +113,21 @@ <string name="app_ops_get_usage_stats">获取应用使用情况统计</string> <string name="app_ops_keep_device_awake">保持设备唤醒</string> <string name="app_ops_make_phone_call">拨打电话</string> - <string name="app_ops_modify_calendar">更新你的日历</string> + <string name="app_ops_modify_calendar">更新您的日历</string> <string name="app_ops_modify_call_log">更新通话记录</string> <string name="app_ops_modify_clipboard">修改剪贴板</string> - <string name="app_ops_modify_contacts">更新你的联系人</string> + <string name="app_ops_modify_contacts">更新您的联系人</string> <string name="app_ops_modify_settings">更新系统设置</string> <string name="app_ops_mute_unmute_microphone">麦克风静音 / 解除静音</string> <string name="app_ops_play_audio">播放音频</string> <string name="app_ops_post_notification">发出通知</string> <string name="app_ops_project_media">放映媒体</string> - <string name="app_ops_read_calendar">读取你的日历</string> - <string name="app_ops_read_call_log">读取你的通话记录</string> - <string name="app_ops_read_clipboard">读取你的剪贴板</string> - <string name="app_ops_read_contacts">读取你的联系人</string> - <string name="app_ops_read_mms">读取你的彩信</string> - <string name="app_ops_read_sms">读取你的短信</string> + <string name="app_ops_read_calendar">读取您的日历</string> + <string name="app_ops_read_call_log">读取您的通话记录</string> + <string name="app_ops_read_clipboard">读取您的剪贴板</string> + <string name="app_ops_read_contacts">读取您的联系人</string> + <string name="app_ops_read_mms">读取您的彩信</string> + <string name="app_ops_read_sms">读取您的短信</string> <string name="app_ops_receive_sms">接收短信</string> <string name="app_ops_record_audio">录音</string> <string name="app_ops_send_mms">发送彩信</string> diff --git a/core/res/res/values-zh-rTW/cm_strings.xml b/core/res/res/values-zh-rTW/cm_strings.xml index 950c435..2edcb8a 100644 --- a/core/res/res/values-zh-rTW/cm_strings.xml +++ b/core/res/res/values-zh-rTW/cm_strings.xml @@ -40,13 +40,13 @@ <!-- [CHAR LIMIT=NONE] Description of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <string name="permdesc_changePhoneBlacklist">允許應用程式變更被封鎖來電或訊息的電話號碼。</string> <!-- Title of an application permission, listed so the user can choose whether they want the application to do this. --> - <string name="permlab_setKeyguardWallpaper">設定鎖定畫面桌布</string> + <string name="permlab_setKeyguardWallpaper">設定鎖定螢幕桌布</string> <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <string name="permdesc_setKeyguardWallpaper">允許應用程式變更鎖定畫面桌布。</string> <!-- label for item that reboots the phone in phone options dialog --> <string name="global_action_reboot">重新啟動</string> <!-- label for current user in phone options dialog --> - <string name="global_action_current_user">現在</string> + <string name="global_action_current_user">目前</string> <!-- Reboot menu --> <!-- Button to reboot the phone, within the Reboot Options dialog --> <string name="reboot_reboot">重新啟動</string> @@ -55,9 +55,9 @@ <!-- Button to reboot the phone into bootloader, within the Reboot Options dialog --> <string name="reboot_bootloader">Bootloader</string> <!-- Button to reboot the phone into download, within the Reboot Options dialog --> - <string name="reboot_download">Download</string> + <string name="reboot_download">下載</string> <!-- Button to soft reboot the device, within the Reboot Options dialog --> - <string name="reboot_soft">軟件重新啟動</string> + <string name="reboot_soft">軟體重新啟動</string> <!-- Title of dialog to confirm rebooting. --> <string name="reboot_title">重新啟動</string> <!-- Reboot Confirmation Dialog. When the user chooses to reboot the device, there will @@ -65,18 +65,18 @@ <string name="reboot_confirm" product="tablet">您的平板電腦將會重新啟動。</string> <string name="reboot_confirm" product="default">您的手機將會重新啟動。</string> <!-- Reboot Progress Dialog. This is shown if the user chooses to reboot the phone. --> - <string name="reboot_progress">正在重新啟動\u2026</string> + <string name="reboot_progress">重新啟動中\u2026</string> <!-- Long-press back kill application --> <string name="app_killed_message">已終止應用程式</string> <!-- ADB over network notification --> <string name="adb_net_active_notification_title">已啟用網路 ADB</string> <!-- ADB over USB and network notification --> - <string name="adb_both_active_notification_title">已啟用 USB 及網路 ADB</string> + <string name="adb_both_active_notification_title">ADB 透過 USB 和網路已啟用</string> <!-- ADB notification message--> <string name="adb_active_generic_notification_message">輕觸即可停用偵錯。</string> <!-- ADB custom tile --> <string name="adb_active_custom_tile">ADB - <xliff:g id="adb_type" example="USB">%1$s</xliff:g></string> - <string name="adb_active_custom_tile_both">USB和網路</string> + <string name="adb_active_custom_tile_both">USB 和網路</string> <string name="adb_active_custom_tile_usb">USB</string> <string name="adb_active_custom_tile_net">網路</string> <!-- Title of an application permission, listed so the user can choose whether they want the application to do this. --> @@ -84,13 +84,15 @@ <!-- stylus gestures support --> <string name="stylus_app_not_installed">未安裝 %s</string> <!-- Zen mode buttons --> - <string name="silent_mode_priority">優先度</string> + <string name="silent_mode_priority">優先權</string> <string name="silent_mode_none">無</string> <!-- Wifi Hotspot disabled due to subscription change --> + <string name="subscription_change_disabled_wifi_ap">由於 SIM 卡資訊變更,已停用 Wi-Fi 熱點</string> <!-- WiFi turn off notification action text --> + <string name="notify_turn_wifi_off_title">關閉 Wi-Fi</string> <!-- Privacy Guard --> <string name="permlab_changePrivacyGuardState">啟用或停用隱私守衛</string> - <string name="permdesc_changePrivacyGuardState">允許應用程式變更其他應用程式執行時是否啟用隱私守衛。當應用程式執行時啟用了隱私守衛,它將無法存取個人資料,例如聯絡人、通話記錄或訊息。</string> + <string name="permdesc_changePrivacyGuardState">允許應用程式更改其他應用程式執行時是否啟用隱私守衛。當應用程式執行時啟用了隱私守衛,它將無法存取個人資料,例如聯絡人、通話記錄或訊息。</string> <string name="privacy_guard_notification">隱私守衛正在運作</string> <string name="privacy_guard_notification_detail">「<xliff:g id="app">%1$s</xliff:g>」將無法存取個人資料</string> <string name="privacy_guard_dialog_title">隱私守衛</string> @@ -101,10 +103,10 @@ <string name="app_ops_access_camera">存取相機</string> <string name="app_ops_access_location">存取您的位置</string> <string name="app_ops_access_notifications">讀取您的通知</string> - <string name="app_ops_activate_vpn">啟動 VPN</string> + <string name="app_ops_activate_vpn">啟用一個 VPN</string> <string name="app_ops_auto_start">開機時啟動</string> <string name="app_ops_delete_call_log">刪除您的通話紀錄</string> - <string name="app_ops_delete_contacts">刪除您的連絡人</string> + <string name="app_ops_delete_contacts">刪除您的聯絡人</string> <string name="app_ops_delete_mms">刪除您的多媒體訊息</string> <string name="app_ops_delete_sms">刪除您的簡訊</string> <string name="app_ops_draw_on_top">在頂層繪製視窗</string> @@ -125,36 +127,36 @@ <string name="app_ops_read_clipboard">讀取剪貼簿</string> <string name="app_ops_read_contacts">讀取您的聯絡人資料</string> <string name="app_ops_read_mms">讀取您的多媒體簡訊</string> - <string name="app_ops_read_sms">讀取您的簡訊</string> - <string name="app_ops_receive_sms">接收簡訊</string> + <string name="app_ops_read_sms">讀取您的簡訊訊息</string> + <string name="app_ops_receive_sms">接收簡訊訊息</string> <string name="app_ops_record_audio">錄製音訊</string> <string name="app_ops_send_mms">傳送多媒體訊息</string> - <string name="app_ops_send_sms">傳送簡訊</string> + <string name="app_ops_send_sms">傳送簡訊訊息</string> <string name="app_ops_start_at_bootup">開機時啟動</string> - <string name="app_ops_toast_window">顯示彈出信息</string> - <string name="app_ops_toggle_bluetooth">開關藍牙</string> - <string name="app_ops_toggle_mobile_data">切換數據用量</string> - <string name="app_ops_toggle_nfc">開關 NFC</string> - <string name="app_ops_toggle_wifi">切換 Wi-Fi</string> + <string name="app_ops_toast_window">顯示提示訊息</string> + <string name="app_ops_toggle_bluetooth">切換至藍牙</string> + <string name="app_ops_toggle_mobile_data">切換至行動數據</string> + <string name="app_ops_toggle_nfc">切換至 NFC</string> + <string name="app_ops_toggle_wifi">切換至 Wi-Fi</string> <string name="app_ops_use_alarm_volume">控制鬧鐘音量</string> <string name="app_ops_use_audio_focus">控制音訊焦點</string> <string name="app_ops_use_bluetooth_volume">控制藍牙音量</string> <string name="app_ops_use_master_volume">控制主音量</string> - <string name="app_ops_use_media_buttons">使用媒體按鈕</string> + <string name="app_ops_use_media_buttons">使用媒體鍵</string> <string name="app_ops_use_media_volume">控制媒體音量</string> <string name="app_ops_use_notification_volume">控制通知音量</string> <string name="app_ops_use_ring_volume">控制鈴聲音量</string> - <string name="app_ops_use_vibrate">使用觸控震動</string> + <string name="app_ops_use_vibrate">使用觸覺回饋</string> <string name="app_ops_use_voice_volume">控制語音通話音量</string> <string name="app_ops_write_mms">撰寫多媒體訊息</string> - <string name="app_ops_write_sms">撰寫簡訊</string> + <string name="app_ops_write_sms">撰寫簡訊訊息</string> <string name="app_ops_use_fingerprint">使用指紋</string> - <string name="app_ops_add_voicemail">新增語音訊息</string> + <string name="app_ops_add_voicemail">新增語音信箱</string> <string name="app_ops_read_phone_state">存取電話狀態</string> <string name="app_ops_scan_wifi">掃描 Wi-Fi 網路</string> <string name="app_ops_change_wallpaper">變更桌布</string> <string name="app_ops_assist_structure">使用協助工具</string> - <string name="app_ops_assist_screenshot">擷取螢幕畫面</string> + <string name="app_ops_assist_screenshot">螢幕擷取畫面</string> <string name="app_ops_use_body_sensors">使用人體感應器</string> <string name="app_ops_read_cell_broadcasts">讀取區域廣播</string> <string name="app_ops_mock_location">模擬所在位置</string> @@ -165,7 +167,7 @@ <string name="app_ops_wifi_change">變更 Wi-Fi 狀態</string> <string name="app_ops_su">取得 Root 權限</string> <!-- Notify user that they are in Lock-to-app (for devices without navbar) --> - <string name="lock_to_app_toast_no_navbar">要解鎖此螢幕,觸摸並按住返回鍵。</string> + <string name="lock_to_app_toast_no_navbar">要解鎖此畫面,請輕觸並按住 [返回] 鍵。</string> <!-- Template for showing cellular network operator name while LTE calling is enabled --> <string name="tethered_notification_no_device_message">沒有已連接的裝置</string> <string name="tethered_notification_one_device_message"><xliff:g id="count">%1$s</xliff:g> 個已連接裝置</string> @@ -174,11 +176,11 @@ <!-- Sequence of characters used to separate carrier message strings in keyguard. Typically just vertical line with spaces on either side. [CHAR LIMIT=3] --> <!-- Protected Apps Notification --> - <string name="notify_package_component_protected_title">已阻止啟動活動</string> - <string name="notify_package_component_protected_text"><xliff:g id="app_name">%1$s </xliff:g> 正被防止啟動。按一下以進行身份驗證並啟動應用程式。</string> + <string name="notify_package_component_protected_title">已封鎖啟動活動</string> + <string name="notify_package_component_protected_text"><xliff:g id="app_name">%1$s </xliff:g> 正被防止啟動。按一下即可進行身份驗證並啟動應用程式。</string> <!-- Battery fully charged notification --> <string name="notify_battery_fully_charged_title">電池完全充滿</string> - <string name="notify_battery_fully_charged_text">請將設備與充電線拔除,以提高電池壽命。</string> + <string name="notify_battery_fully_charged_text">請將裝置與充電線拔除即可提高電池壽命。</string> <!-- [CHAR LIMIT=NONE] Title of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <string name="permlab_resetBatteryStats">重設電池統計資訊</string> @@ -187,5 +189,5 @@ <string name="permdesc_resetBatteryStats">允許應用程式重設目前低電量的電池使用資料。</string> <!-- Uicc hotswapped event configuration needed notification --> <string name="uicc_hot_swapped_event_title">SIM 卡已變更</string> - <string name="uicc_hot_swapped_event_text">點按以設定SIM卡預設選項</string> + <string name="uicc_hot_swapped_event_text">輕觸即可設定 SIM卡 預設偏好</string> </resources> diff --git a/core/res/res/values/cm_symbols.xml b/core/res/res/values/cm_symbols.xml index a56e5ac..19a4672 100644 --- a/core/res/res/values/cm_symbols.xml +++ b/core/res/res/values/cm_symbols.xml @@ -101,9 +101,6 @@ <!-- Advanced settings switch --> <java-symbol type="string" name="lock_to_app_toast_no_navbar" /> - <!-- PlatLogo --> - <java-symbol type="drawable" name="platlogo_cm" /> - <!-- Automatic brightness enhancements --> <java-symbol type="integer" name="config_autoBrightnessBrighteningLightFastDebounce"/> diff --git a/libs/androidfw/AssetManager.cpp b/libs/androidfw/AssetManager.cpp index 1add6c3..e6e4563 100644 --- a/libs/androidfw/AssetManager.cpp +++ b/libs/androidfw/AssetManager.cpp @@ -1006,6 +1006,7 @@ void AssetManager::addSystemOverlays(const char* pathOverlaysList, sharedRes->add(oass, oidmap, offset + 1, false, oap.pkgIdOverride); const_cast<AssetManager*>(this)->mAssetPaths.add(oap); const_cast<AssetManager*>(this)->mZipSet.addOverlay(targetPackagePath, oap); + delete oidmap; } } fclose(fin); diff --git a/media/java/android/media/ExifInterface.java b/media/java/android/media/ExifInterface.java index bb75547..2c7160f 100644 --- a/media/java/android/media/ExifInterface.java +++ b/media/java/android/media/ExifInterface.java @@ -1374,8 +1374,7 @@ public class ExifInterface { */ public void saveAttributes() throws IOException { if (!mIsSupportedFile) { - throw new UnsupportedOperationException( - "ExifInterface only supports saving attributes on JPEG formats."); + throw new IOException("ExifInterface only supports saving attributes on JPEG formats."); } // Keep the thumbnail in memory mThumbnailBytes = getThumbnail(); diff --git a/packages/CaptivePortalLogin/res/values-as-rIN/strings.xml b/packages/CaptivePortalLogin/res/values-as-rIN/strings.xml new file mode 100644 index 0000000..70489fb --- /dev/null +++ b/packages/CaptivePortalLogin/res/values-as-rIN/strings.xml @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<resources></resources> diff --git a/packages/CaptivePortalLogin/res/values-br-rFR/strings.xml b/packages/CaptivePortalLogin/res/values-br-rFR/strings.xml new file mode 100644 index 0000000..70489fb --- /dev/null +++ b/packages/CaptivePortalLogin/res/values-br-rFR/strings.xml @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<resources></resources> diff --git a/packages/CaptivePortalLogin/res/values-csb-rPL/strings.xml b/packages/CaptivePortalLogin/res/values-csb-rPL/strings.xml new file mode 100644 index 0000000..70489fb --- /dev/null +++ b/packages/CaptivePortalLogin/res/values-csb-rPL/strings.xml @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<resources></resources> diff --git a/packages/CaptivePortalLogin/res/values-cy/strings.xml b/packages/CaptivePortalLogin/res/values-cy/strings.xml new file mode 100644 index 0000000..70489fb --- /dev/null +++ b/packages/CaptivePortalLogin/res/values-cy/strings.xml @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<resources></resources> diff --git a/packages/CaptivePortalLogin/res/values-en-rPT/strings.xml b/packages/CaptivePortalLogin/res/values-en-rPT/strings.xml new file mode 100644 index 0000000..70489fb --- /dev/null +++ b/packages/CaptivePortalLogin/res/values-en-rPT/strings.xml @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<resources></resources> diff --git a/packages/CaptivePortalLogin/res/values-eo/strings.xml b/packages/CaptivePortalLogin/res/values-eo/strings.xml new file mode 100644 index 0000000..70489fb --- /dev/null +++ b/packages/CaptivePortalLogin/res/values-eo/strings.xml @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<resources></resources> diff --git a/packages/CaptivePortalLogin/res/values-es-rCO/strings.xml b/packages/CaptivePortalLogin/res/values-es-rCO/strings.xml new file mode 100644 index 0000000..70489fb --- /dev/null +++ b/packages/CaptivePortalLogin/res/values-es-rCO/strings.xml @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<resources></resources> diff --git a/packages/CaptivePortalLogin/res/values-es-rMX/strings.xml b/packages/CaptivePortalLogin/res/values-es-rMX/strings.xml new file mode 100644 index 0000000..70489fb --- /dev/null +++ b/packages/CaptivePortalLogin/res/values-es-rMX/strings.xml @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<resources></resources> diff --git a/packages/CaptivePortalLogin/res/values-frp-rIT/strings.xml b/packages/CaptivePortalLogin/res/values-frp-rIT/strings.xml new file mode 100644 index 0000000..70489fb --- /dev/null +++ b/packages/CaptivePortalLogin/res/values-frp-rIT/strings.xml @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<resources></resources> diff --git a/packages/CaptivePortalLogin/res/values-fy-rNL/strings.xml b/packages/CaptivePortalLogin/res/values-fy-rNL/strings.xml new file mode 100644 index 0000000..70489fb --- /dev/null +++ b/packages/CaptivePortalLogin/res/values-fy-rNL/strings.xml @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<resources></resources> diff --git a/packages/CaptivePortalLogin/res/values-ga-rIE/strings.xml b/packages/CaptivePortalLogin/res/values-ga-rIE/strings.xml new file mode 100644 index 0000000..70489fb --- /dev/null +++ b/packages/CaptivePortalLogin/res/values-ga-rIE/strings.xml @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<resources></resources> diff --git a/packages/CaptivePortalLogin/res/values-gd-rGB/strings.xml b/packages/CaptivePortalLogin/res/values-gd-rGB/strings.xml new file mode 100644 index 0000000..70489fb --- /dev/null +++ b/packages/CaptivePortalLogin/res/values-gd-rGB/strings.xml @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<resources></resources> diff --git a/packages/CaptivePortalLogin/res/values-oc-rFR/strings.xml b/packages/CaptivePortalLogin/res/values-oc-rFR/strings.xml new file mode 100644 index 0000000..70489fb --- /dev/null +++ b/packages/CaptivePortalLogin/res/values-oc-rFR/strings.xml @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<resources></resources> diff --git a/packages/CaptivePortalLogin/res/values-or-rIN/strings.xml b/packages/CaptivePortalLogin/res/values-or-rIN/strings.xml new file mode 100644 index 0000000..70489fb --- /dev/null +++ b/packages/CaptivePortalLogin/res/values-or-rIN/strings.xml @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<resources></resources> diff --git a/packages/DocumentsUI/res/values-lb/strings.xml b/packages/DocumentsUI/res/values-lb/strings.xml index 5bcd64f..3d6545d 100644 --- a/packages/DocumentsUI/res/values-lb/strings.xml +++ b/packages/DocumentsUI/res/values-lb/strings.xml @@ -42,6 +42,7 @@ <!-- Menu item title that deletes the selected documents [CHAR LIMIT=24] --> <string name="menu_delete">Läschen</string> <!-- Menu item title that selects all documents in the current directory [CHAR LIMIT=24] --> + <string name="menu_select_all">Alles auswielen</string> <!-- Menu item title that copies the selected documents [CHAR LIMIT=24] --> <!-- Menu item that reveals internal storage built into the device [CHAR LIMIT=24] --> <string name="menu_advanced_show" product="nosdcard">Interne Späicher uweisen</string> @@ -56,7 +57,9 @@ <!-- Menu item that hides the sizes of displayed files [CHAR LIMIT=24] --> <string name="menu_file_size_hide">Fichiersgréisst verstoppen</string> <!-- Button label that select the current directory [CHAR LIMIT=24] --> + <string name="button_select">Auswielen</string> <!-- Button label that copies files to the current directory [CHAR LIMIT=24] --> + <string name="button_copy">Kopéieren</string> <!-- Mode that sorts documents by their display name alphabetically [CHAR LIMIT=24] --> <string name="sort_name">No Numm</string> <!-- Mode that sorts documents by their last modified time in descending order; most recent first [CHAR LIMIT=24] --> @@ -94,11 +97,14 @@ <!-- Title of dialog when prompting user to select an app to share documents with [CHAR LIMIT=32] --> <string name="share_via">Deelen iwwer</string> <!-- Title of the copy notification [CHAR LIMIT=24] --> + <string name="copy_notification_title">Fichiere gi kopéiert</string> <!-- Text shown on the copy notification to indicate remaining time, in minutes [CHAR LIMIT=24] --> + <string name="copy_remaining"><xliff:g id="duration" example="3 minutes">%s</xliff:g> iwwreg</string> <!-- Toast shown when a file copy is kicked off --> <!-- Text shown on the copy notification while DocumentsUI performs setup in preparation for copying files [CHAR LIMIT=32] --> <!-- Title of the copy error notification [CHAR LIMIT=48] --> <!-- Second line for notifications saying that more information will be shown after touching [CHAR LIMIT=48] --> <!-- Label of a dialog button for retrying a failed operation [CHAR LIMIT=24] --> + <string name="retry">Nees probéieren</string> <!-- Contents of the copying failure alert dialog. [CHAR LIMIT=48] --> </resources> diff --git a/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java b/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java index 46b73d8..f72832a 100644 --- a/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java +++ b/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java @@ -135,7 +135,8 @@ public class ExternalStorageProvider extends DocumentsProvider { final VolumeInfo privateVol = mStorageManager.findPrivateForEmulated(volume); title = mStorageManager.getBestVolumeDescription(privateVol); } - } else if (volume.getType() == VolumeInfo.TYPE_PUBLIC) { + } else if (volume.getType() == VolumeInfo.TYPE_PUBLIC + && volume.getMountUserId() == userId) { rootId = volume.getFsUuid(); title = mStorageManager.getBestVolumeDescription(volume); } else { diff --git a/packages/Keyguard/res/values-gl-rES/cm_strings.xml b/packages/Keyguard/res/values-gl-rES/cm_strings.xml index 4221609..314940a 100644 --- a/packages/Keyguard/res/values-gl-rES/cm_strings.xml +++ b/packages/Keyguard/res/values-gl-rES/cm_strings.xml @@ -21,6 +21,10 @@ <!-- Shown in the lock screen when there is SIM card IO error. --> <string name="lockscreen_sim_error_message_short">Esta tarxeta non é válida.</string> <!-- Instructions telling the user remaining times when enter SIM PIN view. --> + <plurals name="kg_password_default_pin_message"> + <item quantity="one">Introduce o código PIN. Tienes <xliff:g id="number">%d</xliff:g> intento restante antes de ter que comunicarte con a tua operadora para desbloquear o dispositivo.</item> + <item quantity="other">Introduce o código PIN. Tienes <xliff:g id="number">%d</xliff:g> intentos restantes.</item> + </plurals> <!-- Shown in the KeyguardSimPinView when entry length is too short. --> <string name="kg_invalid_sim_length">Erro: O dato introducido é máis curto có mínimo esixido</string> </resources> diff --git a/packages/Keyguard/res/values-ro/cm_strings.xml b/packages/Keyguard/res/values-ro/cm_strings.xml index c9a5723..4cfd544 100644 --- a/packages/Keyguard/res/values-ro/cm_strings.xml +++ b/packages/Keyguard/res/values-ro/cm_strings.xml @@ -17,9 +17,15 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- When the user inserts a sim card with some personalization enabled --> + <string name="keyguard_perso_locked_message">Cardul SIM este Perso blocat</string> <!-- Shown in the lock screen when there is SIM card IO error. --> <string name="lockscreen_sim_error_message_short">Cartelă SIM incorectă.</string> <!-- Instructions telling the user remaining times when enter SIM PIN view. --> + <plurals name="kg_password_default_pin_message"> + <item quantity="one">Introduceţi PIN-ul pentru SIM, mai aveţi <xliff:g id="number">%d</xliff:g> încercare rămasă înainte de a trebui să contactaţi compania de rețea mobilă pentru a debloca dispozitivul.</item> + <item quantity="few">Introduceţi PIN-ul pentru SIM, mai aveţi <xliff:g id="number">%d</xliff:g> (de) încercări rămase.</item> + <item quantity="other">Introduceţi PIN-ul pentru SIM, mai aveţi <xliff:g id="number">%d</xliff:g> (de) încercări rămase.</item> + </plurals> <!-- Shown in the KeyguardSimPinView when entry length is too short. --> <string name="kg_invalid_sim_length">Eroare: Introducere mai scurtă decât lungimea minimă</string> </resources> diff --git a/packages/Keyguard/res/values-sk/cm_strings.xml b/packages/Keyguard/res/values-sk/cm_strings.xml index f54f1ff..bcc9ea0 100644 --- a/packages/Keyguard/res/values-sk/cm_strings.xml +++ b/packages/Keyguard/res/values-sk/cm_strings.xml @@ -17,8 +17,15 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- When the user inserts a sim card with some personalization enabled --> + <string name="keyguard_perso_locked_message">SIM/RUIM je uzamknutá pomocou Perso</string> <!-- Shown in the lock screen when there is SIM card IO error. --> <string name="lockscreen_sim_error_message_short">Neplatná karta.</string> <!-- Instructions telling the user remaining times when enter SIM PIN view. --> + <plurals name="kg_password_default_pin_message"> + <item quantity="one">Zadajte kód PIN. Máte <xliff:g id="number">%d</xliff:g> zostávajúci pokus predtým, ako budete musieť kontaktovať vášho operátora pre odomknutie zariadenia.</item> + <item quantity="few">Zadajte kód PIN. Máte <xliff:g id="number">%d</xliff:g> zostávajúce pokusy.</item> + <item quantity="other">Zadajte kód PIN. Máte <xliff:g id="number">%d</xliff:g> zostávajúcich pokusov.</item> + </plurals> <!-- Shown in the KeyguardSimPinView when entry length is too short. --> + <string name="kg_invalid_sim_length">Chyba: Vstup je kratší ako minimálna dĺžka</string> </resources> diff --git a/packages/Keyguard/res/values-zh-rCN/cm_strings.xml b/packages/Keyguard/res/values-zh-rCN/cm_strings.xml index 6f94967..948efc1 100644 --- a/packages/Keyguard/res/values-zh-rCN/cm_strings.xml +++ b/packages/Keyguard/res/values-zh-rCN/cm_strings.xml @@ -22,7 +22,7 @@ <string name="lockscreen_sim_error_message_short">无效的 SIM 卡。</string> <!-- Instructions telling the user remaining times when enter SIM PIN view. --> <plurals name="kg_password_default_pin_message"> - <item quantity="other">输入 SIM 卡 PIN。您还有 <xliff:g id="number">%d</xliff:g> 次尝试机会;若超出此次数,则必须联系运营商以解锁 SIM 卡。</item> + <item quantity="other">请输入 SIM 卡 PIN。您还有 <xliff:g id="number">%d</xliff:g> 次尝试机会。若超出此次数,则必须为解锁 SIM 卡求助运营商。</item> </plurals> <!-- Shown in the KeyguardSimPinView when entry length is too short. --> <string name="kg_invalid_sim_length">错误:输入长度小于最小长度</string> diff --git a/packages/Keyguard/res/values-zh-rTW/cm_strings.xml b/packages/Keyguard/res/values-zh-rTW/cm_strings.xml index 9ab7837..26a9005 100644 --- a/packages/Keyguard/res/values-zh-rTW/cm_strings.xml +++ b/packages/Keyguard/res/values-zh-rTW/cm_strings.xml @@ -17,10 +17,13 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- When the user inserts a sim card with some personalization enabled --> - <string name="keyguard_perso_locked_message">SIM/RUIM 卡已被鎖定</string> + <string name="keyguard_perso_locked_message">SIM 卡已被鎖定</string> <!-- Shown in the lock screen when there is SIM card IO error. --> <string name="lockscreen_sim_error_message_short">無效的 SIM 卡。</string> <!-- Instructions telling the user remaining times when enter SIM PIN view. --> + <plurals name="kg_password_default_pin_message"> + <item quantity="other">輸入 SIM 卡的 PIN,您剩餘 <xliff:g id="number">%d </xliff:g> 次嘗試機會。</item> + </plurals> <!-- Shown in the KeyguardSimPinView when entry length is too short. --> <string name="kg_invalid_sim_length">錯誤:輸入少於最小長度</string> </resources> diff --git a/packages/SettingsLib/res/values-am/cm_strings.xml b/packages/SettingsLib/res/values-am/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-am/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-ast-rES/arrays.xml b/packages/SettingsLib/res/values-ast-rES/arrays.xml index 6e3c7ef..1d95ab1 100644 --- a/packages/SettingsLib/res/values-ast-rES/arrays.xml +++ b/packages/SettingsLib/res/values-ast-rES/arrays.xml @@ -24,7 +24,7 @@ <!-- Wi-Fi settings. The status messages when the network is unknown. --> <string-array name="wifi_status"> <!-- Status message of Wi-Fi when it is idle. --> - <item/> + <item></item> <!-- Status message of Wi-Fi when it is scanning. --> <item>Esplorando\u2026</item> <!-- Status message of Wi-Fi when it is connecting. --> @@ -52,7 +52,7 @@ <!-- Wi-Fi settings. The status messages when the network is known. --> <string-array name="wifi_status_with_ssid"> <!-- Status message of Wi-Fi when it is idle. --> - <item/> + <item></item> <!-- Status message of Wi-Fi when it is scanning. --> <item>Esplorando\u2026</item> <!-- Status message of Wi-Fi when it is connecting to a network. --> diff --git a/packages/SettingsLib/res/values-az-rAZ/cm_strings.xml b/packages/SettingsLib/res/values-az-rAZ/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-az-rAZ/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-bn-rBD/cm_strings.xml b/packages/SettingsLib/res/values-bn-rBD/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-bn-rBD/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-br-rFR/cm_strings.xml b/packages/SettingsLib/res/values-br-rFR/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-br-rFR/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-bs-rBA/cm_strings.xml b/packages/SettingsLib/res/values-bs-rBA/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-bs-rBA/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-csb-rPL/cm_strings.xml b/packages/SettingsLib/res/values-csb-rPL/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-csb-rPL/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-cy/cm_strings.xml b/packages/SettingsLib/res/values-cy/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-cy/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-en-rAU/cm_strings.xml b/packages/SettingsLib/res/values-en-rAU/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-en-rAU/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-en-rGB/cm_strings.xml b/packages/SettingsLib/res/values-en-rGB/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-en-rGB/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-en-rPT/cm_strings.xml b/packages/SettingsLib/res/values-en-rPT/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-en-rPT/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-eo/arrays.xml b/packages/SettingsLib/res/values-eo/arrays.xml index e58c1d5..f60a34d 100644 --- a/packages/SettingsLib/res/values-eo/arrays.xml +++ b/packages/SettingsLib/res/values-eo/arrays.xml @@ -24,7 +24,7 @@ <!-- Wi-Fi settings. The status messages when the network is unknown. --> <string-array name="wifi_status"> <!-- Status message of Wi-Fi when it is idle. --> - <item/> + <item></item> <!-- Status message of Wi-Fi when it is scanning. --> <item>Scanning\u2026</item> <!-- Status message of Wi-Fi when it is connecting. --> @@ -52,7 +52,7 @@ <!-- Wi-Fi settings. The status messages when the network is known. --> <string-array name="wifi_status_with_ssid"> <!-- Status message of Wi-Fi when it is idle. --> - <item/> + <item></item> <!-- Status message of Wi-Fi when it is scanning. --> <item>Scanning\u2026</item> <!-- Status message of Wi-Fi when it is connecting to a network. --> diff --git a/packages/SettingsLib/res/values-eo/cm_strings.xml b/packages/SettingsLib/res/values-eo/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-eo/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-es-rCO/cm_strings.xml b/packages/SettingsLib/res/values-es-rCO/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-es-rCO/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-fa/cm_strings.xml b/packages/SettingsLib/res/values-fa/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-fa/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-fil-rPH/cm_strings.xml b/packages/SettingsLib/res/values-fil-rPH/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-fil-rPH/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-fr-rCA/cm_strings.xml b/packages/SettingsLib/res/values-fr-rCA/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-fr-rCA/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-frp-rIT/cm_strings.xml b/packages/SettingsLib/res/values-frp-rIT/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-frp-rIT/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-fy-rNL/cm_strings.xml b/packages/SettingsLib/res/values-fy-rNL/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-fy-rNL/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-ga-rIE/cm_strings.xml b/packages/SettingsLib/res/values-ga-rIE/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-ga-rIE/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-gd-rGB/cm_strings.xml b/packages/SettingsLib/res/values-gd-rGB/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-gd-rGB/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-hi/cm_strings.xml b/packages/SettingsLib/res/values-hi/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-hi/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-hy-rAM/cm_strings.xml b/packages/SettingsLib/res/values-hy-rAM/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-hy-rAM/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-is-rIS/cm_strings.xml b/packages/SettingsLib/res/values-is-rIS/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-is-rIS/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-ka-rGE/cm_strings.xml b/packages/SettingsLib/res/values-ka-rGE/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-ka-rGE/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-kk-rKZ/cm_strings.xml b/packages/SettingsLib/res/values-kk-rKZ/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-kk-rKZ/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-km-rKH/cm_strings.xml b/packages/SettingsLib/res/values-km-rKH/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-km-rKH/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-ku/cm_strings.xml b/packages/SettingsLib/res/values-ku/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-ku/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-ky-rKG/cm_strings.xml b/packages/SettingsLib/res/values-ky-rKG/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-ky-rKG/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-lo-rLA/cm_strings.xml b/packages/SettingsLib/res/values-lo-rLA/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-lo-rLA/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-lt/cm_strings.xml b/packages/SettingsLib/res/values-lt/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-lt/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-lv/cm_strings.xml b/packages/SettingsLib/res/values-lv/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-lv/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-mk-rMK/cm_strings.xml b/packages/SettingsLib/res/values-mk-rMK/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-mk-rMK/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-mn-rMN/cm_strings.xml b/packages/SettingsLib/res/values-mn-rMN/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-mn-rMN/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-ms-rMY/cm_strings.xml b/packages/SettingsLib/res/values-ms-rMY/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-ms-rMY/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-my-rMM/cm_strings.xml b/packages/SettingsLib/res/values-my-rMM/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-my-rMM/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-nb/cm_strings.xml b/packages/SettingsLib/res/values-nb/cm_strings.xml index e55d4a1..28be6da 100644 --- a/packages/SettingsLib/res/values-nb/cm_strings.xml +++ b/packages/SettingsLib/res/values-nb/cm_strings.xml @@ -19,7 +19,7 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="profile_applist_title">Apps</string> + <string name="profile_applist_title">Apper</string> <string name="picker_activities">Aktiviteter</string> <string name="select_custom_app_title">Velg egendefinert app</string> <string name="select_custom_activity_title">Velg egendefinert aktivitet</string> diff --git a/packages/SettingsLib/res/values-ne-rNP/cm_strings.xml b/packages/SettingsLib/res/values-ne-rNP/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-ne-rNP/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-oc-rFR/cm_strings.xml b/packages/SettingsLib/res/values-oc-rFR/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-oc-rFR/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-pa-rIN/cm_strings.xml b/packages/SettingsLib/res/values-pa-rIN/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-pa-rIN/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-rm/cm_strings.xml b/packages/SettingsLib/res/values-rm/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-rm/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-si-rLK/cm_strings.xml b/packages/SettingsLib/res/values-si-rLK/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-si-rLK/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-sk/cm_strings.xml b/packages/SettingsLib/res/values-sk/cm_strings.xml new file mode 100644 index 0000000..a423c4d --- /dev/null +++ b/packages/SettingsLib/res/values-sk/cm_strings.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="profile_applist_title">Aplikácie</string> + <string name="picker_activities">Aktivity</string> + <string name="select_custom_app_title">Vyberte vlastnú aplikáciu</string> + <string name="select_custom_activity_title">Vyberte vlastnú aktivitu</string> + <string name="lockscreen_targets_message">Ikony obrazovky uzamknutia</string> +</resources> diff --git a/packages/SettingsLib/res/values-sq-rAL/cm_strings.xml b/packages/SettingsLib/res/values-sq-rAL/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-sq-rAL/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-sw/cm_strings.xml b/packages/SettingsLib/res/values-sw/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-sw/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-ug/arrays.xml b/packages/SettingsLib/res/values-ug/arrays.xml index 584305e..e4f82d3 100644 --- a/packages/SettingsLib/res/values-ug/arrays.xml +++ b/packages/SettingsLib/res/values-ug/arrays.xml @@ -24,7 +24,7 @@ <!-- Wi-Fi settings. The status messages when the network is unknown. --> <string-array name="wifi_status"> <!-- Status message of Wi-Fi when it is idle. --> - <item/> + <item></item> <!-- Status message of Wi-Fi when it is scanning. --> <item>تەكشۈرۈۋاتىدۇ\u2026</item> <!-- Status message of Wi-Fi when it is connecting. --> diff --git a/packages/SettingsLib/res/values-ur-rPK/cm_strings.xml b/packages/SettingsLib/res/values-ur-rPK/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-ur-rPK/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-uz-rUZ/cm_strings.xml b/packages/SettingsLib/res/values-uz-rUZ/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-uz-rUZ/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-zh-rHK/cm_strings.xml b/packages/SettingsLib/res/values-zh-rHK/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-zh-rHK/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsLib/res/values-zu/cm_strings.xml b/packages/SettingsLib/res/values-zu/cm_strings.xml new file mode 100644 index 0000000..220d5f5 --- /dev/null +++ b/packages/SettingsLib/res/values-zu/cm_strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- +/* +** +** Copyright 2015 The CyanogenMod Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/defaults.xml index a3a5aaa..e9169bf 100644 --- a/packages/SettingsProvider/res/values/defaults.xml +++ b/packages/SettingsProvider/res/values/defaults.xml @@ -29,13 +29,6 @@ <bool name="def_auto_time">true</bool> <bool name="def_auto_time_zone">true</bool> <bool name="def_accelerometer_rotation">true</bool> - <!-- Bitmask of allowed display rotation angles: - ROTATION_0_MODE: 1 - ROTATION_90_MODE: 2 - ROTATION_180_MODE: 4 - ROTATION_270_MODE: 8 - Default to 0, 90, 270. --> - <integer name="def_accelerometer_rotation_angles">11</integer> <!-- Default screen brightness, from 0 to 255. 102 is 40%. --> <integer name="def_screen_brightness">102</integer> <bool name="def_screen_brightness_automatic_mode">false</bool> @@ -230,9 +223,6 @@ <!-- Default for Settings.Secure.NFC_PAYMENT_COMPONENT --> <string name="def_nfc_payment_component"></string> - <!-- Default for Settings.System.STATUS_BAR_NOTIF_COUNT. --> - <integer name="def_notif_count">0</integer> - <!-- Default protected sms originating address values of Settings.Secure.PROTECTED_SMS_ADDRESSES --> <string-array name="def_protected_sms_list_values"></string-array> diff --git a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java index fe6b079..a57ddc1 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java @@ -2586,9 +2586,6 @@ class DatabaseHelper extends SQLiteOpenHelper { loadBooleanSetting(stmt, Settings.System.ACCELEROMETER_ROTATION, R.bool.def_accelerometer_rotation); - loadIntegerSetting(stmt, Settings.System.ACCELEROMETER_ROTATION_ANGLES, - R.integer.def_accelerometer_rotation_angles); - loadDefaultHapticSettings(stmt); loadBooleanSetting(stmt, Settings.System.NOTIFICATION_LIGHT_PULSE, diff --git a/packages/StatementService/res/values-as-rIN/strings.xml b/packages/StatementService/res/values-as-rIN/strings.xml new file mode 100644 index 0000000..4987b56 --- /dev/null +++ b/packages/StatementService/res/values-as-rIN/strings.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/StatementService/res/values-br-rFR/strings.xml b/packages/StatementService/res/values-br-rFR/strings.xml new file mode 100644 index 0000000..4987b56 --- /dev/null +++ b/packages/StatementService/res/values-br-rFR/strings.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/StatementService/res/values-csb-rPL/strings.xml b/packages/StatementService/res/values-csb-rPL/strings.xml new file mode 100644 index 0000000..4987b56 --- /dev/null +++ b/packages/StatementService/res/values-csb-rPL/strings.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/StatementService/res/values-cy/strings.xml b/packages/StatementService/res/values-cy/strings.xml new file mode 100644 index 0000000..4987b56 --- /dev/null +++ b/packages/StatementService/res/values-cy/strings.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/StatementService/res/values-en-rPT/strings.xml b/packages/StatementService/res/values-en-rPT/strings.xml new file mode 100644 index 0000000..4987b56 --- /dev/null +++ b/packages/StatementService/res/values-en-rPT/strings.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/StatementService/res/values-eo/strings.xml b/packages/StatementService/res/values-eo/strings.xml new file mode 100644 index 0000000..4987b56 --- /dev/null +++ b/packages/StatementService/res/values-eo/strings.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/StatementService/res/values-es-rCO/strings.xml b/packages/StatementService/res/values-es-rCO/strings.xml new file mode 100644 index 0000000..4987b56 --- /dev/null +++ b/packages/StatementService/res/values-es-rCO/strings.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/StatementService/res/values-es-rMX/strings.xml b/packages/StatementService/res/values-es-rMX/strings.xml new file mode 100644 index 0000000..4987b56 --- /dev/null +++ b/packages/StatementService/res/values-es-rMX/strings.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/StatementService/res/values-frp-rIT/strings.xml b/packages/StatementService/res/values-frp-rIT/strings.xml new file mode 100644 index 0000000..4987b56 --- /dev/null +++ b/packages/StatementService/res/values-frp-rIT/strings.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/StatementService/res/values-fy-rNL/strings.xml b/packages/StatementService/res/values-fy-rNL/strings.xml new file mode 100644 index 0000000..4987b56 --- /dev/null +++ b/packages/StatementService/res/values-fy-rNL/strings.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/StatementService/res/values-ga-rIE/strings.xml b/packages/StatementService/res/values-ga-rIE/strings.xml new file mode 100644 index 0000000..4987b56 --- /dev/null +++ b/packages/StatementService/res/values-ga-rIE/strings.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/StatementService/res/values-gd-rGB/strings.xml b/packages/StatementService/res/values-gd-rGB/strings.xml new file mode 100644 index 0000000..4987b56 --- /dev/null +++ b/packages/StatementService/res/values-gd-rGB/strings.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/StatementService/res/values-ku/strings.xml b/packages/StatementService/res/values-ku/strings.xml new file mode 100644 index 0000000..4987b56 --- /dev/null +++ b/packages/StatementService/res/values-ku/strings.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/StatementService/res/values-lb/strings.xml b/packages/StatementService/res/values-lb/strings.xml new file mode 100644 index 0000000..4987b56 --- /dev/null +++ b/packages/StatementService/res/values-lb/strings.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/StatementService/res/values-oc-rFR/strings.xml b/packages/StatementService/res/values-oc-rFR/strings.xml new file mode 100644 index 0000000..4987b56 --- /dev/null +++ b/packages/StatementService/res/values-oc-rFR/strings.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/StatementService/res/values-or-rIN/strings.xml b/packages/StatementService/res/values-or-rIN/strings.xml new file mode 100644 index 0000000..4987b56 --- /dev/null +++ b/packages/StatementService/res/values-or-rIN/strings.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- 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:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/packages/SystemUI/res/drawable/cid.xml b/packages/SystemUI/res/drawable/cid.xml deleted file mode 100644 index 614a050..0000000 --- a/packages/SystemUI/res/drawable/cid.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - Copyright (C) 2014 The CyanogenMod Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="48dp" - android:height="48dp" - android:viewportWidth="48" - android:viewportHeight="48"> - - <group> - <path - android:name="torso" - android:pathData="M35.616,28.128l-4.185-11.17c-0.37-0.966-1.233-1.561-2.11-1.862c-0.638-0.219-1.94-0.47-4.366-0.59h-1.91 c-2.427,0.12-3.729,0.371-4.367,0.59c-0.877,0.301-1.74,0.896-2.11,1.862l-4.185,11.17c-0.496,1.122,0.396,1.59,1.148,1.385 c0.809-0.221,1.518-0.506,2.084-1.866c0.309-0.742,2.818-7.124,2.818-7.124l-1.542,27.45c0,0,0.603,0,2.095,0 c0.967,0,2.209-1.01,2.419-3.358l0.931-12.818h0.709h0.104h0.562h0.241h0.005h0.085h0.005h0.241h0.562h0.104h0.709l0.931,12.818 c0.21,2.348,1.452,3.358,2.419,3.358c1.492,0,2.095,0,2.095,0l-1.542-27.45c0,0,2.509,6.382,2.818,7.124 c0.566,1.36,1.275,1.645,2.084,1.866C35.221,29.718,36.112,29.25,35.616,28.128Z M24,25.331c-1.817,0-3.295-1.478-3.295-3.295 c0-1.817,1.478-3.295,3.295-3.295c1.817,0,3.295,1.478,3.295,3.295C27.295,23.853,25.817,25.331,24,25.331z M26.616,22.036 c0,1.443-1.174,2.616-2.616,2.616c-1.443,0-2.616-1.174-2.616-2.616c0-1.442,1.174-2.616,2.616-2.616 C25.442,19.42,26.616,20.593,26.616,22.036z" - android:fillColor="#FFFFFF" /> - <path - android:name="head" - android:pathData="M29.081,3.012l0.962-2.35c0.096-0.235-0.016-0.503-0.251-0.599c-0.235-0.096-0.503,0.016-0.599,0.251l-0.997,2.435 c-1.1-0.252-2.503-0.348-4.18-0.348v0.006h0V2.4c-0.219,0-0.432,0.002-0.642,0.006h-0.001c-1.396,0.023-2.581,0.124-3.537,0.343 l-0.997-2.435c-0.096-0.235-0.364-0.347-0.599-0.251c-0.235,0.096-0.347,0.364-0.251,0.599l0.962,2.35 c-1.277,0.483-1.955,1.3-1.955,2.612v2.752V9.09v0.784c0,2.411,2.284,3.151,6.377,3.218v0.004h0.254 c0.128,0.001,0.258,0.002,0.389,0.002v-0.002h0v0.002c0.131,0,0.261-0.001,0.389-0.002h0.018c4.242-0.042,6.613-0.764,6.613-3.221 V9.09V8.376V5.624C31.037,4.311,30.358,3.495,29.081,3.012Z M20.407,9.78c-1.16,0-2.1-0.94-2.1-2.1c0-1.16,0.94-2.1,2.1-2.1 c1.16,0,2.1,0.94,2.1,2.1C22.507,8.84,21.567,9.78,20.407,9.78z M24.237,11.303h-0.443c-0.326,0-0.591-0.264-0.591-0.591 c0-0.012,0.003-0.024,0.004-0.036h1.617c0.001,0.012,0.004,0.023,0.004,0.036C24.828,11.039,24.563,11.303,24.237,11.303z M27.625,9.78c-1.16,0-2.1-0.94-2.1-2.1c0-1.16,0.94-2.1,2.1-2.1c1.16,0,2.1,0.94,2.1,2.1C29.724,8.84,28.784,9.78,27.625,9.78z" - android:fillColor="#FFFFFF" /> - </group> -</vector> diff --git a/packages/SystemUI/res/layout/cmland.xml b/packages/SystemUI/res/layout/cmland.xml deleted file mode 100644 index 3c4e561..0000000 --- a/packages/SystemUI/res/layout/cmland.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - Copyright (C) 2015 The Android Open Source Project - Copyright (C) 2014-2015 The CyanogenMod Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:orientation="vertical" - android:layout_width="match_parent" - android:layout_height="match_parent" - > - <com.android.systemui.egg.CMLand - android:id="@+id/world" - android:layout_width="match_parent" - android:layout_height="match_parent"> - </com.android.systemui.egg.CMLand> - <FrameLayout - android:id="@+id/welcome" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:visibility="gone" - android:background="#a0000000" - android:clickable="true" - > - <FrameLayout - android:id="@+id/play_button" - android:layout_width="72dp" - android:layout_height="72dp" - android:layout_gravity="center" - android:clickable="true" - android:background="@drawable/ripplebg" - android:focusable="true" - android:onClick="startButtonPressed" - > - <ImageView - android:id="@+id/play_button_image" - android:layout_width="48dp" - android:layout_height="48dp" - android:scaleType="fitCenter" - android:layout_gravity="center" - android:tint="#000000" - android:src="@drawable/play" - /> - <TextView - android:id="@+id/play_button_text" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center" - android:alpha="0" - android:textSize="40dp" - android:textColor="#000000" - /> - </FrameLayout> - </FrameLayout> - <LinearLayout - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="top|center_horizontal" - android:orientation="horizontal" - android:gravity="center_vertical" - android:id="@+id/player_setup" - > - <ImageButton - style="@android:style/Widget.Material.Button.Borderless" - android:id="@+id/player_minus_button" - android:layout_width="48dp" - android:layout_height="48dp" - android:padding="10dp" - android:scaleType="centerInside" - android:onClick="playerMinus" - android:src="@drawable/minus" - /> - <LinearLayout - android:id="@+id/scores" - android:layout_width="wrap_content" - android:layout_height="64dp" - android:padding="12dp" - android:orientation="horizontal" - android:clipToPadding="false" - > - </LinearLayout> - <ImageButton - style="@android:style/Widget.Material.Button.Borderless" - android:id="@+id/player_plus_button" - android:layout_width="48dp" - android:layout_height="48dp" - android:padding="10dp" - android:scaleType="centerInside" - android:onClick="playerPlus" - android:src="@drawable/plus" - /> - </LinearLayout> -</FrameLayout> diff --git a/packages/SystemUI/res/values-be/cm_strings.xml b/packages/SystemUI/res/values-be/cm_strings.xml index 4db516e..6736912 100644 --- a/packages/SystemUI/res/values-be/cm_strings.xml +++ b/packages/SystemUI/res/values-be/cm_strings.xml @@ -35,7 +35,7 @@ <string name="lockscreen_choose_action_title">Выбар дзеяння</string> <string name="lockscreen_none_target">Нічога</string> <!-- Dialog title for navigation bar button selection --> - <string name="navbar_dialog_title">Выберыце дзеянне</string> + <string name="navbar_dialog_title">Абяры дзеяньне</string> <string name="navbar_home_button">Дамоў</string> <string name="navbar_recent_button">Запушчаныя дадаткі</string> <string name="navbar_search_button">Пошук</string> diff --git a/packages/SystemUI/res/values-bg/cm_strings.xml b/packages/SystemUI/res/values-bg/cm_strings.xml index 18cc9ba..d86244b 100644 --- a/packages/SystemUI/res/values-bg/cm_strings.xml +++ b/packages/SystemUI/res/values-bg/cm_strings.xml @@ -65,7 +65,7 @@ <string name="accessibility_quick_settings_profiles_changed">Профила е сменен с <xliff:g id="profile" example="Default">%s </xliff:g>.</string> <string name="quick_settings_compass_init">Стартиране на\u2026</string> <!-- Lights settings, LED notification --> - <string name="led_notification_title">Настройки на светлината</string> + <string name="led_notification_title">Светлинни настройки</string> <string name="led_notification_text">Светлинните индикации са разрешени от настройките</string> <string name="qs_tile_edit_header_instruction">Натиснете и задръжте плочка за да я пренаредите или премахнете</string> <string name="quick_settings_edit_label">Редактиране на плочки</string> @@ -138,9 +138,9 @@ <!-- Content description of the lock screen tile in quick settings when on (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_quick_settings_lock_screen_on">Включване на заключване на екран.</string> <!-- Announcement made when lock screen changes to off (not shown on the screen). [CHAR LIMIT=NONE] --> - <string name="accessibility_quick_settings_lock_screen_changed_off">Заключване екран е изключено.</string> + <string name="accessibility_quick_settings_lock_screen_changed_off">Заключване на екрана е изключено.</string> <!-- Announcement made when lock screen changes to on (not shown on the screen). [CHAR LIMIT=NONE] --> - <string name="accessibility_quick_settings_lock_screen_changed_on">Заключване екран е включено.</string> + <string name="accessibility_quick_settings_lock_screen_changed_on">Заключване на екрана е изключено.</string> <!-- Content description of the ambient display tile in quick settings when off (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_quick_settings_ambient_display_off">Активен дисплей е изключен.</string> <!-- Content description of the ambient display tile in quick settings when on (not shown on the screen). [CHAR LIMIT=NONE] --> diff --git a/packages/SystemUI/res/values-cs/cm_strings.xml b/packages/SystemUI/res/values-cs/cm_strings.xml index 4a0fc63..7f16da9 100644 --- a/packages/SystemUI/res/values-cs/cm_strings.xml +++ b/packages/SystemUI/res/values-cs/cm_strings.xml @@ -174,6 +174,7 @@ <string name="dynamic_qs_tile_next_alarm_label">Další budík</string> <string name="dynamic_qs_tile_ime_selector_label">Výběr IME</string> <string name="dynamic_qs_tile_su_label">Root přístup</string> + <string name="dynamic_qs_tile_themes_label">Motivy</string> <string name="quick_settings_title_advanced_location">Třístavové nastavení určení polohy</string> <!-- Content description of the location tile in quick settings when on, battery saving mode (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_quick_settings_location_battery_saving">Zjištění polohy: úsporný režim.</string> diff --git a/packages/SystemUI/res/values-es-rUS/cm_strings.xml b/packages/SystemUI/res/values-es-rUS/cm_strings.xml index a193b19..43f3f98 100644 --- a/packages/SystemUI/res/values-es-rUS/cm_strings.xml +++ b/packages/SystemUI/res/values-es-rUS/cm_strings.xml @@ -174,6 +174,7 @@ <string name="dynamic_qs_tile_next_alarm_label">Próxima alarma</string> <string name="dynamic_qs_tile_ime_selector_label">Selector IME</string> <string name="dynamic_qs_tile_su_label">Acceso a raíz</string> + <string name="dynamic_qs_tile_themes_label">Temas</string> <string name="quick_settings_title_advanced_location">Localización trizona</string> <!-- Content description of the location tile in quick settings when on, battery saving mode (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_quick_settings_location_battery_saving">Informes de ubicación: modo de ahorro de batería.</string> @@ -218,4 +219,8 @@ <!-- Path data for landscape battery --> <!-- Path data for circle battery --> <!-- Weather string format in keyguard --> + <string name="keyguard_status_view_weather_format"><xliff:g id="temp">%1$s</xliff:g> <xliff:g id="condition">%2$s</xliff:g></string> + <string name="expand_hint">Deslizar hacia abajo para ampliar</string> + <string name="swipe_left_hint">Deslizar a la izquierda para <xliff:g id="app_name">%1$s</xliff:g></string> + <string name="swipe_right_hint">Deslizar a la derecha para las notificaciones</string> </resources> diff --git a/packages/SystemUI/res/values-es/cm_strings.xml b/packages/SystemUI/res/values-es/cm_strings.xml index a9b7a8d..b342faf 100644 --- a/packages/SystemUI/res/values-es/cm_strings.xml +++ b/packages/SystemUI/res/values-es/cm_strings.xml @@ -174,6 +174,7 @@ <string name="dynamic_qs_tile_next_alarm_label">Próxima alarma</string> <string name="dynamic_qs_tile_ime_selector_label">Selector IME</string> <string name="dynamic_qs_tile_su_label">Acceso administrativo</string> + <string name="dynamic_qs_tile_themes_label">Temas</string> <string name="quick_settings_title_advanced_location">Ubicación por triangulación</string> <!-- Content description of the location tile in quick settings when on, battery saving mode (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_quick_settings_location_battery_saving">Informes de ubicación: modo de ahorro de batería.</string> @@ -218,4 +219,8 @@ <!-- Path data for landscape battery --> <!-- Path data for circle battery --> <!-- Weather string format in keyguard --> + <string name="keyguard_status_view_weather_format"><xliff:g id="temp">%1$s</xliff:g> <xliff:g id="condition">%2$s</xliff:g></string> + <string name="expand_hint">Desliza hacia abajo para expandir</string> + <string name="swipe_left_hint">Desliza hacia la izquierda para <xliff:g id="app_name">%1$s</xliff:g></string> + <string name="swipe_right_hint">Desliza hacia la derecha para ver las notificaciones</string> </resources> diff --git a/packages/SystemUI/res/values-fi/cm_strings.xml b/packages/SystemUI/res/values-fi/cm_strings.xml index c6e454d..becd5cb 100644 --- a/packages/SystemUI/res/values-fi/cm_strings.xml +++ b/packages/SystemUI/res/values-fi/cm_strings.xml @@ -174,6 +174,7 @@ <string name="dynamic_qs_tile_next_alarm_label">Seuraava hälytys</string> <string name="dynamic_qs_tile_ime_selector_label">Syöttötavan valitsin</string> <string name="dynamic_qs_tile_su_label">Root-oikeudet</string> + <string name="dynamic_qs_tile_themes_label">Teemat</string> <string name="quick_settings_title_advanced_location">Sijainnin lisäasetukset</string> <!-- Content description of the location tile in quick settings when on, battery saving mode (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_quick_settings_location_battery_saving">Sijainnin raportointi: virransäästötila.</string> diff --git a/packages/SystemUI/res/values-ja/cm_strings.xml b/packages/SystemUI/res/values-ja/cm_strings.xml index a8e2279..8f28f93 100644 --- a/packages/SystemUI/res/values-ja/cm_strings.xml +++ b/packages/SystemUI/res/values-ja/cm_strings.xml @@ -63,7 +63,7 @@ <string name="accessibility_quick_settings_profiles_changed_off">プロファイルがOFFになりました。</string> <!-- Announcement made when the profiles tile changes (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_quick_settings_profiles_changed">プロファイルが<xliff:g id="profile" example="Default">%s</xliff:g>に変更されました。</string> - <string name="quick_settings_compass_init">初期化中\u2026</string> + <string name="quick_settings_compass_init">初期化中...</string> <!-- Lights settings, LED notification --> <string name="led_notification_title">ライトの設定</string> <string name="led_notification_text">LEDライトが設定によって有効になっています</string> diff --git a/packages/SystemUI/res/values-nb/cm_strings.xml b/packages/SystemUI/res/values-nb/cm_strings.xml index ebef919..4a9478f 100644 --- a/packages/SystemUI/res/values-nb/cm_strings.xml +++ b/packages/SystemUI/res/values-nb/cm_strings.xml @@ -86,7 +86,7 @@ <string name="quick_settings_nfc_label">NFC</string> <string name="quick_settings_profiles">System profiler</string> <string name="quick_settings_profiles_off">Profiler deaktivert</string> - <string name="quick_settings_heads_up_label">Flytende notifikasjoner</string> + <string name="quick_settings_heads_up_label">Flytende varsler</string> <string name="quick_settings_battery_saver_label">Batterisparing</string> <!-- quick settings battery saver label to show when device is charging and tile is disabled --> <string name="quick_settings_battery_saver_label_charging">Batterisparing (lading)</string> @@ -150,9 +150,9 @@ <!-- Announcement made when ambient display changes to on (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_quick_settings_ambient_display_changed_on">Ambient skjerm er skrudd på.</string> <!-- Content description of the heads up tile in quick settings when off (not shown on the screen). [CHAR LIMIT=NONE] --> - <string name="accessibility_quick_settings_heads_up_off">Heads up notifikasjoner er av.</string> + <string name="accessibility_quick_settings_heads_up_off">Heads up varsler er av.</string> <!-- Content description of the heads up tile in quick settings when on (not shown on the screen). [CHAR LIMIT=NONE] --> - <string name="accessibility_quick_settings_heads_up_on">Heads up notifikasjoner er på.</string> + <string name="accessibility_quick_settings_heads_up_on">Heads up varsler er på.</string> <!-- Announcement made when heads up changes to off (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_quick_settings_heads_up_changed_off">Heads-up ble deaktivert.</string> <!-- Announcement made when heads up changes to on (not shown on the screen). [CHAR LIMIT=NONE] --> diff --git a/packages/SystemUI/res/values-nl/cm_strings.xml b/packages/SystemUI/res/values-nl/cm_strings.xml index ac6ec80..eb58814 100644 --- a/packages/SystemUI/res/values-nl/cm_strings.xml +++ b/packages/SystemUI/res/values-nl/cm_strings.xml @@ -37,7 +37,7 @@ <!-- Dialog title for navigation bar button selection --> <string name="navbar_dialog_title">Kies de toe te wijzen functie</string> <string name="navbar_home_button">Thuisknop</string> - <string name="navbar_recent_button">Recentknop</string> + <string name="navbar_recent_button">Recente apps-knop</string> <string name="navbar_search_button">Zoekknop</string> <string name="navbar_back_button">Terugknop</string> <string name="navbar_empty_button">Lege knop</string> diff --git a/packages/SystemUI/res/values-ro/cm_strings.xml b/packages/SystemUI/res/values-ro/cm_strings.xml index 2ef4e1d..47f93a8 100644 --- a/packages/SystemUI/res/values-ro/cm_strings.xml +++ b/packages/SystemUI/res/values-ro/cm_strings.xml @@ -29,6 +29,7 @@ <!-- Strings for lockscreen shortcut hints --> <string name="left_shortcut_hint">Glisați dreapta pentru %1$s</string> <string name="right_shortcut_hint">Glisați stânga pentru %1$s</string> + <string name="lockscreen_message">Apăsaţi o pictogramă din stânga sau dreapta pentru a realoca o comandă rapidă pe ecranul de blocare.</string> <string name="lockscreen_default_target">Implicit</string> <string name="select_application">Selectați aplicația</string> <string name="lockscreen_choose_action_title">Alege acțiunea</string> @@ -53,6 +54,7 @@ <!-- Title shown in recents popup for uninstalling the application --> <string name="advanced_dev_option_uninstall">Dezinstalați</string> <!-- Content description of the light brightness slider (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_notification_brightness">Luminozitate lumină</string> <!-- Content description of the profiles tile in quick settings when off (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_quick_settings_profiles_off">Profiluri oprit.</string> <!-- Content description of the profiles tile in quick settings (not shown on the screen). [CHAR LIMIT=NONE] --> @@ -64,6 +66,7 @@ <string name="quick_settings_compass_init">Inițializare\u2026</string> <!-- Lights settings, LED notification --> <string name="led_notification_title">Setări de lumină</string> + <string name="led_notification_text">Lumină LED activată de setări</string> <string name="qs_tile_edit_header_instruction">Apăsați și țineți apăsate chenarele pentru a rearanja</string> <string name="quick_settings_edit_label">Editare chenare</string> <string name="quick_settings_cannot_delete_edit_tile">Nu se poate șterge chenarul Editare</string> @@ -75,6 +78,7 @@ <string name="quick_settings_title_show_brightness_slider">Arată glisorul de luminozitate</string> <string name="quick_settings_title_enlarge_first_row">Mărește primul rând</string> <!-- Screen pinning dialog description (for devices without navbar) --> + <string name="screen_pinning_description_no_navbar">Aceasta ține în vizualizare ecranul până îl deblocați. Apăsați și țineți apăsat butonul Înapoi pentru a debloca.</string> <string name="quick_settings_custom_tile_detail_title">Chenar personalizat</string> <string name="quick_settings_remove">Eliminare chenar</string> <string name="quick_settings_network_adb_label">ADB prin rețea</string> @@ -85,6 +89,7 @@ <string name="quick_settings_heads_up_label">Atenționare</string> <string name="quick_settings_battery_saver_label">Economizor baterie</string> <!-- quick settings battery saver label to show when device is charging and tile is disabled --> + <string name="quick_settings_battery_saver_label_charging">Economizor de baterie (încărcare)</string> <string name="quick_settings_caffeine_label">Cofeină</string> <!-- Content description of the sync tile in quick settings when off (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_quick_settings_sync_off">Sincronizare oprită.</string> @@ -133,17 +138,25 @@ <!-- Content description of the lock screen tile in quick settings when on (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_quick_settings_lock_screen_on">Blocare ecran pornit.</string> <!-- Announcement made when lock screen changes to off (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_lock_screen_changed_off">Ecran de blocare dezactivat.</string> <!-- Announcement made when lock screen changes to on (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_lock_screen_changed_on">Ecran de blocare activat.</string> <!-- Content description of the ambient display tile in quick settings when off (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_quick_settings_ambient_display_off">Afișare ambientală oprită.</string> <!-- Content description of the ambient display tile in quick settings when on (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_quick_settings_ambient_display_on">Afișare ambientală pornită.</string> <!-- Announcement made when ambient display changes to off (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_ambient_display_changed_off">Afișaj ambiental dezactivat.</string> <!-- Announcement made when ambient display changes to on (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_ambient_display_changed_on">Afișaj ambiental activat.</string> <!-- Content description of the heads up tile in quick settings when off (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_heads_up_off">Heads-up oprit.</string> <!-- Content description of the heads up tile in quick settings when on (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_heads_up_on">Heads-up pornit.</string> <!-- Announcement made when heads up changes to off (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_heads_up_changed_off">Heads-up a fost oprit.</string> <!-- Announcement made when heads up changes to on (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_heads_up_changed_on">Heads-up a fost pornit.</string> <!-- Content description of the caffeine tile in quick settings when off (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_quick_settings_caffeine_off">Cofeină oprit.</string> <!-- Content description of the caffeine tile in quick settings when on (not shown on the screen). [CHAR LIMIT=NONE] --> @@ -161,6 +174,7 @@ <string name="dynamic_qs_tile_next_alarm_label">Următoarea alarmă</string> <string name="dynamic_qs_tile_ime_selector_label">Selector IME</string> <string name="dynamic_qs_tile_su_label">Acces root</string> + <string name="dynamic_qs_tile_themes_label">Teme</string> <string name="quick_settings_title_advanced_location">Starea celor 3 moduri de locație</string> <!-- Content description of the location tile in quick settings when on, battery saving mode (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_quick_settings_location_battery_saving">Raportarea locației: mod economisire baterie.</string> @@ -197,10 +211,17 @@ <item quantity="other">%1$d clienți</item> </plurals> <!-- CellularTile data sim not configured state string --> + <string name="data_sim_not_configured">Nu există date SIM</string> <!-- Content description of the dock battery level icon for accessibility (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_dock_battery_level">Procent baterie <xliff:g id="number">%d</xliff:g> andocată.</string> <!-- Play queue --> + <string name="play_queue_extention">Afișare coadă de redare</string> <!-- Path data for portrait battery --> <!-- Path data for landscape battery --> <!-- Path data for circle battery --> <!-- Weather string format in keyguard --> + <string name="keyguard_status_view_weather_format"><xliff:g id="temp">%1$s</xliff:g> <xliff:g id="condition">%2$s</xliff:g></string> + <string name="expand_hint">Glisați în jos pentru a extinde</string> + <string name="swipe_left_hint">Glisați stânga pentru a <xliff:g id="app_name">%1$s</xliff:g></string> + <string name="swipe_right_hint">Glisați dreapta pentru notificări</string> </resources> diff --git a/packages/SystemUI/res/values-sk/cm_strings.xml b/packages/SystemUI/res/values-sk/cm_strings.xml index 68e99e4..612b5ac 100644 --- a/packages/SystemUI/res/values-sk/cm_strings.xml +++ b/packages/SystemUI/res/values-sk/cm_strings.xml @@ -17,7 +17,9 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- Content description of the data connection type HSPA+ for accessibility (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_data_connection_hspap">HSPA+</string> <!-- Content description of the data connection type 4G+ for accessibility (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_data_connection_4g_plus">4G+</string> <!-- Weather string format in expanded statusbar header --> <string name="status_bar_expanded_header_weather_format"><xliff:g id="temp">%1$s</xliff:g> - <xliff:g id="condition">%2$s</xliff:g></string> <!-- Text to use when the number in a notification info is too large @@ -27,6 +29,8 @@ <!-- Strings for lockscreen shortcut hints --> <string name="left_shortcut_hint">Potiahnite doprava pre %1$s</string> <string name="right_shortcut_hint">Potiahnite doľava pre %1$s</string> + <string name="lockscreen_message">Kliknutím na ikonu vľavo alebo vpravo a zmeňte ikony na obrazovke uzamknutia.</string> + <string name="lockscreen_default_target">Predvolené</string> <string name="select_application">Vyberte aplikáciu</string> <string name="lockscreen_choose_action_title">Vyberte akciu</string> <string name="lockscreen_none_target">Žiadna</string> @@ -50,6 +54,7 @@ <!-- Title shown in recents popup for uninstalling the application --> <string name="advanced_dev_option_uninstall">Odinštalovať</string> <!-- Content description of the light brightness slider (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_notification_brightness">Nastavenie jasu</string> <!-- Content description of the profiles tile in quick settings when off (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_quick_settings_profiles_off">Profily vyp.</string> <!-- Content description of the profiles tile in quick settings (not shown on the screen). [CHAR LIMIT=NONE] --> @@ -60,6 +65,18 @@ <string name="accessibility_quick_settings_profiles_changed">Profil sa zmenil na <xliff:g id="profile" example="Default">%s</xliff:g>.</string> <string name="quick_settings_compass_init">Inicializácia\u2026</string> <!-- Lights settings, LED notification --> + <string name="led_notification_title">Nastavenia svetla</string> + <string name="led_notification_text">LED svetlo povolené nastaveniami</string> + <string name="qs_tile_edit_header_instruction">Stlačte a podržte dlaždicu na preusporiadanie</string> + <string name="quick_settings_edit_label">Upraviť dlaždice</string> + <string name="quick_settings_cannot_delete_edit_tile">Nie je možné vymazať dlaždicu Upraviť</string> + <string name="qs_tiles_reset_confirmation">Obnoviť dlaždice rýchlych nastavení na predvolené nastavenie?</string> + <string name="quick_settings_tile_reset_to_default">Obnoviť predvolené rozloženie</string> + <string name="quick_settings_title_header">Hlavička</string> + <string name="quick_settings_title_tiles">Dlaždice</string> + <string name="quick_settings_title_show_weather">Zobraziť počasie</string> + <string name="quick_settings_title_show_brightness_slider">Zobraziť posuvník jasu</string> + <string name="quick_settings_title_enlarge_first_row">Zväčšiť prvý riadok</string> <!-- Screen pinning dialog description (for devices without navbar) --> <string name="screen_pinning_description_no_navbar">Zobrazenie aktuálnej obrazovky je zaistené, dokým ju neuvoľníte. Dotknite a podržte tlačidlo Späť pre uvoľnenie.</string> <string name="quick_settings_custom_tile_detail_title">Vlastná dlaždica</string> @@ -72,6 +89,8 @@ <string name="quick_settings_heads_up_label">Plávajúce oznámenia</string> <string name="quick_settings_battery_saver_label">Šetrič batérie</string> <!-- quick settings battery saver label to show when device is charging and tile is disabled --> + <string name="quick_settings_battery_saver_label_charging">Šetrič batérie (nabíjanie)</string> + <string name="quick_settings_caffeine_label">Kofeín</string> <!-- Content description of the sync tile in quick settings when off (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_quick_settings_sync_off">Synch. vyp.</string> <!-- Content description of the sync tile in quick settings when on (not shown on the screen). [CHAR LIMIT=NONE] --> @@ -87,6 +106,7 @@ <string name="quick_settings_lockscreen_label">Obrazovka uzamknutia</string> <string name="quick_settings_ambient_display_label">Ambientné zobrazenie</string> <string name="quick_settings_lockscreen_label_enforced">Obrazovka uzamknutia povolená</string> + <string name="quick_settings_lockscreen_label_locked_by_profile">Zakázané profilom</string> <!-- Content description of the screen timeout tile in quick settings (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_quick_settings_screen_timeout">Časový limit obrazovky: <xliff:g id="timeout" example="30 seconds">%s</xliff:g>.</string> <!-- Announcement made when the screen timeout tile changes (not shown on the screen). [CHAR LIMIT=NONE] --> @@ -138,7 +158,9 @@ <!-- Announcement made when heads up changes to on (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_quick_settings_heads_up_changed_on">Plávajúce oznámenia povolené.</string> <!-- Content description of the caffeine tile in quick settings when off (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_caffeine_off">Kofeín vypnutý.</string> <!-- Content description of the caffeine tile in quick settings when on (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_caffeine_on">Kofeín zapnutý.</string> <!-- Content description of the battery saver tile in quick settings when off (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_quick_settings_battery_saver_off">Šetrič batérie vypnutý.</string> <!-- Content description of the battery saver tile in quick settings when on (not shown on the screen). [CHAR LIMIT=NONE] --> @@ -152,6 +174,8 @@ <string name="dynamic_qs_tile_next_alarm_label">Ďalší budík</string> <string name="dynamic_qs_tile_ime_selector_label">Výber IME</string> <string name="dynamic_qs_tile_su_label">Root prístup</string> + <string name="dynamic_qs_tile_themes_label">Témy</string> + <string name="quick_settings_title_advanced_location">Trojstavové nastavenie určenia polohy</string> <!-- Content description of the location tile in quick settings when on, battery saving mode (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_quick_settings_location_battery_saving">Hlásenie polohy: režim šetrenia batérie.</string> <!-- Content description of the location tile in quick settings when on, sensors only mode (not shown on the screen). [CHAR LIMIT=NONE] --> @@ -172,11 +196,22 @@ <string name="accessibility_quick_settings_location_changed_gps_only">Hlásenie polohy sa zmenilo na režim iba senzorov.</string> <!-- Announcement made when the location tile changes to high accuracy (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_quick_settings_location_changed_high_accuracy">Hlásenie polohy sa zmenilo na režim vysokej presnosti.</string> + <string name="quick_settings_tiles_category_system">Systémové dlaždice</string> <!-- detail header when adding a tile --> + <string name="quick_settings_tiles_add_tiles">Pridať dlaždicu</string> <!-- Hotspot dialog message --> + <string name="hotspot_apm_message">Nie je možné sa pripojiť sa k mobilným sieťam, pokiaľ je povolený Režim v lietadle. Vypnite Režim v lietadle a skúste to znovu.</string> <!-- Notification which notifies user flashlight is enabled --> + <string name="quick_settings_tile_flashlight_not_title">Baterka je zapnutá</string> + <string name="quick_settings_tile_flashlight_not_summary">Dotykom vypnúť</string> <!-- Wi-Fi hotspot label when enabled --> + <plurals name="wifi_hotspot_connected_clients_label"> + <item quantity="one">%1$d klient</item> + <item quantity="few">%1$d klienti</item> + <item quantity="other">%1$d klientov</item> + </plurals> <!-- CellularTile data sim not configured state string --> + <string name="data_sim_not_configured">Žiadna dátová SIM</string> <!-- Content description of the dock battery level icon for accessibility (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_dock_battery_level">Batéria doku <xliff:g id="number">%d</xliff:g> percent.</string> <!-- Play queue --> @@ -185,4 +220,8 @@ <!-- Path data for landscape battery --> <!-- Path data for circle battery --> <!-- Weather string format in keyguard --> + <string name="keyguard_status_view_weather_format"><xliff:g id="temp">%1$s</xliff:g> <xliff:g id="condition">%2$s</xliff:g></string> + <string name="expand_hint">Potiahnutím nadol rozbaľte</string> + <string name="swipe_left_hint">Potiahnite prstom doľava na <xliff:g id="app_name">%1$s </xliff:g></string> + <string name="swipe_right_hint">Posunutím doprava zobraziť oznámenie</string> </resources> diff --git a/packages/SystemUI/res/values-tr/cm_strings.xml b/packages/SystemUI/res/values-tr/cm_strings.xml index a126402..ae49a53 100644 --- a/packages/SystemUI/res/values-tr/cm_strings.xml +++ b/packages/SystemUI/res/values-tr/cm_strings.xml @@ -174,6 +174,7 @@ <string name="dynamic_qs_tile_next_alarm_label">Sonraki alarm</string> <string name="dynamic_qs_tile_ime_selector_label">IME seçici</string> <string name="dynamic_qs_tile_su_label">Root erişimi</string> + <string name="dynamic_qs_tile_themes_label">Temalar</string> <string name="quick_settings_title_advanced_location">3-durumlu konum</string> <!-- Content description of the location tile in quick settings when on, battery saving mode (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_quick_settings_location_battery_saving">Konum bildirimi: pil tasarruf modu.</string> @@ -218,4 +219,8 @@ <!-- Path data for landscape battery --> <!-- Path data for circle battery --> <!-- Weather string format in keyguard --> + <string name="keyguard_status_view_weather_format"><xliff:g id="temp">%1$s</xliff:g> - <xliff:g id="condition">%2$s</xliff:g></string> + <string name="expand_hint">Genişletmek için aşağı sürükleyin</string> + <string name="swipe_left_hint"><xliff:g id="app_name">%1$s</xliff:g> için sola sürükleyin</string> + <string name="swipe_right_hint">Bildirimleri açmak için sağa kaydırın</string> </resources> diff --git a/packages/SystemUI/res/values-zh-rCN/cm_strings.xml b/packages/SystemUI/res/values-zh-rCN/cm_strings.xml index 525300b..0b882eb 100644 --- a/packages/SystemUI/res/values-zh-rCN/cm_strings.xml +++ b/packages/SystemUI/res/values-zh-rCN/cm_strings.xml @@ -42,7 +42,7 @@ <string name="navbar_back_button">返回键</string> <string name="navbar_empty_button">空白键</string> <string name="navbar_menu_conditional_button">菜单键 (自动隐藏)</string> - <string name="navbar_menu_always_button">菜单键 (总是显示)</string> + <string name="navbar_menu_always_button">菜单键 (始终显示)</string> <string name="navbar_menu_big_button">菜单键</string> <string name="accessibility_dpad_left">光标左移</string> <string name="accessibility_dpad_right">光标右移</string> @@ -62,7 +62,7 @@ <!-- Announcement made when the profiles tile changes to off (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_quick_settings_profiles_changed_off">情景模式已关闭。</string> <!-- Announcement made when the profiles tile changes (not shown on the screen). [CHAR LIMIT=NONE] --> - <string name="accessibility_quick_settings_profiles_changed">情景模式已修改为<xliff:g id="profile" example="Default">%s</xliff:g>。</string> + <string name="accessibility_quick_settings_profiles_changed">情景模式已更改为<xliff:g id="profile" example="Default">%s</xliff:g>。</string> <string name="quick_settings_compass_init">正在初始化\u2026</string> <!-- Lights settings, LED notification --> <string name="led_notification_title">指示灯设置</string> diff --git a/packages/SystemUI/res/values-zh-rTW/cm_strings.xml b/packages/SystemUI/res/values-zh-rTW/cm_strings.xml index 09770c6..0a902a2 100644 --- a/packages/SystemUI/res/values-zh-rTW/cm_strings.xml +++ b/packages/SystemUI/res/values-zh-rTW/cm_strings.xml @@ -29,14 +29,14 @@ <!-- Strings for lockscreen shortcut hints --> <string name="left_shortcut_hint">向右滑動即可%1$s</string> <string name="right_shortcut_hint">向左滑動即可%1$s</string> - <string name="lockscreen_message">輕觸左側或右側的圖示以設定鎖定畫面捷徑</string> + <string name="lockscreen_message">輕觸左側或右側的圖示即可設定鎖定畫面捷徑</string> <string name="lockscreen_default_target">預設</string> - <string name="select_application">選取應用程式</string> - <string name="lockscreen_choose_action_title">選取操作</string> + <string name="select_application">選擇應用程式</string> + <string name="lockscreen_choose_action_title">選擇動作</string> <string name="lockscreen_none_target">無</string> <!-- Dialog title for navigation bar button selection --> - <string name="navbar_dialog_title">選擇要指定的操作</string> - <string name="navbar_home_button">主螢幕鍵</string> + <string name="navbar_dialog_title">選擇要指定的動作</string> + <string name="navbar_home_button">主畫面鍵</string> <string name="navbar_recent_button">多工鍵</string> <string name="navbar_search_button">搜尋鍵</string> <string name="navbar_back_button">返回鍵</string> @@ -56,66 +56,91 @@ <!-- Content description of the light brightness slider (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_notification_brightness">亮度</string> <!-- Content description of the profiles tile in quick settings when off (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_profiles_off">設定檔關閉</string> <!-- Content description of the profiles tile in quick settings (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_profiles">設定檔:<xliff:g id="profile" example="Default">%s</xliff:g></string> <!-- Announcement made when the profiles tile changes to off (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_profiles_changed_off">設定檔已關閉</string> <!-- Announcement made when the profiles tile changes (not shown on the screen). [CHAR LIMIT=NONE] --> - <string name="quick_settings_compass_init">正在初始化\u2026</string> + <string name="accessibility_quick_settings_profiles_changed">設定檔已變更為<xliff:g id="profile" example="Default">%s</xliff:g>。</string> + <string name="quick_settings_compass_init">初始化中\u2026</string> <!-- Lights settings, LED notification --> <string name="led_notification_title">指示燈設定</string> <string name="led_notification_text">已透過設定啟用 LED 指示燈</string> - <string name="qs_tile_edit_header_instruction">按住瓷磚以重新排列</string> - <string name="quick_settings_edit_label">編輯瓷磚</string> - <string name="quick_settings_cannot_delete_edit_tile">無法刪除編輯瓷磚</string> - <string name="qs_tiles_reset_confirmation">將快速設定瓷磚還原至預設配置?</string> + <string name="qs_tile_edit_header_instruction">按住圖塊即可重新排列</string> + <string name="quick_settings_edit_label">編輯圖塊</string> + <string name="quick_settings_cannot_delete_edit_tile">無法刪除編輯圖塊</string> + <string name="qs_tiles_reset_confirmation">將快速設定圖塊還原至預設配置?</string> <string name="quick_settings_tile_reset_to_default">還原至預設布局</string> <string name="quick_settings_title_header">標題</string> - <string name="quick_settings_title_tiles">瓷磚</string> + <string name="quick_settings_title_tiles">圖塊</string> <string name="quick_settings_title_show_weather">顯示天氣資訊</string> - <string name="quick_settings_title_show_brightness_slider">顯示亮度滑桿</string> + <string name="quick_settings_title_show_brightness_slider">顯示亮度滑動條</string> <string name="quick_settings_title_enlarge_first_row">擴大首行</string> <!-- Screen pinning dialog description (for devices without navbar) --> - <string name="quick_settings_custom_tile_detail_title">自訂瓷磚</string> - <string name="quick_settings_remove">移除瓷磚</string> + <string name="screen_pinning_description_no_navbar">此功能會固定螢幕顯示直到您取消固定。觸控並長按 [返回] 鍵即可解除固定。</string> + <string name="quick_settings_custom_tile_detail_title">自訂圖塊</string> + <string name="quick_settings_remove">移除圖塊</string> <string name="quick_settings_network_adb_label">網路 ADB</string> <string name="quick_settings_compass_label">指南針</string> <string name="quick_settings_nfc_label">NFC</string> <string name="quick_settings_profiles">系統設定檔</string> <string name="quick_settings_profiles_off">已停用設定檔</string> <string name="quick_settings_heads_up_label">浮動通知</string> + <string name="quick_settings_battery_saver_label">省電模式</string> <!-- quick settings battery saver label to show when device is charging and tile is disabled --> - <string name="quick_settings_battery_saver_label_charging">省電模式(充電中)</string> + <string name="quick_settings_battery_saver_label_charging">省電模式 (充電中)</string> <string name="quick_settings_caffeine_label">暫停休眠</string> <!-- Content description of the sync tile in quick settings when off (not shown on the screen). [CHAR LIMIT=NONE] --> - <string name="accessibility_quick_settings_sync_off">同步關閉</string> + <string name="accessibility_quick_settings_sync_off">同步處理關閉</string> <!-- Content description of the sync tile in quick settings when on (not shown on the screen). [CHAR LIMIT=NONE] --> - <string name="accessibility_quick_settings_sync_on">同步開啟</string> + <string name="accessibility_quick_settings_sync_on">同步處理開啟</string> <!-- Announcement made when sync changes to off (not shown on the screen). [CHAR LIMIT=NONE] --> - <string name="accessibility_quick_settings_sync_changed_off">同步已關閉</string> + <string name="accessibility_quick_settings_sync_changed_off">同步處理已關閉</string> <!-- Announcement made when sync changes to on (not shown on the screen). [CHAR LIMIT=NONE] --> - <string name="accessibility_quick_settings_sync_changed_on">同步已開啟</string> - <string name="quick_settings_sync_label">同步</string> - <string name="quick_settings_usb_tether_label">USB 網路共用</string> - <string name="quick_settings_screen_timeout_detail_title">螢幕閒置時間</string> + <string name="accessibility_quick_settings_sync_changed_on">同步處理已開啟</string> + <string name="quick_settings_sync_label">同步處理</string> + <string name="quick_settings_volume_panel_label">音量面板</string> + <string name="quick_settings_usb_tether_label">USB 網路共享</string> + <string name="quick_settings_screen_timeout_detail_title">螢幕逾時</string> <string name="quick_settings_lockscreen_label">鎖定畫面</string> <string name="quick_settings_ambient_display_label">環境顯示</string> <string name="quick_settings_lockscreen_label_enforced">強制執行鎖定畫面</string> - <string name="quick_settings_lockscreen_label_locked_by_profile">已由設定檔禁用</string> + <string name="quick_settings_lockscreen_label_locked_by_profile">已由設定檔停用</string> <!-- Content description of the screen timeout tile in quick settings (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_screen_timeout">螢幕逾時:<xliff:g id="timeout" example="30 seconds">%s</xliff:g></string> <!-- Announcement made when the screen timeout tile changes (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_screen_timeout_changed">螢幕逾時即可變更為 <xliff:g id="timeout" example="30 seconds">%s</xliff:g></string> + <string name="qs_tile_performance">電池模式</string> <!-- Content description of the battery mode tile in quick settings when on, power save mode (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_perf_profile_pwrsv">電池模式:省電模式。</string> <!-- Content description of the battery mode tile in quick settings when on, balanced mode (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_perf_profile_bal">電池模式:平衡模式。</string> <!-- Content description of the battery mode tile in quick settings when on, performance mode (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_perf_profile_perf">電池模式:高效能模式。</string> <!-- Content description of the battery mode tile in quick settings when on, efficiency mode (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_perf_profile_bias_power">電池模式:效率模式。</string> <!-- Content description of the battery mode tile in quick settings when on, quick mode (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_perf_profile_bias_perf">電池模式:快速模式。</string> <!-- Announcement made when the battery mode tile changes to power save (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_perf_profile_changed_pwrsv">電池模式已變更為省電模式。</string> <!-- Announcement made when the battery mode tile changes to balanced (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_perf_profile_changed_bal">電池模式已變更為平衡模式。</string> <!-- Announcement made when the battery mode tile changes to performance (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_perf_profile_changed_perf">電池模式已變更為高效能模式。</string> <!-- Announcement made when the battery mode tile changes to efficiency (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_perf_profile_changed_bias_power">電池模式已變更為效率模式。</string> <!-- Announcement made when the battery mode tile changes to quick (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_perf_profile_changed_bias_perf">電池模式已變更為快速模式。</string> + <string name="quick_settings_performance_profile_detail_title">電池模式</string> <!-- Content description of the lock screen tile in quick settings when off (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_lock_screen_off">鎖定畫面關閉</string> <!-- Content description of the lock screen tile in quick settings when on (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_lock_screen_on">鎖定畫面開啟</string> <!-- Announcement made when lock screen changes to off (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_lock_screen_changed_off">鎖定畫面已關閉</string> <!-- Announcement made when lock screen changes to on (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_lock_screen_changed_on">鎖定畫面已開啟</string> <!-- Content description of the ambient display tile in quick settings when off (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_quick_settings_ambient_display_off">環境顯示關閉</string> <!-- Content description of the ambient display tile in quick settings when on (not shown on the screen). [CHAR LIMIT=NONE] --> @@ -137,50 +162,64 @@ <!-- Content description of the caffeine tile in quick settings when on (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_quick_settings_caffeine_on">暫停休眠開啟</string> <!-- Content description of the battery saver tile in quick settings when off (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_battery_saver_off">省電模式關閉</string> <!-- Content description of the battery saver tile in quick settings when on (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_battery_saver_on">省電模式開啟</string> <!-- Announcement made when battery saver changes to off (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_battery_saver_changed_off">省電模式已關閉</string> <!-- Announcement made when battery saver changes to on (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_battery_saver_changed_on">省電模式已開啟</string> <!-- Dynamic tiles --> - <string name="quick_settings_dynamic_tile_detail_title">動態磚</string> + <string name="quick_settings_dynamic_tile_detail_title">動態圖塊</string> <string name="dynamic_qs_tile_next_alarm_label">下一個鬧鐘</string> <string name="dynamic_qs_tile_ime_selector_label">輸入法選擇器</string> <string name="dynamic_qs_tile_su_label">Root 權限</string> - <string name="quick_settings_title_advanced_location">定位模式</string> + <string name="dynamic_qs_tile_themes_label">主題</string> + <string name="quick_settings_title_advanced_location">三角定位</string> <!-- Content description of the location tile in quick settings when on, battery saving mode (not shown on the screen). [CHAR LIMIT=NONE] --> - <string name="accessibility_quick_settings_location_battery_saving">位置回報:節約耗電量</string> + <string name="accessibility_quick_settings_location_battery_saving">位置回報:省電模式。</string> <!-- Content description of the location tile in quick settings when on, sensors only mode (not shown on the screen). [CHAR LIMIT=NONE] --> - <string name="accessibility_quick_settings_location_gps_only">位置回報:僅限裝置</string> + <string name="accessibility_quick_settings_location_gps_only">位置回報:僅限感應器模式。</string> <!-- Content description of the location tile in quick settings when on, high accuracy mode (not shown on the screen). [CHAR LIMIT=NONE] --> - <string name="accessibility_quick_settings_location_high_accuracy">位置回報:高精確度</string> + <string name="accessibility_quick_settings_location_high_accuracy">位置回報:高精確度模式。</string> <!-- QuickSettings: Location detail panel title [CHAR LIMIT=NONE] --> <string name="quick_settings_location_detail_title">定位模式</string> <!-- QuickSettings: Location (On, low-power) [CHAR LIMIT=NONE] --> - <string name="quick_settings_location_battery_saving_label">節約耗電量</string> + <string name="quick_settings_location_battery_saving_label">省電模式</string> <!-- QuickSettings: Location (On, gps-only) [CHAR LIMIT=NONE] --> <string name="quick_settings_location_gps_only_label">僅限裝置</string> <!-- QuickSettings: Location (On, high-accuracy) [CHAR LIMIT=NONE] --> <string name="quick_settings_location_high_accuracy_label">高精確度</string> <!-- Announcement made when the location tile changes to battery saving (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_location_changed_battery_saving">位置回報已變更為省電模式。</string> <!-- Announcement made when the location tile changes to sensors only (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_quick_settings_location_changed_gps_only">位置回報已變更為僅限感應器模式。</string> <!-- Announcement made when the location tile changes to high accuracy (not shown on the screen). [CHAR LIMIT=NONE] --> - <string name="quick_settings_tiles_category_system">系統瓷磚</string> + <string name="accessibility_quick_settings_location_changed_high_accuracy">位置回報已變更為高精確度模式。</string> + <string name="quick_settings_tiles_category_system">系統圖塊</string> <!-- detail header when adding a tile --> <string name="quick_settings_tiles_add_tiles">新增瓷磚</string> <!-- Hotspot dialog message --> - <string name="hotspot_apm_message">飛航模式啟用時無法連接行動網路,請停用飛航模式後再嘗試。</string> + <string name="hotspot_apm_message">飛航模式啟用時無法連線行動網路,請停用飛航模式後再試一次。</string> <!-- Notification which notifies user flashlight is enabled --> <string name="quick_settings_tile_flashlight_not_title">手電筒已經開啟</string> - <string name="quick_settings_tile_flashlight_not_summary">點擊關閉</string> + <string name="quick_settings_tile_flashlight_not_summary">輕觸即可關閉</string> <!-- Wi-Fi hotspot label when enabled --> <plurals name="wifi_hotspot_connected_clients_label"> - <item quantity="other">%1$d 用戶</item> + <item quantity="other">%1$d 客戶端</item> </plurals> <!-- CellularTile data sim not configured state string --> <string name="data_sim_not_configured">沒有數據資料傳輸的 SIM 卡</string> <!-- Content description of the dock battery level icon for accessibility (not shown on the screen). [CHAR LIMIT=NONE] --> + <string name="accessibility_dock_battery_level">座架電池百分之 <xliff:g id="number">%d</xliff:g>。</string> <!-- Play queue --> + <string name="play_queue_extention">顯示播放佇列</string> <!-- Path data for portrait battery --> <!-- Path data for landscape battery --> <!-- Path data for circle battery --> <!-- Weather string format in keyguard --> + <string name="keyguard_status_view_weather_format"><xliff:g id="temp">%1$s</xliff:g> - <xliff:g id="condition">%2$s</xliff:g></string> + <string name="expand_hint">向下滑動即可展開</string> + <string name="swipe_left_hint">向左滑動即可 <xliff:g id="app_name">%1$s</xliff:g></string> + <string name="swipe_right_hint">向右滑動即可查看通知</string> </resources> diff --git a/packages/SystemUI/src/com/android/systemui/egg/CMLand.java b/packages/SystemUI/src/com/android/systemui/egg/CMLand.java deleted file mode 100644 index 6020b45..0000000 --- a/packages/SystemUI/src/com/android/systemui/egg/CMLand.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (C) 2014-2015 The CyanogenMod Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.systemui.egg; - -import com.android.systemui.R; - -import android.content.Context; -import android.util.AttributeSet; - -public class CMLand extends MLand { - public static final String TAG = "CMLand"; - - public CMLand(Context context) { - this(context, null); - } - - public CMLand(Context context, AttributeSet attrs) { - this(context, attrs, 0); - } - - public CMLand(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - protected int getEggPlayer() { - return R.drawable.cid; - } -} diff --git a/packages/SystemUI/src/com/android/systemui/egg/MLand.java b/packages/SystemUI/src/com/android/systemui/egg/MLand.java index 1b22e04..b84777b 100644 --- a/packages/SystemUI/src/com/android/systemui/egg/MLand.java +++ b/packages/SystemUI/src/com/android/systemui/egg/MLand.java @@ -1,6 +1,5 @@ /* * Copyright (C) 2015 The Android Open Source Project - * Copyright (C) 2014-2015 The CyanogenMod Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -211,8 +210,6 @@ public class MLand extends FrameLayout { // we assume everything will be laid out left|top setLayoutDirection(LAYOUT_DIRECTION_LTR); - Player.eggPlayer = getEggPlayer(); - setupPlayers(DEFAULT_PLAYERS); MetricsLogger.count(getContext(), "egg_mland_create", 1); @@ -1010,7 +1007,7 @@ public class MLand extends FrameLayout { public void step(long t_ms, long dt_ms, float t, float dt); } - protected static class Player extends ImageView implements GameView { + private static class Player extends ImageView implements GameView { public float dv; public int color; private MLand mLand; @@ -1020,8 +1017,6 @@ public class MLand extends FrameLayout { private int mScore; private TextView mScoreField; - protected static int eggPlayer; - private final int[] sColors = new int[] { //0xFF78C557, 0xFFDB4437, @@ -1093,7 +1088,7 @@ public class MLand extends FrameLayout { public Player(Context context) { super(context); - setBackgroundResource(eggPlayer); + setBackgroundResource(R.drawable.android); getBackground().setTintMode(PorterDuff.Mode.SRC_ATOP); color = sColors[(sNextColor++%sColors.length)]; getBackground().setTint(color); @@ -1443,8 +1438,4 @@ public class MLand extends FrameLayout { v = z = 0; } } - - protected int getEggPlayer() { - return R.drawable.android; - } } diff --git a/packages/SystemUI/src/com/android/systemui/egg/MLandActivity.java b/packages/SystemUI/src/com/android/systemui/egg/MLandActivity.java index 6fd7387..cdda45f 100644 --- a/packages/SystemUI/src/com/android/systemui/egg/MLandActivity.java +++ b/packages/SystemUI/src/com/android/systemui/egg/MLandActivity.java @@ -1,6 +1,5 @@ /* * Copyright (C) 2015 The Android Open Source Project - * Copyright (C) 2014-2015 The CyanogenMod Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -30,14 +29,7 @@ public class MLandActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - final boolean isCM = getIntent().getBooleanExtra("is_cm", false); - if (isCM) { - setContentView(R.layout.cmland); - mLand = (CMLand) findViewById(R.id.world); - } else { - setContentView(R.layout.mland); - mLand = (MLand) findViewById(R.id.world); - } + setContentView(R.layout.mland); mLand = (MLand) findViewById(R.id.world); mLand.setScoreFieldHolder((ViewGroup) findViewById(R.id.scores)); final View welcome = findViewById(R.id.welcome); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java index 4371cce..857cb08 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java @@ -90,7 +90,7 @@ public class StatusBarIconView extends AnimatedImageView { public void setNotification(Notification notification) { mNotification = notification; mShowNotificationCount = CMSettings.System.getIntForUser(mContext.getContentResolver(), - CMSettings.System.STATUS_BAR_NOTIF_COUNT, 0, UserHandle.USER_CURRENT) == 1; + CMSettings.System.STATUS_BAR_NOTIF_COUNT, 1, UserHandle.USER_CURRENT) == 1; setContentDescription(notification); } @@ -388,7 +388,7 @@ public class StatusBarIconView extends AnimatedImageView { @Override public void update() { boolean showIconCount = CMSettings.System.getIntForUser(mContext.getContentResolver(), - CMSettings.System.STATUS_BAR_NOTIF_COUNT, 0, UserHandle.USER_CURRENT) == 1; + CMSettings.System.STATUS_BAR_NOTIF_COUNT, 1, UserHandle.USER_CURRENT) == 1; for (StatusBarIconView sbiv : mIconViews) { sbiv.mShowNotificationCount = showIconCount; sbiv.set(sbiv.mIcon, true); diff --git a/services/core/java/com/android/server/MountService.java b/services/core/java/com/android/server/MountService.java index d539201..60d7428 100644 --- a/services/core/java/com/android/server/MountService.java +++ b/services/core/java/com/android/server/MountService.java @@ -169,6 +169,11 @@ class MountService extends IMountService.Stub } @Override + public void onSwitchUser(int userHandle) { + mMountService.mCurrentUserId = userHandle; + } + + @Override public void onStartUser(int userHandle) { mMountService.onStartUser(userHandle); } @@ -307,6 +312,8 @@ class MountService extends IMountService.Stub @GuardedBy("mLock") private String mMoveTargetUuid; + private volatile int mCurrentUserId = UserHandle.USER_OWNER; + private VolumeInfo findVolumeByIdOrThrow(String id) { synchronized (mLock) { final VolumeInfo vol = mVolumes.get(id); @@ -1193,7 +1200,7 @@ class MountService extends IMountService.Stub vol.mountFlags |= VolumeInfo.MOUNT_FLAG_VISIBLE; } - vol.mountUserId = UserHandle.USER_OWNER; + vol.mountUserId = mCurrentUserId; mHandler.obtainMessage(H_VOLUME_MOUNT, vol).sendToTarget(); } else if (vol.type == VolumeInfo.TYPE_PRIVATE) { diff --git a/services/net/java/android/net/dhcp/DhcpClient.java b/services/net/java/android/net/dhcp/DhcpClient.java index c9efc69..ac0c6a3 100644 --- a/services/net/java/android/net/dhcp/DhcpClient.java +++ b/services/net/java/android/net/dhcp/DhcpClient.java @@ -43,6 +43,7 @@ import android.os.SystemClock; import android.system.ErrnoException; import android.system.Os; import android.system.PacketSocketAddress; +import android.util.EventLog; import android.util.Log; import android.util.TimeUtils; @@ -372,6 +373,14 @@ public class DhcpClient extends BaseDhcpStateMachine { if (PACKET_DBG) { Log.d(TAG, HexDump.dumpHexString(mPacket, 0, length)); } + } catch (Exception e) { + // SafetyNet logging for b/31850211 + int snetTagId = 0x534e4554; + String bugId = "31850211"; + int uid = -1; + String data = e.getClass().getName(); + EventLog.writeEvent(snetTagId, bugId, uid, data); + Log.e(TAG, "Failed to parse DHCP packet", e); } } maybeLog("Receive thread stopped"); diff --git a/services/net/java/android/net/dhcp/DhcpPacket.java b/services/net/java/android/net/dhcp/DhcpPacket.java index f97df83..820a03d 100644 --- a/services/net/java/android/net/dhcp/DhcpPacket.java +++ b/services/net/java/android/net/dhcp/DhcpPacket.java @@ -6,6 +6,7 @@ import android.net.NetworkUtils; import android.os.Build; import android.os.SystemProperties; import android.system.OsConstants; +import com.android.internal.annotations.VisibleForTesting; import java.io.UnsupportedEncodingException; import java.net.Inet4Address; @@ -13,9 +14,8 @@ import java.net.UnknownHostException; import java.nio.BufferUnderflowException; import java.nio.ByteBuffer; import java.nio.ByteOrder; -import java.nio.charset.StandardCharsets; import java.nio.ShortBuffer; - +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -701,7 +701,8 @@ abstract class DhcpPacket { * A subset of the optional parameters are parsed and are stored * in object fields. */ - public static DhcpPacket decodeFullPacket(ByteBuffer packet, int pktType) throws ParseException + @VisibleForTesting + static DhcpPacket decodeFullPacket(ByteBuffer packet, int pktType) throws ParseException { // bootp parameters int transactionId; @@ -809,7 +810,11 @@ abstract class DhcpPacket { // server-to-server packets, e.g. for relays. if (!isPacketToOrFromClient(udpSrcPort, udpDstPort) && !isPacketServerToServer(udpSrcPort, udpDstPort)) { - return null; + // This should almost never happen because we use SO_ATTACH_FILTER on the packet + // socket to drop packets that don't have the right source ports. However, it's + // possible that a packet arrives between when the socket is bound and when the + // filter is set. http://b/26696823 . + throw new ParseException("Unexpected UDP ports %d->%d", udpSrcPort, udpDstPort); } } @@ -860,8 +865,12 @@ abstract class DhcpPacket { + 64 // skip server host name (64 chars) + 128); // skip boot file name (128 chars) - int dhcpMagicCookie = packet.getInt(); + // Ensure this is a DHCP packet with a magic cookie, and not BOOTP. http://b/31850211 + if (packet.remaining() < 4) { + throw new ParseException("DHCP packet without a magic cookie"); + } + int dhcpMagicCookie = packet.getInt(); if (dhcpMagicCookie != DHCP_MAGIC_COOKIE) { throw new ParseException("Bad magic cookie 0x%08x, should be 0x%08x", dhcpMagicCookie, DHCP_MAGIC_COOKIE); @@ -1049,7 +1058,13 @@ abstract class DhcpPacket { public static DhcpPacket decodeFullPacket(byte[] packet, int length, int pktType) throws ParseException { ByteBuffer buffer = ByteBuffer.wrap(packet, 0, length).order(ByteOrder.BIG_ENDIAN); - return decodeFullPacket(buffer, pktType); + try { + return decodeFullPacket(buffer, pktType); + } catch (ParseException e) { + throw e; + } catch (Exception e) { + throw new ParseException("DHCP parsing error: %s", e.getMessage()); + } } /** diff --git a/services/tests/servicestests/src/android/net/dhcp/DhcpPacketTest.java b/services/tests/servicestests/src/android/net/dhcp/DhcpPacketTest.java index 7e60bf1..2639e26 100644 --- a/services/tests/servicestests/src/android/net/dhcp/DhcpPacketTest.java +++ b/services/tests/servicestests/src/android/net/dhcp/DhcpPacketTest.java @@ -16,23 +16,19 @@ package android.net.dhcp; -import android.net.NetworkUtils; import android.net.DhcpResults; import android.net.LinkAddress; +import android.net.NetworkUtils; import android.system.OsConstants; import android.test.suitebuilder.annotation.SmallTest; import com.android.internal.util.HexDump; - import java.net.Inet4Address; import java.nio.ByteBuffer; import java.util.ArrayList; - import junit.framework.TestCase; -import libcore.util.HexEncoding; import static android.net.dhcp.DhcpPacket.*; - public class DhcpPacketTest extends TestCase { private static Inet4Address SERVER_ADDR = v4Address("192.0.2.1"); @@ -278,7 +274,7 @@ public class DhcpPacketTest extends TestCase { // TODO: Turn all of these into golden files. This will probably require modifying // Android.mk appropriately, making this into an AndroidTestCase, and adding code to read // the golden files from the test APK's assets via mContext.getAssets(). - final ByteBuffer packet = ByteBuffer.wrap(HexEncoding.decode(( + final ByteBuffer packet = ByteBuffer.wrap(HexDump.hexStringToByteArray( // IP header. "451001480000000080118849c0a89003c0a89ff7" + // UDP header. @@ -297,8 +293,7 @@ public class DhcpPacketTest extends TestCase { "0000000000000000000000000000000000000000000000000000000000000000" + // Options "638253633501023604c0a89003330400001c200104fffff0000304c0a89ffe06080808080808080404" + - "3a0400000e103b040000189cff00000000000000000000" - ).toCharArray(), false)); + "3a0400000e103b040000189cff00000000000000000000")); DhcpPacket offerPacket = DhcpPacket.decodeFullPacket(packet, ENCAP_L3); assertTrue(offerPacket instanceof DhcpOfferPacket); // Implicitly checks it's non-null. @@ -309,7 +304,7 @@ public class DhcpPacketTest extends TestCase { @SmallTest public void testOffer2() throws Exception { - final ByteBuffer packet = ByteBuffer.wrap(HexEncoding.decode(( + final ByteBuffer packet = ByteBuffer.wrap(HexDump.hexStringToByteArray( // IP header. "450001518d0600004011144dc0a82b01c0a82bf7" + // UDP header. @@ -328,8 +323,7 @@ public class DhcpPacketTest extends TestCase { "0000000000000000000000000000000000000000000000000000000000000000" + // Options "638253633501023604c0a82b01330400000e103a04000007083b0400000c4e0104ffffff00" + - "1c04c0a82bff0304c0a82b010604c0a82b012b0f414e44524f49445f4d455445524544ff" - ).toCharArray(), false)); + "1c04c0a82bff0304c0a82b010604c0a82b012b0f414e44524f49445f4d455445524544ff")); assertEquals(337, packet.limit()); DhcpPacket offerPacket = DhcpPacket.decodeFullPacket(packet, ENCAP_L3); @@ -341,8 +335,119 @@ public class DhcpPacketTest extends TestCase { } @SmallTest + public void testBadIpPacket() throws Exception { + final byte[] packet = HexDump.hexStringToByteArray( + // IP header. + "450001518d0600004011144dc0a82b01c0a82bf7"); + + try { + DhcpPacket offerPacket = DhcpPacket.decodeFullPacket(packet, packet.length, ENCAP_L3); + fail("Dhcp packet parsing should have failed"); + } catch (DhcpPacket.ParseException expected) {} + } + + @SmallTest + public void testBadDhcpPacket() throws Exception { + final byte[] packet = HexDump.hexStringToByteArray( + // IP header. + "450001518d0600004011144dc0a82b01c0a82bf7" + + // UDP header. + "00430044013d9ac7" + + // BOOTP header. + "02010600dfc23d1f0002000000000000c0a82bf7c0a82b0100000000"); + + try { + DhcpPacket offerPacket = DhcpPacket.decodeFullPacket(packet, packet.length, ENCAP_L3); + fail("Dhcp packet parsing should have failed"); + } catch (DhcpPacket.ParseException expected) {} + } + + @SmallTest + public void testBadTruncatedOffer() throws Exception { + final byte[] packet = HexDump.hexStringToByteArray( + // IP header. + "450001518d0600004011144dc0a82b01c0a82bf7" + + // UDP header. + "00430044013d9ac7" + + // BOOTP header. + "02010600dfc23d1f0002000000000000c0a82bf7c0a82b0100000000" + + // MAC address. + "30766ff2a90c00000000000000000000" + + // Server name. + "0000000000000000000000000000000000000000000000000000000000000000" + + "0000000000000000000000000000000000000000000000000000000000000000" + + // File, missing one byte + "0000000000000000000000000000000000000000000000000000000000000000" + + "0000000000000000000000000000000000000000000000000000000000000000" + + "0000000000000000000000000000000000000000000000000000000000000000" + + "00000000000000000000000000000000000000000000000000000000000000"); + + try { + DhcpPacket offerPacket = DhcpPacket.decodeFullPacket(packet, packet.length, ENCAP_L3); + fail("Dhcp packet parsing should have failed"); + } catch (DhcpPacket.ParseException expected) {} + } + + @SmallTest + public void testBadOfferWithoutACookie() throws Exception { + final byte[] packet = HexDump.hexStringToByteArray( + // IP header. + "450001518d0600004011144dc0a82b01c0a82bf7" + + // UDP header. + "00430044013d9ac7" + + // BOOTP header. + "02010600dfc23d1f0002000000000000c0a82bf7c0a82b0100000000" + + // MAC address. + "30766ff2a90c00000000000000000000" + + // Server name. + "0000000000000000000000000000000000000000000000000000000000000000" + + "0000000000000000000000000000000000000000000000000000000000000000" + + // File. + "0000000000000000000000000000000000000000000000000000000000000000" + + "0000000000000000000000000000000000000000000000000000000000000000" + + "0000000000000000000000000000000000000000000000000000000000000000" + + "0000000000000000000000000000000000000000000000000000000000000000" + // No options + ); + + try { + DhcpPacket offerPacket = DhcpPacket.decodeFullPacket(packet, packet.length, ENCAP_L3); + fail("Dhcp packet parsing should have failed"); + } catch (DhcpPacket.ParseException expected) {} + } + + @SmallTest + public void testOfferWithBadCookie() throws Exception { + final byte[] packet = HexDump.hexStringToByteArray( + // IP header. + "450001518d0600004011144dc0a82b01c0a82bf7" + + // UDP header. + "00430044013d9ac7" + + // BOOTP header. + "02010600dfc23d1f0002000000000000c0a82bf7c0a82b0100000000" + + // MAC address. + "30766ff2a90c00000000000000000000" + + // Server name. + "0000000000000000000000000000000000000000000000000000000000000000" + + "0000000000000000000000000000000000000000000000000000000000000000" + + // File. + "0000000000000000000000000000000000000000000000000000000000000000" + + "0000000000000000000000000000000000000000000000000000000000000000" + + "0000000000000000000000000000000000000000000000000000000000000000" + + "0000000000000000000000000000000000000000000000000000000000000000" + + // Bad cookie + "DEADBEEF3501023604c0a82b01330400000e103a04000007083b0400000c4e0104ffffff00" + + "1c04c0a82bff0304c0a82b010604c0a82b012b0f414e44524f49445f4d455445524544ff"); + + try { + DhcpPacket offerPacket = DhcpPacket.decodeFullPacket(packet, packet.length, ENCAP_L3); + fail("Dhcp packet parsing should have failed"); + } catch (DhcpPacket.ParseException expected) {} + } + + @SmallTest public void testBadHwaddrLength() throws Exception { - final ByteBuffer packet = ByteBuffer.wrap(HexEncoding.decode(( + final ByteBuffer packet = ByteBuffer.wrap(HexDump.hexStringToByteArray( // IP header. "450001518d0600004011144dc0a82b01c0a82bf7" + // UDP header. @@ -361,8 +466,7 @@ public class DhcpPacketTest extends TestCase { "0000000000000000000000000000000000000000000000000000000000000000" + // Options "638253633501023604c0a82b01330400000e103a04000007083b0400000c4e0104ffffff00" + - "1c04c0a82bff0304c0a82b010604c0a82b012b0f414e44524f49445f4d455445524544ff" - ).toCharArray(), false)); + "1c04c0a82bff0304c0a82b010604c0a82b012b0f414e44524f49445f4d455445524544ff")); String expectedClientMac = "30766FF2A90C"; final int hwAddrLenOffset = 20 + 8 + 2; @@ -419,7 +523,7 @@ public class DhcpPacketTest extends TestCase { // store any information in the overloaded fields). // // For now, we just check that it parses correctly. - final ByteBuffer packet = ByteBuffer.wrap(HexEncoding.decode(( + final ByteBuffer packet = ByteBuffer.wrap(HexDump.hexStringToByteArray( // Ethernet header. "b4cef6000000e80462236e300800" + // IP header. @@ -440,8 +544,7 @@ public class DhcpPacketTest extends TestCase { "0000000000000000000000000000000000000000000000000000000000000000" + // Options "638253633501023604010101010104ffff000033040000a8c03401030304ac1101010604ac110101" + - "0000000000000000000000000000000000000000000000ff000000" - ).toCharArray(), false)); + "0000000000000000000000000000000000000000000000ff000000")); DhcpPacket offerPacket = DhcpPacket.decodeFullPacket(packet, ENCAP_L2); assertTrue(offerPacket instanceof DhcpOfferPacket); @@ -452,7 +555,7 @@ public class DhcpPacketTest extends TestCase { @SmallTest public void testBug2111() throws Exception { - final ByteBuffer packet = ByteBuffer.wrap(HexEncoding.decode(( + final ByteBuffer packet = ByteBuffer.wrap(HexDump.hexStringToByteArray( // IP header. "4500014c00000000ff119beac3eaf3880a3f5d04" + // UDP header. TODO: fix invalid checksum (due to MAC address obfuscation). @@ -471,8 +574,7 @@ public class DhcpPacketTest extends TestCase { "0000000000000000000000000000000000000000000000000000000000000000" + // Options. "638253633501023604c00002fe33040000bfc60104fffff00003040a3f50010608c0000201c0000202" + - "0f0f646f6d61696e3132332e636f2e756b0000000000ff00000000" - ).toCharArray(), false)); + "0f0f646f6d61696e3132332e636f2e756b0000000000ff00000000")); DhcpPacket offerPacket = DhcpPacket.decodeFullPacket(packet, ENCAP_L3); assertTrue(offerPacket instanceof DhcpOfferPacket); @@ -483,7 +585,7 @@ public class DhcpPacketTest extends TestCase { @SmallTest public void testBug2136() throws Exception { - final ByteBuffer packet = ByteBuffer.wrap(HexEncoding.decode(( + final ByteBuffer packet = ByteBuffer.wrap(HexDump.hexStringToByteArray( // Ethernet header. "bcf5ac000000d0c7890000000800" + // IP header. @@ -504,8 +606,7 @@ public class DhcpPacketTest extends TestCase { "0000000000000000000000000000000000000000000000000000000000000000" + // Options. "6382536335010236040a20ff80330400001c200104fffff00003040a20900106089458413494584135" + - "0f0b6c616e63732e61632e756b000000000000000000ff00000000" - ).toCharArray(), false)); + "0f0b6c616e63732e61632e756b000000000000000000ff00000000")); DhcpPacket offerPacket = DhcpPacket.decodeFullPacket(packet, ENCAP_L2); assertTrue(offerPacket instanceof DhcpOfferPacket); @@ -517,7 +618,7 @@ public class DhcpPacketTest extends TestCase { @SmallTest public void testUdpServerAnySourcePort() throws Exception { - final ByteBuffer packet = ByteBuffer.wrap(HexEncoding.decode(( + final ByteBuffer packet = ByteBuffer.wrap(HexDump.hexStringToByteArray( // Ethernet header. "9cd917000000001c2e0000000800" + // IP header. @@ -539,8 +640,7 @@ public class DhcpPacketTest extends TestCase { "0000000000000000000000000000000000000000000000000000000000000000" + // Options. "6382536335010236040a0169fc3304000151800104ffff000003040a0fc817060cd1818003d1819403" + - "d18180060f0777766d2e6564751c040a0fffffff000000" - ).toCharArray(), false)); + "d18180060f0777766d2e6564751c040a0fffffff000000")); DhcpPacket offerPacket = DhcpPacket.decodeFullPacket(packet, ENCAP_L2); assertTrue(offerPacket instanceof DhcpOfferPacket); @@ -552,8 +652,40 @@ public class DhcpPacketTest extends TestCase { } @SmallTest + public void testUdpInvalidDstPort() throws Exception { + final ByteBuffer packet = ByteBuffer.wrap(HexDump.hexStringToByteArray( + // Ethernet header. + "9cd917000000001c2e0000000800" + + // IP header. + "45a00148000040003d115087d18194fb0a0f7af2" + + // UDP header. TODO: fix invalid checksum (due to MAC address obfuscation). + // NOTE: The destination port is a non-DHCP port. + "0043aaaa01341268" + + // BOOTP header. + "02010600d628ba8200000000000000000a0f7af2000000000a0fc818" + + // MAC address. + "9cd91700000000000000000000000000" + + // Server name. + "0000000000000000000000000000000000000000000000000000000000000000" + + "0000000000000000000000000000000000000000000000000000000000000000" + + // File. + "0000000000000000000000000000000000000000000000000000000000000000" + + "0000000000000000000000000000000000000000000000000000000000000000" + + "0000000000000000000000000000000000000000000000000000000000000000" + + "0000000000000000000000000000000000000000000000000000000000000000" + + // Options. + "6382536335010236040a0169fc3304000151800104ffff000003040a0fc817060cd1818003d1819403" + + "d18180060f0777766d2e6564751c040a0fffffff000000")); + + try { + DhcpPacket.decodeFullPacket(packet, ENCAP_L2); + fail("Packet with invalid dst port did not throw ParseException"); + } catch (ParseException expected) {} + } + + @SmallTest public void testMultipleRouters() throws Exception { - final ByteBuffer packet = ByteBuffer.wrap(HexEncoding.decode(( + final ByteBuffer packet = ByteBuffer.wrap(HexDump.hexStringToByteArray( // Ethernet header. "fc3d93000000" + "081735000000" + "0800" + // IP header. @@ -574,8 +706,7 @@ public class DhcpPacketTest extends TestCase { "0000000000000000000000000000000000000000000000000000000000000000" + // Options. "638253633501023604c0abbd023304000070803a04000038403b04000062700104ffffff00" + - "0308c0a8bd01ffffff0006080808080808080404ff000000000000" - ).toCharArray(), false)); + "0308c0a8bd01ffffff0006080808080808080404ff000000000000")); DhcpPacket offerPacket = DhcpPacket.decodeFullPacket(packet, ENCAP_L2); assertTrue(offerPacket instanceof DhcpOfferPacket); diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 5ec6950..1f63a22 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -4692,6 +4692,12 @@ public class TelephonyManager { if (SubscriptionManager.isValidPhoneId(phoneId)) { String prop = TelephonyProperties.PROPERTY_BASEBAND_VERSION + ((phoneId == 0) ? "" : Integer.toString(phoneId)); + if (version != null && version.length() > SystemProperties.PROP_VALUE_MAX) { + Log.e(TAG, "setBasebandVersionForPhone(): version string '" + version + + "' too long! (" + version.length() + + " > " + SystemProperties.PROP_VALUE_MAX + ")"); + version = version.substring(0, SystemProperties.PROP_VALUE_MAX); + } SystemProperties.set(prop, version); } } |