]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/async/ConfigReader.java
methods for deleting all DB tables
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / async / ConfigReader.java
index 16b9ac24527608e792c00892c7ff587ccf99abae..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);
@@ -92,10 +96,16 @@ 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.postCurrentProfile(p);
         }
@@ -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: