diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 0fa44f221..d2571b2e4 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -205,5 +205,12 @@
- ALWAYS
- NEVER
+
+
+ - @string/date_format_short
+ - @string/date_format_medium
+ - @string/date_format_common
+ - @string/date_format_iso8601
+
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 5dda66ca3..f833dc798 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -564,4 +564,12 @@ Welcome to K-9 Mail setup. K-9 is an open source mail client for Android origin
When \'Background data\' is checked
No message selected
+
+ Date format
+ SHORT
+ MEDIUM
+ dd-MMM-yyyy
+ yyyy-MM-dd
+
+
diff --git a/res/xml/global_preferences.xml b/res/xml/global_preferences.xml
index 66a372b51..c32151f4e 100644
--- a/res/xml/global_preferences.xml
+++ b/res/xml/global_preferences.xml
@@ -24,6 +24,13 @@
android:entries="@array/settings_theme_entries"
android:entryValues="@array/settings_theme_values"
android:dialogTitle="@string/settings_theme_label" />
+
+
diff --git a/src/com/android/email/Email.java b/src/com/android/email/Email.java
index 1cdb76a32..79d09e635 100644
--- a/src/com/android/email/Email.java
+++ b/src/com/android/email/Email.java
@@ -463,14 +463,12 @@ public class Email extends Application
}
- public static void save(SharedPreferences preferences)
+ public static void save(SharedPreferences.Editor editor)
{
- SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("enableDebugLogging", Email.DEBUG);
editor.putBoolean("enableSensitiveLogging", Email.DEBUG_SENSITIVE);
editor.putString("backgroundOperations", Email.backgroundOps.toString());
editor.putInt("theme", theme);
- editor.commit();
}
@Override
diff --git a/src/com/android/email/activity/DateFormatter.java b/src/com/android/email/activity/DateFormatter.java
new file mode 100644
index 000000000..69c86edd7
--- /dev/null
+++ b/src/com/android/email/activity/DateFormatter.java
@@ -0,0 +1,103 @@
+package com.android.email.activity;
+
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.HashMap;
+import java.util.Map;
+
+import android.content.Context;
+import android.content.SharedPreferences.Editor;
+
+import com.android.email.Preferences;
+import com.android.email.R;
+
+public class DateFormatter
+{
+ private DateFormatter()
+ {
+ }
+ private final static Calendar SAMPLE_DATE = Calendar.getInstance();
+ static
+ {
+ SAMPLE_DATE.set(SAMPLE_DATE.get(Calendar.YEAR), SAMPLE_DATE.getActualMaximum(Calendar.MONTH), SAMPLE_DATE.getActualMaximum(Calendar.DAY_OF_MONTH));
+ }
+
+ public static final String SHORT_FORMAT = "SHORT";
+ public static final String MEDIUM_FORMAT = "MEDIUM";
+ public static final String DEFAULT_FORMAT = SHORT_FORMAT;
+
+ public static final String PREF_KEY = "dateFormat";
+
+ private static volatile String sChosenFormat = null;
+
+ public static String getSampleDate(Context context, String formatString)
+ {
+ java.text.DateFormat formatter = getDateFormat(context, formatString);
+ return formatter.format(SAMPLE_DATE.getTime());
+ }
+
+ public static String[] getFormats(Context context)
+ {
+ return context.getResources().getStringArray(R.array.date_formats);
+ }
+
+ private static ThreadLocal