X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Futils%2FObservableList.java;h=383148fa8b3a3827a32fbd083ccbac345d7b51a4;hb=e8c73363b1848804daaddd9a10940c7f8acc1d85;hp=9893c5d1250644fe9899e0c3721ae8a8c8376f19;hpb=0700200b6627f97ac37083fc2c7131bcaa39b635;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/utils/ObservableList.java b/app/src/main/java/net/ktnx/mobileledger/utils/ObservableList.java index 9893c5d1..383148fa 100644 --- a/app/src/main/java/net/ktnx/mobileledger/utils/ObservableList.java +++ b/app/src/main/java/net/ktnx/mobileledger/utils/ObservableList.java @@ -21,6 +21,7 @@ import android.os.Build; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.annotation.RequiresApi; +import android.util.Log; import java.util.Collection; import java.util.Comparator; @@ -43,9 +44,9 @@ public class ObservableList extends Observable { setChanged(); notifyObservers(); } - private void forceNotify(Object arg) { + private void forceNotify(int index) { setChanged(); - notifyObservers(arg); + notifyObservers(index); } public int size() { return list.size(); @@ -167,11 +168,23 @@ public class ObservableList extends Observable { public void forEach(Consumer action) { list.forEach(action); } + public List getList() { + return list; + } public void setList(List aList) { list = aList; forceNotify(); } - public Iterable getList() { - return list; + public void triggerItemChangedNotification(T item) { + int index = list.indexOf(item); + if (index == -1) { + Log.d("ObList", "??? not sending notifications for item not found in the list"); + return; + } + Log.d("ObList", "Notifying item change observers"); + triggerItemChangedNotification(index); + } + public void triggerItemChangedNotification(int index) { + forceNotify(index); } } \ No newline at end of file