]> git.ktnx.net Git - mobile-ledger.git/commitdiff
config restore: skip null entries
authorDamyan Ivanov <dam+mobileledger@ktnx.net>
Mon, 30 Aug 2021 16:07:37 +0000 (19:07 +0300)
committerDamyan Ivanov <dam+mobileledger@ktnx.net>
Mon, 30 Aug 2021 16:07:37 +0000 (19:07 +0300)
instead of crashing because they aren't 'String' etc.

app/src/main/java/net/ktnx/mobileledger/async/ConfigReader.java

index bc95a8f8024472d2869b8b185da27db10824cc0f..a894f92f74ea010f471c203d67ace3806d646e59 100644 (file)
@@ -69,6 +69,10 @@ public class ConfigReader extends ConfigIO {
         r.beginObject();
         while (r.hasNext()) {
             String item = r.nextName();
+            if (r.peek() == JsonToken.NULL) {
+                r.nextNull();
+                continue;
+            }
             switch (item) {
                 case Keys.COMMODITIES:
                     commodities = readCommodities(r);
@@ -150,6 +154,10 @@ public class ConfigReader extends ConfigIO {
         TemplateAccount result = new TemplateAccount(0L, 0L, 0L);
         while (r.peek() != JsonToken.END_OBJECT) {
             String item = r.nextName();
+            if (r.peek() == JsonToken.NULL) {
+                r.nextNull();
+                continue;
+            }
             switch (item) {
                 case Keys.NAME:
                     result.setAccountName(r.nextString());
@@ -195,6 +203,10 @@ public class ConfigReader extends ConfigIO {
 
         while (r.peek() != JsonToken.END_OBJECT) {
             String item = r.nextName();
+            if (r.peek() == JsonToken.NULL) {
+                r.nextNull();
+                continue;
+            }
             switch (item) {
                 case Keys.UUID:
                     t.setUuid(r.nextString());
@@ -280,6 +292,10 @@ public class ConfigReader extends ConfigIO {
             r.beginObject();
             while (r.peek() != JsonToken.END_OBJECT) {
                 final String item = r.nextName();
+                if (r.peek() == JsonToken.NULL) {
+                    r.nextNull();
+                    continue;
+                }
                 switch (item) {
                     case Keys.NAME:
                         c.setName(r.nextString());
@@ -314,6 +330,10 @@ public class ConfigReader extends ConfigIO {
             r.beginObject();
             while (r.peek() != JsonToken.END_OBJECT) {
                 String item = r.nextName();
+                if (r.peek() == JsonToken.NULL) {
+                    r.nextNull();
+                    continue;
+                }
 
                 switch (item) {
                     case Keys.UUID: