OSDN Git Service

Prevent leaking windows by listening for config changes.
authorPatrick Scott <phanna@android.com>
Tue, 15 Sep 2009 13:37:57 +0000 (09:37 -0400)
committerPatrick Scott <phanna@android.com>
Tue, 15 Sep 2009 15:24:51 +0000 (11:24 -0400)
Remove the old database sanity check as it will not happen. Remove the strings
associated with the db error as well. Update the layout of the AlarmClock
activity during configuration changes so that the activity is no longer
destroyed and leaking the delete alert.

23 files changed:
AndroidManifest.xml
res/values-cs/strings.xml
res/values-da/strings.xml
res/values-de/strings.xml
res/values-el/strings.xml
res/values-es-rUS/strings.xml
res/values-es/strings.xml
res/values-fr/strings.xml
res/values-it/strings.xml
res/values-ja/strings.xml
res/values-ko/strings.xml
res/values-nb/strings.xml
res/values-nl/strings.xml
res/values-pl/strings.xml
res/values-pt-rPT/strings.xml
res/values-pt/strings.xml
res/values-ru/strings.xml
res/values-sv/strings.xml
res/values-tr/strings.xml
res/values-zh-rCN/strings.xml
res/values-zh-rTW/strings.xml
res/values/strings.xml
src/com/android/alarmclock/AlarmClock.java

index 8e88bcd..8cdaf55 100644 (file)
@@ -13,7 +13,8 @@
 
         <provider android:name="AlarmProvider" android:authorities="com.android.alarmclock" />
 
-        <activity android:name="AlarmClock" android:label="@string/app_label">
+        <activity android:name="AlarmClock" android:label="@string/app_label"
+                android:configChanges="orientation|keyboardHidden|keyboard|navigation">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.DEFAULT" />
index 276a0cf..2e50d17 100644 (file)
@@ -54,8 +54,6 @@
     <string name="never" msgid="54104287800571769">"Nikdy"</string>
     <string name="day_concat" msgid="971998564991636532">", "</string>
     <string name="clock_instructions" msgid="3118560284915857690">"Vyberte hodiny, které mají být zobrazeny."</string>
-    <string name="error" msgid="108628064084462722">"Budík není nastaven"</string>
-    <string name="dberror" msgid="6922426026866330853">"Budík bohužel nelze nastavit."</string>
     <string name="analog_gadget" msgid="1670505720837152766">"Analogové hodiny"</string>
     <string name="settings" msgid="5849739030579520686">"Nastavení"</string>
     <string name="alarm_in_silent_mode_title" msgid="3892612644543516705">"Budík v tichém režimu"</string>
index 4762e6e..2a83a8a 100644 (file)
@@ -54,8 +54,6 @@
     <string name="never" msgid="54104287800571769">"Aldrig"</string>
     <string name="day_concat" msgid="971998564991636532">", "</string>
     <string name="clock_instructions" msgid="3118560284915857690">"Vælg et ur, der skal vises."</string>
-    <string name="error" msgid="108628064084462722">"Alarmen er ikke indstillet"</string>
-    <string name="dberror" msgid="6922426026866330853">"Beklager, alarmen kunne ikke indstilles."</string>
     <string name="analog_gadget" msgid="1670505720837152766">"Analogt ur"</string>
     <string name="settings" msgid="5849739030579520686">"Indstillinger"</string>
     <string name="alarm_in_silent_mode_title" msgid="3892612644543516705">"Alarm er i lydløs tilstand"</string>
index afca127..b9c53a4 100644 (file)
@@ -54,8 +54,6 @@
     <string name="never" msgid="54104287800571769">"Nie"</string>
     <string name="day_concat" msgid="971998564991636532">", "</string>
     <string name="clock_instructions" msgid="3118560284915857690">"Wählen Sie die anzuzeigende Uhr aus."</string>
-    <string name="error" msgid="108628064084462722">"Wecker nicht eingestellt"</string>
-    <string name="dberror" msgid="6922426026866330853">"Der Wecker konnte nicht eingestellt werden."</string>
     <string name="analog_gadget" msgid="1670505720837152766">"Analoguhr"</string>
     <string name="settings" msgid="5849739030579520686">"Einstellungen"</string>
     <string name="alarm_in_silent_mode_title" msgid="3892612644543516705">"Alarm im Lautlosmodus"</string>
