summaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/DefaultContainerService/res/values-ar/strings.xml24
-rw-r--r--packages/DefaultContainerService/res/values-bg/strings.xml24
-rw-r--r--packages/DefaultContainerService/res/values-ca/strings.xml24
-rw-r--r--packages/DefaultContainerService/res/values-en-rGB/strings.xml24
-rw-r--r--packages/DefaultContainerService/res/values-fa/strings.xml24
-rw-r--r--packages/DefaultContainerService/res/values-fi/strings.xml24
-rw-r--r--packages/DefaultContainerService/res/values-he/strings.xml24
-rw-r--r--packages/DefaultContainerService/res/values-hr/strings.xml24
-rw-r--r--packages/DefaultContainerService/res/values-hu/strings.xml24
-rw-r--r--packages/DefaultContainerService/res/values-id/strings.xml24
-rw-r--r--packages/DefaultContainerService/res/values-lt/strings.xml24
-rw-r--r--packages/DefaultContainerService/res/values-lv/strings.xml24
-rw-r--r--packages/DefaultContainerService/res/values-ro/strings.xml24
-rw-r--r--packages/DefaultContainerService/res/values-sk/strings.xml24
-rw-r--r--packages/DefaultContainerService/res/values-sl/strings.xml24
-rw-r--r--packages/DefaultContainerService/res/values-sr/strings.xml24
-rw-r--r--packages/DefaultContainerService/res/values-th/strings.xml24
-rw-r--r--packages/DefaultContainerService/res/values-tl/strings.xml24
-rw-r--r--packages/DefaultContainerService/res/values-uk/strings.xml24
-rw-r--r--packages/DefaultContainerService/res/values-vi/strings.xml24
-rw-r--r--packages/SettingsProvider/res/values-ar/strings.xml23
-rw-r--r--packages/SettingsProvider/res/values-bg/strings.xml23
-rw-r--r--packages/SettingsProvider/res/values-ca/strings.xml23
-rw-r--r--packages/SettingsProvider/res/values-en-rGB/strings.xml23
-rw-r--r--packages/SettingsProvider/res/values-fa/strings.xml23
-rw-r--r--packages/SettingsProvider/res/values-fi/strings.xml23
-rw-r--r--packages/SettingsProvider/res/values-he/strings.xml23
-rw-r--r--packages/SettingsProvider/res/values-hr/strings.xml23
-rw-r--r--packages/SettingsProvider/res/values-hu/strings.xml23
-rw-r--r--packages/SettingsProvider/res/values-id/strings.xml23
-rw-r--r--packages/SettingsProvider/res/values-lt/strings.xml23
-rw-r--r--packages/SettingsProvider/res/values-lv/strings.xml23
-rw-r--r--packages/SettingsProvider/res/values-ro/strings.xml23
-rw-r--r--packages/SettingsProvider/res/values-sk/strings.xml23
-rw-r--r--packages/SettingsProvider/res/values-sl/strings.xml23
-rw-r--r--packages/SettingsProvider/res/values-sr/strings.xml23
-rw-r--r--packages/SettingsProvider/res/values-th/strings.xml23
-rw-r--r--packages/SettingsProvider/res/values-tl/strings.xml23
-rw-r--r--packages/SettingsProvider/res/values-uk/strings.xml23
-rw-r--r--packages/SettingsProvider/res/values-vi/strings.xml23
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java38
-rw-r--r--packages/SystemUI/res/drawable-mdpi/ic_sysbar_back.pngbin979 -> 0 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_default.pngbin0 -> 1108 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_ime_default.pngbin0 -> 738 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_ime_pressed.pngbin0 -> 1630 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_pressed.pngbin0 -> 2223 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/ic_sysbar_battery_mini.pngbin359 -> 0 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/ic_sysbar_home.pngbin953 -> 0 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/ic_sysbar_home_default.pngbin0 -> 958 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/ic_sysbar_home_pressed.pngbin0 -> 1787 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/ic_sysbar_ime_default.pngbin384 -> 633 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/ic_sysbar_ime_pressed.pngbin0 -> 1950 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/ic_sysbar_menu.pngbin301 -> 0 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/ic_sysbar_menu_default.pngbin0 -> 456 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/ic_sysbar_menu_pressed.pngbin0 -> 1306 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/ic_sysbar_recent.pngbin477 -> 0 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/ic_sysbar_recent_default.pngbin0 -> 416 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/ic_sysbar_recent_pressed.pngbin0 -> 1114 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/ic_sysbar_wifi_mini.pngbin459 -> 0 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_signal_0.pngbin381 -> 409 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_signal_0_fully.pngbin381 -> 409 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1.pngbin654 -> 431 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1_fully.pngbin639 -> 431 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1x.pngbin0 -> 234 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_signal_2.pngbin741 -> 458 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_signal_2_fully.pngbin734 -> 458 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3.pngbin789 -> 450 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3_fully.pngbin763 -> 450 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3g.pngbin0 -> 258 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_signal_4.pngbin794 -> 424 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_signal_4_fully.pngbin806 -> 424 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_signal_edge.pngbin0 -> 237 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_signal_flightmode.pngbin745 -> 517 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_signal_gprs.pngbin0 -> 234 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_signal_hsdpa.pngbin0 -> 234 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_signal_roam.pngbin0 -> 236 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_0.pngbin3343 -> 554 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_0_fully.pngbin0 -> 554 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_1.pngbin771 -> 492 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_1_fully.pngbin1096 -> 492 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_2.pngbin3734 -> 554 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_2_fully.pngbin3744 -> 554 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_3.pngbin3827 -> 616 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_3_fully.pngbin3814 -> 616 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_4.pngbin3967 -> 497 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_4_fully.pngbin3922 -> 497 bytes
-rw-r--r--packages/SystemUI/res/drawable/ic_sysbar_back.xml (renamed from packages/SystemUI/res/drawable/status_bar_back.xml)4
-rw-r--r--packages/SystemUI/res/drawable/ic_sysbar_home.xml (renamed from packages/SystemUI/res/drawable/status_bar_home.xml)4
-rw-r--r--packages/SystemUI/res/drawable/ic_sysbar_ime.xml (renamed from packages/SystemUI/res/drawable/status_bar_menu.xml)4
-rw-r--r--[-rwxr-xr-x]packages/SystemUI/res/drawable/ic_sysbar_menu.xml (renamed from packages/SystemUI/res/drawable/status_bar_recent.xml)4
-rwxr-xr-xpackages/SystemUI/res/drawable/ic_sysbar_recent.xml21
-rw-r--r--packages/SystemUI/res/drawable/status_bar_ticker_background.xml (renamed from packages/SystemUI/res/drawable/ic_sysbar_icon_bg.xml)18
-rw-r--r--packages/SystemUI/res/drawable/ticker_background.xml27
-rw-r--r--packages/SystemUI/res/layout-xlarge/status_bar.xml158
-rw-r--r--packages/SystemUI/res/layout-xlarge/status_bar_latest_event.xml13
-rw-r--r--packages/SystemUI/res/layout-xlarge/sysbar_panel_notifications.xml63
-rw-r--r--packages/SystemUI/res/layout-xlarge/ticker.xml42
-rw-r--r--packages/SystemUI/res/layout-xlarge/ticker_compat.xml26
-rw-r--r--packages/SystemUI/res/layout/status_bar_expanded.xml1
-rw-r--r--packages/SystemUI/res/values-ar/strings.xml49
-rw-r--r--packages/SystemUI/res/values-bg/strings.xml49
-rw-r--r--packages/SystemUI/res/values-ca/strings.xml49
-rw-r--r--packages/SystemUI/res/values-en-rGB/strings.xml49
-rw-r--r--packages/SystemUI/res/values-fa/strings.xml49
-rw-r--r--packages/SystemUI/res/values-fi/strings.xml49
-rw-r--r--packages/SystemUI/res/values-he/strings.xml49
-rw-r--r--packages/SystemUI/res/values-hr/strings.xml49
-rw-r--r--packages/SystemUI/res/values-hu/strings.xml49
-rw-r--r--packages/SystemUI/res/values-id/strings.xml49
-rw-r--r--packages/SystemUI/res/values-lt/strings.xml49
-rw-r--r--packages/SystemUI/res/values-lv/strings.xml49
-rw-r--r--packages/SystemUI/res/values-ro/strings.xml49
-rw-r--r--packages/SystemUI/res/values-sk/strings.xml49
-rw-r--r--packages/SystemUI/res/values-sl/strings.xml49
-rw-r--r--packages/SystemUI/res/values-sr/strings.xml49
-rw-r--r--packages/SystemUI/res/values-th/strings.xml49
-rw-r--r--packages/SystemUI/res/values-tl/strings.xml49
-rw-r--r--packages/SystemUI/res/values-uk/strings.xml49
-rw-r--r--packages/SystemUI/res/values-vi/strings.xml49
-rw-r--r--packages/SystemUI/res/values-xlarge/config.xml3
-rw-r--r--packages/SystemUI/res/values-xlarge/dimens.xml29
-rw-r--r--packages/SystemUI/res/values/colors.xml1
-rw-r--r--packages/SystemUI/res/values/config.xml3
-rw-r--r--packages/SystemUI/src/com/android/systemui/recent/RecentApplicationsActivity.java11
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java6
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java145
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanel.java31
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/tablet/RecentAppsPanel.java10
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java189
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletTicker.java126
-rwxr-xr-xpackages/TtsService/src/android/tts/TtsService.java50
-rw-r--r--packages/VpnServices/res/values-ar/strings.xml8
-rw-r--r--packages/VpnServices/res/values-bg/strings.xml8
-rw-r--r--packages/VpnServices/res/values-ca/strings.xml8
-rw-r--r--packages/VpnServices/res/values-en-rGB/strings.xml8
-rw-r--r--packages/VpnServices/res/values-fa/strings.xml8
-rw-r--r--packages/VpnServices/res/values-fi/strings.xml8
-rw-r--r--packages/VpnServices/res/values-he/strings.xml8
-rw-r--r--packages/VpnServices/res/values-hr/strings.xml8
-rw-r--r--packages/VpnServices/res/values-hu/strings.xml8
-rw-r--r--packages/VpnServices/res/values-id/strings.xml8
-rw-r--r--packages/VpnServices/res/values-lt/strings.xml8
-rw-r--r--packages/VpnServices/res/values-lv/strings.xml8
-rw-r--r--packages/VpnServices/res/values-ro/strings.xml8
-rw-r--r--packages/VpnServices/res/values-sk/strings.xml8
-rw-r--r--packages/VpnServices/res/values-sl/strings.xml8
-rw-r--r--packages/VpnServices/res/values-sr/strings.xml8
-rw-r--r--packages/VpnServices/res/values-th/strings.xml8
-rw-r--r--packages/VpnServices/res/values-tl/strings.xml8
-rw-r--r--packages/VpnServices/res/values-uk/strings.xml8
-rw-r--r--packages/VpnServices/res/values-vi/strings.xml8
154 files changed, 2752 insertions, 363 deletions
diff --git a/packages/DefaultContainerService/res/values-ar/strings.xml b/packages/DefaultContainerService/res/values-ar/strings.xml
new file mode 100644
index 0000000..b9c27b7
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-ar/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- outdated translation 2260781993795858516 --> <string name="service_name" msgid="4841491635055379553">"خدمة حاوية الوسائط"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-bg/strings.xml b/packages/DefaultContainerService/res/values-bg/strings.xml
new file mode 100644
index 0000000..3546c03
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-bg/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- outdated translation 2260781993795858516 --> <string name="service_name" msgid="4841491635055379553">"Услуга за контейнер за мултимедия"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-ca/strings.xml b/packages/DefaultContainerService/res/values-ca/strings.xml
new file mode 100644
index 0000000..218de71
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-ca/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- outdated translation 2260781993795858516 --> <string name="service_name" msgid="4841491635055379553">"Servei de contenidor multimèdia"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-en-rGB/strings.xml b/packages/DefaultContainerService/res/values-en-rGB/strings.xml
new file mode 100644
index 0000000..a84e111
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-en-rGB/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- outdated translation 2260781993795858516 --> <string name="service_name" msgid="4841491635055379553">"Media Container Service"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-fa/strings.xml b/packages/DefaultContainerService/res/values-fa/strings.xml
new file mode 100644
index 0000000..ac70971
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-fa/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- outdated translation 2260781993795858516 --> <string name="service_name" msgid="4841491635055379553">"سرویس محفظه رسانه"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-fi/strings.xml b/packages/DefaultContainerService/res/values-fi/strings.xml
new file mode 100644
index 0000000..a012b61
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-fi/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- outdated translation 2260781993795858516 --> <string name="service_name" msgid="4841491635055379553">"Media Container -palvelu"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-he/strings.xml b/packages/DefaultContainerService/res/values-he/strings.xml
new file mode 100644
index 0000000..ede8178
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-he/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- outdated translation 2260781993795858516 --> <string name="service_name" msgid="4841491635055379553">"שירות גורם מכיל של מדיה"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-hr/strings.xml b/packages/DefaultContainerService/res/values-hr/strings.xml
new file mode 100644
index 0000000..1ed69b4
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-hr/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- outdated translation 2260781993795858516 --> <string name="service_name" msgid="4841491635055379553">"Usluga spremnika za medije"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-hu/strings.xml b/packages/DefaultContainerService/res/values-hu/strings.xml
new file mode 100644
index 0000000..0446603
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-hu/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- outdated translation 2260781993795858516 --> <string name="service_name" msgid="4841491635055379553">"Médiatároló szolgáltatás"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-id/strings.xml b/packages/DefaultContainerService/res/values-id/strings.xml
new file mode 100644
index 0000000..2f830b1
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-id/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- outdated translation 2260781993795858516 --> <string name="service_name" msgid="4841491635055379553">"Layanan Kontainer Media"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-lt/strings.xml b/packages/DefaultContainerService/res/values-lt/strings.xml
new file mode 100644
index 0000000..0ba10a4
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-lt/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- outdated translation 2260781993795858516 --> <string name="service_name" msgid="4841491635055379553">"Medijos konteinerio paslauga"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-lv/strings.xml b/packages/DefaultContainerService/res/values-lv/strings.xml
new file mode 100644
index 0000000..a84e111
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-lv/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- outdated translation 2260781993795858516 --> <string name="service_name" msgid="4841491635055379553">"Media Container Service"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-ro/strings.xml b/packages/DefaultContainerService/res/values-ro/strings.xml
new file mode 100644
index 0000000..a84e111
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-ro/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- outdated translation 2260781993795858516 --> <string name="service_name" msgid="4841491635055379553">"Media Container Service"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-sk/strings.xml b/packages/DefaultContainerService/res/values-sk/strings.xml
new file mode 100644
index 0000000..a84e111
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-sk/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- outdated translation 2260781993795858516 --> <string name="service_name" msgid="4841491635055379553">"Media Container Service"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-sl/strings.xml b/packages/DefaultContainerService/res/values-sl/strings.xml
new file mode 100644
index 0000000..a84e111
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-sl/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- outdated translation 2260781993795858516 --> <string name="service_name" msgid="4841491635055379553">"Media Container Service"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-sr/strings.xml b/packages/DefaultContainerService/res/values-sr/strings.xml
new file mode 100644
index 0000000..7400eab
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-sr/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- outdated translation 2260781993795858516 --> <string name="service_name" msgid="4841491635055379553">"Услуга контејнера за медије"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-th/strings.xml b/packages/DefaultContainerService/res/values-th/strings.xml
new file mode 100644
index 0000000..fac3585
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-th/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- outdated translation 2260781993795858516 --> <string name="service_name" msgid="4841491635055379553">"บริการพื้นที่จัดเก็บสื่อ"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-tl/strings.xml b/packages/DefaultContainerService/res/values-tl/strings.xml
new file mode 100644
index 0000000..e080364
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-tl/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- outdated translation 2260781993795858516 --> <string name="service_name" msgid="4841491635055379553">"Serbisyo ng Media Container"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-uk/strings.xml b/packages/DefaultContainerService/res/values-uk/strings.xml
new file mode 100644
index 0000000..7becba1
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-uk/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- outdated translation 2260781993795858516 --> <string name="service_name" msgid="4841491635055379553">"Служба зберіг. медіа"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-vi/strings.xml b/packages/DefaultContainerService/res/values-vi/strings.xml
new file mode 100644
index 0000000..a22d61d
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-vi/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- outdated translation 2260781993795858516 --> <string name="service_name" msgid="4841491635055379553">"Dịch vụ Bộ chứa Phương tiện"</string>
+</resources>
diff --git a/packages/SettingsProvider/res/values-ar/strings.xml b/packages/SettingsProvider/res/values-ar/strings.xml
new file mode 100644
index 0000000..ab1b808
--- /dev/null
+++ b/packages/SettingsProvider/res/values-ar/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2007, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4567566098528588863">"تخزين الإعدادات"</string>
+</resources>
diff --git a/packages/SettingsProvider/res/values-bg/strings.xml b/packages/SettingsProvider/res/values-bg/strings.xml
new file mode 100644
index 0000000..f3d21d8
--- /dev/null
+++ b/packages/SettingsProvider/res/values-bg/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2007, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4567566098528588863">"Настройки за хранилище"</string>
+</resources>
diff --git a/packages/SettingsProvider/res/values-ca/strings.xml b/packages/SettingsProvider/res/values-ca/strings.xml
new file mode 100644
index 0000000..9d6ac7a
--- /dev/null
+++ b/packages/SettingsProvider/res/values-ca/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2007, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4567566098528588863">"Configuració de l\'emmagatzematge"</string>
+</resources>
diff --git a/packages/SettingsProvider/res/values-en-rGB/strings.xml b/packages/SettingsProvider/res/values-en-rGB/strings.xml
new file mode 100644
index 0000000..c19fdd7
--- /dev/null
+++ b/packages/SettingsProvider/res/values-en-rGB/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2007, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4567566098528588863">"Settings Storage"</string>
+</resources>
diff --git a/packages/SettingsProvider/res/values-fa/strings.xml b/packages/SettingsProvider/res/values-fa/strings.xml
new file mode 100644
index 0000000..97fe0ab
--- /dev/null
+++ b/packages/SettingsProvider/res/values-fa/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2007, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4567566098528588863">"تنظیم محل ذخیره"</string>
+</resources>
diff --git a/packages/SettingsProvider/res/values-fi/strings.xml b/packages/SettingsProvider/res/values-fi/strings.xml
new file mode 100644
index 0000000..83c7f66
--- /dev/null
+++ b/packages/SettingsProvider/res/values-fi/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2007, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4567566098528588863">"Asetuksien tallennus"</string>
+</resources>
diff --git a/packages/SettingsProvider/res/values-he/strings.xml b/packages/SettingsProvider/res/values-he/strings.xml
new file mode 100644
index 0000000..ad2eaf4
--- /dev/null
+++ b/packages/SettingsProvider/res/values-he/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2007, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4567566098528588863">"אחסון הגדרות"</string>
+</resources>
diff --git a/packages/SettingsProvider/res/values-hr/strings.xml b/packages/SettingsProvider/res/values-hr/strings.xml
new file mode 100644
index 0000000..87f1270
--- /dev/null
+++ b/packages/SettingsProvider/res/values-hr/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2007, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4567566098528588863">"Postavke pohrane"</string>
+</resources>
diff --git a/packages/SettingsProvider/res/values-hu/strings.xml b/packages/SettingsProvider/res/values-hu/strings.xml
new file mode 100644
index 0000000..dab1b17
--- /dev/null
+++ b/packages/SettingsProvider/res/values-hu/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2007, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4567566098528588863">"Beállítástároló"</string>
+</resources>
diff --git a/packages/SettingsProvider/res/values-id/strings.xml b/packages/SettingsProvider/res/values-id/strings.xml
new file mode 100644
index 0000000..bed20eb
--- /dev/null
+++ b/packages/SettingsProvider/res/values-id/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2007, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4567566098528588863">"Setelan Penyimpanan"</string>
+</resources>
diff --git a/packages/SettingsProvider/res/values-lt/strings.xml b/packages/SettingsProvider/res/values-lt/strings.xml
new file mode 100644
index 0000000..5b4432f
--- /dev/null
+++ b/packages/SettingsProvider/res/values-lt/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2007, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4567566098528588863">"Nustatymų saugykla"</string>
+</resources>
diff --git a/packages/SettingsProvider/res/values-lv/strings.xml b/packages/SettingsProvider/res/values-lv/strings.xml
new file mode 100644
index 0000000..c83580c
--- /dev/null
+++ b/packages/SettingsProvider/res/values-lv/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2007, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4567566098528588863">"Iestatījumu krātuve"</string>
+</resources>
diff --git a/packages/SettingsProvider/res/values-ro/strings.xml b/packages/SettingsProvider/res/values-ro/strings.xml
new file mode 100644
index 0000000..53e9429
--- /dev/null
+++ b/packages/SettingsProvider/res/values-ro/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2007, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4567566098528588863">"Stocare setări"</string>
+</resources>
diff --git a/packages/SettingsProvider/res/values-sk/strings.xml b/packages/SettingsProvider/res/values-sk/strings.xml
new file mode 100644
index 0000000..955c834
--- /dev/null
+++ b/packages/SettingsProvider/res/values-sk/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2007, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4567566098528588863">"Ukladací priestor nastavení"</string>
+</resources>
diff --git a/packages/SettingsProvider/res/values-sl/strings.xml b/packages/SettingsProvider/res/values-sl/strings.xml
new file mode 100644
index 0000000..3d7768d
--- /dev/null
+++ b/packages/SettingsProvider/res/values-sl/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2007, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4567566098528588863">"Shramba nastavitev"</string>
+</resources>
diff --git a/packages/SettingsProvider/res/values-sr/strings.xml b/packages/SettingsProvider/res/values-sr/strings.xml
new file mode 100644
index 0000000..7082761
--- /dev/null
+++ b/packages/SettingsProvider/res/values-sr/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2007, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4567566098528588863">"Подешавања складишта"</string>
+</resources>
diff --git a/packages/SettingsProvider/res/values-th/strings.xml b/packages/SettingsProvider/res/values-th/strings.xml
new file mode 100644
index 0000000..ae8ba6a
--- /dev/null
+++ b/packages/SettingsProvider/res/values-th/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2007, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4567566098528588863">"ที่เก็บข้อมูลการตั้งค่า"</string>
+</resources>
diff --git a/packages/SettingsProvider/res/values-tl/strings.xml b/packages/SettingsProvider/res/values-tl/strings.xml
new file mode 100644
index 0000000..19219ec
--- /dev/null
+++ b/packages/SettingsProvider/res/values-tl/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2007, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4567566098528588863">"Imbakan ng Mga Setting"</string>
+</resources>
diff --git a/packages/SettingsProvider/res/values-uk/strings.xml b/packages/SettingsProvider/res/values-uk/strings.xml
new file mode 100644
index 0000000..900dd07
--- /dev/null
+++ b/packages/SettingsProvider/res/values-uk/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2007, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4567566098528588863">"Сховище налаштувань"</string>
+</resources>
diff --git a/packages/SettingsProvider/res/values-vi/strings.xml b/packages/SettingsProvider/res/values-vi/strings.xml
new file mode 100644
index 0000000..113d7ad
--- /dev/null
+++ b/packages/SettingsProvider/res/values-vi/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2007, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4567566098528588863">"Bộ nhớ Cài đặt"</string>
+</resources>
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
index 6c84afd..d11a18e 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
@@ -61,7 +61,7 @@ public class DatabaseHelper extends SQLiteOpenHelper {
// database gets upgraded properly. At a minimum, please confirm that 'upgradeVersion'
// is properly propagated through your change. Not doing so will result in a loss of user
// settings.
- private static final int DATABASE_VERSION = 61;
+ private static final int DATABASE_VERSION = 62;
private Context mContext;
@@ -793,22 +793,15 @@ public class DatabaseHelper extends SQLiteOpenHelper {
}
if (upgradeVersion == 60) {
- // Increase screen timeout for tablet
- db.beginTransaction();
- SQLiteStatement stmt = null;
- try {
- stmt = db.compileStatement("INSERT OR REPLACE INTO system(name,value)"
- + " VALUES(?,?);");
- loadIntegerSetting(stmt, Settings.System.SCREEN_OFF_TIMEOUT,
- R.integer.def_screen_off_timeout);
- db.setTransactionSuccessful();
- } finally {
- db.endTransaction();
- if (stmt != null) stmt.close();
- }
+ upgradeScreenTimeout(db);
upgradeVersion = 61;
}
+ if (upgradeVersion == 61) {
+ upgradeScreenTimeout(db);
+ upgradeVersion = 62;
+ }
+
// *** Remember to update DATABASE_VERSION above!
if (upgradeVersion != currentVersion) {
@@ -914,6 +907,23 @@ public class DatabaseHelper extends SQLiteOpenHelper {
}
}
+ private void upgradeScreenTimeout(SQLiteDatabase db) {
+ // Change screen timeout to current default
+ db.beginTransaction();
+ SQLiteStatement stmt = null;
+ try {
+ stmt = db.compileStatement("INSERT OR REPLACE INTO system(name,value)"
+ + " VALUES(?,?);");
+ loadIntegerSetting(stmt, Settings.System.SCREEN_OFF_TIMEOUT,
+ R.integer.def_screen_off_timeout);
+ db.setTransactionSuccessful();
+ } finally {
+ db.endTransaction();
+ if (stmt != null)
+ stmt.close();
+ }
+ }
+
/**
* Loads the default set of bookmarked shortcuts from an xml file.
*
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back.png
deleted file mode 100644
index 6baf5ea..0000000
--- a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_default.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_default.png
new file mode 100644
index 0000000..615c8b6
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_default.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_ime_default.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_ime_default.png
new file mode 100644
index 0000000..0122025
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_ime_default.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_ime_pressed.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_ime_pressed.png
new file mode 100644
index 0000000..0786916
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_ime_pressed.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_pressed.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_pressed.png
new file mode 100644
index 0000000..35f9240
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_back_pressed.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_battery_mini.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_battery_mini.png
deleted file mode 100644
index 9ababb7..0000000
--- a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_battery_mini.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_home.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_home.png
deleted file mode 100644
index ed813dc..0000000
--- a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_home.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_home_default.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_home_default.png
new file mode 100644
index 0000000..3eb22df
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_home_default.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_home_pressed.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_home_pressed.png
new file mode 100644
index 0000000..1ce9bd1
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_home_pressed.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_ime_default.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_ime_default.png
index bf33c94..259db7a 100644
--- a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_ime_default.png
+++ b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_ime_default.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_ime_pressed.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_ime_pressed.png
new file mode 100644
index 0000000..993ea55
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_ime_pressed.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_menu.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_menu.png
deleted file mode 100644
index d7775f2..0000000
--- a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_menu.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_menu_default.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_menu_default.png
new file mode 100644
index 0000000..fef2cf9
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_menu_default.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_menu_pressed.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_menu_pressed.png
new file mode 100644
index 0000000..05593bc
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_menu_pressed.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_recent.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_recent.png
deleted file mode 100644
index 178af73..0000000
--- a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_recent.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_recent_default.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_recent_default.png
new file mode 100644
index 0000000..32c2c79
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_recent_default.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_recent_pressed.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_recent_pressed.png
new file mode 100644
index 0000000..142c413
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_recent_pressed.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_wifi_mini.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_wifi_mini.png
deleted file mode 100644
index ffbd2d3..0000000
--- a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_wifi_mini.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_0.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_0.png
index e81cd7c..9216030 100644
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_0.png
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_0.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_0_fully.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_0_fully.png
index e81cd7c..9216030 100644
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_0_fully.png
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_0_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1.png
index c56ae8a..e529f6f 100644
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1.png
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1_fully.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1_fully.png
index bf720cbb..e529f6f 100644
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1_fully.png
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1x.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1x.png
new file mode 100644
index 0000000..02c27ee
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1x.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_2.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_2.png
index 38e3b24..57558ad 100644
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_2.png
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_2.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_2_fully.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_2_fully.png
index 3559497..57558ad 100644
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_2_fully.png
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_2_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3.png
index 6f98e72..e4425b2 100644
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3.png
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3_fully.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3_fully.png
index 8b932a6..e4425b2 100644
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3_fully.png
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3g.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3g.png
new file mode 100644
index 0000000..84ac927
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3g.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_4.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_4.png
index 759631c..09de6b0 100644
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_4.png
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_4.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_4_fully.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_4_fully.png
index 45c4509..09de6b0 100644
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_4_fully.png
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_4_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_edge.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_edge.png
new file mode 100644
index 0000000..13cae40
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_edge.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_flightmode.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_flightmode.png
index da5b02c..690b5f6 100644
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_flightmode.png
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_flightmode.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_gprs.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_gprs.png
new file mode 100644
index 0000000..d0a4fd0
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_gprs.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_hsdpa.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_hsdpa.png
new file mode 100644
index 0000000..05976bd
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_hsdpa.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_roam.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_roam.png
new file mode 100644
index 0000000..2cc3cd6
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_roam.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_0.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_0.png
index 2989939..1c59b2a 100644
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_0.png
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_0.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_0_fully.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_0_fully.png
new file mode 100644
index 0000000..1c59b2a
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_0_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_1.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_1.png
index 6f40cb4..32e9165 100644
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_1.png
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_1.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_1_fully.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_1_fully.png
index 60e3794a..32e9165 100644
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_1_fully.png
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_1_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_2.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_2.png
index ab1b0c6..ea71298 100644
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_2.png
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_2.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_2_fully.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_2_fully.png
index eb25919..ea71298 100644
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_2_fully.png
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_2_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_3.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_3.png
index b574115..869a497 100644
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_3.png
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_3.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_3_fully.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_3_fully.png
index 14cd8fa..869a497 100644
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_3_fully.png
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_3_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_4.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_4.png
index 3b81ceb..1711c82 100644
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_4.png
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_4.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_4_fully.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_4_fully.png
index ef72980..1711c82 100644
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_4_fully.png
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_4_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable/status_bar_back.xml b/packages/SystemUI/res/drawable/ic_sysbar_back.xml
index 92bf147..327ccd8 100644
--- a/packages/SystemUI/res/drawable/status_bar_back.xml
+++ b/packages/SystemUI/res/drawable/ic_sysbar_back.xml
@@ -15,7 +15,7 @@
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_pressed="true" android:drawable="@drawable/status_bar_back_pressed" />
- <item android:drawable="@drawable/status_bar_back_default" />
+ <item android:state_pressed="true" android:drawable="@drawable/ic_sysbar_back_pressed" />
+ <item android:drawable="@drawable/ic_sysbar_back_default" />
</selector>
diff --git a/packages/SystemUI/res/drawable/status_bar_home.xml b/packages/SystemUI/res/drawable/ic_sysbar_home.xml
index 0011711..f4e585e 100644
--- a/packages/SystemUI/res/drawable/status_bar_home.xml
+++ b/packages/SystemUI/res/drawable/ic_sysbar_home.xml
@@ -15,7 +15,7 @@
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_pressed="true" android:drawable="@drawable/status_bar_home_pressed" />
- <item android:drawable="@drawable/status_bar_home_default" />
+ <item android:state_pressed="true" android:drawable="@drawable/ic_sysbar_home_pressed" />
+ <item android:drawable="@drawable/ic_sysbar_home_default" />
</selector>
diff --git a/packages/SystemUI/res/drawable/status_bar_menu.xml b/packages/SystemUI/res/drawable/ic_sysbar_ime.xml
index aa7286e..1accf00 100644
--- a/packages/SystemUI/res/drawable/status_bar_menu.xml
+++ b/packages/SystemUI/res/drawable/ic_sysbar_ime.xml
@@ -15,7 +15,7 @@
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_pressed="true" android:drawable="@drawable/status_bar_menu_pressed" />
- <item android:drawable="@drawable/status_bar_menu_default" />
+ <item android:state_pressed="true" android:drawable="@drawable/ic_sysbar_ime_pressed" />
+ <item android:drawable="@drawable/ic_sysbar_ime_default" />
</selector>
diff --git a/packages/SystemUI/res/drawable/status_bar_recent.xml b/packages/SystemUI/res/drawable/ic_sysbar_menu.xml
index d708455..7a10607 100755..100644
--- a/packages/SystemUI/res/drawable/status_bar_recent.xml
+++ b/packages/SystemUI/res/drawable/ic_sysbar_menu.xml
@@ -15,7 +15,7 @@
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_pressed="true" android:drawable="@drawable/status_bar_recent_pressed" />
- <item android:drawable="@drawable/status_bar_recent_default" />
+ <item android:state_pressed="true" android:drawable="@drawable/ic_sysbar_menu_pressed" />
+ <item android:drawable="@drawable/ic_sysbar_menu_default" />
</selector>
diff --git a/packages/SystemUI/res/drawable/ic_sysbar_recent.xml b/packages/SystemUI/res/drawable/ic_sysbar_recent.xml
new file mode 100755
index 0000000..39a324b
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_sysbar_recent.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2008 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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_pressed="true" android:drawable="@drawable/ic_sysbar_recent_pressed" />
+ <item android:drawable="@drawable/ic_sysbar_recent_default" />
+</selector>
+
diff --git a/packages/SystemUI/res/drawable/ic_sysbar_icon_bg.xml b/packages/SystemUI/res/drawable/status_bar_ticker_background.xml
index d8ba2a8..c230358 100644
--- a/packages/SystemUI/res/drawable/ic_sysbar_icon_bg.xml
+++ b/packages/SystemUI/res/drawable/status_bar_ticker_background.xml
@@ -4,9 +4,9 @@
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
-
+
http://www.apache.org/licenses/LICENSE-2.0
-
+
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -14,8 +14,14 @@
limitations under the License.
-->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_pressed="true" android:drawable="@drawable/ic_sysbar_press_bg" />
- <item android:drawable="@drawable/ic_sysbar_default_bg" />
-</selector>
+<layer-list
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:opacity="translucent"
+ >
+ <item
+ android:drawable="@drawable/ticker_background_color"
+ android:top="12dp"
+ />
+</layer-list>
+
diff --git a/packages/SystemUI/res/drawable/ticker_background.xml b/packages/SystemUI/res/drawable/ticker_background.xml
new file mode 100644
index 0000000..7320fa0
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ticker_background.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2006 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.
+-->
+
+<layer-list
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:opacity="translucent"
+ >
+ <!-- the large icon extends 12dp beyond the edge of the status bar -->
+ <item
+ android:drawable="@drawable/notification_item_background_color"
+ android:top="12dp"
+ />
+</layer-list>
+
diff --git a/packages/SystemUI/res/layout-xlarge/status_bar.xml b/packages/SystemUI/res/layout-xlarge/status_bar.xml
index d4a6136..488dbba 100644
--- a/packages/SystemUI/res/layout-xlarge/status_bar.xml
+++ b/packages/SystemUI/res/layout-xlarge/status_bar.xml
@@ -25,7 +25,6 @@
android:id="@+id/bar_contents"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:animateLayoutChanges="false"
>
<!-- notification icons & panel access -->
@@ -40,7 +39,6 @@
android:id="@+id/notificationIcons"
android:layout_width="wrap_content"
android:layout_height="match_parent"
- android:gravity="center_vertical"
android:orientation="horizontal"
>
<view
@@ -48,7 +46,9 @@
android:id="@+id/icons"
android:layout_width="wrap_content"
android:layout_height="@*android:dimen/status_bar_icon_size"
- android:layout_marginLeft="8dip"
+ android:layout_gravity="top"
+ android:layout_marginTop="5dp"
+ android:layout_marginLeft="8dp"
/>
</com.android.systemui.statusbar.tablet.NotificationIconArea>
@@ -80,19 +80,24 @@
android:layout_width="48dip"
android:layout_height="match_parent"
android:orientation="horizontal"
+ android:gravity="center"
>
<ImageView
- android:id="@+id/battery"
+ android:id="@+id/network"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
- android:layout_gravity="center_vertical"
+ android:layout_gravity="top"
+ android:layout_marginTop="19dp"
+ android:layout_marginRight="4dp"
/>
<ImageView
- android:id="@+id/network"
+ android:id="@+id/battery"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
- android:layout_gravity="center_vertical"
- android:src="@drawable/ic_sysbar_wifi_mini"
+ android:layout_gravity="top"
+ android:layout_marginTop="19dp"
+ android:layout_marginLeft="2dp"
+ android:layout_marginRight="2dp"
/>
</LinearLayout>
</LinearLayout>
@@ -105,7 +110,6 @@
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:orientation="horizontal"
- android:animateLayoutChanges="false"
>
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/back"
@@ -114,7 +118,6 @@
android:paddingLeft="18dip"
android:paddingRight="18dip"
android:src="@drawable/ic_sysbar_back"
- android:background="@drawable/ic_sysbar_icon_bg"
systemui:keyCode="4"
/>
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/home"
@@ -123,14 +126,13 @@
android:paddingLeft="18dip"
android:paddingRight="18dip"
android:src="@drawable/ic_sysbar_home"
- android:background="@drawable/ic_sysbar_icon_bg"
systemui:keyCode="3"
/>
<ImageButton android:id="@+id/recent_apps"
android:layout_width="96dip"
android:layout_height="match_parent"
android:src="@drawable/ic_sysbar_recent"
- android:background="@drawable/ic_sysbar_icon_bg"
+ android:background="@null"
android:paddingLeft="18dip"
android:clickable="true"
android:paddingRight="18dip"
@@ -141,7 +143,6 @@
android:paddingLeft="18dip"
android:paddingRight="18dip"
android:src="@drawable/ic_sysbar_menu"
- android:background="@drawable/ic_sysbar_icon_bg"
systemui:keyCode="82"
android:visibility="invisible"
/>
@@ -149,7 +150,6 @@
android:id="@+id/pocket"
android:layout_width="96dip"
android:layout_height="match_parent"
- android:background="@drawable/ic_sysbar_icon_bg"
android:paddingLeft="18dip"
android:paddingRight="18dip"
android:animateLayoutChanges="true"
@@ -171,81 +171,73 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginLeft="8dip"
- android:src="@drawable/ic_sysbar_ime_default"
- android:background="@drawable/ic_sysbar_icon_bg"
+ android:src="@drawable/ic_sysbar_ime"
android:visibility="invisible"
/>
</LinearLayout>
<!-- lights out mode: "shadow" views -->
- <ImageView
- android:id="@+id/notification_shadow"
- android:layout_width="176dip"
- android:layout_height="match_parent"
- android:paddingRight="48dip"
- android:layout_alignParentRight="true"
- android:layout_alignParentBottom="true"
- android:src="@drawable/ic_sysbar_shadow"
- android:visibility="gone"
- android:scaleType="fitXY"
- />
-
- <ImageView
- android:id="@+id/back_shadow"
- android:layout_width="96dip"
- android:layout_height="match_parent"
- android:paddingLeft="18dip"
- android:paddingRight="18dip"
- android:layout_alignParentLeft="true"
- android:layout_alignParentBottom="true"
- android:src="@drawable/ic_sysbar_shadow"
- android:visibility="gone"
- />
- <ImageView
- android:id="@+id/home_shadow"
- android:layout_width="96dip"
+ <RelativeLayout
+ android:id="@+id/shadows"
+ android:layout_width="match_parent"
android:layout_height="match_parent"
- android:paddingLeft="18dip"
- android:paddingRight="18dip"
- android:layout_toRightOf="@id/back_shadow"
- android:layout_alignParentBottom="true"
- android:src="@drawable/ic_sysbar_shadow"
- android:visibility="gone"
- />
- <ImageView
- android:id="@+id/recent_shadow"
- android:layout_width="96dip"
- android:layout_height="match_parent"
- android:paddingLeft="18dip"
- android:paddingRight="18dip"
- android:layout_toRightOf="@id/home_shadow"
- android:layout_alignParentBottom="true"
- android:src="@drawable/ic_sysbar_shadow"
- android:visibility="gone"
- />
- <ImageView
- android:id="@+id/menu_shadow"
- android:layout_width="96dip"
- android:layout_height="match_parent"
- android:paddingLeft="18dip"
- android:paddingRight="18dip"
- android:layout_toRightOf="@id/recent_shadow"
- android:layout_alignParentBottom="true"
- android:src="@drawable/ic_sysbar_shadow"
- android:visibility="gone"
- />
+ >
+ <ImageView
+ android:id="@+id/notification_shadow"
+ android:layout_width="176dip"
+ android:layout_height="match_parent"
+ android:paddingRight="48dip"
+ android:layout_alignParentRight="true"
+ android:layout_alignParentBottom="true"
+ android:src="@drawable/ic_sysbar_shadow"
+ android:visibility="gone"
+ android:scaleType="fitXY"
+ />
- <!-- ticker: transient incoming notification information -->
- <FrameLayout
- android:id="@+id/ticker"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:layout_alignParentRight="true"
- android:layout_toRightOf="@+id/systemInfo"
- android:paddingLeft="6dip"
- android:gravity="center_vertical"
- android:animateLayoutChanges="true"
- />
-
+ <ImageView
+ android:id="@+id/back_shadow"
+ android:layout_width="96dip"
+ android:layout_height="match_parent"
+ android:paddingLeft="18dip"
+ android:paddingRight="18dip"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentBottom="true"
+ android:src="@drawable/ic_sysbar_shadow"
+ android:visibility="gone"
+ />
+ <ImageView
+ android:id="@+id/home_shadow"
+ android:layout_width="96dip"
+ android:layout_height="match_parent"
+ android:paddingLeft="18dip"
+ android:paddingRight="18dip"
+ android:layout_toRightOf="@id/back_shadow"
+ android:layout_alignParentBottom="true"
+ android:src="@drawable/ic_sysbar_shadow"
+ android:visibility="gone"
+ />
+ <ImageView
+ android:id="@+id/recent_shadow"
+ android:layout_width="96dip"
+ android:layout_height="match_parent"
+ android:paddingLeft="18dip"
+ android:paddingRight="18dip"
+ android:layout_toRightOf="@id/home_shadow"
+ android:layout_alignParentBottom="true"
+ android:src="@drawable/ic_sysbar_shadow"
+ android:visibility="gone"
+ />
+ <ImageView
+ android:id="@+id/menu_shadow"
+ android:layout_width="96dip"
+ android:layout_height="match_parent"
+ android:paddingLeft="18dip"
+ android:paddingRight="18dip"
+ android:layout_toRightOf="@id/recent_shadow"
+ android:layout_alignParentBottom="true"
+ android:src="@drawable/ic_sysbar_shadow"
+ android:visibility="gone"
+ />
+ </RelativeLayout>
</RelativeLayout>
</com.android.systemui.statusbar.tablet.TabletStatusBarView>
diff --git a/packages/SystemUI/res/layout-xlarge/status_bar_latest_event.xml b/packages/SystemUI/res/layout-xlarge/status_bar_latest_event.xml
index b6679a5..6b12d29 100644
--- a/packages/SystemUI/res/layout-xlarge/status_bar_latest_event.xml
+++ b/packages/SystemUI/res/layout-xlarge/status_bar_latest_event.xml
@@ -13,13 +13,24 @@
android:src="@drawable/status_bar_veto"
android:scaleType="center"
android:background="#ff000000"
+ android:paddingRight="8dp"
/>
+ <ImageView
+ android:id="@+id/large_icon"
+ android:layout_width="@dimen/notification_large_icon_width"
+ android:layout_height="@dimen/notification_large_icon_height"
+ android:layout_alignParentTop="true"
+ android:layout_alignParentLeft="true"
+ android:scaleType="center"
+ />
+ <!-- TODO: scaleType should be top-left but ImageView doesn't support that. -->
+
<com.android.systemui.statusbar.LatestItemView android:id="@+id/content"
android:layout_width="wrap_content"
android:layout_height="64sp"
android:layout_alignParentTop="true"
- android:layout_alignParentLeft="true"
+ android:layout_toRightOf="@id/large_icon"
android:layout_toLeftOf="@id/veto"
android:layout_marginLeft="16dp"
android:focusable="true"
diff --git a/packages/SystemUI/res/layout-xlarge/sysbar_panel_notifications.xml b/packages/SystemUI/res/layout-xlarge/sysbar_panel_notifications.xml
index b23cc7b..fb4cf3f 100644
--- a/packages/SystemUI/res/layout-xlarge/sysbar_panel_notifications.xml
+++ b/packages/SystemUI/res/layout-xlarge/sysbar_panel_notifications.xml
@@ -1,43 +1,39 @@
-<?xml version="1.0" encoding="utf-8"?>
<!--
-/* apps/common/assets/default/default/skins/StatusBar.xml
-**
-** Copyright 2006, 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.
-*/
+ Copyright (C) 2006 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.
-->
<!-- android:background="@drawable/status_bar_closed_default_background" -->
<com.android.systemui.statusbar.tablet.NotificationPanel
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
- android:layout_width="540dp"
+ android:layout_width="match_parent"
android:animateLayoutChanges="true"
- android:background="@drawable/bg_scrim_notification"
- android:paddingBottom="32dp"
+ android:paddingTop="32dp"
+ android:paddingBottom="@dimen/status_bar_panel_bottom_offset"
+ android:orientation="vertical"
+ android:gravity="right"
>
<com.android.systemui.statusbar.tablet.NotificationTitleArea
android:id="@+id/title_area"
- android:layout_height="wrap_content"
+ android:layout_height="160dp"
android:layout_width="384dp"
- android:layout_above="@+id/content_frame"
android:layout_marginLeft="24dp"
- android:paddingBottom="16dp"
+ android:paddingTop="20dp"
android:orientation="vertical"
android:animateLayoutChanges="true"
- android:layout_alignParentRight="true"
>
<com.android.systemui.statusbar.tablet.HoloClock
@@ -69,6 +65,7 @@
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_below="@id/clock"
+ android:layout_marginTop="4dp"
android:layout_marginRight="48dp"
android:gravity="right"
/>
@@ -79,10 +76,10 @@
android:layout_width="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@id/date"
- android:layout_marginTop="16dp"
android:layout_marginLeft="48dp"
- android:src="@drawable/ic_sysbar_battery_mini"
- android:baseline="17dp"
+ android:layout_marginTop="18dp"
+ android:layout_marginRight="8dp"
+ android:baseline="15dp"
/>
<TextView
@@ -101,8 +98,8 @@
android:layout_width="wrap_content"
android:layout_toRightOf="@id/battery_text"
android:layout_alignBaseline="@id/battery"
- android:src="@drawable/ic_sysbar_wifi_mini"
- android:baseline="21dp"
+ android:layout_marginRight="8dp"
+ android:baseline="15dp"
/>
<TextView
@@ -119,11 +116,11 @@
android:id="@+id/settings_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_alignParentRight="true"
android:layout_alignBaseline="@id/battery"
+ android:layout_alignParentRight="true"
android:paddingRight="16dp"
android:src="@drawable/ic_notification_open"
- android:baseline="17dp"
+ android:baseline="21dp"
/>
<ImageView
@@ -135,7 +132,7 @@
android:paddingRight="16dp"
android:visibility="invisible"
android:src="@drawable/status_bar_veto"
- android:baseline="17dp"
+ android:baseline="21dp"
/>
</com.android.systemui.statusbar.tablet.NotificationTitleArea>
@@ -143,8 +140,6 @@
android:id="@+id/content_frame"
android:layout_height="wrap_content"
android:layout_width="408dp"
- android:layout_alignParentBottom="true"
- android:layout_alignParentRight="true"
>
<ScrollView
android:id="@+id/notificationScroller"
diff --git a/packages/SystemUI/res/layout-xlarge/ticker.xml b/packages/SystemUI/res/layout-xlarge/ticker.xml
index c8d855f..cae6a77 100644
--- a/packages/SystemUI/res/layout-xlarge/ticker.xml
+++ b/packages/SystemUI/res/layout-xlarge/ticker.xml
@@ -18,36 +18,22 @@
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
- android:layout_height="match_parent"
+ android:layout_height="wrap_content"
android:orientation="horizontal"
- android:background="#ff000000"
+ android:background="@drawable/status_bar_ticker_background"
+ android:gravity="bottom"
>
+ <!--
+ android:background="@drawable/ticker_background"
+ -->
- <LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:layout_gravity="center_vertical"
- android:orientation="vertical"
- android:paddingLeft="12dp"
- >
-
- <TextView android:id="@+id/title"
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:textAppearance="@*android:style/TextAppearance.StatusBar.Ticker"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textStyle="bold"
- android:maxLines="1"
- />
- <TextView android:id="@+id/subtitle"
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:textAppearance="@*android:style/TextAppearance.StatusBar.Ticker"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:maxLines="1"
- />
- </LinearLayout>
+ <ImageView
+ android:id="@+id/large_icon"
+ android:layout_width="@dimen/notification_large_icon_height"
+ android:layout_height="@dimen/notification_large_icon_width"
+ android:scaleType="center"
+ android:visibility="gone"
+ />
+ <!-- TODO: scaleType should be top-left but ImageView doesn't support that. -->
</LinearLayout>
diff --git a/packages/SystemUI/res/layout-xlarge/ticker_compat.xml b/packages/SystemUI/res/layout-xlarge/ticker_compat.xml
index 79c7543..5d9a680 100644
--- a/packages/SystemUI/res/layout-xlarge/ticker_compat.xml
+++ b/packages/SystemUI/res/layout-xlarge/ticker_compat.xml
@@ -18,11 +18,26 @@
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
- android:layout_height="match_parent"
+ android:layout_height="@*android:dimen/status_bar_height"
android:orientation="horizontal"
- android:background="#ff000000"
+ android:background="@drawable/status_bar_ticker_background"
>
+ <ImageView
+ android:id="@+id/large_icon"
+ android:layout_width="@dimen/notification_large_icon_width"
+ android:layout_height="@dimen/notification_large_icon_height"
+ android:scaleType="center"
+ android:visibility="gone"
+ />
+
+ <ImageView android:id="@+id/left_icon"
+ android:layout_width="64dp"
+ android:layout_height="match_parent"
+ android:scaleType="center"
+ android:visibility="gone"
+ />
+
<TextView android:id="@+id/text"
android:textAppearance="@*android:style/TextAppearance.StatusBar.Ticker"
android:layout_width="match_parent"
@@ -33,4 +48,11 @@
android:maxLines="2"
/>
+ <ImageView android:id="@+id/right_icon"
+ android:layout_width="64dp"
+ android:layout_height="match_parent"
+ android:scaleType="center"
+ android:visibility="gone"
+ />
+
</LinearLayout>
diff --git a/packages/SystemUI/res/layout/status_bar_expanded.xml b/packages/SystemUI/res/layout/status_bar_expanded.xml
index 3ad199e..18e8273 100644
--- a/packages/SystemUI/res/layout/status_bar_expanded.xml
+++ b/packages/SystemUI/res/layout/status_bar_expanded.xml
@@ -71,6 +71,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fadingEdge="none"
+ android:overScrollMode="ifContentScrolls"
>
<LinearLayout
android:id="@+id/notificationLinearLayout"
diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml
new file mode 100644
index 0000000..d94e58a
--- /dev/null
+++ b/packages/SystemUI/res/values-ar/strings.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for app_label (7164937344850004466) -->
+ <skip />
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"محو"</string>
+ <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) -->
+ <skip />
+ <!-- no translation found for status_bar_please_disturb_button (3345398298841572813) -->
+ <skip />
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"ليس هناك أي تنبيهات"</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>
+ <!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"البطارية منخفضة:"</string>
+ <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"يتبقى <xliff:g id="NUMBER">%d%%</xliff:g> أو أقل."</string>
+ <!-- no translation found for invalid_charger (4549105996740522523) -->
+ <skip />
+ <string name="battery_low_why" msgid="7279169609518386372">"استخدام البطارية"</string>
+ <!-- no translation found for system_panel_settings_button (7832600575390861653) -->
+ <skip />
+ <string name="recent_tasks_title" msgid="3691764623638127888">"حديثة"</string>
+ <!-- no translation found for recent_tasks_empty (1905484479067697884) -->
+ <skip />
+ <!-- no translation found for recent_tasks_app_label (3796483981246752469) -->
+ <skip />
+ <!-- no translation found for toast_rotation_free (2700542202836832631) -->
+ <skip />
+ <!-- no translation found for toast_rotation_locked (7484691306949652450) -->
+ <skip />
+</resources>
diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml
new file mode 100644
index 0000000..975c207
--- /dev/null
+++ b/packages/SystemUI/res/values-bg/strings.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for app_label (7164937344850004466) -->
+ <skip />
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Изчистване"</string>
+ <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) -->
+ <skip />
+ <!-- no translation found for status_bar_please_disturb_button (3345398298841572813) -->
+ <skip />
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Няма известия"</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>
+ <!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Батерията се изтощава:"</string>
+ <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"Остава <xliff:g id="NUMBER">%d%%</xliff:g> или по-малко."</string>
+ <!-- no translation found for invalid_charger (4549105996740522523) -->
+ <skip />
+ <string name="battery_low_why" msgid="7279169609518386372">"Използване на батерията"</string>
+ <!-- no translation found for system_panel_settings_button (7832600575390861653) -->
+ <skip />
+ <string name="recent_tasks_title" msgid="3691764623638127888">"Скорошни"</string>
+ <!-- no translation found for recent_tasks_empty (1905484479067697884) -->
+ <skip />
+ <!-- no translation found for recent_tasks_app_label (3796483981246752469) -->
+ <skip />
+ <!-- no translation found for toast_rotation_free (2700542202836832631) -->
+ <skip />
+ <!-- no translation found for toast_rotation_locked (7484691306949652450) -->
+ <skip />
+</resources>
diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml
new file mode 100644
index 0000000..611bec7
--- /dev/null
+++ b/packages/SystemUI/res/values-ca/strings.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for app_label (7164937344850004466) -->
+ <skip />
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Esborra"</string>
+ <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) -->
+ <skip />
+ <!-- no translation found for status_bar_please_disturb_button (3345398298841572813) -->
+ <skip />
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Cap notificació"</string>
+ <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Continu"</string>
+ <string name="status_bar_latest_events_title" msgid="6594767438577593172">"Notificacions"</string>
+ <string name="battery_low_title" msgid="7923774589611311406">"Connecteu el carregador"</string>
+ <!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Comença a quedar poca bateria:"</string>
+ <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"En queda un <xliff:g id="NUMBER">%d%%</xliff:g> o menys."</string>
+ <!-- no translation found for invalid_charger (4549105996740522523) -->
+ <skip />
+ <string name="battery_low_why" msgid="7279169609518386372">"Ús de la bateria"</string>
+ <!-- no translation found for system_panel_settings_button (7832600575390861653) -->
+ <skip />
+ <string name="recent_tasks_title" msgid="3691764623638127888">"Recents"</string>
+ <!-- no translation found for recent_tasks_empty (1905484479067697884) -->
+ <skip />
+ <!-- no translation found for recent_tasks_app_label (3796483981246752469) -->
+ <skip />
+ <!-- no translation found for toast_rotation_free (2700542202836832631) -->
+ <skip />
+ <!-- no translation found for toast_rotation_locked (7484691306949652450) -->
+ <skip />
+</resources>
diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml
new file mode 100644
index 0000000..2939dba
--- /dev/null
+++ b/packages/SystemUI/res/values-en-rGB/strings.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for app_label (7164937344850004466) -->
+ <skip />
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Clear"</string>
+ <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) -->
+ <skip />
+ <!-- no translation found for status_bar_please_disturb_button (3345398298841572813) -->
+ <skip />
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"No notifications"</string>
+ <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Ongoing"</string>
+ <string name="status_bar_latest_events_title" msgid="6594767438577593172">"Notifications"</string>
+ <string name="battery_low_title" msgid="7923774589611311406">"Please connect charger"</string>
+ <!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"The battery is getting low:"</string>
+ <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> or less remaining."</string>
+ <!-- no translation found for invalid_charger (4549105996740522523) -->
+ <skip />
+ <string name="battery_low_why" msgid="7279169609518386372">"Battery use"</string>
+ <!-- no translation found for system_panel_settings_button (7832600575390861653) -->
+ <skip />
+ <string name="recent_tasks_title" msgid="3691764623638127888">"Recent"</string>
+ <!-- no translation found for recent_tasks_empty (1905484479067697884) -->
+ <skip />
+ <!-- no translation found for recent_tasks_app_label (3796483981246752469) -->
+ <skip />
+ <!-- no translation found for toast_rotation_free (2700542202836832631) -->
+ <skip />
+ <!-- no translation found for toast_rotation_locked (7484691306949652450) -->
+ <skip />
+</resources>
diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml
new file mode 100644
index 0000000..cc1f215
--- /dev/null
+++ b/packages/SystemUI/res/values-fa/strings.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for app_label (7164937344850004466) -->
+ <skip />
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"پاک کردن"</string>
+ <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) -->
+ <skip />
+ <!-- no translation found for status_bar_please_disturb_button (3345398298841572813) -->
+ <skip />
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"اعلانی موجود نیست"</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>
+ <!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"باتری در حال کم شدن است:"</string>
+ <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> یا کمتر باقیمانده است."</string>
+ <!-- no translation found for invalid_charger (4549105996740522523) -->
+ <skip />
+ <string name="battery_low_why" msgid="7279169609518386372">"استفاده از باتری"</string>
+ <!-- no translation found for system_panel_settings_button (7832600575390861653) -->
+ <skip />
+ <string name="recent_tasks_title" msgid="3691764623638127888">"اخیر"</string>
+ <!-- no translation found for recent_tasks_empty (1905484479067697884) -->
+ <skip />
+ <!-- no translation found for recent_tasks_app_label (3796483981246752469) -->
+ <skip />
+ <!-- no translation found for toast_rotation_free (2700542202836832631) -->
+ <skip />
+ <!-- no translation found for toast_rotation_locked (7484691306949652450) -->
+ <skip />
+</resources>
diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml
new file mode 100644
index 0000000..59e3af3
--- /dev/null
+++ b/packages/SystemUI/res/values-fi/strings.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for app_label (7164937344850004466) -->
+ <skip />
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Tyhjennä"</string>
+ <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) -->
+ <skip />
+ <!-- no translation found for status_bar_please_disturb_button (3345398298841572813) -->
+ <skip />
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Ei ilmoituksia"</string>
+ <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Käynnissä olevat"</string>
+ <string name="status_bar_latest_events_title" msgid="6594767438577593172">"Ilmoitukset"</string>
+ <string name="battery_low_title" msgid="7923774589611311406">"Kytke laturi"</string>
+ <!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Akun virta on vähissä:"</string>
+ <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"jäljellä <xliff:g id="NUMBER">%d%%</xliff:g> tai vähemmän."</string>
+ <!-- no translation found for invalid_charger (4549105996740522523) -->
+ <skip />
+ <string name="battery_low_why" msgid="7279169609518386372">"Akun käyttö"</string>
+ <!-- no translation found for system_panel_settings_button (7832600575390861653) -->
+ <skip />
+ <string name="recent_tasks_title" msgid="3691764623638127888">"Viimeisimmät"</string>
+ <!-- no translation found for recent_tasks_empty (1905484479067697884) -->
+ <skip />
+ <!-- no translation found for recent_tasks_app_label (3796483981246752469) -->
+ <skip />
+ <!-- no translation found for toast_rotation_free (2700542202836832631) -->
+ <skip />
+ <!-- no translation found for toast_rotation_locked (7484691306949652450) -->
+ <skip />
+</resources>
diff --git a/packages/SystemUI/res/values-he/strings.xml b/packages/SystemUI/res/values-he/strings.xml
new file mode 100644
index 0000000..67b2c5f
--- /dev/null
+++ b/packages/SystemUI/res/values-he/strings.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for app_label (7164937344850004466) -->
+ <skip />
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"נקה"</string>
+ <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) -->
+ <skip />
+ <!-- no translation found for status_bar_please_disturb_button (3345398298841572813) -->
+ <skip />
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"אין התראות"</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>
+ <!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"הסוללה נחלשת:"</string>
+ <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"נותרו עוד <xliff:g id="NUMBER">%d%%</xliff:g> או פחות."</string>
+ <!-- no translation found for invalid_charger (4549105996740522523) -->
+ <skip />
+ <string name="battery_low_why" msgid="7279169609518386372">"צריכת סוללה"</string>
+ <!-- no translation found for system_panel_settings_button (7832600575390861653) -->
+ <skip />
+ <string name="recent_tasks_title" msgid="3691764623638127888">"אחרונות"</string>
+ <!-- no translation found for recent_tasks_empty (1905484479067697884) -->
+ <skip />
+ <!-- no translation found for recent_tasks_app_label (3796483981246752469) -->
+ <skip />
+ <!-- no translation found for toast_rotation_free (2700542202836832631) -->
+ <skip />
+ <!-- no translation found for toast_rotation_locked (7484691306949652450) -->
+ <skip />
+</resources>
diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml
new file mode 100644
index 0000000..149a356
--- /dev/null
+++ b/packages/SystemUI/res/values-hr/strings.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for app_label (7164937344850004466) -->
+ <skip />
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Očisti"</string>
+ <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) -->
+ <skip />
+ <!-- no translation found for status_bar_please_disturb_button (3345398298841572813) -->
+ <skip />
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Bez obavijesti"</string>
+ <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"U tijeku"</string>
+ <string name="status_bar_latest_events_title" msgid="6594767438577593172">"Obavijesti"</string>
+ <string name="battery_low_title" msgid="7923774589611311406">"Priključite punjač"</string>
+ <!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Baterija će uskoro biti potrošena:"</string>
+ <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"Preostaje <xliff:g id="NUMBER">%d%%</xliff:g> ili manje."</string>
+ <!-- no translation found for invalid_charger (4549105996740522523) -->
+ <skip />
+ <string name="battery_low_why" msgid="7279169609518386372">"Iskorištenost baterije"</string>
+ <!-- no translation found for system_panel_settings_button (7832600575390861653) -->
+ <skip />
+ <string name="recent_tasks_title" msgid="3691764623638127888">"Nedavni"</string>
+ <!-- no translation found for recent_tasks_empty (1905484479067697884) -->
+ <skip />
+ <!-- no translation found for recent_tasks_app_label (3796483981246752469) -->
+ <skip />
+ <!-- no translation found for toast_rotation_free (2700542202836832631) -->
+ <skip />
+ <!-- no translation found for toast_rotation_locked (7484691306949652450) -->
+ <skip />
+</resources>
diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml
new file mode 100644
index 0000000..9eb50fa
--- /dev/null
+++ b/packages/SystemUI/res/values-hu/strings.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for app_label (7164937344850004466) -->
+ <skip />
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Törlés"</string>
+ <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) -->
+ <skip />
+ <!-- no translation found for status_bar_please_disturb_button (3345398298841572813) -->
+ <skip />
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Nincs értesítés"</string>
+ <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Folyamatban van"</string>
+ <string name="status_bar_latest_events_title" msgid="6594767438577593172">"Értesítések"</string>
+ <string name="battery_low_title" msgid="7923774589611311406">"Kérjük, csatlakoztassa a töltőt"</string>
+ <!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Akkufeszültség alacsony:"</string>
+ <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> vagy kevesebb maradt."</string>
+ <!-- no translation found for invalid_charger (4549105996740522523) -->
+ <skip />
+ <string name="battery_low_why" msgid="7279169609518386372">"Akkumulátorhasználat"</string>
+ <!-- no translation found for system_panel_settings_button (7832600575390861653) -->
+ <skip />
+ <string name="recent_tasks_title" msgid="3691764623638127888">"Legutóbbiak"</string>
+ <!-- no translation found for recent_tasks_empty (1905484479067697884) -->
+ <skip />
+ <!-- no translation found for recent_tasks_app_label (3796483981246752469) -->
+ <skip />
+ <!-- no translation found for toast_rotation_free (2700542202836832631) -->
+ <skip />
+ <!-- no translation found for toast_rotation_locked (7484691306949652450) -->
+ <skip />
+</resources>
diff --git a/packages/SystemUI/res/values-id/strings.xml b/packages/SystemUI/res/values-id/strings.xml
new file mode 100644
index 0000000..3bf805c
--- /dev/null
+++ b/packages/SystemUI/res/values-id/strings.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for app_label (7164937344850004466) -->
+ <skip />
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Bersihkan"</string>
+ <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) -->
+ <skip />
+ <!-- no translation found for status_bar_please_disturb_button (3345398298841572813) -->
+ <skip />
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Tidak ada pemberitahuan"</string>
+ <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Berkelanjutan"</string>
+ <string name="status_bar_latest_events_title" msgid="6594767438577593172">"Pemberitahuan"</string>
+ <string name="battery_low_title" msgid="7923774589611311406">"Harap hubungkan ke pengisi daya"</string>
+ <!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Baterai kekurangan daya:"</string>
+ <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> atau kurang yang tersisa."</string>
+ <!-- no translation found for invalid_charger (4549105996740522523) -->
+ <skip />
+ <string name="battery_low_why" msgid="7279169609518386372">"Penggunaan baterai"</string>
+ <!-- no translation found for system_panel_settings_button (7832600575390861653) -->
+ <skip />
+ <string name="recent_tasks_title" msgid="3691764623638127888">"Terbaru"</string>
+ <!-- no translation found for recent_tasks_empty (1905484479067697884) -->
+ <skip />
+ <!-- no translation found for recent_tasks_app_label (3796483981246752469) -->
+ <skip />
+ <!-- no translation found for toast_rotation_free (2700542202836832631) -->
+ <skip />
+ <!-- no translation found for toast_rotation_locked (7484691306949652450) -->
+ <skip />
+</resources>
diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml
new file mode 100644
index 0000000..c87f312
--- /dev/null
+++ b/packages/SystemUI/res/values-lt/strings.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for app_label (7164937344850004466) -->
+ <skip />
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Išvalyti"</string>
+ <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) -->
+ <skip />
+ <!-- no translation found for status_bar_please_disturb_button (3345398298841572813) -->
+ <skip />
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Nėra įspėjimų"</string>
+ <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Vykstantys"</string>
+ <string name="status_bar_latest_events_title" msgid="6594767438577593172">"Įspėjimai"</string>
+ <string name="battery_low_title" msgid="7923774589611311406">"Prijunkite kroviklį"</string>
+ <!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Akumuliatorius senka:"</string>
+ <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"Liko <xliff:g id="NUMBER">%d%%</xliff:g> ar mažiau."</string>
+ <!-- no translation found for invalid_charger (4549105996740522523) -->
+ <skip />
+ <string name="battery_low_why" msgid="7279169609518386372">"Akumuliatoriaus naudojimas"</string>
+ <!-- no translation found for system_panel_settings_button (7832600575390861653) -->
+ <skip />
+ <string name="recent_tasks_title" msgid="3691764623638127888">"Naujos"</string>
+ <!-- no translation found for recent_tasks_empty (1905484479067697884) -->
+ <skip />
+ <!-- no translation found for recent_tasks_app_label (3796483981246752469) -->
+ <skip />
+ <!-- no translation found for toast_rotation_free (2700542202836832631) -->
+ <skip />
+ <!-- no translation found for toast_rotation_locked (7484691306949652450) -->
+ <skip />
+</resources>
diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml
new file mode 100644
index 0000000..ac0715e
--- /dev/null
+++ b/packages/SystemUI/res/values-lv/strings.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for app_label (7164937344850004466) -->
+ <skip />
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Notīrīt"</string>
+ <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) -->
+ <skip />
+ <!-- no translation found for status_bar_please_disturb_button (3345398298841572813) -->
+ <skip />
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Nav paziņojumu"</string>
+ <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Notiekošs"</string>
+ <string name="status_bar_latest_events_title" msgid="6594767438577593172">"Paziņojumi"</string>
+ <string name="battery_low_title" msgid="7923774589611311406">"Lūdzu, pievienojiet uzlādes ierīci."</string>
+ <!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Akumulatora uzlādes līmenis kļūst zems:"</string>
+ <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"Atlicis <xliff:g id="NUMBER">%d%%</xliff:g> vai mazāk."</string>
+ <!-- no translation found for invalid_charger (4549105996740522523) -->
+ <skip />
+ <string name="battery_low_why" msgid="7279169609518386372">"Akumulatora lietojums"</string>
+ <!-- no translation found for system_panel_settings_button (7832600575390861653) -->
+ <skip />
+ <string name="recent_tasks_title" msgid="3691764623638127888">"Nesens"</string>
+ <!-- no translation found for recent_tasks_empty (1905484479067697884) -->
+ <skip />
+ <!-- no translation found for recent_tasks_app_label (3796483981246752469) -->
+ <skip />
+ <!-- no translation found for toast_rotation_free (2700542202836832631) -->
+ <skip />
+ <!-- no translation found for toast_rotation_locked (7484691306949652450) -->
+ <skip />
+</resources>
diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml
new file mode 100644
index 0000000..bdca5ea
--- /dev/null
+++ b/packages/SystemUI/res/values-ro/strings.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for app_label (7164937344850004466) -->
+ <skip />
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Ştergeţi"</string>
+ <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) -->
+ <skip />
+ <!-- no translation found for status_bar_please_disturb_button (3345398298841572813) -->
+ <skip />
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Nicio notificare"</string>
+ <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"În desfăşurare"</string>
+ <string name="status_bar_latest_events_title" msgid="6594767438577593172">"Notificări"</string>
+ <string name="battery_low_title" msgid="7923774589611311406">"Conectaţi încărcătorul"</string>
+ <!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Bateria se termină:"</string>
+ <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"A rămas <xliff:g id="NUMBER">%d%%</xliff:g> sau mai puţin."</string>
+ <!-- no translation found for invalid_charger (4549105996740522523) -->
+ <skip />
+ <string name="battery_low_why" msgid="7279169609518386372">"Utilizarea bateriei"</string>
+ <!-- no translation found for system_panel_settings_button (7832600575390861653) -->
+ <skip />
+ <string name="recent_tasks_title" msgid="3691764623638127888">"Recente"</string>
+ <!-- no translation found for recent_tasks_empty (1905484479067697884) -->
+ <skip />
+ <!-- no translation found for recent_tasks_app_label (3796483981246752469) -->
+ <skip />
+ <!-- no translation found for toast_rotation_free (2700542202836832631) -->
+ <skip />
+ <!-- no translation found for toast_rotation_locked (7484691306949652450) -->
+ <skip />
+</resources>
diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml
new file mode 100644
index 0000000..95b4c30
--- /dev/null
+++ b/packages/SystemUI/res/values-sk/strings.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for app_label (7164937344850004466) -->
+ <skip />
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Vymazať"</string>
+ <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) -->
+ <skip />
+ <!-- no translation found for status_bar_please_disturb_button (3345398298841572813) -->
+ <skip />
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Žiadne upozornenia"</string>
+ <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Prebiehajúce"</string>
+ <string name="status_bar_latest_events_title" msgid="6594767438577593172">"Upozornenia"</string>
+ <string name="battery_low_title" msgid="7923774589611311406">"Pripojte nabíjačku"</string>
+ <!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Batéria je skoro vybitá:"</string>
+ <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"Zostáva <xliff:g id="NUMBER">%d%%</xliff:g> alebo menej."</string>
+ <!-- no translation found for invalid_charger (4549105996740522523) -->
+ <skip />
+ <string name="battery_low_why" msgid="7279169609518386372">"Využitie batérie"</string>
+ <!-- no translation found for system_panel_settings_button (7832600575390861653) -->
+ <skip />
+ <string name="recent_tasks_title" msgid="3691764623638127888">"Najnovšie"</string>
+ <!-- no translation found for recent_tasks_empty (1905484479067697884) -->
+ <skip />
+ <!-- no translation found for recent_tasks_app_label (3796483981246752469) -->
+ <skip />
+ <!-- no translation found for toast_rotation_free (2700542202836832631) -->
+ <skip />
+ <!-- no translation found for toast_rotation_locked (7484691306949652450) -->
+ <skip />
+</resources>
diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml
new file mode 100644
index 0000000..94b599d
--- /dev/null
+++ b/packages/SystemUI/res/values-sl/strings.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for app_label (7164937344850004466) -->
+ <skip />
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Počisti"</string>
+ <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) -->
+ <skip />
+ <!-- no translation found for status_bar_please_disturb_button (3345398298841572813) -->
+ <skip />
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Ni obvestil"</string>
+ <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Trenutno"</string>
+ <string name="status_bar_latest_events_title" msgid="6594767438577593172">"Obvestila"</string>
+ <string name="battery_low_title" msgid="7923774589611311406">"Priključite napajalnik"</string>
+ <!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Baterija je skoraj prazna:"</string>
+ <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"Preostalo <xliff:g id="NUMBER">%d%%</xliff:g> ali manj."</string>
+ <!-- no translation found for invalid_charger (4549105996740522523) -->
+ <skip />
+ <string name="battery_low_why" msgid="7279169609518386372">"Uporaba baterije"</string>
+ <!-- no translation found for system_panel_settings_button (7832600575390861653) -->
+ <skip />
+ <string name="recent_tasks_title" msgid="3691764623638127888">"Nedavno"</string>
+ <!-- no translation found for recent_tasks_empty (1905484479067697884) -->
+ <skip />
+ <!-- no translation found for recent_tasks_app_label (3796483981246752469) -->
+ <skip />
+ <!-- no translation found for toast_rotation_free (2700542202836832631) -->
+ <skip />
+ <!-- no translation found for toast_rotation_locked (7484691306949652450) -->
+ <skip />
+</resources>
diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml
new file mode 100644
index 0000000..e1f07b5
--- /dev/null
+++ b/packages/SystemUI/res/values-sr/strings.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for app_label (7164937344850004466) -->
+ <skip />
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Обриши"</string>
+ <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) -->
+ <skip />
+ <!-- no translation found for status_bar_please_disturb_button (3345398298841572813) -->
+ <skip />
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Нема обавештења"</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>
+ <!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Ниво напуњености батерије је низак:"</string>
+ <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"Преостало је <xliff:g id="NUMBER">%d%%</xliff:g> или мање."</string>
+ <!-- no translation found for invalid_charger (4549105996740522523) -->
+ <skip />
+ <string name="battery_low_why" msgid="7279169609518386372">"Коришћење батерије"</string>
+ <!-- no translation found for system_panel_settings_button (7832600575390861653) -->
+ <skip />
+ <string name="recent_tasks_title" msgid="3691764623638127888">"Недавно"</string>
+ <!-- no translation found for recent_tasks_empty (1905484479067697884) -->
+ <skip />
+ <!-- no translation found for recent_tasks_app_label (3796483981246752469) -->
+ <skip />
+ <!-- no translation found for toast_rotation_free (2700542202836832631) -->
+ <skip />
+ <!-- no translation found for toast_rotation_locked (7484691306949652450) -->
+ <skip />
+</resources>
diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml
new file mode 100644
index 0000000..00be23d
--- /dev/null
+++ b/packages/SystemUI/res/values-th/strings.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for app_label (7164937344850004466) -->
+ <skip />
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"ล้างข้อมูล"</string>
+ <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) -->
+ <skip />
+ <!-- no translation found for status_bar_please_disturb_button (3345398298841572813) -->
+ <skip />
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"ไม่มีการแจ้งเตือน"</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>
+ <!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"แบตเตอรี่เหลือน้อย"</string>
+ <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"เหลือ <xliff:g id="NUMBER">%d%%</xliff:g> หรือน้อยกว่า"</string>
+ <!-- no translation found for invalid_charger (4549105996740522523) -->
+ <skip />
+ <string name="battery_low_why" msgid="7279169609518386372">"การใช้แบตเตอรี่"</string>
+ <!-- no translation found for system_panel_settings_button (7832600575390861653) -->
+ <skip />
+ <string name="recent_tasks_title" msgid="3691764623638127888">"เมื่อเร็วๆ นี้"</string>
+ <!-- no translation found for recent_tasks_empty (1905484479067697884) -->
+ <skip />
+ <!-- no translation found for recent_tasks_app_label (3796483981246752469) -->
+ <skip />
+ <!-- no translation found for toast_rotation_free (2700542202836832631) -->
+ <skip />
+ <!-- no translation found for toast_rotation_locked (7484691306949652450) -->
+ <skip />
+</resources>
diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml
new file mode 100644
index 0000000..240f181
--- /dev/null
+++ b/packages/SystemUI/res/values-tl/strings.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for app_label (7164937344850004466) -->
+ <skip />
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"I-clear"</string>
+ <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) -->
+ <skip />
+ <!-- no translation found for status_bar_please_disturb_button (3345398298841572813) -->
+ <skip />
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Walang mga notification"</string>
+ <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Nagpapatuloy"</string>
+ <string name="status_bar_latest_events_title" msgid="6594767438577593172">"Mga Notification"</string>
+ <string name="battery_low_title" msgid="7923774589611311406">"Pakikonekta ang charger"</string>
+ <!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Humihina ang baterya:"</string>
+ <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> o mas kaunti ang natitira."</string>
+ <!-- no translation found for invalid_charger (4549105996740522523) -->
+ <skip />
+ <string name="battery_low_why" msgid="7279169609518386372">"Paggamit ng baterya"</string>
+ <!-- no translation found for system_panel_settings_button (7832600575390861653) -->
+ <skip />
+ <string name="recent_tasks_title" msgid="3691764623638127888">"Kamakailan"</string>
+ <!-- no translation found for recent_tasks_empty (1905484479067697884) -->
+ <skip />
+ <!-- no translation found for recent_tasks_app_label (3796483981246752469) -->
+ <skip />
+ <!-- no translation found for toast_rotation_free (2700542202836832631) -->
+ <skip />
+ <!-- no translation found for toast_rotation_locked (7484691306949652450) -->
+ <skip />
+</resources>
diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml
new file mode 100644
index 0000000..cbc7881
--- /dev/null
+++ b/packages/SystemUI/res/values-uk/strings.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for app_label (7164937344850004466) -->
+ <skip />
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Очист."</string>
+ <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) -->
+ <skip />
+ <!-- no translation found for status_bar_please_disturb_button (3345398298841572813) -->
+ <skip />
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Немає сповіщень"</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>
+ <!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Батарея виснажується:"</string>
+ <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"Залиш-ся <xliff:g id="NUMBER">%d%%</xliff:g> або менше."</string>
+ <!-- no translation found for invalid_charger (4549105996740522523) -->
+ <skip />
+ <string name="battery_low_why" msgid="7279169609518386372">"Викор. батареї"</string>
+ <!-- no translation found for system_panel_settings_button (7832600575390861653) -->
+ <skip />
+ <string name="recent_tasks_title" msgid="3691764623638127888">"Останні"</string>
+ <!-- no translation found for recent_tasks_empty (1905484479067697884) -->
+ <skip />
+ <!-- no translation found for recent_tasks_app_label (3796483981246752469) -->
+ <skip />
+ <!-- no translation found for toast_rotation_free (2700542202836832631) -->
+ <skip />
+ <!-- no translation found for toast_rotation_locked (7484691306949652450) -->
+ <skip />
+</resources>
diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml
new file mode 100644
index 0000000..0a559da
--- /dev/null
+++ b/packages/SystemUI/res/values-vi/strings.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for app_label (7164937344850004466) -->
+ <skip />
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Xoá"</string>
+ <!-- no translation found for status_bar_do_not_disturb_button (5812628897510997853) -->
+ <skip />
+ <!-- no translation found for status_bar_please_disturb_button (3345398298841572813) -->
+ <skip />
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Không có thông báo nào"</string>
+ <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Đang diễn ra"</string>
+ <string name="status_bar_latest_events_title" msgid="6594767438577593172">"Thông báo"</string>
+ <string name="battery_low_title" msgid="7923774589611311406">"Vui lòng kết nối bộ sạc"</string>
+ <!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Pin đang yếu:"</string>
+ <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"còn <xliff:g id="NUMBER">%d%%</xliff:g> hoặc ít hơn."</string>
+ <!-- no translation found for invalid_charger (4549105996740522523) -->
+ <skip />
+ <string name="battery_low_why" msgid="7279169609518386372">"Sử dụng pin"</string>
+ <!-- no translation found for system_panel_settings_button (7832600575390861653) -->
+ <skip />
+ <string name="recent_tasks_title" msgid="3691764623638127888">"Gần đây"</string>
+ <!-- no translation found for recent_tasks_empty (1905484479067697884) -->
+ <skip />
+ <!-- no translation found for recent_tasks_app_label (3796483981246752469) -->
+ <skip />
+ <!-- no translation found for toast_rotation_free (2700542202836832631) -->
+ <skip />
+ <!-- no translation found for toast_rotation_locked (7484691306949652450) -->
+ <skip />
+</resources>
diff --git a/packages/SystemUI/res/values-xlarge/config.xml b/packages/SystemUI/res/values-xlarge/config.xml
index e6af4f5..e140914 100644
--- a/packages/SystemUI/res/values-xlarge/config.xml
+++ b/packages/SystemUI/res/values-xlarge/config.xml
@@ -26,5 +26,8 @@
interface. This name is in the ComponentName flattened format (package/class) -->
<string name="config_statusBarComponent">com.android.systemui.statusbar.tablet.TabletStatusBar</string>
+ <!-- Whether or not we show the number in the bar. -->
+ <bool name="config_statusBarShowNumber">false</bool>
+
</resources>
diff --git a/packages/SystemUI/res/values-xlarge/dimens.xml b/packages/SystemUI/res/values-xlarge/dimens.xml
new file mode 100644
index 0000000..5ae3982
--- /dev/null
+++ b/packages/SystemUI/res/values-xlarge/dimens.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (c) 2006, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+*/
+-->
+<resources>
+ <!-- The width of the big icons in notifications. -->
+ <dimen name="notification_large_icon_width">60dp</dimen>
+ <!-- The width of the big icons in notifications. -->
+ <dimen name="notification_large_icon_height">60dp</dimen>
+ <!-- The width of the ticker, including the icon -->
+ <dimen name="notification_ticker_width">360dp</dimen>
+ <!-- Status bar panel bottom offset (height of status bar - overlap) -->
+ <dimen name="status_bar_panel_bottom_offset">36dp</dimen>
+</resources>
+
+
diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml
index fd2cf99..964e69b 100644
--- a/packages/SystemUI/res/values/colors.xml
+++ b/packages/SystemUI/res/values/colors.xml
@@ -19,4 +19,5 @@
<resources>
<drawable name="notification_number_text_color">#ffffffff</drawable>
<drawable name="notification_item_background_color">#ff000000</drawable>
+ <drawable name="ticker_background_color">#ff1d1d1d</drawable>
</resources>
diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml
index 86beb14..05ed089 100644
--- a/packages/SystemUI/res/values/config.xml
+++ b/packages/SystemUI/res/values/config.xml
@@ -35,5 +35,8 @@
interface. This name is in the ComponentName flattened format (package/class) -->
<string name="config_statusBarComponent" translatable="false">com.android.systemui.statusbar.phone.PhoneStatusBar</string>
+ <!-- Whether or not we show the number in the bar. -->
+ <bool name="config_statusBarShowNumber">true</bool>
+
</resources>
diff --git a/packages/SystemUI/src/com/android/systemui/recent/RecentApplicationsActivity.java b/packages/SystemUI/src/com/android/systemui/recent/RecentApplicationsActivity.java
index ff2a4ed..a98ef0b 100644
--- a/packages/SystemUI/src/com/android/systemui/recent/RecentApplicationsActivity.java
+++ b/packages/SystemUI/src/com/android/systemui/recent/RecentApplicationsActivity.java
@@ -193,14 +193,13 @@ public class RecentApplicationsActivity extends Activity {
ActivityDescription item = mActivityDescriptions.get(n);
if (item.id >= 0) {
// This is an active task; it should just go to the foreground.
- IActivityManager am = ActivityManagerNative.getDefault();
- try {
- am.moveTaskToFront(item.id);
- } catch (RemoteException e) {
- }
+ final ActivityManager am = (ActivityManager)
+ getSystemService(Context.ACTIVITY_SERVICE);
+ am.moveTaskToFront(item.id, ActivityManager.MOVE_TASK_WITH_HOME);
} else if (item.intent != null) {
// prepare a launch intent and send it
- item.intent.addFlags(Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY);
+ item.intent.addFlags(Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY
+ | Intent.FLAG_ACTIVITY_TASK_ON_HOME);
try {
if (DBG) Log.v(TAG, "Starting intent " + item.intent);
startActivity(item.intent);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java
index 9a61be6..dbfbe11 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java
@@ -93,7 +93,8 @@ public class StatusBarIconView extends AnimatedImageView {
setImageLevel(icon.iconLevel);
}
if (!numberEquals) {
- if (icon.number > 0) {
+ if (icon.number > 0 && mContext.getResources().getBoolean(
+ R.bool.config_statusBarShowNumber)) {
if (mNumberBackground == null) {
mNumberBackground = getContext().getResources().getDrawable(
R.drawable.ic_notification_overlay);
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 2dad81c..915fa2f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
@@ -294,7 +294,7 @@ public class PhoneStatusBar extends StatusBar {
WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT,
- WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL,
+ WindowManager.LayoutParams.TYPE_STATUS_BAR_SUB_PANEL,
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
| WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS
| WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
@@ -1254,7 +1254,7 @@ public class PhoneStatusBar extends StatusBar {
lp = new WindowManager.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT,
- WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL,
+ WindowManager.LayoutParams.TYPE_STATUS_BAR_SUB_PANEL,
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
| WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS
| WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
@@ -1282,7 +1282,7 @@ public class PhoneStatusBar extends StatusBar {
lp.height = getExpandedHeight();
lp.x = 0;
mTrackingPosition = lp.y = -disph; // sufficiently large negative
- lp.type = WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL;
+ lp.type = WindowManager.LayoutParams.TYPE_STATUS_BAR_SUB_PANEL;
lp.flags = WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
| WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS
| WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
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 aed3dc7..5374957 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java
@@ -28,6 +28,7 @@ import android.util.Slog;
import android.view.HapticFeedbackConstants;
import android.view.IWindowManager;
import android.view.InputDevice;
+import android.view.KeyCharacterMap;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.ViewConfiguration;
@@ -133,7 +134,7 @@ public class KeyButtonView extends ImageView {
void sendEvent(int action, int flags, long when) {
final KeyEvent ev = new KeyEvent(mDownTime, when, action, mCode, mRepeat,
- 0, 0, 0, flags, InputDevice.SOURCE_KEYBOARD);
+ 0, KeyCharacterMap.VIRTUAL_KEYBOARD, 0, flags, InputDevice.SOURCE_KEYBOARD);
try {
//Slog.d(TAG, "injecting event " + ev);
mWindowManager.injectInputEventNoWait(ev);
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 4ff2429..18003dd 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java
@@ -37,6 +37,7 @@ import android.telephony.ServiceState;
import android.telephony.SignalStrength;
import android.telephony.TelephonyManager;
import android.util.Slog;
+import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
@@ -57,8 +58,6 @@ public class NetworkController extends BroadcastReceiver {
boolean mHspaDataDistinguishable;
final TelephonyManager mPhone;
boolean mDataConnected;
- int mPhoneSignalIconId;
- int mDataIconId;
IccCard.State mSimState = IccCard.State.READY;
int mPhoneState = TelephonyManager.CALL_STATE_IDLE;
int mDataState = TelephonyManager.DATA_DISCONNECTED;
@@ -66,6 +65,10 @@ public class NetworkController extends BroadcastReceiver {
ServiceState mServiceState;
SignalStrength mSignalStrength;
int[] mDataIconList = TelephonyIcons.DATA_G[0];
+ int mPhoneSignalIconId;
+ int mDataDirectionIconId;
+ int mDataSignalIconId;
+ int mDataTypeIconId;
// wifi
final WifiManager mWifiManager;
@@ -81,11 +84,17 @@ public class NetworkController extends BroadcastReceiver {
// our ui
Context mContext;
- ArrayList<ImageView> mPhoneIconViews = new ArrayList<ImageView>();
- ArrayList<ImageView> mDataIconViews = new ArrayList<ImageView>();
+ ArrayList<ImageView> mPhoneSignalIconViews = new ArrayList<ImageView>();
+ ArrayList<ImageView> mDataDirectionIconViews = new ArrayList<ImageView>();
+ ArrayList<ImageView> mWifiIconViews = new ArrayList<ImageView>();
+ ArrayList<ImageView> mCombinedSignalIconViews = new ArrayList<ImageView>();
+ ArrayList<ImageView> mDataTypeIconViews = new ArrayList<ImageView>();
ArrayList<TextView> mLabelViews = new ArrayList<TextView>();
int mLastPhoneSignalIconId = -1;
- int mLastCombinedDataIconId = -1;
+ int mLastDataDirectionIconId = -1;
+ int mLastWifiIconId = -1;
+ int mLastCombinedSignalIconId = -1;
+ int mLastDataTypeIconId = -1;
String mLastLabel = "";
// yuck -- stop doing this here and put it in the framework
@@ -116,7 +125,6 @@ public class NetworkController extends BroadcastReceiver {
IntentFilter filter = new IntentFilter();
filter.addAction(WifiManager.RSSI_CHANGED_ACTION);
filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
- filter.addAction(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION);
filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
filter.addAction(TelephonyIntents.ACTION_SIM_STATE_CHANGED);
context.registerReceiver(this, filter);
@@ -125,12 +133,24 @@ public class NetworkController extends BroadcastReceiver {
mBatteryStats = BatteryStatsService.getService();
}
- public void addPhoneIconView(ImageView v) {
- mPhoneIconViews.add(v);
+ public void addPhoneSignalIconView(ImageView v) {
+ mPhoneSignalIconViews.add(v);
+ }
+
+ public void addDataDirectionIconView(ImageView v) {
+ mDataDirectionIconViews.add(v);
+ }
+
+ public void addWifiIconView(ImageView v) {
+ mWifiIconViews.add(v);
+ }
+
+ public void addCombinedSignalIconView(ImageView v) {
+ mCombinedSignalIconViews.add(v);
}
- public void addCombinedDataIconView(ImageView v) {
- mDataIconViews.add(v);
+ public void addDataTypeIconView(ImageView v) {
+ mDataTypeIconViews.add(v);
}
public void addLabelView(TextView v) {
@@ -141,7 +161,6 @@ public class NetworkController extends BroadcastReceiver {
final String action = intent.getAction();
if (action.equals(WifiManager.RSSI_CHANGED_ACTION)
|| action.equals(WifiManager.WIFI_STATE_CHANGED_ACTION)
- || action.equals(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION)
|| action.equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
updateWifiState(intent);
refreshViews();
@@ -317,12 +336,15 @@ public class NetworkController extends BroadcastReceiver {
if (Settings.System.getInt(mContext.getContentResolver(),
Settings.System.AIRPLANE_MODE_ON, 0) == 1) {
mPhoneSignalIconId = R.drawable.stat_sys_signal_flightmode;
+ mDataSignalIconId = R.drawable.stat_sys_signal_flightmode;
} else {
mPhoneSignalIconId = R.drawable.stat_sys_signal_null;
+ mDataSignalIconId = R.drawable.stat_sys_signal_0; // note we use 0 instead of null
}
} else {
if (mSignalStrength == null) {
mPhoneSignalIconId = R.drawable.stat_sys_signal_null;
+ mDataSignalIconId = R.drawable.stat_sys_signal_0; // note we use 0 instead of null
} else if (isCdma()) {
// If 3G(EV) and 1x network are available than 3G should be
// displayed, displayed RSSI should be from the EV side.
@@ -340,6 +362,7 @@ public class NetworkController extends BroadcastReceiver {
iconList = TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH[mInetCondition];
}
mPhoneSignalIconId = iconList[iconLevel];
+ mDataSignalIconId = TelephonyIcons.DATA_SIGNAL_STRENGTH[mInetCondition][iconLevel];
} else {
int asu = mSignalStrength.getGsmSignalStrength();
@@ -362,6 +385,7 @@ public class NetworkController extends BroadcastReceiver {
iconList = TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH[mInetCondition];
}
mPhoneSignalIconId = iconList[iconLevel];
+ mDataSignalIconId = TelephonyIcons.DATA_SIGNAL_STRENGTH[mInetCondition][iconLevel];
}
}
}
@@ -370,36 +394,47 @@ public class NetworkController extends BroadcastReceiver {
switch (net) {
case TelephonyManager.NETWORK_TYPE_EDGE:
mDataIconList = TelephonyIcons.DATA_E[mInetCondition];
+ mDataTypeIconId = R.drawable.stat_sys_signal_edge;
break;
case TelephonyManager.NETWORK_TYPE_UMTS:
mDataIconList = TelephonyIcons.DATA_3G[mInetCondition];
+ mDataTypeIconId = R.drawable.stat_sys_signal_3g;
break;
case TelephonyManager.NETWORK_TYPE_HSDPA:
case TelephonyManager.NETWORK_TYPE_HSUPA:
case TelephonyManager.NETWORK_TYPE_HSPA:
if (mHspaDataDistinguishable) {
mDataIconList = TelephonyIcons.DATA_H[mInetCondition];
+ mDataTypeIconId = R.drawable.stat_sys_signal_hsdpa;
} else {
mDataIconList = TelephonyIcons.DATA_3G[mInetCondition];
+ mDataTypeIconId = R.drawable.stat_sys_signal_3g;
}
break;
case TelephonyManager.NETWORK_TYPE_CDMA:
// display 1xRTT for IS95A/B
mDataIconList = TelephonyIcons.DATA_1X[mInetCondition];
+ mDataTypeIconId = R.drawable.stat_sys_signal_1x;
break;
case TelephonyManager.NETWORK_TYPE_1xRTT:
mDataIconList = TelephonyIcons.DATA_1X[mInetCondition];
+ mDataTypeIconId = R.drawable.stat_sys_signal_1x;
break;
case TelephonyManager.NETWORK_TYPE_EVDO_0: //fall through
case TelephonyManager.NETWORK_TYPE_EVDO_A:
case TelephonyManager.NETWORK_TYPE_EVDO_B:
mDataIconList = TelephonyIcons.DATA_3G[mInetCondition];
+ mDataTypeIconId = R.drawable.stat_sys_signal_3g;
break;
// TODO - add support for NETWORK_TYPE_LTE and NETWORK_TYPE_EHRPD
default:
mDataIconList = TelephonyIcons.DATA_G[mInetCondition];
+ mDataTypeIconId = R.drawable.stat_sys_signal_gprs;
break;
}
+ if ((isCdma() && isCdmaEri()) || mPhone.isNetworkRoaming()) {
+ mDataTypeIconId = R.drawable.stat_sys_signal_roam;
+ }
}
boolean isCdmaEri() {
@@ -436,7 +471,7 @@ public class NetworkController extends BroadcastReceiver {
iconId = mDataIconList[0];
break;
}
- mDataIconId = iconId;
+ mDataDirectionIconId = iconId;
} else {
iconId = 0;
visible = false;
@@ -477,7 +512,7 @@ public class NetworkController extends BroadcastReceiver {
Binder.restoreCallingIdentity(ident);
}
- mDataIconId = iconId;
+ mDataDirectionIconId = iconId;
mDataConnected = visible;
}
@@ -489,8 +524,7 @@ public class NetworkController extends BroadcastReceiver {
mWifiEnabled = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE,
WifiManager.WIFI_STATE_UNKNOWN) == WifiManager.WIFI_STATE_ENABLED;
- } else if (action.equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)
- || action.equals(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION)) {
+ } else if (action.equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
final NetworkInfo networkInfo = (NetworkInfo)
intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
boolean wasConnected = mWifiConnected;
@@ -575,8 +609,10 @@ public class NetworkController extends BroadcastReceiver {
void refreshViews() {
Context context = mContext;
- int combinedDataIconId;
+ int combinedSignalIconId;
+ int dataTypeIconId;
String label;
+ int N;
if (mWifiConnected) {
if (mWifiSsid == null) {
@@ -585,35 +621,84 @@ public class NetworkController extends BroadcastReceiver {
label = context.getString(R.string.system_panel_signal_meter_wifi_ssid_format,
mWifiSsid);
}
- combinedDataIconId = mWifiIconId;
- } else if (mDataConnected) {
- label = context.getString(R.string.system_panel_signal_meter_data_connected);
- combinedDataIconId = mDataIconId;
+ combinedSignalIconId = mWifiIconId;
+ dataTypeIconId = 0;
} else {
- label = context.getString(R.string.system_panel_signal_meter_disconnected);
- combinedDataIconId = 0;
+ if (mDataConnected) {
+ label = context.getString(R.string.system_panel_signal_meter_data_connected);
+ } else {
+ label = context.getString(R.string.system_panel_signal_meter_disconnected);
+ }
+ combinedSignalIconId = mDataSignalIconId;
+ dataTypeIconId = mDataTypeIconId;
}
- int N;
+ if (false) {
+ Slog.d(TAG, "refreshViews combinedSignalIconId=0x"
+ + Integer.toHexString(mPhoneSignalIconId)
+ + " mPhoneSignalIconId=0x" + Integer.toHexString(mPhoneSignalIconId)
+ + " mDataDirectionIconId=0x" + Integer.toHexString(mDataDirectionIconId)
+ + " mDataSignalIconId=0x" + Integer.toHexString(mDataSignalIconId)
+ + " mDataTypeIconId=0x" + Integer.toHexString(mDataTypeIconId)
+ + " mWifiIconId=0x" + Integer.toHexString(mWifiIconId));
+ }
+ // the phone icon on phones
if (mLastPhoneSignalIconId != mPhoneSignalIconId) {
mLastPhoneSignalIconId = mPhoneSignalIconId;
- N = mPhoneIconViews.size();
+ N = mPhoneSignalIconViews.size();
for (int i=0; i<N; i++) {
- ImageView v = mPhoneIconViews.get(i);
+ final ImageView v = mPhoneSignalIconViews.get(i);
v.setImageResource(mPhoneSignalIconId);
}
}
- if (mLastCombinedDataIconId != combinedDataIconId) {
- mLastCombinedDataIconId = combinedDataIconId;
- N = mDataIconViews.size();
+ // the data icon on phones
+ if (mLastDataDirectionIconId != mDataDirectionIconId) {
+ mLastDataDirectionIconId = mDataDirectionIconId;
+ N = mDataDirectionIconViews.size();
for (int i=0; i<N; i++) {
- ImageView v = mDataIconViews.get(i);
- v.setImageResource(combinedDataIconId);
+ final ImageView v = mDataDirectionIconViews.get(i);
+ v.setImageResource(mDataDirectionIconId);
+ }
+ }
+
+ // the wifi icon on phones
+ if (mLastWifiIconId != mWifiIconId) {
+ mLastWifiIconId = mWifiIconId;
+ N = mWifiIconViews.size();
+ for (int i=0; i<N; i++) {
+ final ImageView v = mWifiIconViews.get(i);
+ v.setImageResource(mWifiIconId);
+ }
+ }
+
+ // the combined data signal icon
+ if (mLastCombinedSignalIconId != combinedSignalIconId) {
+ mLastCombinedSignalIconId = combinedSignalIconId;
+ N = mCombinedSignalIconViews.size();
+ for (int i=0; i<N; i++) {
+ final ImageView v = mCombinedSignalIconViews.get(i);
+ v.setImageResource(combinedSignalIconId);
+ }
+ }
+
+ // the data network type overlay
+ if (mLastDataTypeIconId != dataTypeIconId) {
+ mLastDataTypeIconId = dataTypeIconId;
+ N = mDataTypeIconViews.size();
+ for (int i=0; i<N; i++) {
+ final ImageView v = mDataTypeIconViews.get(i);
+ if (dataTypeIconId == 0) {
+ v.setVisibility(View.INVISIBLE);
+ } else {
+ v.setVisibility(View.VISIBLE);
+ v.setImageResource(dataTypeIconId);
+ }
}
}
+ // the label in the notification panel
if (!mLastLabel.equals(label)) {
mLastLabel = label;
N = mLabelViews.size();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java
index 050a746..94c68ac 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java
@@ -48,6 +48,8 @@ class TelephonyIcons {
R.drawable.stat_sys_r_signal_4_fully }
};
+ static final int[][] DATA_SIGNAL_STRENGTH = TELEPHONY_SIGNAL_STRENGTH;
+
//***** Data connection icons
//GSM/UMTS
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanel.java b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanel.java
index 80cb5b2..5f49d8c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanel.java
@@ -19,16 +19,16 @@ package com.android.systemui.statusbar.tablet;
import android.content.Context;
import android.util.AttributeSet;
import android.util.Slog;
-import android.widget.ImageView;
-import android.widget.RelativeLayout;
-import android.widget.TextView;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.FrameLayout;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
import com.android.systemui.R;
-public class NotificationPanel extends RelativeLayout implements StatusBarPanel,
+public class NotificationPanel extends LinearLayout implements StatusBarPanel,
View.OnClickListener {
static final String TAG = "NotificationPanel";
@@ -71,6 +71,29 @@ public class NotificationPanel extends RelativeLayout implements StatusBarPanel,
}
}
+ /**
+ * We need to be aligned at the bottom. LinearLayout can't do this, so instead,
+ * let LinearLayout do all the hard work, and then shift everything down to the bottom.
+ */
+ @Override
+ protected void onLayout(boolean changed, int l, int t, int r, int b) {
+ super.onLayout(changed, l, t, r, b);
+ // We know that none of our children are GONE, so don't worry about skipping GONE views.
+ final int N = getChildCount();
+ if (N == 0) {
+ return;
+ }
+ final int allocatedBottom = getChildAt(N-1).getBottom();
+ final int shift = b - allocatedBottom - getPaddingBottom();
+ if (shift <= 0) {
+ return;
+ }
+ for (int i=0; i<N; i++) {
+ final View c = getChildAt(i);
+ c.layout(c.getLeft(), c.getTop() + shift, c.getRight(), c.getBottom() + shift);
+ }
+ }
+
public void onClick(View v) {
if (v == mSettingsButton) {
switchToSettingsMode();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/RecentAppsPanel.java b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/RecentAppsPanel.java
index e0b05f9..0c31304 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/RecentAppsPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/RecentAppsPanel.java
@@ -252,13 +252,13 @@ public class RecentAppsPanel extends LinearLayout implements StatusBarPanel, OnC
ActivityDescription ad = (ActivityDescription)v.getTag();
if (ad.id >= 0) {
// This is an active task; it should just go to the foreground.
- IActivityManager am = ActivityManagerNative.getDefault();
- try {
- am.moveTaskToFront(ad.id);
- } catch (RemoteException e) {
- }
+ final ActivityManager am = (ActivityManager)
+ getContext().getSystemService(Context.ACTIVITY_SERVICE);
+ am.moveTaskToFront(ad.id, ActivityManager.MOVE_TASK_WITH_HOME);
} else {
Intent intent = ad.intent;
+ intent.addFlags(Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY
+ | Intent.FLAG_ACTIVITY_TASK_ON_HOME);
if (DEBUG) Log.v(TAG, "Starting activity " + intent);
getContext().startActivity(intent);
}
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 7c97ac7..a934cd7 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
@@ -19,9 +19,12 @@ package com.android.systemui.statusbar.tablet;
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.ArrayList;
+import java.util.Map;
+import java.util.IdentityHashMap;
import android.animation.LayoutTransition;
import android.animation.ObjectAnimator;
+import android.animation.AnimatorSet;
import android.app.ActivityManagerNative;
import android.app.PendingIntent;
import android.app.Notification;
@@ -129,8 +132,6 @@ public class TabletStatusBar extends StatusBar {
NotificationIconArea.IconLayout mIconLayout;
TabletTicker mTicker;
- View mTickerView;
- boolean mTicking;
// for disabling the status bar
int mDisabled = 0;
@@ -156,7 +157,7 @@ public class TabletStatusBar extends StatusBar {
mBatteryController.addIconView((ImageView)mNotificationPanel.findViewById(R.id.battery));
mBatteryController.addLabelView(
(TextView)mNotificationPanel.findViewById(R.id.battery_text));
- mNetworkController.addCombinedDataIconView(
+ mNetworkController.addCombinedSignalIconView(
(ImageView)mNotificationPanel.findViewById(R.id.network));
mNetworkController.addLabelView(
(TextView)mNotificationPanel.findViewById(R.id.network_text));
@@ -164,7 +165,7 @@ public class TabletStatusBar extends StatusBar {
mStatusBarView.setIgnoreChildren(0, mNotificationTrigger, mNotificationPanel);
WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
- ViewGroup.LayoutParams.WRAP_CONTENT,
+ ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL,
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
@@ -257,21 +258,6 @@ public class TabletStatusBar extends StatusBar {
mBarContents = sb.findViewById(R.id.bar_contents);
- // "shadows" of the status bar features, for lights-out mode
- mBackShadow = sb.findViewById(R.id.back_shadow);
- mHomeShadow = sb.findViewById(R.id.home_shadow);
- mRecentShadow = sb.findViewById(R.id.recent_shadow);
- mMenuShadow = sb.findViewById(R.id.menu_shadow);
- mNotificationShadow = sb.findViewById(R.id.notification_shadow);
-
- mShadowController = new ShadowController(false);
-
- mBackShadow.setOnTouchListener(mShadowController.makeTouchListener());
- mHomeShadow.setOnTouchListener(mShadowController.makeTouchListener());
- mRecentShadow.setOnTouchListener(mShadowController.makeTouchListener());
- mMenuShadow.setOnTouchListener(mShadowController.makeTouchListener());
- mNotificationShadow.setOnTouchListener(mShadowController.makeTouchListener());
-
// the whole right-hand side of the bar
mNotificationArea = sb.findViewById(R.id.notificationArea);
@@ -290,13 +276,13 @@ public class TabletStatusBar extends StatusBar {
mNotificationPeekTapDuration = vc.getTapTimeout();
mNotificationFlingVelocity = 300; // px/s
- mTicker = new TabletTicker(context, (FrameLayout)sb.findViewById(R.id.ticker));
+ mTicker = new TabletTicker(context);
// The icons
mBatteryController = new BatteryController(mContext);
mBatteryController.addIconView((ImageView)sb.findViewById(R.id.battery));
mNetworkController = new NetworkController(mContext);
- mNetworkController.addCombinedDataIconView((ImageView)sb.findViewById(R.id.network));
+ mNetworkController.addCombinedSignalIconView((ImageView)sb.findViewById(R.id.network));
// The navigation buttons
mNavigationArea = sb.findViewById(R.id.navigationArea);
@@ -310,6 +296,20 @@ public class TabletStatusBar extends StatusBar {
// The bar contents buttons
mInputMethodButton = (InputMethodButton) sb.findViewById(R.id.imeButton);
+ // "shadows" of the status bar features, for lights-out mode
+ mBackShadow = sb.findViewById(R.id.back_shadow);
+ mHomeShadow = sb.findViewById(R.id.home_shadow);
+ mRecentShadow = sb.findViewById(R.id.recent_shadow);
+ mMenuShadow = sb.findViewById(R.id.menu_shadow);
+ mNotificationShadow = sb.findViewById(R.id.notification_shadow);
+
+ mShadowController = new ShadowController(false);
+ mShadowController.add(mBackButton, mBackShadow);
+ mShadowController.add(mHomeButton, mHomeShadow);
+ mShadowController.add(mRecentButton, mRecentShadow);
+ mShadowController.add(mMenuButton, mMenuShadow);
+ mShadowController.add(mNotificationArea, mNotificationShadow);
+
// set the initial view visibility
setAreThereNotifications();
refreshNotificationTrigger();
@@ -383,20 +383,17 @@ public class TabletStatusBar extends StatusBar {
if (DEBUG) Slog.d(TAG, "opening notifications panel");
if (mNotificationPanel.getVisibility() == View.GONE) {
mNotificationPeekWindow.setVisibility(View.GONE);
-
mNotificationPanel.setVisibility(View.VISIBLE);
-
- // XXX: need to synchronize with shadows here
- mNotificationArea.setVisibility(View.GONE);
+ // synchronize with current shadow state
+ mShadowController.hideElement(mNotificationArea);
}
break;
case MSG_CLOSE_NOTIFICATION_PANEL:
if (DEBUG) Slog.d(TAG, "closing notifications panel");
if (mNotificationPanel.getVisibility() == View.VISIBLE) {
mNotificationPanel.setVisibility(View.GONE);
-
- // XXX: need to synchronize with shadows here
- mNotificationArea.setVisibility(View.VISIBLE);
+ // synchronize with current shadow state
+ mShadowController.showElement(mNotificationArea);
}
break;
case MSG_OPEN_RECENTS_PANEL:
@@ -462,7 +459,7 @@ public class TabletStatusBar extends StatusBar {
boolean immersive = false;
try {
immersive = ActivityManagerNative.getDefault().isTopActivityImmersive();
- Slog.d(TAG, "Top activity is " + (immersive?"immersive":"not immersive"));
+ //Slog.d(TAG, "Top activity is " + (immersive?"immersive":"not immersive"));
} catch (RemoteException ex) {
}
if (false && immersive) {
@@ -576,11 +573,13 @@ public class TabletStatusBar extends StatusBar {
if ((diff & StatusBarManager.DISABLE_NOTIFICATION_ICONS) != 0) {
if ((state & StatusBarManager.DISABLE_NOTIFICATION_ICONS) != 0) {
Slog.d(TAG, "DISABLE_NOTIFICATION_ICONS: yes");
- mNotificationIconArea.setVisibility(View.GONE);
+ // synchronize with current shadow state
+ mShadowController.hideElement(mNotificationArea);
mTicker.halt();
} else {
Slog.d(TAG, "DISABLE_NOTIFICATION_ICONS: no");
- mNotificationIconArea.setVisibility(View.VISIBLE);
+ // synchronize with current shadow state
+ mShadowController.showElement(mNotificationArea);
}
} else if ((diff & StatusBarManager.DISABLE_NOTIFICATION_TICKER) != 0) {
if ((state & StatusBarManager.DISABLE_NOTIFICATION_TICKER) != 0) {
@@ -599,9 +598,7 @@ public class TabletStatusBar extends StatusBar {
}
private boolean hasTicker(Notification n) {
- return !TextUtils.isEmpty(n.tickerText)
- || !TextUtils.isEmpty(n.tickerTitle)
- || !TextUtils.isEmpty(n.tickerSubtitle);
+ return n.tickerView != null || !TextUtils.isEmpty(n.tickerText);
}
private void tick(StatusBarNotification n) {
@@ -1001,13 +998,21 @@ public class TabletStatusBar extends StatusBar {
} catch (RemoteException ex) {
// system process is dead if we're here.
}
- // animateCollapse();
}
});
} else {
vetoButton.setVisibility(View.INVISIBLE);
}
+ // the large icon
+ ImageView largeIcon = (ImageView)row.findViewById(R.id.large_icon);
+ if (sbn.notification.largeIcon != null) {
+ largeIcon.setImageBitmap(sbn.notification.largeIcon);
+ } else {
+ largeIcon.getLayoutParams().width = 0;
+ largeIcon.setVisibility(View.INVISIBLE);
+ }
+
// bind the click event to the content area
ViewGroup content = (ViewGroup)row.findViewById(R.id.content);
// XXX: update to allow controls within notification views
@@ -1030,7 +1035,7 @@ public class TabletStatusBar extends StatusBar {
exception = e;
}
if (expanded == null) {
- String ident = sbn.pkg + "/0x" + Integer.toHexString(sbn.id);
+ final String ident = sbn.pkg + "/0x" + Integer.toHexString(sbn.id);
Slog.e(TAG, "couldn't inflate view for notification " + ident, exception);
return false;
} else {
@@ -1047,11 +1052,57 @@ public class TabletStatusBar extends StatusBar {
public class ShadowController {
boolean mShowShadows;
+ Map<View, View> mShadowsForElements = new IdentityHashMap<View, View>(7);
+ Map<View, View> mElementsForShadows = new IdentityHashMap<View, View>(7);
+ LayoutTransition mElementTransition, mShadowTransition;
+
View mTouchTarget;
ShadowController(boolean showShadows) {
mShowShadows = showShadows;
mTouchTarget = null;
+
+ mElementTransition = new LayoutTransition();
+// AnimatorSet s = new AnimatorSet();
+// s.play(ObjectAnimator.ofInt(null, "top", 48, 0))
+// .with(ObjectAnimator.ofFloat(null, "scaleY", 0.5f, 1f))
+// .with(ObjectAnimator.ofFloat(null, "alpha", 0.5f, 1f))
+// ;
+ mElementTransition.setAnimator(LayoutTransition.APPEARING, //s);
+ ObjectAnimator.ofInt(null, "top", 48, 0));
+ mElementTransition.setDuration(LayoutTransition.APPEARING, 100);
+ mElementTransition.setStartDelay(LayoutTransition.APPEARING, 0);
+
+// s = new AnimatorSet();
+// s.play(ObjectAnimator.ofInt(null, "top", 0, 48))
+// .with(ObjectAnimator.ofFloat(null, "scaleY", 1f, 0.5f))
+// .with(ObjectAnimator.ofFloat(null, "alpha", 1f, 0.5f))
+// ;
+ mElementTransition.setAnimator(LayoutTransition.DISAPPEARING, //s);
+ ObjectAnimator.ofInt(null, "top", 0, 48));
+ mElementTransition.setDuration(LayoutTransition.DISAPPEARING, 400);
+
+ mShadowTransition = new LayoutTransition();
+ mShadowTransition.setAnimator(LayoutTransition.APPEARING,
+ ObjectAnimator.ofFloat(null, "alpha", 0f, 1f));
+ mShadowTransition.setDuration(LayoutTransition.APPEARING, 200);
+ mShadowTransition.setStartDelay(LayoutTransition.APPEARING, 100);
+ mShadowTransition.setAnimator(LayoutTransition.DISAPPEARING,
+ ObjectAnimator.ofFloat(null, "alpha", 1f, 0f));
+ mShadowTransition.setDuration(LayoutTransition.DISAPPEARING, 100);
+
+ ViewGroup bar = (ViewGroup) TabletStatusBar.this.mBarContents;
+ bar.setLayoutTransition(mElementTransition);
+ ViewGroup nav = (ViewGroup) TabletStatusBar.this.mNavigationArea;
+ nav.setLayoutTransition(mElementTransition);
+ ViewGroup shadowGroup = (ViewGroup) bar.findViewById(R.id.shadows);
+ shadowGroup.setLayoutTransition(mShadowTransition);
+ }
+
+ public void add(View element, View shadow) {
+ shadow.setOnTouchListener(makeTouchListener());
+ mShadowsForElements.put(element, shadow);
+ mElementsForShadows.put(shadow, element);
}
public boolean getShadowState() {
@@ -1067,17 +1118,7 @@ public class TabletStatusBar extends StatusBar {
// currently redirecting events?
if (mTouchTarget == null) {
- if (v == mBackShadow) {
- mTouchTarget = mBackButton;
- } else if (v == mHomeShadow) {
- mTouchTarget = mHomeButton;
- } else if (v == mMenuShadow) {
- mTouchTarget = mMenuButton;
- } else if (v == mRecentShadow) {
- mTouchTarget = mRecentButton;
- } else if (v == mNotificationShadow) {
- mTouchTarget = mNotificationArea;
- }
+ mTouchTarget = mElementsForShadows.get(v);
}
if (mTouchTarget != null && mTouchTarget.getVisibility() != View.GONE) {
@@ -1094,7 +1135,7 @@ public class TabletStatusBar extends StatusBar {
break;
case MotionEvent.ACTION_DOWN:
mHandler.removeMessages(MSG_RESTORE_SHADOWS);
- setShadowForButton(mTouchTarget, false);
+ setElementShadow(mTouchTarget, false);
break;
}
mTouchTarget.dispatchTouchEvent(ev);
@@ -1108,11 +1149,9 @@ public class TabletStatusBar extends StatusBar {
}
public void refresh() {
- setShadowForButton(mBackButton, mShowShadows);
- setShadowForButton(mHomeButton, mShowShadows);
- setShadowForButton(mRecentButton, mShowShadows);
- setShadowForButton(mMenuButton, mShowShadows);
- setShadowForButton(mNotificationArea, mShowShadows);
+ for (View element : mShadowsForElements.keySet()) {
+ setElementShadow(element, mShowShadows);
+ }
}
public void showAllShadows() {
@@ -1127,19 +1166,8 @@ public class TabletStatusBar extends StatusBar {
// Use View.INVISIBLE for things hidden due to shadowing, and View.GONE for things that are
// disabled (and should not be shadowed or re-shown)
- public void setShadowForButton(View button, boolean shade) {
- View shadow = null;
- if (button == mBackButton) {
- shadow = mBackShadow;
- } else if (button == mHomeButton) {
- shadow = mHomeShadow;
- } else if (button == mMenuButton) {
- shadow = mMenuShadow;
- } else if (button == mRecentButton) {
- shadow = mRecentShadow;
- } else if (button == mNotificationArea) {
- shadow = mNotificationShadow;
- }
+ public void setElementShadow(View button, boolean shade) {
+ View shadow = mShadowsForElements.get(button);
if (shadow != null) {
if (button.getVisibility() != View.GONE) {
shadow.setVisibility(shade ? View.VISIBLE : View.INVISIBLE);
@@ -1147,6 +1175,26 @@ public class TabletStatusBar extends StatusBar {
}
}
}
+
+ // Hide both element and shadow, using default layout animations.
+ public void hideElement(View button) {
+ Slog.d(TAG, "hiding: " + button);
+ View shadow = mShadowsForElements.get(button);
+ if (shadow != null) {
+ shadow.setVisibility(View.GONE);
+ }
+ button.setVisibility(View.GONE);
+ }
+
+ // Honoring the current shadow state.
+ public void showElement(View button) {
+ Slog.d(TAG, "showing: " + button);
+ View shadow = mShadowsForElements.get(button);
+ if (shadow != null) {
+ shadow.setVisibility(mShowShadows ? View.VISIBLE : View.INVISIBLE);
+ }
+ button.setVisibility(mShowShadows ? View.INVISIBLE : View.VISIBLE);
+ }
}
public class TouchOutsideListener implements View.OnTouchListener {
@@ -1171,15 +1219,6 @@ public class TabletStatusBar extends StatusBar {
}
}
- private void setViewVisibility(View v, int vis, int anim) {
- if (v.getVisibility() != vis) {
- //Slog.d(TAG, "setViewVisibility vis=" + (vis == View.VISIBLE) + " v=" + v);
- v.setAnimation(AnimationUtils.loadAnimation(mContext, anim));
- v.setVisibility(vis);
- }
- }
-
-
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
pw.print("mDisabled=0x");
pw.println(Integer.toHexString(mDisabled));
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletTicker.java b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletTicker.java
index 3c3139f..b05fe1a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletTicker.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletTicker.java
@@ -16,9 +16,14 @@
package com.android.systemui.statusbar.tablet;
+import java.util.Arrays;
+
import android.app.Notification;
import android.content.Context;
+import android.content.res.Resources;
import android.graphics.Bitmap;
+import android.graphics.PixelFormat;
+import android.graphics.drawable.Drawable;
import android.os.Handler;
import android.os.Message;
import android.util.Slog;
@@ -26,16 +31,18 @@ import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.view.WindowManager;
+import android.view.WindowManagerImpl;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
+import com.android.internal.statusbar.StatusBarIcon;
import com.android.internal.statusbar.StatusBarNotification;
import com.android.systemui.R;
-
-import java.util.Arrays;
+import com.android.systemui.statusbar.StatusBarIconView;
public class TabletTicker extends Handler {
private static final String TAG = "StatusBar.TabletTicker";
@@ -45,17 +52,16 @@ public class TabletTicker extends Handler {
private static final int ADVANCE_DELAY = 5000; // 5 seconds
private Context mContext;
- private FrameLayout mParent;
+ private ViewGroup mWindow;
private StatusBarNotification mCurrentNotification;
private View mCurrentView;
private StatusBarNotification[] mQueue;
private int mQueuePos;
- public TabletTicker(Context context, FrameLayout parent) {
+ public TabletTicker(Context context) {
mContext = context;
- mParent = parent;
// TODO: Make this a configuration value.
// 3 is enough to let us see most cases, but not get so far behind that it's annoying.
@@ -102,18 +108,33 @@ public class TabletTicker extends Handler {
private void advance() {
// Out with the old...
if (mCurrentView != null) {
- mParent.removeView(mCurrentView);
+ mWindow.removeView(mCurrentView);
mCurrentView = null;
mCurrentNotification = null;
}
// In with the new...
- final StatusBarNotification next = dequeue();
- if (next != null) {
+ StatusBarNotification next = dequeue();
+ while (next != null) {
mCurrentNotification = next;
mCurrentView = makeTickerView(next);
- mParent.addView(mCurrentView);
- sendEmptyMessageDelayed(MSG_ADVANCE, ADVANCE_DELAY);
+ if (mCurrentView != null) {
+ if (mWindow == null) {
+ mWindow = makeWindow();
+ WindowManagerImpl.getDefault().addView(mWindow, mWindow.getLayoutParams());
+ }
+ mWindow.addView(mCurrentView);
+ sendEmptyMessageDelayed(MSG_ADVANCE, ADVANCE_DELAY);
+ break;
+ }
+ next = dequeue();
+ }
+
+ // if there's nothing left, close the window
+ // TODO: Do this when the animation is done instead
+ if (mCurrentView == null) {
+ WindowManagerImpl.getDefault().removeView(mWindow);
+ mWindow = null;
}
}
@@ -133,46 +154,77 @@ public class TabletTicker extends Handler {
return notification;
}
+ private ViewGroup makeWindow() {
+ final Resources res = mContext.getResources();
+ final FrameLayout view = new FrameLayout(mContext);
+ final int width = res.getDimensionPixelSize(R.dimen.notification_ticker_width);
+ final int height = res.getDimensionPixelSize(R.dimen.notification_large_icon_height);
+ WindowManager.LayoutParams lp = new WindowManager.LayoutParams(width, height,
+ WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL,
+ WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
+ | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
+ | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS
+ | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
+ PixelFormat.TRANSLUCENT);
+ lp.gravity = Gravity.BOTTOM | Gravity.RIGHT;
+ lp.setTitle("NotificationTicker");
+ view.setLayoutParams(lp);
+ return view;
+ }
+
private View makeTickerView(StatusBarNotification notification) {
final Notification n = notification.notification;
LayoutInflater inflater = (LayoutInflater)mContext.getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
- int layoutId;
ViewGroup group;
- if (n.tickerTitle != null || n.tickerSubtitle != null) {
- group = (ViewGroup)inflater.inflate(R.layout.ticker, mParent, false);
- if (n.tickerTitle != null) {
- final TextView title = (TextView)group.findViewById(R.id.title);
- title.setText(n.tickerTitle);
+ int layoutId;
+ int iconId;
+ if (n.largeIcon != null) {
+ iconId = R.id.right_icon;
+ } else {
+ iconId = R.id.left_icon;
+ }
+ if (n.tickerView != null) {
+ group = (ViewGroup)inflater.inflate(R.layout.ticker, null, false);
+ View expanded = null;
+ Exception exception = null;
+ try {
+ expanded = n.tickerView.apply(mContext, group);
}
- if (n.tickerSubtitle != null) {
- final TextView subtitle = (TextView)group.findViewById(R.id.subtitle);
- subtitle.setText(n.tickerSubtitle);
+ catch (RuntimeException e) {
+ exception = e;
}
- } else {
- group = (ViewGroup)inflater.inflate(R.layout.ticker_compat, mParent, false);
+ if (expanded == null) {
+ final String ident = notification.pkg
+ + "/0x" + Integer.toHexString(notification.id);
+ Slog.e(TAG, "couldn't inflate view for notification " + ident, exception);
+ return null;
+ }
+ final int statusBarHeight = mContext.getResources().getDimensionPixelSize(
+ com.android.internal.R.dimen.status_bar_height);
+ LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
+ ViewGroup.LayoutParams.WRAP_CONTENT, statusBarHeight, 1.0f);
+ lp.gravity = Gravity.BOTTOM;
+ group.addView(expanded, lp);
+ } else if (n.tickerText != null) {
+ group = (ViewGroup)inflater.inflate(R.layout.ticker_compat, mWindow, false);
+ final Drawable icon = StatusBarIconView.getIcon(mContext,
+ new StatusBarIcon(notification.pkg, n.icon, n.iconLevel, 0));
+ ImageView iv = (ImageView)group.findViewById(iconId);
+ iv.setImageDrawable(icon);
+ iv.setVisibility(View.VISIBLE);
TextView tv = (TextView)group.findViewById(R.id.text);
tv.setText(n.tickerText);
+ } else {
+ throw new RuntimeException("tickerView==null && tickerText==null");
}
-
- // No more than 2 icons.
- if (n.tickerIcons != null) {
- int N = n.tickerIcons.length;
- if (N > 2) {
- N = 2;
- }
- for (int i=N-1; i>= 0; i--) {
- Bitmap b = n.tickerIcons[i];
- if (b != null) {
- ImageView iv = (ImageView)inflater.inflate(R.layout.ticker_icon, group, false);
- iv.setImageBitmap(b);
- group.addView(iv, 0);
- }
- }
+ ImageView largeIcon = (ImageView)group.findViewById(R.id.large_icon);
+ if (n.largeIcon != null) {
+ largeIcon.setImageBitmap(n.largeIcon);
+ largeIcon.setVisibility(View.VISIBLE);
}
-
return group;
}
}
diff --git a/packages/TtsService/src/android/tts/TtsService.java b/packages/TtsService/src/android/tts/TtsService.java
index c977ba3..08bbfb2 100755
--- a/packages/TtsService/src/android/tts/TtsService.java
+++ b/packages/TtsService/src/android/tts/TtsService.java
@@ -496,7 +496,7 @@ public class TtsService extends Service implements OnCompletionListener {
* engines.
*/
private int speak(String callingApp, String text, int queueMode, ArrayList<String> params) {
- Log.v(SERVICE_TAG, "TTS service received " + text);
+ // Log.v(SERVICE_TAG, "TTS service received " + text);
if (queueMode == TextToSpeech.QUEUE_FLUSH) {
stop(callingApp);
} else if (queueMode == 2) {
@@ -705,27 +705,27 @@ public class TtsService extends Service implements OnCompletionListener {
}
}
- public void onCompletion(MediaPlayer arg0) {
- // mCurrentSpeechItem may become null if it is stopped at the same
- // time it completes.
- SpeechItem currentSpeechItemCopy = mCurrentSpeechItem;
- if (currentSpeechItemCopy != null) {
- String callingApp = currentSpeechItemCopy.mCallingApp;
- ArrayList<String> params = currentSpeechItemCopy.mParams;
- String utteranceId = "";
- if (params != null) {
- for (int i = 0; i < params.size() - 1; i = i + 2) {
- String param = params.get(i);
- if (param.equals(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID)) {
- utteranceId = params.get(i + 1);
- }
- }
- }
- if (utteranceId.length() > 0) {
- dispatchUtteranceCompletedCallback(utteranceId, callingApp);
- }
- }
- processSpeechQueue();
+ public void onCompletion(MediaPlayer arg0) {
+ // mCurrentSpeechItem may become null if it is stopped at the same
+ // time it completes.
+ SpeechItem currentSpeechItemCopy = mCurrentSpeechItem;
+ if (currentSpeechItemCopy != null) {
+ String callingApp = currentSpeechItemCopy.mCallingApp;
+ ArrayList<String> params = currentSpeechItemCopy.mParams;
+ String utteranceId = "";
+ if (params != null) {
+ for (int i = 0; i < params.size() - 1; i = i + 2) {
+ String param = params.get(i);
+ if (param.equals(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID)) {
+ utteranceId = params.get(i + 1);
+ }
+ }
+ }
+ if (utteranceId.length() > 0) {
+ dispatchUtteranceCompletedCallback(utteranceId, callingApp);
+ }
+ }
+ processSpeechQueue();
}
private int playSilence(String callingApp, long duration, int queueMode,
@@ -1064,7 +1064,7 @@ public class TtsService extends Service implements OnCompletionListener {
SoundResource sr = getSoundResource(mCurrentSpeechItem);
// Synth speech as needed - synthesizer should call
// processSpeechQueue to continue running the queue
- Log.v(SERVICE_TAG, "TTS processing: " + mCurrentSpeechItem.mText);
+ // Log.v(SERVICE_TAG, "TTS processing: " + mCurrentSpeechItem.mText);
if (sr == null) {
if (mCurrentSpeechItem.mType == SpeechItem.TEXT) {
mCurrentSpeechItem = splitCurrentTextIfNeeded(mCurrentSpeechItem);
@@ -1462,8 +1462,8 @@ public class TtsService extends Service implements OnCompletionListener {
*
* @return SUCCESS or ERROR as defined in android.speech.tts.TextToSpeech.
*/
- public int setEngineByPackageName(String packageName) {
- return mSelf.setEngine(packageName);
+ public int setEngineByPackageName(String packageName) {
+ return mSelf.setEngine(packageName);
}
/**
diff --git a/packages/VpnServices/res/values-ar/strings.xml b/packages/VpnServices/res/values-ar/strings.xml
new file mode 100644
index 0000000..6bac120
--- /dev/null
+++ b/packages/VpnServices/res/values-ar/strings.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4589592829302498102">"خدمات الشبكة الظاهرية الخاصة (VPN)"</string>
+ <string name="vpn_notification_title_connected" msgid="8598654486956133580">"تم توصيل الشبكة الظاهرية الخاصة (VPN) لـ <xliff:g id="PROFILENAME">%s</xliff:g>"</string>
+ <string name="vpn_notification_title_disconnected" msgid="6216572264382192027">"تم فصل الشبكة الظاهرية الخاصة (VPN) لـ <xliff:g id="PROFILENAME">%s</xliff:g>"</string>
+ <string name="vpn_notification_hint_disconnected" msgid="1952209867082269429">"يمكنك اللمس لإعادة الاتصال بالشبكة الظاهرية الخاصة (VPN)."</string>
+</resources>
diff --git a/packages/VpnServices/res/values-bg/strings.xml b/packages/VpnServices/res/values-bg/strings.xml
new file mode 100644
index 0000000..fdcbf64
--- /dev/null
+++ b/packages/VpnServices/res/values-bg/strings.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4589592829302498102">"VPN услуги"</string>
+ <string name="vpn_notification_title_connected" msgid="8598654486956133580">"Връзката с VPN <xliff:g id="PROFILENAME">%s</xliff:g> бе установена"</string>
+ <string name="vpn_notification_title_disconnected" msgid="6216572264382192027">"Връзката с VPN <xliff:g id="PROFILENAME">%s</xliff:g> бе прекъсната"</string>
+ <string name="vpn_notification_hint_disconnected" msgid="1952209867082269429">"Докоснете за повторно свързване с VPN."</string>
+</resources>
diff --git a/packages/VpnServices/res/values-ca/strings.xml b/packages/VpnServices/res/values-ca/strings.xml
new file mode 100644
index 0000000..b37790a
--- /dev/null
+++ b/packages/VpnServices/res/values-ca/strings.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4589592829302498102">"Serveis VPN"</string>
+ <string name="vpn_notification_title_connected" msgid="8598654486956133580">"VPN <xliff:g id="PROFILENAME">%s</xliff:g> connectada"</string>
+ <string name="vpn_notification_title_disconnected" msgid="6216572264382192027">"VPN <xliff:g id="PROFILENAME">%s</xliff:g> desconnectada"</string>
+ <string name="vpn_notification_hint_disconnected" msgid="1952209867082269429">"Toqueu-ho per tornar-vos a connectar a una VPN."</string>
+</resources>
diff --git a/packages/VpnServices/res/values-en-rGB/strings.xml b/packages/VpnServices/res/values-en-rGB/strings.xml
new file mode 100644
index 0000000..905c265
--- /dev/null
+++ b/packages/VpnServices/res/values-en-rGB/strings.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4589592829302498102">"VPN Services"</string>
+ <string name="vpn_notification_title_connected" msgid="8598654486956133580">"<xliff:g id="PROFILENAME">%s</xliff:g> VPN connected"</string>
+ <string name="vpn_notification_title_disconnected" msgid="6216572264382192027">"<xliff:g id="PROFILENAME">%s</xliff:g> VPN disconnected"</string>
+ <string name="vpn_notification_hint_disconnected" msgid="1952209867082269429">"Touch to reconnect to a VPN."</string>
+</resources>
diff --git a/packages/VpnServices/res/values-fa/strings.xml b/packages/VpnServices/res/values-fa/strings.xml
new file mode 100644
index 0000000..7cee16d
--- /dev/null
+++ b/packages/VpnServices/res/values-fa/strings.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4589592829302498102">"سرویس های VPN"</string>
+ <string name="vpn_notification_title_connected" msgid="8598654486956133580">"<xliff:g id="PROFILENAME">%s</xliff:g> VPN وصل شد"</string>
+ <string name="vpn_notification_title_disconnected" msgid="6216572264382192027">"<xliff:g id="PROFILENAME">%s</xliff:g> VPN قطع شد"</string>
+ <string name="vpn_notification_hint_disconnected" msgid="1952209867082269429">"برای اتصال مجدد به VPN لمس کنید."</string>
+</resources>
diff --git a/packages/VpnServices/res/values-fi/strings.xml b/packages/VpnServices/res/values-fi/strings.xml
new file mode 100644
index 0000000..b15202a
--- /dev/null
+++ b/packages/VpnServices/res/values-fi/strings.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4589592829302498102">"VPN-palvelut"</string>
+ <string name="vpn_notification_title_connected" msgid="8598654486956133580">"<xliff:g id="PROFILENAME">%s</xliff:g>: VPN-yhteys muodostettu"</string>
+ <string name="vpn_notification_title_disconnected" msgid="6216572264382192027">"<xliff:g id="PROFILENAME">%s</xliff:g>: VPN-yhteys katkaistu"</string>
+ <string name="vpn_notification_hint_disconnected" msgid="1952209867082269429">"Yhdistä VPN-verkkoon uudelleen koskettamalla."</string>
+</resources>
diff --git a/packages/VpnServices/res/values-he/strings.xml b/packages/VpnServices/res/values-he/strings.xml
new file mode 100644
index 0000000..74971d6
--- /dev/null
+++ b/packages/VpnServices/res/values-he/strings.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4589592829302498102">"שירותי VPN"</string>
+ <string name="vpn_notification_title_connected" msgid="8598654486956133580">"VPN של <xliff:g id="PROFILENAME">%s</xliff:g> מחובר"</string>
+ <string name="vpn_notification_title_disconnected" msgid="6216572264382192027">"VPN של <xliff:g id="PROFILENAME">%s</xliff:g> נותק"</string>
+ <string name="vpn_notification_hint_disconnected" msgid="1952209867082269429">"גע כדי להתחבר שוב ל-VPN."</string>
+</resources>
diff --git a/packages/VpnServices/res/values-hr/strings.xml b/packages/VpnServices/res/values-hr/strings.xml
new file mode 100644
index 0000000..aedb536
--- /dev/null
+++ b/packages/VpnServices/res/values-hr/strings.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4589592829302498102">"VPN usluge"</string>
+ <string name="vpn_notification_title_connected" msgid="8598654486956133580">"<xliff:g id="PROFILENAME">%s</xliff:g> VPN priključen"</string>
+ <string name="vpn_notification_title_disconnected" msgid="6216572264382192027">"<xliff:g id="PROFILENAME">%s</xliff:g> VPN je isključen"</string>
+ <string name="vpn_notification_hint_disconnected" msgid="1952209867082269429">"Dotaknite za ponovno povezivanje s VPN-om."</string>
+</resources>
diff --git a/packages/VpnServices/res/values-hu/strings.xml b/packages/VpnServices/res/values-hu/strings.xml
new file mode 100644
index 0000000..44f5427
--- /dev/null
+++ b/packages/VpnServices/res/values-hu/strings.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4589592829302498102">"VPN-szolgáltatások"</string>
+ <string name="vpn_notification_title_connected" msgid="8598654486956133580">"Kapcsolódva a(z) <xliff:g id="PROFILENAME">%s</xliff:g> virtuális magánhálózathoz"</string>
+ <string name="vpn_notification_title_disconnected" msgid="6216572264382192027">"Kapcsolat bontva a(z) <xliff:g id="PROFILENAME">%s</xliff:g> virtuális magánhálózattal"</string>
+ <string name="vpn_notification_hint_disconnected" msgid="1952209867082269429">"Érintse meg az újracsatlakozáshoz."</string>
+</resources>
diff --git a/packages/VpnServices/res/values-id/strings.xml b/packages/VpnServices/res/values-id/strings.xml
new file mode 100644
index 0000000..8b6b4c2
--- /dev/null
+++ b/packages/VpnServices/res/values-id/strings.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4589592829302498102">"Layanan VPN"</string>
+ <string name="vpn_notification_title_connected" msgid="8598654486956133580">"VPN <xliff:g id="PROFILENAME">%s</xliff:g> terhubung"</string>
+ <string name="vpn_notification_title_disconnected" msgid="6216572264382192027">"VPN <xliff:g id="PROFILENAME">%s</xliff:g> terputus"</string>
+ <string name="vpn_notification_hint_disconnected" msgid="1952209867082269429">"Sentuh untuk terhubung kembali ke suatu VPN."</string>
+</resources>
diff --git a/packages/VpnServices/res/values-lt/strings.xml b/packages/VpnServices/res/values-lt/strings.xml
new file mode 100644
index 0000000..58f1f58
--- /dev/null
+++ b/packages/VpnServices/res/values-lt/strings.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4589592829302498102">"VPT paslaugos"</string>
+ <string name="vpn_notification_title_connected" msgid="8598654486956133580">"<xliff:g id="PROFILENAME">%s</xliff:g> VPT prijungtas"</string>
+ <string name="vpn_notification_title_disconnected" msgid="6216572264382192027">"<xliff:g id="PROFILENAME">%s</xliff:g> VPT atjungtas"</string>
+ <string name="vpn_notification_hint_disconnected" msgid="1952209867082269429">"Palieskite, kad būtų iš naujo sujungta su VPT."</string>
+</resources>
diff --git a/packages/VpnServices/res/values-lv/strings.xml b/packages/VpnServices/res/values-lv/strings.xml
new file mode 100644
index 0000000..cb80908
--- /dev/null
+++ b/packages/VpnServices/res/values-lv/strings.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4589592829302498102">"VPN pakalpojumi"</string>
+ <string name="vpn_notification_title_connected" msgid="8598654486956133580">"<xliff:g id="PROFILENAME">%s</xliff:g> VPN ir savienots"</string>
+ <string name="vpn_notification_title_disconnected" msgid="6216572264382192027">"<xliff:g id="PROFILENAME">%s</xliff:g> VPN ir atvienots"</string>
+ <string name="vpn_notification_hint_disconnected" msgid="1952209867082269429">"Pieskarieties, lai atkārtoti izveidotu savienojumu ar VPN."</string>
+</resources>
diff --git a/packages/VpnServices/res/values-ro/strings.xml b/packages/VpnServices/res/values-ro/strings.xml
new file mode 100644
index 0000000..a22792c
--- /dev/null
+++ b/packages/VpnServices/res/values-ro/strings.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4589592829302498102">"Servicii VPN"</string>
+ <string name="vpn_notification_title_connected" msgid="8598654486956133580">"VPN <xliff:g id="PROFILENAME">%s</xliff:g> conectat"</string>
+ <string name="vpn_notification_title_disconnected" msgid="6216572264382192027">"VPN <xliff:g id="PROFILENAME">%s</xliff:g> deconectat"</string>
+ <string name="vpn_notification_hint_disconnected" msgid="1952209867082269429">"Atingeţi pentru a vă reconecta la o reţea VPN."</string>
+</resources>
diff --git a/packages/VpnServices/res/values-sk/strings.xml b/packages/VpnServices/res/values-sk/strings.xml
new file mode 100644
index 0000000..167b6f3
--- /dev/null
+++ b/packages/VpnServices/res/values-sk/strings.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4589592829302498102">"Služby VPN"</string>
+ <string name="vpn_notification_title_connected" msgid="8598654486956133580">"Sieť VPN <xliff:g id="PROFILENAME">%s</xliff:g> je pripojená"</string>
+ <string name="vpn_notification_title_disconnected" msgid="6216572264382192027">"Sieť VPN <xliff:g id="PROFILENAME">%s</xliff:g> odpojená"</string>
+ <string name="vpn_notification_hint_disconnected" msgid="1952209867082269429">"Dotykom sa znova pripojíte k sieti VPN."</string>
+</resources>
diff --git a/packages/VpnServices/res/values-sl/strings.xml b/packages/VpnServices/res/values-sl/strings.xml
new file mode 100644
index 0000000..c5b72c4
--- /dev/null
+++ b/packages/VpnServices/res/values-sl/strings.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4589592829302498102">"Storitve VPN"</string>
+ <string name="vpn_notification_title_connected" msgid="8598654486956133580">"VPN profila <xliff:g id="PROFILENAME">%s</xliff:g> je povezan"</string>
+ <string name="vpn_notification_title_disconnected" msgid="6216572264382192027">"VPN profila <xliff:g id="PROFILENAME">%s</xliff:g> je izklopljen"</string>
+ <string name="vpn_notification_hint_disconnected" msgid="1952209867082269429">"Dotaknite se, če želite preklopiti v navidezno zasebno omrežje."</string>
+</resources>
diff --git a/packages/VpnServices/res/values-sr/strings.xml b/packages/VpnServices/res/values-sr/strings.xml
new file mode 100644
index 0000000..bfe6cc8
--- /dev/null
+++ b/packages/VpnServices/res/values-sr/strings.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4589592829302498102">"VPN услуге"</string>
+ <string name="vpn_notification_title_connected" msgid="8598654486956133580">"<xliff:g id="PROFILENAME">%s</xliff:g> VPN веза је успостављена"</string>
+ <string name="vpn_notification_title_disconnected" msgid="6216572264382192027">"<xliff:g id="PROFILENAME">%s</xliff:g> VPN веза је прекинута"</string>
+ <string name="vpn_notification_hint_disconnected" msgid="1952209867082269429">"Додирните да бисте се поново повезали са VPN-ом."</string>
+</resources>
diff --git a/packages/VpnServices/res/values-th/strings.xml b/packages/VpnServices/res/values-th/strings.xml
new file mode 100644
index 0000000..3aa9c6e
--- /dev/null
+++ b/packages/VpnServices/res/values-th/strings.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4589592829302498102">"บริการ VPN"</string>
+ <string name="vpn_notification_title_connected" msgid="8598654486956133580">"<xliff:g id="PROFILENAME">%s</xliff:g> เชื่อมต่อ VPN แล้ว"</string>
+ <string name="vpn_notification_title_disconnected" msgid="6216572264382192027">"<xliff:g id="PROFILENAME">%s</xliff:g> ตัดการเชื่อมต่อ VPN แล้ว"</string>
+ <string name="vpn_notification_hint_disconnected" msgid="1952209867082269429">"แตะเพื่อเชื่อมต่อกับ VPN อีกครั้ง"</string>
+</resources>
diff --git a/packages/VpnServices/res/values-tl/strings.xml b/packages/VpnServices/res/values-tl/strings.xml
new file mode 100644
index 0000000..bd988a1
--- /dev/null
+++ b/packages/VpnServices/res/values-tl/strings.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4589592829302498102">"Mga serbisyo ng VPN"</string>
+ <string name="vpn_notification_title_connected" msgid="8598654486956133580">"Hindi konektado ang <xliff:g id="PROFILENAME">%s</xliff:g> VPN"</string>
+ <string name="vpn_notification_title_disconnected" msgid="6216572264382192027">"Hindi konektado ang <xliff:g id="PROFILENAME">%s</xliff:g> VPN"</string>
+ <string name="vpn_notification_hint_disconnected" msgid="1952209867082269429">"Galawin upang muling kumonekta sa VPN."</string>
+</resources>
diff --git a/packages/VpnServices/res/values-uk/strings.xml b/packages/VpnServices/res/values-uk/strings.xml
new file mode 100644
index 0000000..208659a
--- /dev/null
+++ b/packages/VpnServices/res/values-uk/strings.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4589592829302498102">"Служби VPN"</string>
+ <string name="vpn_notification_title_connected" msgid="8598654486956133580">"<xliff:g id="PROFILENAME">%s</xliff:g> підключ. ч-з VPN"</string>
+ <string name="vpn_notification_title_disconnected" msgid="6216572264382192027">"VPN <xliff:g id="PROFILENAME">%s</xliff:g> роз\'єднано"</string>
+ <string name="vpn_notification_hint_disconnected" msgid="1952209867082269429">"Натисн. для повт. з\'єдн. з VPN."</string>
+</resources>
diff --git a/packages/VpnServices/res/values-vi/strings.xml b/packages/VpnServices/res/values-vi/strings.xml
new file mode 100644
index 0000000..3022c9c
--- /dev/null
+++ b/packages/VpnServices/res/values-vi/strings.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="4589592829302498102">"Dịch vụ VPN"</string>
+ <string name="vpn_notification_title_connected" msgid="8598654486956133580">"Đã kết nối VPN <xliff:g id="PROFILENAME">%s</xliff:g>"</string>
+ <string name="vpn_notification_title_disconnected" msgid="6216572264382192027">"Đã ngắt kết nối VPN <xliff:g id="PROFILENAME">%s</xliff:g>"</string>
+ <string name="vpn_notification_hint_disconnected" msgid="1952209867082269429">"Chạm để kết nối lại với VPN."</string>
+</resources>