]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/ui/CurrencySelectorModel.java
make transaction header row always have Id of 0
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / ui / CurrencySelectorModel.java
index 10fea517ea5eaa6019c633e475001830b5299e1a..4b346cdf7759d16ceb4b7e3bea18f3cd51ab8d2e 100644 (file)
 
 package net.ktnx.mobileledger.ui;
 
+import androidx.lifecycle.LifecycleOwner;
 import androidx.lifecycle.MutableLiveData;
+import androidx.lifecycle.Observer;
 import androidx.lifecycle.ViewModel;
 
 import net.ktnx.mobileledger.model.Currency;
 
+import java.util.ArrayList;
 import java.util.List;
 
 public class CurrencySelectorModel extends ViewModel {
     public final MutableLiveData<List<Currency>> currencies;
+    private final MutableLiveData<Boolean> positionAndPaddingVisible = new MutableLiveData<>(true);
+    private OnCurrencySelectedListener selectionListener;
     public CurrencySelectorModel() {
-        this.currencies = new MutableLiveData<>();
+        this.currencies = new MutableLiveData<>(new ArrayList<>());
+    }
+    public void showPositionAndPadding() {
+        positionAndPaddingVisible.postValue(true);
+    }
+    public void hidePositionAndPadding() {
+        positionAndPaddingVisible.postValue(false);
+    }
+    public void observePositionAndPaddingVisible(LifecycleOwner activity,
+                                                 Observer<Boolean> observer) {
+        positionAndPaddingVisible.observe(activity, observer);
+    }
+    void setOnCurrencySelectedListener(OnCurrencySelectedListener listener) {
+        selectionListener = listener;
+    }
+    void resetOnCurrencySelectedListener() {
+        selectionListener = null;
+    }
+    void triggerOnCurrencySelectedListener(Currency c) {
+        if (selectionListener != null)
+            selectionListener.onCurrencySelected(c);
     }
 }