X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Futils%2FObservableValue.java;h=326be07207c3fe84f177fba60b090f6ba5587ded;hb=a89accc8449a3a7ed5215b750d83f1a65654ca0c;hp=01fa09262dfd513bdf05bc7df248f5ddd9a38f4f;hpb=127d9d8e0562d315ed025f659503cf64da5c2e13;p=mobile-ledger.git
diff --git a/app/src/main/java/net/ktnx/mobileledger/utils/ObservableValue.java b/app/src/main/java/net/ktnx/mobileledger/utils/ObservableValue.java
index 01fa0926..326be072 100644
--- a/app/src/main/java/net/ktnx/mobileledger/utils/ObservableValue.java
+++ b/app/src/main/java/net/ktnx/mobileledger/utils/ObservableValue.java
@@ -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 .
+ * along with MoLe. If not, see .
*/
package net.ktnx.mobileledger.utils;
@@ -41,7 +41,7 @@ public class ObservableValue {
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 {
public int countObservers() {
return impl.countObservers();
}
- private class ObservableValueImpl extends Observable {
+ public void forceNotifyObservers() {
+ impl.setChanged();
+ impl.notifyObservers();
+ }
+ private static class ObservableValueImpl 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;