index 7e8d523..5cae495 100644 (file)
@@ -54,8 +54,6 @@
     <string name="never" msgid="54104287800571769">"Ποτέ"</string>
     <string name="day_concat" msgid="971998564991636532">", "</string>
     <string name="clock_instructions" msgid="3118560284915857690">"Επιλογή ρολογιού για προβολή."</string>
-    <string name="error" msgid="108628064084462722">"Το ξυπνητήρι δεν έχει οριστεί"</string>
-    <string name="dberror" msgid="6922426026866330853">"Λυπούμαστε, δεν ήταν δυνατός ο ορισμός του ξυπνητηριού."</string>
     <string name="analog_gadget" msgid="1670505720837152766">"Αναλογικό ρολόι"</string>
     <string name="settings" msgid="5849739030579520686">"Ρυθμίσεις"</string>
     <string name="alarm_in_silent_mode_title" msgid="3892612644543516705">"Ξυπνητήρι σε αθόρυβη λειτουργία"</string>
index a9b19d8..34b48cd 100644 (file)
@@ -54,8 +54,6 @@
     <string name="never" msgid="54104287800571769">"Nunca"</string>
     <string name="day_concat" msgid="971998564991636532">", "</string>
     <string name="clock_instructions" msgid="3118560284915857690">"Selecciona un reloj."</string>
-    <string name="error" msgid="108628064084462722">"Alarma no fijada"</string>
-    <string name="dberror" msgid="6922426026866330853">"La alarma no se ha podido fijar."</string>
     <string name="analog_gadget" msgid="1670505720837152766">"Reloj analógico"</string>
     <string name="settings" msgid="5849739030579520686">"Configuración"</string>
     <string name="alarm_in_silent_mode_title" msgid="3892612644543516705">"Alarma en modo silencioso"</string>
index 2b4298d..0703746 100644 (file)
@@ -54,8 +54,6 @@
     <string name="never" msgid="54104287800571769">"Nunca"</string>
     <string name="day_concat" msgid="971998564991636532">", "</string>
     <string name="clock_instructions" msgid="3118560284915857690">"Selecciona el reloj que quieras ver."</string>
-    <string name="error" msgid="108628064084462722">"Alarma no establecida"</string>
-    <string name="dberror" msgid="6922426026866330853">"No se ha podido establecer la alarma."</string>
     <string name="analog_gadget" msgid="1670505720837152766">"Reloj analógico"</string>
     <string name="settings" msgid="5849739030579520686">"Configuración"</string>
     <string name="alarm_in_silent_mode_title" msgid="3892612644543516705">"Alarma en modo silencio"</string>
index cf9ad63..2017030 100644 (file)
@@ -54,8 +54,6 @@
     <string name="never" msgid="54104287800571769">"Jamais"</string>
     <string name="day_concat" msgid="971998564991636532">", "</string>
     <string name="clock_instructions" msgid="3118560284915857690">"Sélectionnez une horloge à afficher."</string>
-    <string name="error" msgid="108628064084462722">"Alarme non activée"</string>
-    <string name="dberror" msgid="6922426026866330853">"Désolé, impossible de régler l\'alarme."</string>
     <string name="analog_gadget" msgid="1670505720837152766">"Horloge analogique"</string>
     <string name="settings" msgid="5849739030579520686">"Paramètres"</string>
     <string name="alarm_in_silent_mode_title" msgid="3892612644543516705">"Alarme mode silencieux"</string>
index d0b7cc0..1989fb3 100644 (file)
@@ -54,8 +54,6 @@
     <string name="never" msgid="54104287800571769">"Mai"</string>
     <string name="day_concat" msgid="971998564991636532">", "</string>
     <string name="clock_instructions" msgid="3118560284915857690">"Seleziona un orologio."</string>
-    <string name="error" msgid="108628064084462722">"Allarme non impostato"</string>
-    <string name="dberror" msgid="6922426026866330853">"Spiacenti. Impossibile impostare l\'allarme."</string>
     <string name="analog_gadget" msgid="1670505720837152766">"Orologio analogico"</string>
     <string name="settings" msgid="5849739030579520686">"Impostazioni"</string>
     <string name="alarm_in_silent_mode_title" msgid="3892612644543516705">"Allarme in mod. silenziosa"</string>
index 83cb9b4..65ccbfb 100644 (file)
@@ -54,8 +54,6 @@
     <string name="never" msgid="54104287800571769">"繰り返しなし"</string>
     <string name="day_concat" msgid="971998564991636532">"、 "</string>
     <string name="clock_instructions" msgid="3118560284915857690">"表示する時計を選択してください。"</string>
