X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Ftemplates%2FTemplateDetailsViewModel.java;h=8d0e29e64792eee5548e1072883e3b26dbe7cae1;hb=7d66376e2470788c6b1ad5df18603c814aa389ea;hp=8357678ab18167954f467d14e78406d3d57cac64;hpb=09e121b3bb906d486b09ae9f4c9680da950fcefe;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/templates/TemplateDetailsViewModel.java b/app/src/main/java/net/ktnx/mobileledger/ui/templates/TemplateDetailsViewModel.java index 8357678a..8d0e29e6 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/templates/TemplateDetailsViewModel.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/templates/TemplateDetailsViewModel.java @@ -33,6 +33,7 @@ import net.ktnx.mobileledger.db.TemplateHeader; import net.ktnx.mobileledger.db.TemplateWithAccounts; import net.ktnx.mobileledger.model.TemplateDetailsItem; import net.ktnx.mobileledger.utils.Logger; +import net.ktnx.mobileledger.utils.Misc; import java.util.ArrayList; import java.util.Collections; @@ -44,16 +45,15 @@ import java.util.concurrent.atomic.AtomicInteger; public class TemplateDetailsViewModel extends ViewModel { private final MutableLiveData> items = new MutableLiveData<>(Collections.emptyList()); + private final AtomicInteger syntheticItemId = new AtomicInteger(0); private Long mPatternId; - private String mDefaultPatternName; + private String mDefaultTemplateName; private boolean itemsLoaded = false; - private final AtomicInteger syntheticItemId = new AtomicInteger(0); - - public String getDefaultPatternName() { - return mDefaultPatternName; + public String getDefaultTemplateName() { + return mDefaultTemplateName; } - public void setDefaultPatternName(String name) { - mDefaultPatternName = name; + public void setDefaultTemplateName(String name) { + mDefaultTemplateName = name; } public void resetItems() { @@ -86,7 +86,6 @@ public class TemplateDetailsViewModel extends ViewModel { if (srcList.size() < 1) { final TemplateDetailsItem.Header header = TemplateDetailsItem.createHeader(); - header.setName(mDefaultPatternName); header.setId(0); newList.add(header); changes = true; @@ -173,6 +172,7 @@ public class TemplateDetailsViewModel extends ViewModel { ArrayList l = new ArrayList<>(); TemplateDetailsItem header = TemplateDetailsItem.fromRoomObject(src.header); + Logger.debug("tmpl-db", "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 +181,7 @@ public class TemplateDetailsViewModel extends ViewModel { } for (TemplateDetailsItem i : l) { - Logger.debug("patterns-db", "Loaded pattern item " + i); + Logger.debug("tmpl-db", "Loaded pattern item " + i); } applyList(l, true); itemsLoaded = true; @@ -211,6 +211,9 @@ public class TemplateDetailsViewModel extends ViewModel { TemplateDetailsItem.Header modelHeader = list.get(0) .asHeaderItem(); + modelHeader.setName(Misc.trim(modelHeader.getName())); + if (modelHeader.getName().isEmpty()) + modelHeader.setName(getDefaultTemplateName()); TemplateHeaderDAO headerDAO = DB.get() .getTemplateDAO(); TemplateHeader dbHeader = modelHeader.toDBO(); @@ -316,8 +319,12 @@ public class TemplateDetailsViewModel extends ViewModel { items.setValue(newList); } public void removeItem(int position) { - ArrayList newList = new ArrayList<>(items.getValue()); + Logger.debug("tmpl", "Removing item at position " + position); + ArrayList newList = copyItems(); newList.remove(position); + for (int i = position; i < newList.size(); i++) + newList.get(i) + .setPosition(i); applyList(newList); } } \ No newline at end of file