X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fasync%2FConfigReader.java;h=a894f92f74ea010f471c203d67ace3806d646e59;hp=a0d66a221a31445c8ee59086a384c2b6e0e5d738;hb=833544eb24cb630dc1ce221e4aa3dedb3f6341e3;hpb=39eca7a036963be2e6dc4e6403961177f2c5267d diff --git a/app/src/main/java/net/ktnx/mobileledger/async/ConfigReader.java b/app/src/main/java/net/ktnx/mobileledger/async/ConfigReader.java index a0d66a22..a894f92f 100644 --- a/app/src/main/java/net/ktnx/mobileledger/async/ConfigReader.java +++ b/app/src/main/java/net/ktnx/mobileledger/async/ConfigReader.java @@ -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); @@ -92,12 +96,18 @@ public class ConfigReader extends ConfigIO { restoreProfiles(profiles); restoreTemplates(templates); - if (Data.getProfile() == null && currentProfile != null) { - Profile p = DB.get() - .getProfileDAO() - .getByUuidSync(currentProfile); + if (Data.getProfile() == null) { + Profile p = null; + final ProfileDAO dao = DB.get() + .getProfileDAO(); + if (currentProfile != null) + p = dao.getByUuidSync(currentProfile); + + if (p == null) + dao.getAnySync(); + if (p != null) - Data.setCurrentProfile(p); + Data.postCurrentProfile(p); } if (onDoneListener != null) @@ -144,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()); @@ -189,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()); @@ -274,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()); @@ -308,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: