mirror of
https://github.com/owncloud/android-library.git
synced 2025-06-08 00:16:09 +00:00
WebdavUtils Don't statically allocate the SimpleDateObject
When accessing this from multiple threads we get inconsistent states of parsed value leading to the wrong date being returned.
This commit is contained in:
parent
1651d1a555
commit
5b61790975
@ -35,15 +35,15 @@ 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 SimpleDateFormat DATETIME_FORMATS[] = {
|
private static final String DATETIME_FORMATS[] = {
|
||||||
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US),
|
"yyyy-MM-dd'T'HH:mm:ss'Z'",
|
||||||
new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.US),
|
"EEE, dd MMM yyyy HH:mm:ss zzz",
|
||||||
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.sss'Z'", Locale.US),
|
"yyyy-MM-dd'T'HH:mm:ss.sss'Z'",
|
||||||
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ", Locale.US),
|
"yyyy-MM-dd'T'HH:mm:ssZ",
|
||||||
new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US),
|
"EEE MMM dd HH:mm:ss zzz yyyy",
|
||||||
new SimpleDateFormat("EEEEEE, dd-MMM-yy HH:mm:ss zzz", Locale.US),
|
"EEEEEE, dd-MMM-yy HH:mm:ss zzz",
|
||||||
new SimpleDateFormat("EEE MMMM d HH:mm:ss yyyy", Locale.US) ,
|
"EEE MMMM d HH:mm:ss yyyy",
|
||||||
new SimpleDateFormat("yyyy-MM-dd hh:mm:ss") };
|
"yyyy-MM-dd hh:mm:ss" };
|
||||||
|
|
||||||
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>";
|
||||||
@ -58,7 +58,7 @@ public class WebdavUtils {
|
|||||||
Date returnDate = null;
|
Date returnDate = null;
|
||||||
for (int i = 0; i < DATETIME_FORMATS.length; ++i) {
|
for (int i = 0; i < DATETIME_FORMATS.length; ++i) {
|
||||||
try {
|
try {
|
||||||
returnDate = DATETIME_FORMATS[i].parse(date);
|
returnDate = new SimpleDateFormat (DATETIME_FORMATS[i]).parse(date);
|
||||||
return returnDate;
|
return returnDate;
|
||||||
} catch (ParseException e) {
|
} catch (ParseException e) {
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user