From d9cc7bc60b492664fe9f328d1bab9f9ae873f4d4 Mon Sep 17 00:00:00 2001 From: Warren Smith Date: Mon, 14 Aug 2017 08:56:16 -0700 Subject: [PATCH] Make GsonBuilder.create() factory order idempotent. (#1141) --- gson/src/main/java/com/google/gson/GsonBuilder.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gson/src/main/java/com/google/gson/GsonBuilder.java b/gson/src/main/java/com/google/gson/GsonBuilder.java index e6893860..bd4b87dd 100644 --- a/gson/src/main/java/com/google/gson/GsonBuilder.java +++ b/gson/src/main/java/com/google/gson/GsonBuilder.java @@ -562,8 +562,11 @@ public final class GsonBuilder { List factories = new ArrayList(this.factories.size() + this.hierarchyFactories.size() + 3); factories.addAll(this.factories); Collections.reverse(factories); - Collections.reverse(this.hierarchyFactories); - factories.addAll(this.hierarchyFactories); + + List hierarchyFactories = new ArrayList(this.hierarchyFactories); + Collections.reverse(hierarchyFactories); + factories.addAll(hierarchyFactories); + addTypeAdaptersForDate(datePattern, dateStyle, timeStyle, factories); return new Gson(excluder, fieldNamingPolicy, instanceCreators,