43 lines
1.1 KiB
Java
43 lines
1.1 KiB
Java
package androidx.activity;
|
|
|
|
import androidx.annotation.MainThread;
|
|
import androidx.annotation.NonNull;
|
|
import java.util.Iterator;
|
|
import java.util.concurrent.CopyOnWriteArrayList;
|
|
public abstract class OnBackPressedCallback {
|
|
private CopyOnWriteArrayList<Cancellable> mCancellables = new CopyOnWriteArrayList<>();
|
|
private boolean mEnabled;
|
|
|
|
public OnBackPressedCallback(boolean z2) {
|
|
this.mEnabled = z2;
|
|
}
|
|
|
|
public void addCancellable(@NonNull Cancellable cancellable) {
|
|
this.mCancellables.add(cancellable);
|
|
}
|
|
|
|
@MainThread
|
|
public abstract void handleOnBackPressed();
|
|
|
|
@MainThread
|
|
public final boolean isEnabled() {
|
|
return this.mEnabled;
|
|
}
|
|
|
|
@MainThread
|
|
public final void remove() {
|
|
Iterator<Cancellable> it = this.mCancellables.iterator();
|
|
while (it.hasNext()) {
|
|
it.next().cancel();
|
|
}
|
|
}
|
|
|
|
public void removeCancellable(@NonNull Cancellable cancellable) {
|
|
this.mCancellables.remove(cancellable);
|
|
}
|
|
|
|
@MainThread
|
|
public final void setEnabled(boolean z2) {
|
|
this.mEnabled = z2;
|
|
}
|
|
}
|