]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/ui/templates/TemplateDetailsViewModel.java
move async DB stuff away of AsyncTask
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / ui / templates / TemplateDetailsViewModel.java
index c49e44d092f75d0b49490492136ebdcb2f474501..414340cce7d73b5d29c2a183ab098909ade2be5d 100644 (file)
 
 package net.ktnx.mobileledger.ui.templates;
 
-import android.os.AsyncTask;
-
 import androidx.lifecycle.LiveData;
 import androidx.lifecycle.MutableLiveData;
 import androidx.lifecycle.Observer;
 import androidx.lifecycle.ViewModel;
 
 import net.ktnx.mobileledger.BuildConfig;
+import net.ktnx.mobileledger.dao.BaseDAO;
 import net.ktnx.mobileledger.dao.TemplateAccountDAO;
 import net.ktnx.mobileledger.dao.TemplateHeaderDAO;
 import net.ktnx.mobileledger.db.DB;
@@ -43,6 +42,8 @@ import java.util.Objects;
 import java.util.concurrent.atomic.AtomicInteger;
 
 public class TemplateDetailsViewModel extends ViewModel {
+    static final String TAG = "template-details-model";
+    static final String DB_TAG = TAG + "-db";
     private final MutableLiveData<List<TemplateDetailsItem>> items =
             new MutableLiveData<>(Collections.emptyList());
     private final AtomicInteger syntheticItemId = new AtomicInteger(0);
@@ -73,10 +74,10 @@ public class TemplateDetailsViewModel extends ViewModel {
 
         srcList = Collections.unmodifiableList(srcList);
 
-        {
-            Logger.debug("tmpl", "Considering old list");
+        if (BuildConfig.DEBUG) {
+            Logger.debug(TAG, "Considering old list");
             for (TemplateDetailsItem item : srcList)
-                Logger.debug("tmpl", String.format(Locale.US, " id %d pos %d", item.getId(),
+                Logger.debug(TAG, String.format(Locale.US, " id %d pos %d", item.getId(),
                         item.getPosition()));
         }
 
@@ -135,7 +136,7 @@ public class TemplateDetailsViewModel extends ViewModel {
         }
 
         if (changes) {
-            Logger.debug("tmpl", "Changes detected, applying new list");
+            Logger.debug(TAG, "Changes detected, applying new list");
 
             if (async)
                 items.postValue(newList);
@@ -143,7 +144,7 @@ public class TemplateDetailsViewModel extends ViewModel {
                 items.setValue(newList);
         }
         else
-            Logger.debug("tmpl", "No changes, ignoring new list");
+            Logger.debug(TAG, "No changes, ignoring new list");
     }
     public int genItemId() {
         return syntheticItemId.decrementAndGet();
@@ -172,7 +173,7 @@ public class TemplateDetailsViewModel extends ViewModel {
                 ArrayList<TemplateDetailsItem> l = new ArrayList<>();
 
                 TemplateDetailsItem header = TemplateDetailsItem.fromRoomObject(src.header);
-                Logger.debug("tmpl-db", "Got header template item with id of " + header.getId());
+                Logger.debug(DB_TAG, "Got header template item with id of " + header.getId());
                 l.add(header);
                 Collections.sort(src.accounts,
                         (o1, o2) -> Long.compare(o1.getPosition(), o2.getPosition()));
@@ -181,7 +182,7 @@ public class TemplateDetailsViewModel extends ViewModel {
                 }
 
                 for (TemplateDetailsItem i : l) {
-                    Logger.debug("tmpl-db", "Loaded pattern item " + i);
+                    Logger.debug(DB_TAG, "Loaded pattern item " + i);
                 }
                 applyList(l, true);
                 itemsLoaded = true;
@@ -206,14 +207,17 @@ public class TemplateDetailsViewModel extends ViewModel {
         Logger.debug("flow", "PatternDetailsViewModel.onSavePattern(); model=" + this);
         final List<TemplateDetailsItem> list = Objects.requireNonNull(items.getValue());
 
-        AsyncTask.execute(() -> {
+        BaseDAO.runAsync(() -> {
             boolean newPattern = mPatternId == null || mPatternId <= 0;
 
             TemplateDetailsItem.Header modelHeader = list.get(0)
                                                          .asHeaderItem();
+
             modelHeader.setName(Misc.trim(modelHeader.getName()));
-            if (modelHeader.getName().isEmpty())
+            if (modelHeader.getName()
+                           .isEmpty())
                 modelHeader.setName(getDefaultTemplateName());
+
             TemplateHeaderDAO headerDAO = DB.get()
                                             .getTemplateDAO();
             TemplateHeader dbHeader = modelHeader.toDBO();
@@ -323,7 +327,7 @@ public class TemplateDetailsViewModel extends ViewModel {
         items.setValue(newList);
     }
     public void removeItem(int position) {
-        Logger.debug("tmpl", "Removing item at position " + position);
+        Logger.debug(TAG, "Removing item at position " + position);
         ArrayList<TemplateDetailsItem> newList = copyItems();
         newList.remove(position);
         for (int i = position; i < newList.size(); i++)