]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/ui/profiles/ProfileDetailModel.java
proile editor: fix passing of initial theme hue to the hue ring
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / ui / profiles / ProfileDetailModel.java
index e64c4bc1dc13c8a19caee33efab7eef631aeaf7d..57c992180d265bbda33e61655429d8a9140e7e45 100644 (file)
@@ -25,6 +25,7 @@ import androidx.lifecycle.ViewModel;
 import net.ktnx.mobileledger.async.SendTransactionTask;
 import net.ktnx.mobileledger.model.Currency;
 import net.ktnx.mobileledger.model.MobileLedgerProfile;
+import net.ktnx.mobileledger.utils.Colors;
 import net.ktnx.mobileledger.utils.Misc;
 
 public class ProfileDetailModel extends ViewModel {
@@ -35,6 +36,7 @@ public class ProfileDetailModel extends ViewModel {
     private final MutableLiveData<MobileLedgerProfile.FutureDates> futureDates =
             new MutableLiveData<>(MobileLedgerProfile.FutureDates.None);
     private final MutableLiveData<Boolean> showCommodityByDefault = new MutableLiveData<>(false);
+    private final MutableLiveData<Boolean> showCommentsByDefault = new MutableLiveData<>(true);
     private final MutableLiveData<Boolean> useAuthentication = new MutableLiveData<>(false);
     private final MutableLiveData<SendTransactionTask.API> apiVersion =
             new MutableLiveData<>(SendTransactionTask.API.auto);
@@ -43,6 +45,7 @@ public class ProfileDetailModel extends ViewModel {
     private final MutableLiveData<String> authPassword = new MutableLiveData<>(null);
     private final MutableLiveData<String> preferredAccountsFilter = new MutableLiveData<>(null);
     private final MutableLiveData<Integer> themeId = new MutableLiveData<>(-1);
+    public int initialThemeHue = Colors.DEFAULT_HUE_DEG;
     public ProfileDetailModel() {
     }
     String getProfileName() {
@@ -69,6 +72,13 @@ public class ProfileDetailModel extends ViewModel {
     void observePostingPermitted(LifecycleOwner lfo, Observer<Boolean> o) {
         postingPermitted.observe(lfo, o);
     }
+    public void setShowCommentsByDefault(boolean newValue) {
+        if (newValue != showCommentsByDefault.getValue())
+            showCommentsByDefault.setValue(newValue);
+    }
+    void observeShowCommentsByDefault(LifecycleOwner lfo, Observer<Boolean> o) {
+        showCommentsByDefault.observe(lfo, o);
+    }
     MobileLedgerProfile.FutureDates getFutureDates() {
         return futureDates.getValue();
     }
@@ -189,6 +199,7 @@ public class ProfileDetailModel extends ViewModel {
         if (mProfile != null) {
             profileName.setValue(mProfile.getName());
             postingPermitted.setValue(mProfile.isPostingPermitted());
+            showCommentsByDefault.setValue(mProfile.getShowCommentsByDefault());
             showCommodityByDefault.setValue(mProfile.getShowCommodityByDefault());
             {
                 String comm = mProfile.getDefaultCommodity();
@@ -210,6 +221,7 @@ public class ProfileDetailModel extends ViewModel {
             profileName.setValue(null);
             url.setValue(HTTPS_URL_START);
             postingPermitted.setValue(true);
+            showCommentsByDefault.setValue(true);
             showCommodityByDefault.setValue(false);
             setFutureDates(MobileLedgerProfile.FutureDates.None);
             setApiVersion(SendTransactionTask.API.auto);
@@ -226,6 +238,7 @@ public class ProfileDetailModel extends ViewModel {
         mProfile.setName(profileName.getValue());
         mProfile.setUrl(url.getValue());
         mProfile.setPostingPermitted(postingPermitted.getValue());
+        mProfile.setShowCommentsByDefault(showCommentsByDefault.getValue());
         Currency c = defaultCommodity.getValue();
         mProfile.setDefaultCommodity((c == null) ? null : c.getName());
         mProfile.setShowCommodityByDefault(showCommodityByDefault.getValue());