-    <string name="error" msgid="108628064084462722">"アラームを設定できません"</string>
-    <string name="dberror" msgid="6922426026866330853">"アラームを設定できません"</string>
     <string name="analog_gadget" msgid="1670505720837152766">"アナログ時計"</string>
     <string name="settings" msgid="5849739030579520686">"設定"</string>
     <string name="alarm_in_silent_mode_title" msgid="3892612644543516705">"マナーモード中のアラーム"</string>
index 82b9803..859f01b 100644 (file)
@@ -54,8 +54,6 @@
     <string name="never" msgid="54104287800571769">"반복 안함"</string>
     <string name="day_concat" msgid="971998564991636532">", "</string>
     <string name="clock_instructions" msgid="3118560284915857690">"표시할 시계를 선택하세요."</string>
-    <string name="error" msgid="108628064084462722">"알람 설정 안됨"</string>
-    <string name="dberror" msgid="6922426026866330853">"죄송합니다. 알람을 설정할 수 없습니다."</string>
     <string name="analog_gadget" msgid="1670505720837152766">"아날로그 시계"</string>
     <string name="settings" msgid="5849739030579520686">"설정"</string>
     <string name="alarm_in_silent_mode_title" msgid="3892612644543516705">"무음 모드로 알람 설정"</string>
index 2d8c5f8..3a278d9 100644 (file)
@@ -54,8 +54,6 @@
     <string name="never" msgid="54104287800571769">"Aldri"</string>
     <string name="day_concat" msgid="971998564991636532">", "</string>
     <string name="clock_instructions" msgid="3118560284915857690">"Velg klokken som skal vises."</string>
-    <string name="error" msgid="108628064084462722">"Alarm ikke satt"</string>
-    <string name="dberror" msgid="6922426026866330853">"Beklager, kan ikke sette alarmen."</string>
     <string name="analog_gadget" msgid="1670505720837152766">"Analog klokke"</string>
     <string name="settings" msgid="5849739030579520686">"Innstillinger"</string>
     <string name="alarm_in_silent_mode_title" msgid="3892612644543516705">"Alarm i stillemodus"</string>
index e9154da..b691317 100644 (file)
@@ -54,8 +54,6 @@
     <string name="never" msgid="54104287800571769">"Nooit"</string>
     <string name="day_concat" msgid="971998564991636532">", "</string>
     <string name="clock_instructions" msgid="3118560284915857690">"Selecteer een klok die u wilt weergeven."</string>
-    <string name="error" msgid="108628064084462722">"Alarm is niet ingesteld"</string>
-    <string name="dberror" msgid="6922426026866330853">"Het alarm kan niet worden ingesteld."</string>
     <string name="analog_gadget" msgid="1670505720837152766">"Analoge klok"</string>
     <string name="settings" msgid="5849739030579520686">"Instellingen"</string>
     <string name="alarm_in_silent_mode_title" msgid="3892612644543516705">"Alarm in stille modus"</string>
index 695baf0..cf93b85 100644 (file)
@@ -54,8 +54,6 @@
     <string name="never" msgid="54104287800571769">"Nigdy"</string>
     <string name="day_concat" msgid="971998564991636532">", "</string>
     <string name="clock_instructions" msgid="3118560284915857690">"Wybierz wyświetlany zegar."</string>
-    <string name="error" msgid="108628064084462722">"Alarm nieustawiony"</string>
-    <string name="dberror" msgid="6922426026866330853">"Niestety, nie można ustawić alarmu."</string>
     <string name="analog_gadget" msgid="1670505720837152766">"Zegar analogowy"</string>
     <string name="settings" msgid="5849739030579520686">"Ustawienia"</string>
     <string name="alarm_in_silent_mode_title" msgid="3892612644543516705">"Alarm w trybie cichym"</string>
index 3228884..7bdd0d7 100644 (file)
@@ -54,8 +54,6 @@
     <string name="never" msgid="54104287800571769">"Nunca"</string>
     <string name="day_concat" msgid="971998564991636532">", "</string>
     <string name="clock_instructions" msgid="3118560284915857690">"Seleccione um relógio para visualizar."</string>
-    <string name="error" msgid="108628064084462722">"Alarme não definido"</string>
-    <string name="dberror" msgid="6922426026866330853">"Lamentamos, mas não foi possível definir o alarme."</string>
     <string name="analog_gadget" msgid="1670505720837152766">"Relógio analógico"</string>
     <string name="settings" msgid="5849739030579520686">"Definições"</string>
     <string name="alarm_in_silent_mode_title" msgid="3892612644543516705">"Alarme em modo silencioso"</string>
