98 lines
2.4 KiB
Java
98 lines
2.4 KiB
Java
package com.bumptech.glide.manager;
|
|
|
|
import android.util.Log;
|
|
import com.bumptech.glide.request.Request;
|
|
import com.bumptech.glide.util.Util;
|
|
import java.util.ArrayList;
|
|
import java.util.Collections;
|
|
import java.util.Iterator;
|
|
import java.util.List;
|
|
import java.util.Set;
|
|
import java.util.WeakHashMap;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class RequestTracker {
|
|
private final Set<Request> a = Collections.newSetFromMap(new WeakHashMap());
|
|
private final List<Request> b = new ArrayList();
|
|
private boolean c;
|
|
|
|
public boolean a(Request request) {
|
|
return a(request, true);
|
|
}
|
|
|
|
public void b(Request request) {
|
|
this.a.add(request);
|
|
if (!this.c) {
|
|
request.e();
|
|
return;
|
|
}
|
|
if (Log.isLoggable("RequestTracker", 2)) {
|
|
Log.v("RequestTracker", "Paused, delaying request");
|
|
}
|
|
this.b.add(request);
|
|
}
|
|
|
|
public void c() {
|
|
for (Request request : Util.a(this.a)) {
|
|
if (!request.g() && !request.isCancelled()) {
|
|
request.pause();
|
|
if (this.c) {
|
|
this.b.add(request);
|
|
} else {
|
|
request.e();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public void d() {
|
|
this.c = false;
|
|
for (Request request : Util.a(this.a)) {
|
|
if (!request.g() && !request.isCancelled() && !request.isRunning()) {
|
|
request.e();
|
|
}
|
|
}
|
|
this.b.clear();
|
|
}
|
|
|
|
public String toString() {
|
|
return super.toString() + "{numRequests=" + this.a.size() + ", isPaused=" + this.c + "}";
|
|
}
|
|
|
|
private boolean a(Request request, boolean z) {
|
|
boolean z2 = true;
|
|
if (request == null) {
|
|
return true;
|
|
}
|
|
boolean remove = this.a.remove(request);
|
|
if (!this.b.remove(request) && !remove) {
|
|
z2 = false;
|
|
}
|
|
if (z2) {
|
|
request.clear();
|
|
if (z) {
|
|
request.a();
|
|
}
|
|
}
|
|
return z2;
|
|
}
|
|
|
|
public void a() {
|
|
Iterator it = Util.a(this.a).iterator();
|
|
while (it.hasNext()) {
|
|
a((Request) it.next(), false);
|
|
}
|
|
this.b.clear();
|
|
}
|
|
|
|
public void b() {
|
|
this.c = true;
|
|
for (Request request : Util.a(this.a)) {
|
|
if (request.isRunning()) {
|
|
request.pause();
|
|
this.b.add(request);
|
|
}
|
|
}
|
|
}
|
|
}
|