]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/ui/CurrencySelectorModel.java
CurrencySelector: move selection listener to the model so that it survives reconficur...
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / ui / CurrencySelectorModel.java
index 10fea517ea5eaa6019c633e475001830b5299e1a..58950244b70ce29d9ee8876bef118b4ca80872b0 100644 (file)
@@ -17,7 +17,9 @@
 
 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;
@@ -26,7 +28,28 @@ 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<>();
     }
+    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);
+    }
 }