index 6e3ca9a..c68212f 100644 (file)
@@ -54,8 +54,6 @@
     <string name="never" msgid="54104287800571769">"Nunca"</string>
     <string name="day_concat" msgid="971998564991636532">", "</string>
     <string name="clock_instructions" msgid="3118560284915857690">"Selecione um relógio para exibir."</string>
-    <string name="error" msgid="108628064084462722">"Alarme não definido"</string>
-    <string name="dberror" msgid="6922426026866330853">"Desculpe, não foi possível definir o alarme."</string>
     <string name="analog_gadget" msgid="1670505720837152766">"Relógio analógico"</string>
     <string name="settings" msgid="5849739030579520686">"Configurações"</string>
     <string name="alarm_in_silent_mode_title" msgid="3892612644543516705">"Alarme no modo silencioso"</string>
index dc1fda4..c905fb6 100644 (file)
@@ -54,8 +54,6 @@
     <string name="never" msgid="54104287800571769">"Никогда"</string>
     <string name="day_concat" msgid="971998564991636532">", "</string>
     <string name="clock_instructions" msgid="3118560284915857690">"Выберите вид часов."</string>
-    <string name="error" msgid="108628064084462722">"Будильник не установлен"</string>
-    <string name="dberror" msgid="6922426026866330853">"К сожалению, будильник не удалось установить."</string>
     <string name="analog_gadget" msgid="1670505720837152766">"Часы со стрелками"</string>
     <string name="settings" msgid="5849739030579520686">"Настройки"</string>
     <string name="alarm_in_silent_mode_title" msgid="3892612644543516705">"Будильник в тихом режиме"</string>
index 6e2decf..278de95 100644 (file)
@@ -54,8 +54,6 @@
     <string name="never" msgid="54104287800571769">"Aldrig"</string>
     <string name="day_concat" msgid="971998564991636532">", "</string>
     <string name="clock_instructions" msgid="3118560284915857690">"Välj vilken klocka du vill visa."</string>
-    <string name="error" msgid="108628064084462722">"Inget alarm har ställts in"</string>
-    <string name="dberror" msgid="6922426026866330853">"Det gick tyvärr inte att ställa alarmet."</string>
     <string name="analog_gadget" msgid="1670505720837152766">"Analog klocka"</string>
     <string name="settings" msgid="5849739030579520686">"Inställningar"</string>
     <string name="alarm_in_silent_mode_title" msgid="3892612644543516705">"Alarm i tyst läge"</string>
index 9d9ba6d..cc0c2f6 100644 (file)
@@ -54,8 +54,6 @@
     <string name="never" msgid="54104287800571769">"Asla"</string>
     <string name="day_concat" msgid="971998564991636532">", "</string>
     <string name="clock_instructions" msgid="3118560284915857690">"Görüntülenecek bir saat seçin."</string>
-    <string name="error" msgid="108628064084462722">"Alarm ayarlanmadı"</string>
-    <string name="dberror" msgid="6922426026866330853">"Maalesef, alarm ayarlanamadı."</string>
     <string name="analog_gadget" msgid="1670505720837152766">"Analog saat"</string>
     <string name="settings" msgid="5849739030579520686">"Ayarlar"</string>
     <string name="alarm_in_silent_mode_title" msgid="3892612644543516705">"Sessiz modda alarm çal"</string>
index eb6e0ab..78f7746 100644 (file)
@@ -54,8 +54,6 @@
     <string name="never" msgid="54104287800571769">"永不"</string>
     <string name="day_concat" msgid="971998564991636532">"、 "</string>
     <string name="clock_instructions" msgid="3118560284915857690">"选择要显示的时钟。"</string>
-    <string name="error" msgid="108628064084462722">"未设置闹钟"</string>
-    <string name="dberror" msgid="6922426026866330853">"很抱歉,无法设置闹钟。"</string>
     <string name="analog_gadget" msgid="1670505720837152766">"模拟时钟"</string>
     <string name="settings" msgid="5849739030579520686">"设置"</string>
     <string name="alarm_in_silent_mode_title" msgid="3892612644543516705">"在静音模式下提醒"</string>
