diff options
author | desperateCoder <echotodevnull@gmail.com> | 2020-05-17 17:07:01 +0300 |
---|---|---|
committer | desperateCoder <echotodevnull@gmail.com> | 2020-05-17 17:07:01 +0300 |
commit | 9610174a17393c4d8e3846e661c029037f96ac6e (patch) | |
tree | 8b5b19b595fb73e5fa04cb422a8a2f4e6e717244 /app/src/main/java/it/niedermann/nextcloud/deck/api | |
parent | 7c353796069161bc30b5ea6d5fff252a4d1fb20f (diff) |
#505 proper time parsing ISO 8601
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/api')
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/api/JsonToEntityParser.java | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/api/JsonToEntityParser.java b/app/src/main/java/it/niedermann/nextcloud/deck/api/JsonToEntityParser.java index b92b1d57f..be9ea7b89 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/api/JsonToEntityParser.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/api/JsonToEntityParser.java @@ -4,12 +4,13 @@ import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; -import java.text.ParseException; -import java.text.SimpleDateFormat; +import org.threeten.bp.DateTimeUtils; +import org.threeten.bp.ZonedDateTime; +import org.threeten.bp.format.DateTimeFormatter; + import java.util.ArrayList; import java.util.Date; import java.util.List; -import java.util.TimeZone; import it.niedermann.nextcloud.deck.DeckLog; import it.niedermann.nextcloud.deck.exceptions.DeckException; @@ -35,11 +36,6 @@ import static it.niedermann.nextcloud.deck.exceptions.DeckException.Hint.CAPABIL import static it.niedermann.nextcloud.deck.exceptions.DeckException.Hint.CAPABILITIES_VERSION_NOT_PARSABLE; public class JsonToEntityParser { - private static SimpleDateFormat formatter = new SimpleDateFormat(GsonConfig.DATE_PATTERN); - - static { - formatter.setTimeZone(TimeZone.getTimeZone("UTC")); - } protected static <T> T parseJsonObject(JsonObject obj, Class<T> mType) { if (mType == FullBoard.class) { @@ -441,11 +437,8 @@ public class JsonToEntityParser { if (jsonElement.isJsonNull()) { return null; } else { - try { - return formatter.parse(jsonElement.getAsString()); - } catch (ParseException e) { - return null; - } + String dateAsString = jsonElement.getAsString(); + return DateTimeUtils.toDate(ZonedDateTime.from(DateTimeFormatter.ISO_DATE_TIME.parse(dateAsString)).toInstant()); } } |