diff options
141 files changed, 1688 insertions, 2297 deletions
diff --git a/api/current.txt b/api/current.txt index 856244449b8b..2428da1a4390 100644 --- a/api/current.txt +++ b/api/current.txt @@ -52301,6 +52301,11 @@ package dalvik.system { method protected synchronized java.lang.Package getPackage(java.lang.String); } + public final class DelegateLastClassLoader extends dalvik.system.PathClassLoader { + ctor public DelegateLastClassLoader(java.lang.String, java.lang.ClassLoader); + ctor public DelegateLastClassLoader(java.lang.String, java.lang.String, java.lang.ClassLoader); + } + public class DexClassLoader extends dalvik.system.BaseDexClassLoader { ctor public DexClassLoader(java.lang.String, java.lang.String, java.lang.String, java.lang.ClassLoader); } diff --git a/api/system-current.txt b/api/system-current.txt index d0fa033d113a..47e47ac6f1be 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -56330,6 +56330,11 @@ package dalvik.system { method protected synchronized java.lang.Package getPackage(java.lang.String); } + public final class DelegateLastClassLoader extends dalvik.system.PathClassLoader { + ctor public DelegateLastClassLoader(java.lang.String, java.lang.ClassLoader); + ctor public DelegateLastClassLoader(java.lang.String, java.lang.String, java.lang.ClassLoader); + } + public class DexClassLoader extends dalvik.system.BaseDexClassLoader { ctor public DexClassLoader(java.lang.String, java.lang.String, java.lang.String, java.lang.ClassLoader); } diff --git a/api/test-current.txt b/api/test-current.txt index 2c2ba307a74e..62f8418b4a71 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -52738,6 +52738,11 @@ package dalvik.system { method protected synchronized java.lang.Package getPackage(java.lang.String); } + public final class DelegateLastClassLoader extends dalvik.system.PathClassLoader { + ctor public DelegateLastClassLoader(java.lang.String, java.lang.ClassLoader); + ctor public DelegateLastClassLoader(java.lang.String, java.lang.String, java.lang.ClassLoader); + } + public class DexClassLoader extends dalvik.system.BaseDexClassLoader { ctor public DexClassLoader(java.lang.String, java.lang.String, java.lang.String, java.lang.ClassLoader); } diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index f5597b8eac8e..53c82e6c5237 100755 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -10132,22 +10132,6 @@ public final class Settings { public static final String DEVICE_DEMO_MODE = "device_demo_mode"; /** - * Retail mode specific settings. This is encoded as a key=value list, separated by commas. - * Ex: "user_inactivity_timeout_ms=30000,warning_dialog_timeout_ms=10000". The following - * keys are supported: - * - * <pre> - * user_inactivity_timeout_ms (long) - * warning_dialog_timeout_ms (long) - * </pre> - * <p> - * Type: string - * - * @hide - */ - public static final String RETAIL_DEMO_MODE_CONSTANTS = "retail_demo_mode_constants"; - - /** * Indicates the maximum time that an app is blocked for the network rules to get updated. * * Type: long diff --git a/core/java/android/service/notification/ZenModeConfig.java b/core/java/android/service/notification/ZenModeConfig.java index b22501823020..6ba11b9954c4 100644 --- a/core/java/android/service/notification/ZenModeConfig.java +++ b/core/java/android/service/notification/ZenModeConfig.java @@ -85,7 +85,7 @@ public class ZenModeConfig implements Parcelable { private static final boolean DEFAULT_ALLOW_SCREEN_ON = true; private static final int XML_VERSION = 2; - private static final String ZEN_TAG = "zen"; + public static final String ZEN_TAG = "zen"; private static final String ZEN_ATT_VERSION = "version"; private static final String ZEN_ATT_USER = "user"; private static final String ALLOW_TAG = "allow"; diff --git a/core/java/android/service/vr/IVrListener.aidl b/core/java/android/service/vr/IVrListener.aidl index afb13d316503..acca3fa66ae4 100644 --- a/core/java/android/service/vr/IVrListener.aidl +++ b/core/java/android/service/vr/IVrListener.aidl @@ -20,5 +20,5 @@ import android.content.ComponentName; /** @hide */ oneway interface IVrListener { - void focusedActivityChanged(in ComponentName component); + void focusedActivityChanged(in ComponentName component, boolean running2dInVr, int pid); } diff --git a/core/java/android/service/vr/VrListenerService.java b/core/java/android/service/vr/VrListenerService.java index 5da4560f688d..fa3d065d28a7 100644 --- a/core/java/android/service/vr/VrListenerService.java +++ b/core/java/android/service/vr/VrListenerService.java @@ -70,8 +70,10 @@ public abstract class VrListenerService extends Service { private final IVrListener.Stub mBinder = new IVrListener.Stub() { @Override - public void focusedActivityChanged(ComponentName component) { - mHandler.obtainMessage(MSG_ON_CURRENT_VR_ACTIVITY_CHANGED, component).sendToTarget(); + public void focusedActivityChanged( + ComponentName component, boolean running2dInVr, int pid) { + mHandler.obtainMessage(MSG_ON_CURRENT_VR_ACTIVITY_CHANGED, running2dInVr ? 1 : 0, + pid, component).sendToTarget(); } }; @@ -84,7 +86,8 @@ public abstract class VrListenerService extends Service { public void handleMessage(Message msg) { switch (msg.what) { case MSG_ON_CURRENT_VR_ACTIVITY_CHANGED: { - VrListenerService.this.onCurrentVrActivityChanged((ComponentName) msg.obj); + VrListenerService.this.onCurrentVrActivityChanged( + (ComponentName) msg.obj, msg.arg1 == 1, msg.arg2); } break; } } @@ -120,6 +123,29 @@ public abstract class VrListenerService extends Service { } /** + * An extended version of onCurrentVrActivityChanged + * + * <p>This will be called when this service is initially bound, but is not + * guaranteed to be called before onUnbind. In general, this is intended to be used to + * determine when user focus has transitioned between two VR activities, or between a + * VR activity and a 2D activity. This should be overridden instead of the above + * onCurrentVrActivityChanged as that version is deprecated.</p> + * + * @param component the {@link ComponentName} of the VR activity or the 2D intent. + * @param running2dInVr true if the component is a 2D component. + * @param pid the process the component is running in. + * + * @see android.app.Activity#setVrModeEnabled + * @see android.R.attr#enableVrMode + * @hide + */ + public void onCurrentVrActivityChanged( + ComponentName component, boolean running2dInVr, int pid) { + // Override to implement. Default to old behaviour of sending null for 2D. + onCurrentVrActivityChanged(running2dInVr ? null : component); + } + + /** * Checks if the given component is enabled in user settings. * * <p>If this component is not enabled in the user's settings, it will not be started when diff --git a/core/proto/android/providers/settings.proto b/core/proto/android/providers/settings.proto index e212c432558c..fa645f4d4c6a 100644 --- a/core/proto/android/providers/settings.proto +++ b/core/proto/android/providers/settings.proto @@ -315,7 +315,6 @@ message GlobalSettingsProto { SettingProto boot_count = 270; SettingProto safe_boot_disallowed = 271; SettingProto device_demo_mode = 272; - SettingProto retail_demo_mode_constants = 273; SettingProto database_downgrade_reason = 274; SettingProto contacts_database_wal_enabled = 275; SettingProto multi_sim_voice_call_subscription = 276; diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml index 8c26db43fc41..65c52792226b 100644 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml @@ -4538,22 +4538,10 @@ <!-- The representation of a time duration when negative. An example is -1:14. This can be used with a countdown timer for example.--> <string name="negative_duration">\u2212<xliff:g id="time" example="1:14">%1$s</xliff:g></string> - <!-- Title of notification to start a new demo session when device is in retail mode [CHAR LIMIT=NONE] --> - <string name="reset_retail_demo_mode_title">Reset device?</string> - <!-- Text of notification to start a new demo session when device is in retail mode [CHAR LIMIT=NONE] --> - <string name="reset_retail_demo_mode_text">Tap to reset device</string> <!-- Text of dialog shown when starting a demo user for the first time [CHAR LIMIT=40] --> <string name="demo_starting_message">Starting demo\u2026</string> <!-- Text of dialog shown when starting a new demo user in retail demo mode [CHAR LIMIT=40] --> <string name="demo_restarting_message">Resetting device\u2026</string> - <!-- Title of the dialog shown when user inactivity times out in retail demo mode [CHAR LIMIT=40] --> - <string name="demo_user_inactivity_timeout_title">Reset device?</string> - <!-- Warning message shown when user inactivity times out in retail demo mode [CHAR LIMIT=none] --> - <string name="demo_user_inactivity_timeout_countdown">You\u2019ll lose any changes and the demo will start again in <xliff:g id="timeout" example="9">%1$s</xliff:g> seconds\u2026</string> - <!-- Text of button to allow user to abort countdown and continue current session in retail demo mode [CHAR LIMIT=40] --> - <string name="demo_user_inactivity_timeout_left_button">Cancel</string> - <!-- Text of button to allow user to abort countdown and immediately start another session in retail demo mode [CHAR LIMIT=40] --> - <string name="demo_user_inactivity_timeout_right_button">Reset now</string> <!-- Accessibilty string added to a widget that has been suspended [CHAR LIMIT=20] --> <string name="suspended_widget_accessibility">Disabled <xliff:g id="label" example="Calendar">%1$s</xliff:g></string> diff --git a/core/tests/coretests/src/android/provider/SettingsBackupTest.java b/core/tests/coretests/src/android/provider/SettingsBackupTest.java index 949fd166c14c..e292c9dfbe67 100644 --- a/core/tests/coretests/src/android/provider/SettingsBackupTest.java +++ b/core/tests/coretests/src/android/provider/SettingsBackupTest.java @@ -304,7 +304,6 @@ public class SettingsBackupTest { Settings.Global.RECOMMENDED_NETWORK_EVALUATOR_CACHE_EXPIRY_MS, Settings.Global.READ_EXTERNAL_STORAGE_ENFORCED_DEFAULT, Settings.Global.REQUIRE_PASSWORD_TO_DECRYPT, - Settings.Global.RETAIL_DEMO_MODE_CONSTANTS, Settings.Global.SAFE_BOOT_DISALLOWED, Settings.Global.SAMPLING_PROFILER_MS, Settings.Global.SELINUX_STATUS, diff --git a/packages/SettingsLib/res/values-af/strings.xml b/packages/SettingsLib/res/values-af/strings.xml index 5d04cf6974b9..2cb292e1a814 100644 --- a/packages/SettingsLib/res/values-af/strings.xml +++ b/packages/SettingsLib/res/values-af/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Gekoppel via %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Beskikbaar via %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Gekoppel, geen internet nie"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Baie stadig"</string> <string name="speed_label_slow" msgid="813109590815810235">"Stadig"</string> <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Middelmatig"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Vinnig"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Baie vinnig"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Ontkoppel"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Ontkoppel tans…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Verbind tans…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi twee stawe."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi drie stawe."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wi-Fi-sein vol."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android-bedryfstelsel"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Verwyderde programme"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Verwyderde programme en gebruikers"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Gepasmaak (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Hulp en terugvoer"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Kieslys"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"MGT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Voer wagwoord in om fabriekterugstelling in demonstrasiemodus uit te voer"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Volgende"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Wagwoord word benodig"</string> diff --git a/packages/SettingsLib/res/values-am/strings.xml b/packages/SettingsLib/res/values-am/strings.xml index b42d26ac3225..8d220e2ea95e 100644 --- a/packages/SettingsLib/res/values-am/strings.xml +++ b/packages/SettingsLib/res/values-am/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"በ%1$s በኩል መገናኘት"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"በ%1$s በኩል የሚገኝ"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"ተገናኝቷል፣ ምንም በይነመረብ የለም"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"በጣም ቀርፋፋ"</string> <string name="speed_label_slow" msgid="813109590815810235">"አዘግይ"</string> <string name="speed_label_okay" msgid="2331665440671174858">"እሺ"</string> <string name="speed_label_medium" msgid="3175763313268941953">"መካከለኛ"</string> <string name="speed_label_fast" msgid="7715732164050975057">"ፈጣን"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"እጅግ በጣም ፈጣን"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"ተለያይቷል"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"በመለያየት ላይ..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"በማገናኘት ላይ…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"ሁለት የWiFi አሞሌዎች።"</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"ሦስት የWiFi አሞሌዎች።"</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"የWiFi ምልክት ሙሉ ነው።"</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android ስርዓተ ክወና"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"የተወገዱ መተግበሪያዎች"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"የተወገዱ መተግበሪያዎች እና ተጠቃሚዎች"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"ብጁ (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"እገዛ እና ግብረመልስ"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"ምናሌ"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"ጂኤምቲ"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"የፋብሪካ ዳግም ማስጀመር በማሳያ ሁነታ ውስጥ ለማከናወን የይለፍ ቃል ያስገቡ"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"ቀጣይ"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"የይለፍ ቃል ያስፈልጋል"</string> diff --git a/packages/SettingsLib/res/values-ar/strings.xml b/packages/SettingsLib/res/values-ar/strings.xml index 2ac6bb502fff..f076d5680e88 100644 --- a/packages/SettingsLib/res/values-ar/strings.xml +++ b/packages/SettingsLib/res/values-ar/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"تم الاتصال عبر %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"متوفرة عبر %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"متصلة، ولا يتوفر إنترنت"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"بطيئة جدًا"</string> <string name="speed_label_slow" msgid="813109590815810235">"بطيئة"</string> <string name="speed_label_okay" msgid="2331665440671174858">"موافق"</string> <string name="speed_label_medium" msgid="3175763313268941953">"متوسطة"</string> <string name="speed_label_fast" msgid="7715732164050975057">"سريعة"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"سريعة جدًا"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"غير متصل"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"جارٍ قطع الاتصال..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"جارٍ الاتصال…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"إشارة Wi-Fi تتكون من شريطين."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"إشارة Wi-Fi تتكون من ثلاثة أشرطة."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"إشارة Wi-Fi كاملة."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"نظام التشغيل Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"التطبيقات المزالة"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"التطبيقات والمستخدمون الذين تمت إزالتهم"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"مخصص (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"المساعدة والتعليقات"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"القائمة"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"غرينيتش"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"إدخال كلمة المرور لإعادة الضبط بحسب بيانات المصنع في الوضع التجريبي"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"التالي"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"يلزم توفر كلمة مرور"</string> diff --git a/packages/SettingsLib/res/values-az/strings.xml b/packages/SettingsLib/res/values-az/strings.xml index 494ae00bc966..8c5206b1c075 100644 --- a/packages/SettingsLib/res/values-az/strings.xml +++ b/packages/SettingsLib/res/values-az/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s vasitəsilə qoşuludur"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"%1$s vasitəsilə əlçatandır"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Qoşuludur, internet yoxdur"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Çox Yavaş"</string> <string name="speed_label_slow" msgid="813109590815810235">"Yavaş"</string> <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Orta"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Sürətli"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Çox Sürətli"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Ayrıldı"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Ayrılır..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Qoşulur..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wifi iki xətdir."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wifi üç xətdir."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wifi siqnalı tamdır."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Silinmiş tətbiqlər"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Tətbiqləri və istifadəçiləri silin"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Fərdi (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Yardım və rəy"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menyu"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Demo rejimində sıfırlamaq üçün parol daxil edin"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Növbəti"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Parol tələb olunur"</string> diff --git a/packages/SettingsLib/res/values-b+sr+Latn/strings.xml b/packages/SettingsLib/res/values-b+sr+Latn/strings.xml index fb06a8233c7a..b2cf7810ef1d 100644 --- a/packages/SettingsLib/res/values-b+sr+Latn/strings.xml +++ b/packages/SettingsLib/res/values-b+sr+Latn/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Veza je uspostavljena preko pristupne tačke %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Dostupna je preko pristupne tačke %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Veza je uspostavljena, nema interneta"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Veoma spora"</string> <string name="speed_label_slow" msgid="813109590815810235">"Spora"</string> <string name="speed_label_okay" msgid="2331665440671174858">"Potvrdi"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Srednja"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Brza"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Veoma brza"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Veza je prekinuta"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Prekidanje veze..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Povezivanje…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi signal ima dve crte."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi signal ima tri crte."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wi-Fi signal je najjači."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Uklonjene aplikacije"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Uklonjene aplikacije i korisnici"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Prilagođeni (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Pomoć i povratne informacije"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Meni"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Unesite lozinku da biste obavili resetovanje na fabrička podešavanja u režimu demonstracije"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Dalje"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Potrebna je lozinka"</string> diff --git a/packages/SettingsLib/res/values-be/strings.xml b/packages/SettingsLib/res/values-be/strings.xml index f73fd39f61f4..e7030b3238c7 100644 --- a/packages/SettingsLib/res/values-be/strings.xml +++ b/packages/SettingsLib/res/values-be/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Падлучана праз %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Даступна праз %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Падлучана, няма інтэрнэту"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Вельмі павольная"</string> <string name="speed_label_slow" msgid="813109590815810235">"Павольная"</string> <string name="speed_label_okay" msgid="2331665440671174858">"ОК"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Сярэдняя"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Хуткая"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Вельмі хуткая"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Адключана"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Адключэнне..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Злучэнне..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Два слупкi Wi-Fi."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Тры слупкi Wi-Fi."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Поўны сігнал Wi-Fi."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"АС Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Выдаленыя прыкладанні"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Выдаленыя прыкладанні і карыстальнiкi"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Карыстальніцкі (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Даведка і водгукі"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Меню"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Каб выканаць скід да заводскіх налад у дэманстрацыйным рэжыме, увядзіце пароль"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Далей"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Патрабуецца пароль"</string> diff --git a/packages/SettingsLib/res/values-bg/strings.xml b/packages/SettingsLib/res/values-bg/strings.xml index aa42ccea3c2a..33f801783b62 100644 --- a/packages/SettingsLib/res/values-bg/strings.xml +++ b/packages/SettingsLib/res/values-bg/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Установена е връзка през „%1$s“"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Мрежата е достъпна през „%1$s“"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Установена е връзка – няма достъп до интернет"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Много бавна"</string> <string name="speed_label_slow" msgid="813109590815810235">"Бавна"</string> <string name="speed_label_okay" msgid="2331665440671174858">"ОK"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Средна"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Бърза"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Много бърза"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Изкл."</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Изключва се..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Установява се връзка…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi е с две чертички."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi е с три чертички."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Сигналът за Wi-Fi е пълен."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android (ОС)"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Премахнати приложения"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Премахнати приложения и потребители"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Персонализирано (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Помощ и отзиви"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Меню"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"Средно време по Гринуич (GMT)"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Въведете парола за възст. на фабр. настройки в демонстр. режим"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Напред"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Изисква се парола"</string> diff --git a/packages/SettingsLib/res/values-bn/strings.xml b/packages/SettingsLib/res/values-bn/strings.xml index 62deb12fbf94..1fcb669348fa 100644 --- a/packages/SettingsLib/res/values-bn/strings.xml +++ b/packages/SettingsLib/res/values-bn/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s মাধ্যমে সংযুক্ত হয়েছে"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"%1$s এর মাধ্যমে উপলব্ধ"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"সংযুক্ত, ইন্টারনেট নেই"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"খুব ধীরে"</string> <string name="speed_label_slow" msgid="813109590815810235">"ধীরে"</string> <string name="speed_label_okay" msgid="2331665440671174858">"ঠিক আছে"</string> <string name="speed_label_medium" msgid="3175763313268941953">"মাঝারি"</string> <string name="speed_label_fast" msgid="7715732164050975057">"দ্রুত"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"খুব দ্রুত"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"সংযোগ বিচ্ছিন্ন করা হয়েছে"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"সংযোগ বিচ্ছিন্ন হচ্ছে..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"সংযুক্ত হচ্ছে..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"ওয়াই ফাই এ দুইটি দণ্ড৷"</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"ওয়াই ফাই এ তিনটি দণ্ড৷"</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"ওয়াই ফাই এ সম্পূর্ণ সিগন্যাল৷"</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"সরানো অ্যাপ্লিকেশানগুলি"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"সরানো অ্যাপ্লিকেশানগুলি এবং ব্যবহারকারীগণ"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"কাস্টম (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"সহায়তা ও মতামত"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"মেনু"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"ডেমো মোডে ফ্যাক্টরি রিসেট করতে পাসওয়ার্ড দিন"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"পরবর্তী"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"পাসওয়ার্ড আবশ্যক"</string> diff --git a/packages/SettingsLib/res/values-bs/strings.xml b/packages/SettingsLib/res/values-bs/strings.xml index ca187ab573db..d52f144f0694 100644 --- a/packages/SettingsLib/res/values-bs/strings.xml +++ b/packages/SettingsLib/res/values-bs/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Povezani preko %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Dostupan preko %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Povezano. Nema interneta"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Veoma sporo"</string> <string name="speed_label_slow" msgid="813109590815810235">"Sporo"</string> <string name="speed_label_okay" msgid="2331665440671174858">"UREDU"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Srednja brzina"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Brzo"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Veoma brzo"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Isključen"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Prekidanje veze…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Povezivanje…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi dvije crtice."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi tri crtice."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wi-Fi puni signal."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Uklonjene aplikacije"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Uklonjene aplikacije i korisnici"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Prilagodi (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Pomoć i povratne informacije"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Meni"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Unesite lozinku da izvršite vraćanje na fabričke postavke u načinu demonstracije"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Naprijed"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Potrebna je lozinka"</string> diff --git a/packages/SettingsLib/res/values-ca/strings.xml b/packages/SettingsLib/res/values-ca/strings.xml index 00bb4a98a5ef..8691bd877a6a 100644 --- a/packages/SettingsLib/res/values-ca/strings.xml +++ b/packages/SettingsLib/res/values-ca/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Connectada mitjançant %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Disponible mitjançant %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Connectada, sense Internet"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Molt lenta"</string> <string name="speed_label_slow" msgid="813109590815810235">"Lenta"</string> <string name="speed_label_okay" msgid="2331665440671174858">"Correcta"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Mitjana"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Ràpida"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Molt ràpida"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Desconnectat"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"S\'està desconnectant..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"S\'està connectant…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Senyal Wi-Fi: dues barres."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Senyal Wi-Fi: tres barres."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Senyal Wi-Fi: complet."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Aplicacions eliminades"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Aplicacions i usuaris eliminats"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Personalitzat (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Ajuda i suggeriments"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menú"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Introdueix la contrasenya per restablir les dades de fàbrica en mode de demostració"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Següent"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Contrasenya obligatòria"</string> diff --git a/packages/SettingsLib/res/values-cs/strings.xml b/packages/SettingsLib/res/values-cs/strings.xml index 8dd1c324d08a..f4c40c746d7b 100644 --- a/packages/SettingsLib/res/values-cs/strings.xml +++ b/packages/SettingsLib/res/values-cs/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Připojeno prostřednictvím %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Dostupné prostřednictvím %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Připojeno, není k dispozici internet"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Velmi pomalá"</string> <string name="speed_label_slow" msgid="813109590815810235">"Pomalá"</string> <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Střední"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Rychlá"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Velmi rychlá"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Odpojeno"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Odpojování..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Připojování..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi – dvě čárky."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi – tři čárky."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wi-Fi – plný signál."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"OS Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Odebrané aplikace"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Odebrané aplikace a odebraní uživatelé"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Vlastní (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Nápověda a zpětná vazba"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Nabídka"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Chcete-li v ukázkovém režimu obnovit zařízení do továrního nastavení, zadejte heslo"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Další"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Je třeba zadat heslo"</string> diff --git a/packages/SettingsLib/res/values-da/strings.xml b/packages/SettingsLib/res/values-da/strings.xml index 143ad9238e9e..f5a41919dc64 100644 --- a/packages/SettingsLib/res/values-da/strings.xml +++ b/packages/SettingsLib/res/values-da/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Tilsluttet via %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Tilgængelig via %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Tilsluttet – intet internet"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Meget langsom"</string> <string name="speed_label_slow" msgid="813109590815810235">"Langsom"</string> <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Middel"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Hurtig"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Meget hurtig"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> – <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Afbrudt"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Afbryder ..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Opretter forbindelse..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi har to bjælker."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi har tre bjælker."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wi-Fi har fuldt signal."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Fjernede apps"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Fjernede apps og brugere"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Tilpasset (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Hjælp og feedback"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Angiv adgangskode for at gendanne fabriksdata i demotilstand"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Næste"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Angiv en adgangskode"</string> diff --git a/packages/SettingsLib/res/values-de/strings.xml b/packages/SettingsLib/res/values-de/strings.xml index fda1aa496fe2..4e0157421e6a 100644 --- a/packages/SettingsLib/res/values-de/strings.xml +++ b/packages/SettingsLib/res/values-de/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Über %1$s verbunden"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Verfügbar über %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Verbunden, kein Internet"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Sehr langsam"</string> <string name="speed_label_slow" msgid="813109590815810235">"Langsam"</string> <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Mittel"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Schnell"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Sehr schnell"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> – <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Nicht verbunden"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Verbindung wird getrennt..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Verbindung wird hergestellt..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"WLAN: zwei Balken"</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"WLAN: drei Balken"</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"WLAN: volle Signalstärke"</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Entfernte Apps"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Entfernte Apps und Nutzer"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Benutzerdefiniert (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Hilfe & Feedback"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menü"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Passwort eingeben, um Gerät im Demomodus auf Werkseinstellungen zurückzusetzen"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Weiter"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Passwort erforderlich"</string> diff --git a/packages/SettingsLib/res/values-el/strings.xml b/packages/SettingsLib/res/values-el/strings.xml index 244af422292e..22d25582908e 100644 --- a/packages/SettingsLib/res/values-el/strings.xml +++ b/packages/SettingsLib/res/values-el/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Συνδέθηκε μέσω %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Διαθέσιμο μέσω %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Συνδέθηκε, χωρίς διαδίκτυο"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Πολύ αργή"</string> <string name="speed_label_slow" msgid="813109590815810235">"Αργή"</string> <string name="speed_label_okay" msgid="2331665440671174858">"ΟΚ"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Μέτρια"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Γρήγορη"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Πολύ γρήγορη"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Αποσυνδέθηκε"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Αποσύνδεση..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Σύνδεση..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Δύο γραμμές Wi-Fi."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Τρεις γραμμές Wi-Fi."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Άριστο σήμα Wi-Fi."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Λειτουργικό σύστημα Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Εφαρμογές που καταργήθηκαν"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Εφαρμογές και χρήστες που έχουν καταργηθεί"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Προσαρμοσμένη (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Βοήθεια και σχόλια"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Μενού"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Εισαγάγετε κωδικό πρόσβασης για επαναφορά εργοστασιακών ρυθμίσεων στη λειτουργία επίδειξης"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Επόμενο"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Απαιτείται κωδικός πρόσβασης"</string> diff --git a/packages/SettingsLib/res/values-en-rAU/strings.xml b/packages/SettingsLib/res/values-en-rAU/strings.xml index 09ad05cc7a71..11ef6809589f 100644 --- a/packages/SettingsLib/res/values-en-rAU/strings.xml +++ b/packages/SettingsLib/res/values-en-rAU/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Connected via %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Available via %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Connected, no Internet"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Very slow"</string> <string name="speed_label_slow" msgid="813109590815810235">"Slow"</string> <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Medium"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Fast"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Very fast"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Disconnected"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Disconnecting…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Connecting…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi two bars."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi three bars."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wi-Fi signal full."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Removed apps"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Removed apps and users"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Custom (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Help & feedback"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Enter password to perform factory reset in demo mode"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Next"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Password required"</string> diff --git a/packages/SettingsLib/res/values-en-rGB/strings.xml b/packages/SettingsLib/res/values-en-rGB/strings.xml index 09ad05cc7a71..11ef6809589f 100644 --- a/packages/SettingsLib/res/values-en-rGB/strings.xml +++ b/packages/SettingsLib/res/values-en-rGB/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Connected via %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Available via %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Connected, no Internet"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Very slow"</string> <string name="speed_label_slow" msgid="813109590815810235">"Slow"</string> <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Medium"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Fast"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Very fast"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Disconnected"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Disconnecting…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Connecting…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi two bars."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi three bars."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wi-Fi signal full."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Removed apps"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Removed apps and users"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Custom (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Help & feedback"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Enter password to perform factory reset in demo mode"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Next"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Password required"</string> diff --git a/packages/SettingsLib/res/values-en-rIN/strings.xml b/packages/SettingsLib/res/values-en-rIN/strings.xml index 09ad05cc7a71..11ef6809589f 100644 --- a/packages/SettingsLib/res/values-en-rIN/strings.xml +++ b/packages/SettingsLib/res/values-en-rIN/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Connected via %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Available via %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Connected, no Internet"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Very slow"</string> <string name="speed_label_slow" msgid="813109590815810235">"Slow"</string> <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Medium"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Fast"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Very fast"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Disconnected"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Disconnecting…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Connecting…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi two bars."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi three bars."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wi-Fi signal full."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Removed apps"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Removed apps and users"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Custom (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Help & feedback"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Enter password to perform factory reset in demo mode"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Next"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Password required"</string> diff --git a/packages/SettingsLib/res/values-es-rUS/strings.xml b/packages/SettingsLib/res/values-es-rUS/strings.xml index 7e21d6c9ba28..830d5ab9d5f9 100644 --- a/packages/SettingsLib/res/values-es-rUS/strings.xml +++ b/packages/SettingsLib/res/values-es-rUS/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Conexión a través de %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Disponible a través de %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Conectado a Wi-Fi, sin conexión a Internet"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Muy lenta"</string> <string name="speed_label_slow" msgid="813109590815810235">"Lenta"</string> <string name="speed_label_okay" msgid="2331665440671174858">"Aceptar"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Media"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Rápida"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Muy rápida"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Desconectado"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Desconectando…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Conectando…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Dos barras de Wi-Fi"</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Tres barras de Wi-Fi"</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Señal de Wi-Fi excelente"</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"SO Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Aplicaciones eliminadas"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Aplicaciones y usuarios eliminados"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Personalizado (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Ayuda y comentarios"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menú"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Ingresa contraseña y restablece en demo"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Siguiente"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Contraseña obligatoria"</string> diff --git a/packages/SettingsLib/res/values-es/strings.xml b/packages/SettingsLib/res/values-es/strings.xml index 4a6f12d75f73..102ea0536d72 100644 --- a/packages/SettingsLib/res/values-es/strings.xml +++ b/packages/SettingsLib/res/values-es/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Conectado a través de %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Disponible a través de %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Conexión sin Internet"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Muy lenta"</string> <string name="speed_label_slow" msgid="813109590815810235">"Lenta"</string> <string name="speed_label_okay" msgid="2331665440671174858">"Aceptar"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Media"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Rápida"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Muy rápida"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Desconectado"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Desconectando…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Estableciendo conexión…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Dos barras de Wi-Fi."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Tres barras de Wi-Fi."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Señal de Wi-Fi al máximo."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"SO Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Aplicaciones eliminadas"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Usuarios y aplicaciones eliminados"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Personalizado (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Ayuda y sugerencias"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menú"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Escribe una contraseña para restablecer datos de fábrica en modo demostración"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Siguiente"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Contraseña obligatoria"</string> diff --git a/packages/SettingsLib/res/values-et/strings.xml b/packages/SettingsLib/res/values-et/strings.xml index f3748f81a797..4c889f4e4f40 100644 --- a/packages/SettingsLib/res/values-et/strings.xml +++ b/packages/SettingsLib/res/values-et/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Ühendatud üksuse %1$s kaudu"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Saadaval üksuse %1$s kaudu"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Ühendatud, Interneti-ühendus puudub"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Väga aeglane"</string> <string name="speed_label_slow" msgid="813109590815810235">"Aeglane"</string> <string name="speed_label_okay" msgid="2331665440671174858">"Hea"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Keskmine"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Kiire"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Väga kiire"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Ühendus katkestatud"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Ühenduse katkestamine ..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Ühendamine ..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"WiFi: kaks pulka."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"WiFi: kolm pulka."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"WiFi-signaal on tugev."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Eemaldatud rakendused"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Eemaldatud rakendused ja kasutajad"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Kohandatud (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Abi ja tagasiside"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menüü"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Sisestage parool, et demorežiimis tehaseseadetele lähtestada"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Järgmine"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Parool on kohustuslik"</string> diff --git a/packages/SettingsLib/res/values-eu/strings.xml b/packages/SettingsLib/res/values-eu/strings.xml index 9fd8ad84f7f8..e81acf876ba2 100644 --- a/packages/SettingsLib/res/values-eu/strings.xml +++ b/packages/SettingsLib/res/values-eu/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s bidez konektatuta"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"%1$s bidez erabilgarri"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Konektatuta, ez dago Interneteko konexiorik"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Oso motela"</string> <string name="speed_label_slow" msgid="813109590815810235">"Motela"</string> <string name="speed_label_okay" msgid="2331665440671174858">"Ados"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Tartekoa"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Bizkorra"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Oso bizkorra"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Deskonektatuta"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Deskonektatzen…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Konektatzen…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi sarearen bi barra."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi sarearen hiru barra."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wi-Fi sarearen seinalea osoa."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android sistema eragilea"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Kendutako aplikazioak"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Kendutako aplikazioak eta erabiltzaileak"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Pertsonalizatua (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Laguntza eta iritziak"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menua"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Idatzi pasahitza jatorrizko ezarpenak demo moduan berrezartzeko"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Hurrengoa"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Pasahitza behar da"</string> diff --git a/packages/SettingsLib/res/values-fa/strings.xml b/packages/SettingsLib/res/values-fa/strings.xml index 0430592a47dd..9d790b8cf0c6 100644 --- a/packages/SettingsLib/res/values-fa/strings.xml +++ b/packages/SettingsLib/res/values-fa/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"متصل از طریق %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"در دسترس از طریق %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"متصل، بدون اینترنت"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"بسیار آهسته"</string> <string name="speed_label_slow" msgid="813109590815810235">"آهسته"</string> <string name="speed_label_okay" msgid="2331665440671174858">"تأیید"</string> <string name="speed_label_medium" msgid="3175763313268941953">"متوسط"</string> <string name="speed_label_fast" msgid="7715732164050975057">"سریع"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"خیلی سریع"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"اتصال قطع شد"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"در حال قطع اتصال..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"در حال اتصال…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"دو نوار برای Wi‑Fi."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"سه نوار برای Wi‑Fi."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"قدرت سیگنال Wi‑Fi کامل است."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"سیستم عامل Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"برنامههای حذف شده"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"برنامهها و کاربران حذف شده"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"سفارشی (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"راهنما و بازخورد"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"منو"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"برای انجام بازنشانی کارخانهای در حالت نمایشی، گذرواژه را وارد کنید"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"بعدی"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"وارد کردن گذرواژه الزامی است"</string> diff --git a/packages/SettingsLib/res/values-fi/strings.xml b/packages/SettingsLib/res/values-fi/strings.xml index e3a92e6ad0fa..2d0ecc69484b 100644 --- a/packages/SettingsLib/res/values-fi/strings.xml +++ b/packages/SettingsLib/res/values-fi/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Yhdistetty seuraavan kautta: %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Käytettävissä seuraavan kautta: %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Yhdistetty, ei internetyhteyttä."</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Hyvin hidas"</string> <string name="speed_label_slow" msgid="813109590815810235">"Hidas"</string> <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Kohtuullinen"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Nopea"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Hyvin nopea"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Yhteys katkaistu"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Katkaistaan yhteyttä..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Yhdistetään…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi-signaali – kaksi palkkia"</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi-signaali – kolme palkkia"</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Vahva Wi-Fi-signaali"</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android-käyttöjärjestelmä"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Poistetut sovellukset"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Poistetut sovellukset ja käyttäjät"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Muokattu (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Ohje ja palaute"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Valikko"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Palauta tehdasasetukset antamalla salasana"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Seuraava"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Salasana vaaditaan"</string> diff --git a/packages/SettingsLib/res/values-fr-rCA/strings.xml b/packages/SettingsLib/res/values-fr-rCA/strings.xml index 99692a65bd70..431426e3853b 100644 --- a/packages/SettingsLib/res/values-fr-rCA/strings.xml +++ b/packages/SettingsLib/res/values-fr-rCA/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Connecté par %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Accessible par %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Connecté, aucun accès à Internet"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Très lente"</string> <string name="speed_label_slow" msgid="813109590815810235">"Lente"</string> <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Moyenne"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Élevée"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Très rapide"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> : <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Déconnecté"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Déconnexion…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Connexion en cours…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi : deux barres."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi : trois barres."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wi-Fi : signal complet."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Système d\'exploitation Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Applications supprimées"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Applications et utilisateurs supprimés"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Personnalisée (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Aide et commentaires"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Entrez m. passe pour réinit. en mode démo"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Suivant"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Mot de passe obligatoire"</string> diff --git a/packages/SettingsLib/res/values-fr/strings.xml b/packages/SettingsLib/res/values-fr/strings.xml index 2593c16f1242..caa143f8aef0 100644 --- a/packages/SettingsLib/res/values-fr/strings.xml +++ b/packages/SettingsLib/res/values-fr/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Connecté via %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Disponible via %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Connecté, aucun accès à Internet"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Très lente"</string> <string name="speed_label_slow" msgid="813109590815810235">"Lente"</string> <string name="speed_label_okay" msgid="2331665440671174858">"Correct"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Moyenne"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Élevée"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Très élevée"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Déconnecté"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Déconnexion…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Connexion…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Signal Wi-Fi moyen"</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Signal Wi-Fi bon"</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Signal Wi-Fi excellent"</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Plate-forme Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Applications supprimées"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Applications et utilisateurs supprimés"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Personnalisé (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Aide et commentaires"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Saisir mot de passe pour rétablir conf. d\'usine en mode démo."</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Suivant"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Veuillez saisir le mot de passe"</string> diff --git a/packages/SettingsLib/res/values-gl/strings.xml b/packages/SettingsLib/res/values-gl/strings.xml index 1a6fd39d22fc..994a327dcc92 100644 --- a/packages/SettingsLib/res/values-gl/strings.xml +++ b/packages/SettingsLib/res/values-gl/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Conectado a través de %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Dispoñible a través de %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Conectado, pero sen Internet"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Moi lenta"</string> <string name="speed_label_slow" msgid="813109590815810235">"Lenta"</string> <string name="speed_label_okay" msgid="2331665440671174858">"Aceptar"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Media"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Rápida"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Moi rápida"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Desconectado"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Desconectando..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Conectando..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Dúas barras de wifi."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Tres barras de wifi."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Sinal completo de wifi."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"SO Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Aplicacións eliminadas"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Aplicacións e usuarios eliminados"</string> @@ -296,7 +303,7 @@ <string name="enable_freeform_support" msgid="1461893351278940416">"Activar ventás de forma libre"</string> <string name="enable_freeform_support_summary" msgid="8247310463288834487">"Activa a compatibilidade con ventás de forma libre experimentais."</string> <string name="local_backup_password_title" msgid="3860471654439418822">"Contrasinal para copias"</string> - <string name="local_backup_password_summary_none" msgid="6951095485537767956">"As copias de seguridade de ordenador completas non están protexidas"</string> + <string name="local_backup_password_summary_none" msgid="6951095485537767956">"As copias de seguranza de ordenador completas non están protexidas"</string> <string name="local_backup_password_summary_change" msgid="5376206246809190364">"Toca para cambiar ou eliminar o contrasinal para as copias de seguranza completas do escritorio"</string> <string name="local_backup_password_toast_success" msgid="582016086228434290">"Novo contrasinal da copia de seguranza definido"</string> <string name="local_backup_password_toast_confirmation_mismatch" msgid="7805892532752708288">"O contrasinal novo e a confirmación non coinciden"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Personalizado (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Axuda e comentarios"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menú"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Insire contrasinal para restablec. en demostración"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Seguinte"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"O contrasinal é obrigatorio"</string> diff --git a/packages/SettingsLib/res/values-gu/strings.xml b/packages/SettingsLib/res/values-gu/strings.xml index 674d4c914d7f..c11f98c041f5 100644 --- a/packages/SettingsLib/res/values-gu/strings.xml +++ b/packages/SettingsLib/res/values-gu/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s દ્વારા કનેક્ટ થયેલ"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"%1$s દ્વારા ઉપલબ્ધ"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"કનેક્ટ કર્યું, કોઈ ઇન્ટરનેટ નથી"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"ખૂબ જ ધીમી"</string> <string name="speed_label_slow" msgid="813109590815810235">"ધીમી"</string> <string name="speed_label_okay" msgid="2331665440671174858">"ઓકે"</string> <string name="speed_label_medium" msgid="3175763313268941953">"મધ્યમ"</string> <string name="speed_label_fast" msgid="7715732164050975057">"ઝડપી"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"ખૂબ ઝડપી"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"ડિસ્કનેક્ટ કર્યું"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"ડિસ્કનેક્ટ થઈ રહ્યું છે..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"કનેક્ટ થઈ રહ્યું છે…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wifi બે બાર."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wifi ત્રણ બાર."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"પૂર્ણ Wifi સિગ્નલ."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"દૂર કરેલી ઍપ્લિકેશનો"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"દૂર કરેલી ઍપ્લિકેશનો અને વપરાશકર્તાઓ"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"કસ્ટમ (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"સહાય અને પ્રતિસાદ"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"મેનુ"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"ડેમો મોડમાં ફેક્ટરી રીસેટ પાસવર્ડ દાખલ કરો"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"આગલું"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"પાસવર્ડ આવશ્યક છે"</string> diff --git a/packages/SettingsLib/res/values-hi/strings.xml b/packages/SettingsLib/res/values-hi/strings.xml index dd9ad33dc8bf..465482b9e077 100644 --- a/packages/SettingsLib/res/values-hi/strings.xml +++ b/packages/SettingsLib/res/values-hi/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s के द्वारा उपलब्ध"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"%1$s के द्वारा उपलब्ध"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"कनेक्ट किया गया, इंटरनेट नहीं"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"अत्यधिक धीमी"</string> <string name="speed_label_slow" msgid="813109590815810235">"धीमी"</string> <string name="speed_label_okay" msgid="2331665440671174858">"ठीक"</string> <string name="speed_label_medium" msgid="3175763313268941953">"मध्यम"</string> <string name="speed_label_fast" msgid="7715732164050975057">"तेज़"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"अत्यधिक तेज़"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"डिस्कनेक्ट किया गया"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"डिस्कनेक्ट हो रहा है..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"कनेक्ट हो रहा है..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"वाई-फ़ाई की दो पट्टी मिल रही हैं."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"वाई-फ़ाई की एक पट्टी मिल रही है."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"पूरे वाई-फ़ाई सिग्नल मिल रहे हैं."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"निकाले गए ऐप्स"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"ऐप्स और उपयोगकर्ताओं को निकालें"</string> @@ -220,7 +227,7 @@ <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"वाई-फ़ाई के सक्रिय रहने पर भी, हमेशा मोबाइल डेटा सक्रिय रखें (तेज़ी से नेटवर्क स्विच करने के लिए)."</string> <string name="tethering_hardware_offload_summary" msgid="7726082075333346982">"हार्डवेयर त्वरण को टेदर करना उपलब्ध होने पर उसका उपयोग करें"</string> <string name="adb_warning_title" msgid="6234463310896563253">"USB डीबग करने की अनुमति दें?"</string> - <string name="adb_warning_message" msgid="7316799925425402244">"USB डीबग डीबग करने का उद्देश्य केवल विकास है. इसका उपयोग आपके कंप्यूटर और आपके डिवाइस के बीच डेटा की प्रतिलिपि बनाने, बिना नोटिफिकेशन के आपके डिवाइस पर ऐप्स इंस्टॉल करने और लॉग डेटा पढ़ने के लिए करें."</string> + <string name="adb_warning_message" msgid="7316799925425402244">"USB डीबग करने का उद्देश्य केवल विकास है. इसका इस्तेमाल आपके कंप्यूटर और आपके डिवाइस के बीच डेटा को कॉपी करने, बिना नोटिफ़िकेशन के आपके डिवाइस पर ऐप इंस्टॉल करने और लॉग डेटा पढ़ने के लिए करें."</string> <string name="adb_keys_warning_message" msgid="5659849457135841625">"आपके द्वारा पूर्व में प्राधिकृत सभी कंप्यूटर से USB डीबगिंग की पहुंच निरस्त करें?"</string> <string name="dev_settings_warning_title" msgid="7244607768088540165">"विकास सेटिंग की अनुमति दें?"</string> <string name="dev_settings_warning_message" msgid="2298337781139097964">"ये सेटिंग केवल विकास संबंधी उपयोग के प्रयोजन से हैं. वे आपके डिवाइस और उस पर स्थित ऐप्स को खराब कर सकती हैं या उनके दुर्व्यवहार का कारण हो सकती हैं."</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"कस्टम (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"सहायता और फ़ीडबैक"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"मेनू"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"डेमो मोड में फ़ैक्टरी रीसेट के लिए पासवर्ड डालें"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"आगे"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"पासवर्ड आवश्यक"</string> diff --git a/packages/SettingsLib/res/values-hr/strings.xml b/packages/SettingsLib/res/values-hr/strings.xml index 8ba4034477fb..1ff5b410a957 100644 --- a/packages/SettingsLib/res/values-hr/strings.xml +++ b/packages/SettingsLib/res/values-hr/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Povezano putem %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Dostupno putem %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Povezano, bez interneta"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Vrlo sporo"</string> <string name="speed_label_slow" msgid="813109590815810235">"Sporo"</string> <string name="speed_label_okay" msgid="2331665440671174858">"U redu"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Srednje"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Brzo"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Vrlo brzo"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Niste povezani"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Isključivanje…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Povezivanje…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi signal ima dva stupca."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi signal ima tri stupca."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wi-Fi signal je pun."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Uklonjene aplikacije"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Uklonjene aplikacije i korisnici"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Prilagođeno (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Pomoć i povratne informacije"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Izbornik"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Unesite zaporku za resetiranje u demo načinu"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Dalje"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Potrebna je zaporka"</string> diff --git a/packages/SettingsLib/res/values-hu/strings.xml b/packages/SettingsLib/res/values-hu/strings.xml index a544125b98e3..8434090f61fa 100644 --- a/packages/SettingsLib/res/values-hu/strings.xml +++ b/packages/SettingsLib/res/values-hu/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Csatlakozva a következőn keresztül: %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Elérhető a következőn keresztül: %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Csatlakozva, nincs internetelérés"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Nagyon lassú"</string> <string name="speed_label_slow" msgid="813109590815810235">"Lassú"</string> <string name="speed_label_okay" msgid="2331665440671174858">"Rendben"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Közepes"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Gyors"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Nagyon gyors"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Szétkapcsolva"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Szétkapcsolás..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Csatlakozás…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi-jel: két sáv."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi-jel: három sáv."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wi-Fi-jel: teljes."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Eltávolított alkalmazások"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Eltávolított alkalmazások és felhasználók"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Egyéni (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Súgó és visszajelzés"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menü"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Írja be a jelszót a visszaállításhoz"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Következő"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Jelszó szükséges"</string> diff --git a/packages/SettingsLib/res/values-hy/strings.xml b/packages/SettingsLib/res/values-hy/strings.xml index cb042344b8a8..1d124050601c 100644 --- a/packages/SettingsLib/res/values-hy/strings.xml +++ b/packages/SettingsLib/res/values-hy/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Կապակցված է %1$s-ի միջոցով"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Հասանելի է %1$s-ի միջոցով"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Կապակցված է առանց համացանցի"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Շատ դանդաղ"</string> <string name="speed_label_slow" msgid="813109590815810235">"Դանդաղ"</string> <string name="speed_label_okay" msgid="2331665440671174858">"Հաստատել"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Միջին"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Արագ"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Շատ արագ"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Անջատված է"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Անջատվում է..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Միանում է..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi-ի ուժգնությունը՝ երկու գիծ:"</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi-ի ուժգնությունը՝ երեք գիծ:"</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wi-Fi-ի ազդանշանը ուժեղ է:"</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Հեռացված ծրագրեր"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Հեռացված հավելվածներն ու օգտատերերը"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Հատուկ (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Օգնություն և հետադարձ կապ"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Ընտրացանկ"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Մուտքագրեք գաղտնաբառը՝ ցուցադրական ռեժիմում գործարանային վերակայում կատարելու համար"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Հաջորդը"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Պահանջվում է գաղտնաբառ"</string> diff --git a/packages/SettingsLib/res/values-in/strings.xml b/packages/SettingsLib/res/values-in/strings.xml index a8dd4c2383c2..6fbc0a061366 100644 --- a/packages/SettingsLib/res/values-in/strings.xml +++ b/packages/SettingsLib/res/values-in/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Terhubung melalui %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Tersedia melalui %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Tersambung, tidak ada internet"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Sangat Lambat"</string> <string name="speed_label_slow" msgid="813109590815810235">"Lambat"</string> <string name="speed_label_okay" msgid="2331665440671174858">"Oke"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Sedang"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Cepat"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Sangat Cepat"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Sambungan terputus"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Memutus sambungan..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Menyambung…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi dua baris"</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi tiga baris."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Sinyal Wi-Fi penuh."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"OS Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Aplikasi dihapus"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Aplikasi dan pengguna yang dihapus"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"(<xliff:g id="DENSITYDPI">%d</xliff:g>) khusus"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Bantuan & masukan"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Masukkan sandi untuk mengembalikan ke setelan pabrik dalam mode demo"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Berikutnya"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Perlu sandi"</string> diff --git a/packages/SettingsLib/res/values-is/strings.xml b/packages/SettingsLib/res/values-is/strings.xml index 7f541ce8bcfa..72f71f574152 100644 --- a/packages/SettingsLib/res/values-is/strings.xml +++ b/packages/SettingsLib/res/values-is/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Tengt í gegnum %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Í boði í gegnum %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Tengt, enginn internetaðgangur"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Mjög hægt"</string> <string name="speed_label_slow" msgid="813109590815810235">"Hægt"</string> <string name="speed_label_okay" msgid="2331665440671174858">"Í lagi"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Miðlungshratt"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Hratt"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Mjög hratt"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Aftengt"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Aftengist…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Tengist…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi: Tvö strik."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi: Þrjú strik."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Fullur Wi-Fi sendistyrkur."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android stýrikerfið"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Fjarlægð forrit"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Fjarlægð forrit og notendur"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Sérsniðið (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Hjálp og ábendingar"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Valmynd"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Sláðu inn aðgangsorð til að framkvæma núllstillingu í sýnisútgáfu"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Áfram"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Aðgangsorðs krafist"</string> diff --git a/packages/SettingsLib/res/values-it/strings.xml b/packages/SettingsLib/res/values-it/strings.xml index 5598d87d5a24..3003597bac72 100644 --- a/packages/SettingsLib/res/values-it/strings.xml +++ b/packages/SettingsLib/res/values-it/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Collegato tramite %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Disponibile tramite %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Connesso senza Internet"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Molto lenta"</string> <string name="speed_label_slow" msgid="813109590815810235">"Lenta"</string> <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Media"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Veloce"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Molto veloce"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Disconnesso"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Disconnessione..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Connessione..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi: due barre."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi: tre barre."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Segnale Wi-Fi completo."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Sistema operativo Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Applicazioni rimosse"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"App e utenti rimossi"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Personalizzato (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Guida e feedback"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Inserisci la password per eseguire il ripristino dei dati di fabbrica in modalità demo"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Avanti"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Password obbligatoria"</string> diff --git a/packages/SettingsLib/res/values-iw/strings.xml b/packages/SettingsLib/res/values-iw/strings.xml index 26ce32ebc51f..0368a048af53 100644 --- a/packages/SettingsLib/res/values-iw/strings.xml +++ b/packages/SettingsLib/res/values-iw/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"מחובר דרך %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"זמינה דרך %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"מחובר. אין אינטרנט"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"איטית מאוד"</string> <string name="speed_label_slow" msgid="813109590815810235">"איטית"</string> <string name="speed_label_okay" msgid="2331665440671174858">"אישור"</string> <string name="speed_label_medium" msgid="3175763313268941953">"בינונית"</string> <string name="speed_label_fast" msgid="7715732164050975057">"מהירה"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"מהירה מאוד"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"מנותק"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"מתנתק..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"מתחבר ..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"שני פסים של Wi-Fi."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"שלושה פסים של Wi-Fi."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"אות Wi-Fi מלא."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"אפליקציות שהוסרו"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"אפליקציות ומשתמשים שהוסרו"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"מותאם אישית (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"עזרה ומשוב"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"תפריט"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"הזן סיסמה כדי לבצע איפוס להגדרות היצרן במצב הדגמה"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"הבא"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"דרושה סיסמה"</string> diff --git a/packages/SettingsLib/res/values-ja/strings.xml b/packages/SettingsLib/res/values-ja/strings.xml index 30c72672adbf..952c4fb77fd6 100644 --- a/packages/SettingsLib/res/values-ja/strings.xml +++ b/packages/SettingsLib/res/values-ja/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s経由で接続"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"%1$s経由で使用可能"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"接続済み、インターネットは利用できません"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"とても遅い"</string> <string name="speed_label_slow" msgid="813109590815810235">"遅い"</string> <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> <string name="speed_label_medium" msgid="3175763313268941953">"普通"</string> <string name="speed_label_fast" msgid="7715732164050975057">"速い"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"とても速い"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"切断"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"切断中..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"接続中..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fiはレベル2です。"</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fiはレベル3です。"</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wi-Fiの電波はフルです。"</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"削除したアプリケーション"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"削除されたアプリとユーザー"</string> @@ -377,7 +384,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"カスタム(<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"ヘルプとフィードバック"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"メニュー"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"デモモードで初期状態にリセットするには、パスワードを入力してください"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"次へ"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"パスワード必須"</string> diff --git a/packages/SettingsLib/res/values-ka/strings.xml b/packages/SettingsLib/res/values-ka/strings.xml index 553c4a0408cc..fbdd1b6709a5 100644 --- a/packages/SettingsLib/res/values-ka/strings.xml +++ b/packages/SettingsLib/res/values-ka/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s-ით დაკავშირებული"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"ხელმისაწვდომია %1$s-ით"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"დაკავშირებულია, ინტერნეტის გარეშე"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"ძალიან ნელი"</string> <string name="speed_label_slow" msgid="813109590815810235">"ნელი"</string> <string name="speed_label_okay" msgid="2331665440671174858">"კარგი"</string> <string name="speed_label_medium" msgid="3175763313268941953">"საშუალო"</string> <string name="speed_label_fast" msgid="7715732164050975057">"სწრაფი"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"ძალიან სწრაფი"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"კავშირი გაწყვეტილია"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"მიმდინარეობს გათიშვა…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"მიმდინარეობს დაკავშირება…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"WiFi სიგნალი ორ ზოლზეა."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"WiFi სიგნალი სამ ზოლზეა."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"WiFi სიგნალი სრულია."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"აპების წაშლა"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"წაშლილი აპები და მომხმარებლები"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"მორგებული (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"დახმარება და გამოხმაურება"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"მენიუ"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"შეიყვანეთ პაროლი დემო-რეჟიმში ქარხნულ მდგომარეობაზე დასაბრუნებლად"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"შემდეგი"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"საჭიროა პაროლი"</string> diff --git a/packages/SettingsLib/res/values-kk/strings.xml b/packages/SettingsLib/res/values-kk/strings.xml index 27622a1c6492..a071c232dcf8 100644 --- a/packages/SettingsLib/res/values-kk/strings.xml +++ b/packages/SettingsLib/res/values-kk/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s арқылы қосылған"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"%1$s арқылы қолжетімді"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Қосылған, интернет жоқ"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Өте баяу"</string> <string name="speed_label_slow" msgid="813109590815810235">"Баяу"</string> <string name="speed_label_okay" msgid="2331665440671174858">"Жарайды"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Орташа"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Жылдам"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Өте жылдам"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Ажыратылған"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Ажыратылуда…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Жалғауда..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi сигналы — екі жолақ."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi сигналы — үш жолақ."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wi-Fi сигналы толық."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android операциялық жүйесі"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Алынған қолданбалар"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Алынған қолданбалар және пайдаланушылар"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Арнаулы (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Анықтама және пікір"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Mәзір"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Демо режимде зауыттық мәндерге қайтару үшін құпия сөзді енгізу"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Келесі"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Құпия сөз қажет"</string> diff --git a/packages/SettingsLib/res/values-km/strings.xml b/packages/SettingsLib/res/values-km/strings.xml index 5f614f64502e..e3b84821baa6 100644 --- a/packages/SettingsLib/res/values-km/strings.xml +++ b/packages/SettingsLib/res/values-km/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"បានភ្ជាប់តាមរយៈ %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"មានតាមរយៈ %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"បានភ្ជាប់ ប៉ុន្តែគ្មានអ៊ីនធឺណិតទេ"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"យឺតណាស់"</string> <string name="speed_label_slow" msgid="813109590815810235">"យឺត"</string> <string name="speed_label_okay" msgid="2331665440671174858">"យល់ព្រម"</string> <string name="speed_label_medium" msgid="3175763313268941953">"មធ្យម"</string> <string name="speed_label_fast" msgid="7715732164050975057">"លឿន"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"លឿនណាស់"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"បានផ្ដាច់"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"កំពុងផ្ដាច់…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"កំពុងតភ្ជាប់…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wifi ពីរកាំ"</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wifi បីកាំ"</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"សេវា Wifi ពេញ"</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"ប្រព័ន្ធប្រតិបត្តិការ Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"កម្មវិធីដែលបានលុប"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"បានលុបកម្មវិធី និងអ្នកប្រើ"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"ផ្ទាល់ខ្លួន (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"ជំនួយ និងមតិស្ថាបនា"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"ម៉ឺនុយ"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"បញ្ចូលពាក្យសម្ងាត់ ដើម្បីកំណត់ឧបករណ៍ឡើងវិញដូចពេលចេញពីរោងចក្រ នៅក្នុងមុខងារសាកល្បង"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"បន្ទាប់"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"តម្រូវឲ្យមានពាក្យសម្ងាត់"</string> diff --git a/packages/SettingsLib/res/values-kn/strings.xml b/packages/SettingsLib/res/values-kn/strings.xml index c74b7bea73e6..6442140a4c7d 100644 --- a/packages/SettingsLib/res/values-kn/strings.xml +++ b/packages/SettingsLib/res/values-kn/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s ಮೂಲಕ ಸಂಪರ್ಕಗೊಂಡಿದೆ"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"%1$s ಮೂಲಕ ಲಭ್ಯವಿದೆ"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"ಸಂಪರ್ಕಪಡಿಸಲಾಗಿದೆ, ಇಂಟರ್ನೆಟ್ ಇಲ್ಲ"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"ತುಂಬಾ ನಿಧಾನವಾಗಿದೆ"</string> <string name="speed_label_slow" msgid="813109590815810235">"ನಿಧಾನ"</string> <string name="speed_label_okay" msgid="2331665440671174858">"ಸರಿ"</string> <string name="speed_label_medium" msgid="3175763313268941953">"ಮಧ್ಯಮ"</string> <string name="speed_label_fast" msgid="7715732164050975057">"ವೇಗ"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"ತುಂಬಾ ವೇಗವಾಗಿದೆ"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸಲಾಗಿದೆ"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸಲಾಗುತ್ತಿದೆ..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"ಸಂಪರ್ಕಗೊಳಿಸಲಾಗುತ್ತಿದೆ..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"ವೈಫೈ ಎರಡು ಪಟ್ಟಿಗಳು."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"ವೈಫೈ ಮೂರು ಪಟ್ಟಿಗಳು."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"ವೈಫೈ ಸಿಗ್ನಲ್ ಪೂರ್ತಿ ಇದೆ."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"ತೆಗೆದುಹಾಕಲಾದ ಅಪ್ಲಿಕೇಶನ್ಗಳು"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"ಅಪ್ಲಿಕೇಶನ್ಗಳು ಮತ್ತು ಬಳಕೆದಾರರನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"ಕಸ್ಟಮ್ (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"ಸಹಾಯ ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆ"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"ಮೆನು"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"ಫ್ಯಾಕ್ಟರಿ ರಿಸೆಟ್ಗೆ ಪಾಸ್ವರ್ಡ್ ನಮೂದಿಸಿ"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"ಮುಂದೆ"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"ಪಾಸ್ವರ್ಡ್ ಅಗತ್ಯವಿದೆ"</string> diff --git a/packages/SettingsLib/res/values-ko/strings.xml b/packages/SettingsLib/res/values-ko/strings.xml index b7cf51577f4f..42fbdcc94ce8 100644 --- a/packages/SettingsLib/res/values-ko/strings.xml +++ b/packages/SettingsLib/res/values-ko/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s을(를) 통해 연결됨"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"%1$s을(를) 통해 사용 가능"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"인터넷을 사용하지 않고 연결됨"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"매우 느림"</string> <string name="speed_label_slow" msgid="813109590815810235">"느림"</string> <string name="speed_label_okay" msgid="2331665440671174858">"확인"</string> <string name="speed_label_medium" msgid="3175763313268941953">"보통"</string> <string name="speed_label_fast" msgid="7715732164050975057">"빠름"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"매우 빠름"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"연결 끊김"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"연결을 끊는 중…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"연결 중…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi 신호 막대가 두 개입니다."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi 신호 막대가 세 개입니다."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wi-Fi 신호가 강합니다."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"삭제된 앱"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"삭제된 앱 및 사용자"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"맞춤(<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"고객센터"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"메뉴"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"데모 모드에서 초기화하려면 비밀번호 입력"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"다음"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"비밀번호 입력 필요"</string> diff --git a/packages/SettingsLib/res/values-ky/strings.xml b/packages/SettingsLib/res/values-ky/strings.xml index 1fb4b48959c2..cce8ad4ed304 100644 --- a/packages/SettingsLib/res/values-ky/strings.xml +++ b/packages/SettingsLib/res/values-ky/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s аркылуу жеткиликтүү"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"%1$s аркылуу жеткиликтүү"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Туташып турат, Интернет жок"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Өтө жай"</string> <string name="speed_label_slow" msgid="813109590815810235">"Жай"</string> <string name="speed_label_okay" msgid="2331665440671174858">"Жарайт"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Орто"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Ылдам"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Абдан ылдам"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Ажыратылган"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Ажыратылууда…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Туташууда…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wifi: эки таякча."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wifi: үч таякча."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wifi: күчтүү сигнал."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Алынып салынган колдонмолор"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Өчүрүлгөн колдонмолор жана колдонуучулар"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Ыңгайлаштырылган (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Жардам жана пикир билдирүү"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Меню"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Демо режиминде демейки жөндөөлөргө кайтаруу үчүн сырсөздү киргизиңиз"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Кийинки"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Сырсөз талап кылынат"</string> diff --git a/packages/SettingsLib/res/values-lo/strings.xml b/packages/SettingsLib/res/values-lo/strings.xml index 88bdc41002d0..6c4598035905 100644 --- a/packages/SettingsLib/res/values-lo/strings.xml +++ b/packages/SettingsLib/res/values-lo/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"ເຊື່ອມຕໍ່ຜ່ານ %1$s ແລ້ວ"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"ມີໃຫ້ຜ່ານ %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"ເຊື່ອມຕໍ່ແລ້ວ, ບໍ່ມີອິນເຕີເນັດ"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"ຊ້າຫຼາຍ"</string> <string name="speed_label_slow" msgid="813109590815810235">"ຊ້າ"</string> <string name="speed_label_okay" msgid="2331665440671174858">"ຕົກລົງ"</string> <string name="speed_label_medium" msgid="3175763313268941953">"ປານກາງ"</string> <string name="speed_label_fast" msgid="7715732164050975057">"ໄວ"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"ໄວຫຼາຍ"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"ຕັດການເຊື່ອມຕໍ່ແລ້ວ"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"ກຳລັງຢຸດການເຊື່ອມຕໍ່..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"ກຳລັງເຊື່ອມຕໍ່..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"ສັນຍານ Wi-Fi ສອງຂີດ."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wifi ສາມຂີດ."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"ສັນຍານ Wi-Fi ເຕັມ"</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"ແອັບຯທີ່ຖືກລຶບອອກແລ້ວ"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"ລຶບແອັບຯ ແລະຜູ່ໃຊ້ແລ້ວ"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"ປັບແຕ່ງເອງ (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"ຊ່ວຍເຫຼືອ & ຄຳຕິຊົມ"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"ເມນູ"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Enter password to perform factory reset in demo mode"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"ຕໍ່ໄປ"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"ຕ້ອງໃສ່ລະຫັດຜ່ານ"</string> diff --git a/packages/SettingsLib/res/values-lt/strings.xml b/packages/SettingsLib/res/values-lt/strings.xml index 8ca0d369cf8f..3c16a5953a83 100644 --- a/packages/SettingsLib/res/values-lt/strings.xml +++ b/packages/SettingsLib/res/values-lt/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Prisijungta naudojant „%1$s“"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Pasiekiama naudojant „%1$s“"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Prisijungta, nėra interneto"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Labai lėtas"</string> <string name="speed_label_slow" msgid="813109590815810235">"Lėtas"</string> <string name="speed_label_okay" msgid="2331665440671174858">"Gerai"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Vidutinis"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Greitas"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Labai greitas"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Atsijungęs (-usi)"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Atjungiama..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Prisijungiama..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Dvi „Wi-Fi“ signalo juostos."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Trys „Wi-Fi“ signalo juostos."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Stiprus „Wi-Fi“ signalas."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"„Android“ OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Pašalintos programos"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Pašalintos programos ir naudotojai"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Tinkintas (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Pagalba ir atsiliepimai"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Meniu"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Įv. slapt. ir atk. gam. nust. dem. rež."</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Kitas"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Būtina nurodyti slaptažodį"</string> diff --git a/packages/SettingsLib/res/values-lv/strings.xml b/packages/SettingsLib/res/values-lv/strings.xml index 518eb33753e1..e02b1b460675 100644 --- a/packages/SettingsLib/res/values-lv/strings.xml +++ b/packages/SettingsLib/res/values-lv/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Savienots, izmantojot %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Pieejams, izmantojot %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Savienots, nav piekļuves internetam"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Ļoti lēns"</string> <string name="speed_label_slow" msgid="813109590815810235">"Lēns"</string> <string name="speed_label_okay" msgid="2331665440671174858">"Labi"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Vidējs"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Ātrs"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Ļoti ātrs"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Atvienots"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Notiek atvienošana..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Notiek savienojuma izveide…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi: divas joslas"</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi: trīs joslas"</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Pilna piekļuve Wi-Fi signālam"</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Noņemtās lietotnes"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Noņemtās lietotnes un lietotāji"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Pielāgots (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Palīdzība un atsauksmes"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Izvēlne"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Iev. paroli, lai atiest. rūpnīcas iest. dem. režīmā"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Tālāk"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Nepieciešama parole"</string> diff --git a/packages/SettingsLib/res/values-mk/strings.xml b/packages/SettingsLib/res/values-mk/strings.xml index 3f7ab8c5d0b4..920c38f2ccc2 100644 --- a/packages/SettingsLib/res/values-mk/strings.xml +++ b/packages/SettingsLib/res/values-mk/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Поврзано преку %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Достапно преку %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Поврзана, нема интернет"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Многу бавна"</string> <string name="speed_label_slow" msgid="813109590815810235">"Бавна"</string> <string name="speed_label_okay" msgid="2331665440671174858">"Во ред"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Средна"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Брза"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Многу брза"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Исклучено"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Се исклучува..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Се поврзува..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Две црти на Wi-Fi."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Три црти на Wi-Fi."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Полн сигнал на Wi-Fi."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Оперативен систем Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Отстранети апликации"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Отстранети апликации и корисници"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Приспособен (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Помош и повратни информации"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Мени"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Внесете лозинка за фаб. ресет. во демо"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Следно"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Потребна е лозинка"</string> diff --git a/packages/SettingsLib/res/values-ml/strings.xml b/packages/SettingsLib/res/values-ml/strings.xml index 635d8a44dbb4..b2f7fc0da8f7 100644 --- a/packages/SettingsLib/res/values-ml/strings.xml +++ b/packages/SettingsLib/res/values-ml/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s വഴി ബന്ധിപ്പിച്ചു"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"%1$s വഴി ലഭ്യം"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"കണക്റ്റുചെയ്തിരിക്കുന്നു, ഇന്റർനെറ്റില്ല"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"വളരെ കുറഞ്ഞ വേഗത്തിൽ"</string> <string name="speed_label_slow" msgid="813109590815810235">"കുറഞ്ഞ വേഗത്തിൽ"</string> <string name="speed_label_okay" msgid="2331665440671174858">"ശരി"</string> <string name="speed_label_medium" msgid="3175763313268941953">"ഇടത്തരം"</string> <string name="speed_label_fast" msgid="7715732164050975057">"വേഗത്തിൽ"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"വളരെ വേഗത്തിൽ"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"വിച്ഛേദിച്ചു"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"വിച്ഛേദിക്കുന്നു..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"കണക്റ്റുചെയ്യുന്നു..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"വൈഫൈ സിഗ്നൽ രണ്ട് ബാറുകൾ."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"വൈഫൈ സിഗ്നൽ മൂന്ന് ബാറുകൾ."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"വൈഫൈ മികച്ച സിഗ്നൽ."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"നീക്കംചെയ്ത അപ്ലിക്കേഷനുകൾ"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"നീക്കംചെയ്ത അപ്ലിക്കേഷനുകളും ഉപയോക്താക്കളും"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"ഇഷ്ടാനുസൃതം ( <xliff:g id="DENSITYDPI">%d</xliff:g> )"</string> <string name="help_feedback_label" msgid="6815040660801785649">"സഹായവും പ്രതികരണവും"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"മെനു"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"ഡെമോ മോഡിൽ ഫാക്ടറി റീസെറ്റിന് പാസ്വേഡ് നൽകുക"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"അടുത്തത്"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"പാസ്വേഡ് ആവശ്യമാണ്"</string> diff --git a/packages/SettingsLib/res/values-mn/strings.xml b/packages/SettingsLib/res/values-mn/strings.xml index 1e864da60a04..cd4d44ff95a7 100644 --- a/packages/SettingsLib/res/values-mn/strings.xml +++ b/packages/SettingsLib/res/values-mn/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s-р холбогдсон"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"%1$s-р боломжтой"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Холбогдсон, интернэт байхгүй байна"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Маш удаан"</string> <string name="speed_label_slow" msgid="813109590815810235">"Удаан"</string> <string name="speed_label_okay" msgid="2331665440671174858">"ЗА"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Дунд"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Хурдан"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Маш хурдан"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Салгагдсан"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Салгаж байна…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Холбогдож байна..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wifi сүлжээний дохио хоёр баганатай байна."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wifi сүлжээний дохио гурван баганатай байна."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wifi-н дохио дүүрэн байна."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Андройд OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Арилгасан апп-ууд"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Арилгасан апп-ууд болон хэрэглэгчид"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Тогтмол утга (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Тусламж, санал хүсэлт"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Цэс"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"Гринвичийн цаг"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Үйлдвэрийн тохиргоог демо горимд ажиллуулахын тулд нууц үг оруулна уу"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Дараагийн"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Нууц үг шаардлагатай"</string> diff --git a/packages/SettingsLib/res/values-mr/strings.xml b/packages/SettingsLib/res/values-mr/strings.xml index 0d5f90b8fb83..16dd560f9f45 100644 --- a/packages/SettingsLib/res/values-mr/strings.xml +++ b/packages/SettingsLib/res/values-mr/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s द्वारे कनेक्ट केले"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"%1$s द्वारे उपलब्ध"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"कनेक्ट केले, इंटरनेट नाही"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"खूप हळू"</string> <string name="speed_label_slow" msgid="813109590815810235">"हळू"</string> <string name="speed_label_okay" msgid="2331665440671174858">"ठीक आहे"</string> <string name="speed_label_medium" msgid="3175763313268941953">"मध्यम"</string> <string name="speed_label_fast" msgid="7715732164050975057">"जलद"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"खूप जलद"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"डिस्कनेक्ट केले"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"डिस्कनेक्ट करत आहे..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"कनेक्ट करीत आहे..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"वाय फाय दोन बार."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"वाय फाय तीन बार."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"वाय फाय सिग्नल संपूर्ण आहे."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"काढलेले अॅप्स"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"काढलेले अॅप्स आणि वापरकर्ते"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"सानुकूल करा (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"मदत आणि अभिप्राय"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"मेनू"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"डेमो मोडमध्ये फॅक्टरी रीसेट करण्यासाठी संकेतशब्द प्रविष्ट करा"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"पुढील"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"संकेतशब्द आवश्यक"</string> diff --git a/packages/SettingsLib/res/values-ms/strings.xml b/packages/SettingsLib/res/values-ms/strings.xml index caa07f941fb9..840ca8e99be7 100644 --- a/packages/SettingsLib/res/values-ms/strings.xml +++ b/packages/SettingsLib/res/values-ms/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Disambungkan melalui %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Tersedia melalui %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Disambungkan, tiada Internet"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Sangat Perlahan"</string> <string name="speed_label_slow" msgid="813109590815810235">"Perlahan"</string> <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Sederhana"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Laju"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Sangat Laju"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Diputuskan sambungan"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Memutuskan sambungan..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Menyambung..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi dua bar."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi tiga bar."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Isyarat Wi-Fi penuh."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"OS Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Apl dialih keluar"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Apl dan pengguna yang dialih keluar"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Tersuai (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Bantuan & maklum balas"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Mskkn kta laluan utk ttpn sml kilang dlm mod demo"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Seterusnya"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Kata laluan diperlukan"</string> diff --git a/packages/SettingsLib/res/values-my/strings.xml b/packages/SettingsLib/res/values-my/strings.xml index e1f008500135..a32797eb798e 100644 --- a/packages/SettingsLib/res/values-my/strings.xml +++ b/packages/SettingsLib/res/values-my/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s မှတစ်ဆင့် ချိတ်ဆက်ထားသည်"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"%1$s မှတစ်ဆင့်ရနိုင်သည်"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"ချိတ်ဆက်ထားသည်၊ အင်တာနက်မရှိ"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"အလွန်နှေး"</string> <string name="speed_label_slow" msgid="813109590815810235">"နှေး"</string> <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> <string name="speed_label_medium" msgid="3175763313268941953">"အတော်အသင့်"</string> <string name="speed_label_fast" msgid="7715732164050975057">"မြန်"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"အလွန်မြန်"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"ချိတ်ဆက်မှုပြတ်တောက်သည်"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"အဆက်အသွယ်ဖြတ်တောက်သည်"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"ချိတ်ဆက်နေသည်"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi ၂ ဘား"</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi ၃ ဘား"</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wi-Fi အပြည့်ရှိ"</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android စနစ်"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"ဖယ်ရှားထားသော အက်ပ်များ"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"ဖယ်ရှားထားသော အပလီကေးရှင်းနှင့် သုံးစွဲသူများ"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"စိတ်ကြိုက် (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"အကူအညီနှင့် အကြံပြုချက်"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"မီနူး"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"ဂရင်းနစ်စံတော်ချိန်"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"ဒီမိုမုဒ်၌မူလဆက်တင်ထားရန် စကားဝှက်ထည့်ပါ"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"ရှေ့သို့"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"စကားဝှက် လိုအပ်သည်"</string> diff --git a/packages/SettingsLib/res/values-nb/strings.xml b/packages/SettingsLib/res/values-nb/strings.xml index 004fcf1ed804..7995259966eb 100644 --- a/packages/SettingsLib/res/values-nb/strings.xml +++ b/packages/SettingsLib/res/values-nb/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Tilkoblet via %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Tilgjengelig via %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Tilkoblet – ingen Internett-forbindelse"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Veldig treg"</string> <string name="speed_label_slow" msgid="813109590815810235">"Treg"</string> <string name="speed_label_okay" msgid="2331665440671174858">"Ok"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Middels"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Rask"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Veldig rask"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Frakoblet"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Kobler fra…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Kobler til…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi-signal med to stolper."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi-signal med tre stolper."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wi-Fi-signalet er ved full styrke."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android-operativsystem"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Fjernede apper"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Fjernede apper og brukere"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Egendefinert (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Hjelp og tilbakemelding"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Meny"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Skriv inn passordet for å tilbakestille til fabrikkstandard i demomodus"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Neste"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Passord er obligatorisk"</string> diff --git a/packages/SettingsLib/res/values-ne/strings.xml b/packages/SettingsLib/res/values-ne/strings.xml index eac1e24384dc..6ea0e5076eec 100644 --- a/packages/SettingsLib/res/values-ne/strings.xml +++ b/packages/SettingsLib/res/values-ne/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s मार्फत जडित"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"%1$s मार्फत उपलब्ध"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"जडित, इन्टरनेट चलेको छैन"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"धेरै ढिलो"</string> <string name="speed_label_slow" msgid="813109590815810235">"बिस्तारै"</string> <string name="speed_label_okay" msgid="2331665440671174858">"ठीक छ"</string> <string name="speed_label_medium" msgid="3175763313268941953">"मध्यम"</string> <string name="speed_label_fast" msgid="7715732164050975057">"छिटो"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"धेरै छिटो"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"विच्छेदन गरियो"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"जडान हटाइँदै ..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"जडान हुँदै..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi दुई पट्टि।"</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi तीन बारहरू।"</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"पूर्ण Wi-Fi सिंग्नल।"</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"एन्ड्रोइड OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"हटाइएका अनुप्रयोगहरू"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"अनुप्रयोगहरू र प्रयोगकर्ताहरू हटाइयो।"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"आफू अनुकूल (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"मद्दत र प्रतिक्रिया"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"मेनु"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"डेमो मोडमा फ्याक्ट्री रिसेट गर्न पासवर्ड प्रविष्ट गर्नुहोस्"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"अर्को"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"पासवर्ड आवश्यक छ"</string> diff --git a/packages/SettingsLib/res/values-nl/strings.xml b/packages/SettingsLib/res/values-nl/strings.xml index 9ca3bfd0d7be..f1a76483d7bd 100644 --- a/packages/SettingsLib/res/values-nl/strings.xml +++ b/packages/SettingsLib/res/values-nl/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Verbonden via %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Beschikbaar via %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Verbonden, geen internet"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Zeer langzaam"</string> <string name="speed_label_slow" msgid="813109590815810235">"Langzaam"</string> <string name="speed_label_okay" msgid="2331665440671174858">"Redelijk"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Gemiddeld"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Snel"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Zeer snel"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Verbinding verbroken"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Verbinding verbreken..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Verbinding maken..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wifi: twee streepjes."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wifi: drie streepjes."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wifii-signaal is op volledige sterkte."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android-besturingssysteem"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Verwijderde apps"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Verwijderde apps en gebruikers"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Aangepast (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Help en feedback"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Geef wachtwoord op om terug te zetten op fabrieksinstellingen in demomodus"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Volgende"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Wachtwoord vereist"</string> diff --git a/packages/SettingsLib/res/values-pa/strings.xml b/packages/SettingsLib/res/values-pa/strings.xml index 084b9ed84b24..8efe422482c3 100644 --- a/packages/SettingsLib/res/values-pa/strings.xml +++ b/packages/SettingsLib/res/values-pa/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s ਰਾਹੀਂ ਕਨੈਕਟ ਕੀਤਾ"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"%1$s ਰਾਹੀਂ ਉਪਲਬਧ"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"ਕਨੈਕਟ ਕੀਤਾ, ਕੋਈ ਇੰਟਰਨੈਟ ਨਹੀਂ"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"ਬਹੁਤ ਹੌਲੀ"</string> <string name="speed_label_slow" msgid="813109590815810235">"ਹੌਲੀ"</string> <string name="speed_label_okay" msgid="2331665440671174858">"ਠੀਕ ਹੈ"</string> <string name="speed_label_medium" msgid="3175763313268941953">"ਔਸਤ"</string> <string name="speed_label_fast" msgid="7715732164050975057">"ਤੇਜ਼"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"ਬਹੁਤ ਤੇਜ਼"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"ਡਿਸਕਨੈਕਟ ਕੀਤਾ"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"ਡਿਸਕਨੈਕਟ ਕਰ ਰਿਹਾ ਹੈ..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"ਕਨੈਕਟ ਕਰ ਰਿਹਾ ਹੈ…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wifi ਦੋ ਬਾਰ।"</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wifi ਤਿੰਨ ਬਾਰ।"</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wifi ਸਿਗਨਲ ਪੂਰਾ।"</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"ਹਟਾਏ ਗਏ ਐਪਸ"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"ਹਟਾਏ ਗਏ ਐਪਸ ਅਤੇ ਉਪਭੋਗਤਾ"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"ਵਿਸ਼ੇਸ਼-ਵਿਉਂਤਬੱਧ (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"ਮਦਦ ਅਤੇ ਪ੍ਰਤੀਕਰਮ"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"ਮੀਨੂ"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"ਡੈਮੋ ਮੋਡ \'ਚ ਫੈਕਟਰੀ ਰੀਸੈੱਟ ਲਈ ਪਾਸਵਰਡ ਦਿਓ"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"ਅੱਗੇ"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"ਪਾਸਵਰਡ ਦੀ ਲੋੜ ਹੈ"</string> diff --git a/packages/SettingsLib/res/values-pl/strings.xml b/packages/SettingsLib/res/values-pl/strings.xml index 58454b47a77d..9b05d6b41932 100644 --- a/packages/SettingsLib/res/values-pl/strings.xml +++ b/packages/SettingsLib/res/values-pl/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Połączono przez %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Dostępne przez %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Połączono, brak internetu"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Bardzo wolna"</string> <string name="speed_label_slow" msgid="813109590815810235">"Wolna"</string> <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Średnia"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Szybka"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Bardzo szybka"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Rozłączona"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Rozłączanie..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Łączenie..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi: dwa paski."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi: trzy paski."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wi-Fi: pełna moc sygnału."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"System operacyjny Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Usunięte aplikacje"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Usunięte aplikacje i użytkownicy"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Niestandardowe (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Pomoc i opinie"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Wpisz hasło, by przywrócić ustawienia fabryczne w trybie demonstracyjnym"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Dalej"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Wymagane hasło"</string> diff --git a/packages/SettingsLib/res/values-pt-rBR/strings.xml b/packages/SettingsLib/res/values-pt-rBR/strings.xml index 3b97a7f8e2a7..0d06ef6f9084 100644 --- a/packages/SettingsLib/res/values-pt-rBR/strings.xml +++ b/packages/SettingsLib/res/values-pt-rBR/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Conectado via %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Disponível via %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Conectada, sem Internet"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Muito lenta"</string> <string name="speed_label_slow" msgid="813109590815810235">"Lenta"</string> <string name="speed_label_okay" msgid="2331665440671174858">"Ok"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Média"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Rápida"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Muito rápida"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Desconectado"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Desconectando…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Conectando..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Duas barras de Wi-Fi."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Três barras de Wi-Fi."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Sinal Wi-Fi cheio."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Sistema operacional Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Apps removidos"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Apps e usuários removidos"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Personalizada (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Ajuda e feedback"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Digite a senha para redef. p/ configuração original em modo demo"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Próxima"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Senha necessária"</string> diff --git a/packages/SettingsLib/res/values-pt-rPT/strings.xml b/packages/SettingsLib/res/values-pt-rPT/strings.xml index e2c6b2fe7b48..b078433d637d 100644 --- a/packages/SettingsLib/res/values-pt-rPT/strings.xml +++ b/packages/SettingsLib/res/values-pt-rPT/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Ligado através de %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Disponível através de %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Ligado, sem Internet"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Muito lenta"</string> <string name="speed_label_slow" msgid="813109590815810235">"Lenta"</string> <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Média"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Rápida"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Muito rápida"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Desligado"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"A desligar..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"A ligar..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Duas barras de Wi-Fi."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Três barras de Wi-Fi."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Sinal de Wi-Fi completo."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"SO Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Aplicações removidas"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Aplicações e utilizadores removidos"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Personalizado (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Ajuda e comentários"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Introduzir palavra-passe para efetuar a reposição de fábrica no modo demo"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Próximo"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Palavra-passe obrigatória"</string> diff --git a/packages/SettingsLib/res/values-pt/strings.xml b/packages/SettingsLib/res/values-pt/strings.xml index 3b97a7f8e2a7..0d06ef6f9084 100644 --- a/packages/SettingsLib/res/values-pt/strings.xml +++ b/packages/SettingsLib/res/values-pt/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Conectado via %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Disponível via %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Conectada, sem Internet"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Muito lenta"</string> <string name="speed_label_slow" msgid="813109590815810235">"Lenta"</string> <string name="speed_label_okay" msgid="2331665440671174858">"Ok"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Média"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Rápida"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Muito rápida"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Desconectado"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Desconectando…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Conectando..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Duas barras de Wi-Fi."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Três barras de Wi-Fi."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Sinal Wi-Fi cheio."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Sistema operacional Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Apps removidos"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Apps e usuários removidos"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Personalizada (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Ajuda e feedback"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Digite a senha para redef. p/ configuração original em modo demo"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Próxima"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Senha necessária"</string> diff --git a/packages/SettingsLib/res/values-ro/strings.xml b/packages/SettingsLib/res/values-ro/strings.xml index a3a2b47cabf6..f72280638742 100644 --- a/packages/SettingsLib/res/values-ro/strings.xml +++ b/packages/SettingsLib/res/values-ro/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Conectată prin %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Disponibilă prin %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Conectată, fără internet"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Foarte lentă"</string> <string name="speed_label_slow" msgid="813109590815810235">"Lentă"</string> <string name="speed_label_okay" msgid="2331665440671174858">"Bine"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Medie"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Rapidă"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Foarte rapidă"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Deconectat"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"În curs de deconectare..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Se conectează..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Semnal Wi-Fi: două bare."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Semnal Wi-Fi: trei bare."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Semnal Wi-Fi: complet."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Sistem de operare Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Aplicații eliminate"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Aplicații și utilizatori eliminați"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Personalizat (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Ajutor și feedback"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Meniu"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Introduceți parola pentru a reveni la setările din fabrică în modul demo"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Înainte"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Trebuie să introduceți o parolă"</string> diff --git a/packages/SettingsLib/res/values-ru/strings.xml b/packages/SettingsLib/res/values-ru/strings.xml index 905195ad343b..a1ad9c33db89 100644 --- a/packages/SettingsLib/res/values-ru/strings.xml +++ b/packages/SettingsLib/res/values-ru/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Подключено к %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Доступно через %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Подключено, без Интернета"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Очень медленная"</string> <string name="speed_label_slow" msgid="813109590815810235">"Медленная"</string> <string name="speed_label_okay" msgid="2331665440671174858">"ОК"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Средняя"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Быстрая"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Очень быстрая"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="DESCRIPTION">%2$s</xliff:g>: <xliff:g id="STATE">%1$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Нет подключения"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Отключение..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Подключение..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi: два деления"</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi: три деления"</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wi-Fi: надежный сигнал"</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"ОС Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Удаленные приложения"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Удаленные приложения и пользователи"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Другой (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Справка/отзыв"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Меню"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Чтобы сбросить настройки в деморежиме, введите пароль."</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Далее"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Требуется пароль"</string> diff --git a/packages/SettingsLib/res/values-si/strings.xml b/packages/SettingsLib/res/values-si/strings.xml index 9c75355424f2..257e27e579e6 100644 --- a/packages/SettingsLib/res/values-si/strings.xml +++ b/packages/SettingsLib/res/values-si/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s හරහා සම්බන්ධ විය"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"%1$s හරහා ලබා ගැනීමට හැකිය"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"සම්බන්ධයි, අන්තර්ජාලය නැත"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"ඉතා මන්දගාමී"</string> <string name="speed_label_slow" msgid="813109590815810235">"මන්දගාමී"</string> <string name="speed_label_okay" msgid="2331665440671174858">"හරි"</string> <string name="speed_label_medium" msgid="3175763313268941953">"මධ්යම"</string> <string name="speed_label_fast" msgid="7715732164050975057">"වේගවත්"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"ඉතා වේගවත්"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"විසන්ධි වුණි"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"විසන්ධි වෙමින්…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"සම්බන්ධ වෙමින්…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wifi තීරු දෙකයි."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"WiFi තීරු තුනයි."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wifi සංඥාව පිරී ඇත."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"ඉවත් කළ යෙදුම්"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"යෙදුම් සහ පරිශීලකයින් ඉවත් කරන ලදි"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"අභිරුචි (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"උදව් සහ ප්රතිපෝෂණ"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"මෙනුව"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"ආදර්ශන ප්රකාර කර්මාන්තශාලා යළි සැකසීමට මුරපදය ඇ. ක."</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"ඊළඟ"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"මුරපදය අවශ්යයි"</string> diff --git a/packages/SettingsLib/res/values-sk/strings.xml b/packages/SettingsLib/res/values-sk/strings.xml index 595fd4cf850c..dd2b79367dc7 100644 --- a/packages/SettingsLib/res/values-sk/strings.xml +++ b/packages/SettingsLib/res/values-sk/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Pripojené prostredníctvom %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"K dispozícii prostredníctvom %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Pripojené, žiadny internet"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Veľmi nízka"</string> <string name="speed_label_slow" msgid="813109590815810235">"Nízka"</string> <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Stredná"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Vysoká"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Veľmi vysoká"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Odpojený"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Prebieha odpájanie..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Prebieha pripájanie…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Dve čiarky signálu Wi-Fi."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Tri čiarky signálu Wi-Fi."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Plný signál Wi-Fi."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"OS Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Odstránené aplikácie"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Odstránené aplikácie a používatelia"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Vlastné (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Pomocník a spätná väzba"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Ponuka"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Zadajte heslo na obnovenie továrenských nastavení v režime ukážky"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Ďalej"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Vyžaduje sa heslo"</string> diff --git a/packages/SettingsLib/res/values-sl/strings.xml b/packages/SettingsLib/res/values-sl/strings.xml index b8a0514f3700..70b84e32e248 100644 --- a/packages/SettingsLib/res/values-sl/strings.xml +++ b/packages/SettingsLib/res/values-sl/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Vzpostavljena povezava prek: %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Na voljo prek: %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Vzpostavljena povezava, brez interneta"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Zelo počasna"</string> <string name="speed_label_slow" msgid="813109590815810235">"Počasna"</string> <string name="speed_label_okay" msgid="2331665440671174858">"V redu"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Srednje hitra"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Hitra"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Zelo hitra"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Prekinjena povezava"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Prekinjanje povezave ..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Vzpostavljanje povezave ..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Dve črtici signala Wi-Fi."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Tri črtice signala Wi-Fi."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Poln signal Wi-Fi."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"OS Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Odstranjene aplikacije"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Odstranjene aplikacije in uporabniki"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Po meri (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Pomoč in povratne informacije"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Meni"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Geslo za tovar. nast. v predstav. načinu"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Naprej"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Vnesite geslo"</string> diff --git a/packages/SettingsLib/res/values-sq/strings.xml b/packages/SettingsLib/res/values-sq/strings.xml index 34d033364022..e1c36ed94999 100644 --- a/packages/SettingsLib/res/values-sq/strings.xml +++ b/packages/SettingsLib/res/values-sq/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"E lidhur përmes %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"E mundshme përmes %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"U lidh, nuk ka internet"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Shumë e ulët"</string> <string name="speed_label_slow" msgid="813109590815810235">"E ngadaltë"</string> <string name="speed_label_okay" msgid="2331665440671174858">"Në rregull"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Mesatare"</string> <string name="speed_label_fast" msgid="7715732164050975057">"E shpejtë"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Shumë e shpejtë"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Shkëputur"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Po shkëputet..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Po lidhet..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi ka dy vija."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi: tre vija."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wi-Fi ka sinjal të plotë."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Sistemi operativ Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Aplikacionet e hequra"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Aplikacionet dhe përdoruesit e hequr"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"I personalizuar (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Ndihma dhe komentet"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menyja"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Fut fjalëkalimin për të kryer rivendosje në gjendje fabrike në modalitetin e demonstrimit"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Përpara"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Kërkohet fjalëkalimi"</string> diff --git a/packages/SettingsLib/res/values-sr/strings.xml b/packages/SettingsLib/res/values-sr/strings.xml index 2b21d30a6717..6a6a9b9d3c0a 100644 --- a/packages/SettingsLib/res/values-sr/strings.xml +++ b/packages/SettingsLib/res/values-sr/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Веза је успостављена преко приступне тачке %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Доступна је преко приступне тачке %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Веза је успостављена, нема интернета"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Веома спора"</string> <string name="speed_label_slow" msgid="813109590815810235">"Спора"</string> <string name="speed_label_okay" msgid="2331665440671174858">"Потврди"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Средња"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Брза"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Веома брза"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Веза је прекинута"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Прекидање везе..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Повезивање…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi сигнал има две црте."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi сигнал има три црте."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wi-Fi сигнал је најјачи."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android ОС"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Уклоњене апликације"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Уклоњене апликације и корисници"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Прилагођени (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Помоћ и повратне информације"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Мени"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Унесите лозинку да бисте обавили ресетовање на фабричка подешавања у режиму демонстрације"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Даље"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Потребна је лозинка"</string> diff --git a/packages/SettingsLib/res/values-sv/strings.xml b/packages/SettingsLib/res/values-sv/strings.xml index d73ec6658bb8..29c87ccdabdb 100644 --- a/packages/SettingsLib/res/values-sv/strings.xml +++ b/packages/SettingsLib/res/values-sv/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Anslutet via %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Tillgängligt via %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Ansluten, inget internet"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Mycket långsam"</string> <string name="speed_label_slow" msgid="813109590815810235">"Långsam"</string> <string name="speed_label_okay" msgid="2331665440671174858">"Okej"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Medelsnabb"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Snabb"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Mycket snabb"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Kopplas ifrån"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Kopplar ifrån…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Ansluter…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi: två staplar."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi: tre staplar."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Full signalstyrka för Wi-Fi."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Operativsystemet Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Borttagna appar"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Borttagna appar och användare"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Anpassad (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Hjälp och feedback"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Meny"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Ange lösenord och utför fabriksåterställning i demoläge"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Nästa"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Lösenord krävs"</string> diff --git a/packages/SettingsLib/res/values-sw/strings.xml b/packages/SettingsLib/res/values-sw/strings.xml index e1fc468f36ae..05dfd1793174 100644 --- a/packages/SettingsLib/res/values-sw/strings.xml +++ b/packages/SettingsLib/res/values-sw/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Imeunganishwa kupitia %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Inapatikana kupitia %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Imeunganishwa, hakuna Intaneti"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Polepole Sana"</string> <string name="speed_label_slow" msgid="813109590815810235">"Polepole"</string> <string name="speed_label_okay" msgid="2331665440671174858">"Sawa"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Wastani"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Haraka"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Haraka Sana"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Haijaunganishwa"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Inatenganisha..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Inaunganisha…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Vipima mtandao viwili vya Wifi."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Vipima mtandao vitatu vya Wifi."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Nguvu kamili ya mtandao wa Wifi."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"OS ya Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Programu zilizoondolewa"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Watumiaji na programu ziilizoondolewa"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Kiwango maalum (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Usaidizi na maoni"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menyu"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Weka nenosiri ili urejeshe mipangilio ya kiwandani ikiwa katika hali ya onyesho."</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Inayofuata"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Nenosiri linahitajika"</string> diff --git a/packages/SettingsLib/res/values-ta/strings.xml b/packages/SettingsLib/res/values-ta/strings.xml index b16a29cd11c4..f85cca396ad3 100644 --- a/packages/SettingsLib/res/values-ta/strings.xml +++ b/packages/SettingsLib/res/values-ta/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s வழியாக இணைக்கப்பட்டது"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"%1$s வழியாகக் கிடைக்கிறது"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"இணைக்கப்பட்டது, இணையம் இல்லை"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"மிகவும் வேகம் குறைவானது"</string> <string name="speed_label_slow" msgid="813109590815810235">"வேகம் குறைவு"</string> <string name="speed_label_okay" msgid="2331665440671174858">"சரி"</string> <string name="speed_label_medium" msgid="3175763313268941953">"நடுத்தரம்"</string> <string name="speed_label_fast" msgid="7715732164050975057">"வேகம்"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"மிகவும் வேகமானது"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"தொடர்பு துண்டிக்கப்பட்டது"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"துண்டிக்கிறது..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"இணைக்கிறது..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"வைஃபை சிக்னல்: இரண்டு கோடுகள்."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"வைஃபை சிக்னல்: மூன்று கோடுகள்."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"வைஃபை சிக்னல் முழுமையாக உள்ளது."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"அகற்றப்பட்ட பயன்பாடுகள்"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"அகற்றப்பட்ட பயன்பாடுகள் மற்றும் பயனர்கள்"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"தனிப்பயன் (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"உதவி & கருத்து"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"மெனு"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"டெமோ பயன்முறையில் ஆரம்பநிலை மீட்டமைவைச் செயல்படுத்த, கடவுச்சொல்லை உள்ளிடவும்"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"அடுத்து"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"கடவுச்சொல் தேவை"</string> diff --git a/packages/SettingsLib/res/values-te/strings.xml b/packages/SettingsLib/res/values-te/strings.xml index 921af6868d0a..aa331a56539b 100644 --- a/packages/SettingsLib/res/values-te/strings.xml +++ b/packages/SettingsLib/res/values-te/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s ద్వారా కనెక్ట్ చేయబడింది"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"%1$s ద్వారా అందుబాటులో ఉంది"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"కనెక్ట్ చేయబడింది, ఇంటర్నెట్ లేదు"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"చాలా నెమ్మది"</string> <string name="speed_label_slow" msgid="813109590815810235">"నెమ్మది"</string> <string name="speed_label_okay" msgid="2331665440671174858">"సరే"</string> <string name="speed_label_medium" msgid="3175763313268941953">"మధ్యస్థం"</string> <string name="speed_label_fast" msgid="7715732164050975057">"వేగవంతం"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"చాలా వేగవంతం"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"డిస్కనెక్ట్ చేయబడింది"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"డిస్కనెక్ట్ చేస్తోంది..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"కనెక్ట్ చేస్తోంది..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wifi సిగ్నల్ రెండు బార్లు ఉంది."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wifi సిగ్నల్ మూడు బార్లు ఉంది."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wifi సిగ్నల్ పూర్తిగా ఉంది."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"తీసివేయబడిన అనువర్తనాలు"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"తీసివేయబడిన అనువర్తనాలు మరియు వినియోగదారులు"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"అనుకూలం (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"సహాయం & అభిప్రాయం"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"మెను"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"డెమో మోడ్లో ఫ్యాక్టరీ రీసెట్ను నిర్వహించడానికి పాస్వర్డ్ను నమోదు చేయండి"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"తదుపరి"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"పాస్వర్డ్ అవసరం"</string> diff --git a/packages/SettingsLib/res/values-th/strings.xml b/packages/SettingsLib/res/values-th/strings.xml index 4f31238d7541..1582da5f73eb 100644 --- a/packages/SettingsLib/res/values-th/strings.xml +++ b/packages/SettingsLib/res/values-th/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"เชื่อมต่อผ่าน %1$s แล้ว"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"พร้อมใช้งานผ่านทาง %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"เชื่อมต่อแล้ว ไม่พบอินเทอร์เน็ต"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"ช้ามาก"</string> <string name="speed_label_slow" msgid="813109590815810235">"ช้า"</string> <string name="speed_label_okay" msgid="2331665440671174858">"ตกลง"</string> <string name="speed_label_medium" msgid="3175763313268941953">"ปานกลาง"</string> <string name="speed_label_fast" msgid="7715732164050975057">"เร็ว"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"เร็วมาก"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"ตัดการเชื่อมต่อ"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"กำลังตัดการเชื่อมต่อ..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"กำลังเชื่อมต่อ…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"สัญญาณ Wi-Fi 2 ขีด"</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"สัญญาณ Wi-Fi 3 ขีด"</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"สัญญาณ Wi-Fi เต็ม"</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"ระบบปฏิบัติการของ Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"แอปพลิเคชันที่นำออก"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"แอปพลิเคชันและผู้ใช้ที่นำออก"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"กำหนดเอง (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"ความช่วยเหลือและความคิดเห็น"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"เมนู"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"ป้อนรหัสผ่านเพื่อรีเซ็ตค่าในโหมดสาธิต"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"ถัดไป"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"ต้องป้อนรหัสผ่าน"</string> diff --git a/packages/SettingsLib/res/values-tl/strings.xml b/packages/SettingsLib/res/values-tl/strings.xml index 984030d8e7c5..6b0fad9baa89 100644 --- a/packages/SettingsLib/res/values-tl/strings.xml +++ b/packages/SettingsLib/res/values-tl/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Nakakonekta sa pamamagitan ng %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Available sa pamamagitan ng %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Nakakonekta, walang Internet"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Napakabagal"</string> <string name="speed_label_slow" msgid="813109590815810235">"Mabagal"</string> <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Katamtaman"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Mabilis"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Napakabilis"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Hindi nakakonekta"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Nadidiskonekta..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Kumukonekta…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"May dalawang bar ang Wifi."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"May tatlong bar ang Wifi."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Puno ang signal ng Wifi."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Mga inalis na app"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Mga inalis na apps at user"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Custom (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Tulong at feedback"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Ilagay ang password upang mag-factory reset sa demo mode"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Susunod"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Kinakailangan ang password"</string> diff --git a/packages/SettingsLib/res/values-tr/strings.xml b/packages/SettingsLib/res/values-tr/strings.xml index b0c60f55e562..b883c5fcd701 100644 --- a/packages/SettingsLib/res/values-tr/strings.xml +++ b/packages/SettingsLib/res/values-tr/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s üzerinden bağlı"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"%1$s üzerinden kullanılabilir"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Bağlı, İnternet yok"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Çok Yavaş"</string> <string name="speed_label_slow" msgid="813109590815810235">"Yavaş"</string> <string name="speed_label_okay" msgid="2331665440671174858">"Tamam"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Orta"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Hızlı"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Çok Hızlı"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Bağlantı kesildi"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Bağlantı kesiliyor…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Bağlanıyor…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Kablosuz sinyal gücü iki çubuk."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Kablosuz sinyal gücü üç çubuk."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Kablosuz sinyal gücü tam."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Kaldırılan uygulamalar"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Kaldırılmış kullanıcılar ve uygulamalar"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Özel (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Yardım ve geri bildirim"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menü"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Demo modunda sıfırlamak için şifreyi girin"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Sonraki"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Şifre gerekli"</string> diff --git a/packages/SettingsLib/res/values-uk/strings.xml b/packages/SettingsLib/res/values-uk/strings.xml index 0834d0483bcc..de35869878a6 100644 --- a/packages/SettingsLib/res/values-uk/strings.xml +++ b/packages/SettingsLib/res/values-uk/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Під’єднано через %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Доступ через %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Під’єднано, але немає доступу до Інтернету"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Дуже повільна"</string> <string name="speed_label_slow" msgid="813109590815810235">"Повільна"</string> <string name="speed_label_okay" msgid="2331665440671174858">"ОК"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Середня"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Швидка"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Дуже швидка"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g>: <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Роз’єднано"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Відключення..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Підключення…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Дві смужки сигналу Wi-Fi."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Три смужки сигналу Wi-Fi."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Максимальний сигнал Wi-Fi."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"ОС Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Видалені програми"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Видалені програми та користувачі"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Спеціальний масштаб (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Довідка й відгуки"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Меню"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Введіть пароль, щоб скинути налаштування в демо-режимі"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Далі"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Потрібен пароль"</string> diff --git a/packages/SettingsLib/res/values-ur/strings.xml b/packages/SettingsLib/res/values-ur/strings.xml index 3aec6aee145f..186ae026cdce 100644 --- a/packages/SettingsLib/res/values-ur/strings.xml +++ b/packages/SettingsLib/res/values-ur/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"منسلک بذریعہ %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"دستیاب بذریعہ %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"منسلک، انٹرنیٹ نہیں ہے"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"بہت سست"</string> <string name="speed_label_slow" msgid="813109590815810235">"سست"</string> <string name="speed_label_okay" msgid="2331665440671174858">"ٹھیک ہے"</string> <string name="speed_label_medium" msgid="3175763313268941953">"متوسط"</string> <string name="speed_label_fast" msgid="7715732164050975057">"تیز"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"بہت تیز"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"منقطع"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"منقطع کیا جارہا ہے…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"مربوط ہو رہا ہے…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wifi دو بارز۔"</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wifi تین بارز۔"</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wifi سگنل پورا ہے۔"</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"ہٹائی گئی ایپس"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"ہٹائی گئی ایپس اور صارفین"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"حسب ضرورت (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"مدد اور تاثرات"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"مینو"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"ڈیمو موڈ میں فیکٹری ری سیٹ کیلئے پاس ورڈ درج کریں"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"اگلا"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"پاس ورڈ درکار ہے"</string> diff --git a/packages/SettingsLib/res/values-uz/strings.xml b/packages/SettingsLib/res/values-uz/strings.xml index 5c4d3bda0f4a..3bcda0c640b3 100644 --- a/packages/SettingsLib/res/values-uz/strings.xml +++ b/packages/SettingsLib/res/values-uz/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s orqali ulangan"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"%1$s orqali ishlaydi"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Ulangan, lekin internet aloqasi yo‘q"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Juda sekin"</string> <string name="speed_label_slow" msgid="813109590815810235">"Sekin"</string> <string name="speed_label_okay" msgid="2331665440671174858">"OK"</string> <string name="speed_label_medium" msgid="3175763313268941953">"O‘rtacha"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Tez"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Juda tez"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Uzildi"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Uzilyapti…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Ulanmoqda…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi: ikkita ustun"</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi: uchta ustun"</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wi-Fi: signal to‘liq"</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"O‘chirilgan ilovalar"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"O‘chirib tashlangan ilova va foydalanuvchilar"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Moslashtirilgan (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Yordam va fikr-mulohaza"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menyu"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Demo rejimda zavod holatiga qaytarish uchun parolni kiriting"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Keyingisi"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Parolni kiritish zarur"</string> diff --git a/packages/SettingsLib/res/values-vi/strings.xml b/packages/SettingsLib/res/values-vi/strings.xml index db2b29d5753d..b22f7febab95 100644 --- a/packages/SettingsLib/res/values-vi/strings.xml +++ b/packages/SettingsLib/res/values-vi/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Được kết nối qua %1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Có sẵn qua %1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Đã kết nối, không có Internet"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Rất chậm"</string> <string name="speed_label_slow" msgid="813109590815810235">"Chậm"</string> <string name="speed_label_okay" msgid="2331665440671174858">"Khá tốt"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Trung bình"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Nhanh"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Rất nhanh"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Đã ngắt kết nối"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Đang ngắt kết nối…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Đang kết nối…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Tín hiệu Wi-Fi hai vạch."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Tín hiệu Wi-Fi ba vạch."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Tín hiệu Wi-Fi đủ."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Hệ điều hành Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Ứng dụng đã xóa"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Ứng dụng và người dùng bị xóa"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Tùy chỉnh (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Trợ giúp và phản hồi"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Menu"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Nhập mật khẩu để tiến hành khôi phục cài đặt gốc ở chế độ trình diễn"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Tiếp theo"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Yêu cầu mật khẩu"</string> diff --git a/packages/SettingsLib/res/values-zh-rCN/strings.xml b/packages/SettingsLib/res/values-zh-rCN/strings.xml index 1fe8778295bb..21c4a9472c29 100644 --- a/packages/SettingsLib/res/values-zh-rCN/strings.xml +++ b/packages/SettingsLib/res/values-zh-rCN/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"已通过%1$s连接"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"可通过%1$s连接"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"已连接,但无法访问互联网"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"很慢"</string> <string name="speed_label_slow" msgid="813109590815810235">"慢"</string> <string name="speed_label_okay" msgid="2331665440671174858">"良好"</string> <string name="speed_label_medium" msgid="3175763313268941953">"适中"</string> <string name="speed_label_fast" msgid="7715732164050975057">"快"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"很快"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"已断开连接"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"正在断开连接..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"正在连接..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"WLAN 信号强度为两格。"</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"WLAN 信号强度为三格。"</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"WLAN 信号满格。"</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android 操作系统"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"已删除的应用"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"已删除的应用和用户"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"自定义 (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"帮助和反馈"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"菜单"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"输入密码即可在演示模式下恢复出厂设置"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"下一步"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"需要输入密码"</string> diff --git a/packages/SettingsLib/res/values-zh-rHK/strings.xml b/packages/SettingsLib/res/values-zh-rHK/strings.xml index 080a417f453f..21d41703e324 100644 --- a/packages/SettingsLib/res/values-zh-rHK/strings.xml +++ b/packages/SettingsLib/res/values-zh-rHK/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"已透過 %1$s 連線"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"可透過 %1$s 連線"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"已連線,沒有互聯網"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"非常慢"</string> <string name="speed_label_slow" msgid="813109590815810235">"慢"</string> <string name="speed_label_okay" msgid="2331665440671174858">"良好"</string> <string name="speed_label_medium" msgid="3175763313268941953">"適中"</string> <string name="speed_label_fast" msgid="7715732164050975057">"快"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"非常快"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"已中斷連線"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"正在中斷連線..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"正在連線..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi 訊號兩格。"</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi 訊號三格。"</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wi-Fi 訊號滿格。"</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android 作業系統"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"已移除的應用程式"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"已移除的應用程式和使用者"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"自訂 (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"說明和意見反映"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"選單"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"輸入密碼即可在示範模式下重設原廠設定"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"下一步"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"請輸入密碼"</string> diff --git a/packages/SettingsLib/res/values-zh-rTW/strings.xml b/packages/SettingsLib/res/values-zh-rTW/strings.xml index b3c52126a5c3..746efd182762 100644 --- a/packages/SettingsLib/res/values-zh-rTW/strings.xml +++ b/packages/SettingsLib/res/values-zh-rTW/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"已透過 %1$s 連線"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"可透過 %1$s 使用"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"已連線,沒有網際網路"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"非常慢"</string> <string name="speed_label_slow" msgid="813109590815810235">"慢"</string> <string name="speed_label_okay" msgid="2331665440671174858">"確定"</string> <string name="speed_label_medium" msgid="3175763313268941953">"適中"</string> <string name="speed_label_fast" msgid="7715732164050975057">"快"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"非常快"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"已中斷連線"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"正在中斷連線…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"連線中…"</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi 訊號強度兩格。"</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi 訊號強度三格。"</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wi-Fi 訊號強度滿格。"</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"Android 作業系統"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"移除的應用程式"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"已移除的應用程式和使用者"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"自訂 (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"說明與意見回饋"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"選單"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"如要在示範模式中恢復原廠設定,請輸入密碼"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"下一步"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"請輸入密碼"</string> diff --git a/packages/SettingsLib/res/values-zu/strings.xml b/packages/SettingsLib/res/values-zu/strings.xml index f3c27a13b2cc..9dcd1e390f0c 100644 --- a/packages/SettingsLib/res/values-zu/strings.xml +++ b/packages/SettingsLib/res/values-zu/strings.xml @@ -40,12 +40,15 @@ <string name="connected_via_passpoint" msgid="2826205693803088747">"Kuxhumeke nge-%1$s"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Iyatholakala nge-%1$s"</string> <string name="wifi_connected_no_internet" msgid="3149853966840874992">"Kuxhumekile, ayikho i-inthanethi"</string> + <!-- no translation found for wifi_ap_unable_to_handle_new_sta (5348824313514404541) --> + <skip /> <string name="speed_label_very_slow" msgid="1867055264243608530">"Phansi kakhulu"</string> <string name="speed_label_slow" msgid="813109590815810235">"Phansi"</string> <string name="speed_label_okay" msgid="2331665440671174858">"KULUNGILE"</string> <string name="speed_label_medium" msgid="3175763313268941953">"Okumaphakathi"</string> <string name="speed_label_fast" msgid="7715732164050975057">"Sheshayo"</string> <string name="speed_label_very_fast" msgid="2265363430784523409">"Kushesha kakhulu"</string> + <string name="preference_summary_default_combination" msgid="8532964268242666060">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Ayixhunyiwe"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Inqamula uxhumano kwi-inthanethi..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Iyaxhuma..."</string> @@ -101,6 +104,10 @@ <string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Amabha amabili we-Wifi."</string> <string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Amabha amathathu we-Wifi."</string> <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Isiginali ye-Wifi igcwele."</string> + <!-- no translation found for accessibility_wifi_security_type_none (1223747559986205423) --> + <skip /> + <!-- no translation found for accessibility_wifi_security_type_secured (862921720418885331) --> + <skip /> <string name="process_kernel_label" msgid="3916858646836739323">"I-Android OS"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Izinhlelo zokusebenza zisusiwe"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Izinhelo zokusebenza nabasebenzisi abasusiwe"</string> @@ -375,7 +382,6 @@ <string name="screen_zoom_summary_custom" msgid="5611979864124160447">"Ngokwezifiso (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="help_feedback_label" msgid="6815040660801785649">"Usizo nempendulo"</string> <string name="content_description_menu_button" msgid="8182594799812351266">"Imenyu"</string> - <string name="time_zone_gmt" msgid="2587097992671450782">"I-GMT"</string> <string name="retail_demo_reset_message" msgid="118771671364131297">"Faka iphasiwedi ukuze wenze ukusetha kwefekthri kumodi yedemo"</string> <string name="retail_demo_reset_next" msgid="8356731459226304963">"Okulandelayo"</string> <string name="retail_demo_reset_title" msgid="696589204029930100">"Iphasiwedi iyadingeka"</string> diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java index b328933cd1c5..819ee3ee57ff 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java @@ -915,9 +915,6 @@ class SettingsProtoDumpUtil { Settings.Global.DEVICE_DEMO_MODE, GlobalSettingsProto.DEVICE_DEMO_MODE); dumpSetting(s, p, - Settings.Global.RETAIL_DEMO_MODE_CONSTANTS, - GlobalSettingsProto.RETAIL_DEMO_MODE_CONSTANTS); - dumpSetting(s, p, Settings.Global.DATABASE_DOWNGRADE_REASON, GlobalSettingsProto.DATABASE_DOWNGRADE_REASON); dumpSetting(s, p, diff --git a/packages/SystemUI/res/drawable/ic_dnd.xml b/packages/SystemUI/res/drawable/ic_dnd.xml index e658e687821b..9a1d502e21e5 100644 --- a/packages/SystemUI/res/drawable/ic_dnd.xml +++ b/packages/SystemUI/res/drawable/ic_dnd.xml @@ -1,5 +1,5 @@ <!-- - Copyright (C) 2015 The Android Open Source Project + Copyright (C) 2017 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -15,13 +15,13 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:viewportHeight="48.0" - android:viewportWidth="48.0" + android:viewportHeight="24.0" + android:viewportWidth="24.0" android:width="24dp" android:tint="?android:attr/colorControlNormal"> <path android:fillColor="#FFFFFFFF" - android:pathData="M24.0,4.0C12.95,4.0 4.0,12.95 4.0,24.0s8.95,20.0 20.0,20.0 20.0,-8.95 20.0,-20.0S35.05,4.0 24.0,4.0zm10.0,22.0L14.0,26.0l0.0,-4.0l20.0,0.0l0.0,4.0z" /> + android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM16,13L8,13c-0.55,0 -1,-0.45 -1,-1s0.45,-1 1,-1h8c0.55,0 1,0.45 1,1s-0.45,1 -1,1z"/> </vector> diff --git a/packages/SystemUI/res/drawable/ic_dnd_total_silence.xml b/packages/SystemUI/res/drawable/ic_dnd_total_silence.xml index 0515b35fb875..e7b9fa7e6988 100644 --- a/packages/SystemUI/res/drawable/ic_dnd_total_silence.xml +++ b/packages/SystemUI/res/drawable/ic_dnd_total_silence.xml @@ -1,5 +1,5 @@ <!-- - Copyright (C) 2015 The Android Open Source Project + Copyright (C) 2017 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -22,9 +22,6 @@ <path android:fillColor="#FFFFFFFF" - android:pathData="M12.0,2.0C6.5,2.0 2.0,6.5 2.0,12.0s4.5,10.0 10.0,10.0s10.0,-4.5 10.0,-10.0S17.5,2.0 12.0,2.0zM12.0,20.5c-4.7,0.0 -8.5,-3.8 -8.5,-8.5S7.3,3.5 12.0,3.5s8.5,3.8 8.5,8.5S16.7,20.5 12.0,20.5z"/> - <path - android:fillColor="#FFFFFFFF" - android:pathData="M12.0,6.0c-3.3,0.0 -6.0,2.7 -6.0,6.0c0.0,3.3 2.7,6.0 6.0,6.0s6.0,-2.7 6.0,-6.0C18.0,8.7 15.4,6.0 12.0,6.0zM15.0,13.0L9.0,13.0l0.0,-2.0l6.0,0.0L15.0,13.0z"/> + android:pathData="M12,2C6.5,2 2,6.5 2,12s4.5,10 10,10 10,-4.5 10,-10S17.5,2 12,2zM12,20.5c-4.7,0 -8.5,-3.8 -8.5,-8.5S7.3,3.5 12,3.5s8.5,3.8 8.5,8.5 -3.8,8.5 -8.5,8.5zM12,6c-3.3,0 -6,2.7 -6,6s2.7,6 6,6 6,-2.7 6,-6 -2.6,-6 -6,-6zM14,13h-4c-0.55,0 -1,-0.45 -1,-1s0.45,-1 1,-1h4c0.55,0 1,0.45 1,1s-0.45,1 -1,1z"/> </vector> diff --git a/packages/SystemUI/res/drawable/ic_volume_alarm.xml b/packages/SystemUI/res/drawable/ic_volume_alarm.xml index e64f445bef27..996e488e8c81 100644 --- a/packages/SystemUI/res/drawable/ic_volume_alarm.xml +++ b/packages/SystemUI/res/drawable/ic_volume_alarm.xml @@ -1,5 +1,5 @@ <!-- - Copyright (C) 2015 The Android Open Source Project + Copyright (C) 2017 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -15,13 +15,13 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24.0dp" - android:viewportHeight="48.0" - android:viewportWidth="48.0" + android:viewportHeight="24.0" + android:viewportWidth="24.0" android:width="24.0dp" android:tint="?android:attr/colorControlNormal"> <path android:fillColor="#FFFFFF" - android:pathData="M44.0,11.44l-9.19,-7.71 -2.57,3.06 9.19,7.71 2.57,-3.06zm-28.24,-4.66l-2.57,-3.06 -9.19,7.71 2.57,3.06 9.19,-7.71zm9.24,9.22l-3.0,0.0l0.0,12.0l9.49,5.71 1.51,-2.47 -8.0,-4.74l0.0,-10.5zm-1.01,-8.0c-9.95,0.0 -17.99,8.06 -17.99,18.0s8.04,18.0 17.99,18.0 18.01,-8.06 18.01,-18.0 -8.06,-18.0 -18.01,-18.0zm0.01,32.0c-7.73,0.0 -14.0,-6.27 -14.0,-14.0s6.27,-14.0 14.0,-14.0 14.0,6.27 14.0,14.0 -6.26,14.0 -14.0,14.0z" /> + android:pathData="M2.7,6.5c-0.4,-0.4 -0.3,-1 0.1,-1.4l3,-2.6c0.4,-0.4 1,-0.3 1.4,0.1C7.6,3 7.5,3.7 7.1,4l-3,2.6C3.6,7 3,6.9 2.7,6.5zM21.3,5.1l-3.1,-2.6c-0.4,-0.4 -0.99,-0.31 -1.4,0.1c-0.4,0.4 -0.3,1 0.1,1.4L20,6.6c0.41,0.37 1,0.3 1.4,-0.1C21.73,6.12 21.7,5.4 21.3,5.1zM21,13c0,5 -4,9 -9,9s-9,-4 -9,-9s4,-9 9,-9S21,8 21,13zM19.1,13c0,-3.9 -3.2,-7.1 -7.1,-7.1S4.9,9.1 4.9,13s3.2,7.1 7.1,7.1S19.1,16.9 19.1,13zM11.75,8C11.34,8 11,8.34 11,8.75V14l4.14,2.48c0.34,0.21 0.77,0.1 0.98,-0.24s0.09,-0.79 -0.25,-0.99l-3.37,-2v-4.5C12.5,8.34 12.16,8 11.75,8z"/> -</vector>
\ No newline at end of file +</vector> diff --git a/packages/SystemUI/res/drawable/ic_volume_alarm_mute.xml b/packages/SystemUI/res/drawable/ic_volume_alarm_mute.xml index 37d769084b6d..02fb1e702438 100644 --- a/packages/SystemUI/res/drawable/ic_volume_alarm_mute.xml +++ b/packages/SystemUI/res/drawable/ic_volume_alarm_mute.xml @@ -1,5 +1,5 @@ <!-- - Copyright (C) 2015 The Android Open Source Project + Copyright (C) 2017 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -15,13 +15,13 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24.0dp" - android:viewportHeight="48.0" - android:viewportWidth="48.0" + android:viewportHeight="24.0" + android:viewportWidth="24.0" android:width="24.0dp" android:tint="?android:attr/colorControlNormal" > <path android:fillColor="#FFFFFF" - android:pathData="M24.0,12.0c7.73,0.0 14.0,6.27 14.0,14.0 0.0,1.69 -0.31,3.3 -0.86,4.8l3.04,3.04c1.16,-2.37 1.82,-5.03 1.82,-7.84 0.0,-9.94 -8.06,-18.0 -18.01,-18.0 -2.81,0.0 -5.46,0.66 -7.84,1.81l3.05,3.05c1.5,-0.55 3.11,-0.86 4.8,-0.86zm20.0,-0.56l-9.19,-7.71 -2.57,3.06 9.19,7.71 2.57,-3.06zm-38.16,-6.85l-2.55,2.54 2.66,2.66 -2.22,1.86 2.84,2.84 2.22,-1.86 1.6,1.6c-2.73,3.16 -4.39,7.27 -4.39,11.77 0.0,9.94 8.04,18.0 17.99,18.0 4.51,0.0 8.62,-1.67 11.77,-4.4l4.4,4.4 2.54,-2.55 -34.91,-34.91 -1.95,-1.95zm27.1,32.19c-2.43,2.01 -5.54,3.22 -8.94,3.22 -7.73,0.0 -14.0,-6.27 -14.0,-14.0 0.0,-3.4 1.21,-6.51 3.22,-8.94l19.72,19.72zm-16.91,-30.23l-2.84,-2.84 -1.7,1.43 2.84,2.84 1.7,-1.43z" /> + android:pathData="M21.35,6.49c-0.35,0.42 -0.98,0.47 -1.4,0.12l-3.07,-2.57a1,1 0,1 1,1.29 -1.53l3.07,2.57c0.42,0.35 0.47,0.98 0.11,1.41zM20.72,20.09a0.9,0.9 0,0 1,0 1.27,0.9 0.9,0 0,1 -1.27,0l-1.57,-1.57A8.875,8.875 0,0 1,12 22c-4.98,0 -9,-4.03 -9,-9 0,-2.25 0.83,-4.31 2.2,-5.89l-0.8,-0.8 -0.41,0.35a1,1 0,0 1,-1.35 -0.06,1 1,0 0,1 0.07,-1.47l0.27,-0.23 -0.7,-0.7a0.9,0.9 0,0 1,0 -1.27c0.35,-0.35 0.93,-0.35 1.28,0l17.16,17.16zM16.54,18.45L6.55,8.46A7.041,7.041 0,0 0,4.9 13c0,3.91 3.19,7.1 7.1,7.1 1.73,0 3.31,-0.62 4.54,-1.65zM7.17,3.98A0.997,0.997 0,1 0,5.9 2.44l-0.16,0.13 1.42,1.42 0.01,-0.01zM12,4c-1.41,0 -2.73,0.33 -3.92,0.91l1.45,1.45c0.77,-0.29 1.6,-0.46 2.47,-0.46 3.91,0 7.1,3.18 7.1,7.1 0,0.87 -0.17,1.7 -0.45,2.47l1.44,1.44c0.58,-1.18 0.91,-2.5 0.91,-3.91a9,9 0,0 0,-9 -9z"/> -</vector>
\ No newline at end of file +</vector> diff --git a/packages/SystemUI/res/drawable/ic_volume_bt_sco.xml b/packages/SystemUI/res/drawable/ic_volume_bt_sco.xml index 5c3c6503d7c6..b0b9404cef46 100644 --- a/packages/SystemUI/res/drawable/ic_volume_bt_sco.xml +++ b/packages/SystemUI/res/drawable/ic_volume_bt_sco.xml @@ -1,5 +1,5 @@ <!-- - Copyright (C) 2015 The Android Open Source Project + Copyright (C) 2017 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -15,13 +15,16 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24.0dp" - android:viewportHeight="48.0" - android:viewportWidth="48.0" + android:viewportHeight="24.0" + android:viewportWidth="24.0" android:width="24.0dp" android:tint="?android:attr/colorControlNormal" > <path android:fillColor="#FFFFFF" - android:pathData="M29.41,19.0L34.0,14.41L34.0,22.0l1.0,0.0l5.71,-5.71 -4.3,-4.29 4.29,-4.29L35.0,2.0l-1.0,0.0l0.0,7.59L29.41,5.0 28.0,6.41 33.59,12.0 28.0,17.59 29.41,19.0zM36.0,5.83l1.88,1.88L36.0,9.59L36.0,5.83zm0.0,8.58l1.88,1.88L36.0,18.17l0.0,-3.76zM40.0,31.0c-2.49,0.0 -4.89,-0.4 -7.14,-1.14 -0.69,-0.22 -1.48,-0.06 -2.0,0.49l-4.4,4.41c-5.67,-2.88 -10.29,-7.51 -13.18,-13.17l4.4,-4.41c0.55,-0.5 0.71,-1.3 0.49,-2.03C17.4,12.9 17.0,10.49 17.0,8.0c0.0,-1.11 -0.89,-2.0 -2.0,-2.0L8.0,6.0c-1.11,0.0 -2.0,0.89 -2.0,2.0 0.0,18.78 15.22,34.0 34.0,34.0 1.11,0.0 2.0,-0.89 2.0,-2.0l0.0,-7.0c0.0,-1.11 -0.89,-2.0 -2.0,-2.0z" /> + android:pathData="M20,15.5c-1.25,0 -2.45,-0.2 -3.57,-0.57c-0.35,-0.11 -0.74,-0.03 -1.02,0.24l-2.2,2.2c-2.83,-1.44 -5.15,-3.75 -6.59,-6.59l2.2,-2.21c0.28,-0.26 0.36,-0.65 0.25,-1C8.7,6.45 8.5,5.25 8.5,4c0,-0.55 -0.45,-1 -1,-1H4C3.45,3 3,3.45 3,4c0,9.39 7.61,17 17,17c0.55,0 1,-0.45 1,-1v-3.5C21,15.95 20.55,15.5 20,15.5z"/> + <path + android:fillColor="#FFFFFF" + android:pathData="M17.97,6l1.88,-1.87c0.21,-0.21 0.21,-0.54 0,-0.74L17.6,1.16l-0.01,-0.01c-0.21,-0.2 -0.53,-0.2 -0.73,0.01c-0.09,0.1 -0.15,0.23 -0.15,0.36v3.23l-2.03,-2.03c-0.21,-0.21 -0.53,-0.21 -0.74,0c-0.21,0.21 -0.21,0.53 0,0.74L16.49,6l-2.55,2.55c-0.21,0.21 -0.21,0.53 0,0.74c0.21,0.21 0.53,0.21 0.74,0l2.03,-2.03v3.23c0,0.29 0.24,0.52 0.52,0.52c0.13,0 0.26,-0.05 0.35,-0.15l2.25,-2.25c0.21,-0.21 0.21,-0.54 0,-0.74L17.97,6zM17.75,2.78l0.99,0.99l-0.99,0.99V2.78zM17.75,9.23V7.27l0.99,0.99L17.75,9.23z"/> -</vector>
\ No newline at end of file +</vector> diff --git a/packages/SystemUI/res/drawable/ic_volume_media.xml b/packages/SystemUI/res/drawable/ic_volume_media.xml index d6892077fa58..53c0740d88ea 100644 --- a/packages/SystemUI/res/drawable/ic_volume_media.xml +++ b/packages/SystemUI/res/drawable/ic_volume_media.xml @@ -1,5 +1,5 @@ <!-- - Copyright (C) 2015 The Android Open Source Project + Copyright (C) 2017 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -22,6 +22,6 @@ <path android:fillColor="#FFFFFF" - android:pathData="M12.0,3.0l0.0,9.28c-0.47,-0.17 -0.97,-0.28 -1.5,-0.28C8.01,12.0 6.0,14.01 6.0,16.5S8.01,21.0 10.5,21.0c2.31,0.0 4.2,-1.75 4.45,-4.0L15.0,17.0L15.0,6.0l4.0,0.0L19.0,3.0l-7.0,0.0z" /> + android:pathData="M18,3h-5c-0.55,0 -1,0.45 -1,1v8.3a3.88,3.88 0,0 0,-2.9 -0.04c-1.79,0.67 -3.11,2.35 -3.1,4.26A4.483,4.483 0,0 0,10.5 21c2.5,0 4.5,-2.3 4.5,-4.5V6h3c0.55,0 1,-0.45 1,-1V4c0,-0.55 -0.45,-1 -1,-1z"/> -</vector>
\ No newline at end of file +</vector> diff --git a/packages/SystemUI/res/drawable/ic_volume_media_bt.xml b/packages/SystemUI/res/drawable/ic_volume_media_bt.xml index 9b7b2da72b9c..60d0184c0ba2 100644 --- a/packages/SystemUI/res/drawable/ic_volume_media_bt.xml +++ b/packages/SystemUI/res/drawable/ic_volume_media_bt.xml @@ -1,5 +1,5 @@ <!-- - Copyright (C) 2015 The Android Open Source Project + Copyright (C) 2017 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -22,9 +22,6 @@ <path android:fillColor="#FFFFFF" - android:pathData="M17.0,3.0l-7.0,0.0l0.0,9.3C9.5,12.1 9.0,12.0 8.5,12.0C6.0,12.0 4.0,14.0 4.0,16.5S6.0,21.0 8.5,21.0s4.5,-2.3 4.5,-4.5C13.0,14.7 13.0,6.0 13.0,6.0l4.0,0.0L17.0,3.0z"/> - <path - android:fillColor="#FFFFFF" - android:pathData="M23.4,9.9L20.5,7.0L20.0,7.0l0.0,3.8l-2.3,-2.3L17.0,9.2l2.8,2.8L17.0,14.8l0.7,0.7l2.3,-2.3L20.0,17.0l0.5,0.0l2.8,-2.8L21.2,12.0L23.4,9.9zM21.0,8.9l0.9,0.9l-0.9,1.0L21.0,8.9zM21.9,14.2L21.0,15.1l0.0,-1.9L21.9,14.2z"/> + android:pathData="M16,3h-5c-0.55,0 -1,0.45 -1,1v8.3c-0.93,-0.39 -1.96,-0.4 -2.9,-0.04c-1.79,0.67 -3.11,2.35 -3.1,4.26C4,19 6.01,21 8.49,21c0,0 0.01,0 0.01,0c2.5,0 4.5,-2.3 4.5,-4.5V6h3c0.55,0 1,-0.45 1,-1V4C17,3.45 16.55,3 16,3zM20.97,12l1.88,-1.87c0.21,-0.21 0.21,-0.54 0,-0.74L20.6,7.16l-0.01,-0.01c-0.21,-0.2 -0.53,-0.2 -0.73,0.01c-0.09,0.1 -0.15,0.23 -0.15,0.36v3.23l-2.03,-2.03c-0.21,-0.21 -0.53,-0.21 -0.74,0c-0.21,0.21 -0.21,0.53 0,0.74L19.49,12l-2.55,2.55c-0.21,0.21 -0.21,0.53 0,0.74c0.21,0.21 0.53,0.21 0.74,0l2.03,-2.03v3.23c0,0.29 0.24,0.52 0.52,0.52c0.13,0 0.26,-0.05 0.35,-0.15l0.02,-0.02l2.23,-2.23c0.21,-0.21 0.21,-0.54 0,-0.74L20.97,12zM20.75,10.75V8.78l0.99,0.99L20.75,10.75zM20.75,15.23v-1.96l0.99,0.99C21.73,14.25 20.75,15.23 20.75,15.23z"/> </vector> diff --git a/packages/SystemUI/res/drawable/ic_volume_media_bt_mute.xml b/packages/SystemUI/res/drawable/ic_volume_media_bt_mute.xml index 17ac01d078dd..49fcfc4d4919 100644 --- a/packages/SystemUI/res/drawable/ic_volume_media_bt_mute.xml +++ b/packages/SystemUI/res/drawable/ic_volume_media_bt_mute.xml @@ -1,5 +1,5 @@ <!-- - Copyright (C) 2015 The Android Open Source Project + Copyright (C) 2017 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -22,12 +22,12 @@ <path android:fillColor="#FFFFFF" - android:pathData="M13.0,6.0l4.0,0.0L17.0,3.0l-7.0,0.0l0.0,5.6l3.0,3.0C13.0,8.8 13.0,6.0 13.0,6.0z"/> + android:pathData="M13,6h3c0.55,0 1,-0.45 1,-1V4c0,-0.55 -0.45,-1 -1,-1h-5c-0.55,0 -1,0.45 -1,1v4.6l3,3V6z"/> <path android:fillColor="#FFFFFF" - android:pathData="M2.1,5.7L8.4,12.0C6.0,12.1 4.0,14.0 4.0,16.5S6.0,21.0 8.5,21.0c2.7,0.0 4.5,-2.3 4.5,-4.3l0.0,-0.1l3.9,3.9l1.3,-1.3L3.4,4.5L2.1,5.7z"/> + android:pathData="M4,5.1C3.67,4.76 3.12,4.75 2.78,5.08C2.41,5.42 2.4,6 2.75,6.35L8.4,12C6,12.1 4,14 4,16.5c0,2.51 2.33,4.67 4.84,4.48C11.35,20.81 13,18.62 13,16.7v-0.1l3.27,3.27c0.35,0.35 0.91,0.35 1.25,0l0.05,-0.05c0.35,-0.35 0.35,-0.91 0,-1.25L4,5.1z"/> <path android:fillColor="#FFFFFF" - android:pathData="M23.4,9.9L20.5,7.0L20.0,7.0l0.0,3.8l-2.3,-2.3L17.0,9.2l2.8,2.8L17.0,14.8l0.7,0.7l2.3,-2.3L20.0,17.0l0.5,0.0l2.8,-2.8L21.2,12.0L23.4,9.9zM21.0,8.9l0.9,0.9l-0.9,1.0L21.0,8.9zM21.9,14.2L21.0,15.1l0.0,-1.9L21.9,14.2z"/> + android:pathData="M20.97,12l1.88,-1.87c0.21,-0.21 0.21,-0.54 0,-0.74L20.6,7.16l-0.01,-0.01c-0.21,-0.2 -0.53,-0.2 -0.73,0.01c-0.09,0.1 -0.15,0.23 -0.15,0.36v3.23l-2.03,-2.03c-0.21,-0.21 -0.53,-0.21 -0.74,0c-0.21,0.21 -0.21,0.53 0,0.74L19.49,12l-2.55,2.55c-0.21,0.21 -0.21,0.53 0,0.74c0.21,0.21 0.53,0.21 0.74,0l2.03,-2.03v3.23c0,0.29 0.24,0.52 0.52,0.52c0.13,0 0.26,-0.05 0.35,-0.15l2.25,-2.25c0.21,-0.21 0.21,-0.54 0,-0.74L20.97,12zM20.75,8.78l0.99,0.99l-0.99,0.98V8.78zM20.75,15.23v-1.96l0.99,0.99C21.73,14.25 20.75,15.23 20.75,15.23z"/> -</vector>
\ No newline at end of file +</vector> diff --git a/packages/SystemUI/res/drawable/ic_volume_media_mute.xml b/packages/SystemUI/res/drawable/ic_volume_media_mute.xml index 267d09d7b84e..ebb86e896d21 100644 --- a/packages/SystemUI/res/drawable/ic_volume_media_mute.xml +++ b/packages/SystemUI/res/drawable/ic_volume_media_mute.xml @@ -1,5 +1,5 @@ <!-- - Copyright (C) 2015 The Android Open Source Project + Copyright (C) 2017 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -22,9 +22,6 @@ <path android:fillColor="#FFFFFF" - android:pathData="M15.0,6.0l4.0,0.0L19.0,3.0l-7.0,0.0l0.0,5.6l3.0,3.0C15.0,8.8 15.0,6.0 15.0,6.0z" /> - <path - android:fillColor="#FFFFFF" - android:pathData="M4.8,3.9L3.5,5.1l6.9,6.9C8.0,12.1 6.0,14.0 6.0,16.5C6.0,19.0 8.0,21.0 10.5,21.0c2.7,0.0 4.5,-2.3 4.5,-4.3c0.0,0.0 0.0,-0.1 0.0,-0.1l4.0,4.0l1.3,-1.3L4.8,3.9z" /> + android:pathData="M15,6h3c0.55,0 1,-0.45 1,-1V4c0,-0.55 -0.45,-1 -1,-1h-5c-0.55,0 -1,0.45 -1,1v4.6l3,3V6zM4.18,4.48c-0.37,0.34 -0.38,0.92 -0.03,1.27L10.4,12C8,12.1 6,14 6,16.5c0,2.51 2.33,4.67 4.84,4.48 2.51,-0.17 4.16,-2.36 4.16,-4.28v-0.1l3.37,3.37c0.35,0.35 0.91,0.35 1.25,0l0.05,-0.05c0.35,-0.35 0.35,-0.91 0,-1.25L5.4,4.5a0.866,0.866 0,0 0,-1.22 -0.02z"/> -</vector>
\ No newline at end of file +</vector> diff --git a/packages/SystemUI/res/drawable/ic_volume_ringer.xml b/packages/SystemUI/res/drawable/ic_volume_ringer.xml index 18af711a493f..f258856696bb 100644 --- a/packages/SystemUI/res/drawable/ic_volume_ringer.xml +++ b/packages/SystemUI/res/drawable/ic_volume_ringer.xml @@ -1,5 +1,5 @@ <!-- - Copyright (C) 2015 The Android Open Source Project + Copyright (C) 2017 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -15,13 +15,17 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:viewportHeight="24.0" - android:viewportWidth="24.0" + android:viewportHeight="23.4" + android:viewportWidth="23.4" android:width="24dp" android:tint="?android:attr/colorControlNormal" > - <path - android:fillColor="#FFFFFF" - android:pathData="M11.5,22.0c1.1,0.0 2.0,-0.9 2.0,-2.0l-4.0,0.0C9.5,21.1 10.4,22.0 11.5,22.0zM18.0,16.0l0.0,-5.5c0.0,-3.1 -2.1,-5.6 -5.0,-6.3L13.0,3.5C13.0,2.7 12.3,2.0 11.5,2.0C10.7,2.0 10.0,2.7 10.0,3.5l0.0,0.7c-2.9,0.7 -5.0,3.2 -5.0,6.3L5.0,16.0l-2.0,2.0l0.0,1.0l17.0,0.0l0.0,-1.0L18.0,16.0z" /> + <group + android:translateX="-0.78" + android:translateY="-0.5" > + <path + android:fillColor="#FFFFFF" + android:pathData="M12,22c1.1,0 2,-0.9 2,-2h-4C10,21.1 10.9,22 12,22zM18,16v-5c0,-3.07 -1.64,-5.64 -4.5,-6.32V4c0,-0.83 -0.67,-1.5 -1.5,-1.5S10.5,3.17 10.5,4v0.68C7.63,5.36 6,7.92 6,11v5l-2.15,2.15c-0.19,0.2 -0.19,0.51 0.01,0.71C3.95,18.95 4.07,19 4.2,19h15.6c0.45,0 0.67,-0.54 0.35,-0.85L18,16z"/> + </group> -</vector>
\ No newline at end of file +</vector> diff --git a/packages/SystemUI/res/drawable/ic_volume_ringer_mute.xml b/packages/SystemUI/res/drawable/ic_volume_ringer_mute.xml index bc926c3340a3..106d899f1b64 100644 --- a/packages/SystemUI/res/drawable/ic_volume_ringer_mute.xml +++ b/packages/SystemUI/res/drawable/ic_volume_ringer_mute.xml @@ -1,5 +1,5 @@ <!-- - Copyright (C) 2015 The Android Open Source Project + Copyright (C) 2017 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -15,13 +15,23 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:viewportHeight="48.0" - android:viewportWidth="48.0" + android:viewportHeight="23.4" + android:viewportWidth="23.3" android:width="24dp" android:tint="?android:attr/colorControlNormal" > - <path - android:fillColor="#FFFFFF" - android:pathData="M23.000000,44.000000c2.200000,0.000000 4.000000,-1.800000 4.000000,-4.000000l-8.000000,0.000000C19.000000,42.200001 20.799999,44.000000 23.000000,44.000000zM36.000000,21.000000c0.000000,-6.100000 -4.300000,-11.300000 -10.000000,-12.600000L26.000000,7.000000c0.000000,-1.700000 -1.300000,-3.000000 -3.000000,-3.000000c-1.700000,0.000000 -3.000000,1.300000 -3.000000,3.000000l0.000000,1.400000c-1.000000,0.200000 -2.000000,0.600000 -2.900000,1.100000L36.000000,28.400000L36.000000,21.000000zM35.500000,38.000000l4.000000,4.000000l2.500000,-2.500000L8.500000,6.000000L6.000000,8.500000l5.800000,5.800000C10.700000,16.299999 10.000000,18.600000 10.000000,21.000000l0.000000,11.000000l-4.000000,4.000000l0.000000,2.000000L35.500000,38.000000z" /> + <group + android:translateX="-0.85" + android:translateY="-0.5" > + <path + android:fillColor="#FF0" + android:pathData="M20.73,19.46l-0.6,-0.6c0,0 0,0 0,0L5.54,4.26c-0.35,-0.35 -0.92,-0.35 -1.27,0c-0.35,0.35 -0.35,0.92 0,1.27l2.4,2.4C6.25,8.85 6,9.88 6,11v5l-2.15,2.15c-0.19,0.2 -0.19,0.51 0.01,0.71C3.95,18.95 4.07,19 4.2,19h13.53l1.73,1.73c0.35,0.35 0.92,0.35 1.27,0C21.09,20.38 21.09,19.81 20.73,19.46z"/> + <path + android:fillColor="#FF0" + android:pathData="M18,11c0,-3.07 -1.64,-5.64 -4.5,-6.32V4c0,-0.83 -0.67,-1.5 -1.5,-1.5S10.5,3.17 10.5,4v0.68C9.87,4.83 9.31,5.08 8.8,5.4l9.2,9.2V11z"/> + <path + android:fillColor="#FF0" + android:pathData="M12,22c1.1,0 2,-0.9 2,-2h-4C10,21.1 10.9,22 12,22z"/> + </group> -</vector>
\ No newline at end of file +</vector> diff --git a/packages/SystemUI/res/drawable/ic_volume_ringer_vibrate.xml b/packages/SystemUI/res/drawable/ic_volume_ringer_vibrate.xml index ffbffad690ec..9db8511c3623 100644 --- a/packages/SystemUI/res/drawable/ic_volume_ringer_vibrate.xml +++ b/packages/SystemUI/res/drawable/ic_volume_ringer_vibrate.xml @@ -1,5 +1,5 @@ <!-- - Copyright (C) 2015 The Android Open Source Project + Copyright (C) 2017 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -22,6 +22,6 @@ <path android:fillColor="#FFFFFF" - android:pathData="M0.0,15.0l2.0,0.0L2.0,9.0L0.0,9.0L0.0,15.0zM3.0,17.0l2.0,0.0L5.0,7.0L3.0,7.0L3.0,17.0zM22.0,9.0l0.0,6.0l2.0,0.0L24.0,9.0L22.0,9.0zM19.0,17.0l2.0,0.0L21.0,7.0l-2.0,0.0L19.0,17.0zM16.5,3.0l-9.0,0.0C6.7,3.0 6.0,3.7 6.0,4.5l0.0,15.0C6.0,20.3 6.7,21.0 7.5,21.0l9.0,0.0c0.8,0.0 1.5,-0.7 1.5,-1.5l0.0,-15.0C18.0,3.7 17.3,3.0 16.5,3.0zM16.0,19.0L8.0,19.0L8.0,5.0l8.0,0.0L16.0,19.0z" /> + android:pathData="M1,15c0.55,0 1,-0.45 1,-1v-4c0,-0.55 -0.45,-1 -1,-1s-1,0.45 -1,1v4c0,0.55 0.45,1 1,1zM4,17c0.55,0 1,-0.45 1,-1L5,8c0,-0.55 -0.45,-1 -1,-1s-1,0.45 -1,1v8c0,0.55 0.45,1 1,1zM22,10v4c0,0.55 0.45,1 1,1s1,-0.45 1,-1v-4c0,-0.55 -0.45,-1 -1,-1s-1,0.45 -1,1zM20,17c0.55,0 1,-0.45 1,-1L21,8c0,-0.55 -0.45,-1 -1,-1s-1,0.45 -1,1v8c0,0.55 0.45,1 1,1zM16.5,3h-9C6.67,3 6,3.67 6,4.5v15c0,0.83 0.67,1.5 1.5,1.5h9c0.83,0 1.5,-0.67 1.5,-1.5v-15c0,-0.83 -0.67,-1.5 -1.5,-1.5zM16,19L8,19L8,5h8v14z"/> -</vector>
\ No newline at end of file +</vector> diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java index 81ec6a7c72a9..4e728f68890a 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java @@ -19,13 +19,14 @@ package com.android.systemui.qs.tiles; import android.content.ComponentName; import android.content.Context; import android.content.Intent; +import android.content.pm.PackageManager; import android.content.res.Resources; +import android.os.SystemProperties; import android.service.quicksettings.Tile; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Switch; - import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settingslib.net.DataUsageController; @@ -38,7 +39,6 @@ import com.android.systemui.plugins.qs.QSTile.SignalState; import com.android.systemui.qs.CellTileView; import com.android.systemui.qs.CellTileView.SignalIcon; import com.android.systemui.qs.QSHost; -import com.android.systemui.qs.SignalTileView; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.statusbar.policy.NetworkController; import com.android.systemui.statusbar.policy.NetworkController.IconState; @@ -46,8 +46,17 @@ import com.android.systemui.statusbar.policy.NetworkController.SignalCallback; /** Quick settings tile: Cellular **/ public class CellularTile extends QSTileImpl<SignalState> { - static final Intent CELLULAR_SETTINGS = new Intent().setComponent(new ComponentName( - "com.android.settings", "com.android.settings.Settings$DataUsageSummaryActivity")); + private static final ComponentName CELLULAR_SETTING_COMPONENT = new ComponentName( + "com.android.settings", "com.android.settings.Settings$DataUsageSummaryActivity"); + private static final ComponentName DATA_PLAN_CELLULAR_COMPONENT = new ComponentName( + "com.android.settings", "com.android.settings.Settings$DataPlanUsageSummaryActivity"); + + private static final Intent CELLULAR_SETTINGS = + new Intent().setComponent(CELLULAR_SETTING_COMPONENT); + private static final Intent DATA_PLAN_CELLULAR_SETTINGS = + new Intent().setComponent(DATA_PLAN_CELLULAR_COMPONENT); + + private static final String ENABLE_SETTINGS_DATA_PLAN = "enable.settings.data.plan"; private final NetworkController mController; private final DataUsageController mDataController; @@ -90,7 +99,7 @@ public class CellularTile extends QSTileImpl<SignalState> { @Override public Intent getLongClickIntent() { - return CELLULAR_SETTINGS; + return getCellularSettingIntent(mContext); } @Override @@ -103,7 +112,9 @@ public class CellularTile extends QSTileImpl<SignalState> { if (mDataController.isMobileDataSupported()) { showDetail(true); } else { - mActivityStarter.postStartActivityDismissingKeyguard(CELLULAR_SETTINGS, 0); + mActivityStarter + .postStartActivityDismissingKeyguard(getCellularSettingIntent(mContext), + 0 /* delay */); } } @@ -240,7 +251,28 @@ public class CellularTile extends QSTileImpl<SignalState> { public void setMobileDataEnabled(boolean enabled) { mDetailAdapter.setMobileDataEnabled(enabled); } - }; + } + + static Intent getCellularSettingIntent(Context context) { + // TODO(b/62349208): We should replace feature flag check below with data plans + // availability check. If the data plans are available we display the data plans usage + // summary otherwise we display data usage summary without data plans. + boolean isDataPlanFeatureEnabled = + SystemProperties.getBoolean(ENABLE_SETTINGS_DATA_PLAN, false /* default */); + context.getPackageManager() + .setComponentEnabledSetting( + DATA_PLAN_CELLULAR_COMPONENT, + isDataPlanFeatureEnabled ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED + : PackageManager.COMPONENT_ENABLED_STATE_DISABLED, + PackageManager.DONT_KILL_APP); + context.getPackageManager() + .setComponentEnabledSetting( + CELLULAR_SETTING_COMPONENT, + isDataPlanFeatureEnabled ? PackageManager.COMPONENT_ENABLED_STATE_DISABLED + : PackageManager.COMPONENT_ENABLED_STATE_ENABLED, + PackageManager.DONT_KILL_APP); + return isDataPlanFeatureEnabled ? DATA_PLAN_CELLULAR_SETTINGS : CELLULAR_SETTINGS; + } private final class CellularDetailAdapter implements DetailAdapter { @@ -258,7 +290,7 @@ public class CellularTile extends QSTileImpl<SignalState> { @Override public Intent getSettingsIntent() { - return CELLULAR_SETTINGS; + return getCellularSettingIntent(mContext); } @Override diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/DataSaverTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/DataSaverTile.java index b7964512a2fa..8b62beb861ba 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/DataSaverTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/DataSaverTile.java @@ -14,18 +14,16 @@ package com.android.systemui.qs.tiles; -import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; import android.content.Intent; import android.service.quicksettings.Tile; import android.widget.Switch; - -import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.systemui.Dependency; import com.android.systemui.Prefs; import com.android.systemui.R; -import com.android.systemui.qs.QSHost; import com.android.systemui.plugins.qs.QSTile.BooleanState; +import com.android.systemui.qs.QSHost; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.statusbar.phone.SystemUIDialog; import com.android.systemui.statusbar.policy.DataSaverController; @@ -57,9 +55,8 @@ public class DataSaverTile extends QSTileImpl<BooleanState> implements @Override public Intent getLongClickIntent() { - return CellularTile.CELLULAR_SETTINGS; + return CellularTile.getCellularSettingIntent(mContext); } - @Override protected void handleClick() { if (mState.value @@ -73,12 +70,7 @@ public class DataSaverTile extends QSTileImpl<BooleanState> implements dialog.setTitle(com.android.internal.R.string.data_saver_enable_title); dialog.setMessage(com.android.internal.R.string.data_saver_description); dialog.setPositiveButton(com.android.internal.R.string.data_saver_enable_button, - new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - toggleDataSaver(); - } - }); + (OnClickListener) (dialogInterface, which) -> toggleDataSaver()); dialog.setNegativeButton(com.android.internal.R.string.cancel, null); dialog.setShowForAllUsers(true); dialog.show(); @@ -126,4 +118,4 @@ public class DataSaverTile extends QSTileImpl<BooleanState> implements public void onDataSaverChanged(boolean isDataSaving) { refreshState(isDataSaving); } -}
\ No newline at end of file +} diff --git a/proto/src/metrics_constants.proto b/proto/src/metrics_constants.proto index 53190869513b..6167d85f33c7 100644 --- a/proto/src/metrics_constants.proto +++ b/proto/src/metrics_constants.proto @@ -4252,6 +4252,11 @@ message MetricsEvent { // OS: O MR FIELD_RANKED_POSITION = 1087; + // OPEN: Settings > Data plan usage + // CATEGORY: SETTINGS + // OS: O MR + DATA_PLAN_USAGE_SUMMARY = 1088; + // Add new aosp constants above this line. // END OF AOSP CONSTANTS } diff --git a/services/Android.mk b/services/Android.mk index 6a73d5f65351..0986e0a4aad4 100644 --- a/services/Android.mk +++ b/services/Android.mk @@ -34,7 +34,6 @@ services := \ net \ print \ restrictions \ - retaildemo \ usage \ usb \ voiceinteraction diff --git a/services/art-profile b/services/art-profile index bd6ed23fa993..140465a1c35e 100644 --- a/services/art-profile +++ b/services/art-profile @@ -11901,23 +11901,6 @@ PLcom/android/server/restrictions/RestrictionsManagerService$RestrictionsManager PLcom/android/server/restrictions/RestrictionsManagerService;->-wrap0(Lcom/android/server/restrictions/RestrictionsManagerService;Ljava/lang/String;)Landroid/os/IBinder; PLcom/android/server/restrictions/RestrictionsManagerService;-><init>(Landroid/content/Context;)V PLcom/android/server/restrictions/RestrictionsManagerService;->onStart()V -PLcom/android/server/retaildemo/RetailDemoModeService$1;-><init>(Lcom/android/server/retaildemo/RetailDemoModeService;)V -PLcom/android/server/retaildemo/RetailDemoModeService$1;->onUserActivity()V -PLcom/android/server/retaildemo/RetailDemoModeService$Injector;-><init>(Landroid/content/Context;)V -PLcom/android/server/retaildemo/RetailDemoModeService$Injector;->getContentResolver()Landroid/content/ContentResolver; -PLcom/android/server/retaildemo/RetailDemoModeService$Injector;->getContext()Landroid/content/Context; -PLcom/android/server/retaildemo/RetailDemoModeService$Injector;->publishLocalService(Lcom/android/server/retaildemo/RetailDemoModeService;Landroid/app/RetailDemoModeServiceInternal;)V -PLcom/android/server/retaildemo/RetailDemoModeService$MainHandler;-><init>(Lcom/android/server/retaildemo/RetailDemoModeService;Landroid/os/Looper;)V -PLcom/android/server/retaildemo/RetailDemoModeService$SettingsObserver;->-wrap0(Lcom/android/server/retaildemo/RetailDemoModeService$SettingsObserver;)V -PLcom/android/server/retaildemo/RetailDemoModeService$SettingsObserver;-><init>(Lcom/android/server/retaildemo/RetailDemoModeService;Landroid/os/Handler;)V -PLcom/android/server/retaildemo/RetailDemoModeService$SettingsObserver;->refreshTimeoutConstants()V -PLcom/android/server/retaildemo/RetailDemoModeService$SettingsObserver;->register()V -PLcom/android/server/retaildemo/RetailDemoModeService;->-get1(Lcom/android/server/retaildemo/RetailDemoModeService;)Lcom/android/server/retaildemo/RetailDemoModeService$Injector; -PLcom/android/server/retaildemo/RetailDemoModeService;->-wrap2(Lcom/android/server/retaildemo/RetailDemoModeService;Ljava/lang/Class;Ljava/lang/Object;)V -PLcom/android/server/retaildemo/RetailDemoModeService;-><init>(Landroid/content/Context;)V -PLcom/android/server/retaildemo/RetailDemoModeService;-><init>(Lcom/android/server/retaildemo/RetailDemoModeService$Injector;)V -PLcom/android/server/retaildemo/RetailDemoModeService;->onBootPhase(I)V -PLcom/android/server/retaildemo/RetailDemoModeService;->onStart()V PLcom/android/server/search/SearchManagerService$GlobalSearchProviderObserver;-><init>(Lcom/android/server/search/SearchManagerService;Landroid/content/ContentResolver;)V PLcom/android/server/search/SearchManagerService$Lifecycle$1;-><init>(Lcom/android/server/search/SearchManagerService$Lifecycle;I)V PLcom/android/server/search/SearchManagerService$Lifecycle$1;->run()V diff --git a/services/backup/java/com/android/server/backup/BackupManagerService.java b/services/backup/java/com/android/server/backup/BackupManagerService.java index a02802859ca7..41de97c8bcbb 100644 --- a/services/backup/java/com/android/server/backup/BackupManagerService.java +++ b/services/backup/java/com/android/server/backup/BackupManagerService.java @@ -698,6 +698,7 @@ public class BackupManagerService implements BackupManagerServiceInterface { final SparseArray<Operation> mCurrentOperations = new SparseArray<Operation>(); final Object mCurrentOpLock = new Object(); final Random mTokenGenerator = new Random(); + final AtomicInteger mNextToken = new AtomicInteger(); final SparseArray<AdbParams> mAdbBackupRestoreConfirmations = new SparseArray<AdbParams>(); @@ -770,15 +771,13 @@ public class BackupManagerService implements BackupManagerServiceInterface { @GuardedBy("mQueueLock") ArrayList<FullBackupEntry> mFullBackupQueue; - // Utility: build a new random integer token + // Utility: build a new random integer token. The low bits are the ordinal of the + // operation for near-time uniqueness, and the upper bits are random for app- + // side unpredictability. @Override public int generateRandomIntegerToken() { - int token; - do { - synchronized (mTokenGenerator) { - token = mTokenGenerator.nextInt(); - } - } while (token < 0); + int token = mTokenGenerator.nextInt() & ~0xFF; + token |= (mNextToken.incrementAndGet() & 0xFF); return token; } diff --git a/services/core/java/com/android/server/am/VrController.java b/services/core/java/com/android/server/am/VrController.java index 048bef7b19f5..feddfe3a2169 100644 --- a/services/core/java/com/android/server/am/VrController.java +++ b/services/core/java/com/android/server/am/VrController.java @@ -163,6 +163,7 @@ final class VrController { ComponentName requestedPackage; ComponentName callingPackage; int userId; + int processId = -1; boolean changed = false; synchronized (mGlobalAmLock) { vrMode = record.requestedVrComponent != null; @@ -172,11 +173,15 @@ final class VrController { // Tell the VrController that a VR mode change is requested. changed = changeVrModeLocked(vrMode, record.app); + + if (record.app != null) { + processId = record.app.pid; + } } // Tell VrManager that a VR mode changed is requested, VrManager will handle // notifying all non-AM dependencies if needed. - vrService.setVrMode(vrMode, requestedPackage, userId, callingPackage); + vrService.setVrMode(vrMode, requestedPackage, userId, processId, callingPackage); return changed; } diff --git a/services/core/java/com/android/server/notification/ConditionProviders.java b/services/core/java/com/android/server/notification/ConditionProviders.java index 5cc14b5ed520..3444ef3ec2fa 100644 --- a/services/core/java/com/android/server/notification/ConditionProviders.java +++ b/services/core/java/com/android/server/notification/ConditionProviders.java @@ -35,6 +35,7 @@ import android.util.ArraySet; import android.util.Slog; import com.android.internal.R; +import com.android.internal.annotations.VisibleForTesting; import com.android.server.notification.NotificationManagerService.DumpFilter; import java.io.PrintWriter; @@ -43,7 +44,8 @@ import java.util.Arrays; public class ConditionProviders extends ManagedServices { - private static final String TAG_ENABLED_DND_APPS = "dnd_apps"; + @VisibleForTesting + static final String TAG_ENABLED_DND_APPS = "dnd_apps"; private final ArrayList<ConditionRecord> mRecords = new ArrayList<>(); private final ArraySet<String> mSystemConditionProviderNames; @@ -84,7 +86,7 @@ public class ConditionProviders extends ManagedServices { c.caption = "condition provider"; c.serviceInterface = ConditionProviderService.SERVICE_INTERFACE; c.secureSettingName = Settings.Secure.ENABLED_NOTIFICATION_POLICY_ACCESS_PACKAGES; - c.managedServiceTypeTag = TAG_ENABLED_DND_APPS; + c.xmlTag = TAG_ENABLED_DND_APPS; c.secondarySettingName = Settings.Secure.ENABLED_NOTIFICATION_LISTENERS; c.bindPermission = android.Manifest.permission.BIND_CONDITION_PROVIDER_SERVICE; c.settingsAction = Settings.ACTION_CONDITION_PROVIDER_SETTINGS; diff --git a/services/core/java/com/android/server/notification/ManagedServices.java b/services/core/java/com/android/server/notification/ManagedServices.java index 2f88740cd01b..80878131ae44 100644 --- a/services/core/java/com/android/server/notification/ManagedServices.java +++ b/services/core/java/com/android/server/notification/ManagedServices.java @@ -52,6 +52,7 @@ import android.util.Log; import android.util.Slog; import android.util.SparseArray; +import com.android.internal.util.XmlUtils; import com.android.server.notification.NotificationManagerService.DumpFilter; import org.xmlpull.v1.XmlPullParser; @@ -226,7 +227,7 @@ abstract public class ManagedServices { } public void writeXml(XmlSerializer out, boolean forBackup) throws IOException { - out.startTag(null, getConfig().managedServiceTypeTag); + out.startTag(null, getConfig().xmlTag); if (forBackup) { trimApprovedListsAccordingToInstalledServices(); @@ -241,7 +242,7 @@ abstract public class ManagedServices { for (int j = 0; j < M; j++) { final boolean isPrimary = approvedByType.keyAt(j); final Set<String> approved = approvedByType.valueAt(j); - if (approved != null && approved.size() > 0) { + if (approved != null) { String allowedItems = String.join(ENABLED_SERVICES_SEPARATOR, approved); out.startTag(null, TAG_MANAGED_SERVICES); out.attribute(null, ATT_APPROVED_LIST, allowedItems); @@ -260,43 +261,34 @@ abstract public class ManagedServices { } } - out.endTag(null, getConfig().managedServiceTypeTag); + out.endTag(null, getConfig().xmlTag); } - /** - * @return false if modifications were made to the data on load that requires the xml file - * to be re-written - */ - public boolean readXml(XmlPullParser parser) + protected void migrateToXml() { + loadAllowedComponentsFromSettings(); + } + + public void readXml(XmlPullParser parser) throws XmlPullParserException, IOException { - boolean rewriteXml = false; - int type = parser.getEventType(); - String tag = parser.getName(); - if (type != XmlPullParser.START_TAG || !getConfig().managedServiceTypeTag.equals(tag)) { - // xml empty/invalid - read from setting instead - loadAllowedComponentsFromSettings(); - rewriteXml = true; - } else { - while ((type = parser.next()) != XmlPullParser.END_DOCUMENT) { - tag = parser.getName(); - if (type == XmlPullParser.END_TAG - && getConfig().managedServiceTypeTag.equals(tag)) { - break; - } - if (type == XmlPullParser.START_TAG) { - if (TAG_MANAGED_SERVICES.equals(tag)) { - final String approved = XmlUtils.safeString(parser, ATT_APPROVED_LIST, ""); - final int userId = XmlUtils.safeInt(parser, ATT_USER_ID, 0); - final boolean isPrimary = XmlUtils.safeBool(parser, ATT_IS_PRIMARY, true); - addApprovedList(approved, userId, isPrimary); - } + int type; + while ((type = parser.next()) != XmlPullParser.END_DOCUMENT) { + String tag = parser.getName(); + if (type == XmlPullParser.END_TAG + && getConfig().xmlTag.equals(tag)) { + break; + } + if (type == XmlPullParser.START_TAG) { + if (TAG_MANAGED_SERVICES.equals(tag)) { + final String approved = XmlUtils.readStringAttribute(parser, ATT_APPROVED_LIST); + final int userId = XmlUtils.readIntAttribute(parser, ATT_USER_ID, 0); + final boolean isPrimary = + XmlUtils.readBooleanAttribute(parser, ATT_IS_PRIMARY, true); + addApprovedList(approved, userId, isPrimary); + mUseXml = true; } } - mUseXml = true; } rebindServices(false); - - return rewriteXml; } private void loadAllowedComponentsFromSettings() { @@ -1119,7 +1111,7 @@ abstract public class ManagedServices { public String serviceInterface; public String secureSettingName; public String secondarySettingName; - public String managedServiceTypeTag; + public String xmlTag; public String bindPermission; public String settingsAction; public int clientLabel; diff --git a/services/core/java/com/android/server/notification/NotificationIntrusivenessExtractor.java b/services/core/java/com/android/server/notification/NotificationIntrusivenessExtractor.java index 12b29cff5c13..91fee4669846 100644 --- a/services/core/java/com/android/server/notification/NotificationIntrusivenessExtractor.java +++ b/services/core/java/com/android/server/notification/NotificationIntrusivenessExtractor.java @@ -16,14 +16,14 @@ package com.android.server.notification; -import android.app.Notification; import android.app.NotificationManager; import android.content.Context; import android.net.Uri; -import android.service.notification.NotificationListenerService; import android.util.Log; import android.util.Slog; +import com.android.internal.annotations.VisibleForTesting; + /** * This {@link com.android.server.notification.NotificationSignalExtractor} notices noisy * notifications and marks them to get a temporary ranking bump. @@ -34,7 +34,8 @@ public class NotificationIntrusivenessExtractor implements NotificationSignalExt /** Length of time (in milliseconds) that an intrusive or noisy notification will stay at the top of the ranking order, before it falls back to its natural position. */ - private static final long HANG_TIME_MS = 10000; + @VisibleForTesting + static final long HANG_TIME_MS = 10000; public void initialize(Context ctx, NotificationUsageStats usageStats) { if (DBG) Slog.d(TAG, "Initializing " + getClass().getSimpleName() + "."); @@ -46,7 +47,8 @@ public class NotificationIntrusivenessExtractor implements NotificationSignalExt return null; } - if (record.getImportance() >= NotificationManager.IMPORTANCE_DEFAULT) { + if (record.getFreshnessMs(System.currentTimeMillis()) < HANG_TIME_MS + && record.getImportance() >= NotificationManager.IMPORTANCE_DEFAULT) { if (record.getSound() != null && record.getSound() != Uri.EMPTY) { record.setRecentlyIntrusive(true); } diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java index c04124a4b8a0..fb391f885874 100644 --- a/services/core/java/com/android/server/notification/NotificationManagerService.java +++ b/services/core/java/com/android/server/notification/NotificationManagerService.java @@ -55,7 +55,6 @@ import static android.service.notification.NotificationListenerService.TRIM_LIGH import static android.view.Display.DEFAULT_DISPLAY; import static android.view.WindowManager.LayoutParams.TYPE_TOAST; -import static org.xmlpull.v1.XmlPullParser.END_DOCUMENT; import android.Manifest; import android.annotation.NonNull; @@ -162,6 +161,7 @@ import com.android.internal.util.ArrayUtils; import com.android.internal.util.DumpUtils; import com.android.internal.util.FastXmlSerializer; import com.android.internal.util.Preconditions; +import com.android.internal.util.XmlUtils; import com.android.server.DeviceIdleController; import com.android.server.EventLogTags; import com.android.server.LocalServices; @@ -342,7 +342,7 @@ public class NotificationManagerService extends SystemService { private final UserProfiles mUserProfiles = new UserProfiles(); private NotificationListeners mListeners; - private NotificationAssistants mNotificationAssistants; + private NotificationAssistants mAssistants; private ConditionProviders mConditionProviders; private NotificationUsageStats mUsageStats; @@ -441,24 +441,38 @@ public class NotificationManagerService extends SystemService { } } - private void readPolicyXml(InputStream stream, boolean forRestore) + void readPolicyXml(InputStream stream, boolean forRestore) throws XmlPullParserException, NumberFormatException, IOException { final XmlPullParser parser = Xml.newPullParser(); parser.setInput(stream, StandardCharsets.UTF_8.name()); - - boolean saveXml = false; - while (parser.next() != END_DOCUMENT) { - mZenModeHelper.readXml(parser, forRestore); - mRankingHelper.readXml(parser, forRestore); + XmlUtils.beginDocument(parser, TAG_NOTIFICATION_POLICY); + boolean migratedManagedServices = false; + int outerDepth = parser.getDepth(); + while (XmlUtils.nextElementWithin(parser, outerDepth)) { + if (ZenModeConfig.ZEN_TAG.equals(parser.getName())) { + mZenModeHelper.readXml(parser, forRestore); + } else if (RankingHelper.TAG_RANKING.equals(parser.getName())){ + mRankingHelper.readXml(parser, forRestore); + } // No non-system managed services are allowed on low ram devices if (!ActivityManager.isLowRamDeviceStatic()) { - saveXml |= mListeners.readXml(parser); - saveXml |= mNotificationAssistants.readXml(parser); - saveXml |= mConditionProviders.readXml(parser); + if (mListeners.getConfig().xmlTag.equals(parser.getName())) { + mListeners.readXml(parser); + migratedManagedServices = true; + } else if (mAssistants.getConfig().xmlTag.equals(parser.getName())) { + mAssistants.readXml(parser); + migratedManagedServices = true; + } else if (mConditionProviders.getConfig().xmlTag.equals(parser.getName())) { + mConditionProviders.readXml(parser); + migratedManagedServices = true; + } } } - if (saveXml) { + if (!migratedManagedServices) { + mListeners.migrateToXml(); + mAssistants.migrateToXml(); + mConditionProviders.migrateToXml(); savePolicyFile(); } } @@ -467,7 +481,7 @@ public class NotificationManagerService extends SystemService { if (DBG) Slog.d(TAG, "loadPolicyFile"); synchronized (mPolicyFile) { - FileInputStream infile = null; + InputStream infile = null; try { infile = mPolicyFile.openRead(); readPolicyXml(infile, false /*forRestore*/); @@ -523,7 +537,7 @@ public class NotificationManagerService extends SystemService { mZenModeHelper.writeXml(out, forBackup); mRankingHelper.writeXml(out, forBackup); mListeners.writeXml(out, forBackup); - mNotificationAssistants.writeXml(out, forBackup); + mAssistants.writeXml(out, forBackup); mConditionProviders.writeXml(out, forBackup); out.endTag(null, TAG_NOTIFICATION_POLICY); out.endDocument(); @@ -898,7 +912,7 @@ public class NotificationManagerService extends SystemService { } } mListeners.onPackagesChanged(removingPackage, pkgList, uidList); - mNotificationAssistants.onPackagesChanged(removingPackage, pkgList, uidList); + mAssistants.onPackagesChanged(removingPackage, pkgList, uidList); mConditionProviders.onPackagesChanged(removingPackage, pkgList, uidList); mRankingHelper.onPackagesChanged(removingPackage, changeUserId, pkgList, uidList); savePolicyFile(); @@ -970,7 +984,7 @@ public class NotificationManagerService extends SystemService { // Refresh managed services mConditionProviders.onUserSwitched(user); mListeners.onUserSwitched(user); - mNotificationAssistants.onUserSwitched(user); + mAssistants.onUserSwitched(user); mZenModeHelper.onUserSwitched(user); } else if (action.equals(Intent.ACTION_USER_ADDED)) { mUserProfiles.updateCache(context); @@ -983,7 +997,7 @@ public class NotificationManagerService extends SystemService { final int user = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, UserHandle.USER_NULL); mConditionProviders.onUserUnlocked(user); mListeners.onUserUnlocked(user); - mNotificationAssistants.onUserUnlocked(user); + mAssistants.onUserUnlocked(user); mZenModeHelper.onUserUnlocked(user); } } @@ -1231,7 +1245,7 @@ public class NotificationManagerService extends SystemService { mListeners = notificationListeners; // This is a MangedServices object that keeps track of the assistant. - mNotificationAssistants = notificationAssistants; + mAssistants = notificationAssistants; mPolicyFile = policyFile; loadPolicyFile(); @@ -1400,7 +1414,7 @@ public class NotificationManagerService extends SystemService { // bind to listener services. mSettingsObserver.observe(); mListeners.onBootPhaseAppsCanStart(); - mNotificationAssistants.onBootPhaseAppsCanStart(); + mAssistants.onBootPhaseAppsCanStart(); mConditionProviders.onBootPhaseAppsCanStart(); } } @@ -1569,7 +1583,6 @@ public class NotificationManagerService extends SystemService { Slog.e(TAG, "Not doing toast. pkg=" + pkg + " callback=" + callback); return ; } - final boolean isSystemToast = isCallerSystemOrPhone() || ("android".equals(pkg)); final boolean isPackageSuspended = isPackageSuspendedForUser(pkg, Binder.getCallingUid()); @@ -1928,7 +1941,7 @@ public class NotificationManagerService extends SystemService { // Listener & assistant mListeners.onPackagesChanged(true, packages, uids); - mNotificationAssistants.onPackagesChanged(true, packages, uids); + mAssistants.onPackagesChanged(true, packages, uids); // Zen mConditionProviders.onPackagesChanged(true, packages, uids); @@ -2134,8 +2147,8 @@ public class NotificationManagerService extends SystemService { long identity = Binder.clearCallingIdentity(); try { ManagedServices manager = - mNotificationAssistants.isComponentEnabledForCurrentProfiles(component) - ? mNotificationAssistants + mAssistants.isComponentEnabledForCurrentProfiles(component) + ? mAssistants : mListeners; manager.setComponentState(component, true); } finally { @@ -2255,7 +2268,7 @@ public class NotificationManagerService extends SystemService { try { synchronized (mNotificationLock) { final ManagedServiceInfo info = - mNotificationAssistants.checkServiceTokenLocked(token); + mAssistants.checkServiceTokenLocked(token); unsnoozeNotificationInt(key, info); } } finally { @@ -2788,7 +2801,7 @@ public class NotificationManagerService extends SystemService { public boolean isNotificationAssistantAccessGranted(ComponentName assistant) { Preconditions.checkNotNull(assistant); checkCallerIsSystemOrSameApp(assistant.getPackageName()); - return mNotificationAssistants.isPackageOrComponentAllowed(assistant.flattenToString(), + return mAssistants.isPackageOrComponentAllowed(assistant.flattenToString(), getCallingUserHandle().getIdentifier()); } @@ -2835,7 +2848,7 @@ public class NotificationManagerService extends SystemService { if (!mActivityManager.isLowRamDevice()) { mConditionProviders.setPackageOrComponentEnabled(assistant.flattenToString(), userId, false, granted); - mNotificationAssistants.setPackageOrComponentEnabled(assistant.flattenToString(), + mAssistants.setPackageOrComponentEnabled(assistant.flattenToString(), userId, true, granted); getContext().sendBroadcastAsUser(new Intent( @@ -2854,7 +2867,7 @@ public class NotificationManagerService extends SystemService { final long identity = Binder.clearCallingIdentity(); try { synchronized (mNotificationLock) { - mNotificationAssistants.checkServiceTokenLocked(token); + mAssistants.checkServiceTokenLocked(token); int N = mEnqueuedNotifications.size(); for (int i = 0; i < N; i++) { final NotificationRecord n = mEnqueuedNotifications.get(i); @@ -2876,7 +2889,7 @@ public class NotificationManagerService extends SystemService { final long identity = Binder.clearCallingIdentity(); try { synchronized (mNotificationLock) { - mNotificationAssistants.checkServiceTokenLocked(token); + mAssistants.checkServiceTokenLocked(token); NotificationRecord n = mNotificationsByKey.get(adjustment.getKey()); applyAdjustment(n, adjustment); } @@ -2893,7 +2906,7 @@ public class NotificationManagerService extends SystemService { final long identity = Binder.clearCallingIdentity(); try { synchronized (mNotificationLock) { - mNotificationAssistants.checkServiceTokenLocked(token); + mAssistants.checkServiceTokenLocked(token); for (Adjustment adjustment : adjustments) { NotificationRecord n = mNotificationsByKey.get(adjustment.getKey()); applyAdjustment(n, adjustment); @@ -2989,9 +3002,11 @@ public class NotificationManagerService extends SystemService { if (r == null) { return; } - addAutoGroupAdjustment(r, GroupHelper.AUTOGROUP_KEY); - EventLogTags.writeNotificationAutogrouped(key); - mRankingHandler.requestSort(); + if (r.sbn.getOverrideGroupKey() == null) { + addAutoGroupAdjustment(r, GroupHelper.AUTOGROUP_KEY); + EventLogTags.writeNotificationAutogrouped(key); + mRankingHandler.requestSort(); + } } @GuardedBy("mNotificationLock") @@ -3000,9 +3015,11 @@ public class NotificationManagerService extends SystemService { if (r == null) { return; } - addAutoGroupAdjustment(r, null); - EventLogTags.writeNotificationUnautogrouped(key); - mRankingHandler.requestSort(); + if (r.sbn.getOverrideGroupKey() != null) { + addAutoGroupAdjustment(r, null); + EventLogTags.writeNotificationUnautogrouped(key); + mRankingHandler.requestSort(); + } } private void addAutoGroupAdjustment(NotificationRecord r, String overrideGroupKey) { @@ -3273,7 +3290,7 @@ public class NotificationManagerService extends SystemService { } pw.println(')'); pw.println("\n Notification assistant services:"); - mNotificationAssistants.dump(pw, filter); + mAssistants.dump(pw, filter); } if (!filter.filtered || zenOnly) { @@ -3664,7 +3681,7 @@ public class NotificationManagerService extends SystemService { cancelNotificationLocked(r, false, REASON_SNOOZED, wasPosted); updateLightsLocked(); if (mSnoozeCriterionId != null) { - mNotificationAssistants.notifyAssistantSnoozedLocked(r.sbn, mSnoozeCriterionId); + mAssistants.notifyAssistantSnoozedLocked(r.sbn, mSnoozeCriterionId); mSnoozeHelper.snooze(r); } else { mSnoozeHelper.snooze(r, mDuration); @@ -3728,8 +3745,8 @@ public class NotificationManagerService extends SystemService { mRankingHelper.extractSignals(r); // tell the assistant service about the notification - if (mNotificationAssistants.isEnabled()) { - mNotificationAssistants.onNotificationEnqueued(r); + if (mAssistants.isEnabled()) { + mAssistants.onNotificationEnqueued(r); mHandler.postDelayed(new PostNotificationRunnable(r.getKey()), DELAY_FOR_ASSISTANT_TIME); } else { @@ -5238,7 +5255,7 @@ public class NotificationManagerService extends SystemService { Config c = new Config(); c.caption = "notification assistant service"; c.serviceInterface = NotificationAssistantService.SERVICE_INTERFACE; - c.managedServiceTypeTag = TAG_ENABLED_NOTIFICATION_ASSISTANTS; + c.xmlTag = TAG_ENABLED_NOTIFICATION_ASSISTANTS; c.secureSettingName = Settings.Secure.ENABLED_NOTIFICATION_ASSISTANT; c.bindPermission = Manifest.permission.BIND_NOTIFICATION_ASSISTANT_SERVICE; c.settingsAction = Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS; @@ -5350,7 +5367,7 @@ public class NotificationManagerService extends SystemService { Config c = new Config(); c.caption = "notification listener"; c.serviceInterface = NotificationListenerService.SERVICE_INTERFACE; - c.managedServiceTypeTag = TAG_ENABLED_NOTIFICATION_LISTENERS; + c.xmlTag = TAG_ENABLED_NOTIFICATION_LISTENERS; c.secureSettingName = Settings.Secure.ENABLED_NOTIFICATION_LISTENERS; c.bindPermission = android.Manifest.permission.BIND_NOTIFICATION_LISTENER_SERVICE; c.settingsAction = Settings.ACTION_NOTIFICATION_LISTENER_SETTINGS; diff --git a/services/core/java/com/android/server/notification/RankingHelper.java b/services/core/java/com/android/server/notification/RankingHelper.java index 0d5cc2c112d5..9622a24a2d4d 100644 --- a/services/core/java/com/android/server/notification/RankingHelper.java +++ b/services/core/java/com/android/server/notification/RankingHelper.java @@ -20,6 +20,7 @@ import com.android.internal.annotations.VisibleForTesting; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto; import com.android.internal.util.Preconditions; +import com.android.internal.util.XmlUtils; import android.app.Notification; import android.app.NotificationChannel; @@ -64,7 +65,7 @@ public class RankingHelper implements RankingConfig { private static final int XML_VERSION = 1; - private static final String TAG_RANKING = "ranking"; + static final String TAG_RANKING = "ranking"; private static final String TAG_PACKAGE = "package"; private static final String TAG_CHANNEL = "channel"; private static final String TAG_GROUP = "channelGroup"; @@ -169,7 +170,7 @@ public class RankingHelper implements RankingConfig { } if (type == XmlPullParser.START_TAG) { if (TAG_PACKAGE.equals(tag)) { - int uid = XmlUtils.safeInt(parser, ATT_UID, Record.UNKNOWN_UID); + int uid = XmlUtils.readIntAttribute(parser, ATT_UID, Record.UNKNOWN_UID); String name = parser.getAttributeValue(null, ATT_NAME); if (!TextUtils.isEmpty(name)) { if (forRestore) { @@ -182,14 +183,21 @@ public class RankingHelper implements RankingConfig { } Record r = getOrCreateRecord(name, uid, - XmlUtils.safeInt(parser, ATT_IMPORTANCE, DEFAULT_IMPORTANCE), - XmlUtils.safeInt(parser, ATT_PRIORITY, DEFAULT_PRIORITY), - XmlUtils.safeInt(parser, ATT_VISIBILITY, DEFAULT_VISIBILITY), - XmlUtils.safeBool(parser, ATT_SHOW_BADGE, DEFAULT_SHOW_BADGE)); - r.importance = XmlUtils.safeInt(parser, ATT_IMPORTANCE, DEFAULT_IMPORTANCE); - r.priority = XmlUtils.safeInt(parser, ATT_PRIORITY, DEFAULT_PRIORITY); - r.visibility = XmlUtils.safeInt(parser, ATT_VISIBILITY, DEFAULT_VISIBILITY); - r.showBadge = XmlUtils.safeBool(parser, ATT_SHOW_BADGE, DEFAULT_SHOW_BADGE); + XmlUtils.readIntAttribute( + parser, ATT_IMPORTANCE, DEFAULT_IMPORTANCE), + XmlUtils.readIntAttribute(parser, ATT_PRIORITY, DEFAULT_PRIORITY), + XmlUtils.readIntAttribute( + parser, ATT_VISIBILITY, DEFAULT_VISIBILITY), + XmlUtils.readBooleanAttribute( + parser, ATT_SHOW_BADGE, DEFAULT_SHOW_BADGE)); + r.importance = XmlUtils.readIntAttribute( + parser, ATT_IMPORTANCE, DEFAULT_IMPORTANCE); + r.priority = XmlUtils.readIntAttribute( + parser, ATT_PRIORITY, DEFAULT_PRIORITY); + r.visibility = XmlUtils.readIntAttribute( + parser, ATT_VISIBILITY, DEFAULT_VISIBILITY); + r.showBadge = XmlUtils.readBooleanAttribute( + parser, ATT_SHOW_BADGE, DEFAULT_SHOW_BADGE); final int innerDepth = parser.getDepth(); while ((type = parser.next()) != XmlPullParser.END_DOCUMENT @@ -214,7 +222,7 @@ public class RankingHelper implements RankingConfig { if (TAG_CHANNEL.equals(tagName)) { String id = parser.getAttributeValue(null, ATT_ID); String channelName = parser.getAttributeValue(null, ATT_NAME); - int channelImportance = XmlUtils.safeInt( + int channelImportance = XmlUtils.readIntAttribute( parser, ATT_IMPORTANCE, DEFAULT_IMPORTANCE); if (!TextUtils.isEmpty(id) && !TextUtils.isEmpty(channelName)) { NotificationChannel channel = new NotificationChannel(id, @@ -419,8 +427,7 @@ public class RankingHelper implements RankingConfig { record.setAuthoritativeRank(i); final String groupKey = record.getGroupKey(); NotificationRecord existingProxy = mProxyByGroupTmp.get(groupKey); - if (existingProxy == null - || record.getImportance() > existingProxy.getImportance()) { + if (existingProxy == null) { mProxyByGroupTmp.put(groupKey, record); } } diff --git a/services/core/java/com/android/server/notification/XmlUtils.java b/services/core/java/com/android/server/notification/XmlUtils.java deleted file mode 100644 index 831d03970fe3..000000000000 --- a/services/core/java/com/android/server/notification/XmlUtils.java +++ /dev/null @@ -1,52 +0,0 @@ -/** - * Copyright (c) 2017, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT 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.server.notification; - -import android.annotation.NonNull; -import android.text.TextUtils; - -import org.xmlpull.v1.XmlPullParser; - -class XmlUtils { - - static @NonNull String safeString(XmlPullParser parser, String att, String defValue) { - final String value = parser.getAttributeValue(null, att); - if (value == null) return defValue; - return value; - } - - static @NonNull boolean safeBool(XmlPullParser parser, String att, boolean defValue) { - final String value = parser.getAttributeValue(null, att); - if (TextUtils.isEmpty(value)) return defValue; - return Boolean.parseBoolean(value); - } - - static @NonNull int safeInt(XmlPullParser parser, String att, int defValue) { - final String val = parser.getAttributeValue(null, att); - return tryParseInt(val, defValue); - } - - private static int tryParseInt(String value, int defValue) { - if (TextUtils.isEmpty(value)) return defValue; - try { - return Integer.parseInt(value); - } catch (NumberFormatException e) { - return defValue; - } - } - -} diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java index c68854286a19..0c72326095a6 100644 --- a/services/core/java/com/android/server/power/PowerManagerService.java +++ b/services/core/java/com/android/server/power/PowerManagerService.java @@ -53,6 +53,7 @@ import android.os.SystemClock; import android.os.SystemProperties; import android.os.Trace; import android.os.UserHandle; +import android.os.UserManager; import android.os.WorkSource; import android.provider.Settings; import android.provider.Settings.SettingNotFoundException; @@ -197,6 +198,9 @@ public final class PowerManagerService extends SystemService // System property indicating that the screen should remain off until an explicit user action private static final String SYSTEM_PROPERTY_QUIESCENT = "ro.boot.quiescent"; + // System Property indicating that retail demo mode is currently enabled. + private static final String SYSTEM_PROPERTY_RETAIL_DEMO_ENABLED = "sys.retaildemo.enabled"; + // Possible reasons for shutting down for use in data/misc/reboot/last_shutdown_reason private static final String REASON_SHUTDOWN = "shutdown"; private static final String REASON_REBOOT = "reboot"; @@ -805,6 +809,9 @@ public final class PowerManagerService extends SystemService resolver.registerContentObserver(Settings.Secure.getUriFor( Settings.Secure.DOUBLE_TAP_TO_WAKE), false, mSettingsObserver, UserHandle.USER_ALL); + resolver.registerContentObserver(Settings.Global.getUriFor( + Settings.Global.DEVICE_DEMO_MODE), + false, mSettingsObserver, UserHandle.USER_SYSTEM); IVrManager vrManager = (IVrManager) getBinderService(Context.VR_SERVICE); if (vrManager != null) { try { @@ -912,6 +919,11 @@ public final class PowerManagerService extends SystemService } } + final String retailDemoValue = UserManager.isDeviceInDemoMode(mContext) ? "1" : "0"; + if (!retailDemoValue.equals(SystemProperties.get(SYSTEM_PROPERTY_RETAIL_DEMO_ENABLED))) { + SystemProperties.set(SYSTEM_PROPERTY_RETAIL_DEMO_ENABLED, retailDemoValue); + } + final int oldScreenBrightnessSetting = getCurrentBrightnessSettingLocked(); mScreenBrightnessForVrSetting = Settings.System.getIntForUser(resolver, diff --git a/services/core/java/com/android/server/vr/VrManagerInternal.java b/services/core/java/com/android/server/vr/VrManagerInternal.java index 1f7564027166..bdd9de011186 100644 --- a/services/core/java/com/android/server/vr/VrManagerInternal.java +++ b/services/core/java/com/android/server/vr/VrManagerInternal.java @@ -52,10 +52,11 @@ public abstract class VrManagerInternal { * @param enabled {@code true} to enable VR mode. * @param packageName The package name of the requested VrListenerService to bind. * @param userId the user requesting the VrListenerService component. + * @param processId the process the component is running in. * @param calling the component currently using VR mode, or null to leave unchanged. */ public abstract void setVrMode(boolean enabled, @NonNull ComponentName packageName, - int userId, @NonNull ComponentName calling); + int userId, int processId, @NonNull ComponentName calling); /** * Set whether the system has acquired a sleep token. diff --git a/services/core/java/com/android/server/vr/VrManagerService.java b/services/core/java/com/android/server/vr/VrManagerService.java index b10c9a3fd2ac..a6b8d94fb6b5 100644 --- a/services/core/java/com/android/server/vr/VrManagerService.java +++ b/services/core/java/com/android/server/vr/VrManagerService.java @@ -128,6 +128,8 @@ public class VrManagerService extends SystemService implements EnabledComponentC private boolean mVrModeAllowed; private boolean mVrModeEnabled; private boolean mPersistentVrModeEnabled; + private boolean mRunning2dInVr; + private int mVrAppProcessId; private EnabledComponentsObserver mComponentObserver; private ManagedApplicationService mCurrentVrService; private ComponentName mDefaultVrService; @@ -178,7 +180,7 @@ public class VrManagerService extends SystemService implements EnabledComponentC } consumeAndApplyPendingStateLocked(); if (mBootsToVr && !mVrModeEnabled) { - setVrMode(true, mDefaultVrService, 0, null); + setVrMode(true, mDefaultVrService, 0, -1, null); } } else { // Disable persistent mode when VR mode isn't allowed, allows an escape hatch to @@ -187,12 +189,12 @@ public class VrManagerService extends SystemService implements EnabledComponentC // Set pending state to current state. mPendingState = (mVrModeEnabled && mCurrentVrService != null) - ? new VrState(mVrModeEnabled, mCurrentVrService.getComponent(), - mCurrentVrService.getUserId(), mCurrentVrModeComponent) + ? new VrState(mVrModeEnabled, mRunning2dInVr, mCurrentVrService.getComponent(), + mCurrentVrService.getUserId(), mVrAppProcessId, mCurrentVrModeComponent) : null; // Unbind current VR service and do necessary callbacks. - updateCurrentVrServiceLocked(false, null, 0, null); + updateCurrentVrServiceLocked(false, false, null, 0, -1, null); } } } @@ -274,26 +276,33 @@ public class VrManagerService extends SystemService implements EnabledComponentC private static class VrState { final boolean enabled; + final boolean running2dInVr; final int userId; + final int processId; final ComponentName targetPackageName; final ComponentName callingPackage; final long timestamp; final boolean defaultPermissionsGranted; - VrState(boolean enabled, ComponentName targetPackageName, int userId, - ComponentName callingPackage) { + + VrState(boolean enabled, boolean running2dInVr, ComponentName targetPackageName, int userId, + int processId, ComponentName callingPackage) { this.enabled = enabled; + this.running2dInVr = running2dInVr; this.userId = userId; + this.processId = processId; this.targetPackageName = targetPackageName; this.callingPackage = callingPackage; this.defaultPermissionsGranted = false; this.timestamp = System.currentTimeMillis(); } - VrState(boolean enabled, ComponentName targetPackageName, int userId, - ComponentName callingPackage, boolean defaultPermissionsGranted) { + VrState(boolean enabled, boolean running2dInVr, ComponentName targetPackageName, int userId, + int processId, ComponentName callingPackage, boolean defaultPermissionsGranted) { this.enabled = enabled; + this.running2dInVr = running2dInVr; this.userId = userId; + this.processId = processId; this.targetPackageName = targetPackageName; this.callingPackage = callingPackage; this.defaultPermissionsGranted = defaultPermissionsGranted; @@ -394,8 +403,9 @@ public class VrManagerService extends SystemService implements EnabledComponentC } // There is an active service, update it if needed - updateCurrentVrServiceLocked(mVrModeEnabled, mCurrentVrService.getComponent(), - mCurrentVrService.getUserId(), mCurrentVrModeComponent); + updateCurrentVrServiceLocked(mVrModeEnabled, mRunning2dInVr, + mCurrentVrService.getComponent(), mCurrentVrService.getUserId(), + mVrAppProcessId, mCurrentVrModeComponent); } } @@ -531,9 +541,9 @@ public class VrManagerService extends SystemService implements EnabledComponentC */ private final class LocalService extends VrManagerInternal { @Override - public void setVrMode(boolean enabled, ComponentName packageName, int userId, + public void setVrMode(boolean enabled, ComponentName packageName, int userId, int processId, ComponentName callingPackage) { - VrManagerService.this.setVrMode(enabled, packageName, userId, callingPackage); + VrManagerService.this.setVrMode(enabled, packageName, userId, processId, callingPackage); } @Override @@ -710,14 +720,16 @@ public class VrManagerService extends SystemService implements EnabledComponentC * Note: Must be called while holding {@code mLock}. * * @param enabled new state for VR mode. + * @param running2dInVr true if we have a top-level 2D intent. * @param component new component to be bound as a VR listener. * @param userId user owning the component to be bound. - * @param calling the component currently using VR mode. + * @param processId the process hosting the activity specified by calling. + * @param calling the component currently using VR mode or a 2D intent. * * @return {@code true} if the component/user combination specified is valid. */ - private boolean updateCurrentVrServiceLocked(boolean enabled, @NonNull ComponentName component, - int userId, ComponentName calling) { + private boolean updateCurrentVrServiceLocked(boolean enabled, boolean running2dInVr, + @NonNull ComponentName component, int userId, int processId, ComponentName calling) { boolean sendUpdatedCaller = false; final long identity = Binder.clearCallingIdentity(); @@ -777,6 +789,8 @@ public class VrManagerService extends SystemService implements EnabledComponentC sendUpdatedCaller = true; } mCurrentVrModeComponent = calling; + mRunning2dInVr = running2dInVr; + mVrAppProcessId = processId; if (mCurrentVrModeUser != userId) { mCurrentVrModeUser = userId; @@ -794,11 +808,13 @@ public class VrManagerService extends SystemService implements EnabledComponentC if (mCurrentVrService != null && sendUpdatedCaller) { final ComponentName c = mCurrentVrModeComponent; + final boolean b = running2dInVr; + final int pid = processId; mCurrentVrService.sendEvent(new PendingEvent() { @Override public void runEvent(IInterface service) throws RemoteException { IVrListener l = (IVrListener) service; - l.focusedActivityChanged(c); + l.focusedActivityChanged(c, b, pid); } }); } @@ -1001,20 +1017,20 @@ public class VrManagerService extends SystemService implements EnabledComponentC */ private void consumeAndApplyPendingStateLocked(boolean disconnectIfNoPendingState) { if (mPendingState != null) { - updateCurrentVrServiceLocked(mPendingState.enabled, - mPendingState.targetPackageName, mPendingState.userId, + updateCurrentVrServiceLocked(mPendingState.enabled, mPendingState.running2dInVr, + mPendingState.targetPackageName, mPendingState.userId, mPendingState.processId, mPendingState.callingPackage); mPendingState = null; } else if (disconnectIfNoPendingState) { - updateCurrentVrServiceLocked(false, null, 0, null); + updateCurrentVrServiceLocked(false, false, null, 0, -1, null); } } private void logStateLocked() { ComponentName currentBoundService = (mCurrentVrService == null) ? null : mCurrentVrService.getComponent(); - VrState current = new VrState(mVrModeEnabled, currentBoundService, mCurrentVrModeUser, - mCurrentVrModeComponent, mWasDefaultGranted); + VrState current = new VrState(mVrModeEnabled, mRunning2dInVr, currentBoundService, + mCurrentVrModeUser, mVrAppProcessId, mCurrentVrModeComponent, mWasDefaultGranted); if (mLoggingDeque.size() == EVENT_LOG_SIZE) { mLoggingDeque.removeFirst(); } @@ -1058,27 +1074,24 @@ public class VrManagerService extends SystemService implements EnabledComponentC * Implementation of VrManagerInternal calls. These are callable from system services. */ private void setVrMode(boolean enabled, @NonNull ComponentName targetPackageName, - int userId, @NonNull ComponentName callingPackage) { + int userId, int processId, @NonNull ComponentName callingPackage) { synchronized (mLock) { VrState pending; ComponentName targetListener; - ComponentName foregroundVrComponent; // If the device is in persistent VR mode, then calls to disable VR mode are ignored, // and the system default VR listener is used. boolean targetEnabledState = enabled || mPersistentVrModeEnabled; - if (!enabled && mPersistentVrModeEnabled) { + boolean running2dInVr = !enabled && mPersistentVrModeEnabled; + if (running2dInVr) { targetListener = mDefaultVrService; - - // Current foreground component isn't a VR one (in 2D app case) - foregroundVrComponent = null; } else { targetListener = targetPackageName; - foregroundVrComponent = callingPackage; } - pending = new VrState( - targetEnabledState, targetListener, userId, foregroundVrComponent); + + pending = new VrState(targetEnabledState, running2dInVr, targetListener, + userId, processId, callingPackage); if (!mVrModeAllowed) { // We're not allowed to be in VR mode. Make this state pending. This will be @@ -1103,8 +1116,8 @@ public class VrManagerService extends SystemService implements EnabledComponentC mPendingState = null; } - updateCurrentVrServiceLocked( - targetEnabledState, targetListener, userId, foregroundVrComponent); + updateCurrentVrServiceLocked(targetEnabledState, running2dInVr, targetListener, + userId, processId, callingPackage); } } @@ -1113,7 +1126,7 @@ public class VrManagerService extends SystemService implements EnabledComponentC setPersistentModeAndNotifyListenersLocked(enabled); // Disabling persistent mode when not showing a VR should disable the overall vr mode. if (!enabled && mCurrentVrModeComponent == null) { - setVrMode(false, null, 0, null); + setVrMode(false, null, 0, -1, null); } } } diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index 85747287cf93..3757b7d0c53d 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -99,7 +99,6 @@ import com.android.server.power.PowerManagerService; import com.android.server.power.ShutdownThread; import com.android.server.broadcastradio.BroadcastRadioService; import com.android.server.restrictions.RestrictionsManagerService; -import com.android.server.retaildemo.RetailDemoModeService; import com.android.server.security.KeyAttestationApplicationIdProviderService; import com.android.server.security.KeyChainSystemService; import com.android.server.soundtrigger.SoundTriggerService; @@ -1536,10 +1535,6 @@ public final class SystemServer { mmsService = mSystemServiceManager.startService(MmsServiceBroker.class); traceEnd(); - traceBeginAndSlog("StartRetailDemoModeService"); - mSystemServiceManager.startService(RetailDemoModeService.class); - traceEnd(); - if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_AUTOFILL)) { traceBeginAndSlog("StartAutoFillService"); mSystemServiceManager.startService(AUTO_FILL_MANAGER_SERVICE_CLASS); diff --git a/services/retaildemo/Android.mk b/services/retaildemo/Android.mk deleted file mode 100644 index 670c6bfa1e6a..000000000000 --- a/services/retaildemo/Android.mk +++ /dev/null @@ -1,12 +0,0 @@ -LOCAL_PATH := $(call my-dir) - -include $(CLEAR_VARS) - -LOCAL_MODULE := services.retaildemo - -LOCAL_SRC_FILES += \ - $(call all-java-files-under,java) - -LOCAL_JAVA_LIBRARIES := services.core - -include $(BUILD_STATIC_JAVA_LIBRARY) diff --git a/services/retaildemo/java/com/android/server/retaildemo/PreloadAppsInstaller.java b/services/retaildemo/java/com/android/server/retaildemo/PreloadAppsInstaller.java deleted file mode 100644 index 90c58d0279a7..000000000000 --- a/services/retaildemo/java/com/android/server/retaildemo/PreloadAppsInstaller.java +++ /dev/null @@ -1,178 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License - */ - -package com.android.server.retaildemo; - -import android.app.AppGlobals; -import android.app.PackageInstallObserver; -import android.content.Context; -import android.content.pm.IPackageManager; -import android.content.pm.PackageManager; -import android.os.Bundle; -import android.os.Environment; -import android.os.RemoteException; -import android.os.UserHandle; -import android.provider.Settings; -import android.util.ArrayMap; -import android.util.Log; -import android.util.Slog; - -import com.android.internal.annotations.VisibleForTesting; -import com.android.internal.util.ArrayUtils; - -import java.io.File; -import java.io.IOException; -import java.util.Collections; -import java.util.Map; - -/** - * Helper class for installing preloaded APKs - */ -class PreloadAppsInstaller { - private static final String SYSTEM_SERVER_PACKAGE_NAME = "android"; - private static String TAG = PreloadAppsInstaller.class.getSimpleName(); - private static final String PRELOAD_APK_EXT = ".apk.preload"; - private static boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG); - - private final IPackageManager mPackageManager; - private final File preloadsAppsDirectory; - private final Context mContext; - - private final Map<String, String> mApkToPackageMap; - - PreloadAppsInstaller(Context context) { - this(context, AppGlobals.getPackageManager(), Environment.getDataPreloadsAppsDirectory()); - } - - @VisibleForTesting - PreloadAppsInstaller(Context context, IPackageManager packageManager, File preloadsAppsDirectory) { - mContext = context; - mPackageManager = packageManager; - mApkToPackageMap = Collections.synchronizedMap(new ArrayMap<>()); - this.preloadsAppsDirectory = preloadsAppsDirectory; - } - - void installApps(int userId) { - File[] files = preloadsAppsDirectory.listFiles(); - AppInstallCounter counter = new AppInstallCounter(mContext, userId); - if (ArrayUtils.isEmpty(files)) { - counter.setExpectedAppsCount(0); - return; - } - int expectedCount = 0; - for (File file : files) { - String apkName = file.getName(); - if (apkName.endsWith(PRELOAD_APK_EXT) && file.isFile()) { - String packageName = mApkToPackageMap.get(apkName); - if (packageName != null) { - try { - expectedCount++; - installExistingPackage(packageName, userId, counter); - } catch (Exception e) { - Slog.e(TAG, "Failed to install existing package " + packageName, e); - } - } else { - try { - installPackage(file, userId, counter); - expectedCount++; - } catch (Exception e) { - Slog.e(TAG, "Failed to install package from " + file, e); - } - } - } - } - counter.setExpectedAppsCount(expectedCount); - } - - private void installExistingPackage(String packageName, int userId, - AppInstallCounter counter) { - if (DEBUG) { - Log.d(TAG, "installExistingPackage " + packageName + " u" + userId); - } - try { - mPackageManager.installExistingPackageAsUser(packageName, userId, - 0 /*installFlags*/, PackageManager.INSTALL_REASON_UNKNOWN); - } catch (RemoteException e) { - throw e.rethrowFromSystemServer(); - } finally { - counter.appInstallFinished(); - } - } - - private void installPackage(File file, final int userId, AppInstallCounter counter) - throws IOException, RemoteException { - final String apkName = file.getName(); - if (DEBUG) { - Log.d(TAG, "installPackage " + apkName + " u" + userId); - } - mPackageManager.installPackageAsUser(file.getPath(), new PackageInstallObserver() { - @Override - public void onPackageInstalled(String basePackageName, int returnCode, String msg, - Bundle extras) { - if (DEBUG) { - Log.d(TAG, "Package " + basePackageName + " installed u" + userId - + " returnCode: " + returnCode + " msg: " + msg); - } - // Don't notify the counter for now, we'll do it in installExistingPackage - if (returnCode == PackageManager.INSTALL_SUCCEEDED) { - mApkToPackageMap.put(apkName, basePackageName); - // Install on user 0 so that the package is cached when demo user is re-created - installExistingPackage(basePackageName, UserHandle.USER_SYSTEM, counter); - } else if (returnCode == PackageManager.INSTALL_FAILED_ALREADY_EXISTS) { - // This can only happen in first session after a reboot - if (!mApkToPackageMap.containsKey(apkName)) { - mApkToPackageMap.put(apkName, basePackageName); - } - installExistingPackage(basePackageName, userId, counter); - } else { - Log.e(TAG, "Package " + basePackageName + " cannot be installed from " - + apkName + ": " + msg + " (returnCode " + returnCode + ")"); - counter.appInstallFinished(); - } - } - }.getBinder(), 0, SYSTEM_SERVER_PACKAGE_NAME, userId); - } - - private static class AppInstallCounter { - private int expectedCount = -1; // -1 means expectedCount not set - private int finishedCount; - private final Context mContext; - private final int userId; - - AppInstallCounter(Context context, int userId) { - mContext = context; - this.userId = userId; - } - - synchronized void appInstallFinished() { - this.finishedCount++; - checkIfAllFinished(); - } - - synchronized void setExpectedAppsCount(int expectedCount) { - this.expectedCount = expectedCount; - checkIfAllFinished(); - } - - private void checkIfAllFinished() { - if (expectedCount == finishedCount) { - Log.i(TAG, "All preloads finished installing for user " + userId); - Settings.Secure.putStringForUser(mContext.getContentResolver(), - Settings.Secure.DEMO_USER_SETUP_COMPLETE, "1", userId); - } - } - } -} diff --git a/services/retaildemo/java/com/android/server/retaildemo/RetailDemoModeService.java b/services/retaildemo/java/com/android/server/retaildemo/RetailDemoModeService.java deleted file mode 100644 index 711d4d9d8a91..000000000000 --- a/services/retaildemo/java/com/android/server/retaildemo/RetailDemoModeService.java +++ /dev/null @@ -1,868 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License - */ - -package com.android.server.retaildemo; - -import android.Manifest; -import android.app.ActivityManager; -import android.app.ActivityManagerInternal; -import android.app.AppGlobals; -import android.app.Notification; -import android.app.NotificationManager; -import android.app.PendingIntent; -import android.app.RetailDemoModeServiceInternal; -import android.content.BroadcastReceiver; -import android.content.ComponentName; -import android.content.ContentResolver; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.content.IntentFilter; -import android.content.pm.IPackageManager; -import android.content.pm.PackageManager; -import android.content.pm.ResolveInfo; -import android.content.pm.UserInfo; -import android.content.res.Configuration; -import android.database.ContentObserver; -import android.hardware.camera2.CameraAccessException; -import android.hardware.camera2.CameraCharacteristics; -import android.hardware.camera2.CameraManager; -import android.media.AudioManager; -import android.media.AudioSystem; -import android.net.Uri; -import android.net.wifi.WifiManager; -import android.os.Environment; -import android.os.FileUtils; -import android.os.Handler; -import android.os.Looper; -import android.os.Message; -import android.os.PowerManager; -import android.os.RemoteException; -import android.os.SystemClock; -import android.os.SystemProperties; -import android.os.UserHandle; -import android.os.UserManager; -import android.provider.CallLog; -import android.provider.MediaStore; -import android.provider.Settings; -import android.text.TextUtils; -import android.util.KeyValueListParser; -import android.util.Slog; - -import com.android.internal.messages.nano.SystemMessageProto.SystemMessage; -import com.android.internal.notification.SystemNotificationChannels; -import com.android.internal.os.BackgroundThread; -import com.android.internal.R; -import com.android.internal.annotations.GuardedBy; -import com.android.internal.annotations.VisibleForTesting; -import com.android.internal.logging.MetricsLogger; -import com.android.internal.widget.LockPatternUtils; -import com.android.server.LocalServices; -import com.android.server.PreloadsFileCacheExpirationJobService; -import com.android.server.ServiceThread; -import com.android.server.SystemService; -import com.android.server.am.ActivityManagerService; -import com.android.server.retaildemo.UserInactivityCountdownDialog.OnCountDownExpiredListener; - -import java.io.File; -import java.util.ArrayList; - -public class RetailDemoModeService extends SystemService { - private static final boolean DEBUG = false; - - private static final String TAG = RetailDemoModeService.class.getSimpleName(); - private static final String DEMO_USER_NAME = "Demo"; - private static final String ACTION_RESET_DEMO = - "com.android.server.retaildemo.ACTION_RESET_DEMO"; - @VisibleForTesting - static final String SYSTEM_PROPERTY_RETAIL_DEMO_ENABLED = "sys.retaildemo.enabled"; - - private static final int MSG_TURN_SCREEN_ON = 0; - private static final int MSG_INACTIVITY_TIME_OUT = 1; - private static final int MSG_START_NEW_SESSION = 2; - - private static final long SCREEN_WAKEUP_DELAY = 2500; - private static final long USER_INACTIVITY_TIMEOUT_MIN = 10000; - private static final long USER_INACTIVITY_TIMEOUT_DEFAULT = 90000; - private static final long WARNING_DIALOG_TIMEOUT_DEFAULT = 0; - private static final long MILLIS_PER_SECOND = 1000; - - @VisibleForTesting - static final int[] VOLUME_STREAMS_TO_MUTE = { - AudioSystem.STREAM_RING, - AudioSystem.STREAM_MUSIC - }; - - // Tron Vars - private static final String DEMO_SESSION_COUNT = "retail_demo_session_count"; - private static final String DEMO_SESSION_DURATION = "retail_demo_session_duration"; - - boolean mDeviceInDemoMode; - boolean mIsCarrierDemoMode; - int mCurrentUserId = UserHandle.USER_SYSTEM; - long mUserInactivityTimeout; - long mWarningDialogTimeout; - private Injector mInjector; - Handler mHandler; - private ServiceThread mHandlerThread; - private String[] mCameraIdsWithFlash; - private PreloadAppsInstaller mPreloadAppsInstaller; - - final Object mActivityLock = new Object(); - // Whether the newly created demo user has interacted with the screen yet - @GuardedBy("mActivityLock") - boolean mUserUntouched; - @GuardedBy("mActivityLock") - long mFirstUserActivityTime; - @GuardedBy("mActivityLock") - long mLastUserActivityTime; - - private boolean mSafeBootRestrictionInitialState; - private int mPackageVerifierEnableInitialState; - - private IntentReceiver mBroadcastReceiver = null; - - private final class IntentReceiver extends BroadcastReceiver { - @Override - public void onReceive(Context context, Intent intent) { - if (!mDeviceInDemoMode) { - return; - } - final String action = intent.getAction(); - switch (action) { - case Intent.ACTION_SCREEN_OFF: - mHandler.removeMessages(MSG_TURN_SCREEN_ON); - mHandler.sendEmptyMessageDelayed(MSG_TURN_SCREEN_ON, SCREEN_WAKEUP_DELAY); - break; - case ACTION_RESET_DEMO: - mHandler.sendEmptyMessage(MSG_START_NEW_SESSION); - break; - } - } - }; - - final class MainHandler extends Handler { - - MainHandler(Looper looper) { - super(looper, null, true); - } - - @Override - public void handleMessage(Message msg) { - if (!mDeviceInDemoMode) { - return; - } - switch (msg.what) { - case MSG_TURN_SCREEN_ON: - if (mInjector.isWakeLockHeld()) { - mInjector.releaseWakeLock(); - } - mInjector.acquireWakeLock(); - break; - case MSG_INACTIVITY_TIME_OUT: - if (!mIsCarrierDemoMode && isDemoLauncherDisabled()) { - Slog.i(TAG, "User inactivity timeout reached"); - showInactivityCountdownDialog(); - } - break; - case MSG_START_NEW_SESSION: - if (DEBUG) { - Slog.d(TAG, "Switching to a new demo user"); - } - removeMessages(MSG_START_NEW_SESSION); - removeMessages(MSG_INACTIVITY_TIME_OUT); - if (!mIsCarrierDemoMode && mCurrentUserId != UserHandle.USER_SYSTEM) { - logSessionDuration(); - } - - final UserManager um = mInjector.getUserManager(); - UserInfo demoUser = null; - if (mIsCarrierDemoMode) { - // Re-use the existing demo user in carrier demo mode. - for (UserInfo user : um.getUsers()) { - if (user.isDemo()) { - demoUser = user; - break; - } - } - } - - if (demoUser == null) { - // User in carrier demo mode should survive reboots. - final int flags = UserInfo.FLAG_DEMO - | (mIsCarrierDemoMode ? 0 : UserInfo.FLAG_EPHEMERAL); - demoUser = um.createUser(DEMO_USER_NAME, flags); - } - - if (demoUser != null && mCurrentUserId != demoUser.id) { - setupDemoUser(demoUser); - mInjector.switchUser(demoUser.id); - } - break; - } - } - } - - @VisibleForTesting - class SettingsObserver extends ContentObserver { - - private final static String KEY_USER_INACTIVITY_TIMEOUT = "user_inactivity_timeout_ms"; - private final static String KEY_WARNING_DIALOG_TIMEOUT = "warning_dialog_timeout_ms"; - - private final Uri mDeviceDemoModeUri = Settings.Global - .getUriFor(Settings.Global.DEVICE_DEMO_MODE); - private final Uri mDeviceProvisionedUri = Settings.Global - .getUriFor(Settings.Global.DEVICE_PROVISIONED); - private final Uri mRetailDemoConstantsUri = Settings.Global - .getUriFor(Settings.Global.RETAIL_DEMO_MODE_CONSTANTS); - - private final KeyValueListParser mParser = new KeyValueListParser(','); - - public SettingsObserver(Handler handler) { - super(handler); - } - - public void register() { - final ContentResolver cr = mInjector.getContentResolver(); - cr.registerContentObserver(mDeviceDemoModeUri, false, this, UserHandle.USER_SYSTEM); - cr.registerContentObserver(mDeviceProvisionedUri, false, this, UserHandle.USER_SYSTEM); - cr.registerContentObserver(mRetailDemoConstantsUri, false, this, - UserHandle.USER_SYSTEM); - } - - @Override - public void onChange(boolean selfChange, Uri uri) { - if (mRetailDemoConstantsUri.equals(uri)) { - refreshTimeoutConstants(); - return; - } - - // If device is provisioned and left demo mode - run the cleanup in demo folder - if (isDeviceProvisioned()) { - if (UserManager.isDeviceInDemoMode(getContext())) { - startDemoMode(); - } else { - mInjector.systemPropertiesSet(SYSTEM_PROPERTY_RETAIL_DEMO_ENABLED, "0"); - - // Run on the bg thread to not block the fg thread - BackgroundThread.getHandler().post(() -> { - if (!deletePreloadsFolderContents()) { - Slog.w(TAG, "Failed to delete preloads folder contents"); - } - PreloadsFileCacheExpirationJobService.schedule(mInjector.getContext()); - }); - - stopDemoMode(); - - if (mInjector.isWakeLockHeld()) { - mInjector.releaseWakeLock(); - } - } - } - } - - private void refreshTimeoutConstants() { - try { - mParser.setString(Settings.Global.getString(mInjector.getContentResolver(), - Settings.Global.RETAIL_DEMO_MODE_CONSTANTS)); - } catch (IllegalArgumentException exc) { - Slog.e(TAG, "Invalid string passed to KeyValueListParser"); - // Consuming the exception to fall back to default values. - } - mWarningDialogTimeout = mParser.getLong(KEY_WARNING_DIALOG_TIMEOUT, - WARNING_DIALOG_TIMEOUT_DEFAULT); - mUserInactivityTimeout = mParser.getLong(KEY_USER_INACTIVITY_TIMEOUT, - USER_INACTIVITY_TIMEOUT_DEFAULT); - mUserInactivityTimeout = Math.max(mUserInactivityTimeout, USER_INACTIVITY_TIMEOUT_MIN); - } - } - - private void showInactivityCountdownDialog() { - UserInactivityCountdownDialog dialog = new UserInactivityCountdownDialog(getContext(), - mWarningDialogTimeout, MILLIS_PER_SECOND); - dialog.setNegativeButtonClickListener(null); - dialog.setPositiveButtonClickListener(new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - mHandler.sendEmptyMessage(MSG_START_NEW_SESSION); - } - }); - dialog.setOnCountDownExpiredListener(new OnCountDownExpiredListener() { - @Override - public void onCountDownExpired() { - mHandler.sendEmptyMessage(MSG_START_NEW_SESSION); - } - }); - dialog.show(); - } - - public RetailDemoModeService(Context context) { - this(new Injector(context)); - } - - @VisibleForTesting - RetailDemoModeService(Injector injector) { - super(injector.getContext()); - - mInjector = injector; - synchronized (mActivityLock) { - mFirstUserActivityTime = mLastUserActivityTime = SystemClock.uptimeMillis(); - } - } - - boolean isDemoLauncherDisabled() { - int enabledState = PackageManager.COMPONENT_ENABLED_STATE_DEFAULT; - try { - final IPackageManager iPm = mInjector.getIPackageManager(); - final String demoLauncherComponent = - getContext().getString(R.string.config_demoModeLauncherComponent); - enabledState = iPm.getComponentEnabledSetting( - ComponentName.unflattenFromString(demoLauncherComponent), mCurrentUserId); - } catch (RemoteException re) { - Slog.e(TAG, "Error retrieving demo launcher enabled setting", re); - } - return enabledState == PackageManager.COMPONENT_ENABLED_STATE_DISABLED; - } - - private void setupDemoUser(UserInfo userInfo) { - final UserManager um = mInjector.getUserManager(); - final UserHandle user = UserHandle.of(userInfo.id); - um.setUserRestriction(UserManager.DISALLOW_CONFIG_WIFI, true, user); - um.setUserRestriction(UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES, true, user); - um.setUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS, true, user); - um.setUserRestriction(UserManager.DISALLOW_USB_FILE_TRANSFER, true, user); - um.setUserRestriction(UserManager.DISALLOW_MODIFY_ACCOUNTS, true, user); - um.setUserRestriction(UserManager.DISALLOW_CONFIG_BLUETOOTH, true, user); - // Set this to false because the default is true on user creation - um.setUserRestriction(UserManager.DISALLOW_OUTGOING_CALLS, false, user); - // Disallow rebooting in safe mode - controlled by user 0 - um.setUserRestriction(UserManager.DISALLOW_SAFE_BOOT, true, UserHandle.SYSTEM); - if (mIsCarrierDemoMode) { - // Enable SMS in carrier demo mode. - um.setUserRestriction(UserManager.DISALLOW_SMS, false, user); - } - - Settings.Secure.putIntForUser(mInjector.getContentResolver(), - Settings.Secure.SKIP_FIRST_USE_HINTS, 1, userInfo.id); - Settings.Global.putInt(mInjector.getContentResolver(), - Settings.Global.PACKAGE_VERIFIER_ENABLE, 0); - - grantRuntimePermissionToCamera(user); - clearPrimaryCallLog(); - - if (!mIsCarrierDemoMode) { - // Enable demo launcher. - final String demoLauncher = getContext().getString( - R.string.config_demoModeLauncherComponent); - if (!TextUtils.isEmpty(demoLauncher)) { - final ComponentName componentToEnable = - ComponentName.unflattenFromString(demoLauncher); - final String packageName = componentToEnable.getPackageName(); - try { - final IPackageManager iPm = AppGlobals.getPackageManager(); - iPm.setComponentEnabledSetting(componentToEnable, - PackageManager.COMPONENT_ENABLED_STATE_ENABLED, 0, userInfo.id); - iPm.setApplicationEnabledSetting(packageName, - PackageManager.COMPONENT_ENABLED_STATE_ENABLED, 0, userInfo.id, null); - } catch (RemoteException re) { - // Internal, shouldn't happen - } - } - } else { - // Set the carrier demo mode setting for the demo user. - final String carrierDemoModeSetting = getContext().getString( - R.string.config_carrierDemoModeSetting); - Settings.Secure.putIntForUser(getContext().getContentResolver(), - carrierDemoModeSetting, 1, userInfo.id); - - // Enable packages for carrier demo mode. - final String packageList = getContext().getString( - R.string.config_carrierDemoModePackages); - final String[] packageNames = packageList == null ? new String[0] - : TextUtils.split(packageList, ","); - final IPackageManager iPm = AppGlobals.getPackageManager(); - for (String packageName : packageNames) { - try { - iPm.setApplicationEnabledSetting(packageName, - PackageManager.COMPONENT_ENABLED_STATE_ENABLED, 0, userInfo.id, null); - } catch (RemoteException re) { - Slog.e(TAG, "Error enabling application: " + packageName, re); - } - } - } - } - - private void grantRuntimePermissionToCamera(UserHandle user) { - final Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); - final PackageManager pm = mInjector.getPackageManager(); - final ResolveInfo handler = pm.resolveActivityAsUser(cameraIntent, - PackageManager.MATCH_DIRECT_BOOT_AWARE | PackageManager.MATCH_DIRECT_BOOT_UNAWARE, - user.getIdentifier()); - if (handler == null || handler.activityInfo == null) { - return; - } - try { - pm.grantRuntimePermission(handler.activityInfo.packageName, - Manifest.permission.ACCESS_FINE_LOCATION, user); - } catch (Exception e) { - // Ignore - } - } - - private void clearPrimaryCallLog() { - final ContentResolver resolver = mInjector.getContentResolver(); - - // Deleting primary user call log so that it doesn't get copied to the new demo user - final Uri uri = CallLog.Calls.CONTENT_URI; - try { - resolver.delete(uri, null, null); - } catch (Exception e) { - Slog.w(TAG, "Deleting call log failed: " + e); - } - } - - void logSessionDuration() { - final int sessionDuration; - synchronized (mActivityLock) { - sessionDuration = (int) ((mLastUserActivityTime - mFirstUserActivityTime) / 1000); - } - mInjector.logSessionDuration(sessionDuration); - } - - private boolean isDeviceProvisioned() { - return Settings.Global.getInt( - mInjector.getContentResolver(), Settings.Global.DEVICE_PROVISIONED, 0) != 0; - } - - /** - * Deletes contents of {@link Environment#getDataPreloadsDirectory()}, - * but leave {@link Environment#getDataPreloadsFileCacheDirectory()} - * @return true if contents was sucessfully deleted - */ - private boolean deletePreloadsFolderContents() { - final File dir = mInjector.getDataPreloadsDirectory(); - final File[] files = FileUtils.listFilesOrEmpty(dir); - final File fileCacheDirectory = mInjector.getDataPreloadsFileCacheDirectory(); - Slog.i(TAG, "Deleting contents of " + dir); - boolean success = true; - for (File file : files) { - if (file.isFile()) { - if (!file.delete()) { - success = false; - Slog.w(TAG, "Cannot delete file " + file); - } - } else { - // Do not remove file_cache dir - if (!file.equals(fileCacheDirectory)) { - if (!FileUtils.deleteContentsAndDir(file)) { - success = false; - Slog.w(TAG, "Cannot delete dir and its content " + file); - } - } else { - Slog.i(TAG, "Skipping directory with file cache " + file); - } - } - } - return success; - } - - private void registerBroadcastReceiver() { - if (mBroadcastReceiver != null) { - return; - } - - final IntentFilter filter = new IntentFilter(); - if (!mIsCarrierDemoMode) { - filter.addAction(Intent.ACTION_SCREEN_OFF); - } - filter.addAction(ACTION_RESET_DEMO); - mBroadcastReceiver = new IntentReceiver(); - getContext().registerReceiver(mBroadcastReceiver, filter); - } - - private void unregisterBroadcastReceiver() { - if (mBroadcastReceiver != null) { - getContext().unregisterReceiver(mBroadcastReceiver); - mBroadcastReceiver = null; - } - } - - private String[] getCameraIdsWithFlash() { - ArrayList<String> cameraIdsList = new ArrayList<String>(); - final CameraManager cm = mInjector.getCameraManager(); - if (cm != null) { - try { - for (String cameraId : cm.getCameraIdList()) { - CameraCharacteristics c = cm.getCameraCharacteristics(cameraId); - if (Boolean.TRUE.equals(c.get(CameraCharacteristics.FLASH_INFO_AVAILABLE))) { - cameraIdsList.add(cameraId); - } - } - } catch (CameraAccessException e) { - Slog.e(TAG, "Unable to access camera while getting camera id list", e); - } - } - return cameraIdsList.toArray(new String[cameraIdsList.size()]); - } - - private void muteVolumeStreams() { - for (int stream : VOLUME_STREAMS_TO_MUTE) { - mInjector.getAudioManager().setStreamVolume(stream, - mInjector.getAudioManager().getStreamMinVolume(stream), 0); - } - } - - private void startDemoMode() { - mDeviceInDemoMode = true; - - mPreloadAppsInstaller = mInjector.getPreloadAppsInstaller(); - mInjector.initializeWakeLock(); - if (mCameraIdsWithFlash == null) { - mCameraIdsWithFlash = getCameraIdsWithFlash(); - } - registerBroadcastReceiver(); - - final String carrierDemoModeSetting = - getContext().getString(R.string.config_carrierDemoModeSetting); - mIsCarrierDemoMode = !TextUtils.isEmpty(carrierDemoModeSetting) - && (Settings.Secure.getInt(getContext().getContentResolver(), - carrierDemoModeSetting, 0) == 1); - - mInjector.systemPropertiesSet(SYSTEM_PROPERTY_RETAIL_DEMO_ENABLED, "1"); - mHandler.sendEmptyMessage(MSG_START_NEW_SESSION); - - mSafeBootRestrictionInitialState = mInjector.getUserManager().hasUserRestriction( - UserManager.DISALLOW_SAFE_BOOT, UserHandle.SYSTEM); - mPackageVerifierEnableInitialState = Settings.Global.getInt(mInjector.getContentResolver(), - Settings.Global.PACKAGE_VERIFIER_ENABLE, 1); - } - - private void stopDemoMode() { - mPreloadAppsInstaller = null; - mCameraIdsWithFlash = null; - mInjector.destroyWakeLock(); - unregisterBroadcastReceiver(); - - if (mDeviceInDemoMode) { - mInjector.getUserManager().setUserRestriction(UserManager.DISALLOW_SAFE_BOOT, - mSafeBootRestrictionInitialState, UserHandle.SYSTEM); - Settings.Global.putInt(mInjector.getContentResolver(), - Settings.Global.PACKAGE_VERIFIER_ENABLE, - mPackageVerifierEnableInitialState); - } - - mDeviceInDemoMode = false; - mIsCarrierDemoMode = false; - } - - @Override - public void onStart() { - if (DEBUG) { - Slog.d(TAG, "Service starting up"); - } - mHandlerThread = new ServiceThread(TAG, android.os.Process.THREAD_PRIORITY_FOREGROUND, - false); - mHandlerThread.start(); - mHandler = new MainHandler(mHandlerThread.getLooper()); - mInjector.publishLocalService(this, mLocalService); - } - - @Override - public void onBootPhase(int bootPhase) { - switch (bootPhase) { - case PHASE_THIRD_PARTY_APPS_CAN_START: - final SettingsObserver settingsObserver = new SettingsObserver(mHandler); - settingsObserver.register(); - settingsObserver.refreshTimeoutConstants(); - break; - case PHASE_BOOT_COMPLETED: - if (UserManager.isDeviceInDemoMode(getContext())) { - startDemoMode(); - } - break; - } - } - - @Override - public void onSwitchUser(int userId) { - if (!mDeviceInDemoMode) { - return; - } - if (DEBUG) { - Slog.d(TAG, "onSwitchUser: " + userId); - } - final UserInfo ui = mInjector.getUserManager().getUserInfo(userId); - if (!ui.isDemo()) { - Slog.wtf(TAG, "Should not allow switch to non-demo user in demo mode"); - return; - } - if (!mIsCarrierDemoMode && !mInjector.isWakeLockHeld()) { - mInjector.acquireWakeLock(); - } - mCurrentUserId = userId; - mInjector.getActivityManagerInternal().updatePersistentConfigurationForUser( - mInjector.getSystemUsersConfiguration(), userId); - - mInjector.turnOffAllFlashLights(mCameraIdsWithFlash); - muteVolumeStreams(); - if (!mInjector.getWifiManager().isWifiEnabled()) { - mInjector.getWifiManager().setWifiEnabled(true); - } - - // Disable lock screen for demo users. - mInjector.getLockPatternUtils().setLockScreenDisabled(true, userId); - - if (!mIsCarrierDemoMode) { - // Show reset notification (except in carrier demo mode). - mInjector.getNotificationManager().notifyAsUser(TAG, SystemMessage.NOTE_RETAIL_RESET, - mInjector.createResetNotification(), UserHandle.of(userId)); - - synchronized (mActivityLock) { - mUserUntouched = true; - } - mInjector.logSessionCount(1); - mHandler.removeMessages(MSG_INACTIVITY_TIME_OUT); - mHandler.post(new Runnable() { - @Override - public void run() { - mPreloadAppsInstaller.installApps(userId); - } - }); - } - } - - private RetailDemoModeServiceInternal mLocalService = new RetailDemoModeServiceInternal() { - private static final long USER_ACTIVITY_DEBOUNCE_TIME = 2000; - - @Override - public void onUserActivity() { - if (!mDeviceInDemoMode || mIsCarrierDemoMode) { - return; - } - long timeOfActivity = SystemClock.uptimeMillis(); - synchronized (mActivityLock) { - if (timeOfActivity < mLastUserActivityTime + USER_ACTIVITY_DEBOUNCE_TIME) { - return; - } - mLastUserActivityTime = timeOfActivity; - if (mUserUntouched && isDemoLauncherDisabled()) { - Slog.d(TAG, "retail_demo first touch"); - mUserUntouched = false; - mFirstUserActivityTime = timeOfActivity; - } - } - mHandler.removeMessages(MSG_INACTIVITY_TIME_OUT); - mHandler.sendEmptyMessageDelayed(MSG_INACTIVITY_TIME_OUT, mUserInactivityTimeout); - } - }; - - static class Injector { - private Context mContext; - private UserManager mUm; - private PackageManager mPm; - private NotificationManager mNm; - private ActivityManagerService mAms; - private ActivityManagerInternal mAmi; - private AudioManager mAudioManager; - private PowerManager mPowerManager; - private CameraManager mCameraManager; - private PowerManager.WakeLock mWakeLock; - private WifiManager mWifiManager; - private Configuration mSystemUserConfiguration; - private PendingIntent mResetDemoPendingIntent; - private PreloadAppsInstaller mPreloadAppsInstaller; - - Injector(Context context) { - mContext = context; - } - - Context getContext() { - return mContext; - } - - WifiManager getWifiManager() { - if (mWifiManager == null) { - mWifiManager = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE); - } - return mWifiManager; - } - - UserManager getUserManager() { - if (mUm == null) { - mUm = getContext().getSystemService(UserManager.class); - } - return mUm; - } - - void switchUser(int userId) { - if (mAms == null) { - mAms = (ActivityManagerService) ActivityManager.getService(); - } - mAms.switchUser(userId); - } - - AudioManager getAudioManager() { - if (mAudioManager == null) { - mAudioManager = getContext().getSystemService(AudioManager.class); - } - return mAudioManager; - } - - private PowerManager getPowerManager() { - if (mPowerManager == null) { - mPowerManager = (PowerManager) getContext().getSystemService( - Context.POWER_SERVICE); - } - return mPowerManager; - } - - NotificationManager getNotificationManager() { - if (mNm == null) { - mNm = NotificationManager.from(getContext()); - } - return mNm; - } - - ActivityManagerInternal getActivityManagerInternal() { - if (mAmi == null) { - mAmi = LocalServices.getService(ActivityManagerInternal.class); - } - return mAmi; - } - - CameraManager getCameraManager() { - if (mCameraManager == null) { - mCameraManager = (CameraManager) getContext().getSystemService( - Context.CAMERA_SERVICE); - } - return mCameraManager; - } - - PackageManager getPackageManager() { - if (mPm == null) { - mPm = getContext().getPackageManager(); - } - return mPm; - } - - IPackageManager getIPackageManager() { - return AppGlobals.getPackageManager(); - } - - ContentResolver getContentResolver() { - return getContext().getContentResolver(); - } - - PreloadAppsInstaller getPreloadAppsInstaller() { - if (mPreloadAppsInstaller == null) { - mPreloadAppsInstaller = new PreloadAppsInstaller(getContext()); - } - return mPreloadAppsInstaller; - } - - void systemPropertiesSet(String key, String value) { - SystemProperties.set(key, value); - } - - void turnOffAllFlashLights(String[] cameraIdsWithFlash) { - for (String cameraId : cameraIdsWithFlash) { - try { - getCameraManager().setTorchMode(cameraId, false); - } catch (CameraAccessException e) { - Slog.e(TAG, "Unable to access camera " + cameraId - + " while turning off flash", e); - } - } - } - - void initializeWakeLock() { - if (mWakeLock == null) { - mWakeLock = getPowerManager().newWakeLock( - PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, TAG); - } - } - - void destroyWakeLock() { - mWakeLock = null; - } - - boolean isWakeLockHeld() { - return mWakeLock != null && mWakeLock.isHeld(); - } - - void acquireWakeLock() { - mWakeLock.acquire(); - } - - void releaseWakeLock() { - mWakeLock.release(); - } - - void logSessionDuration(int duration) { - MetricsLogger.histogram(getContext(), DEMO_SESSION_DURATION, duration); - } - - void logSessionCount(int count) { - MetricsLogger.count(getContext(), DEMO_SESSION_COUNT, count); - } - - Configuration getSystemUsersConfiguration() { - if (mSystemUserConfiguration == null) { - Settings.System.getConfiguration(getContentResolver(), - mSystemUserConfiguration = new Configuration()); - } - return mSystemUserConfiguration; - } - - LockPatternUtils getLockPatternUtils() { - return new LockPatternUtils(getContext()); - } - - Notification createResetNotification() { - return new Notification.Builder(getContext(), SystemNotificationChannels.RETAIL_MODE) - .setContentTitle(getContext().getString(R.string.reset_retail_demo_mode_title)) - .setContentText(getContext().getString(R.string.reset_retail_demo_mode_text)) - .setOngoing(true) - .setSmallIcon(R.drawable.platlogo) - .setShowWhen(false) - .setVisibility(Notification.VISIBILITY_PUBLIC) - .setContentIntent(getResetDemoPendingIntent()) - .setColor(getContext().getColor(R.color.system_notification_accent_color)) - .build(); - } - - private PendingIntent getResetDemoPendingIntent() { - if (mResetDemoPendingIntent == null) { - Intent intent = new Intent(ACTION_RESET_DEMO); - mResetDemoPendingIntent = PendingIntent.getBroadcast(getContext(), 0, intent, 0); - } - return mResetDemoPendingIntent; - } - - File getDataPreloadsDirectory() { - return Environment.getDataPreloadsDirectory(); - } - - File getDataPreloadsFileCacheDirectory() { - return Environment.getDataPreloadsFileCacheDirectory(); - } - - void publishLocalService(RetailDemoModeService service, - RetailDemoModeServiceInternal localService) { - service.publishLocalService(RetailDemoModeServiceInternal.class, localService); - } - } -} diff --git a/services/retaildemo/java/com/android/server/retaildemo/UserInactivityCountdownDialog.java b/services/retaildemo/java/com/android/server/retaildemo/UserInactivityCountdownDialog.java deleted file mode 100644 index 013eab8679a8..000000000000 --- a/services/retaildemo/java/com/android/server/retaildemo/UserInactivityCountdownDialog.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License - */ - -package com.android.server.retaildemo; - -import android.app.AlertDialog; -import android.app.Dialog; -import android.content.Context; -import android.os.CountDownTimer; -import android.view.WindowManager; -import android.widget.TextView; - -import com.android.internal.R; - -public class UserInactivityCountdownDialog extends AlertDialog { - - private OnCountDownExpiredListener mOnCountDownExpiredListener; - private CountDownTimer mCountDownTimer; - private long mCountDownDuration; - private long mRefreshInterval; - - UserInactivityCountdownDialog(Context context, long duration, long refreshInterval) { - super(context); - mCountDownDuration = duration; - mRefreshInterval = refreshInterval; - - getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ERROR); - WindowManager.LayoutParams attrs = getWindow().getAttributes(); - attrs.privateFlags = WindowManager.LayoutParams.PRIVATE_FLAG_SHOW_FOR_ALL_USERS; - getWindow().setAttributes(attrs); - - setTitle(R.string.demo_user_inactivity_timeout_title); - setMessage(getContext().getString(R.string.demo_user_inactivity_timeout_countdown, - duration)); - } - - public void setOnCountDownExpiredListener( - OnCountDownExpiredListener onCountDownExpiredListener) { - mOnCountDownExpiredListener = onCountDownExpiredListener; - } - - public void setPositiveButtonClickListener(OnClickListener onClickListener) { - setButton(Dialog.BUTTON_POSITIVE, - getContext().getString(R.string.demo_user_inactivity_timeout_right_button), - onClickListener); - } - - public void setNegativeButtonClickListener(OnClickListener onClickListener) { - setButton(Dialog.BUTTON_NEGATIVE, - getContext().getString(R.string.demo_user_inactivity_timeout_left_button), - onClickListener); - } - - @Override - public void show() { - super.show(); - final TextView messageView = findViewById(R.id.message); - messageView.post(new Runnable() { - @Override - public void run() { - mCountDownTimer = new CountDownTimer(mCountDownDuration, mRefreshInterval) { - - @Override - public void onTick(long millisUntilFinished) { - String msg = getContext().getString( - R.string.demo_user_inactivity_timeout_countdown, - millisUntilFinished / 1000); - messageView.setText(msg); - } - - @Override - public void onFinish() { - dismiss(); - if (mOnCountDownExpiredListener != null) - mOnCountDownExpiredListener.onCountDownExpired(); - } - }.start(); - } - }); - } - - @Override - public void onStop() { - if (mCountDownTimer != null) { - mCountDownTimer.cancel(); - } - } - - interface OnCountDownExpiredListener { - void onCountDownExpired(); - } -} diff --git a/services/tests/notification/Android.mk b/services/tests/notification/Android.mk index 0ffe6e4db6b8..597a5849a1a0 100644 --- a/services/tests/notification/Android.mk +++ b/services/tests/notification/Android.mk @@ -18,7 +18,6 @@ LOCAL_STATIC_JAVA_LIBRARIES := \ services.core \ services.devicepolicy \ services.net \ - services.retaildemo \ services.usage \ guava \ android-support-test \ diff --git a/services/tests/notification/src/com/android/server/notification/ManagedServicesTest.java b/services/tests/notification/src/com/android/server/notification/ManagedServicesTest.java index ffbd8d493899..bd65f571d20b 100644 --- a/services/tests/notification/src/com/android/server/notification/ManagedServicesTest.java +++ b/services/tests/notification/src/com/android/server/notification/ManagedServicesTest.java @@ -170,7 +170,7 @@ public class ManagedServicesTest extends NotificationTestCase { null); writeExpectedValuesToSettings(approvalLevel); - assertTrue(service.readXml(parser)); + service.migrateToXml(); verifyExpectedApprovedEntries(service); } @@ -182,7 +182,7 @@ public class ManagedServicesTest extends NotificationTestCase { ManagedServices service = new TestManagedServices(getContext(), mLock, mUserProfiles, mIpm, approvalLevel); - assertFalse(loadXml(service)); + loadXml(service); verifyExpectedApprovedEntries(service); } @@ -239,7 +239,7 @@ public class ManagedServicesTest extends NotificationTestCase { parser.setInput(new BufferedInputStream( new ByteArrayInputStream(baos.toByteArray())), null); parser.nextTag(); - assertFalse(service.readXml(parser)); + service.readXml(parser); verifyExpectedApprovedEntries(service); assertFalse(service.isPackageOrComponentAllowed("this.is.a.package.name", 0)); @@ -341,11 +341,8 @@ public class ManagedServicesTest extends NotificationTestCase { for (int approvalLevel : new int[] {APPROVAL_BY_COMPONENT, APPROVAL_BY_PACKAGE}) { ManagedServices service = new TestManagedServices(getContext(), mLock, mUserProfiles, mIpm, approvalLevel); - XmlPullParser parser = Xml.newPullParser(); - parser.setInput(new BufferedInputStream(new ByteArrayInputStream(new byte[]{})), - null); writeExpectedValuesToSettings(approvalLevel); - service.readXml(parser); + service.migrateToXml(); mExpectedPrimaryPackages.put(0, "another.package"); mExpectedPrimaryComponentNames.put(0, "another.package/B1"); @@ -360,11 +357,8 @@ public class ManagedServicesTest extends NotificationTestCase { for (int approvalLevel : new int[] {APPROVAL_BY_COMPONENT, APPROVAL_BY_PACKAGE}) { ManagedServices service = new TestManagedServices(getContext(), mLock, mUserProfiles, mIpm, approvalLevel); - XmlPullParser parser = Xml.newPullParser(); - parser.setInput(new BufferedInputStream(new ByteArrayInputStream(new byte[]{})), - null); writeExpectedValuesToSettings(approvalLevel); - service.readXml(parser); + service.migrateToXml(); mExpectedSecondaryComponentNames.put(10, "component/2"); mExpectedSecondaryPackages.put(10, "component"); @@ -516,9 +510,9 @@ public class ManagedServicesTest extends NotificationTestCase { assertEquals(0, service.getAllowedComponents(10).size()); } - private boolean loadXml(ManagedServices service) throws Exception { + private void loadXml(ManagedServices service) throws Exception { final StringBuffer xml = new StringBuffer(); - xml.append("<" + service.getConfig().managedServiceTypeTag + ">\n"); + xml.append("<" + service.getConfig().xmlTag + ">\n"); for (int userId : mExpectedPrimary.get(service.mApprovalLevel).keySet()) { xml.append(getXmlEntry( mExpectedPrimary.get(service.mApprovalLevel).get(userId), userId, true)); @@ -527,13 +521,13 @@ public class ManagedServicesTest extends NotificationTestCase { xml.append(getXmlEntry( mExpectedSecondary.get(service.mApprovalLevel).get(userId), userId, false)); } - xml.append("</" + service.getConfig().managedServiceTypeTag + ">"); + xml.append("</" + service.getConfig().xmlTag + ">"); XmlPullParser parser = Xml.newPullParser(); parser.setInput(new BufferedInputStream( new ByteArrayInputStream(xml.toString().getBytes())), null); parser.nextTag(); - return service.readXml(parser); + service.readXml(parser); } private void addExpectedServices(final ManagedServices service, final List<String> packages, @@ -674,7 +668,7 @@ public class ManagedServicesTest extends NotificationTestCase { @Override protected Config getConfig() { final Config c = new Config(); - c.managedServiceTypeTag= "test"; + c.xmlTag = "test"; c.secureSettingName = SETTING; c.secondarySettingName = SECONDARY_SETTING; c.bindPermission = "permission"; diff --git a/services/tests/notification/src/com/android/server/notification/NotificationIntrusivenessExtractorTest.java b/services/tests/notification/src/com/android/server/notification/NotificationIntrusivenessExtractorTest.java index d2f608e63e53..85852f90c281 100644 --- a/services/tests/notification/src/com/android/server/notification/NotificationIntrusivenessExtractorTest.java +++ b/services/tests/notification/src/com/android/server/notification/NotificationIntrusivenessExtractorTest.java @@ -19,6 +19,9 @@ package com.android.server.notification; import static android.app.NotificationManager.IMPORTANCE_DEFAULT; import static android.app.NotificationManager.IMPORTANCE_LOW; +import static com.android.server.notification.NotificationIntrusivenessExtractor.HANG_TIME_MS; + +import static junit.framework.Assert.assertFalse; import static junit.framework.Assert.assertNotNull; import static junit.framework.Assert.assertNull; @@ -59,9 +62,29 @@ public class NotificationIntrusivenessExtractorTest extends NotificationTestCase Notification n = builder.build(); StatusBarNotification sbn = new StatusBarNotification("", "", 0, "", 0, - 0, n, UserHandle.ALL, null, System.currentTimeMillis()); + 0, n, UserHandle.ALL, null, + System.currentTimeMillis()); NotificationRecord r = new NotificationRecord(getContext(), sbn, channel); assertNotNull(new NotificationIntrusivenessExtractor().process(r)); } + + @Test + public void testOldNotificationsNotIntrusive() { + NotificationChannel channel = new NotificationChannel("a", "a", IMPORTANCE_DEFAULT); + final Notification.Builder builder = new Notification.Builder(getContext()) + .setContentTitle("foo") + .setFullScreenIntent(PendingIntent.getActivity( + getContext(), 0, new Intent(""), 0), true) + .setSmallIcon(android.R.drawable.sym_def_app_icon); + + Notification n = builder.build(); + StatusBarNotification sbn = new StatusBarNotification("", "", 0, "", 0, + 0, n, UserHandle.ALL, null, + System.currentTimeMillis() - HANG_TIME_MS); + + NotificationRecord r = new NotificationRecord(getContext(), sbn, channel); + assertNull(new NotificationIntrusivenessExtractor().process(r)); + assertFalse(r.isRecentlyIntrusive()); + } } diff --git a/services/tests/notification/src/com/android/server/notification/NotificationManagerServiceTest.java b/services/tests/notification/src/com/android/server/notification/NotificationManagerServiceTest.java index d462c2ff1a6a..09af1e2fd7d4 100644 --- a/services/tests/notification/src/com/android/server/notification/NotificationManagerServiceTest.java +++ b/services/tests/notification/src/com/android/server/notification/NotificationManagerServiceTest.java @@ -20,9 +20,6 @@ import static android.app.NotificationManager.IMPORTANCE_LOW; import static android.app.NotificationManager.IMPORTANCE_NONE; import static android.content.pm.PackageManager.PERMISSION_DENIED; -import static com.android.server.notification.NotificationManagerService - .MESSAGE_SEND_RANKING_UPDATE; - import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertFalse; import static junit.framework.Assert.assertTrue; @@ -34,12 +31,10 @@ import static org.mockito.Matchers.anyString; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.any; import static org.mockito.Mockito.anyInt; -import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.reset; -import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -60,35 +55,34 @@ import android.content.pm.ParceledListSlice; import android.graphics.Color; import android.media.AudioManager; import android.os.Binder; -import android.os.Handler; -import android.os.Looper; -import android.os.Message; import android.os.Process; import android.os.UserHandle; import android.provider.Settings.Secure; import android.service.notification.NotificationListenerService; import android.service.notification.StatusBarNotification; +import android.service.notification.ZenModeConfig; import android.test.suitebuilder.annotation.SmallTest; import android.testing.AndroidTestingRunner; import android.testing.TestableLooper; import android.testing.TestableLooper.RunWithLooper; import android.util.ArrayMap; import android.util.AtomicFile; -import android.util.Log; -import android.util.Slog; import com.android.server.lights.Light; import com.android.server.lights.LightsManager; +import com.android.server.notification.NotificationManagerService.NotificationAssistants; +import com.android.server.notification.NotificationManagerService.NotificationListeners; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.mockito.stubbing.Answer; +import java.io.BufferedInputStream; +import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; @@ -115,7 +109,6 @@ public class NotificationManagerServiceTest extends NotificationTestCase { private TestableLooper mTestableLooper; @Mock private RankingHelper mRankingHelper; - @Mock AtomicFile mPolicyFile; File mFile; @Mock @@ -129,8 +122,8 @@ public class NotificationManagerServiceTest extends NotificationTestCase { private NotificationChannel mTestNotificationChannel = new NotificationChannel( TEST_CHANNEL_ID, TEST_CHANNEL_ID, NotificationManager.IMPORTANCE_DEFAULT); @Mock - private NotificationManagerService.NotificationListeners mNotificationListeners; - @Mock private NotificationManagerService.NotificationAssistants mNotificationAssistants; + private NotificationListeners mListeners; + @Mock private NotificationAssistants mAssistants; @Mock private ConditionProviders mConditionProviders; private ManagedServices.ManagedServiceInfo mListener; @Mock private ICompanionDeviceManager mCompanionMgr; @@ -182,18 +175,34 @@ public class NotificationManagerServiceTest extends NotificationTestCase { when(mockLightsManager.getLight(anyInt())).thenReturn(mock(Light.class)); when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_NORMAL); + // write to a test file; the system file isn't readable from tests mFile = new File(mContext.getCacheDir(), "test.xml"); mFile.createNewFile(); - when(mPolicyFile.openRead()).thenReturn(new FileInputStream(mFile)); - when(mPolicyFile.startWrite()).thenReturn(new FileOutputStream(mFile)); - - mListener = mNotificationListeners.new ManagedServiceInfo( + final String preupgradeXml = "<notification-policy></notification-policy>"; + mPolicyFile = new AtomicFile(mFile); + FileOutputStream fos = mPolicyFile.startWrite(); + fos.write(preupgradeXml.getBytes()); + mPolicyFile.finishWrite(fos); + FileInputStream fStream = new FileInputStream(mFile); + + // Setup managed services + mListener = mListeners.new ManagedServiceInfo( null, new ComponentName(PKG, "test_class"), mUid, true, null, 0); - when(mNotificationListeners.checkServiceTokenLocked(any())).thenReturn(mListener); + when(mListeners.checkServiceTokenLocked(any())).thenReturn(mListener); + ManagedServices.Config listenerConfig = new ManagedServices.Config(); + listenerConfig.xmlTag = NotificationListeners.TAG_ENABLED_NOTIFICATION_LISTENERS; + when(mListeners.getConfig()).thenReturn(listenerConfig); + ManagedServices.Config assistantConfig = new ManagedServices.Config(); + assistantConfig.xmlTag = NotificationAssistants.TAG_ENABLED_NOTIFICATION_ASSISTANTS; + when(mAssistants.getConfig()).thenReturn(assistantConfig); + ManagedServices.Config dndConfig = new ManagedServices.Config(); + dndConfig.xmlTag = ConditionProviders.TAG_ENABLED_DND_APPS; + when(mConditionProviders.getConfig()).thenReturn(dndConfig); + try { mNotificationManagerService.init(mTestableLooper.getLooper(), mPackageManager, mPackageManagerClient, mockLightsManager, - mNotificationListeners, mNotificationAssistants, mConditionProviders, + mListeners, mAssistants, mConditionProviders, mCompanionMgr, mSnoozeHelper, mUsageStats, mPolicyFile, mActivityManager, mGroupHelper); } catch (SecurityException e) { @@ -827,13 +836,13 @@ public class NotificationManagerServiceTest extends NotificationTestCase { eq(channel2.getId()), anyBoolean())) .thenReturn(channel2); - reset(mNotificationListeners); + reset(mListeners); mBinderService.createNotificationChannels(PKG, new ParceledListSlice(Arrays.asList(mTestNotificationChannel, channel2))); - verify(mNotificationListeners, times(1)).notifyNotificationChannelChanged(eq(PKG), + verify(mListeners, times(1)).notifyNotificationChannelChanged(eq(PKG), eq(Process.myUserHandle()), eq(mTestNotificationChannel), eq(NotificationListenerService.NOTIFICATION_CHANNEL_OR_GROUP_ADDED)); - verify(mNotificationListeners, times(1)).notifyNotificationChannelChanged(eq(PKG), + verify(mListeners, times(1)).notifyNotificationChannelChanged(eq(PKG), eq(Process.myUserHandle()), eq(channel2), eq(NotificationListenerService.NOTIFICATION_CHANNEL_OR_GROUP_ADDED)); } @@ -847,13 +856,13 @@ public class NotificationManagerServiceTest extends NotificationTestCase { NotificationChannelGroup group1 = new NotificationChannelGroup("a", "b"); NotificationChannelGroup group2 = new NotificationChannelGroup("n", "m"); - reset(mNotificationListeners); + reset(mListeners); mBinderService.createNotificationChannelGroups(PKG, new ParceledListSlice(Arrays.asList(group1, group2))); - verify(mNotificationListeners, times(1)).notifyNotificationChannelGroupChanged(eq(PKG), + verify(mListeners, times(1)).notifyNotificationChannelGroupChanged(eq(PKG), eq(Process.myUserHandle()), eq(group1), eq(NotificationListenerService.NOTIFICATION_CHANNEL_OR_GROUP_ADDED)); - verify(mNotificationListeners, times(1)).notifyNotificationChannelGroupChanged(eq(PKG), + verify(mListeners, times(1)).notifyNotificationChannelGroupChanged(eq(PKG), eq(Process.myUserHandle()), eq(group2), eq(NotificationListenerService.NOTIFICATION_CHANNEL_OR_GROUP_ADDED)); } @@ -869,9 +878,9 @@ public class NotificationManagerServiceTest extends NotificationTestCase { eq(mTestNotificationChannel.getId()), anyBoolean())) .thenReturn(mTestNotificationChannel); - reset(mNotificationListeners); + reset(mListeners); mBinderService.updateNotificationChannelForPackage(PKG, 0, mTestNotificationChannel); - verify(mNotificationListeners, times(1)).notifyNotificationChannelChanged(eq(PKG), + verify(mListeners, times(1)).notifyNotificationChannelChanged(eq(PKG), eq(Process.myUserHandle()), eq(mTestNotificationChannel), eq(NotificationListenerService.NOTIFICATION_CHANNEL_OR_GROUP_UPDATED)); } @@ -885,9 +894,9 @@ public class NotificationManagerServiceTest extends NotificationTestCase { when(mRankingHelper.getNotificationChannel(eq(PKG), anyInt(), eq(mTestNotificationChannel.getId()), anyBoolean())) .thenReturn(mTestNotificationChannel); - reset(mNotificationListeners); + reset(mListeners); mBinderService.deleteNotificationChannel(PKG, mTestNotificationChannel.getId()); - verify(mNotificationListeners, times(1)).notifyNotificationChannelChanged(eq(PKG), + verify(mListeners, times(1)).notifyNotificationChannelChanged(eq(PKG), eq(Process.myUserHandle()), eq(mTestNotificationChannel), eq(NotificationListenerService.NOTIFICATION_CHANNEL_OR_GROUP_DELETED)); } @@ -901,9 +910,9 @@ public class NotificationManagerServiceTest extends NotificationTestCase { mNotificationManagerService.setRankingHelper(mRankingHelper); when(mRankingHelper.getNotificationChannelGroup(eq(ncg.getId()), eq(PKG), anyInt())) .thenReturn(ncg); - reset(mNotificationListeners); + reset(mListeners); mBinderService.deleteNotificationChannelGroup(PKG, ncg.getId()); - verify(mNotificationListeners, times(1)).notifyNotificationChannelGroupChanged(eq(PKG), + verify(mListeners, times(1)).notifyNotificationChannelGroupChanged(eq(PKG), eq(Process.myUserHandle()), eq(ncg), eq(NotificationListenerService.NOTIFICATION_CHANNEL_OR_GROUP_DELETED)); } @@ -920,7 +929,7 @@ public class NotificationManagerServiceTest extends NotificationTestCase { verify(mRankingHelper, times(1)).updateNotificationChannel(anyString(), anyInt(), any()); - verify(mNotificationListeners, never()).notifyNotificationChannelChanged(eq(PKG), + verify(mListeners, never()).notifyNotificationChannelChanged(eq(PKG), eq(Process.myUserHandle()), eq(mTestNotificationChannel), eq(NotificationListenerService.NOTIFICATION_CHANNEL_OR_GROUP_UPDATED)); } @@ -941,7 +950,7 @@ public class NotificationManagerServiceTest extends NotificationTestCase { verify(mRankingHelper, never()).updateNotificationChannel(anyString(), anyInt(), any()); - verify(mNotificationListeners, never()).notifyNotificationChannelChanged(eq(PKG), + verify(mListeners, never()).notifyNotificationChannelChanged(eq(PKG), eq(Process.myUserHandle()), eq(mTestNotificationChannel), eq(NotificationListenerService.NOTIFICATION_CHANNEL_OR_GROUP_UPDATED)); } @@ -955,7 +964,7 @@ public class NotificationManagerServiceTest extends NotificationTestCase { mListener = mock(ManagedServices.ManagedServiceInfo.class); mListener.component = new ComponentName(PKG, PKG); when(mListener.enabledAndUserMatches(anyInt())).thenReturn(false); - when(mNotificationListeners.checkServiceTokenLocked(any())).thenReturn(mListener); + when(mListeners.checkServiceTokenLocked(any())).thenReturn(mListener); try { mBinderService.updateNotificationChannelFromPrivilegedListener( @@ -967,7 +976,7 @@ public class NotificationManagerServiceTest extends NotificationTestCase { verify(mRankingHelper, never()).updateNotificationChannel(anyString(), anyInt(), any()); - verify(mNotificationListeners, never()).notifyNotificationChannelChanged(eq(PKG), + verify(mListeners, never()).notifyNotificationChannelChanged(eq(PKG), eq(Process.myUserHandle()), eq(mTestNotificationChannel), eq(NotificationListenerService.NOTIFICATION_CHANNEL_OR_GROUP_UPDATED)); } @@ -1012,7 +1021,7 @@ public class NotificationManagerServiceTest extends NotificationTestCase { when(mCompanionMgr.getAssociations(PKG, mUid)).thenReturn(associations); mListener = mock(ManagedServices.ManagedServiceInfo.class); when(mListener.enabledAndUserMatches(anyInt())).thenReturn(false); - when(mNotificationListeners.checkServiceTokenLocked(any())).thenReturn(mListener); + when(mListeners.checkServiceTokenLocked(any())).thenReturn(mListener); try { mBinderService.getNotificationChannelsFromPrivilegedListener( @@ -1063,7 +1072,7 @@ public class NotificationManagerServiceTest extends NotificationTestCase { when(mCompanionMgr.getAssociations(PKG, mUid)).thenReturn(associations); mListener = mock(ManagedServices.ManagedServiceInfo.class); when(mListener.enabledAndUserMatches(anyInt())).thenReturn(false); - when(mNotificationListeners.checkServiceTokenLocked(any())).thenReturn(mListener); + when(mListeners.checkServiceTokenLocked(any())).thenReturn(mListener); try { mBinderService.getNotificationChannelGroupsFromPrivilegedListener( @@ -1232,11 +1241,11 @@ public class NotificationManagerServiceTest extends NotificationTestCase { } } - verify(mNotificationListeners, times(1)).setPackageOrComponentEnabled( + verify(mListeners, times(1)).setPackageOrComponentEnabled( c.flattenToString(), 0, true, true); verify(mConditionProviders, times(1)).setPackageOrComponentEnabled( c.flattenToString(), 0, false, true); - verify(mNotificationAssistants, never()).setPackageOrComponentEnabled( + verify(mAssistants, never()).setPackageOrComponentEnabled( any(), anyInt(), anyBoolean(), anyBoolean()); } @@ -1251,11 +1260,11 @@ public class NotificationManagerServiceTest extends NotificationTestCase { } } - verify(mNotificationAssistants, times(1)).setPackageOrComponentEnabled( + verify(mAssistants, times(1)).setPackageOrComponentEnabled( c.flattenToString(), 0, true, true); verify(mConditionProviders, times(1)).setPackageOrComponentEnabled( c.flattenToString(), 0, false, true); - verify(mNotificationListeners, never()).setPackageOrComponentEnabled( + verify(mListeners, never()).setPackageOrComponentEnabled( any(), anyInt(), anyBoolean(), anyBoolean()); } @@ -1272,9 +1281,9 @@ public class NotificationManagerServiceTest extends NotificationTestCase { verify(mConditionProviders, times(1)).setPackageOrComponentEnabled( c.getPackageName(), 0, true, true); - verify(mNotificationAssistants, never()).setPackageOrComponentEnabled( + verify(mAssistants, never()).setPackageOrComponentEnabled( any(), anyInt(), anyBoolean(), anyBoolean()); - verify(mNotificationListeners, never()).setPackageOrComponentEnabled( + verify(mListeners, never()).setPackageOrComponentEnabled( any(), anyInt(), anyBoolean(), anyBoolean()); } @@ -1284,11 +1293,11 @@ public class NotificationManagerServiceTest extends NotificationTestCase { ComponentName c = ComponentName.unflattenFromString("package/Component"); mBinderService.setNotificationListenerAccessGranted(c, true); - verify(mNotificationListeners, never()).setPackageOrComponentEnabled( + verify(mListeners, never()).setPackageOrComponentEnabled( c.flattenToString(), 0, true, true); verify(mConditionProviders, never()).setPackageOrComponentEnabled( c.flattenToString(), 0, false, true); - verify(mNotificationAssistants, never()).setPackageOrComponentEnabled( + verify(mAssistants, never()).setPackageOrComponentEnabled( any(), anyInt(), anyBoolean(), anyBoolean()); } @@ -1299,11 +1308,11 @@ public class NotificationManagerServiceTest extends NotificationTestCase { mBinderService.setNotificationAssistantAccessGranted(c, true); - verify(mNotificationListeners, never()).setPackageOrComponentEnabled( + verify(mListeners, never()).setPackageOrComponentEnabled( c.flattenToString(), 0, true, true); verify(mConditionProviders, never()).setPackageOrComponentEnabled( c.flattenToString(), 0, false, true); - verify(mNotificationAssistants, never()).setPackageOrComponentEnabled( + verify(mAssistants, never()).setPackageOrComponentEnabled( any(), anyInt(), anyBoolean(), anyBoolean()); } @@ -1313,11 +1322,11 @@ public class NotificationManagerServiceTest extends NotificationTestCase { ComponentName c = ComponentName.unflattenFromString("package/Component"); mBinderService.setNotificationPolicyAccessGranted(c.getPackageName(), true); - verify(mNotificationListeners, never()).setPackageOrComponentEnabled( + verify(mListeners, never()).setPackageOrComponentEnabled( c.flattenToString(), 0, true, true); verify(mConditionProviders, never()).setPackageOrComponentEnabled( c.flattenToString(), 0, false, true); - verify(mNotificationAssistants, never()).setPackageOrComponentEnabled( + verify(mAssistants, never()).setPackageOrComponentEnabled( any(), anyInt(), anyBoolean(), anyBoolean()); } @@ -1425,16 +1434,41 @@ public class NotificationManagerServiceTest extends NotificationTestCase { } @Test - public void testModifyAutogroup_requestsSort() throws Exception { + public void testAddAutogroup_requestsSort() throws Exception { RankingHandler rh = mock(RankingHandler.class); mNotificationManagerService.setRankingHandler(rh); final NotificationRecord r = generateNotificationRecord(mTestNotificationChannel); mNotificationManagerService.addNotification(r); mNotificationManagerService.addAutogroupKeyLocked(r.getKey()); + + verify(rh, times(1)).requestSort(); + } + + @Test + public void testRemoveAutogroup_requestsSort() throws Exception { + RankingHandler rh = mock(RankingHandler.class); + mNotificationManagerService.setRankingHandler(rh); + + final NotificationRecord r = generateNotificationRecord(mTestNotificationChannel); + r.setOverrideGroupKey("TEST"); + mNotificationManagerService.addNotification(r); mNotificationManagerService.removeAutogroupKeyLocked(r.getKey()); - verify(rh, times(2)).requestSort(); + verify(rh, times(1)).requestSort(); + } + + @Test + public void testReaddAutogroup_noSort() throws Exception { + RankingHandler rh = mock(RankingHandler.class); + mNotificationManagerService.setRankingHandler(rh); + + final NotificationRecord r = generateNotificationRecord(mTestNotificationChannel); + r.setOverrideGroupKey("TEST"); + mNotificationManagerService.addNotification(r); + mNotificationManagerService.addAutogroupKeyLocked(r.getKey()); + + verify(rh, never()).requestSort(); } @Test @@ -1470,4 +1504,50 @@ public class NotificationManagerServiceTest extends NotificationTestCase { mNotificationManagerService.handleRankingSort(); verify(handler, never()).scheduleSendRankingUpdate(); } + + @Test + public void testReadPolicyXml_readApprovedServicesFromXml() throws Exception { + final String preupgradeXml = "<notification-policy version=\"1\">" + + "<zen></zen>" + + "<ranking></ranking>" + + "<enabled_listeners>" + + "<service_listing approved=\"test\" user=\"0\" primary=\"true\" />" + + "</enabled_listeners>" + + "<enabled_assistants>" + + "<service_listing approved=\"test\" user=\"0\" primary=\"true\" />" + + "</enabled_assistants>" + + "<dnd_apps>" + + "<service_listing approved=\"test\" user=\"0\" primary=\"true\" />" + + "</dnd_apps>" + + "</notification-policy>"; + mNotificationManagerService.readPolicyXml( + new BufferedInputStream(new ByteArrayInputStream(preupgradeXml.getBytes())), false); + verify(mListeners, times(1)).readXml(any()); + verify(mConditionProviders, times(1)).readXml(any()); + verify(mAssistants, times(1)).readXml(any()); + + // numbers are inflated for setup + verify(mListeners, times(1)).migrateToXml(); + verify(mConditionProviders, times(1)).migrateToXml(); + verify(mAssistants, times(1)).migrateToXml(); + } + + @Test + public void testReadPolicyXml_readApprovedServicesFromSettings() throws Exception { + final String preupgradeXml = "<notification-policy version=\"1\">" + + "<zen></zen>" + + "<ranking></ranking>" + + "</notification-policy>"; + mNotificationManagerService.readPolicyXml( + new BufferedInputStream(new ByteArrayInputStream(preupgradeXml.getBytes())), false); + verify(mListeners, never()).readXml(any()); + verify(mConditionProviders, never()).readXml(any()); + verify(mAssistants, never()).readXml(any()); + + // numbers are inflated for setup + verify(mListeners, times(2)).migrateToXml(); + verify(mConditionProviders, times(2)).migrateToXml(); + verify(mAssistants, times(2)).migrateToXml(); + } + } diff --git a/services/tests/servicestests/Android.mk b/services/tests/servicestests/Android.mk index 0ff11c1f58f8..507b4830e455 100644 --- a/services/tests/servicestests/Android.mk +++ b/services/tests/servicestests/Android.mk @@ -19,7 +19,6 @@ LOCAL_STATIC_JAVA_LIBRARIES := \ services.core \ services.devicepolicy \ services.net \ - services.retaildemo \ services.usage \ guava \ android-support-test \ diff --git a/services/tests/servicestests/src/com/android/server/retaildemo/PreloadAppsInstallerTest.java b/services/tests/servicestests/src/com/android/server/retaildemo/PreloadAppsInstallerTest.java deleted file mode 100644 index cf27a503efd4..000000000000 --- a/services/tests/servicestests/src/com/android/server/retaildemo/PreloadAppsInstallerTest.java +++ /dev/null @@ -1,164 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.server.retaildemo; - -import static org.junit.Assert.assertEquals; -import static org.mockito.Matchers.anyInt; -import static org.mockito.Matchers.anyString; -import static org.mockito.Matchers.eq; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import android.content.Context; -import android.content.ContextWrapper; -import android.content.pm.IPackageInstallObserver2; -import android.content.pm.IPackageManager; -import android.content.pm.PackageManager; -import android.os.FileUtils; -import android.os.UserHandle; -import android.provider.Settings; -import android.support.test.InstrumentationRegistry; -import android.support.test.filters.SmallTest; -import android.support.test.runner.AndroidJUnit4; -import android.test.mock.MockContentResolver; - -import com.android.internal.util.test.FakeSettingsProvider; - -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.MockitoAnnotations; - -import java.io.File; -import java.util.ArrayList; - -@RunWith(AndroidJUnit4.class) -@SmallTest -public class PreloadAppsInstallerTest { - private static final int TEST_DEMO_USER = 111; - - private Context mContext; - private @Mock IPackageManager mIpm; - private MockContentResolver mContentResolver; - private File mPreloadsAppsDirectory; - private String[] mPreloadedApps = - new String[] {"test1.apk.preload", "test2.apk.preload", "test3.apk.preload"}; - private ArrayList<String> mPreloadedAppPaths = new ArrayList<>(); - - private PreloadAppsInstaller mInstaller; - - @BeforeClass - @AfterClass - public static void clearSettingsProvider() { - FakeSettingsProvider.clearSettingsProvider(); - } - - @Before - public void setUp() throws Exception { - MockitoAnnotations.initMocks(this); - mContext = Mockito.spy(new ContextWrapper(InstrumentationRegistry.getTargetContext())); - mContentResolver = new MockContentResolver(mContext); - mContentResolver.addProvider(Settings.AUTHORITY, new FakeSettingsProvider()); - when(mContext.getContentResolver()).thenReturn(mContentResolver); - initializePreloadedApps(); - Settings.Secure.putStringForUser(mContentResolver, - Settings.Secure.DEMO_USER_SETUP_COMPLETE, "0", TEST_DEMO_USER); - - mInstaller = new PreloadAppsInstaller(mContext, mIpm, mPreloadsAppsDirectory); - } - - private void initializePreloadedApps() throws Exception { - mPreloadsAppsDirectory = new File(InstrumentationRegistry.getContext().getFilesDir(), - "test_preload_apps_dir"); - mPreloadsAppsDirectory.mkdir(); - for (String name : mPreloadedApps) { - final File f = new File(mPreloadsAppsDirectory, name); - f.createNewFile(); - mPreloadedAppPaths.add(f.getPath()); - } - } - - @After - public void tearDown() { - if (mPreloadsAppsDirectory != null) { - FileUtils.deleteContentsAndDir(mPreloadsAppsDirectory); - } - } - - @Test - public void testInstallApps() throws Exception { - mInstaller.installApps(TEST_DEMO_USER); - for (String path : mPreloadedAppPaths) { - ArgumentCaptor<IPackageInstallObserver2> observer = - ArgumentCaptor.forClass(IPackageInstallObserver2.class); - verify(mIpm).installPackageAsUser(eq(path), observer.capture(), anyInt(), - anyString(), eq(TEST_DEMO_USER)); - observer.getValue().onPackageInstalled(path, PackageManager.INSTALL_SUCCEEDED, - null, null); - // Verify that we try to install the package in system user. - verify(mIpm).installExistingPackageAsUser(path, UserHandle.USER_SYSTEM, - 0 /*installFlags*/, PackageManager.INSTALL_REASON_UNKNOWN); - } - assertEquals("DEMO_USER_SETUP should be set to 1 after preloaded apps are installed", - "1", - Settings.Secure.getStringForUser(mContentResolver, - Settings.Secure.DEMO_USER_SETUP_COMPLETE, TEST_DEMO_USER)); - } - - @Test - public void testInstallApps_noPreloads() throws Exception { - // Delete all files in preloaded apps directory - no preloaded apps - FileUtils.deleteContents(mPreloadsAppsDirectory); - mInstaller.installApps(TEST_DEMO_USER); - assertEquals("DEMO_USER_SETUP should be set to 1 after preloaded apps are installed", - "1", - Settings.Secure.getStringForUser(mContentResolver, - Settings.Secure.DEMO_USER_SETUP_COMPLETE, TEST_DEMO_USER)); - } - - @Test - public void testInstallApps_installationFails() throws Exception { - mInstaller.installApps(TEST_DEMO_USER); - for (int i = 0; i < mPreloadedAppPaths.size(); ++i) { - ArgumentCaptor<IPackageInstallObserver2> observer = - ArgumentCaptor.forClass(IPackageInstallObserver2.class); - final String path = mPreloadedAppPaths.get(i); - verify(mIpm).installPackageAsUser(eq(path), observer.capture(), anyInt(), - anyString(), eq(TEST_DEMO_USER)); - if (i == 0) { - observer.getValue().onPackageInstalled(path, PackageManager.INSTALL_FAILED_DEXOPT, - null, null); - continue; - } - observer.getValue().onPackageInstalled(path, PackageManager.INSTALL_SUCCEEDED, - null, null); - // Verify that we try to install the package in system user. - verify(mIpm).installExistingPackageAsUser(path, UserHandle.USER_SYSTEM, - 0 /*installFlags*/, PackageManager.INSTALL_REASON_UNKNOWN); - } - assertEquals("DEMO_USER_SETUP should be set to 1 after preloaded apps are installed", - "1", - Settings.Secure.getStringForUser(mContentResolver, - Settings.Secure.DEMO_USER_SETUP_COMPLETE, TEST_DEMO_USER)); - } -} diff --git a/services/tests/servicestests/src/com/android/server/retaildemo/RetailDemoModeServiceTest.java b/services/tests/servicestests/src/com/android/server/retaildemo/RetailDemoModeServiceTest.java deleted file mode 100644 index a93f64396d57..000000000000 --- a/services/tests/servicestests/src/com/android/server/retaildemo/RetailDemoModeServiceTest.java +++ /dev/null @@ -1,484 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.server.retaildemo; - -import static com.android.server.retaildemo.RetailDemoModeService.SYSTEM_PROPERTY_RETAIL_DEMO_ENABLED; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyInt; -import static org.mockito.Matchers.anyString; -import static org.mockito.Matchers.argThat; -import static org.mockito.Matchers.eq; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import android.Manifest; -import android.app.ActivityManagerInternal; -import android.app.Notification; -import android.app.NotificationManager; -import android.app.RetailDemoModeServiceInternal; -import android.app.job.JobInfo; -import android.app.job.JobScheduler; -import android.content.BroadcastReceiver; -import android.content.ContentResolver; -import android.content.Context; -import android.content.ContextWrapper; -import android.content.Intent; -import android.content.IntentFilter; -import android.content.pm.ActivityInfo; -import android.content.pm.IPackageManager; -import android.content.pm.PackageManager; -import android.content.pm.ResolveInfo; -import android.content.pm.UserInfo; -import android.content.res.Configuration; -import android.media.AudioManager; -import android.net.Uri; -import android.net.wifi.WifiManager; -import android.os.FileUtils; -import android.os.Handler; -import android.os.Looper; -import android.os.UserHandle; -import android.os.UserManager; -import android.provider.CallLog; -import android.provider.MediaStore; -import android.provider.Settings; -import android.support.test.InstrumentationRegistry; -import android.support.test.filters.SmallTest; -import android.support.test.runner.AndroidJUnit4; -import android.test.mock.MockContentProvider; -import android.test.mock.MockContentResolver; -import android.util.ArrayMap; - -import com.android.internal.util.test.FakeSettingsProvider; -import com.android.internal.widget.LockPatternUtils; -import com.android.server.SystemService; -import com.android.server.retaildemo.RetailDemoModeService.Injector; - -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.MockitoAnnotations; -import org.mockito.compat.ArgumentMatcher; - -import java.io.File; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.TimeUnit; - -@RunWith(AndroidJUnit4.class) -@SmallTest -public class RetailDemoModeServiceTest { - private static final int TEST_DEMO_USER = 111; - private static final long SETUP_COMPLETE_TIMEOUT_MS = 2000; // 2 sec - private static final String TEST_CAMERA_PKG = "test.cameraapp"; - private static final String TEST_PRELOADS_DIR_NAME = "test_preloads"; - - private Context mContext; - private @Mock UserManager mUm; - private @Mock PackageManager mPm; - private @Mock IPackageManager mIpm; - private @Mock NotificationManager mNm; - private @Mock ActivityManagerInternal mAmi; - private @Mock AudioManager mAudioManager; - private @Mock WifiManager mWifiManager; - private @Mock LockPatternUtils mLockPatternUtils; - private @Mock JobScheduler mJobScheduler; - private MockPreloadAppsInstaller mPreloadAppsInstaller; - private MockContentResolver mContentResolver; - private MockContactsProvider mContactsProvider; - private Configuration mConfiguration; - private File mTestPreloadsDir; - private CountDownLatch mLatch; - - private RetailDemoModeService mService; - private TestInjector mInjector; - - @BeforeClass - @AfterClass - public static void clearSettingsProvider() { - FakeSettingsProvider.clearSettingsProvider(); - } - - @Before - public void setUp() throws Exception { - MockitoAnnotations.initMocks(this); - mContext = Mockito.spy(new ContextWrapper(InstrumentationRegistry.getTargetContext())); - when(mContext.getSystemServiceName(eq(JobScheduler.class))).thenReturn( - Context.JOB_SCHEDULER_SERVICE); - when(mContext.getSystemService(Context.JOB_SCHEDULER_SERVICE)).thenReturn(mJobScheduler); - when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUm); - mContentResolver = new MockContentResolver(mContext); - mContentResolver.addProvider(Settings.AUTHORITY, new FakeSettingsProvider()); - mContactsProvider = new MockContactsProvider(mContext); - mContentResolver.addProvider(CallLog.AUTHORITY, mContactsProvider); - when(mContext.getContentResolver()).thenReturn(mContentResolver); - mPreloadAppsInstaller = new MockPreloadAppsInstaller(mContext); - mConfiguration = new Configuration(); - mTestPreloadsDir = new File(InstrumentationRegistry.getContext().getFilesDir(), - TEST_PRELOADS_DIR_NAME); - - Settings.Global.putString(mContentResolver, Settings.Global.RETAIL_DEMO_MODE_CONSTANTS, ""); - Settings.Global.putInt(mContentResolver, Settings.Global.DEVICE_PROVISIONED, 1); - Settings.Global.putInt(mContentResolver, Settings.Global.DEVICE_DEMO_MODE, 1); - - // Initialize RetailDemoModeService - mInjector = new TestInjector(); - mService = new RetailDemoModeService(mInjector); - mService.onStart(); - } - - @After - public void tearDown() { - if (mTestPreloadsDir != null) { - FileUtils.deleteContentsAndDir(mTestPreloadsDir); - } - } - - @Test - public void testDemoUserSetup() throws Exception { - mService.onBootPhase(SystemService.PHASE_THIRD_PARTY_APPS_CAN_START); - - mLatch = new CountDownLatch(1); - final UserInfo userInfo = new UserInfo(); - userInfo.id = TEST_DEMO_USER; - when(mUm.createUser(anyString(), anyInt())).thenReturn(userInfo); - - setCameraPackage(TEST_CAMERA_PKG); - mService.onBootPhase(SystemService.PHASE_BOOT_COMPLETED); - assertEquals(SYSTEM_PROPERTY_RETAIL_DEMO_ENABLED + " property not set", - "1", mInjector.systemPropertiesGet(SYSTEM_PROPERTY_RETAIL_DEMO_ENABLED)); - - final ArgumentCaptor<IntentFilter> intentFilter = - ArgumentCaptor.forClass(IntentFilter.class); - verify(mContext).registerReceiver(any(BroadcastReceiver.class), intentFilter.capture()); - assertTrue("Not registered for " + Intent.ACTION_SCREEN_OFF, - intentFilter.getValue().hasAction(Intent.ACTION_SCREEN_OFF)); - - // Wait for the setup to complete. - mLatch.await(SETUP_COMPLETE_TIMEOUT_MS, TimeUnit.MILLISECONDS); - ArgumentCaptor<Integer> flags = ArgumentCaptor.forClass(Integer.class); - verify(mUm).createUser(anyString(), flags.capture()); - assertTrue("FLAG_DEMO not set during user creation", - (flags.getValue() & UserInfo.FLAG_DEMO) != 0); - assertTrue("FLAG_EPHEMERAL not set during user creation", - (flags.getValue() & UserInfo.FLAG_EPHEMERAL) != 0); - // Verify if necessary restrictions are being set. - final UserHandle user = UserHandle.of(TEST_DEMO_USER); - verify(mUm).setUserRestriction(UserManager.DISALLOW_CONFIG_WIFI, true, user); - verify(mUm).setUserRestriction(UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES, true, user); - verify(mUm).setUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS, true, user); - verify(mUm).setUserRestriction(UserManager.DISALLOW_USB_FILE_TRANSFER, true, user); - verify(mUm).setUserRestriction(UserManager.DISALLOW_MODIFY_ACCOUNTS, true, user); - verify(mUm).setUserRestriction(UserManager.DISALLOW_CONFIG_BLUETOOTH, true, user); - verify(mUm).setUserRestriction(UserManager.DISALLOW_OUTGOING_CALLS, false, user); - verify(mUm).setUserRestriction(UserManager.DISALLOW_SAFE_BOOT, true, UserHandle.SYSTEM); - // Verify if necessary settings are updated. - assertEquals("SKIP_FIRST_USE_HINTS setting is not set for demo user", - Settings.Secure.getIntForUser(mContentResolver, - Settings.Secure.SKIP_FIRST_USE_HINTS, TEST_DEMO_USER), - 1); - assertEquals("PACKAGE_VERIFIER_ENABLE settings should be set to 0 for demo user", - Settings.Global.getInt(mContentResolver, - Settings.Global.PACKAGE_VERIFIER_ENABLE), - 0); - // Verify if camera is granted location permission. - verify(mPm).grantRuntimePermission(TEST_CAMERA_PKG, - Manifest.permission.ACCESS_FINE_LOCATION, user); - // Verify call logs are cleared. - assertTrue("Call logs should be deleted", mContactsProvider.isCallLogDeleted()); - } - - @Test - public void testSettingsObserver_disableDemoMode() throws Exception { - final RetailDemoModeService.SettingsObserver observer = - mService.new SettingsObserver(new Handler(Looper.getMainLooper())); - final Uri deviceDemoModeUri = Settings.Global.getUriFor(Settings.Global.DEVICE_DEMO_MODE); - when(mUm.hasUserRestriction(UserManager.DISALLOW_SAFE_BOOT, UserHandle.SYSTEM)) - .thenReturn(false); - Settings.Global.putInt(mContentResolver, Settings.Global.PACKAGE_VERIFIER_ENABLE, 1); - // Settings.Global.DEVICE_DEMO_MODE has been set to 1 initially. - observer.onChange(false, deviceDemoModeUri); - final ArgumentCaptor<BroadcastReceiver> receiver = - ArgumentCaptor.forClass(BroadcastReceiver.class); - verify(mContext).registerReceiver(receiver.capture(), any(IntentFilter.class)); - - Settings.Global.putInt(mContentResolver, Settings.Global.PACKAGE_VERIFIER_ENABLE, 0); - new File(mTestPreloadsDir, "dir1").mkdirs(); - new File(mTestPreloadsDir, "file1").createNewFile(); - Settings.Global.putInt(mContentResolver, Settings.Global.DEVICE_DEMO_MODE, 0); - observer.onChange(false, deviceDemoModeUri); - verify(mContext).unregisterReceiver(receiver.getValue()); - verify(mUm).setUserRestriction(UserManager.DISALLOW_SAFE_BOOT, false, UserHandle.SYSTEM); - assertEquals("Package verifier enable value has not been reset", 1, - Settings.Global.getInt(mContentResolver, Settings.Global.PACKAGE_VERIFIER_ENABLE)); - Thread.sleep(20); // Wait for the deletion to complete. - // verify that the preloaded directory is emptied. - assertEquals("Preloads directory is not emptied", - 0, mTestPreloadsDir.list().length); - // Verify that the expiration job was scheduled - verify(mJobScheduler).schedule(any(JobInfo.class)); - } - - @Test - public void testSettingsObserver_enableDemoMode() throws Exception { - final RetailDemoModeService.SettingsObserver observer = - mService.new SettingsObserver(new Handler(Looper.getMainLooper())); - final Uri deviceDemoModeUri = Settings.Global.getUriFor(Settings.Global.DEVICE_DEMO_MODE); - // Settings.Global.DEVICE_DEMO_MODE has been set to 1 initially. - observer.onChange(false, deviceDemoModeUri); - assertEquals(SYSTEM_PROPERTY_RETAIL_DEMO_ENABLED + " property not set", - "1", mInjector.systemPropertiesGet(SYSTEM_PROPERTY_RETAIL_DEMO_ENABLED)); - - final ArgumentCaptor<IntentFilter> intentFilter = - ArgumentCaptor.forClass(IntentFilter.class); - verify(mContext).registerReceiver(any(BroadcastReceiver.class), intentFilter.capture()); - assertTrue("Not registered for " + Intent.ACTION_SCREEN_OFF, - intentFilter.getValue().hasAction(Intent.ACTION_SCREEN_OFF)); - } - - @Test - public void testSwitchToDemoUser() { - // To make the RetailDemoModeService update it's internal state. - mService.onBootPhase(SystemService.PHASE_THIRD_PARTY_APPS_CAN_START); - final RetailDemoModeService.SettingsObserver observer = - mService.new SettingsObserver(new Handler(Looper.getMainLooper())); - observer.onChange(false, Settings.Global.getUriFor(Settings.Global.DEVICE_DEMO_MODE)); - - final UserInfo userInfo = new UserInfo(TEST_DEMO_USER, "demo_user", - UserInfo.FLAG_DEMO | UserInfo.FLAG_EPHEMERAL); - when(mUm.getUserInfo(TEST_DEMO_USER)).thenReturn(userInfo); - when(mWifiManager.isWifiEnabled()).thenReturn(false); - final int minVolume = -111; - for (int stream : RetailDemoModeService.VOLUME_STREAMS_TO_MUTE) { - when(mAudioManager.getStreamMinVolume(stream)).thenReturn(minVolume); - } - - mService.onSwitchUser(TEST_DEMO_USER); - verify(mAmi).updatePersistentConfigurationForUser(mConfiguration, TEST_DEMO_USER); - for (int stream : RetailDemoModeService.VOLUME_STREAMS_TO_MUTE) { - verify(mAudioManager).setStreamVolume(stream, minVolume, 0); - } - verify(mLockPatternUtils).setLockScreenDisabled(true, TEST_DEMO_USER); - verify(mWifiManager).setWifiEnabled(true); - } - - private void setCameraPackage(String pkgName) { - final ResolveInfo ri = new ResolveInfo(); - final ActivityInfo ai = new ActivityInfo(); - ai.packageName = pkgName; - ri.activityInfo = ai; - when(mPm.resolveActivityAsUser( - argThat(new IntentMatcher(MediaStore.ACTION_IMAGE_CAPTURE)), - anyInt(), - eq(TEST_DEMO_USER))).thenReturn(ri); - } - - private class IntentMatcher extends ArgumentMatcher<Intent> { - private final Intent mIntent; - - IntentMatcher(String action) { - mIntent = new Intent(action); - } - - @Override - public boolean matchesObject(Object argument) { - if (argument instanceof Intent) { - return ((Intent) argument).filterEquals(mIntent); - } - return false; - } - - @Override - public String toString() { - return "Expected: " + mIntent; - } - } - - private class MockContactsProvider extends MockContentProvider { - private boolean mCallLogDeleted; - - MockContactsProvider(Context context) { - super(context); - } - - @Override - public int delete(Uri uri, String selection, String[] selectionArgs) { - if (CallLog.Calls.CONTENT_URI.equals(uri)) { - mCallLogDeleted = true; - } - return 0; - } - - public boolean isCallLogDeleted() { - return mCallLogDeleted; - } - } - - private class MockPreloadAppsInstaller extends PreloadAppsInstaller { - MockPreloadAppsInstaller(Context context) { - super(context); - } - - @Override - public void installApps(int userId) { - } - } - - private class TestInjector extends Injector { - private ArrayMap<String, String> mSystemProperties = new ArrayMap<>(); - - TestInjector() { - super(mContext); - } - - @Override - Context getContext() { - return mContext; - } - - @Override - UserManager getUserManager() { - return mUm; - } - - @Override - WifiManager getWifiManager() { - return mWifiManager; - } - - @Override - void switchUser(int userId) { - if (mLatch != null) { - mLatch.countDown(); - } - } - - @Override - AudioManager getAudioManager() { - return mAudioManager; - } - - @Override - NotificationManager getNotificationManager() { - return mNm; - } - - @Override - ActivityManagerInternal getActivityManagerInternal() { - return mAmi; - } - - @Override - PackageManager getPackageManager() { - return mPm; - } - - @Override - IPackageManager getIPackageManager() { - return mIpm; - } - - @Override - ContentResolver getContentResolver() { - return mContentResolver; - } - - @Override - PreloadAppsInstaller getPreloadAppsInstaller() { - return mPreloadAppsInstaller; - } - - @Override - void systemPropertiesSet(String key, String value) { - mSystemProperties.put(key, value); - } - - @Override - void turnOffAllFlashLights(String[] cameraIdsWithFlash) { - } - - @Override - void initializeWakeLock() { - } - - @Override - void destroyWakeLock() { - } - - @Override - boolean isWakeLockHeld() { - return false; - } - - @Override - void acquireWakeLock() { - } - - @Override - void releaseWakeLock() { - } - - @Override - void logSessionDuration(int duration) { - } - - @Override - void logSessionCount(int count) { - } - - @Override - Configuration getSystemUsersConfiguration() { - return mConfiguration; - } - - @Override - LockPatternUtils getLockPatternUtils() { - return mLockPatternUtils; - } - - @Override - Notification createResetNotification() { - return null; - } - - @Override - File getDataPreloadsDirectory() { - return mTestPreloadsDir; - } - - @Override - File getDataPreloadsFileCacheDirectory() { - return new File(mTestPreloadsDir, "file_cache"); - } - - @Override - void publishLocalService(RetailDemoModeService service, - RetailDemoModeServiceInternal localService) { - } - - String systemPropertiesGet(String key) { - return mSystemProperties.get(key); - } - } -} diff --git a/tests/UiBench/Android.mk b/tests/UiBench/Android.mk index 71067aef52c7..e6af4b024700 100644 --- a/tests/UiBench/Android.mk +++ b/tests/UiBench/Android.mk @@ -15,21 +15,24 @@ LOCAL_RESOURCE_DIR := \ frameworks/support/design/res \ frameworks/support/v7/appcompat/res \ frameworks/support/v7/cardview/res \ - frameworks/support/v7/recyclerview/res + frameworks/support/v7/recyclerview/res \ + frameworks/support/v17/leanback/res LOCAL_AAPT_FLAGS := \ --auto-add-overlay \ --extra-packages android.support.design \ --extra-packages android.support.v7.appcompat \ --extra-packages android.support.v7.cardview \ - --extra-packages android.support.v7.recyclerview + --extra-packages android.support.v7.recyclerview \ + --extra-packages android.support.v17.leanback LOCAL_STATIC_JAVA_LIBRARIES := \ android-support-design \ android-support-v4 \ android-support-v7-appcompat \ android-support-v7-cardview \ - android-support-v7-recyclerview + android-support-v7-recyclerview \ + android-support-v17-leanback LOCAL_PACKAGE_NAME := UiBench diff --git a/tests/UiBench/AndroidManifest.xml b/tests/UiBench/AndroidManifest.xml index c20be5141df5..2521dc9f82ae 100644 --- a/tests/UiBench/AndroidManifest.xml +++ b/tests/UiBench/AndroidManifest.xml @@ -257,5 +257,15 @@ <category android:name="com.android.test.uibench.TEST" /> </intent-filter> </activity> + + <activity + android:name=".leanback.BrowseActivity" + android:theme="@style/Theme.Leanback.Browse" + android:label="Leanback/Browse Fragment" > + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="com.android.test.uibench.TEST" /> + </intent-filter> + </activity> </application> </manifest> diff --git a/tests/UiBench/build.gradle b/tests/UiBench/build.gradle index 03ef7f106de5..fa2cfcd438fd 100644 --- a/tests/UiBench/build.gradle +++ b/tests/UiBench/build.gradle @@ -36,4 +36,5 @@ dependencies { compile 'com.android.support:cardview-v7:23.0.1' compile 'com.android.support:recyclerview-v7:23.0.1' compile 'com.android.support:design:23.0.1' + compile 'com.android.support:leanback-v17:23.0.1' } diff --git a/tests/UiBench/src/com/android/test/uibench/leanback/BitmapLoader.java b/tests/UiBench/src/com/android/test/uibench/leanback/BitmapLoader.java new file mode 100644 index 000000000000..8af9d3bca647 --- /dev/null +++ b/tests/UiBench/src/com/android/test/uibench/leanback/BitmapLoader.java @@ -0,0 +1,144 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT 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.test.uibench.leanback; + +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Paint; +import android.os.AsyncTask; +import android.support.v4.util.LruCache; +import android.util.DisplayMetrics; +import android.widget.ImageView; + +/** + * This class simulates a typical Bitmap memory cache with up to 1.5 times of screen pixels. + * The sample bitmap is generated in worker threads in AsyncTask.THREAD_POOL_EXECUTOR. + * The class does not involve decoding, disk cache i/o, network i/o, as the test is mostly focusing + * on the graphics side. + * There will be two general use cases for cards in leanback test: + * 1. As a typical app, each card has its own id and load its own Bitmap, the test result will + * include impact of texture upload. + * 2. All cards share same id/Bitmap and there wont be texture upload. + */ +public class BitmapLoader { + + /** + * Caches bitmaps with bytes adds up to 1.5 x screen + * DO NOT CHANGE this defines baseline of test result. + */ + static final float CACHE_SIZE_TO_SCREEN = 1.5f; + /** + * 4 bytes per pixel for RGBA_8888 + */ + static final int BYTES_PER_PIXEL = 4; + + static LruCache<Long, Bitmap> sLruCache; + static Paint sTextPaint = new Paint(); + + static { + sTextPaint.setColor(Color.BLACK); + } + + /** + * get or initialize LruCache, the max is set to full screen pixels. + */ + static LruCache<Long, Bitmap> getLruCache(Context context) { + if (sLruCache == null) { + DisplayMetrics metrics = context.getResources().getDisplayMetrics(); + int width = metrics.widthPixels; + int height = metrics.heightPixels; + int maxBytes = (int) (width * height * BYTES_PER_PIXEL * CACHE_SIZE_TO_SCREEN); + sLruCache = new LruCache<Long, Bitmap>(maxBytes) { + @Override + protected int sizeOf(Long key, Bitmap value) { + return value.getByteCount(); + } + }; + } + return sLruCache; + } + + static class BitmapAsyncTask extends AsyncTask<Void, Void, Bitmap> { + + ImageView mImageView; + long mId; + int mWidth; + int mHeight; + + BitmapAsyncTask(ImageView view, long id, int width, int height) { + mImageView = view; + mId = id; + mImageView.setTag(this); + mWidth = width; + mHeight = height; + } + + @Override + protected Bitmap doInBackground(Void... voids) { + // generate a sample bitmap: white background and text showing id + Bitmap bitmap = Bitmap.createBitmap(mWidth, mHeight, Bitmap.Config.ARGB_8888); + Canvas canvas = new Canvas(bitmap); + canvas.drawARGB(0xff, 0xff, 0xff, 0xff); + canvas.drawText(Long.toString(mId), 0f, mHeight / 2, sTextPaint); + canvas.setBitmap(null); + bitmap.prepareToDraw(); + return bitmap; + } + + @Override + protected void onCancelled() { + if (mImageView.getTag() == this) { + mImageView.setTag(null); + } + } + + @Override + protected void onPostExecute(Bitmap bitmap) { + if (mImageView.getTag() == this) { + mImageView.setTag(null); + sLruCache.put(mId, bitmap); + mImageView.setImageBitmap(bitmap); + } + } + } + + public static void loadBitmap(ImageView view, long id, int width, int height) { + Context context = view.getContext(); + Bitmap bitmap = getLruCache(context).get(id); + if (bitmap != null) { + view.setImageBitmap(bitmap); + return; + } + new BitmapAsyncTask(view, id, width, height) + .executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + } + + public static void cancel(ImageView view) { + BitmapAsyncTask task = (BitmapAsyncTask) view.getTag(); + if (task != null && task.mImageView == view) { + task.mImageView.setTag(null); + task.cancel(false); + } + } + + public static void clear() { + if (sLruCache != null) { + sLruCache.evictAll(); + } + } +} diff --git a/tests/UiBench/src/com/android/test/uibench/leanback/BrowseActivity.java b/tests/UiBench/src/com/android/test/uibench/leanback/BrowseActivity.java new file mode 100644 index 000000000000..d29f0eaf6fdc --- /dev/null +++ b/tests/UiBench/src/com/android/test/uibench/leanback/BrowseActivity.java @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT 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.test.uibench.leanback; + +import android.support.v4.app.FragmentActivity; +import android.app.Activity; +import android.os.Bundle; + +public class BrowseActivity extends FragmentActivity { + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + if (savedInstanceState == null) { + getSupportFragmentManager().beginTransaction() + .add(android.R.id.content, new BrowseFragment()) + .commit(); + } + } + +} diff --git a/tests/UiBench/src/com/android/test/uibench/leanback/BrowseFragment.java b/tests/UiBench/src/com/android/test/uibench/leanback/BrowseFragment.java new file mode 100644 index 000000000000..11ea36132dcc --- /dev/null +++ b/tests/UiBench/src/com/android/test/uibench/leanback/BrowseFragment.java @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT 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.test.uibench.leanback; + +import android.os.Bundle; + +public class BrowseFragment extends android.support.v17.leanback.app.BrowseSupportFragment { + + public BrowseFragment() { + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + BitmapLoader.clear(); + TestHelper.initBackground(getActivity()); + boolean runEntranceTransition = TestHelper.runEntranceTransition(getActivity()); + if (runEntranceTransition) { + prepareEntranceTransition(); + } + setAdapter(TestHelper.initRowsAdapterBuilder(getActivity()).build()); + if (runEntranceTransition) { + startEntranceTransition(); + } + } + +} diff --git a/tests/UiBench/src/com/android/test/uibench/leanback/CardPresenter.java b/tests/UiBench/src/com/android/test/uibench/leanback/CardPresenter.java new file mode 100644 index 000000000000..5194555aca01 --- /dev/null +++ b/tests/UiBench/src/com/android/test/uibench/leanback/CardPresenter.java @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT 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.test.uibench.leanback; + +import android.content.Context; +import android.graphics.drawable.Drawable; +import android.support.v17.leanback.widget.ImageCardView; +import android.support.v17.leanback.widget.Presenter; +import android.support.v4.content.res.ResourcesCompat; +import android.view.ContextThemeWrapper; +import android.view.ViewGroup; +import android.view.ViewGroup.LayoutParams; + +public class CardPresenter extends Presenter { + + private int mImageWidth = 0; + private int mImageHeight = 0; + + public CardPresenter(int width, int height) { + mImageWidth = width; + mImageHeight = height; + } + + @Override + public ViewHolder onCreateViewHolder(ViewGroup parent) { + Context context = parent.getContext(); + ImageCardView v = new ImageCardView(context); + v.setFocusable(true); + v.setFocusableInTouchMode(true); + v.setMainImageAdjustViewBounds(true); + v.setMainImageDimensions(mImageWidth, mImageHeight); + return new ViewHolder(v); + } + + @Override + public void onBindViewHolder(ViewHolder viewHolder, Object item) { + PhotoItem photoItem = (PhotoItem) item; + ImageCardView cardView = (ImageCardView) viewHolder.view; + cardView.setTitleText(photoItem.getTitle()); + BitmapLoader.loadBitmap(cardView.getMainImageView(), photoItem.getId(), + mImageWidth, mImageHeight); + } + + @Override + public void onUnbindViewHolder(ViewHolder viewHolder) { + ImageCardView cardView = (ImageCardView) viewHolder.view; + BitmapLoader.cancel(cardView.getMainImageView()); + } +} diff --git a/tests/UiBench/src/com/android/test/uibench/leanback/PhotoItem.java b/tests/UiBench/src/com/android/test/uibench/leanback/PhotoItem.java new file mode 100644 index 000000000000..acb9a5d05a7f --- /dev/null +++ b/tests/UiBench/src/com/android/test/uibench/leanback/PhotoItem.java @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT 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.test.uibench.leanback; + +import android.os.Parcel; +import android.os.Parcelable; + +public class PhotoItem implements Parcelable { + + private String mTitle; + private long mId; + + public PhotoItem(String title, long id) { + mTitle = title; + mId = id; + } + + public long getId() { + return mId; + } + + public String getTitle() { + return mTitle; + } + + @Override + public String toString() { + return mTitle; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeString(mTitle); + dest.writeLong(mId); + } + + public static final Creator<PhotoItem> CREATOR + = new Creator<PhotoItem>() { + @Override + public PhotoItem createFromParcel(Parcel in) { + return new PhotoItem(in); + } + + @Override + public PhotoItem[] newArray(int size) { + return new PhotoItem[size]; + } + }; + + private PhotoItem(Parcel in) { + mTitle = in.readString(); + mId = in.readLong(); + } +} diff --git a/tests/UiBench/src/com/android/test/uibench/leanback/TestHelper.java b/tests/UiBench/src/com/android/test/uibench/leanback/TestHelper.java new file mode 100644 index 000000000000..2bf388501ba0 --- /dev/null +++ b/tests/UiBench/src/com/android/test/uibench/leanback/TestHelper.java @@ -0,0 +1,238 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT 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.test.uibench.leanback; + +import android.app.Activity; +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.support.v17.leanback.app.BackgroundManager; +import android.support.v17.leanback.widget.ArrayObjectAdapter; +import android.support.v17.leanback.widget.HeaderItem; +import android.support.v17.leanback.widget.ListRow; +import android.support.v17.leanback.widget.ListRowPresenter; +import android.support.v17.leanback.widget.ObjectAdapter; +import android.support.v17.leanback.widget.Presenter; +import android.util.DisplayMetrics; +import android.util.TypedValue; + +public class TestHelper { + + public static final String EXTRA_BACKGROUND = "extra_bg"; + public static final String EXTRA_ROWS = "extra_rows"; + public static final String EXTRA_CARDS_PER_ROW = "extra_cards_per_row"; + public static final String EXTRA_CARD_HEIGHT_DP = "extra_card_height"; + public static final String EXTRA_CARD_WIDTH_DP = "extra_card_width"; + public static final String EXTRA_CARD_SHADOW = "extra_card_shadow"; + public static final String EXTRA_CARD_ROUND_RECT = "extra_card_round_rect"; + public static final String EXTRA_ENTRANCE_TRANSITION = "extra_entrance_transition"; + public static final String EXTRA_BITMAP_UPLOAD = "extra_bitmap_upload"; + + /** + * Dont change the default values, they gave baseline for measuring the performance + */ + static final int DEFAULT_CARD_HEIGHT_DP = 180; + static final int DEFAULT_CARD_WIDTH_DP = 125; + static final int DEFAULT_CARDS_PER_ROW = 20; + static final int DEFAULT_ROWS = 10; + static final boolean DEFAULT_ENTRANCE_TRANSITION = false; + static final boolean DEFAULT_BACKGROUND = true; + static final boolean DEFAULT_CARD_SHADOW = true; + static final boolean DEFAULT_CARD_ROUND_RECT = true; + static final boolean DEFAULT_BITMAP_UPLOAD = true; + + static long sCardIdSeed = 0; + static long sRowIdSeed = 0; + + public static class ListRowPresenterBuilder { + + boolean mShadow = DEFAULT_CARD_SHADOW; + boolean mRoundedCorner = DEFAULT_CARD_ROUND_RECT; + + ListRowPresenterBuilder(Context context) { + } + + public ListRowPresenterBuilder configShadow(boolean shadow) { + mShadow = shadow; + return this; + } + + public ListRowPresenterBuilder configRoundedCorner(boolean roundedCorner) { + mRoundedCorner = roundedCorner; + return this; + } + + public ListRowPresenter build() { + ListRowPresenter listRowPresenter = new ListRowPresenter(); + listRowPresenter.setShadowEnabled(mShadow); + listRowPresenter.enableChildRoundedCorners(mRoundedCorner); + return listRowPresenter; + } + } + + public static class CardPresenterBuilder { + Context mContext; + int mWidthDP = DEFAULT_CARD_WIDTH_DP; + int mHeightDP = DEFAULT_CARD_HEIGHT_DP; + + CardPresenterBuilder(Context context) { + mContext = context; + } + + public CardPresenterBuilder configWidthDP(int widthDP) { + mWidthDP = widthDP; + return this; + } + + public CardPresenterBuilder configHeightDP(int hightDP) { + mHeightDP = hightDP; + return this; + } + + public Presenter build() { + DisplayMetrics dm = mContext.getResources().getDisplayMetrics(); + return new CardPresenter( + (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, mWidthDP, dm), + (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, mHeightDP, dm)); + } + } + + public static class RowsAdapterBuilder { + + Context mContext; + int mCardsPerRow = DEFAULT_CARDS_PER_ROW; + int mRows = DEFAULT_ROWS; + CardPresenterBuilder mCardPresenterBuilder; + ListRowPresenterBuilder mListRowPresenterBuilder; + Presenter mCardPresenter; + boolean mBitmapUpload = DEFAULT_BITMAP_UPLOAD; + + static final String[] sSampleStrings = new String[] { + "Hello world", "This is a test", "Android TV", "UI Jank Test", + "Scroll Up", "Scroll Down", "Load Bitmaps" + }; + + /** + * Create a RowsAdapterBuilder with default settings + */ + public RowsAdapterBuilder(Context context) { + mContext = context; + mCardPresenterBuilder = new CardPresenterBuilder(context); + mListRowPresenterBuilder = new ListRowPresenterBuilder(context); + } + + public ListRowPresenterBuilder getListRowPresenterBuilder() { + return mListRowPresenterBuilder; + } + + public CardPresenterBuilder getCardPresenterBuilder() { + return mCardPresenterBuilder; + } + + public RowsAdapterBuilder configRows(int rows) { + mRows = rows; + return this; + } + + public RowsAdapterBuilder configCardsPerRow(int cardsPerRow) { + mCardsPerRow = cardsPerRow; + return this; + } + + public RowsAdapterBuilder configBitmapUpLoad(boolean bitmapUpload) { + mBitmapUpload = bitmapUpload; + return this; + } + + public ListRow buildListRow() { + ArrayObjectAdapter listRowAdapter = new ArrayObjectAdapter(mCardPresenter); + ListRow listRow = new ListRow(new HeaderItem(sRowIdSeed++, "Row"), listRowAdapter); + int indexSample = 0; + for (int i = 0; i < mCardsPerRow; i++) { + // when doing bitmap upload, use different id so each card has different bitmap + // otherwise all cards share the same bitmap + listRowAdapter.add(new PhotoItem(sSampleStrings[indexSample], + (mBitmapUpload ? sCardIdSeed++ : 0))); + indexSample++; + if (indexSample >= sSampleStrings.length) { + indexSample = 0; + } + } + return listRow; + } + + public ObjectAdapter build() { + try { + mCardPresenter = mCardPresenterBuilder.build(); + ArrayObjectAdapter adapter = new ArrayObjectAdapter( + mListRowPresenterBuilder.build()); + for (int i = 0; i < mRows; i++) { + adapter.add(buildListRow()); + } + return adapter; + } finally { + mCardPresenter = null; + } + } + } + + public static boolean runEntranceTransition(Activity activity) { + return activity.getIntent().getBooleanExtra(EXTRA_ENTRANCE_TRANSITION, + DEFAULT_ENTRANCE_TRANSITION); + } + + public static RowsAdapterBuilder initRowsAdapterBuilder(Activity activity) { + RowsAdapterBuilder builder = new RowsAdapterBuilder(activity); + boolean shadow = activity.getIntent().getBooleanExtra(EXTRA_CARD_SHADOW, + DEFAULT_CARD_SHADOW); + boolean roundRect = activity.getIntent().getBooleanExtra(EXTRA_CARD_ROUND_RECT, + DEFAULT_CARD_ROUND_RECT); + int widthDp = activity.getIntent().getIntExtra(EXTRA_CARD_WIDTH_DP, + DEFAULT_CARD_WIDTH_DP); + int heightDp = activity.getIntent().getIntExtra(EXTRA_CARD_HEIGHT_DP, + DEFAULT_CARD_HEIGHT_DP); + int rows = activity.getIntent().getIntExtra(EXTRA_ROWS, DEFAULT_ROWS); + int cardsPerRow = activity.getIntent().getIntExtra(EXTRA_CARDS_PER_ROW, + DEFAULT_CARDS_PER_ROW); + boolean bitmapUpload = activity.getIntent().getBooleanExtra(EXTRA_BITMAP_UPLOAD, + DEFAULT_BITMAP_UPLOAD); + builder.configRows(rows) + .configCardsPerRow(cardsPerRow) + .configBitmapUpLoad(bitmapUpload); + builder.getListRowPresenterBuilder() + .configRoundedCorner(roundRect) + .configShadow(shadow); + builder.getCardPresenterBuilder() + .configWidthDP(widthDp) + .configHeightDP(heightDp); + return builder; + } + + public static void initBackground(Activity activity) { + if (activity.getIntent().getBooleanExtra(EXTRA_BACKGROUND, DEFAULT_BACKGROUND)) { + BackgroundManager manager = BackgroundManager.getInstance(activity); + manager.attach(activity.getWindow()); + DisplayMetrics metrics = activity.getResources().getDisplayMetrics(); + int width = metrics.widthPixels; + int height = metrics.heightPixels; + Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); + Canvas canvas = new Canvas(bitmap); + canvas.drawARGB(255, 128, 128, 128); + canvas.setBitmap(null); + manager.setBitmap(bitmap); + } + } +} |