index 78e98d0..6f60110 100644 (file)
@@ -54,8 +54,6 @@
     <string name="never" msgid="54104287800571769">"從不"</string>
     <string name="day_concat" msgid="971998564991636532">"、 "</string>
     <string name="clock_instructions" msgid="3118560284915857690">"選取顯示的時鐘。"</string>
-    <string name="error" msgid="108628064084462722">"鬧鐘未設定"</string>
-    <string name="dberror" msgid="6922426026866330853">"很抱歉,無法設定鬧鐘。"</string>
     <string name="analog_gadget" msgid="1670505720837152766">"類比時鐘"</string>
     <string name="settings" msgid="5849739030579520686">"設定"</string>
     <string name="alarm_in_silent_mode_title" msgid="3892612644543516705">"靜音模式下的鬧鐘"</string>
index df2dd88..a5207d3 100644 (file)
          select a clock to display -->
     <string name="clock_instructions">Select a clock to display.</string>
 
-    <!-- Error dialog title: Alarm not set.  Appears only on critical
-         failure -->
-    <string name="error">Alarm not set</string>
-
-    <!-- Error dialog message.  Appears only on critical
-         failure -->
-    <string name="dberror">Sorry, the alarm could not be set.</string>
-
     <!-- Label for analog clock gadget, shown in list of all gadgets -->
     <string name="analog_gadget">Analog clock</string>
 
index f84db84..75477fd 100644 (file)
@@ -22,6 +22,7 @@ import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.SharedPreferences;
+import android.content.res.Configuration;
 import android.database.Cursor;
 import android.net.Uri;
 import android.os.Bundle;
@@ -202,33 +203,23 @@ public class AlarmClock extends Activity implements OnItemClickListener {
         mAm = ampm[0];
         mPm = ampm[1];
 
-        // sanity check -- no database, no clock
-        if (getContentResolver() == null) {
-            new AlertDialog.Builder(this)
-                    .setTitle(getString(R.string.error))
-                    .setMessage(getString(R.string.dberror))
-                    .setPositiveButton(
-                            android.R.string.ok,
-                            new DialogInterface.OnClickListener() {
-                                public void onClick(DialogInterface dialog, int which) {
-                                    finish();
-                                }
-                            })
-                    .setOnCancelListener(
-                            new DialogInterface.OnCancelListener() {
-                                public void onCancel(DialogInterface dialog) {
-                                    finish();
-                                }})
-                    .setIcon(android.R.drawable.ic_dialog_alert)
-                    .create().show();
-            return;
-        }
-
-        setContentView(R.layout.alarm_clock);
         mFactory = LayoutInflater.from(this);
         mPrefs = getSharedPreferences(PREFERENCES, 0);
-
         mCursor = Alarms.getAlarmsCursor(getContentResolver());
+
+        updateLayout();
+        setClockVisibility(mPrefs.getBoolean(PREF_SHOW_CLOCK, true));
+    }
+
+    @Override
+    public void onConfigurationChanged(Configuration newConfig) {
+        super.onConfigurationChanged(newConfig);
+        updateLayout();
+        inflateClock();
+    }
+
+    private void updateLayout() {
+        setContentView(R.layout.alarm_clock);
         mAlarmsList = (ListView) findViewById(R.id.alarms_list);
         mAlarmsList.setAdapter(new AlarmTimeAdapter(this, mCursor));
         mAlarmsList.setVerticalScrollBarEnabled(true);
@@ -238,13 +229,12 @@ public class AlarmClock extends Activity implements OnItemClickListener {
         mClockLayout = (ViewGroup) findViewById(R.id.clock_layout);
         mClockLayout.setOnClickListener(new View.OnClickListener() {
                 public void onClick(View v) {
-                    final Intent intent = new Intent(AlarmClock.this, ClockPicker.class);
+                    final Intent intent =
+                            new Intent(AlarmClock.this, ClockPicker.class);
                     intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                     startActivity(intent);
                 }
             });
-
-        setClockVisibility(mPrefs.getBoolean(PREF_SHOW_CLOCK, true));
     }
 
     @Override
@@ -253,10 +243,11 @@ public class AlarmClock extends Activity implements OnItemClickListener {
 
         int face = mPrefs.getInt(PREF_CLOCK_FACE, 0);
         if (mFace != face) {
-            if (face < 0 || face >= AlarmClock.CLOCKS.length)
+            if (face < 0 || face >= AlarmClock.CLOCKS.length) {
                 mFace = 0;
-            else
+            } else {
                 mFace = face;
+            }
             inflateClock();
         }
     }