]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/utils/ObservableValue.java
more pronounced day/month delimiters in the transaction list
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / utils / ObservableValue.java
index 01fa09262dfd513bdf05bc7df248f5ddd9a38f4f..326be07207c3fe84f177fba60b090f6ba5587ded 100644 (file)
@@ -1,18 +1,18 @@
 /*
- * Copyright © 2019 Damyan Ivanov.
- * This file is part of Mobile-Ledger.
- * Mobile-Ledger is free software: you can distribute it and/or modify it
+ * Copyright © 2020 Damyan Ivanov.
+ * This file is part of MoLe.
+ * MoLe is free software: you can distribute it and/or modify it
  * under the term of the GNU General Public License as published by
  * the Free Software Foundation, either version 3 of the License, or
  * (at your opinion), any later version.
  *
- * Mobile-Ledger is distributed in the hope that it will be useful,
+ * MoLe is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  * GNU General Public License terms for details.
  *
  * You should have received a copy of the GNU General Public License
- * along with Mobile-Ledger. If not, see <https://www.gnu.org/licenses/>.
+ * along with MoLe. If not, see <https://www.gnu.org/licenses/>.
  */
 
 package net.ktnx.mobileledger.utils;
@@ -41,7 +41,7 @@ public class ObservableValue<T> {
     public void notifyObservers() {
         impl.notifyObservers();
     }
-    public void notifyObservers(Object arg) {
+    public void notifyObservers(T arg) {
         impl.notifyObservers(arg);
     }
     public void deleteObservers() {
@@ -53,13 +53,21 @@ public class ObservableValue<T> {
     public int countObservers() {
         return impl.countObservers();
     }
-    private class ObservableValueImpl<T> extends Observable {
+    public void forceNotifyObservers() {
+        impl.setChanged();
+        impl.notifyObservers();
+    }
+    private static class ObservableValueImpl<T> extends Observable {
         protected T value;
         public void setValue(T newValue) {
             setValue(newValue, true);
         }
+        protected void setChanged() {
+            super.setChanged();
+        }
         private synchronized void setValue(T newValue, boolean notify) {
-            if ((newValue == null) && (value == null)) return;
+            if ((newValue == null) && (value == null))
+                return;
 
             if ((newValue != null) && newValue.equals(value)) return;