mirror of
https://github.com/owncloud/android-library.git
synced 2025-06-08 00:16:09 +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 class WebdavUtils {
|
||||||
public static final SimpleDateFormat DISPLAY_DATE_FORMAT = new SimpleDateFormat(
|
public static final SimpleDateFormat DISPLAY_DATE_FORMAT = new SimpleDateFormat(
|
||||||
"dd.MM.yyyy hh:mm");
|
"dd.MM.yyyy hh:mm");
|
||||||
private static final String DATETIME_FORMATS[] = {
|
|
||||||
"yyyy-MM-dd'T'HH:mm:ss'Z'",
|
private static final SimpleDateFormat DATETIME_FORMATS[] = {
|
||||||
"EEE, dd MMM yyyy HH:mm:ss zzz",
|
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US),
|
||||||
"yyyy-MM-dd'T'HH:mm:ss.sss'Z'",
|
new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.US),
|
||||||
"yyyy-MM-dd'T'HH:mm:ssZ",
|
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.sss'Z'", Locale.US),
|
||||||
"EEE MMM dd HH:mm:ss zzz yyyy",
|
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ", Locale.US),
|
||||||
"EEEEEE, dd-MMM-yy HH:mm:ss zzz",
|
new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US),
|
||||||
"EEE MMMM d HH:mm:ss yyyy",
|
new SimpleDateFormat("EEEEEE, dd-MMM-yy HH:mm:ss zzz", Locale.US),
|
||||||
"yyyy-MM-dd hh:mm:ss" };
|
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() {
|
public static String prepareXmlForPropFind() {
|
||||||
String ret = "<?xml version=\"1.0\" ?><D:propfind xmlns:D=\"DAV:\"><D:allprop/></D:propfind>";
|
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) {
|
public static Date parseResponseDate(String date) {
|
||||||
Date returnDate = null;
|
Date returnDate = null;
|
||||||
|
SimpleDateFormat format = null;
|
||||||
for (int i = 0; i < DATETIME_FORMATS.length; ++i) {
|
for (int i = 0; i < DATETIME_FORMATS.length; ++i) {
|
||||||
try {
|
try {
|
||||||
returnDate = new SimpleDateFormat (DATETIME_FORMATS[i], Locale.US).parse(date);
|
format = DATETIME_FORMATS[i];
|
||||||
|
synchronized(format) {
|
||||||
|
returnDate = format.parse(date);
|
||||||
|
}
|
||||||
return returnDate;
|
return returnDate;
|
||||||
} catch (ParseException e) {
|
} catch (ParseException e) {
|
||||||
|
// this is not the format
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user