Fix for AST-233 - new tasks reminder settings into Task Defaults menu

pull/14/head
Tim Su 14 years ago
parent e3634794ee
commit 175f4fe8da

@ -20,6 +20,7 @@ import com.todoroo.astrid.utility.Preferences;
*/
public class DefaultsPreferences extends TodorooPreferences {
@Override
public int getPreferenceResource() {
return R.xml.preferences_defaults;
}
@ -28,6 +29,7 @@ public class DefaultsPreferences extends TodorooPreferences {
*
* @param resource if null, updates all resources
*/
@Override
public void updatePreferences(Preference preference, Object value) {
Resources r = getResources();
@ -41,12 +43,31 @@ public class DefaultsPreferences extends TodorooPreferences {
} else if(r.getString(R.string.p_default_hideUntil_key).equals(preference.getKey())) {
updateTaskListPreference(preference, value, r, R.array.EPr_default_hideUntil,
R.array.EPr_default_hideUntil_values, R.string.EPr_default_hideUntil_desc);
} else if(r.getString(R.string.p_default_reminders_key).equals(preference.getKey())) {
updateTaskListPreference(preference, value, r, R.array.EPr_default_reminders,
R.array.EPr_default_reminders_values, R.string.EPr_default_reminders_desc);
} else if(r.getString(R.string.p_rmd_default_random_hours).equals(preference.getKey())) {
int index = AndroidUtilities.indexOf(r.getStringArray(R.array.EPr_reminder_random_hours), (String)value);
if(index <= 0)
preference.setSummary(r.getString(R.string.rmd_EPr_defaultRemind_desc_disabled));
else {
String setting = r.getStringArray(R.array.EPr_reminder_random)[index];
preference.setSummary(r.getString(R.string.rmd_EPr_defaultRemind_desc, setting));
}
}
}
private void updateTaskListPreference(Preference preference, Object value,
Resources r, int keyArray, int valueArray, int summaryResource) {
int index = AndroidUtilities.indexOf(r.getStringArray(valueArray), (String)value);
if(index == -1) {
// force the zeroth index
index = 0;
Editor editor = preference.getEditor();
editor.putString(preference.getKey(),
r.getStringArray(valueArray)[0]);
editor.commit();
}
String setting = r.getStringArray(keyArray)[index];
preference.setSummary(r.getString(summaryResource,
setting));

@ -52,14 +52,6 @@ public class ReminderPreferences extends TodorooPreferences {
String setting = r.getStringArray(R.array.EPr_quiet_hours_end)[index];
preference.setSummary(r.getString(R.string.rmd_EPr_quiet_hours_end_desc, setting));
}
} else if(r.getString(R.string.p_rmd_default_random_hours).equals(preference.getKey())) {
int index = AndroidUtilities.indexOf(r.getStringArray(R.array.EPr_reminder_random_hours), (String)value);
if(index <= 0)
preference.setSummary(r.getString(R.string.rmd_EPr_defaultRemind_desc_disabled));
else {
String setting = r.getStringArray(R.array.EPr_reminder_random)[index];
preference.setSummary(r.getString(R.string.rmd_EPr_defaultRemind_desc, setting));
}
} else if(r.getString(R.string.p_rmd_ringtone).equals(preference.getKey())) {
if(value == null || "content://settings/system/notification_sound".equals(value)) //$NON-NLS-1$
preference.setSummary(r.getString(R.string.rmd_EPr_ringtone_desc_default));

@ -171,6 +171,14 @@
<item>2</item>
<item>3</item>
</string-array>
<string-array name="EPr_default_reminders_values">
<!-- reminders: values that map EPr_default_reminders items to reminder flags. -->
<item>0</item>
<item>2</item>
<item>4</item>
<item>6</item>
</string-array>
<!-- default importance setting (corresponds to task setting) -->
<string name="p_default_importance_key">p_def_imp</string>
@ -178,6 +186,9 @@
<!-- default hide until setting (corresponds to entry in TEA_hideUntil) -->
<string name="p_default_hideUntil_key">p_def_hide</string>
<!-- default reminders setting (corresponds to reminder flags) -->
<string name="p_default_reminders_key">p_def_reminders</string>
<!-- ============================================================ SYNC == -->
<string-array name="sync_SPr_interval_values">

@ -364,17 +364,22 @@ to the plugin creator for fastest service.
<!-- Preference: Default Urgency Title -->
<string name="EPr_default_urgency_title">Default Urgency</string>
<!-- Preference: Default Urgency Description (%s => setting) -->
<string name="EPr_default_urgency_desc">Currently Set To: %s</string>
<string name="EPr_default_urgency_desc">Currently: %s</string>
<!-- Preference: Default Importance Title -->
<string name="EPr_default_importance_title">Default Importance</string>
<!-- Preference: Default Importance Description (%s => setting) -->
<string name="EPr_default_importance_desc">Currently Set To: %s</string>
<string name="EPr_default_importance_desc">Currently: %s</string>
<!-- Preference: Default Hide Until Title -->
<string name="EPr_default_hideUntil_title">Default Hide Until</string>
<!-- Preference: Default Hide Until Description (%s => setting) -->
<string name="EPr_default_hideUntil_desc">Currently Set To: %s</string>
<string name="EPr_default_hideUntil_desc">Currently: %s</string>
<!-- Preference: Default Reminders Title -->
<string name="EPr_default_reminders_title">Default Reminders</string>
<!-- Preference: Default Hide Until Description (%s => setting) -->
<string name="EPr_default_reminders_desc">Currently: %s</string>
<string-array name="EPr_default_importance">
<!-- importance: labels for "Task Defaults" preference item. -->
@ -399,7 +404,15 @@ to the plugin creator for fastest service.
<item>Task is due</item>
<item>Day before due</item>
<item>Week before due</item>
</string-array>
</string-array>
<string-array name="EPr_default_reminders">
<!-- reminders: labels for "Task Defaults" preference item. -->
<item>No deadline reminders</item>
<item>At deadline</item>
<item>When overdue</item>
<item>At deadline or overdue</item>
</string-array>
<!-- ==================================================== AddOnActivity == -->

@ -17,4 +17,15 @@
android:entries="@array/EPr_default_hideUntil"
android:entryValues="@array/EPr_default_hideUntil_values"
android:title="@string/EPr_default_hideUntil_title" />
<ListPreference
android:key="@string/p_default_reminders_key"
android:entries="@array/EPr_default_reminders"
android:entryValues="@array/EPr_default_reminders_values"
android:title="@string/EPr_default_reminders_title" />
<ListPreference
android:key="@string/p_rmd_default_random_hours"
android:title="@string/rmd_EPr_defaultRemind_title"
android:entries="@array/EPr_reminder_random"
android:entryValues="@array/EPr_reminder_random_hours"/>
</PreferenceScreen>

@ -23,11 +23,6 @@
android:key="@string/p_rmd_nagging"
android:title="@string/rmd_EPr_nagging_title"
android:defaultValue="true" />
<ListPreference
android:key="@string/p_rmd_default_random_hours"
android:title="@string/rmd_EPr_defaultRemind_title"
android:entries="@array/EPr_reminder_random"
android:entryValues="@array/EPr_reminder_random_hours"/>
<RingtonePreference
android:key="@string/p_rmd_ringtone"
android:title="@string/rmd_EPr_ringtone_title"

@ -202,7 +202,9 @@ public class TaskDao extends DatabaseDao<Task> {
0));
}
if(!item.containsValue(Task.REMINDER_FLAGS)) {
item.setValue(Task.REMINDER_FLAGS, Task.NOTIFY_AT_DEADLINE | Task.NOTIFY_AFTER_DEADLINE);
item.setValue(Task.REMINDER_FLAGS,
Preferences.getIntegerFromString(R.string.p_default_reminders_key,
Task.NOTIFY_AT_DEADLINE | Task.NOTIFY_AFTER_DEADLINE));
}
return super.createNew(item);

@ -25,6 +25,8 @@ public class Preferences {
setIfUnset(prefs, editor, r, R.string.p_default_urgency_key, 0);
setIfUnset(prefs, editor, r, R.string.p_default_importance_key, 2);
setIfUnset(prefs, editor, r, R.string.p_default_hideUntil_key, 0);
setIfUnset(prefs, editor, r, R.string.p_default_reminders_key, 6);
setIfUnset(prefs, editor, r, R.string.p_rmd_default_random_hours, 0);
setIfUnset(prefs, editor, r, R.string.p_fontSize, 20);
editor.commit();

Loading…
Cancel
Save