diff --git a/astrid/res/values-ca/strings.xml b/astrid/res/values-ca/strings.xml
index 273dbac23..0c599aed8 100644
--- a/astrid/res/values-ca/strings.xml
+++ b/astrid/res/values-ca/strings.xml
@@ -62,10 +62,6 @@
-
- d MMM
-
- HH:mm dd/M
D\ni\ne\ns
H\no\nr\ne\ns
diff --git a/astrid/res/values-cs/strings.xml b/astrid/res/values-cs/strings.xml
index db235c915..746797ce8 100644
--- a/astrid/res/values-cs/strings.xml
+++ b/astrid/res/values-cs/strings.xml
@@ -62,10 +62,6 @@
-
- d. MMM
-
- dd.M HH:mm
D\na\ny\ns
H\no\nu\nr\ns
diff --git a/astrid/res/values-de/strings.xml b/astrid/res/values-de/strings.xml
index d2ca0f16e..df5e461fb 100644
--- a/astrid/res/values-de/strings.xml
+++ b/astrid/res/values-de/strings.xml
@@ -62,10 +62,6 @@
-
- d. MMM
-
- dd/M HH:mm
T
a
diff --git a/astrid/res/values-es/strings.xml b/astrid/res/values-es/strings.xml
index d5e139038..69ba5c76a 100644
--- a/astrid/res/values-es/strings.xml
+++ b/astrid/res/values-es/strings.xml
@@ -62,10 +62,6 @@
-
- d MMM
-
- HH:mm dd/M
D\ní\na\ns
H\no\nr\na\ns
diff --git a/astrid/res/values-fr/strings.xml b/astrid/res/values-fr/strings.xml
index c007c66b5..16b9d9365 100644
--- a/astrid/res/values-fr/strings.xml
+++ b/astrid/res/values-fr/strings.xml
@@ -62,10 +62,6 @@
-
- dd MMM
-
- dd/MM HH:mm
j\no\nu\nr\ns
h\ne\nu\nr\ne\ns
diff --git a/astrid/res/values-id/strings.xml b/astrid/res/values-id/strings.xml
index 2eabcb8e4..adfda4d94 100644
--- a/astrid/res/values-id/strings.xml
+++ b/astrid/res/values-id/strings.xml
@@ -62,10 +62,6 @@
-
- MMM d
-
- M/dd HH:mm
D\na\ny\ns
H\no\nu\nr\ns
diff --git a/astrid/res/values-it/strings.xml b/astrid/res/values-it/strings.xml
index 024b5237b..1f62dc90a 100644
--- a/astrid/res/values-it/strings.xml
+++ b/astrid/res/values-it/strings.xml
@@ -62,10 +62,6 @@
-
- d MMM
-
- dd/M HH:mm
D\na\ny\ns
H\no\nu\nr\ns
diff --git a/astrid/res/values-ja/strings.xml b/astrid/res/values-ja/strings.xml
index 0f4acb9b0..4ee3c16ff 100644
--- a/astrid/res/values-ja/strings.xml
+++ b/astrid/res/values-ja/strings.xml
@@ -62,10 +62,6 @@
-
- MMM d
-
- M/dd HH:mm
日
時\n間
diff --git a/astrid/res/values-ko/strings.xml b/astrid/res/values-ko/strings.xml
index bda0435d4..60682b4a6 100644
--- a/astrid/res/values-ko/strings.xml
+++ b/astrid/res/values-ko/strings.xml
@@ -62,10 +62,6 @@
-
- MMM d
-
- M/dd HH:mm
일
시
diff --git a/astrid/res/values-nb/strings.xml b/astrid/res/values-nb/strings.xml
index 1421ddb19..2dcbfd7e7 100644
--- a/astrid/res/values-nb/strings.xml
+++ b/astrid/res/values-nb/strings.xml
@@ -62,10 +62,6 @@
-
- d MMM
-
- dd/M HH:mm
d\na\ng\ne\nr
t\ni\nm\ne\nr
@@ -493,4 +489,4 @@ Hvis du ikke ønsker å se den nye oppgaven rett etter at du fullfører den gaml
Les Astrid-gjøremål
-
\ No newline at end of file
+
diff --git a/astrid/res/values-nl/strings.xml b/astrid/res/values-nl/strings.xml
index 638535469..a325ae521 100644
--- a/astrid/res/values-nl/strings.xml
+++ b/astrid/res/values-nl/strings.xml
@@ -62,10 +62,6 @@
-
- d MMM
-
- dd-M HH:mm
D\na\ng\ne\nn
U\nr\ne\nn
diff --git a/astrid/res/values-pl/strings.xml b/astrid/res/values-pl/strings.xml
index 31e8ed7ac..68d0ea945 100644
--- a/astrid/res/values-pl/strings.xml
+++ b/astrid/res/values-pl/strings.xml
@@ -62,10 +62,6 @@
-
- d MMMM
-
- M/dd HH:mm
D\na\ny\ns
H\no\nu\nr\ns
diff --git a/astrid/res/values-pt/strings.xml b/astrid/res/values-pt/strings.xml
index e7ada0ffd..78799f1c4 100644
--- a/astrid/res/values-pt/strings.xml
+++ b/astrid/res/values-pt/strings.xml
@@ -62,10 +62,6 @@
-
- MMM d
-
- M/dd HH:mm
D\ni\na\ns
H\no\nr\na\ns
diff --git a/astrid/res/values-ru/strings.xml b/astrid/res/values-ru/strings.xml
index f37465460..2463a3b40 100644
--- a/astrid/res/values-ru/strings.xml
+++ b/astrid/res/values-ru/strings.xml
@@ -62,10 +62,6 @@
-
- d MMM
-
- dd/M HH:mm
D\ny\na\ns
H\no\nu\nr\ns
diff --git a/astrid/res/values-sv/strings.xml b/astrid/res/values-sv/strings.xml
index 12f2b8af6..0703a08c0 100644
--- a/astrid/res/values-sv/strings.xml
+++ b/astrid/res/values-sv/strings.xml
@@ -62,10 +62,6 @@
-
- d MMM
-
- M/dd HH:mm
D\na\ng\na\nr
H\no\nu\nr\ns
diff --git a/astrid/res/values-tr/strings.xml b/astrid/res/values-tr/strings.xml
index ac4dd0599..f20b2da8a 100644
--- a/astrid/res/values-tr/strings.xml
+++ b/astrid/res/values-tr/strings.xml
@@ -62,10 +62,6 @@
-
- d MMM
-
- dd-MM HH:mm
D\na\ny\ns
H\no\nu\nr\ns
diff --git a/astrid/res/values-zh-rCN/strings.xml b/astrid/res/values-zh-rCN/strings.xml
index 727d8c9aa..dbb9460e6 100644
--- a/astrid/res/values-zh-rCN/strings.xml
+++ b/astrid/res/values-zh-rCN/strings.xml
@@ -62,10 +62,6 @@
-
- MMM d
-
- M/dd HH:mm
天
小\n时
diff --git a/astrid/res/values-zh-rTW/strings.xml b/astrid/res/values-zh-rTW/strings.xml
index e132b1e67..8b9975b76 100644
--- a/astrid/res/values-zh-rTW/strings.xml
+++ b/astrid/res/values-zh-rTW/strings.xml
@@ -62,10 +62,6 @@
-
- MMM d
-
- M/dd HH:mm
天
小\n時
diff --git a/astrid/res/values/strings.xml b/astrid/res/values/strings.xml
index aefc1ade2..f5a2563fe 100644
--- a/astrid/res/values/strings.xml
+++ b/astrid/res/values/strings.xml
@@ -62,10 +62,6 @@
-
- MMM d
-
- M/dd HH:mm
D\na\ny\ns
H\no\nu\nr\ns
diff --git a/astrid/src-legacy/com/timsu/astrid/activities/TaskListAdapter.java b/astrid/src-legacy/com/timsu/astrid/activities/TaskListAdapter.java
index 88dac582c..188f6773f 100644
--- a/astrid/src-legacy/com/timsu/astrid/activities/TaskListAdapter.java
+++ b/astrid/src-legacy/com/timsu/astrid/activities/TaskListAdapter.java
@@ -18,7 +18,6 @@
package com.timsu.astrid.activities;
import java.text.Format;
-import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
@@ -333,7 +332,7 @@ public class TaskListAdapter extends ArrayAdapter {
DateUtilities.getDurationString(r,
Math.abs(secondsLeft), 1));
else
- finishedTime = DateUtilities.getFormattedDate(r,
+ finishedTime = DateUtilities.getFormattedDate(activity,
task.getCompletionDate());
label.append(r.getString(R.string.taskList_completedPrefix,
finishedTime));
@@ -358,7 +357,7 @@ public class TaskListAdapter extends ArrayAdapter {
label.append(DateUtilities.getDurationString(r,
(int)Math.abs(timeLeft), 1, true));
else
- label.append(DateUtilities.getFormattedDate(r,
+ label.append(DateUtilities.getFormattedDate(activity,
task.getDefiniteDueDate()));
}
if(!taskOverdue && task.getPreferredDueDate() != null) {
@@ -381,7 +380,7 @@ public class TaskListAdapter extends ArrayAdapter {
label.append(DateUtilities.getDurationString(r,
(int)Math.abs(timeLeft), 1, true));
else
- label.append(DateUtilities.getFormattedDate(r,
+ label.append(DateUtilities.getFormattedDate(activity,
task.getPreferredDueDate()));
}
}
@@ -458,8 +457,7 @@ public class TaskListAdapter extends ArrayAdapter {
if(label.length() > 0)
label.append(". ");
if(alarmFormat == null)
- alarmFormat = new SimpleDateFormat(
- r.getString(R.string.alarmDateFormatter));
+ alarmFormat = Preferences.getDateWithTimeFormat(activity);
String alarmString = alarmFormat.format(nextAlarm);
label.append(r.getString(R.string.taskList_alarmPrefix) +
" " + alarmString);
diff --git a/astrid/src-legacy/com/timsu/astrid/utilities/BackupService.java b/astrid/src-legacy/com/timsu/astrid/utilities/BackupService.java
index b7da29e8b..fa615910e 100644
--- a/astrid/src-legacy/com/timsu/astrid/utilities/BackupService.java
+++ b/astrid/src-legacy/com/timsu/astrid/utilities/BackupService.java
@@ -73,7 +73,7 @@ public class BackupService extends Service {
exporter.exportTasks(backupDirectorySetting.getBackupDirectory());
Preferences.setBackupSummary(ctx,
ctx.getString(R.string.prefs_backup_desc_success,
- DateUtilities.getFormattedDate(ctx.getResources(), new Date())));
+ DateUtilities.getFormattedDate(ctx, new Date())));
} catch (Exception e) {
// unable to backup.
if (e == null || e.getMessage() == null) {
diff --git a/astrid/src-legacy/com/timsu/astrid/utilities/DateUtilities.java b/astrid/src-legacy/com/timsu/astrid/utilities/DateUtilities.java
index 3886fefd0..06b1a3678 100644
--- a/astrid/src-legacy/com/timsu/astrid/utilities/DateUtilities.java
+++ b/astrid/src-legacy/com/timsu/astrid/utilities/DateUtilities.java
@@ -19,25 +19,27 @@
*/
package com.timsu.astrid.utilities;
-import android.content.res.Resources;
-import android.util.Log;
-import com.timsu.astrid.R;
-
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
+import android.content.Context;
+import android.content.res.Resources;
+import android.util.Log;
+
+import com.timsu.astrid.R;
+
public class DateUtilities {
private static SimpleDateFormat format = null;
private static final String ISO_8601_FORMAT = "yyyy-MM-dd'T'HH:mm:ssz";
/** Format a time into a medium length absolute format */
- public static String getFormattedDate(Resources r, Date date) {
+ public static String getFormattedDate(Context context, Date date) {
if(format == null)
- format = new SimpleDateFormat(r.getString(R.string.dateFormatter));
+ format = Preferences.getDateFormat(context);
return format.format(date);
}
diff --git a/astrid/src-legacy/com/timsu/astrid/utilities/Preferences.java b/astrid/src-legacy/com/timsu/astrid/utilities/Preferences.java
index d5abe456b..f7074184c 100644
--- a/astrid/src-legacy/com/timsu/astrid/utilities/Preferences.java
+++ b/astrid/src-legacy/com/timsu/astrid/utilities/Preferences.java
@@ -148,33 +148,84 @@ public class Preferences {
editor.commit();
}
+ // --- date time strings and formatters
+
+ @SuppressWarnings("nls")
public static boolean is24HourFormat(Context context) {
String value = android.provider.Settings.System.getString(context.getContentResolver(),
- android.provider.Settings.System.TIME_12_24);
+ android.provider.Settings.System.TIME_12_24);
boolean b24 = !(value == null || value.equals("12"));
return b24;
}
+ /**
+ * @return time format (hours and minutes)
+ */
public static SimpleDateFormat getTimeFormat(Context context) {
+ String value = getTimeFormatString(context);
+ return new SimpleDateFormat(value);
+ }
+
+ /**
+ * @return string used for time formatting
+ */
+ @SuppressWarnings("nls")
+ private static String getTimeFormatString(Context context) {
String value;
if (is24HourFormat(context)) {
value = "H:mm";
} else {
value = "h:mm a";
}
+ return value;
+ }
- return new SimpleDateFormat(value);
+ /**
+ * @return string used for date formatting
+ */
+ @SuppressWarnings("nls")
+ private static String getDateFormatString(Context context) {
+ String value = android.provider.Settings.System.getString(context.getContentResolver(),
+ android.provider.Settings.System.DATE_FORMAT);
+ if (value == null) {
+ // united states, you are special
+ if (Locale.US.equals(Locale.getDefault())
+ || Locale.CANADA.equals(Locale.getDefault()))
+ value = "MMM d yyyy";
+ else
+ value = "d MMM yyyy";
+ }
+ return value;
}
+ /**
+ * @return date format (month, day, year)
+ */
public static SimpleDateFormat getDateFormat(Context context) {
- // united states, you are special
- if(Locale.US.equals(Locale.getDefault()) ||
- Locale.CANADA.equals(Locale.getDefault()))
- return new SimpleDateFormat("EEE, MMM d yyyy");
- else
- return new SimpleDateFormat("EEE, d MMM yyyy");
+ return new SimpleDateFormat(getDateFormatString(context));
+ }
+
+ /**
+ * @return date format as getDateFormat with weekday
+ */
+ @SuppressWarnings("nls")
+ public static SimpleDateFormat getDateFormatWithWeekday(Context context) {
+ return new SimpleDateFormat("EEE, " + getDateFormatString(context));
+
}
+ /**
+ * @return date with time at the end
+ */
+ @SuppressWarnings("nls")
+ public static SimpleDateFormat getDateWithTimeFormat(Context context) {
+ return new SimpleDateFormat(getDateFormatString(context) + " " +
+ getTimeFormatString(context));
+
+ }
+
+
+
// --- notification settings
/** returns hour at which quiet hours start, or null if not set */
diff --git a/astrid/src-legacy/com/timsu/astrid/widget/DateControlSet.java b/astrid/src-legacy/com/timsu/astrid/widget/DateControlSet.java
index 4114ca781..aaa5b4d7d 100644
--- a/astrid/src-legacy/com/timsu/astrid/widget/DateControlSet.java
+++ b/astrid/src-legacy/com/timsu/astrid/widget/DateControlSet.java
@@ -47,7 +47,7 @@ public class DateControlSet implements OnTimeSetListener,
protected DateControlSet(Activity activity) {
this.activity = activity;
- this.dateFormatter = Preferences.getDateFormat(this.activity);
+ this.dateFormatter = Preferences.getDateFormatWithWeekday(this.activity);
this.timeFormatter = Preferences.getTimeFormat(this.activity);
}
diff --git a/tests/src/com/todoroo/astrid/test/AstridTranslationTests.java b/tests/src/com/todoroo/astrid/test/AstridTranslationTests.java
index e4f73bc1f..c54a87de6 100644
--- a/tests/src/com/todoroo/astrid/test/AstridTranslationTests.java
+++ b/tests/src/com/todoroo/astrid/test/AstridTranslationTests.java
@@ -20,8 +20,7 @@ public class AstridTranslationTests extends TranslationTests {
@Override
public int[] getDateFormatStrings() {
return new int[] {
- R.string.dateFormatter,
- R.string.alarmDateFormatter,
+ //
};
}