jimu-decompiled/sources/com/google/android/material/snackbar/SnackbarManager.java
2025-05-13 19:24:51 +02:00

104 lines
2.8 KiB
Java

package com.google.android.material.snackbar;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import com.google.android.gms.common.ConnectionResult;
import java.lang.ref.WeakReference;
/* loaded from: classes.dex */
class SnackbarManager {
private static SnackbarManager e;
private final Object a = new Object();
private final Handler b = new Handler(Looper.getMainLooper(), new Handler.Callback() { // from class: com.google.android.material.snackbar.SnackbarManager.1
@Override // android.os.Handler.Callback
public boolean handleMessage(Message message) {
if (message.what != 0) {
return false;
}
SnackbarManager.this.a((SnackbarRecord) message.obj);
return true;
}
});
private SnackbarRecord c;
private SnackbarRecord d;
interface Callback {
void a(int i);
}
private static class SnackbarRecord {
final WeakReference<Callback> a;
int b;
boolean c;
boolean a(Callback callback) {
return callback != null && this.a.get() == callback;
}
}
private SnackbarManager() {
}
static SnackbarManager a() {
if (e == null) {
e = new SnackbarManager();
}
return e;
}
private boolean c(Callback callback) {
SnackbarRecord snackbarRecord = this.c;
return snackbarRecord != null && snackbarRecord.a(callback);
}
public void b(Callback callback) {
synchronized (this.a) {
if (c(callback) && this.c.c) {
this.c.c = false;
b(this.c);
}
}
}
public void a(Callback callback) {
synchronized (this.a) {
if (c(callback) && !this.c.c) {
this.c.c = true;
this.b.removeCallbacksAndMessages(this.c);
}
}
}
private void b(SnackbarRecord snackbarRecord) {
int i = snackbarRecord.b;
if (i == -2) {
return;
}
if (i <= 0) {
i = i == -1 ? ConnectionResult.DRIVE_EXTERNAL_STORAGE_REQUIRED : 2750;
}
this.b.removeCallbacksAndMessages(snackbarRecord);
Handler handler = this.b;
handler.sendMessageDelayed(Message.obtain(handler, 0, snackbarRecord), i);
}
private boolean a(SnackbarRecord snackbarRecord, int i) {
Callback callback = snackbarRecord.a.get();
if (callback == null) {
return false;
}
this.b.removeCallbacksAndMessages(snackbarRecord);
callback.a(i);
return true;
}
void a(SnackbarRecord snackbarRecord) {
synchronized (this.a) {
if (this.c == snackbarRecord || this.d == snackbarRecord) {
a(snackbarRecord, 2);
}
}
}
}