mirror of
https://github.com/owncloud/android-library.git
synced 2025-06-07 16:06:08 +00:00
Back to save cached SimpleDateFormat instances to parse dates from server, to avoid huge performance problem in Android 2.x devices
This commit is contained in:
parent
0f23df1b7b
commit
9af57b477e
@ -35,15 +35,17 @@ import android.net.Uri;
|
||||
public class WebdavUtils {
|
||||
public static final SimpleDateFormat DISPLAY_DATE_FORMAT = new SimpleDateFormat(
|
||||
"dd.MM.yyyy hh:mm");
|
||||
private static final String DATETIME_FORMATS[] = {
|
||||
"yyyy-MM-dd'T'HH:mm:ss'Z'",
|
||||
"EEE, dd MMM yyyy HH:mm:ss zzz",
|
||||
"yyyy-MM-dd'T'HH:mm:ss.sss'Z'",
|
||||
"yyyy-MM-dd'T'HH:mm:ssZ",
|
||||
"EEE MMM dd HH:mm:ss zzz yyyy",
|
||||
"EEEEEE, dd-MMM-yy HH:mm:ss zzz",
|
||||
"EEE MMMM d HH:mm:ss yyyy",
|
||||
"yyyy-MM-dd hh:mm:ss" };
|
||||
|
||||
private static final SimpleDateFormat DATETIME_FORMATS[] = {
|
||||
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US),
|
||||
new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.US),
|
||||
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.sss'Z'", Locale.US),
|
||||
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ", Locale.US),
|
||||
new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US),
|
||||
new SimpleDateFormat("EEEEEE, dd-MMM-yy HH:mm:ss zzz", Locale.US),
|
||||
new SimpleDateFormat("EEE MMMM d HH:mm:ss yyyy", Locale.US),
|
||||
new SimpleDateFormat("yyyy-MM-dd hh:mm:ss", Locale.US)
|
||||
};
|
||||
|
||||
public static String prepareXmlForPropFind() {
|
||||
String ret = "<?xml version=\"1.0\" ?><D:propfind xmlns:D=\"DAV:\"><D:allprop/></D:propfind>";
|
||||
@ -56,11 +58,16 @@ public class WebdavUtils {
|
||||
|
||||
public static Date parseResponseDate(String date) {
|
||||
Date returnDate = null;
|
||||
SimpleDateFormat format = null;
|
||||
for (int i = 0; i < DATETIME_FORMATS.length; ++i) {
|
||||
try {
|
||||
returnDate = new SimpleDateFormat (DATETIME_FORMATS[i], Locale.US).parse(date);
|
||||
format = DATETIME_FORMATS[i];
|
||||
synchronized(format) {
|
||||
returnDate = format.parse(date);
|
||||
}
|
||||
return returnDate;
|
||||
} catch (ParseException e) {
|
||||
// this is not the format
|
||||
}
|
||||
}
|
||||
return null;
|
||||
|
Loading…
x
Reference in New Issue
Block a user