/*
- * 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
package net.ktnx.mobileledger.utils;
import android.os.Build;
-import android.support.annotation.RequiresApi;
+
+import androidx.annotation.RequiresApi;
import java.util.Observable;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.IntUnaryOperator;
public class ObservableAtomicInteger extends Observable {
- private AtomicInteger holder;
+ private final AtomicInteger holder;
ObservableAtomicInteger() {
super();
holder = new AtomicInteger();
return holder.get();
}
public void set(int newValue) {
-// Log.d("atomic", "set");
+// debug("atomic", "set");
holder.set(newValue);
forceNotify();
}
private void forceNotify() {
setChanged();
-// Log.d("atomic", String.format("notifying %d observers", countObservers()));
+// debug("atomic", String.format("notifying %d observers", countObservers()));
notifyObservers();
}
// public void lazySet(int newValue) {
return result;
}
public int incrementAndGet() {
-// Log.d("atomic", "incrementAndGet");
+// debug("atomic", "incrementAndGet");
int result = holder.incrementAndGet();
forceNotify();
return result;
}
public int decrementAndGet() {
-// Log.d("atomic", "decrementAndGet");
+// debug("atomic", "decrementAndGet");
int result = holder.decrementAndGet();
forceNotify();
return result;