diff options
Diffstat (limited to 'packages/SystemUI')
39 files changed, 529 insertions, 175 deletions
diff --git a/packages/SystemUI/res/anim/recent_appear.xml b/packages/SystemUI/res/anim/recent_appear.xml index 4400d9d..20fe052 100644 --- a/packages/SystemUI/res/anim/recent_appear.xml +++ b/packages/SystemUI/res/anim/recent_appear.xml @@ -16,5 +16,5 @@ <alpha xmlns:android="http://schemas.android.com/apk/res/android" android:fromAlpha="0.0" android:toAlpha="1.0" - android:duration="@android:integer/config_shortAnimTime" + android:duration="@android:integer/config_mediumAnimTime" /> diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_alarm.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_alarm.png Binary files differindex ddbd3d7..31c8be7 100644 --- a/packages/SystemUI/res/drawable-hdpi/stat_notify_alarm.png +++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_alarm.png diff --git a/packages/SystemUI/res/drawable-hdpi/status_bar_ticker_tile.png b/packages/SystemUI/res/drawable-hdpi/status_bar_ticker_tile.png Binary files differdeleted file mode 100644 index 3b826a9..0000000 --- a/packages/SystemUI/res/drawable-hdpi/status_bar_ticker_tile.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/stat_notify_alarm.png b/packages/SystemUI/res/drawable-mdpi/stat_notify_alarm.png Binary files differindex 364cf75..739f9a6 100644 --- a/packages/SystemUI/res/drawable-mdpi/stat_notify_alarm.png +++ b/packages/SystemUI/res/drawable-mdpi/stat_notify_alarm.png diff --git a/packages/SystemUI/res/drawable-mdpi/status_bar_ticker_tile.png b/packages/SystemUI/res/drawable-mdpi/status_bar_ticker_tile.png Binary files differdeleted file mode 100644 index 9999598..0000000 --- a/packages/SystemUI/res/drawable-mdpi/status_bar_ticker_tile.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/stat_notify_alarm.png b/packages/SystemUI/res/drawable-xhdpi/stat_notify_alarm.png Binary files differnew file mode 100644 index 0000000..7cad385 --- /dev/null +++ b/packages/SystemUI/res/drawable-xhdpi/stat_notify_alarm.png diff --git a/packages/SystemUI/res/drawable-xhdpi/stat_notify_more.png b/packages/SystemUI/res/drawable-xhdpi/stat_notify_more.png Binary files differnew file mode 100644 index 0000000..16bf510 --- /dev/null +++ b/packages/SystemUI/res/drawable-xhdpi/stat_notify_more.png diff --git a/packages/SystemUI/res/drawable-xhdpi/status_bar_ticker_tile.png b/packages/SystemUI/res/drawable-xhdpi/status_bar_ticker_tile.png Binary files differdeleted file mode 100644 index 6585ad6..0000000 --- a/packages/SystemUI/res/drawable-xhdpi/status_bar_ticker_tile.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable/status_bar_ticker_background.xml b/packages/SystemUI/res/drawable/status_bar_ticker_background.xml index 83524a6..7cb64c0 100644 --- a/packages/SystemUI/res/drawable/status_bar_ticker_background.xml +++ b/packages/SystemUI/res/drawable/status_bar_ticker_background.xml @@ -17,5 +17,5 @@ <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:tileMode="repeat" - android:src="@drawable/status_bar_ticker_tile" + android:src="@*android:drawable/notify_panel_notification_icon_bg" /> diff --git a/packages/SystemUI/res/layout/status_bar_expanded.xml b/packages/SystemUI/res/layout/status_bar_expanded.xml index b63afbe..b5274a3 100644 --- a/packages/SystemUI/res/layout/status_bar_expanded.xml +++ b/packages/SystemUI/res/layout/status_bar_expanded.xml @@ -28,14 +28,15 @@ <RelativeLayout android:layout_width="match_parent" - android:layout_height="55dp" + android:layout_height="52dp" android:paddingTop="3dp" android:paddingBottom="5dp" android:paddingRight="3dp" > <com.android.systemui.statusbar.policy.DateView android:id="@+id/date" android:textAppearance="@android:style/TextAppearance.StatusBar.EventContent.Title" - android:textColor="@android:color/holo_blue_bright" + android:textColor="@android:color/holo_blue_light" + android:textStyle="normal" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_alignParentLeft="true" @@ -77,7 +78,7 @@ <View android:layout_width="match_parent" - android:layout_height="3dp" + android:layout_height="2dp" android:background="@drawable/status_bar_hr" /> @@ -92,7 +93,7 @@ android:textAppearance="@android:style/TextAppearance.Large" android:padding="8dp" android:layout_gravity="top" - android:gravity="center" + android:gravity="left" android:text="@string/status_bar_no_notifications_title" /> diff --git a/packages/SystemUI/res/layout/status_bar_icon.xml b/packages/SystemUI/res/layout/status_bar_icon.xml index 21d606f..d2ebf9e 100644 --- a/packages/SystemUI/res/layout/status_bar_icon.xml +++ b/packages/SystemUI/res/layout/status_bar_icon.xml @@ -19,7 +19,7 @@ --> <!-- The icons are a fixed size so an app can't mess everything up with bogus images --> -<!-- TODO: the icons are hard coded to 25x25 pixels. Their size should come froem a theme --> +<!-- TODO: the icons are hard coded to 25x25 pixels. Their size should come from a theme --> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="25dp" android:layout_height="25dp" @@ -43,4 +43,4 @@ android:textStyle="bold" /> -</FrameLayout> +</FrameLayout>
\ No newline at end of file diff --git a/packages/SystemUI/res/layout/status_bar_notification_row.xml b/packages/SystemUI/res/layout/status_bar_notification_row.xml index ca584ab..d627dc4 100644 --- a/packages/SystemUI/res/layout/status_bar_notification_row.xml +++ b/packages/SystemUI/res/layout/status_bar_notification_row.xml @@ -32,13 +32,14 @@ android:layout_alignParentRight="true" android:focusable="true" android:clickable="true" + android:background="@drawable/notification_item_background_color" /> <View android:layout_width="match_parent" - android:layout_height="1dp" + android:layout_height="@dimen/notification_divider_height" android:layout_alignParentBottom="true" - android:background="@android:drawable/divider_horizontal_dark" + android:background="@drawable/status_bar_notification_row_background_color" /> </RelativeLayout> diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml index 33eb223..a1a6225 100644 --- a/packages/SystemUI/res/values-ca/strings.xml +++ b/packages/SystemUI/res/values-ca/strings.xml @@ -113,8 +113,8 @@ <string name="accessibility_gps_enabled" msgid="3511469499240123019">"GPS activat."</string> <string name="accessibility_gps_acquiring" msgid="8959333351058967158">"S\'està adquirint el GPS."</string> <string name="accessibility_tty_enabled" msgid="4613200365379426561">"Teletip activat."</string> - <string name="accessibility_ringer_vibrate" msgid="666585363364155055">"Vibració del so de trucada."</string> - <string name="accessibility_ringer_silent" msgid="9061243307939135383">"So de trucada en silenci."</string> + <string name="accessibility_ringer_vibrate" msgid="666585363364155055">"Mode vibració."</string> + <string name="accessibility_ringer_silent" msgid="9061243307939135383">"Mode silenci."</string> <string name="data_usage_disabled_dialog_3g_title" msgid="5257833881698644687">"Dades 2G-3G desactivades"</string> <string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Dades 4G desactivades"</string> <string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Dades mòbils desactivades"</string> diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml index ea9b8d2..2fbd38b 100644 --- a/packages/SystemUI/res/values-de/strings.xml +++ b/packages/SystemUI/res/values-de/strings.xml @@ -60,13 +60,13 @@ <string name="compat_mode_help_header" msgid="7020175705401506719">"Kompatibilitätszoom"</string> <string name="compat_mode_help_body" msgid="4946726776359270040">"Wenn eine App für einen kleineren Bildschirm ausgelegt ist, wird ein Zoom-Steuerelement neben der Uhr angezeigt."</string> <string name="screenshot_saving_toast" msgid="8592630119048713208">"Screenshot in Galerie gespeichert"</string> - <!-- outdated translation 655180965533683356 --> <string name="screenshot_failed_toast" msgid="1990979819772906912">"Screenshot konnte nicht gespeichert werden."</string> + <string name="screenshot_failed_toast" msgid="1990979819772906912">"Screenshot konnte nicht gespeichert werden. Möglicherweise wird der externe Speicher gerade verwendet."</string> <string name="usb_preference_title" msgid="6551050377388882787">"USB-Dateiübertragungsoptionen"</string> <string name="use_mtp_button_title" msgid="4333504413563023626">"Als Medienplayer (MTP) bereitstellen"</string> <string name="use_ptp_button_title" msgid="7517127540301625751">"Als Kamera (PTP) bereitstellen"</string> <string name="installer_cd_button_title" msgid="8485631662288445893">"App \"Android File Transfer\" für Mac installieren"</string> <string name="accessibility_back" msgid="567011538994429120">"Zurück"</string> - <string name="accessibility_home" msgid="8217216074895377641">"Startseite"</string> + <string name="accessibility_home" msgid="8217216074895377641">"Startbildschirm"</string> <string name="accessibility_menu" msgid="316839303324695949">"Menü"</string> <string name="accessibility_recent" msgid="3027675523629738534">"Zuletzt verwendete Anwendungen"</string> <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Schaltfläche zum Ändern der Eingabemethode"</string> @@ -74,7 +74,7 @@ <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zoom auf einen größeren Bildschirm"</string> <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Mit Bluetooth verbunden"</string> <string name="accessibility_bluetooth_disconnected" msgid="7416648669976870175">"Bluetooth-Verbindung getrennt"</string> - <string name="accessibility_no_battery" msgid="358343022352820946">"Kein Akku"</string> + <string name="accessibility_no_battery" msgid="358343022352820946">"Akku leer"</string> <string name="accessibility_battery_one_bar" msgid="7774887721891057523">"Akku - ein Balken"</string> <string name="accessibility_battery_two_bars" msgid="8500650438735009973">"Akku - zwei Balken"</string> <string name="accessibility_battery_three_bars" msgid="2302983330865040446">"Akku - drei Balken"</string> @@ -96,7 +96,7 @@ <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Volle WLAN-Signalstärke"</string> <string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string> <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string> - <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string> + <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3,5G"</string> <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string> <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string> <string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string> @@ -119,12 +119,8 @@ <string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Daten deaktiviert"</string> <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Das für die Datennutzung festgelegte Limit wurde erreicht."\n\n"Eine weitere Datennutzung kann mit zusätzlichen Kosten vonseiten des Mobilfunkanbieters verbunden sein."</string> <string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Daten erneut aktivieren"</string> - <!-- no translation found for status_bar_settings_signal_meter_disconnected (1940231521274147771) --> - <skip /> - <!-- no translation found for status_bar_settings_signal_meter_wifi_nossid (6557486452774597820) --> - <skip /> - <!-- no translation found for gps_notification_searching_text (8574247005642736060) --> - <skip /> - <!-- no translation found for gps_notification_found_text (4619274244146446464) --> - <skip /> + <string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Keine Internetverbindung"</string> + <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"WLAN verbunden"</string> + <string name="gps_notification_searching_text" msgid="8574247005642736060">"GPS wird gesucht"</string> + <string name="gps_notification_found_text" msgid="4619274244146446464">"Standort durch GPS festgelegt"</string> </resources> diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml index ee3e671..f29619d 100644 --- a/packages/SystemUI/res/values-el/strings.xml +++ b/packages/SystemUI/res/values-el/strings.xml @@ -115,10 +115,10 @@ <string name="accessibility_tty_enabled" msgid="4613200365379426561">"Το TeleTypewriter ενεργοποιήθηκε."</string> <string name="accessibility_ringer_vibrate" msgid="666585363364155055">"Δόνηση ειδοποίησης ήχου"</string> <string name="accessibility_ringer_silent" msgid="9061243307939135383">"Ήχος ειδοποίησης: Αθόρυβο."</string> - <string name="data_usage_disabled_dialog_3g_title" msgid="5257833881698644687">"Τα δεδομένα 2G-3G απενεργοποιήθηκαν"</string> + <string name="data_usage_disabled_dialog_3g_title" msgid="5257833881698644687">"Απενεργοποιήθηκαν τα δεδομένα 2G-3G"</string> <string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Τα δεδομένα 4G απενεργοποιήθηκαν"</string> - <string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Τα δεδομένα κινητής τηλεφωνίας απενεργοποιήθηκαν"</string> - <string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Τα δεδομένα απενεργοποιήθηκαν"</string> + <string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Απενεργοποιήθηκαν τα δεδομένα κινητής τηλεφωνίας"</string> + <string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Απενεργοποιήθηκαν τα δεδομένα"</string> <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Το καθορισμένο όριο χρήσης δεδομένων συμπληρώθηκε."\n\n"Πρόσθετη χρήση δεδομένων ενδέχεται να επιφέρει χρεώσεις από την εταιρεία κινητής τηλεφωνίας."</string> <string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Εκ νέου ενεργοποίηση δεδομ."</string> <string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Χωρ. σύνδ. στο Διαδ."</string> diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml index 5f5605a..898b124 100644 --- a/packages/SystemUI/res/values-es-rUS/strings.xml +++ b/packages/SystemUI/res/values-es-rUS/strings.xml @@ -79,7 +79,7 @@ <string name="accessibility_battery_two_bars" msgid="8500650438735009973">"Dos barras de batería"</string> <string name="accessibility_battery_three_bars" msgid="2302983330865040446">"Tres barras de batería"</string> <string name="accessibility_battery_full" msgid="8909122401720158582">"Batería completa"</string> - <string name="accessibility_no_phone" msgid="4894708937052611281">"No hay teléfono."</string> + <string name="accessibility_no_phone" msgid="4894708937052611281">"Sin teléfono"</string> <string name="accessibility_phone_one_bar" msgid="687699278132664115">"Una barra de teléfono"</string> <string name="accessibility_phone_two_bars" msgid="8384905382804815201">"Dos barras de teléfono"</string> <string name="accessibility_phone_three_bars" msgid="8521904843919971885">"Tres barras de teléfono"</string> @@ -89,36 +89,38 @@ <string name="accessibility_data_two_bars" msgid="6166018492360432091">"Dos barras de datos"</string> <string name="accessibility_data_three_bars" msgid="9167670452395038520">"Tres barras de datos"</string> <string name="accessibility_data_signal_full" msgid="2708384608124519369">"Señal de datos completa"</string> - <string name="accessibility_no_wifi" msgid="4017628918351949575">"No hay WiFi."</string> - <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Una barra de WiFi"</string> - <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Dos barras de WiFi"</string> - <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Tres barras de WiFi"</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Señal de WiFi completa"</string> + <string name="accessibility_no_wifi" msgid="4017628918351949575">"No hay Wi-Fi."</string> + <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Una barra de Wi-Fi"</string> + <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Dos barras de Wi-Fi"</string> + <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Tres barras de Wi-Fi"</string> + <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Señal de Wi-Fi completa"</string> <string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string> <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string> - <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string> + <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3,5G"</string> <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string> <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string> <string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string> - <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"WiFi"</string> + <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"Wi-Fi"</string> <string name="accessibility_no_sim" msgid="8274017118472455155">"No hay tarjeta SIM."</string> - <string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Anclaje a red Bluetooth."</string> - <string name="accessibility_airplane_mode" msgid="834748999790763092">"Modo avión"</string> - <string name="accessibility_battery_level" msgid="7451474187113371965">"Batería <xliff:g id="NUMBER">%d</xliff:g> por ciento"</string> + <string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Conexión mediante Bluetooth"</string> + <string name="accessibility_airplane_mode" msgid="834748999790763092">"Modo de avión"</string> + <!-- String.format failed for translation --> + <!-- no translation found for accessibility_battery_level (7451474187113371965) --> + <skip /> <string name="accessibility_settings_button" msgid="7913780116850379698">"Botón de configuración"</string> <string name="accessibility_notifications_button" msgid="2933903195211483438">"Botón de notificaciones"</string> <string name="accessibility_remove_notification" msgid="4883990503785778699">"Eliminar notificación"</string> <string name="accessibility_gps_enabled" msgid="3511469499240123019">"GPS habilitado"</string> <string name="accessibility_gps_acquiring" msgid="8959333351058967158">"Adquisición de GPS"</string> <string name="accessibility_tty_enabled" msgid="4613200365379426561">"TeleTypewriter habilitado"</string> - <string name="accessibility_ringer_vibrate" msgid="666585363364155055">"Timbre vibrar"</string> - <string name="accessibility_ringer_silent" msgid="9061243307939135383">"Timbre silencio"</string> - <string name="data_usage_disabled_dialog_3g_title" msgid="5257833881698644687">"Se inhabilitaron los datos 2G/3G."</string> - <string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Se inhabilitaron los datos 4G."</string> - <string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Se inhabilitaron los datos móviles."</string> - <string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Se inhabilitaron los datos."</string> - <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Se alcanzó el límite de datos que se permiten usar."\n\n"El operador puede cobrarte por el uso adicional de datos."</string> - <string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Volver a habilitar los datos"</string> + <string name="accessibility_ringer_vibrate" msgid="666585363364155055">"Timbre en vibración"</string> + <string name="accessibility_ringer_silent" msgid="9061243307939135383">"Timbre en silencio"</string> + <string name="data_usage_disabled_dialog_3g_title" msgid="5257833881698644687">"Datos de 2G-3G inhabilitados"</string> + <string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Datos de 4G inhabilitados"</string> + <string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Se inhabilitaron los datos móviles"</string> + <string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Datos inhabilitados"</string> + <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Se ha alcanzado el límite de uso de datos especificado."\n\n"El uso de datos adicionales puede conllevar cargos para el proveedor."</string> + <string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Volver a habilitar datos"</string> <string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Sin conexión a Internet"</string> <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi conectado"</string> <string name="gps_notification_searching_text" msgid="8574247005642736060">"Buscando GPS"</string> diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml index a8bbd96..8816826 100644 --- a/packages/SystemUI/res/values-es/strings.xml +++ b/packages/SystemUI/res/values-es/strings.xml @@ -60,7 +60,7 @@ <string name="compat_mode_help_header" msgid="7020175705401506719">"Zoom de compatibilidad"</string> <string name="compat_mode_help_body" msgid="4946726776359270040">"Si la aplicación se ha diseñado para una pantalla más pequeña, aparecerá un control de zoom junto al reloj."</string> <string name="screenshot_saving_toast" msgid="8592630119048713208">"Captura de pantalla guardada en la galería"</string> - <!-- outdated translation 655180965533683356 --> <string name="screenshot_failed_toast" msgid="1990979819772906912">"No se ha podido guardar la captura de pantalla."</string> + <string name="screenshot_failed_toast" msgid="1990979819772906912">"No se ha podido guardar la captura de pantalla. Es posible que el almacenamiento externo esté en uso."</string> <string name="usb_preference_title" msgid="6551050377388882787">"Opciones de transferencia de archivos por USB"</string> <string name="use_mtp_button_title" msgid="4333504413563023626">"Activar como reproductor de medios (MTP)"</string> <string name="use_ptp_button_title" msgid="7517127540301625751">"Activar como cámara (PTP)"</string> @@ -80,23 +80,23 @@ <string name="accessibility_battery_three_bars" msgid="2302983330865040446">"Tres barras de batería"</string> <string name="accessibility_battery_full" msgid="8909122401720158582">"Batería completa"</string> <string name="accessibility_no_phone" msgid="4894708937052611281">"Sin teléfono"</string> - <string name="accessibility_phone_one_bar" msgid="687699278132664115">"Una barra de teléfono"</string> - <string name="accessibility_phone_two_bars" msgid="8384905382804815201">"Dos barras de teléfono"</string> - <string name="accessibility_phone_three_bars" msgid="8521904843919971885">"Tres barras de teléfono"</string> - <string name="accessibility_phone_signal_full" msgid="6471834868580757898">"Señal de teléfono completa"</string> + <string name="accessibility_phone_one_bar" msgid="687699278132664115">"Una barra de cobertura"</string> + <string name="accessibility_phone_two_bars" msgid="8384905382804815201">"Dos barras de cobertura"</string> + <string name="accessibility_phone_three_bars" msgid="8521904843919971885">"Tres barras de cobertura"</string> + <string name="accessibility_phone_signal_full" msgid="6471834868580757898">"Cobertura al máximo"</string> <string name="accessibility_no_data" msgid="4791966295096867555">"Sin datos"</string> <string name="accessibility_data_one_bar" msgid="1415625833238273628">"Una barra de datos"</string> <string name="accessibility_data_two_bars" msgid="6166018492360432091">"Dos barras de datos"</string> <string name="accessibility_data_three_bars" msgid="9167670452395038520">"Tres barras de datos"</string> - <string name="accessibility_data_signal_full" msgid="2708384608124519369">"Señal de datos completa"</string> + <string name="accessibility_data_signal_full" msgid="2708384608124519369">"Señal de datos al máximo"</string> <string name="accessibility_no_wifi" msgid="4017628918351949575">"Sin redes Wi-Fi"</string> <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Una barra de Wi-Fi"</string> <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Dos barras de Wi-Fi"</string> <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Tres barras de Wi-Fi"</string> - <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Señal de Wi-Fi completa"</string> + <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Señal de Wi-Fi al máximo"</string> <string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string> <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string> - <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string> + <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5 G"</string> <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string> <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string> <string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Tipo Edge"</string> @@ -109,22 +109,18 @@ <string name="accessibility_notifications_button" msgid="2933903195211483438">"Botón de notificaciones"</string> <string name="accessibility_remove_notification" msgid="4883990503785778699">"Eliminar notificación"</string> <string name="accessibility_gps_enabled" msgid="3511469499240123019">"GPS habilitado"</string> - <string name="accessibility_gps_acquiring" msgid="8959333351058967158">"Obteniendo GPS..."</string> + <string name="accessibility_gps_acquiring" msgid="8959333351058967158">"Obteniendo ubicación..."</string> <string name="accessibility_tty_enabled" msgid="4613200365379426561">"Teletipo habilitado"</string> - <string name="accessibility_ringer_vibrate" msgid="666585363364155055">"Timbre en vibración"</string> - <string name="accessibility_ringer_silent" msgid="9061243307939135383">"Timbre en silencio"</string> + <string name="accessibility_ringer_vibrate" msgid="666585363364155055">"Modo vibración"</string> + <string name="accessibility_ringer_silent" msgid="9061243307939135383">"Modo silencio"</string> <string name="data_usage_disabled_dialog_3g_title" msgid="5257833881698644687">"Datos 2G-3G inhabilitados"</string> <string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Datos 4G inhabilitados"</string> <string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Datos móviles inhabilitados"</string> <string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Datos inhabilitados"</string> <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Se ha alcanzado el límite de uso de datos especificado."\n\n"Se pueden aplicar cargos adicionales si utilizas más datos."</string> <string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Volver a habilitar los datos"</string> - <!-- no translation found for status_bar_settings_signal_meter_disconnected (1940231521274147771) --> - <skip /> - <!-- no translation found for status_bar_settings_signal_meter_wifi_nossid (6557486452774597820) --> - <skip /> - <!-- no translation found for gps_notification_searching_text (8574247005642736060) --> - <skip /> - <!-- no translation found for gps_notification_found_text (4619274244146446464) --> - <skip /> + <string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Sin conexión a Internet"</string> + <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Con conexión Wi-Fi"</string> + <string name="gps_notification_searching_text" msgid="8574247005642736060">"Buscando GPS"</string> + <string name="gps_notification_found_text" msgid="4619274244146446464">"Ubicación definida por GPS"</string> </resources> diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml index aa0b487..f9f75d5 100644 --- a/packages/SystemUI/res/values-fi/strings.xml +++ b/packages/SystemUI/res/values-fi/strings.xml @@ -60,17 +60,17 @@ <string name="compat_mode_help_header" msgid="7020175705401506719">"Yhteensopivuustilan zoomaus"</string> <string name="compat_mode_help_body" msgid="4946726776359270040">"Jos sovellus on suunniteltu pienemmälle näytölle, kellon viereen tulee näkyviin zoomaussäädin."</string> <string name="screenshot_saving_toast" msgid="8592630119048713208">"Kuvakaappaus on tallennettu galleriaan"</string> - <!-- outdated translation 655180965533683356 --> <string name="screenshot_failed_toast" msgid="1990979819772906912">"Kuvakaappausta ei voitu tallentaa"</string> + <string name="screenshot_failed_toast" msgid="1990979819772906912">"Kuvakaappauksen tallennus epäonnistui. Ulkoinen tallennustila voi olla käytössä."</string> <string name="usb_preference_title" msgid="6551050377388882787">"USB-tiedostonsiirtoasetukset"</string> <string name="use_mtp_button_title" msgid="4333504413563023626">"Käytä mediasoittimena (MTP)"</string> <string name="use_ptp_button_title" msgid="7517127540301625751">"Käytä kamerana (PTP)"</string> <string name="installer_cd_button_title" msgid="8485631662288445893">"Asenna Android File Transfer -sovellus Macille"</string> <string name="accessibility_back" msgid="567011538994429120">"Takaisin"</string> - <string name="accessibility_home" msgid="8217216074895377641">"Aloitusruutu"</string> + <string name="accessibility_home" msgid="8217216074895377641">"Aloituspainike"</string> <string name="accessibility_menu" msgid="316839303324695949">"Valikko"</string> <string name="accessibility_recent" msgid="3027675523629738534">"Viimeaikaiset sovellukset"</string> - <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Vaihda syöttötapapainiketta."</string> - <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Yhteensopivuus-zoomauspainike."</string> + <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Syöttötavan vaihtopainike."</string> + <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Yhteensopivuuszoomaus-painike."</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zoomaa pienemmältä suuremmalle ruudulle."</string> <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth yhdistetty."</string> <string name="accessibility_bluetooth_disconnected" msgid="7416648669976870175">"Bluetooth-yhteys katkaistu."</string> @@ -79,16 +79,16 @@ <string name="accessibility_battery_two_bars" msgid="8500650438735009973">"Akun virta - kaksi palkkia."</string> <string name="accessibility_battery_three_bars" msgid="2302983330865040446">"Akun virta - kolme palkkia."</string> <string name="accessibility_battery_full" msgid="8909122401720158582">"Akku täynnä."</string> - <string name="accessibility_no_phone" msgid="4894708937052611281">"Katvealueella."</string> + <string name="accessibility_no_phone" msgid="4894708937052611281">"Ei puhelinverkkoyhteyttä."</string> <string name="accessibility_phone_one_bar" msgid="687699278132664115">"Puhelinverkkosignaali - yksi palkki."</string> <string name="accessibility_phone_two_bars" msgid="8384905382804815201">"Puhelinverkkosignaali - kaksi palkkia."</string> <string name="accessibility_phone_three_bars" msgid="8521904843919971885">"Puhelinverkkosignaali - kolme palkkia."</string> <string name="accessibility_phone_signal_full" msgid="6471834868580757898">"Vahva puhelinverkkosignaali."</string> - <string name="accessibility_no_data" msgid="4791966295096867555">"Ei tietoja."</string> - <string name="accessibility_data_one_bar" msgid="1415625833238273628">"Datasignaali - yksi palkki"</string> - <string name="accessibility_data_two_bars" msgid="6166018492360432091">"Datasignaali - kaksi palkkia"</string> + <string name="accessibility_no_data" msgid="4791966295096867555">"Ei datasignaalia."</string> + <string name="accessibility_data_one_bar" msgid="1415625833238273628">"Datasignaali - yksi palkki."</string> + <string name="accessibility_data_two_bars" msgid="6166018492360432091">"Datasignaali - kaksi palkkia."</string> <string name="accessibility_data_three_bars" msgid="9167670452395038520">"Datasignaali - kolme palkkia"</string> - <string name="accessibility_data_signal_full" msgid="2708384608124519369">"Vahva datasignaali."</string> + <string name="accessibility_data_signal_full" msgid="2708384608124519369">"Vahva kuuluvuus."</string> <string name="accessibility_no_wifi" msgid="4017628918351949575">"Ei wifi-yhteyttä."</string> <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Wifi-signaali - yksi palkki."</string> <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Wifi-signaali - kaksi palkkia."</string> @@ -102,29 +102,25 @@ <string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string> <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"Wifi"</string> <string name="accessibility_no_sim" msgid="8274017118472455155">"Ei SIM-korttia."</string> - <string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Internetyhteyden jakaminen Bluetoothin kautta"</string> - <string name="accessibility_airplane_mode" msgid="834748999790763092">"Lentokonetila"</string> + <string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Internetyhteyden jakaminen Bluetoothin kautta."</string> + <string name="accessibility_airplane_mode" msgid="834748999790763092">"Lentokonetila."</string> <string name="accessibility_battery_level" msgid="7451474187113371965">"Akun virta <xliff:g id="NUMBER">%d</xliff:g> prosenttia."</string> <string name="accessibility_settings_button" msgid="7913780116850379698">"Asetukset-painike."</string> <string name="accessibility_notifications_button" msgid="2933903195211483438">"Ilmoitukset-painike."</string> <string name="accessibility_remove_notification" msgid="4883990503785778699">"Poista ilmoitus."</string> <string name="accessibility_gps_enabled" msgid="3511469499240123019">"GPS käytössä."</string> <string name="accessibility_gps_acquiring" msgid="8959333351058967158">"Haetaan GPS-signaalia."</string> - <string name="accessibility_tty_enabled" msgid="4613200365379426561">"TeleTypewriter käytössä."</string> + <string name="accessibility_tty_enabled" msgid="4613200365379426561">"Tekstipuhelin käytössä."</string> <string name="accessibility_ringer_vibrate" msgid="666585363364155055">"Soittoääni: värinä."</string> <string name="accessibility_ringer_silent" msgid="9061243307939135383">"Soittoääni: äänetön."</string> <string name="data_usage_disabled_dialog_3g_title" msgid="5257833881698644687">"2G-3G-tiedonsiirto pois käytöstä"</string> <string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G-tiedonsiirto pois käytöstä"</string> <string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Mobiilitiedonsiirto pois käytöstä"</string> <string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Tiedonsiirto pois käytöstä"</string> - <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Määritetty tiedonsiirtoraja on täynnä."\n\n"Operaattori voi veloittaa lisätiedonsiirrosta."</string> + <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Asetettu tiedonsiirtoraja on täynnä."\n\n"Operaattori voi veloittaa lisätiedonsiirrosta."</string> <string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Ota tiedonsiirto käyttöön"</string> - <!-- no translation found for status_bar_settings_signal_meter_disconnected (1940231521274147771) --> - <skip /> - <!-- no translation found for status_bar_settings_signal_meter_wifi_nossid (6557486452774597820) --> - <skip /> - <!-- no translation found for gps_notification_searching_text (8574247005642736060) --> - <skip /> - <!-- no translation found for gps_notification_found_text (4619274244146446464) --> - <skip /> + <string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Ei internetyhteyttä"</string> + <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wifi yhdistetty"</string> + <string name="gps_notification_searching_text" msgid="8574247005642736060">"Haetaan GPS-yhteyttä"</string> + <string name="gps_notification_found_text" msgid="4619274244146446464">"Sijainti määritetty GPS:n avulla"</string> </resources> diff --git a/packages/SystemUI/res/values-hdpi/dimens.xml b/packages/SystemUI/res/values-hdpi/dimens.xml index 741b75a..287e0d1 100644 --- a/packages/SystemUI/res/values-hdpi/dimens.xml +++ b/packages/SystemUI/res/values-hdpi/dimens.xml @@ -21,4 +21,12 @@ <dimen name="recents_thumbnail_bg_padding_top">7px</dimen> <dimen name="recents_thumbnail_bg_padding_right">6px</dimen> <dimen name="recents_thumbnail_bg_padding_bottom">6px</dimen> + + <!-- thickness (height) of each notification row, including any separators or padding --> + <!-- Note: this is 64dip + 1px divider = 97px. --> + <dimen name="notification_height">97px</dimen> + + <!-- thickness (height) of dividers between each notification row; see math for + notification_height above --> + <dimen name="notification_divider_height">1px</dimen> </resources> diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml index 58cd5f8..73804c0 100644 --- a/packages/SystemUI/res/values-hr/strings.xml +++ b/packages/SystemUI/res/values-hr/strings.xml @@ -113,11 +113,11 @@ <string name="accessibility_tty_enabled" msgid="4613200365379426561">"TeleTypewriter omogućen."</string> <string name="accessibility_ringer_vibrate" msgid="666585363364155055">"Vibracija softvera zvona."</string> <string name="accessibility_ringer_silent" msgid="9061243307939135383">"Softver zvona utišan."</string> - <string name="data_usage_disabled_dialog_3g_title" msgid="5257833881698644687">"2G-3G podaci su onemogućeni"</string> - <string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G podaci su onemogućeni"</string> + <string name="data_usage_disabled_dialog_3g_title" msgid="5257833881698644687">"2G-3G podaci onemogućeni"</string> + <string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G podaci onemogućeni"</string> <string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Mobilni podaci su onemogućeni"</string> - <string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Podaci su onemogućeni"</string> - <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Dosegnuto je navedeno ograničenje upotrebe podataka."\n\n"Dodatna upotreba podataka može se naplaćivati."</string> + <string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Podaci onemogućeni"</string> + <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Dosegnuto je navedeno ograničenje upotrebe podataka."\n\n"Dodatna upotreba podataka može podlijegati naplati."</string> <string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Ponovo omogući podatke"</string> <string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Nema internetske veze"</string> <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi povezan"</string> diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml index ceee7a3..b51c919 100644 --- a/packages/SystemUI/res/values-iw/strings.xml +++ b/packages/SystemUI/res/values-iw/strings.xml @@ -26,7 +26,7 @@ <string name="status_bar_recent_remove_item_title" msgid="6561944127804037619">"הסר"</string> <string name="status_bar_recent_inspect_item_title" msgid="4906947311448880529">"בדיקה"</string> <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"אין התראות"</string> - <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"מתבצע"</string> + <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"מתמשך"</string> <string name="status_bar_latest_events_title" msgid="6594767438577593172">"התראות"</string> <string name="battery_low_title" msgid="7923774589611311406">"חבר מטען"</string> <string name="battery_low_subtitle" msgid="1752040062087829196">"עוצמת הסוללה נחלשת."</string> @@ -40,7 +40,7 @@ <string name="status_bar_settings_mute_label" msgid="554682549917429396">"השתק"</string> <string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"אוטומטי"</string> <string name="status_bar_settings_notifications" msgid="397146176280905137">"התראות"</string> - <string name="recent_tasks_title" msgid="3691764623638127888">"אחרונות"</string> + <string name="recent_tasks_title" msgid="3691764623638127888">"נוצרו לאחרונה"</string> <string name="recent_tasks_empty" msgid="1905484479067697884">"אין יישומים חדשים."</string> <string name="recent_tasks_app_label" msgid="3796483981246752469">"Google Apps"</string> <string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth קשור"</string> @@ -68,7 +68,7 @@ <string name="accessibility_back" msgid="567011538994429120">"הקודם"</string> <string name="accessibility_home" msgid="8217216074895377641">"בית"</string> <string name="accessibility_menu" msgid="316839303324695949">"תפריט"</string> - <string name="accessibility_recent" msgid="3027675523629738534">"יישומים אחרונים"</string> + <string name="accessibility_recent" msgid="3027675523629738534">"יישומים חדשים"</string> <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"לחצן החלפת שיטת קלט."</string> <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"לחצן מרחק מתצוגה של תאימות."</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"שנה מרחק מתצוגה של מסך קטן לגדול יותר."</string> diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml index 5ad4e2d..d29d657 100644 --- a/packages/SystemUI/res/values-ja/strings.xml +++ b/packages/SystemUI/res/values-ja/strings.xml @@ -68,7 +68,7 @@ <string name="accessibility_back" msgid="567011538994429120">"戻る"</string> <string name="accessibility_home" msgid="8217216074895377641">"ホーム"</string> <string name="accessibility_menu" msgid="316839303324695949">"メニュー"</string> - <string name="accessibility_recent" msgid="3027675523629738534">"最近使ったアプリケーション"</string> + <string name="accessibility_recent" msgid="3027675523629738534">"新着のアプリケーション"</string> <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"入力方法の切り替えボタン。"</string> <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"互換ズームボタン。"</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"小さい画面から大きい画面に拡大。"</string> @@ -120,7 +120,7 @@ <string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"モバイルデータが無効になりました"</string> <string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"データが無効になりました"</string> <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"指定したデータ使用上限に達しました。"\n\n"これ以上データを使用すると、携帯通信会社への料金が発生する可能性があります。"</string> - <string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"データ接続を再度有効にする"</string> + <string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"データを再度有効にする"</string> <string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"インターネット未接続"</string> <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi接続済み"</string> <string name="gps_notification_searching_text" msgid="8574247005642736060">"GPSで検索中"</string> diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml index aa2e148..495288c 100644 --- a/packages/SystemUI/res/values-pl/strings.xml +++ b/packages/SystemUI/res/values-pl/strings.xml @@ -117,7 +117,7 @@ <string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Wyłączono transmisję danych 4G"</string> <string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Wyłączono komórkową transmisję danych"</string> <string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Wyłączono transmisję danych"</string> - <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Osiągnięto określony limit transmisji danych."\n\n"Operator może pobierać opłaty za przesyłanie dodatkowych danych."</string> + <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Osiągnięto określony limit transmisji danych."\n\n"Operator może pobierać opłaty za przesyłanie dodatkowych pakietów."</string> <string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Włącz transmisję danych"</string> <string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Brak internetu"</string> <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi: połączono"</string> diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml index 10d5611..706be48 100644 --- a/packages/SystemUI/res/values-pt-rPT/strings.xml +++ b/packages/SystemUI/res/values-pt-rPT/strings.xml @@ -60,7 +60,7 @@ <string name="compat_mode_help_header" msgid="7020175705401506719">"Compatibilidade de zoom"</string> <string name="compat_mode_help_body" msgid="4946726776359270040">"Sempre que uma aplicação tiver sido concebida para ecrãs mais pequenos, aparecerá um controlo de zoom junto ao relógio."</string> <string name="screenshot_saving_toast" msgid="8592630119048713208">"Captura de ecrã guardada na Galeria"</string> - <!-- outdated translation 655180965533683356 --> <string name="screenshot_failed_toast" msgid="1990979819772906912">"Não foi possível guardar a captura de ecrã"</string> + <string name="screenshot_failed_toast" msgid="1990979819772906912">"Não foi possível guardar a captura de ecrã. O armazenamento externo poderá estar a ser utilizado."</string> <string name="usb_preference_title" msgid="6551050377388882787">"Opções de transm. de fich. USB"</string> <string name="use_mtp_button_title" msgid="4333504413563023626">"Montar como leitor de multimédia (MTP)"</string> <string name="use_ptp_button_title" msgid="7517127540301625751">"Montar como câmara (PTP)"</string> @@ -74,7 +74,7 @@ <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zoom menor para ecrã maior."</string> <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth ligado."</string> <string name="accessibility_bluetooth_disconnected" msgid="7416648669976870175">"Bluetooth desligado."</string> - <string name="accessibility_no_battery" msgid="358343022352820946">"Sem bateria"</string> + <string name="accessibility_no_battery" msgid="358343022352820946">"Sem bateria."</string> <string name="accessibility_battery_one_bar" msgid="7774887721891057523">"Uma barra de bateria."</string> <string name="accessibility_battery_two_bars" msgid="8500650438735009973">"Duas barras de bateria."</string> <string name="accessibility_battery_three_bars" msgid="2302983330865040446">"Três barras de bateria."</string> @@ -96,7 +96,7 @@ <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Sinal Wi-Fi completo."</string> <string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string> <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string> - <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string> + <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3,5G"</string> <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string> <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string> <string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string> @@ -104,7 +104,7 @@ <string name="accessibility_no_sim" msgid="8274017118472455155">"Sem SIM."</string> <string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Ligação Bluetooth via telemóvel."</string> <string name="accessibility_airplane_mode" msgid="834748999790763092">"Modo de avião"</string> - <string name="accessibility_battery_level" msgid="7451474187113371965">"Bateria <xliff:g id="NUMBER">%d</xliff:g> por cento."</string> + <string name="accessibility_battery_level" msgid="7451474187113371965">"Bateria a <xliff:g id="NUMBER">%d</xliff:g> por cento."</string> <string name="accessibility_settings_button" msgid="7913780116850379698">"Botão Definições."</string> <string name="accessibility_notifications_button" msgid="2933903195211483438">"Botão de notificações."</string> <string name="accessibility_remove_notification" msgid="4883990503785778699">"Remover notificação."</string> @@ -119,12 +119,8 @@ <string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Dados desativados"</string> <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"O limite de utilização de dados especificado foi atingido."\n\n"A utilização de dados adicionais poderá estar sujeita a tarifas por parte do operador."</string> <string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Reativar dados"</string> - <!-- no translation found for status_bar_settings_signal_meter_disconnected (1940231521274147771) --> - <skip /> - <!-- no translation found for status_bar_settings_signal_meter_wifi_nossid (6557486452774597820) --> - <skip /> - <!-- no translation found for gps_notification_searching_text (8574247005642736060) --> - <skip /> - <!-- no translation found for gps_notification_found_text (4619274244146446464) --> - <skip /> + <string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Sem ligação internet"</string> + <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi ligado"</string> + <string name="gps_notification_searching_text" msgid="8574247005642736060">"A procurar GPS"</string> + <string name="gps_notification_found_text" msgid="4619274244146446464">"Localização definida por GPS"</string> </resources> diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml index 07fb12b..97c978b 100644 --- a/packages/SystemUI/res/values-pt/strings.xml +++ b/packages/SystemUI/res/values-pt/strings.xml @@ -68,7 +68,7 @@ <string name="accessibility_back" msgid="567011538994429120">"Voltar"</string> <string name="accessibility_home" msgid="8217216074895377641">"Página inicial"</string> <string name="accessibility_menu" msgid="316839303324695949">"Menu"</string> - <string name="accessibility_recent" msgid="3027675523629738534">"Aplicações recentes"</string> + <string name="accessibility_recent" msgid="3027675523629738534">"Aplicativos recentes"</string> <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Alterar botão do método de entrada."</string> <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Botão de zoom da compatibilidade."</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Aumentar a tela com zoom."</string> diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml index 1c85b90..616baca 100644 --- a/packages/SystemUI/res/values-tr/strings.xml +++ b/packages/SystemUI/res/values-tr/strings.xml @@ -113,7 +113,7 @@ <string name="accessibility_tty_enabled" msgid="4613200365379426561">"TeleTypewriter etkin."</string> <string name="accessibility_ringer_vibrate" msgid="666585363364155055">"Telefon zili titreşim."</string> <string name="accessibility_ringer_silent" msgid="9061243307939135383">"Telefon zili sessiz."</string> - <string name="data_usage_disabled_dialog_3g_title" msgid="5257833881698644687">"2G-3G verileri devre dışı"</string> + <string name="data_usage_disabled_dialog_3g_title" msgid="5257833881698644687">"2G-3G verileri devre dışı bırakıldı"</string> <string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G verileri devre dışı"</string> <string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Mobil veriler devre dışı"</string> <string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Veriler devre dışı"</string> diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml index 62e5a3e..420612f 100644 --- a/packages/SystemUI/res/values-zh-rCN/strings.xml +++ b/packages/SystemUI/res/values-zh-rCN/strings.xml @@ -115,12 +115,12 @@ <string name="accessibility_tty_enabled" msgid="4613200365379426561">"电传打字机已启用。"</string> <string name="accessibility_ringer_vibrate" msgid="666585363364155055">"振铃器振动。"</string> <string name="accessibility_ringer_silent" msgid="9061243307939135383">"振铃器静音。"</string> - <string name="data_usage_disabled_dialog_3g_title" msgid="5257833881698644687">"超出 2G-3G 数据量限制,已停用"</string> - <string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"超出 4G 数据量限制,已停用"</string> + <string name="data_usage_disabled_dialog_3g_title" msgid="5257833881698644687">"2G-3G 数据网络已停用"</string> + <string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G 数据网络已停用"</string> <string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"移动数据已停用"</string> <string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"数据已停用"</string> - <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"已达到指定的数据使用量上限。"\n\n"如果使用额外的数据,运营商可能会收取相应的费用。"</string> - <string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"重新启用数据连接"</string> + <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"已达到指定的数据流量上限。"\n\n"如果使用额外的数据流量,运营商可能会收取相应的费用。"</string> + <string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"重新启用数据网络"</string> <string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"未连接互联网"</string> <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi 已连接"</string> <string name="gps_notification_searching_text" msgid="8574247005642736060">"正在搜索 GPS"</string> diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml index fd5fe7a..5d14fa8 100644 --- a/packages/SystemUI/res/values/colors.xml +++ b/packages/SystemUI/res/values/colors.xml @@ -18,8 +18,9 @@ --> <resources> <drawable name="notification_number_text_color">#ffffffff</drawable> - <drawable name="notification_item_background_color">#ff000000</drawable> + <drawable name="notification_item_background_color">#ff111111</drawable> <drawable name="ticker_background_color">#ff1d1d1d</drawable> - <drawable name="status_bar_background">#000000</drawable> + <drawable name="status_bar_background">#ff000000</drawable> <drawable name="status_bar_recents_background">#b3000000</drawable> + <drawable name="status_bar_notification_row_background_color">#ff000000</drawable> </resources> diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index ef9b8dd..6db5fc4 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -60,4 +60,7 @@ <!-- gap on either side of status bar notification icons --> <dimen name="status_bar_icon_padding">0dp</dimen> + + <!-- thickness (height) of dividers between each notification row --> + <dimen name="notification_divider_height">1dp</dimen> </resources> diff --git a/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java b/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java index e1231a5..5a3850d 100644 --- a/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java +++ b/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java @@ -16,41 +16,65 @@ package com.android.systemui; -import java.io.IOException; - +import android.app.ActivityManager; import android.app.WallpaperManager; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Rect; import android.graphics.Region.Op; -import android.graphics.drawable.Drawable; -import android.os.Handler; +import android.opengl.GLUtils; +import android.renderscript.Matrix4f; import android.service.wallpaper.WallpaperService; import android.util.Log; -import android.util.Slog; +import android.view.Display; import android.view.MotionEvent; import android.view.SurfaceHolder; -import android.content.Context; -import android.content.IntentFilter; -import android.content.Intent; -import android.content.BroadcastReceiver; +import android.view.WindowManager; + +import javax.microedition.khronos.egl.EGL10; +import javax.microedition.khronos.egl.EGLConfig; +import javax.microedition.khronos.egl.EGLContext; +import javax.microedition.khronos.egl.EGLDisplay; +import javax.microedition.khronos.egl.EGLSurface; +import javax.microedition.khronos.opengles.GL; +import java.io.IOException; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import java.nio.FloatBuffer; + +import static android.opengl.GLES20.*; +import static javax.microedition.khronos.egl.EGL10.*; /** * Default built-in wallpaper that simply shows a static image. */ +@SuppressWarnings({"UnusedDeclaration"}) public class ImageWallpaper extends WallpaperService { private static final String TAG = "ImageWallpaper"; + private static final String GL_LOG_TAG = "ImageWallpaperGL"; private static final boolean DEBUG = false; static final boolean FIXED_SIZED_SURFACE = true; + static final boolean USE_OPENGL = false; WallpaperManager mWallpaperManager; - private Handler mHandler; + + boolean mIsHwAccelerated; @Override public void onCreate() { super.onCreate(); mWallpaperManager = (WallpaperManager) getSystemService(WALLPAPER_SERVICE); - mHandler = new Handler(); + + //noinspection PointlessBooleanExpression,ConstantConditions + if (FIXED_SIZED_SURFACE && USE_OPENGL) { + WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE); + Display display = windowManager.getDefaultDisplay(); + mIsHwAccelerated = ActivityManager.isHighEndGfx(display); + } } public Engine onCreateEngine() { @@ -58,9 +82,16 @@ public class ImageWallpaper extends WallpaperService { } class DrawableEngine extends Engine { - private final Object mLock = new Object(); + static final int EGL_CONTEXT_CLIENT_VERSION = 0x3098; + static final int EGL_OPENGL_ES2_BIT = 4; + + private final Object mLock = new Object[0]; + + // TODO: Not currently used, keeping around until we know we don't need it + @SuppressWarnings({"UnusedDeclaration"}) private WallpaperObserver mReceiver; - Drawable mBackground; + + Bitmap mBackground; int mBackgroundWidth = -1, mBackgroundHeight = -1; float mXOffset; float mYOffset; @@ -71,6 +102,35 @@ public class ImageWallpaper extends WallpaperService { int mLastXTranslation; int mLastYTranslation; + private EGL10 mEgl; + private EGLDisplay mEglDisplay; + private EGLConfig mEglConfig; + private EGLContext mEglContext; + private EGLSurface mEglSurface; + private GL mGL; + + private static final String sSimpleVS = + "attribute vec4 position;\n" + + "attribute vec2 texCoords;\n" + + "varying vec2 outTexCoords;\n" + + "uniform mat4 projection;\n" + + "\nvoid main(void) {\n" + + " outTexCoords = texCoords;\n" + + " gl_Position = projection * position;\n" + + "}\n\n"; + private static final String sSimpleFS = + "precision mediump float;\n\n" + + "varying vec2 outTexCoords;\n" + + "uniform sampler2D texture;\n" + + "\nvoid main(void) {\n" + + " gl_FragColor = texture2D(texture, outTexCoords);\n" + + "}\n\n"; + + private static final int FLOAT_SIZE_BYTES = 4; + private static final int TRIANGLE_VERTICES_DATA_STRIDE_BYTES = 5 * FLOAT_SIZE_BYTES; + private static final int TRIANGLE_VERTICES_DATA_POS_OFFSET = 0; + private static final int TRIANGLE_VERTICES_DATA_UV_OFFSET = 3; + class WallpaperObserver extends BroadcastReceiver { public void onReceive(Context context, Intent intent) { if (DEBUG) { @@ -94,7 +154,7 @@ public class ImageWallpaper extends WallpaperService { super.onCreate(surfaceHolder); - // Don't need this currently because the wallpaper service + // TODO: Don't need this currently because the wallpaper service // will restart the image wallpaper whenever the image changes. //IntentFilter filter = new IntentFilter(Intent.ACTION_WALLPAPER_CHANGED); //mReceiver = new WallpaperObserver(); @@ -221,8 +281,7 @@ public class ImageWallpaper extends WallpaperService { int yPixels = availh < 0 ? (int)(availh * mYOffset + .5f) : (availh / 2); mOffsetsChanged = false; - if (!mRedrawNeeded - && xPixels == mLastXTranslation && yPixels == mLastYTranslation) { + if (!mRedrawNeeded && xPixels == mLastXTranslation && yPixels == mLastYTranslation) { if (DEBUG) { Log.d(TAG, "Suppressed drawFrame since the image has not " + "actually moved an integral number of pixels."); @@ -240,27 +299,10 @@ public class ImageWallpaper extends WallpaperService { updateWallpaperLocked(); } - //Slog.i(TAG, "************** DRAWING WALLAPER ******************"); - Canvas c = sh.lockCanvas(); - if (c != null) { - try { - if (DEBUG) { - Log.d(TAG, "Redrawing: xPixels=" + xPixels + ", yPixels=" + yPixels); - } - - c.translate(xPixels, yPixels); - if (availw < 0 || availh < 0) { - c.save(Canvas.CLIP_SAVE_FLAG); - c.clipRect(0, 0, mBackgroundWidth, mBackgroundHeight, Op.DIFFERENCE); - c.drawColor(0xff000000); - c.restore(); - } - if (mBackground != null) { - mBackground.draw(c); - } - } finally { - sh.unlockCanvasAndPost(c); - } + if (mIsHwAccelerated) { + drawWallpaperWithOpenGL(sh, availw, availh, xPixels, yPixels); + } else { + drawWallpaperWithCanvas(sh, availw, availh, xPixels, yPixels); } if (FIXED_SIZED_SURFACE) { @@ -274,15 +316,15 @@ public class ImageWallpaper extends WallpaperService { } void updateWallpaperLocked() { - //Slog.i(TAG, "************** LOADING WALLAPER ******************"); Throwable exception = null; try { - mBackground = mWallpaperManager.getFastDrawable(); + mBackground = mWallpaperManager.getBitmap(); } catch (RuntimeException e) { exception = e; } catch (OutOfMemoryError e) { exception = e; } + if (exception != null) { mBackground = null; // Note that if we do fail at this, and the default wallpaper can't @@ -296,8 +338,277 @@ public class ImageWallpaper extends WallpaperService { Log.w(TAG, "Unable reset to default wallpaper!", ex); } } - mBackgroundWidth = mBackground != null ? mBackground.getIntrinsicWidth() : 0; - mBackgroundHeight = mBackground != null ? mBackground.getIntrinsicHeight() : 0; + + mBackgroundWidth = mBackground != null ? mBackground.getWidth() : 0; + mBackgroundHeight = mBackground != null ? mBackground.getHeight() : 0; + } + + private void drawWallpaperWithCanvas(SurfaceHolder sh, int w, int h, int x, int y) { + Canvas c = sh.lockCanvas(); + if (c != null) { + try { + if (DEBUG) { + Log.d(TAG, "Redrawing: x=" + x + ", y=" + y); + } + + c.translate(x, y); + if (w < 0 || h < 0) { + c.save(Canvas.CLIP_SAVE_FLAG); + c.clipRect(0, 0, mBackgroundWidth, mBackgroundHeight, Op.DIFFERENCE); + c.drawColor(0xff000000); + c.restore(); + } + if (mBackground != null) { + c.drawBitmap(mBackground, 0, 0, null); + } + } finally { + sh.unlockCanvasAndPost(c); + } + } + } + + private void drawWallpaperWithOpenGL(SurfaceHolder sh, int w, int h, int left, int top) { + initGL(sh); + + final float right = left + mBackgroundWidth; + final float bottom = top + mBackgroundHeight; + + final Rect frame = sh.getSurfaceFrame(); + + final Matrix4f ortho = new Matrix4f(); + ortho.loadOrtho(0.0f, frame.width(), frame.height(), 0.0f, -1.0f, 1.0f); + + final FloatBuffer triangleVertices = createMesh(left, top, right, bottom); + + final int texture = loadTexture(mBackground); + final int program = buildProgram(sSimpleVS, sSimpleFS); + + final int attribPosition = glGetAttribLocation(program, "position"); + final int attribTexCoords = glGetAttribLocation(program, "texCoords"); + final int uniformTexture = glGetUniformLocation(program, "texture"); + final int uniformProjection = glGetUniformLocation(program, "projection"); + + checkGlError(); + + glViewport(0, 0, frame.width(), frame.height()); + glBindTexture(GL_TEXTURE_2D, texture); + + glUseProgram(program); + glEnableVertexAttribArray(attribPosition); + glEnableVertexAttribArray(attribTexCoords); + glUniform1i(uniformTexture, 0); + glUniformMatrix4fv(uniformProjection, 1, false, ortho.getArray(), 0); + + checkGlError(); + + if (w < 0 || h < 0) { + glClearColor(0.0f, 0.0f, 0.0f, 0.0f); + glClear(GL_COLOR_BUFFER_BIT); + } + + // drawQuad + triangleVertices.position(TRIANGLE_VERTICES_DATA_POS_OFFSET); + glVertexAttribPointer(attribPosition, 3, GL_FLOAT, false, + TRIANGLE_VERTICES_DATA_STRIDE_BYTES, triangleVertices); + + triangleVertices.position(TRIANGLE_VERTICES_DATA_UV_OFFSET); + glVertexAttribPointer(attribTexCoords, 3, GL_FLOAT, false, + TRIANGLE_VERTICES_DATA_STRIDE_BYTES, triangleVertices); + + glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); + + if (!mEgl.eglSwapBuffers(mEglDisplay, mEglSurface)) { + throw new RuntimeException("Cannot swap buffers"); + } + checkEglError(); + + finishGL(); + } + + private FloatBuffer createMesh(int left, int top, float right, float bottom) { + final float[] verticesData = { + // X, Y, Z, U, V + left, bottom, 0.0f, 0.0f, 1.0f, + right, bottom, 0.0f, 1.0f, 1.0f, + left, top, 0.0f, 0.0f, 0.0f, + right, top, 0.0f, 1.0f, 0.0f, + }; + + final int bytes = verticesData.length * FLOAT_SIZE_BYTES; + final FloatBuffer triangleVertices = ByteBuffer.allocateDirect(bytes).order( + ByteOrder.nativeOrder()).asFloatBuffer(); + triangleVertices.put(verticesData).position(0); + return triangleVertices; + } + + private int loadTexture(Bitmap bitmap) { + int[] textures = new int[1]; + + glActiveTexture(GL_TEXTURE0); + glGenTextures(1, textures, 0); + checkGlError(); + + int texture = textures[0]; + glBindTexture(GL_TEXTURE_2D, texture); + checkGlError(); + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + + GLUtils.texImage2D(GL_TEXTURE_2D, 0, GL_RGBA, bitmap, GL_UNSIGNED_BYTE, 0); + checkGlError(); + + bitmap.recycle(); + + return texture; + } + + private int buildProgram(String vertex, String fragment) { + int vertexShader = buildShader(vertex, GL_VERTEX_SHADER); + if (vertexShader == 0) return 0; + + int fragmentShader = buildShader(fragment, GL_FRAGMENT_SHADER); + if (fragmentShader == 0) return 0; + + int program = glCreateProgram(); + glAttachShader(program, vertexShader); + checkGlError(); + + glAttachShader(program, fragmentShader); + checkGlError(); + + glLinkProgram(program); + checkGlError(); + + int[] status = new int[1]; + glGetProgramiv(program, GL_LINK_STATUS, status, 0); + if (status[0] != GL_TRUE) { + String error = glGetProgramInfoLog(program); + Log.d(GL_LOG_TAG, "Error while linking program:\n" + error); + glDeleteShader(vertexShader); + glDeleteShader(fragmentShader); + glDeleteProgram(program); + return 0; + } + + return program; + } + + private int buildShader(String source, int type) { + int shader = glCreateShader(type); + + glShaderSource(shader, source); + checkGlError(); + + glCompileShader(shader); + checkGlError(); + + int[] status = new int[1]; + glGetShaderiv(shader, GL_COMPILE_STATUS, status, 0); + if (status[0] != GL_TRUE) { + String error = glGetShaderInfoLog(shader); + Log.d(GL_LOG_TAG, "Error while compiling shader:\n" + error); + glDeleteShader(shader); + return 0; + } + + return shader; + } + + private void checkEglError() { + int error = mEgl.eglGetError(); + if (error != EGL_SUCCESS) { + Log.w(GL_LOG_TAG, "EGL error = " + GLUtils.getEGLErrorString(error)); + } + } + + private void checkGlError() { + int error = glGetError(); + if (error != GL_NO_ERROR) { + Log.w(GL_LOG_TAG, "GL error = 0x" + Integer.toHexString(error), new Throwable()); + } + } + + private void finishGL() { + mEgl.eglDestroyContext(mEglDisplay, mEglContext); + mEgl.eglDestroySurface(mEglDisplay, mEglSurface); + } + + private void initGL(SurfaceHolder surfaceHolder) { + mEgl = (EGL10) EGLContext.getEGL(); + + mEglDisplay = mEgl.eglGetDisplay(EGL_DEFAULT_DISPLAY); + if (mEglDisplay == EGL_NO_DISPLAY) { + throw new RuntimeException("eglGetDisplay failed " + + GLUtils.getEGLErrorString(mEgl.eglGetError())); + } + + int[] version = new int[2]; + if (!mEgl.eglInitialize(mEglDisplay, version)) { + throw new RuntimeException("eglInitialize failed " + + GLUtils.getEGLErrorString(mEgl.eglGetError())); + } + + mEglConfig = chooseEglConfig(); + if (mEglConfig == null) { + throw new RuntimeException("eglConfig not initialized"); + } + + mEglContext = createContext(mEgl, mEglDisplay, mEglConfig); + + mEglSurface = mEgl.eglCreateWindowSurface(mEglDisplay, mEglConfig, surfaceHolder, null); + + if (mEglSurface == null || mEglSurface == EGL_NO_SURFACE) { + int error = mEgl.eglGetError(); + if (error == EGL_BAD_NATIVE_WINDOW) { + Log.e(GL_LOG_TAG, "createWindowSurface returned EGL_BAD_NATIVE_WINDOW."); + return; + } + throw new RuntimeException("createWindowSurface failed " + + GLUtils.getEGLErrorString(error)); + } + + if (!mEgl.eglMakeCurrent(mEglDisplay, mEglSurface, mEglSurface, mEglContext)) { + throw new RuntimeException("eglMakeCurrent failed " + + GLUtils.getEGLErrorString(mEgl.eglGetError())); + } + + mGL = mEglContext.getGL(); + } + + + EGLContext createContext(EGL10 egl, EGLDisplay eglDisplay, EGLConfig eglConfig) { + int[] attrib_list = { EGL_CONTEXT_CLIENT_VERSION, 2, EGL_NONE }; + return egl.eglCreateContext(eglDisplay, eglConfig, EGL_NO_CONTEXT, attrib_list); + } + + private EGLConfig chooseEglConfig() { + int[] configsCount = new int[1]; + EGLConfig[] configs = new EGLConfig[1]; + int[] configSpec = getConfig(); + if (!mEgl.eglChooseConfig(mEglDisplay, configSpec, configs, 1, configsCount)) { + throw new IllegalArgumentException("eglChooseConfig failed " + + GLUtils.getEGLErrorString(mEgl.eglGetError())); + } else if (configsCount[0] > 0) { + return configs[0]; + } + return null; + } + + private int[] getConfig() { + return new int[] { + EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, + EGL_RED_SIZE, 8, + EGL_GREEN_SIZE, 8, + EGL_BLUE_SIZE, 8, + EGL_ALPHA_SIZE, 0, + EGL_DEPTH_SIZE, 0, + EGL_STENCIL_SIZE, 0, + EGL_NONE + }; } } } diff --git a/packages/SystemUI/src/com/android/systemui/recent/Choreographer.java b/packages/SystemUI/src/com/android/systemui/recent/Choreographer.java index 2d327c4..9749a1d 100644 --- a/packages/SystemUI/src/com/android/systemui/recent/Choreographer.java +++ b/packages/SystemUI/src/com/android/systemui/recent/Choreographer.java @@ -29,6 +29,7 @@ import android.view.View; // should group this into a multi-property animation private static final int OPEN_DURATION = 136; private static final int CLOSE_DURATION = 250; + private static final int SCRIM_DURATION = 400; private static final String TAG = RecentsPanelView.TAG; private static final boolean DEBUG = RecentsPanelView.DEBUG; @@ -71,12 +72,14 @@ import android.view.View; posAnim.setInterpolator(appearing ? new android.view.animation.DecelerateInterpolator(2.5f) : new android.view.animation.AccelerateInterpolator(2.5f)); + posAnim.setDuration(appearing ? OPEN_DURATION : CLOSE_DURATION); Animator glowAnim = ObjectAnimator.ofFloat(mContentView, "alpha", mContentView.getAlpha(), appearing ? 1.0f : 0.0f); glowAnim.setInterpolator(appearing ? new android.view.animation.AccelerateInterpolator(1.0f) : new android.view.animation.DecelerateInterpolator(1.0f)); + glowAnim.setDuration(appearing ? OPEN_DURATION : CLOSE_DURATION); mContentAnim = new AnimatorSet(); final Builder builder = mContentAnim.play(glowAnim).with(posAnim); @@ -84,9 +87,9 @@ import android.view.View; if (background != null) { Animator bgAnim = ObjectAnimator.ofInt(background, "alpha", appearing ? 0 : 255, appearing ? 255 : 0); + bgAnim.setDuration(appearing ? SCRIM_DURATION : CLOSE_DURATION); builder.with(bgAnim); } - mContentAnim.setDuration(appearing ? OPEN_DURATION : CLOSE_DURATION); mContentAnim.addListener(this); if (mListener != null) { mContentAnim.addListener(mListener); diff --git a/packages/SystemUI/src/com/android/systemui/recent/RecentsHorizontalScrollView.java b/packages/SystemUI/src/com/android/systemui/recent/RecentsHorizontalScrollView.java index 36f1659..8da2db6 100644 --- a/packages/SystemUI/src/com/android/systemui/recent/RecentsHorizontalScrollView.java +++ b/packages/SystemUI/src/com/android/systemui/recent/RecentsHorizontalScrollView.java @@ -120,6 +120,9 @@ public class RecentsHorizontalScrollView extends HorizontalScrollView } public void onBeginDrag(View v) { + // We do this so the underlying ScrollView knows that it won't get + // the chance to intercept events anymore + requestDisallowInterceptTouchEvent(true); } public View getChildAtPosition(MotionEvent ev) { diff --git a/packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java b/packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java index 8c03ef8..9cc2c29 100644 --- a/packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java +++ b/packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java @@ -39,7 +39,6 @@ import android.graphics.RectF; import android.graphics.Shader.TileMode; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; -import android.graphics.drawable.LayerDrawable; import android.net.Uri; import android.os.AsyncTask; import android.os.Handler; @@ -497,7 +496,7 @@ public class RecentsPanelView extends RelativeLayout synchronized (ad) { ad.mLabel = label; ad.mIcon = icon; - ad.setThumbnail(thumbs.mainThumbnail); + ad.setThumbnail(thumbs != null ? thumbs.mainThumbnail : null); } } @@ -591,7 +590,7 @@ public class RecentsPanelView extends RelativeLayout ActivityDescription ad = descriptions.get(i); loadActivityDescription(ad, i); long now = SystemClock.uptimeMillis(); - nextTime += 200; + nextTime += 150; if (nextTime > now) { try { Thread.sleep(nextTime-now); diff --git a/packages/SystemUI/src/com/android/systemui/recent/RecentsVerticalScrollView.java b/packages/SystemUI/src/com/android/systemui/recent/RecentsVerticalScrollView.java index 959328f..b1a30d9 100644 --- a/packages/SystemUI/src/com/android/systemui/recent/RecentsVerticalScrollView.java +++ b/packages/SystemUI/src/com/android/systemui/recent/RecentsVerticalScrollView.java @@ -135,6 +135,9 @@ public class RecentsVerticalScrollView extends ScrollView implements SwipeHelper } public void onBeginDrag(View v) { + // We do this so the underlying ScrollView knows that it won't get + // the chance to intercept events anymore + requestDisallowInterceptTouchEvent(true); } public View getChildAtPosition(MotionEvent ev) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBar.java index 61da1f5..37c77f6 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBar.java @@ -16,6 +16,7 @@ package com.android.systemui.statusbar; +import android.app.ActivityManager; import android.app.Service; import android.content.Context; import android.content.Intent; @@ -26,6 +27,7 @@ import android.os.RemoteException; import android.os.ServiceManager; import android.util.Slog; import android.util.Log; +import android.view.Display; import android.view.Gravity; import android.view.View; import android.view.ViewGroup; @@ -117,6 +119,15 @@ public abstract class StatusBar extends SystemUI implements CommandQueue.Callbac | WindowManager.LayoutParams.FLAG_TOUCHABLE_WHEN_WAKING | WindowManager.LayoutParams.FLAG_SPLIT_TOUCH, PixelFormat.RGBX_8888); + + // the status bar should be in an overlay if possible + final Display defaultDisplay + = ((WindowManager)mContext.getSystemService(Context.WINDOW_SERVICE)) + .getDefaultDisplay(); + if (ActivityManager.isHighEndGfx(defaultDisplay)) { + lp.flags |= WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED; + } + lp.gravity = getStatusBarGravity(); lp.setTitle("StatusBar"); lp.packageName = mContext.getPackageName(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index fe9eceb..dd8e3e8 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -475,6 +475,10 @@ public class PhoneStatusBar extends StatusBar { | WindowManager.LayoutParams.FLAG_SPLIT_TOUCH | WindowManager.LayoutParams.FLAG_SLIPPERY, PixelFormat.OPAQUE); + // this will allow the navbar to run in an overlay on devices that support this + if (ActivityManager.isHighEndGfx(mDisplay)) { + lp.flags |= WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED; + } lp.setTitle("NavigationBar"); switch (rotation) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java index 6368d1d..840087c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java @@ -60,6 +60,7 @@ public class KeyButtonView extends ImageView { Drawable mGlowBG; float mGlowAlpha = 0f, mGlowScale = 1f, mDrawingAlpha = 1f; boolean mSupportsLongpress = true; + RectF mRect = new RectF(0f,0f,0f,0f); Runnable mCheckLongPress = new Runnable() { public void run() { @@ -120,8 +121,9 @@ public class KeyButtonView extends ImageView { mGlowBG.setAlpha((int)(mGlowAlpha * 255)); mGlowBG.draw(canvas); canvas.restore(); - - canvas.saveLayerAlpha(null, (int)(mDrawingAlpha * 255), Canvas.ALL_SAVE_FLAG); + mRect.right = w; + mRect.bottom = h; + canvas.saveLayerAlpha(mRect, (int)(mDrawingAlpha * 255), Canvas.ALL_SAVE_FLAG); } super.onDraw(canvas); if (mGlowBG != null) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java index 16db1d7..60dfdac 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java @@ -225,7 +225,7 @@ public class NetworkController extends BroadcastReceiver { public void addSignalCluster(SignalCluster cluster) { mSignalClusters.add(cluster); cluster.setWifiIndicators( - mWifiEnabled, + mWifiConnected, // only show wifi in the cluster if connected mWifiIconId, mWifiActivityIconId); cluster.setMobileDataIndicators( @@ -862,7 +862,7 @@ public class NetworkController extends BroadcastReceiver { // NB: the mLast*s will be updated later for (SignalCluster cluster : mSignalClusters) { cluster.setWifiIndicators( - mWifiEnabled, + mWifiConnected, // only show wifi in the cluster if connected mWifiIconId, mWifiActivityIconId); cluster.setMobileDataIndicators( diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java index 76dec5e..dd59667 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java @@ -181,7 +181,9 @@ public class TabletStatusBar extends StatusBar implements private InputMethodsPanel mInputMethodsPanel; private CompatModePanel mCompatModePanel; - int mSystemUiVisibility = 0; + private int mSystemUiVisibility = 0; + // used to notify status bar for suppressing notification LED + private boolean mPanelSlightlyVisible; public Context getContext() { return mContext; } @@ -642,6 +644,7 @@ public class TabletStatusBar extends StatusBar implements editor.putBoolean(Prefs.DO_NOT_DISTURB_PREF, false); editor.apply(); animateCollapse(); + visibilityChanged(false); } }); } @@ -740,6 +743,7 @@ public class TabletStatusBar extends StatusBar implements case MSG_HIDE_CHROME: if (DEBUG) Slog.d(TAG, "showing shadows (lights out)"); animateCollapse(); + visibilityChanged(false); mBarContents.setVisibility(View.GONE); mShadow.setVisibility(View.VISIBLE); mSystemUiVisibility |= View.SYSTEM_UI_FLAG_LOW_PROFILE; @@ -752,15 +756,6 @@ public class TabletStatusBar extends StatusBar implements } } - private void notifyLightsChanged(boolean shown) { - try { - Slog.d(TAG, "lights " + (shown?"on":"out")); - mWindowManager.statusBarVisibilityChanged( - shown ? View.STATUS_BAR_VISIBLE : View.STATUS_BAR_HIDDEN); - } catch (RemoteException ex) { - } - } - public void addIcon(String slot, int index, int viewIndex, StatusBarIcon icon) { if (DEBUG) Slog.d(TAG, "addIcon(" + slot + ") -> " + icon); } @@ -934,6 +929,7 @@ public class TabletStatusBar extends StatusBar implements if ((state & StatusBarManager.DISABLE_EXPAND) != 0) { Slog.i(TAG, "DISABLE_EXPAND: yes"); animateCollapse(); + visibilityChanged(false); } } if ((diff & StatusBarManager.DISABLE_NOTIFICATION_ICONS) != 0) { @@ -1036,6 +1032,24 @@ public class TabletStatusBar extends StatusBar implements } } + /** + * The LEDs are turned o)ff when the notification panel is shown, even just a little bit. + * This was added last-minute and is inconsistent with the way the rest of the notifications + * are handled, because the notification isn't really cancelled. The lights are just + * turned off. If any other notifications happen, the lights will turn back on. Steve says + * this is what he wants. (see bug 1131461) + */ + void visibilityChanged(boolean visible) { + if (mPanelSlightlyVisible != visible) { + mPanelSlightlyVisible = visible; + try { + mBarService.onPanelRevealed(); + } catch (RemoteException ex) { + // Won't fail unless the world has ended. + } + } + } + private void notifyUiVisibilityChanged() { try { mWindowManager.statusBarVisibilityChanged(mSystemUiVisibility); @@ -1305,6 +1319,7 @@ public class TabletStatusBar extends StatusBar implements // close the shade if it was open animateCollapse(); + visibilityChanged(false); // If this click was on the intruder alert, hide that instead // mHandler.sendEmptyMessage(MSG_HIDE_INTRUDER); @@ -1383,6 +1398,7 @@ public class TabletStatusBar extends StatusBar implements // require a little more oomph once we're already in peekaboo mode if (mVT.getYVelocity() < -mNotificationFlingVelocity) { animateExpand(); + visibilityChanged(true); hilite(false); mVT.recycle(); mVT = null; @@ -1400,6 +1416,7 @@ public class TabletStatusBar extends StatusBar implements // dragging off the bottom doesn't count && (int)event.getY() < v.getBottom()) { animateExpand(); + visibilityChanged(true); v.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED); v.playSoundEffect(SoundEffectConstants.CLICK); } @@ -1783,6 +1800,7 @@ public class TabletStatusBar extends StatusBar implements // system process is dead if we're here. } animateCollapse(); + visibilityChanged(false); } public void userActivity() { |