X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Futils%2FObservableList.java;h=3add1bd488ce940c5f77a6db3a41306f64b254b2;hp=eac023767186d668583be3c7bcd9328547d4a9e4;hb=c69d34015fc7087af67320b60aa1f6b3aa275b73;hpb=c63db65ac315e371325031c90b098bab48661e2d 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 eac02376..3add1bd4 100644 --- a/app/src/main/java/net/ktnx/mobileledger/utils/ObservableList.java +++ b/app/src/main/java/net/ktnx/mobileledger/utils/ObservableList.java @@ -20,6 +20,8 @@ package net.ktnx.mobileledger.utils; import android.os.Build; import android.util.Log; +import org.jetbrains.annotations.NotNull; + import java.util.Collection; import java.util.Comparator; import java.util.Iterator; @@ -203,21 +205,25 @@ public class ObservableList extends Observable implements List { return list.lastIndexOf(o); } } + @NotNull public ListIterator listIterator() { if (!lock.isWriteLockedByCurrentThread()) throw new RuntimeException( "Iterators break encapsulation and ignore locking. Write-lock first"); return list.listIterator(); } + @NotNull public ListIterator listIterator(int index) { if (!lock.isWriteLockedByCurrentThread()) throw new RuntimeException( "Iterators break encapsulation and ignore locking. Write-lock first"); return list.listIterator(index); } + @NotNull public List subList(int fromIndex, int toIndex) { try (LockHolder lh = lockForReading()) { return list.subList(fromIndex, toIndex); } } + @NotNull @RequiresApi(api = Build.VERSION_CODES.N) public Spliterator spliterator() { if (!lock.isWriteLockedByCurrentThread()) throw new RuntimeException(