X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Futils%2FObservableValue.java;h=326be07207c3fe84f177fba60b090f6ba5587ded;hp=e75b4100d1eea284f568bf14ee5db7b3f1c93d5f;hb=HEAD;hpb=998dd32a089d199a2569069415755eb3169b35b0 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 e75b4100..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,5 +1,5 @@ /* - * Copyright © 2019 Damyan Ivanov. + * 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 @@ -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;