]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/ui/templates/TemplateDetailsViewModel.java
member rearrangement
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / ui / templates / TemplateDetailsViewModel.java
index 8357678ab18167954f467d14e78406d3d57cac64..988d1bb86e8f07c4176938514c7219be46369612 100644 (file)
@@ -44,11 +44,10 @@ import java.util.concurrent.atomic.AtomicInteger;
 public class TemplateDetailsViewModel extends ViewModel {
     private final MutableLiveData<List<TemplateDetailsItem>> items =
             new MutableLiveData<>(Collections.emptyList());
+    private final AtomicInteger syntheticItemId = new AtomicInteger(0);
     private Long mPatternId;
     private String mDefaultPatternName;
     private boolean itemsLoaded = false;
-    private final AtomicInteger syntheticItemId = new AtomicInteger(0);
-
     public String getDefaultPatternName() {
         return mDefaultPatternName;
     }
@@ -173,6 +172,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());
                 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;
@@ -316,8 +316,12 @@ public class TemplateDetailsViewModel extends ViewModel {
         items.setValue(newList);
     }
     public void removeItem(int position) {
-        ArrayList<TemplateDetailsItem> newList = new ArrayList<>(items.getValue());
+        Logger.debug("tmpl", "Removing item at position " + position);
+        ArrayList<TemplateDetailsItem> 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