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;
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);
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()));
}
}
if (changes) {
- Logger.debug("tmpl", "Changes detected, applying new list");
+ Logger.debug(TAG, "Changes detected, applying new list");
if (async)
items.postValue(newList);
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();
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()));
}
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;
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();
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++)