summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrint E. Kriebel <bekit@cyngn.com>2014-11-03 18:31:31 -0800
committerBrint E. Kriebel <bekit@cyngn.com>2014-11-03 18:31:31 -0800
commit20b94b6820458e4e9303f3a84e216cdcb48bfbcf (patch)
treec61a69c713c7dd5645e1238ee2397237529b14df
parent763d37d048d1c88d30c494484e104488723979f6 (diff)
parenta8059acb634796c0b8d15c3bd1aed6469c763425 (diff)
downloadandroid_packages_apps_DeskClock-20b94b6820458e4e9303f3a84e216cdcb48bfbcf.tar.gz
android_packages_apps_DeskClock-20b94b6820458e4e9303f3a84e216cdcb48bfbcf.tar.bz2
android_packages_apps_DeskClock-20b94b6820458e4e9303f3a84e216cdcb48bfbcf.zip
Merge branch 'cm-11.0' into stable/cm-11.0
-rw-r--r--res/values-cy/array.xml55
-rw-r--r--res/values-de/cm_strings.xml1
-rw-r--r--res/values-el/cm_strings.xml2
-rw-r--r--res/values-iw/cm_strings.xml5
-rw-r--r--res/values-lb/array.xml34
-rw-r--r--res/values-lb/strings.xml211
-rw-r--r--res/values-lv/cm_strings.xml60
-rw-r--r--res/values-sv/cm_strings.xml1
-rw-r--r--res/values-tr/cm_strings.xml16
-rw-r--r--res/values-ug/array.xml333
-rw-r--r--res/values-ug/strings.xml311
-rw-r--r--res/values-uk/cm_strings.xml5
-rw-r--r--res/values-zh-rTW/cm_strings.xml4
-rw-r--r--src/com/android/deskclock/AlarmClockFragment.java27
-rw-r--r--src/com/android/deskclock/Utils.java32
-rw-r--r--src/com/android/deskclock/alarms/AlarmKlaxon.java12
16 files changed, 1063 insertions, 46 deletions
diff --git a/res/values-cy/array.xml b/res/values-cy/array.xml
new file mode 100644
index 000000000..7d1a0cf57
--- /dev/null
+++ b/res/values-cy/array.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+ Copyright (C) 2012 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT 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>
+ <array name="snooze_dismiss_drawables">
+ <item>@drawable/ic_alarm_alert_dismiss</item>
+ <item>@null</item>
+ <item>@drawable/ic_alarm_alert_snooze</item>
+ <item>@null</item>
+ </array>
+ <array name="snooze_dismiss_descriptions">
+ <item>@string/alarm_alert_dismiss_text</item>
+ <item>@null</item>
+ <item>@string/alarm_alert_snooze_text</item>
+ <item>@null</item>
+ </array>
+ <array name="snooze_dismiss_direction_descriptions">
+ <item>@string/description_direction_right</item>
+ <item>@null</item>
+ <item>@string/description_direction_left</item>
+ <item>@null</item>
+ </array>
+ <array name="dismiss_drawables">
+ <item>@drawable/ic_alarm_alert_dismiss</item>
+ <item>@null</item>
+ <item>@null</item>
+ <item>@null</item>
+ </array>
+ <array name="dismiss_descriptions">
+ <item>@string/alarm_alert_dismiss_text</item>
+ <item>@null</item>
+ <item>@null</item>
+ <item>@null</item>
+ </array>
+ <array name="dismiss_direction_descriptions">
+ <item>@string/description_direction_right</item>
+ <item>@null</item>
+ <item>@null</item>
+ <item>@null</item>
+ </array>
+</resources>
diff --git a/res/values-de/cm_strings.xml b/res/values-de/cm_strings.xml
index 02f148e6c..c03ceceb5 100644
--- a/res/values-de/cm_strings.xml
+++ b/res/values-de/cm_strings.xml
@@ -56,4 +56,5 @@
<string name="alarm_select_ringtone">Klingelton</string>
<string name="alarm_select_external">Musik</string>
<string name="ringtone_default">"Standard-Klingelton"</string>
+ <string name="take_persistent_grant_uri_permission_failed_msg">Dauerhafte Berechtigung zum Ändern des Klingeltons konnte nicht eingeholt werden</string>
</resources>
diff --git a/res/values-el/cm_strings.xml b/res/values-el/cm_strings.xml
index fb85b7849..6c6c8e2fa 100644
--- a/res/values-el/cm_strings.xml
+++ b/res/values-el/cm_strings.xml
@@ -17,7 +17,7 @@
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="show_status_bar_icon_title">Εμφάνιση εικονιδίου</string>
- <string name="show_status_bar_icon_summary">Εμφάνιση εικονιδίου στη γραμμή κατάστασης όταν έχει ρυθμιστεί ένα ξυπνητήρι</string>
+ <string name="show_status_bar_icon_summary">Εμφάνιση εικονιδίου στη γραμμή κατάστασης όταν έχει οριστεί ώρα αφύπνισης</string>
<string name="alarm_increasing_volume">Αυξανόμενη ένταση</string>
<string name="profile_description">Προφίλ <xliff:g id="profile">%s</xliff:g></string>
<string name="profile_no_selected">Δεν επιλέχθηκε προφίλ</string>
diff --git a/res/values-iw/cm_strings.xml b/res/values-iw/cm_strings.xml
index ae3024a4b..eb4dbad82 100644
--- a/res/values-iw/cm_strings.xml
+++ b/res/values-iw/cm_strings.xml
@@ -52,4 +52,9 @@
<string name="alarm_type_ringtone">צלצול</string>
<string name="alarm_type_random">אקראי</string>
<string name="warn_silent_alarm_title">שעון מעורר מושתק בעוצמה</string>
+ <string name="alarm_select">בחר צלצול</string>
+ <string name="alarm_select_ringtone">צליל חיוג</string>
+ <string name="alarm_select_external">מוזיקה</string>
+ <string name="ringtone_default">"רינגטון ברירת מחדל"</string>
+ <string name="take_persistent_grant_uri_permission_failed_msg">אין אפשרות לקבל הרשאות תמידיות לרינגטון</string>
</resources>
diff --git a/res/values-lb/array.xml b/res/values-lb/array.xml
index 73c914f81..c87697887 100644
--- a/res/values-lb/array.xml
+++ b/res/values-lb/array.xml
@@ -316,38 +316,38 @@
<item>Tegucigalpa</item>
<item>Paramaribo</item>
<item>Quito</item>
- <item>Marshall Islands</item>
- <item>Midway Island</item>
+ <item>Marshallinselen</item>
+ <item>Midwayinselen</item>
<item>Regina</item>
<item>Manaus</item>
- <item>Araguaina</item>
- <item>Godthab</item>
- <item>South Georgia</item>
- <item>Azores</item>
+ <item>Araguaína</item>
+ <item>Nuuk</item>
+ <item>Südgeorgien</item>
+ <item>Azoren</item>
<item>Windhoek</item>
- <item>Tbilisi</item>
- <item>Yerevan</item>
+ <item>Tiflis</item>
+ <item>Jerewan</item>
<item>Oral</item>
- <item>Yekaterinburg</item>
- <item>Krasnoyarsk</item>
+ <item>Jekaterinburg</item>
+ <item>Krasnojarsk</item>
<item>Irkutsk</item>
- <item>Yakutsk</item>
+ <item>Jakutsk</item>
<item>Hobart</item>
<item>Magadan</item>
<item>Tongatapu</item>
<item>Aklavik</item>
<item>Montgomery</item>
- <item>Geneva</item>
- <item>Odesa</item>
+ <item>Genf</item>
+ <item>Odessa</item>
<item>Aden</item>
<item>Abu Dhabi</item>
- <item>Tashkent</item>
- <item>New Delhi</item>
+ <item>Taschhkent</item>
+ <item>Nei-Delhi</item>
<item>Suva</item>
<item>Wellington</item>
<item>Chatham</item>
- <item>Vladivostok</item>
- <item>Kamchatka</item>
+ <item>Wladiwostok</item>
+ <item>Kamtschatka</item>
</string-array>
<array name="snooze_dismiss_drawables">
<item>@drawable/ic_alarm_alert_dismiss</item>
diff --git a/res/values-lb/strings.xml b/res/values-lb/strings.xml
index 29aa48590..d5c5ef4ff 100644
--- a/res/values-lb/strings.xml
+++ b/res/values-lb/strings.xml
@@ -19,12 +19,14 @@
<string name="alarm_list_title">Weckeren</string>
<string name="add_alarm">Wecker dobäisetzen</string>
<string name="alarm_timeline_title_text">NÄCHST WECKEREN</string>
+ <string name="menu_desk_clock">Dësch-Auer</string>
<string name="menu_edit_alarm">Wecker änneren</string>
<string name="delete_alarm">Wecker läschen</string>
<string name="enable_alarm">Wecker uschalten</string>
<string name="disable_alarm">Wecker ausschalten</string>
<string name="delete_alarm_confirm">Dëse Wecker läschen?</string>
<string name="show_clock">Auer uweisen</string>
+ <string name="hide_clock">Auer verstoppen</string>
<string name="label">Beschreiwung</string>
<string name="default_label">Wecker</string>
<string name="set_alarm">Wecker setzen</string>
@@ -35,8 +37,35 @@
<string name="time">Zäit</string>
<string name="alarm_alert_dismiss_text">Verwerfen</string>
<string name="alarm_alert_dismiss_now_text">Elo verwerfen</string>
+ <string name="alarm_missed_title">Verpasste Wecker</string>
<string name="alarm_missed_text"><xliff:g id="alarm_time">%s</xliff:g> - <xliff:g id="alarm_label">%s</xliff:g></string>
+ <string name="alarm_alert_snooze_text">Näipen</string>
+ <plurals name="alarm_alert_snooze_set">
+ <item quantity="one">Näipe fir 1 Minutt.</item>
+ <item quantity="other">Näipe fir <xliff:g id="minutes">%d</xliff:g> Minutten.</item>
+ </plurals>
+ <string name="alarm_alert_snooze_until">Näipe bis <xliff:g id="time">%s</xliff:g></string>
+ <string name="alarm_alert_predismiss_title">Nächste Wecker</string>
+ <string name="missed_alarm_has_been_deleted">Däi verpasste Wecker gouf geläscht</string>
+ <string-array name="timer_notifications">
+ <item>Manner wéi eng Minutt iwwreg</item>
+ <item><xliff:g id="HOURS" example="2 hours">%1$s</xliff:g> iwwreg</item>
+ <item><xliff:g id="MINUTES" example="2 minutes">%2$s</xliff:g> iwwreg</item>
+ <item><xliff:g id="HOURS" example="2 hours">%1$s</xliff:g> <xliff:g id="MINUTES" example="2 minutes">%2$s</xliff:g> iwwreg</item>
+ </string-array>
+ <string-array name="alarm_set">
+ <item>Wecker gesat fir manner wéi 1 Minutt vun elo un.</item>
+ <item>Wecker gesat fir <xliff:g id="DAYS" example="2 days">%1$s</xliff:g> vun elo un.</item>
+ <item>Wecker gesat fir <xliff:g id="HOURS" example="2 hours">%2$s</xliff:g> vun elo un.</item>
+ <item>Wecker gesat fir <xliff:g id="DAYS" example="2 days">%1$s</xliff:g> a(n) <xliff:g id="HOURS" example="2 hours">%2$s</xliff:g> vun elo un.</item>
+ <item>Wecker gesat fir <xliff:g id="MINUTES" example="2 minutes">%3$s</xliff:g> vun elo un.</item>
+ <item>Wecker gesat fir <xliff:g id="DAYS" example="2 days">%1$s</xliff:g> a(n) <xliff:g id="MINUTES" example="2 minutes">%3$s</xliff:g> vun elo un.</item>
+ <item>Wecker gesat fir <xliff:g id="HOURS" example="2 hours">%2$s</xliff:g> a(n) <xliff:g id="MINUTES" example="2 minutes">%3$s</xliff:g> vun elo un.</item>
+ <item>Wecker gesat fir <xliff:g id="DAYS" example="2 days">%1$s</xliff:g>, <xliff:g id="HOURS" example="2 hours">%2$s</xliff:g> a(n) <xliff:g id="MINUTES" example="2 minutes">%3$s</xliff:g> vun elo un.</item>
+ </string-array>
<string name="days">"<xliff:g id="days">%s</xliff:g> Deeg"</string>
+ <string name="hours"><xliff:g id="hours">%s</xliff:g> Stonnen</string>
+ <string name="minutes">"<xliff:g id="minutes">%s</xliff:g> Minutten"</string>
<string name="every_day">All Dag</string>
<string name="never">Ni</string>
<string name="day_concat">", "</string>
@@ -44,10 +73,16 @@
<string name="analog_gadget">Analogauer</string>
<string name="help">Hëllef</string>
<string name="settings">Astellungen</string>
+ <string name="snooze_duration_title">Näipdauer</string>
<plurals name="snooze_duration">
<item quantity="one">1 Minutt</item>
<item quantity="other"><xliff:g id="count">%d</xliff:g> Minutten</item>
</plurals>
+ <plurals name="snooze_picker_label">
+ <item quantity="one">Minutt</item>
+ <item quantity="other">Minutten</item>
+ </plurals>
+ <string name="auto_silence_title">Stomm no</string>
<string name="auto_silence_summary"><xliff:g id="minutes">%d</xliff:g> Minutten</string>
<string name="auto_silence_never">Ni</string>
<string-array name="auto_silence_entries">
@@ -60,32 +95,65 @@
<item>Ni</item>
</string-array>
<string name="done">Fäerdeg</string>
+ <string name="revert">Zrécksetzen</string>
<string name="delete">Läschen</string>
<string name="alarm_volume_title">Weckerlautstäerkt</string>
<string name="silent_alarm_summary">Roueg</string>
+ <string name="alarm_notify_text">Näipen oder Wecker verwerfen.</string>
+ <string name="alarm_notify_snooze_label"><xliff:g id="label">%s</xliff:g> (genäipt)</string>
+ <string name="alarm_notify_snooze_text">Wecker gesat fir <xliff:g id="time">%s</xliff:g>. Drécke fir ofzebriechen.</string>
+ <string name="volume_button_setting_title">Lautstäerktknäppercher</string>
+ <string name="volume_button_dialog_title">Knäppercherseffekt</string>
<string-array name="volume_button_setting_entries">
- <item>Snooze</item>
+ <item>Näipen</item>
<item>Verwerfen</item>
- <item>Do nothing</item>
+ <item>Näischt maachen</item>
</string-array>
+ <string name="default_ringtone_setting_title">Als Standard-Schelltoun setzen</string>
+ <string name="alarm_button_description">Weckeren</string>
+ <string name="gallery_button_description">Galerie</string>
+ <string name="music_button_description">Musek</string>
+ <string name="nightmode_button_description">Dimmen</string>
+ <string name="home_button_description">Heemknäppchen</string>
+ <string name="desk_clock_button_description">Auerenusiicht</string>
+ <string name="label_description">Beschreiwung</string>
<string name="ringtone_description">Schelltoun</string>
<string name="battery_charging_level"><xliff:g id="number">%d</xliff:g><xliff:g id="percent">%%</xliff:g></string>
+ <string name="weather_fetch_failure">Wiederinformatioun momentan net disponibel.</string>
+ <string name="alarm_klaxon_service_desc">Tounservice fir d\'Weckeren.</string>
+ <string name="loading_ringtone">Schelltoun gëtt gelueden\u2026</string>
+ <string name="timer_ring_service_desc">Tounservicer fir d\'Sandaueren.</string>
<string name="control_set_alarm">Wecker setzen</string>
+ <string name="control_set_alarm_with_existing"><xliff:g id="time">%s</xliff:g></string>
<string name="menu_alarm">Wecker</string>
+ <string name="menu_timer">Sandauer</string>
<string name="menu_clock">Auer</string>
+ <string name="menu_stopwatch">Stoppauer</string>
<string name="button_alarms">Weckeren</string>
<string name="button_cities">Stied</string>
+ <string name="button_menu">Méi Optiounen</string>
<string name="menu_item_settings">Astellungen</string>
<string name="menu_item_help">Hëllef</string>
+ <string name="menu_item_night_mode">Nuetsmodus</string>
+ <string name="menu_item_sort_by_gmt_offset">No Zäit zortéieren</string>
+ <string name="menu_item_sort_by_name">No Numm zortéieren</string>
+ <string name="selected_cities_label">Ausgewielt Stied</string>
+ <string name="sw_resume_button">Weider</string>
<string name="sw_start_button">Start</string>
<string name="sw_stop_button">Stopp</string>
<string name="sw_lap_button">Ronn</string>
<string name="sw_reset_button">Zrécksetzen</string>
<string name="sw_share_button">Deelen</string>
+ <string name="hours_label">St</string>
+ <string name="minutes_label">M</string>
+ <string name="seconds_label">S</string>
<string name="hours_label_description">Stonnen</string>
<string name="minutes_label_description">Minutten</string>
<string name="seconds_label_description">Sekonnen</string>
<string name="zero">0</string>
+ <string name="sw_share_main">Meng Zäit ass <xliff:g id="time">%s</xliff:g></string>
+ <string name="sw_share_laps">Ronnenzäiten:</string>
+ <string name="sw_notification_lap_number">Ronn <xliff:g id="number">%d</xliff:g></string>
<plurals name="Nhours_description">
<item quantity="one">1 Stonn</item>
<item quantity="other"><xliff:g id="count">%d</xliff:g> Stonnen</item>
@@ -98,12 +166,29 @@
<item quantity="one">1 Sekonn</item>
<item quantity="other"><xliff:g id="count">%d</xliff:g> Sekonnen</item>
</plurals>
+ <string name="timer_add_timer">Sandauer dobäisetzen</string>
<string name="timer_start">Start</string>
<string name="timer_delete">Läschen</string>
+ <string name="timer_plus_one">Eng Minutt méi</string>
+ <string name="timer_plus_1_min">Eng Min. méi</string>
<string name="timer_stop">Stopp</string>
<string name="timer_done">Fäerdeg</string>
<string name="timer_reset">Zrécksetzen</string>
<string name="timer_cancel">Ofbriechen</string>
+ <string name="timer_times_up">D\'Zäit ass eriwwer</string>
+ <string name="timer_notification_label">Sandauer</string>
+ <string-array name="sw_share_strings" translatable="true">
+ <item>Du bass verdäiwelt séier.</item>
+ <item>Genéiss d\'Friichte vun denger Aarbecht.</item>
+ <item>Androide si bekannt fir séier ze sinn, awer net sou séier wéi s du!</item>
+ <item>Puh!</item>
+ <item>L33t-Zäiten.</item>
+ <item>Wahnsinnsgeschwindegkeet.</item>
+ <item>Let\'s do the time warp again.</item>
+ <item>Just a jump to the left.</item>
+ <item>Dir schéngt den Hënner ze brennen.</item>
+ <item>Photonevitess.</item>
+ </string-array>
<plurals name="timers_num">
<item quantity="one">1 Minutt</item>
<item quantity="other"><xliff:g id="count">%d</xliff:g> Minutten</item>
@@ -112,6 +197,12 @@
<string name="cities_activity_title">Stied</string>
<string name="clock_settings">AUER</string>
<string name="clock_style">Stil</string>
+ <string-array name="clock_style_entries">
+ <item>Analog</item>
+ <item>Digital</item>
+ </string-array>
+ <string name="automatic_home_clock">Automatesch Heemechtsauer</string>
+ <string name="automatic_home_clock_summary">Beim Reesen an engem Gebitt wou d\'Zäit anescht ass, eng Auer fir d\'Zäit doheem dobäisetzen</string>
<string name="home_time_zone">Heemechtszäitzon</string>
<string name="home_time_zone_title">Heemechtszäitzon</string>
<string name="time_picker_cancel">Ofbriechen</string>
@@ -120,9 +211,125 @@
<string name="time_picker_ampm_label">--</string>
<string name="time_picker_00_label">:00</string>
<string name="time_picker_30_label">:30</string>
+ <string-array name="timezone_labels">
+ <item>"Marshallinselen"</item>
+ <item>"Midwayinselen"</item>
+ <item>"Hawaii"</item>
+ <item>"Alaska"</item>
+ <item>"Pacific Standard Time (PST)"</item>
+ <item>"Tijuana"</item>
+ <item>"Arizona"</item>
+ <item>"Chihuahua"</item>
+ <item>"Mountain Standard Time (MST)"</item>
+ <item>"Zentralamerika"</item>
+ <item>"Central Standard Time (CST)"</item>
+ <item>"Mexiko-Stad"</item>
+ <item>"Saskatchewan"</item>
+ <item>"Bogotá"</item>
+ <item>"Eastern Standard Time (EST)"</item>
+ <item>"Venezuela"</item>
+ <item>"Atlantic Standard Time (EST, Barbados)"</item>
+ <item>"Atlantic Standard Time (EST, Kanada)"</item>
+ <item>"Manaus"</item>
+ <item>"Santiago de Chile"</item>
+ <item>"Neifundland"</item>
+ <item>"Brasília"</item>
+ <item>"Buenos Aires"</item>
+ <item>"Grönland"</item>
+ <item>"Montevideo"</item>
+ <item>"Mëttelatlantik"</item>
+ <item>"Azoren"</item>
+ <item>"Kap Verde"</item>
+ <item>"Casablanca"</item>
+ <item>"London, Dublin"</item>
+ <item>"Amsterdam, Berlin"</item>
+ <item>"Belgrad"</item>
+ <item>"Bréissel"</item>
+ <item>"Sarajevo"</item>
+ <item>"Windhoek"</item>
+ <item>"Westafrikanesch Zäit"</item>
+ <item>"Amman, Jordanien"</item>
+ <item>"Athen, Istanbul"</item>
+ <item>"Beirut, Libanon"</item>
+ <item>"Kairo"</item>
+ <item>"Helsinki"</item>
+ <item>"Jerusalem"</item>
+ <item>"Minsk"</item>
+ <item>"Harare"</item>
+ <item>"Bagdad"</item>
+ <item>"Moskau"</item>
+ <item>"Kuwait"</item>
+ <item>"Nairobi"</item>
+ <item>"Teheran"</item>
+ <item>"Baku"</item>
+ <item>"Tiflis"</item>
+ <item>"Jerewan"</item>
+ <item>"Dubai"</item>
+ <item>"Kabul"</item>
+ <item>"Islamabad, Karachi"</item>
+ <item>"Ural'sk"</item>
+ <item>"Jekaterinburg"</item>
+ <item>"Kolkata"</item>
+ <item>"Sri Lanka"</item>
+ <item>"Kathmandu"</item>
+ <item>"Astana"</item>
+ <item>"Rangun"</item>
+ <item>"Krasnojarsk"</item>
+ <item>"Bangkok"</item>
+ <item>"Beijing"</item>
+ <item>"Hong Kong"</item>
+ <item>"Irkutsk"</item>
+ <item>"Kuala Lumpur"</item>
+ <item>"Perth"</item>
+ <item>"Taipeh"</item>
+ <item>"Seoul"</item>
+ <item>"Tokio, Osaka"</item>
+ <item>"Jakutsk"</item>
+ <item>"Adelaide"</item>
+ <item>"Darwin"</item>
+ <item>"Brisbane"</item>
+ <item>"Hobart"</item>
+ <item>"Sidney, Canberra"</item>
+ <item>"Wladiwostok"</item>
+ <item>"Guam"</item>
+ <item>"Magadan"</item>
+ <item>"Auckland"</item>
+ <item>"Fidschi"</item>
+ <item>"Tonga"</item>
+ <item>"Jakarta"</item>
+ </string-array>
<string name="alarm_settings">WECKEREN</string>
+ <string name="see_all">All kucken&#8230;</string>
+ <string name="stopwatch_service_desc">Notifikatioun iwwer de Stoppauer-Service.</string>
+ <string name="swn_stopped">Gestoppt</string>
+ <string name="description_direction_right">No riets wësche fir ze verwerfen</string>
+ <string name="description_direction_left">No lénks wësche fir ze näipen</string>
+ <string name="description_direction_up">Erop wësche fir ze verwerfen</string>
+ <string name="description_direction_down">Erof wësche fir ze näipen</string>
+ <string name="timer_stopped">Sandauer gestoppt</string>
+ <string name="timers_stopped"><xliff:g id="number" example="7">%d</xliff:g> Sandauere gestoppt</string>
+ <string name="all_timers_stopped_notif">Dréck fir deng Sandaueren ze gesinn</string>
+ <string name="timers_in_use"><xliff:g id="number" example="7">%d</xliff:g> Sandaueren</string>
+ <string name="next_timer_notif">Nächst Sandauer: <xliff:g id="time_remaining" example="2 minutes remaining">%s</xliff:g></string>
+ <string name="screensaver_settings">Dramastellungen</string>
+ <string name="night_mode_title">Nuetsmodus</string>
+ <string name="night_mode_summary">Ganz ofgedonkelte Schierm (fir däischter Raim)</string>
+ <string name="expand_alarm">Wecker opklappen</string>
+ <string name="collapse_alarm">Wecker zesummeklappen</string>
+ <string name="alarm_undo">réckgängeg machen</string>
+ <string name="alarm_deleted">Wecker geläscht.</string>
<string name="slash"> / </string>
<string name="world_day_of_week_label"> / <xliff:g id="label">%s</xliff:g></string>
+ <string name="next_alarm_description">Nächste Wecker: <xliff:g id="alarm_time" example="Wed 8:00am">%s</xliff:g></string>
+ <string name="alarms_selected"><xliff:g id="alarms">%d</xliff:g> ausgewielt</string>
<string name="deleted_message">Geläscht</string>
+ <plurals name="alarm_delete_confirmation">
+ <item quantity="one">Den ausgewielte Wecker läschen?</item>
+ <item quantity="other">Déi ausgewielt Weckere läschen?</item>
+ </plurals>
+ <string name="timer_delete_confirmation">Dës Sandauer läschen?</string>
+ <string name="city_delete_confirmation">Dës Stad läschen?</string>
<string name="digital_gadget">Digitalauer</string>
+ <string name="no_alarms">Keng Weckeren</string>
+ <string name="no_upcoming_alarms">KENG WECKERE GEPLANGT</string>
</resources>
diff --git a/res/values-lv/cm_strings.xml b/res/values-lv/cm_strings.xml
new file mode 100644
index 000000000..bf6041269
--- /dev/null
+++ b/res/values-lv/cm_strings.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+ Copyright (C) 2012-2014 The CyanogenMod Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="show_status_bar_icon_title">Rādīt ikonu</string>
+ <string name="show_status_bar_icon_summary">Kad ir iestatīts modinātājs, rādīt ikonu statusa joslā</string>
+ <string name="alarm_increasing_volume">Pieaugošs skaļums</string>
+ <string name="profile_description">Profils <xliff:g id="profile">%s</xliff:g></string>
+ <string name="profile_no_selected">Profils nav izvēlēts</string>
+ <string name="menu_item_add">Pievienot</string>
+ <string name="cities_add_city_title">Pievienot pilsētu</string>
+ <string name="cities_add_city_city">Pilsēta:</string>
+ <string name="cities_add_city_timezone">Laika josla:</string>
+ <string name="cities_add_city_gps_cd">Piesitiet, lai lokalizētu jūsu pašreizējo pilsētu</string>
+ <string name="cities_add_loading">Ielādē\u2026</string>
+ <string name="cities_add_searching">Meklē\u2026</string>
+ <string name="cities_add_gps_no_results">GPS pieprasījums neatgrieza atrašanās vietu</string>
+ <string name="cities_add_gps_not_available">GPS nav pieejams</string>
+ <string name="cities_add_already_exists">Pilsētas jau pastāv datu bāzē</string>
+ <string name="cities_add_city_failed">Neizdevās izveidot pilsētu</string>
+ <string name="cities_delete_city_title">Dzēst pilsētu</string>
+ <string name="cities_delete_city_msg">Vai vēlaties dzēst <xliff:g id="city">%s</xliff:g>?</string>
+ <string name="cities_delete_city_failed">Neizdevās izdzēst pilsētu</string>
+ <string name="flip_action_title">Apmešanas darbība</string>
+ <string name="flip_action_dialog_title" product="tablet">Apmetot planšeti uz\u2026</string>
+ <string name="flip_action_dialog_title" product="default">Apmetot telefonu uz\u2026</string>
+ <string name="flip_action_summary" product="tablet">Apmetot planšeti uz leju <xliff:g id="action">%s</xliff:g></string>
+ <string name="flip_action_summary" product="default">Apmetot telefonu uz leju <xliff:g id="action">%s</xliff:g></string>
+ <string name="shake_action_title">Kratīšanas darbība</string>
+ <string name="shake_action_dialog_title" product="tablet">Kratot planšeti uz\u2026</string>
+ <string name="shake_action_dialog_title" product="default">Kratot telefonu uz\u2026</string>
+ <string name="shake_action_summary" product="tablet">Kratot planšeti tiks <xliff:g id="action">%s</xliff:g></string>
+ <string name="shake_action_summary" product="default">Kratot telefonu tiks <xliff:g id="action">%s</xliff:g></string>
+ <string name="action_summary_snooze">Iesnaudināt modinātāju</string>
+ <string name="action_summary_dismiss">atcelt modinātāju</string>
+ <string name="action_summary_do_nothing">nedarīt neko</string>
+ <string name="alarm_picker_title">Izvēlēties modinātāja veidu</string>
+ <string name="alarm_type_ringtone">Zvana melodija</string>
+ <string name="alarm_type_random">Nejauši</string>
+ <string name="warn_silent_alarm_title">Modinātājs ir kluss</string>
+ <string name="alarm_select">Izvēlieties modinātāju</string>
+ <string name="alarm_select_ringtone">Zvana melodija</string>
+ <string name="alarm_select_external">Mūzika</string>
+ <string name="ringtone_default">"Noklusētais signāls"</string>
+ <string name="take_persistent_grant_uri_permission_failed_msg">Neizdevās zvana signālam piešķirt pastāvīgas tiesības lietot melodiju</string>
+</resources>
diff --git a/res/values-sv/cm_strings.xml b/res/values-sv/cm_strings.xml
index d305ed461..9b9b3b6ee 100644
--- a/res/values-sv/cm_strings.xml
+++ b/res/values-sv/cm_strings.xml
@@ -52,4 +52,5 @@
<string name="alarm_type_ringtone">Ringsignal</string>
<string name="alarm_type_random">Slumpmässigt</string>
<string name="warn_silent_alarm_title">Alarmvolym är tyst</string>
+ <string name="alarm_select_external">Musik</string>
</resources>
diff --git a/res/values-tr/cm_strings.xml b/res/values-tr/cm_strings.xml
index 8612c1a45..6a0578b4b 100644
--- a/res/values-tr/cm_strings.xml
+++ b/res/values-tr/cm_strings.xml
@@ -36,15 +36,15 @@
<string name="cities_delete_city_msg"><xliff:g id="city">%s</xliff:g> şehrini silmek istiyor musunuz?</string>
<string name="cities_delete_city_failed">Şehir silinemiyor</string>
<string name="flip_action_title">Çevirme işlevi</string>
- <string name="flip_action_dialog_title" product="tablet">Tableti çevirmek\u2026</string>
- <string name="flip_action_dialog_title" product="default">Telefonu çevirmek\u2026</string>
- <string name="flip_action_summary" product="tablet">Tableti ters çevirme <xliff:g id="action">%s</xliff:g></string>
- <string name="flip_action_summary" product="default">Telefonu ters çevirmek <xliff:g id="action">%s</xliff:g></string>
+ <string name="flip_action_dialog_title" product="tablet">Tableti çevirince\u2026</string>
+ <string name="flip_action_dialog_title" product="default">Telefonu çevirince\u2026</string>
+ <string name="flip_action_summary" product="tablet">Tableti ters çevirince <xliff:g id="action">%s</xliff:g></string>
+ <string name="flip_action_summary" product="default">Telefonu ters çevirince <xliff:g id="action">%s</xliff:g></string>
<string name="shake_action_title">Sallama işlevi</string>
- <string name="shake_action_dialog_title" product="tablet">Tableti sallamak\u2026</string>
- <string name="shake_action_dialog_title" product="default">Telefonu sallamak\u2026</string>
- <string name="shake_action_summary" product="tablet">Tableti sallamak <xliff:g id="action">%s</xliff:g></string>
- <string name="shake_action_summary" product="default">Telefonu sallamak <xliff:g id="action">%s</xliff:g></string>
+ <string name="shake_action_dialog_title" product="tablet">Tableti sallayınca\u2026</string>
+ <string name="shake_action_dialog_title" product="default">Telefonu sallayınca\u2026</string>
+ <string name="shake_action_summary" product="tablet">Tableti sallayınca <xliff:g id="action">%s</xliff:g></string>
+ <string name="shake_action_summary" product="default">Telefonu sallayınca <xliff:g id="action">%s</xliff:g></string>
<string name="action_summary_snooze">alarmı ertele</string>
<string name="action_summary_dismiss">alarmı kapat</string>
<string name="action_summary_do_nothing">hiçbir şey yapma</string>
diff --git a/res/values-ug/array.xml b/res/values-ug/array.xml
index 7d1a0cf57..a9d6c605a 100644
--- a/res/values-ug/array.xml
+++ b/res/values-ug/array.xml
@@ -16,6 +16,339 @@
limitations under the License
-->
<resources>
+ <string-array name="cities_names">
+ <item>ئابىجان</item>
+ <item>ئاككرا</item>
+ <item>ئەددىس-ئەبېبە</item>
+ <item>ئالجىر</item>
+ <item>بىلانتايىر</item>
+ <item>بىراززاۋىل</item>
+ <item>قاھىرە</item>
+ <item>كازابلانكا</item>
+ <item>كوناكرى</item>
+ <item>داكار</item>
+ <item>دارېسسالام</item>
+ <item>جىبۇتى</item>
+ <item>فىرېتوۋن</item>
+ <item>گابورون</item>
+ <item>خارارې</item>
+ <item>يوھاننېسبۇرگ</item>
+ <item>كامپالا</item>
+ <item>خارتۇم</item>
+ <item>كىگالى</item>
+ <item>كىنشاسا</item>
+ <item>لاگوس</item>
+ <item>ماسېرۇ</item>
+ <item>مۇقدىشو</item>
+ <item>نايروبى</item>
+ <item>سان تومې</item>
+ <item>تىمبۇكتۇ</item>
+ <item>تىرىپولى</item>
+ <item>تۇنىس</item>
+ <item>ئانكورېج</item>
+ <item>مېندوزا</item>
+ <item>ئارۇبا</item>
+ <item>ئاسۇنسىيون</item>
+ <item>باربادوس</item>
+ <item>بېلىز</item>
+ <item>سانتافې-بوگۇتا</item>
+ <item>بۇئېنۇس-ئايرېس</item>
+ <item>كانكۇن</item>
+ <item>كاراكاس</item>
+ <item>كايمان</item>
+ <item>چىكاگو</item>
+ <item>كوستارىكا</item>
+ <item>كۇراسو</item>
+ <item>داۋسون-كىرىك</item>
+ <item>دېنۋېر</item>
+ <item>دېترويت</item>
+ <item>دومىنىكا</item>
+ <item>ئېدمونتون</item>
+ <item>سالۋادور</item>
+ <item>فورتالېزا</item>
+ <item>گىراند-تۇرك</item>
+ <item>گىرېنادا</item>
+ <item>گىۋاتېمالا</item>
+ <item>گىۋىيانا</item>
+ <item>خالىفاكس</item>
+ <item>ھاۋانا</item>
+ <item>ئىندىئاناپولىس</item>
+ <item>نوكس</item>
+ <item>مارېنگو</item>
+ <item>پېتىربۇرگ</item>
+ <item>تېل شەھىرى</item>
+ <item>ۋېۋېي</item>
+ <item>ۋىسېننېس</item>
+ <item>ۋىناماك</item>
+ <item>كىڭستون</item>
+ <item>لاپاز</item>
+ <item>لىما</item>
+ <item>لوس-ئانجېلېس</item>
+ <item>لۇئىسۋىل</item>
+ <item>ماناگۇئا</item>
+ <item>مارتىنىكا</item>
+ <item>مېندوزا</item>
+ <item>مېتلاكاتلا</item>
+ <item>مېكسىكا شەھىرى</item>
+ <item>مونتېررېي</item>
+ <item>مونتېۋىدېئو</item>
+ <item>مونترېئال</item>
+ <item>ناسسائۇ</item>
+ <item>نيۇ-يورك</item>
+ <item>بېيۇلا</item>
+ <item>سېنتېر</item>
+ <item>يېڭى سالېم</item>
+ <item>پاناما</item>
+ <item>فېنىكس</item>
+ <item>ئىسپانىيە پورتى</item>
+ <item>شاھزادە پورتى</item>
+ <item>پۇئېرتو-رىكو</item>
+ <item>سانتو-دومىنگو</item>
+ <item>سان-پاۋلو</item>
+ <item>ساينىت-جون</item>
+ <item>ساينىت-كىتىس</item>
+ <item>ساينىت-لۇسىيە</item>
+ <item>ساينىت-توماس</item>
+ <item>تىۋانا</item>
+ <item>تورونتو</item>
+ <item>ۋانكۇۋېر</item>
+ <item>ۋىننىپېگ</item>
+ <item>جەنۇبىي قۇتۇپ</item>
+ <item>لوڭيىئېربىن</item>
+ <item>ئالمۇتا</item>
+ <item>\"\"ئاممان</item>
+ <item>ئانادىر</item>
+ <item>ئاقتاي</item>
+ <item>باغداد</item>
+ <item>بەھرەين</item>
+ <item>باكۇ</item>
+ <item>باڭكوك</item>
+ <item>بېيرۇت</item>
+ <item>كالكۇتتا</item>
+ <item>دەمەشق</item>
+ <item>داككا</item>
+ <item>دۇبەي</item>
+ <item>غەززە</item>
+ <item>خەبرون</item>
+ <item>خو چى مىنخ</item>
+ <item>شياڭگاڭ</item>
+ <item>ئىستانبۇل</item>
+ <item>جاكارتا</item>
+ <item>قۇددۇس</item>
+ <item>كابۇل</item>
+ <item>كاراچى</item>
+ <item>كاتماندۇ</item>
+ <item>كۇئالالۇمپۇر</item>
+ <item>كۈۋەيت</item>
+ <item>ئاۋمېن</item>
+ <item>مانىلا</item>
+ <item>مەسقات</item>
+ <item>فىنوم-پېن</item>
+ <item>پىيوڭياڭ</item>
+ <item>قاتار</item>
+ <item>رانگون</item>
+ <item>رىياد</item>
+ <item>سايگون</item>
+ <item>سېئۇل</item>
+ <item>شاڭخەي</item>
+ <item>\"سىنگاپور\"</item>
+ <item>تەيبېي</item>
+ <item>تېھران</item>
+ <item>تېل-ئاۋېۋ</item>
+ <item>توكيو</item>
+ <item>ئۇلانباتور</item>
+ <item>بېرمۇدا</item>
+ <item>كانارى</item>
+ <item>يېشىل تۇمشۇق</item>
+ <item>رېيكياۋىك</item>
+ <item>ستانلېي</item>
+ <item>ئادېلايدې</item>
+ <item>بىرىسبان</item>
+ <item>كانبېررا</item>
+ <item>دارۋىن</item>
+ <item>مېلبورن</item>
+ <item>يېڭى جەنۇبىي ۋېيلىس</item>
+ <item>پېرت</item>
+ <item>كىۋىنسلاند</item>
+ <item>سىدنېي</item>
+ <item>ۋىكتورىيە</item>
+ <item>نېۋفۇندلاند</item>
+ <item>ساسكاچېۋان</item>
+ <item>پاسكاليا ئارىلى</item>
+ <item>ئامستېردام</item>
+ <item>ئاندوررا</item>
+ <item>ئافېنا</item>
+ <item>بېلفاست</item>
+ <item>بېلگراد</item>
+ <item>بېرلىن</item>
+ <item>بىراتىسلاۋا</item>
+ <item>بىريۇسسېل</item>
+ <item>بۇخارېست</item>
+ <item>بۇداپېشت</item>
+ <item>كىشىنېۋ</item>
+ <item>كوپېنھاگېن</item>
+ <item>دۇبلىن</item>
+ <item>جەبىلتارىق</item>
+ <item>خېلسىنكى</item>
+ <item>مېن ئارىلى</item>
+ <item>ئىستانبۇل</item>
+ <item>كىيېۋ</item>
+ <item>لىسبون</item>
+ <item>لوندون</item>
+ <item>لىيۇكسېمبۇرگ</item>
+ <item>مادرىد</item>
+ <item>مالتا</item>
+ <item>مىنسك</item>
+ <item>موناكو</item>
+ <item>موسكۋا</item>
+ <item>ئوسلو</item>
+ <item>\"پارىژ\"</item>
+ <item>پىراگا</item>
+ <item>رىگا</item>
+ <item>رىم</item>
+ <item>سان-مارىنو</item>
+ <item>سارايېۋو</item>
+ <item>سىمفېروپول</item>
+ <item>سىكوپژې</item>
+ <item>سوفىيە</item>
+ <item>سىتوكھولم</item>
+ <item>تاللىن</item>
+ <item>ۋاتىكان</item>
+ <item>ۋىيېننا</item>
+ <item>ۋىلنيۇس</item>
+ <item>ۋارشاۋا</item>
+ <item>زاگرېب</item>
+ <item>سىيۇرىخ</item>
+ <item>تانانارىۋ</item>
+ <item>مالدىۋې</item>
+ <item>ماۋرىتىئۇس</item>
+ <item>ئاۋكلاند</item>
+ <item>فىجى</item>
+ <item>گۇئام</item>
+ <item>ھونولۇلۇ</item>
+ <item>كىرىتىماتى</item>
+ <item>نۇمېئا</item>
+ <item>ساموئا</item>
+ <item>تايتى</item>
+ <item>ئانتىگۋا</item>
+ <item>ئائۇستىن</item>
+ <item>بوستون</item>
+ <item>كالگارى</item>
+ <item>كولۇمبۇس</item>
+ <item>داللاس</item>
+ <item>كنوكسۋىللې</item>
+ <item>مېمفىس</item>
+ <item>مىئامى</item>
+ <item>مىننېئاپولىس</item>
+ <item>ئوتتاۋا</item>
+ <item>فىلادېلفىيە</item>
+ <item>پورتلاند</item>
+ <item>سان ديېگو</item>
+ <item>سان-فىرانسىسكو</item>
+ <item>سولت لېيك شەھىرى</item>
+ <item>سان-خوسې</item>
+ <item>سان-سالۋادور</item>
+ <item>سېئاتىل</item>
+ <item>ساينىت-لۇيىس</item>
+ <item>ۋاشىنگتون ئالاھىدە رايونى</item>
+ <item>خىيۇستون</item>
+ <item>سان ئانتونىئو</item>
+ <item>جاكسونۋىل</item>
+ <item>بالتىمور</item>
+ <item>ناشۋىل</item>
+ <item>مىلۋائۇكې</item>
+ <item>ئوكلاخوما شەھىرى</item>
+ <item>لاس-ۋېگاس</item>
+ <item>ئالبۇكۋېركۋې</item>
+ <item>تۇكسون</item>
+ <item>ساكرامېنتو</item>
+ <item>ئاتلانتا</item>
+ <item>كىلېۋېلاند</item>
+ <item>يېڭى ئورلېئان</item>
+ <item>تامپا</item>
+ <item>پىتتسبۇرگ</item>
+ <item>كىنكىنناتى</item>
+ <item>مۇنتائىن ۋيېۋ</item>
+ <item>رېنو</item>
+ <item>قارا تاش شەھىرى</item>
+ <item>دوھا</item>
+ <item>بېيجىڭ</item>
+ <item>بومباي</item>
+ <item>دېھلى</item>
+ <item>ئوساكا</item>
+ <item>لاخور</item>
+ <item>سانائا</item>
+ <item>بارسېلونا</item>
+ <item>ميۇنخېن</item>
+ <item>مىلان</item>
+ <item>فىرانكفۇرت</item>
+ <item>خانوي</item>
+ <item>ئەنقەرە</item>
+ <item>بانگالور</item>
+ <item>بىرازىلىيە</item>
+ <item>كېيپ-تائۇن</item>
+ <item>ئىسلامئاباد</item>
+ <item>رىئو-دې-جانېيرو</item>
+ <item>ئان-ئاربور</item>
+ <item>بولدېر</item>
+ <item>كامبرىج</item>
+ <item>كىركلاند</item>
+ <item>مادىسون</item>
+ <item>گۇاڭجۇ</item>
+ <item>خىدېراباد</item>
+ <item>رېستون</item>
+ <item>بېلو خورىزونتې</item>
+ <item>سانتىياگو</item>
+ <item>مونزوۋىيە</item>
+ <item>كولومبو</item>
+ <item>چىۋاۋا</item>
+ <item>سالۋادور</item>
+ <item>گۇرگائون</item>
+ <item>مانچېستېر</item>
+ <item>كىيېۋ</item>
+ <item>ساينىت-پېتىربۇرگ</item>
+ <item>كراكوۋ</item>
+ <item>ۋروكلاۋ</item>
+ <item>ھامبۇرگ</item>
+ <item>ئوئۇلۇ</item>
+ <item>خايفا</item>
+ <item>سان خۇئان</item>
+ <item>تېگۇسىگالپا</item>
+ <item>پارامارىبو</item>
+ <item>كىتو</item>
+ <item>مارشال ئاراللىرى</item>
+ <item>مىدۋېي ئارىلى</item>
+ <item>Regina</item>
+ <item>مانائۇس</item>
+ <item>Araguaina</item>
+ <item>Godthab</item>
+ <item>جەبۇبىي جورجىيە</item>
+ <item>ئازور</item>
+ <item>ۋىندخوك</item>
+ <item>تىبىلىس</item>
+ <item>يېرېۋان</item>
+ <item>Oral</item>
+ <item>يېكاتېرىنبۇرگ</item>
+ <item>كىراسنويارسك</item>
+ <item>ئىركۇتسك</item>
+ <item>ياكۇتسك</item>
+ <item>خوبارت</item>
+ <item>ماگادان</item>
+ <item>Tongatapu</item>
+ <item>ئاكلاۋىك</item>
+ <item>مونتگومېرى</item>
+ <item>جەنۋە</item>
+ <item>ئودېسا</item>
+ <item>ئادېن</item>
+ <item>ئەبۇ زەبىي</item>
+ <item>تاشكەنت</item>
+ <item>يېڭى دېھلى</item>
+ <item>سۇۋا</item>
+ <item>ۋىللىڭتون</item>
+ <item>چاتام</item>
+ <item>ۋىلادىۋوستوك</item>
+ <item>كامچاتكا</item>
+ </string-array>
<array name="snooze_dismiss_drawables">
<item>@drawable/ic_alarm_alert_dismiss</item>
<item>@null</item>
diff --git a/res/values-ug/strings.xml b/res/values-ug/strings.xml
index 07808d01d..09d2236de 100644
--- a/res/values-ug/strings.xml
+++ b/res/values-ug/strings.xml
@@ -15,5 +15,316 @@
limitations under the License.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label">سائەت</string>
+ <string name="alarm_list_title">قوڭغۇراقلىق سائەت</string>
+ <string name="add_alarm">قوڭغۇراق قوش</string>
+ <string name="alarm_timeline_title_text">كېيىنكى قوڭغۇراق</string>
+ <string name="menu_desk_clock">شىرە سائەت</string>
+ <string name="menu_edit_alarm">قوڭغۇراق تەھرىر</string>
+ <string name="delete_alarm">قوڭغۇراق ئۆچۈر</string>
+ <string name="enable_alarm">قوڭغۇراق ئاچ</string>
+ <string name="disable_alarm">قوڭغۇراق تاقا</string>
+ <string name="delete_alarm_confirm">بۇ قوڭغۇراقنى ئۆچۈرەمدۇ؟</string>
+ <string name="show_clock">سائەتنى كۆرسەت</string>
+ <string name="hide_clock">سائەتنى يوشۇر</string>
+ <string name="label">بەلگە</string>
+ <string name="default_label">قوڭغۇراق</string>
+ <string name="set_alarm">قوڭغۇراق تەڭشەك</string>
+ <string name="alarm_vibrate">تىترەت</string>
+ <string name="alarm_repeat">قايتىلا</string>
+ <string name="alert">قوڭغۇراق زىل ئاۋازى</string>
+ <string name="ringtone">زىل ئاۋازى</string>
+ <string name="time">ۋاقىت</string>
+ <string name="alarm_alert_dismiss_text">تاقا</string>
+ <string name="alarm_alert_dismiss_now_text">دەرھال تاقا</string>
+ <string name="alarm_missed_title">ئۆتكۈزۈۋەتكەن قوڭغۇراق</string>
+ <string name="alarm_missed_text"><xliff:g id="ALARM_TIME">%s</xliff:g> - <xliff:g id="ALARM_LABEL">%s</xliff:g></string>
+ <string name="alarm_alert_snooze_text">قايتا جىرىڭلاتما</string>
+ <plurals name="alarm_alert_snooze_set">
+ <item quantity="other">1 مىنۇتقىچە جىرىڭلاتما.</item>
+ </plurals>
+ <string name="alarm_alert_snooze_until"><xliff:g id="TIME">%s</xliff:g> غىچە كېچىكتۈر</string>
+ <string name="alarm_alert_predismiss_title">ئالدىن بېكىتىلگەن قوڭغۇراق</string>
+ <string name="missed_alarm_has_been_deleted">ئۆتكۈزۈۋەتكەن قوڭغۇراق ئۆچۈرۈلدى</string>
+ <string-array name="timer_notifications">
+ <item>بىر مىنۇتمۇ قالمىدى</item>
+ <item><xliff:g id="HOURS">%1$S</xliff:g> قالدى</item>
+ <item><xliff:g id="MINUTES">%2$s</xliff:g> قالدى</item>
+ <item><xliff:g id="HOURS">%1$S</xliff:g>, <xliff:g id="MINUTES">%2$S</xliff:g> قالدى</item>
+ </string-array>
+ <string-array name="alarm_set">
+ <item>قوڭغۇراق ھازىردىن باشلاپ 1 مىنۇتقا يەتمىگەن ۋاقىتتا ئەسكەرتىشكە تەڭشەلدى.</item>
+ <item>قوڭغۇراق ھازىردىن باشلاپ <xliff:g id="DAYS">%1$s</xliff:g> دىن كېيىن ئەسكەرتىشكە تەڭشەلدى.</item>
+ <item>قوڭغۇراق ھازىردىن باشلاپ <xliff:g id="HOURS">%2$s</xliff:g> دىن كېيىن ئەسكەرتىشكە تەڭشەلدى.</item>
+ <item>قوڭغۇراق ھازىردىن باشلاپ <xliff:g id="DAYS">%1$s</xliff:g> <xliff:g id="HOURS">%2$s</xliff:g> دىن كېيىن ئەسكەرتىشكە تەڭشەلدى.</item>
+ <item>قوڭغۇراق ھازىردىن باشلاپ <xliff:g id="MINUTES">%3$s</xliff:g> دىن كېيىن ئەسكەرتىشكە تەڭشەلدى.</item>
+ <item>قوڭغۇراق ھازىردىن باشلاپ<xliff:g id="DAYS">%1$s</xliff:g> <xliff:g id="MINUTES">%3$s</xliff:g> دىن كېيىن ئەسكەرتىشكە تەڭشەلدى.</item>
+ <item>قوڭغۇراق ھازىردىن باشلاپ <xliff:g id="HOURS">%2$s</xliff:g> <xliff:g id="MINUTES">%3$s</xliff:g> دىن كېيىن ئەسكەرتىشكە تەڭشەلدى.</item>
+ <item>قوڭغۇراق ھازىردىن باشلاپ <xliff:g id="DAYS">%1$s</xliff:g> <xliff:g id="HOURS">%2$s</xliff:g> <xliff:g id="MINUTES">%3$s</xliff:g> دىن كېيىن ئەسكەرتىشكە تەڭشەلدى.</item>
+ </string-array>
+ <string name="day">"«1 كۈن»"</string>
+ <string name="days">"<xliff:g id="DAYS">%s</xliff:g> كۈن"</string>
+ <string name="hour">1 سائەت</string>
+ <string name="hours"><xliff:g id="HOURS">%s</xliff:g> سائەت</string>
+ <string name="minute">"1 مىنۇت"</string>
+ <string name="minutes">"<xliff:g id="MINUTES">%s</xliff:g> مىنۇت"</string>
+ <string name="every_day">ھەر كۈنى</string>
+ <string name="never">ھەرگىز</string>
+ <string name="day_concat">"« ،»"</string>
+ <string name="clock_instructions">بىر سائەت تاللاڭ</string>
+ <string name="analog_gadget">تەقلىد سائەت</string>
+ <string name="help">ياردەم</string>
+ <string name="settings">تەڭشەكلەر</string>
+ <string name="snooze_duration_title">مۈگدەش ئۇزۇنلۇقى</string>
+ <plurals name="snooze_duration">
+ <item quantity="other">1 مىنۇت</item>
+ </plurals>
+ <plurals name="snooze_picker_label">
+ <item quantity="other">مىنۇت</item>
+ </plurals>
+ <string name="auto_silence_title">قوڭغۇراق ۋاقتى</string>
+ <string name="auto_silence_summary"><xliff:g id="MINUTES">%d</xliff:g> مىنۇت</string>
+ <string name="auto_silence_never">ھەرگىز</string>
+ <string-array name="auto_silence_entries">
+ <item>5 مىنۇت</item>
+ <item>10 مىنۇت</item>
+ <item>15 مىنۇت</item>
+ <item>20 مىنۇت</item>
+ <item>25 مىنۇت</item>
+ <item>30 مىنۇت</item>
+ <item>ھەرگىز</item>
+ </string-array>
+ <string name="done">تامام</string>
+ <string name="revert">ئەسلىگە قايتۇر</string>
+ <string name="delete">ئۆچۈر</string>
+ <string name="alarm_volume_title">قوڭغۇراق ئاۋازى</string>
+ <string name="silent_alarm_summary">ئۈنسىز</string>
+ <string name="alarm_notify_text">قوڭغۇراقنى ۋاقىتلىق توختىتىش ياكى تاقاشنى تاللاڭ.</string>
+ <string name="alarm_notify_snooze_label"><xliff:g id="LABEL">%s</xliff:g> (جىرىڭلاتمىدى)</string>
+ <string name="alarm_notify_snooze_text">بۇ قوڭغۇراق ھازىردىن باشلاپ <xliff:g id="TIME">%s</xliff:g> دىن كېيىن ئەسكەرتىشكە تەڭشەلدى. چېكىلسە بىكار قىلىنىدۇ.</string>
+ <string name="volume_button_setting_title">ئاۋاز توپچىسى</string>
+ <string name="volume_button_dialog_title">توپچا ئۈنۈمى</string>
+ <string-array name="volume_button_setting_entries">
+ <item>قايتا جىرىڭلاتما</item>
+ <item>تاقا</item>
+ <item>ھېچقانداق قىلما</item>
+ </string-array>
+ <string name="default_ringtone_setting_title">كۆڭۈلدىكى قوڭغۇراق ئاۋاز تەڭشىكى</string>
+ <string name="alarm_button_description">قوڭغۇراقلىق سائەت</string>
+ <string name="gallery_button_description">سۈرەت يىغقۇچ</string>
+ <string name="music_button_description">نەغمە</string>
+ <string name="nightmode_button_description">غۇۋالاشتۇر</string>
+ <string name="home_button_description">قوزغاتقۇچ</string>
+ <string name="desk_clock_button_description">سائەتنى كۆرسەت</string>
+ <string name="label_description">بەلگە</string>
+ <string name="ringtone_description">زىل ئاۋازى</string>
+ <string name="battery_charging_level"><xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g></string>
+ <string name="weather_fetch_failure">ھاۋارايى ئۇچۇرىنى ھازىر ئىشلەتكىلى بولمايدۇ.</string>
+ <string name="alarm_klaxon_service_desc">سائەت قوڭغۇراق تەڭشىكىنىڭ ئاۋاز چېلىش مۇلازىمىتى</string>
+ <string name="loading_ringtone">قوڭغۇراق ئاۋازىنى يۈكلەۋاتىدۇ…</string>
+ <string name="timer_ring_service_desc">قوڭغۇراق سائەتتە تەڭشەيدىغان ۋاقىت خاتىرىلىگۈچنىڭ ئاۋاز چىقىرىش مۇلازىمىتى.</string>
+ <string name="control_set_alarm">قوڭغۇراق تەڭشەك</string>
+ <string name="control_set_alarm_with_existing"><xliff:g id="time">%s</xliff:g></string>
+ <string name="menu_alarm">قوڭغۇراق</string>
+ <string name="menu_timer">ۋاقىت خاتىرىلىگۈچ</string>
+ <string name="menu_clock">سائەت</string>
+ <string name="menu_stopwatch">دەقىقە سائەت</string>
+ <string name="button_alarms">قوڭغۇراقلىق سائەت</string>
+ <string name="button_cities">شەھەرلەر</string>
+ <string name="button_menu">تېخىمۇ كۆپ تاللانما</string>
+ <string name="menu_item_settings">تەڭشەكلەر</string>
+ <string name="menu_item_help">ياردەم</string>
+ <string name="menu_item_night_mode">كېچە ھالىتى</string>
+ <string name="menu_item_sort_by_gmt_offset">ۋاقىت بويىچە تەرتىپلە</string>
+ <string name="menu_item_sort_by_name">ئات بويىچە تەرتىپلە</string>
+ <string name="selected_cities_label">تاللانغان شەھەرلەر</string>
<string name="sw_resume_button">داۋاملاشتۇر</string>
+ <string name="sw_start_button">باشلا</string>
+ <string name="sw_stop_button">توختا</string>
+ <string name="sw_lap_button">ئايلانما</string>
+ <string name="sw_reset_button">ئەسلىگە قايتۇر</string>
+ <string name="sw_share_button">ھەمبەھىر</string>
+ <string name="hours_label">h</string>
+ <string name="minutes_label">m</string>
+ <string name="seconds_label">s</string>
+ <string name="hours_label_description">سائەت</string>
+ <string name="minutes_label_description">مىنۇت</string>
+ <string name="seconds_label_description">سېكۇنت</string>
+ <string name="zero">0</string>
+ <string name="sw_share_main">ۋاقتىم <xliff:g id="TIME">%s</xliff:g></string>
+ <string name="sw_share_laps">ئايلانما ۋاقتى:</string>
+ <string name="sw_notification_lap_number"><xliff:g id="NUMBER">%d</xliff:g> ئايلانما</string>
+ <plurals name="Nhours_description">
+ <item quantity="other">1 سائەت</item>
+ </plurals>
+ <plurals name="Nminutes_description">
+ <item quantity="other">1 مىنۇت</item>
+ </plurals>
+ <plurals name="Nseconds_description">
+ <item quantity="other">1 سېكۇنت</item>
+ </plurals>
+ <string name="timer_add_timer">ۋاقىت خاتىرىلىگۈچنى قوش</string>
+ <string name="timer_start">باشلا</string>
+ <string name="timer_delete">ئۆچۈر</string>
+ <string name="timer_plus_one">1 مىنۇت قوش</string>
+ <string name="timer_plus_1_min">1 مىنۇت قوش</string>
+ <string name="timer_stop">توختا</string>
+ <string name="timer_done">تاماملاندى</string>
+ <string name="timer_reset">ئەسلىگە قايتۇر</string>
+ <string name="timer_cancel">ۋاز كەچ</string>
+ <string name="timer_times_up">ۋاقىت توشتى</string>
+ <string name="timer_notification_label">ۋاقىت خاتىرىلىگۈچ</string>
+ <string-array name="sw_share_strings" translatable="true">
+ <item>چاقماق پەلۋاندەك تېزكەنسىز.</item>
+ <item>ئەمگەك مىۋىڭىزدىن ھوزۇرلىنىڭ.</item>
+ <item>Android سۈرئىتى تېزلىكى بىلەن داڭلىق، ئەمما سىزگە يەتمەيدۇ!</item>
+ <item>پاھ.</item>
+ <item>ھەقىقەتەن قالتىس.</item>
+ <item>ھەيران قالارلىق سۈرئەت.</item>
+ <item>يەنە بىر كېلىڭ.</item>
+ <item>ئاسانلا ئىش بۇ.</item>
+ <item>يەلتاپاندەكلا تېزكەنسىز.</item>
+ <item>نۇر تېزلىكى.</item>
+ </string-array>
+ <plurals name="timers_num">
+ <item quantity="other">1 مىنۇت</item>
+ </plurals>
+ <string name="home_label">باش بەت</string>
+ <string name="cities_activity_title">شەھەرلەر</string>
+ <string name="clock_settings">سائەت</string>
+ <string name="clock_style">ئۇسلۇب</string>
+ <string-array name="clock_style_entries">
+ <item>تەقلىد</item>
+ <item>رەقەملىك</item>
+ </string-array>
+ <string name="automatic_home_clock">ئۆيدىكى ۋاقىتنى ئاپتوماتىك كۆرسىتىدۇ</string>
+ <string name="automatic_home_clock_summary">باشقا ۋاقىت رايونىدا ساياھەت قىلغاندا ئۆيدىكى ۋاقىتنى كۆرسىتىدۇ</string>
+ <string name="home_time_zone">يەرلىك ۋاقىت رايونى</string>
+ <string name="home_time_zone_title">يەرلىك ۋاقىت رايونى</string>
+ <string name="time_picker_cancel">ۋاز كەچ</string>
+ <string name="time_picker_set">جەزملە</string>
+ <string name="time_picker_time_seperator">:</string>
+ <string name="time_picker_ampm_label">--</string>
+ <string name="time_picker_00_label">:00</string>
+ <string name="time_picker_30_label">:30</string>
+ <string-array name="timezone_labels">
+ <item>"مارشال ئاراللىرى"</item>
+ <item>"مىدۋېي ئارىلى"</item>
+ <item>"ھاۋاي"</item>
+ <item>"ئالياسكا"</item>
+ <item>"تىنچ ئوكيان ۋاقتى"</item>
+ <item>"تىۋانا"</item>
+ <item>"ئارىزونا"</item>
+ <item>"چىۋاۋا"</item>
+ <item>"تاغ ۋاقتى"</item>
+ <item>"ئوتتۇرا ئامېرىكا"</item>
+ <item>"ئوتتۇرا رايون ۋاقتى"</item>
+ <item>"مېكسىكا شەھىرى"</item>
+ <item>"ساسكاچېۋان"</item>
+ <item>"بوگۇتا"</item>
+ <item>"شەرقىي رايون ۋاقتى"</item>
+ <item>"ۋېنېزۇئېلا"</item>
+ <item>"ئاتلانتىك ئوكيان ۋاقتى (باربادوس)"</item>
+ <item>"ئاتلانتىك ئوكيان ۋاقتى (كانادا)"</item>
+ <item>"مانائۇس"</item>
+ <item>"سانتىياگو"</item>
+ <item>"نېۋفۇندلاند"</item>
+ <item>"بىرازىلىيە"</item>
+ <item>"بۇئېنۇس-ئايرېس"</item>
+ <item>"گىرېنلاند"</item>
+ <item>"مونتېۋىدېئو"</item>
+ <item>"ئوتتۇرا ئاتلانتىك ئوكيان"</item>
+ <item>"ئازور"</item>
+ <item>"يېشىل تۇمشۇق ئاراللىرى"</item>
+ <item>"كازابلانكا"</item>
+ <item>"لوندون، دۇبلىن"</item>
+ <item>"ئامىستېردام، بېرلىن"</item>
+ <item>"بېلگراد"</item>
+ <item>"بىريۇسسېل"</item>
+ <item>"سارايېۋو"</item>
+ <item>"ۋىندخوك"</item>
+ <item>"غەربىي ئافرىقا ۋاقتى"</item>
+ <item>"ئاممان، ئىيوردانىيە"</item>
+ <item>"ئافېنا، ئىستانبۇل"</item>
+ <item>"بېيرۇت، لىۋان"</item>
+ <item>"قاھىرە"</item>
+ <item>"خېلسىنكى"</item>
+ <item>"قۇددۇس"</item>
+ <item>"مىنسك"</item>
+ <item>"خارارې"</item>
+ <item>"باغداد"</item>
+ <item>"موسكۋا"</item>
+ <item>"كۈۋەيت"</item>
+ <item>"نايروبى"</item>
+ <item>"تېھران"</item>
+ <item>"باكۇ"</item>
+ <item>"تىبىلىس"</item>
+ <item>"يېرېۋان"</item>
+ <item>"دۇبەي"</item>
+ <item>"كابۇل"</item>
+ <item>"ئىسلامئاباد، كاراچى"</item>
+ <item>"ئورال"</item>
+ <item>"يېكاتېرىنبۇرگ"</item>
+ <item>"كالكۇتتا"</item>
+ <item>"سىرىلانكا"</item>
+ <item>"كاتماندۇ"</item>
+ <item>"ئاستانا"</item>
+ <item>"رانگون"</item>
+ <item>"كىراسنويارسك"</item>
+ <item>"باڭكوك"</item>
+ <item>"بېيجىڭ"</item>
+ <item>"شياڭگاڭ"</item>
+ <item>"ئىركۇتسك"</item>
+ <item>"كۇئالالۇمپۇر"</item>
+ <item>"پېرت"</item>
+ <item>"تەيبېي"</item>
+ <item>"سېئۇل"</item>
+ <item>"توكيو، ئوساكا"</item>
+ <item>"ياكۇتسك"</item>
+ <item>"ئادېلايدې"</item>
+ <item>"دارۋىن"</item>
+ <item>"بىرىسبان"</item>
+ <item>"خوبارت"</item>
+ <item>"سىدنېي، كانبېررا"</item>
+ <item>"ۋىلادىۋوستوك"</item>
+ <item>"گۇئام"</item>
+ <item>"ماگادان"</item>
+ <item>"ئاۋكلاند"</item>
+ <item>"فىجى"</item>
+ <item>"تونگا"</item>
+ <item>"جاكارتا"</item>
+ </string-array>
+ <string name="alarm_settings">قوڭغۇراقلىق سائەت</string>
+ <string name="see_all">ھەممىنى كۆرسەت&#8230;</string>
+ <string name="stopwatch_service_desc">دەقىقە سائەت ئارقىلىق ئۇقتۇرۇش ئىقتىدارىنى ئىجرا قىلىدۇ.</string>
+ <string name="swn_stopped">توختىدى</string>
+ <string name="description_direction_right">ئوڭغا سۈرۈلسە تاقىلىدۇ</string>
+ <string name="description_direction_left">سولغا سۈرۈلسە مۈگدەشكە تەڭشەيدۇ</string>
+ <string name="description_direction_up">ئۈستىگە سۈرۈلسە تاقىلىدۇ</string>
+ <string name="description_direction_down">ئاستىغا سۈرۈلسە مۈگدەشكە تەڭشەيدۇ</string>
+ <string name="timer_stopped">ۋاقىت خاتىرىلىگۈچ توختىدى</string>
+ <string name="timers_stopped"><xliff:g id="NUMBER">%d</xliff:g> ۋاقىت خاتىرىلىگۈچ توختىدى</string>
+ <string name="all_timers_stopped_notif">چېكىپ ۋاقىت خاتىرىلىگۈچىڭىزنى كۆرەلەيسىز</string>
+ <string name="timers_in_use"><xliff:g id="NUMBER">%d</xliff:g> ۋاقىت خاتىرىلىگۈچ</string>
+ <string name="next_timer_notif">كېيىنكى ۋاقىت خاتىرىلىگۈچ: <xliff:g id="TIME_REMAINING">%s</xliff:g></string>
+ <string name="screensaver_settings">تەسىرلىشىشچان ئېكران قوغداش تەڭشەكلىرى</string>
+ <string name="night_mode_title">كېچە ھالىتى</string>
+ <string name="night_mode_summary">ئېكران يورۇقلۇقىنى بەك تۆۋەن تەڭشەيدۇ (قاراڭغۇ ئۆيگە ماس كېلىدۇ)</string>
+ <string name="expand_alarm">قوڭغۇراقنى ياي</string>
+ <string name="collapse_alarm">قوڭغۇراقنى يىغ</string>
+ <string name="alarm_undo">يېنىۋال</string>
+ <string name="alarm_deleted">قوڭغۇراق ئۆچۈرۈلدى.</string>
+ <string name="slash">/</string>
+ <string name="world_day_of_week_label">/ <xliff:g id="LABEL">%s</xliff:g></string>
+ <string name="next_alarm_description">كېيىنكى قوڭغۇراق: <xliff:g id="ALARM_TIME">%s</xliff:g></string>
+ <string name="alarms_selected"><xliff:g id="ALARMS">%d</xliff:g> تاللاندى</string>
+ <string name="deleted_message">ئۆچۈرۈلدى</string>
+ <plurals name="alarm_delete_confirmation">
+ <item quantity="other">تاللانغان قوڭغۇراقنى ئۆچۈرەمدۇ؟\"</item>
+ </plurals>
+ <string name="timer_delete_confirmation">بۇ ۋاقىت خاتىرىلىگۈچنى ئۆچۈرەمدۇ؟</string>
+ <string name="city_delete_confirmation">بۇ شەھەرنى چىقىرىۋېتەمدۇ؟</string>
+ <string name="digital_gadget">رەقەملىك سائەت</string>
+ <string name="no_alarms">قوڭغۇراقلىق سائەت يوق</string>
+ <string name="no_upcoming_alarms">ئالدىن بىكىتىلگەن قوڭغۇراقلىق سائەت يوق</string>
</resources>
diff --git a/res/values-uk/cm_strings.xml b/res/values-uk/cm_strings.xml
index 22438d6a2..9ea76f1e6 100644
--- a/res/values-uk/cm_strings.xml
+++ b/res/values-uk/cm_strings.xml
@@ -52,4 +52,9 @@
<string name="alarm_type_ringtone">Мелодія</string>
<string name="alarm_type_random">Випадкова мелодія</string>
<string name="warn_silent_alarm_title">Звук будильника вимкнено</string>
+ <string name="alarm_select">Обрати сигнал</string>
+ <string name="alarm_select_ringtone">Мелодія</string>
+ <string name="alarm_select_external">Музика</string>
+ <string name="ringtone_default">"Типова мелодія"</string>
+ <string name="take_persistent_grant_uri_permission_failed_msg">Не вдалося задати мелодію як сигнал</string>
</resources>
diff --git a/res/values-zh-rTW/cm_strings.xml b/res/values-zh-rTW/cm_strings.xml
index 4cba42aa4..423cefef3 100644
--- a/res/values-zh-rTW/cm_strings.xml
+++ b/res/values-zh-rTW/cm_strings.xml
@@ -52,4 +52,8 @@
<string name="alarm_type_ringtone">鈴聲</string>
<string name="alarm_type_random">隨機</string>
<string name="warn_silent_alarm_title">鬧鐘音量是無聲的</string>
+ <string name="alarm_select">選擇鬧鐘</string>
+ <string name="alarm_select_ringtone">鈴聲</string>
+ <string name="alarm_select_external">音樂</string>
+ <string name="ringtone_default">"預設鈴聲"</string>
</resources>
diff --git a/src/com/android/deskclock/AlarmClockFragment.java b/src/com/android/deskclock/AlarmClockFragment.java
index d7dd9227a..c013fdd92 100644
--- a/src/com/android/deskclock/AlarmClockFragment.java
+++ b/src/com/android/deskclock/AlarmClockFragment.java
@@ -1328,6 +1328,11 @@ public class AlarmClockFragment extends DeskClockFragment implements
// The view was converted but somehow lost its tag.
setNewHolder(view);
}
+ if (!Utils.isRingToneUriValid(mContext, alarm.alert)) {
+ alarm.alert = RingtoneManager.getActualDefaultRingtoneUri(context,
+ RingtoneManager.TYPE_ALARM);
+ asyncUpdateAlarm(alarm, false);
+ }
final ItemHolder itemHolder = (ItemHolder) tag;
itemHolder.alarm = alarm;
@@ -1578,7 +1583,7 @@ public class AlarmClockFragment extends DeskClockFragment implements
if (Alarm.NO_RINGTONE_URI.equals(alarm.alert)) {
ringtone = mContext.getResources().getString(R.string.silent_alarm_summary);
} else {
- ringtitle = getRingToneTitle(alarm.alert);
+ ringtitle = getRingToneTitle(alarm);
if (ringtitle != null) {
ringtone = ringtitle;
} else {
@@ -1687,17 +1692,18 @@ public class AlarmClockFragment extends DeskClockFragment implements
/**
* Does a read-through cache for ringtone titles.
*
- * @param uri The uri of the ringtone.
+ * @param Alarm The alarm to get the ringtone title from.
* @return The ringtone title. {@literal null} if no matching ringtone found.
*/
- private String getRingToneTitle(Uri uri) {
+ private String getRingToneTitle(Alarm alarm) {
+ Uri uri = alarm.alert;
// Try the cache first
String title = mRingtoneTitleCache.getString(uri.toString());
if (title == null) {
if (uri.equals(AlarmMediaPlayer.RANDOM_URI)) {
title = mContext.getResources().getString(R.string.alarm_type_random);
} else {
- if (isRingToneUriValid(uri)) {
+ if (Utils.isRingToneUriValid(mContext, uri)) {
if (uri.getAuthority().equals(DOC_AUTHORITY)
|| uri.getAuthority().equals(DOC_DOWNLOAD)) {
title = getDisplayNameFromDatabase(mContext,uri);
@@ -1716,19 +1722,6 @@ public class AlarmClockFragment extends DeskClockFragment implements
return title;
}
- private boolean isRingToneUriValid(Uri uri) {
- if (uri.getScheme().contentEquals("file")) {
- File f = new File(uri.getPath());
- if (f.exists()) {
- return true;
- }
- } else if (uri.getScheme().contentEquals("content")) {
- return true;
- }
-
- return false;
- }
-
private String getDisplayNameFromDatabase(Context context,Uri uri) {
String selection = null;
String[] selectionArgs = null;
diff --git a/src/com/android/deskclock/Utils.java b/src/com/android/deskclock/Utils.java
index 21257f96c..5abf79fa2 100644
--- a/src/com/android/deskclock/Utils.java
+++ b/src/com/android/deskclock/Utils.java
@@ -28,6 +28,7 @@ import android.content.SharedPreferences;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.res.Resources;
+import android.database.Cursor;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.PorterDuff;
@@ -37,6 +38,7 @@ import android.os.Build;
import android.os.Handler;
import android.os.SystemClock;
import android.preference.PreferenceManager;
+import android.provider.MediaStore;
import android.provider.Settings;
import android.text.Spannable;
import android.text.SpannableString;
@@ -54,12 +56,14 @@ import android.view.animation.DecelerateInterpolator;
import android.widget.TextClock;
import android.widget.TextView;
+import com.android.deskclock.provider.Alarm;
import com.android.deskclock.stopwatch.Stopwatches;
import com.android.deskclock.timer.Timers;
import com.android.deskclock.worldclock.CityObj;
import com.android.deskclock.worldclock.db.DbCities;
import com.android.deskclock.worldclock.db.DbCity;
+import java.io.File;
import java.text.Collator;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
@@ -608,4 +612,32 @@ public class Utils {
public static String getCityName(CityObj city, CityObj dbCity) {
return (city.mCityId == null || dbCity == null) ? city.mCityName : dbCity.mCityName;
}
+
+ public static boolean isRingToneUriValid(Context context, Uri uri) {
+ if (uri.equals(AlarmMediaPlayer.RANDOM_URI) || uri.equals(Alarm.NO_RINGTONE_URI)) {
+ return true;
+ } else if (uri.getScheme().contentEquals("file")) {
+ File f = new File(uri.getPath());
+ if (f.exists()) {
+ return true;
+ }
+ } else if (uri.getScheme().contentEquals("content")) {
+ Cursor cursor = null;
+ try {
+ cursor = context.getContentResolver().query(uri,
+ new String[] {MediaStore.Audio.Media.TITLE}, null, null, null);
+ if (cursor != null && cursor.getCount() > 0) {
+ return true;
+ }
+ } catch (Exception e) {
+ Log.e("Get ringtone uri Exception: e.toString=" + e.toString());
+ } finally {
+ if (cursor != null) {
+ cursor.close();
+ }
+ }
+ }
+
+ return false;
+ }
}
diff --git a/src/com/android/deskclock/alarms/AlarmKlaxon.java b/src/com/android/deskclock/alarms/AlarmKlaxon.java
index 8456759e8..c4ebd1f8e 100644
--- a/src/com/android/deskclock/alarms/AlarmKlaxon.java
+++ b/src/com/android/deskclock/alarms/AlarmKlaxon.java
@@ -30,6 +30,7 @@ import android.os.Vibrator;
import com.android.deskclock.Log;
import com.android.deskclock.AlarmMediaPlayer;
import com.android.deskclock.R;
+import com.android.deskclock.Utils;
import com.android.deskclock.provider.AlarmInstance;
import java.io.IOException;
@@ -115,10 +116,19 @@ public class AlarmKlaxon {
// Fall back on the default alarm if the database does not have an
// alarm stored.
if (alarmNoise == null) {
- alarmNoise = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
+ // Try to get the actual default first, this will be the one set by the user
+ alarmNoise = RingtoneManager.getActualDefaultRingtoneUri(context,
+ RingtoneManager.TYPE_ALARM);
+ // if the actual default is null, fallback to the system default.
+ if (alarmNoise == null) {
+ alarmNoise = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
+ }
if (Log.LOGV) {
Log.v("Using default alarm: " + alarmNoise.toString());
}
+ } else if (!Utils.isRingToneUriValid(context, alarmNoise)) {
+ alarmNoise = RingtoneManager.getActualDefaultRingtoneUri(context,
+ RingtoneManager.TYPE_ALARM);
}
final Context appContext = context.getApplicationContext();