233 lines
6.7 KiB
Java
233 lines
6.7 KiB
Java
package com.bumptech.glide;
|
|
|
|
import android.content.Context;
|
|
import android.graphics.Bitmap;
|
|
import android.graphics.drawable.Drawable;
|
|
import android.os.Handler;
|
|
import android.os.Looper;
|
|
import com.bumptech.glide.load.engine.DiskCacheStrategy;
|
|
import com.bumptech.glide.load.resource.gif.GifDrawable;
|
|
import com.bumptech.glide.manager.ConnectivityMonitor;
|
|
import com.bumptech.glide.manager.ConnectivityMonitorFactory;
|
|
import com.bumptech.glide.manager.Lifecycle;
|
|
import com.bumptech.glide.manager.LifecycleListener;
|
|
import com.bumptech.glide.manager.RequestManagerTreeNode;
|
|
import com.bumptech.glide.manager.RequestTracker;
|
|
import com.bumptech.glide.manager.TargetTracker;
|
|
import com.bumptech.glide.request.Request;
|
|
import com.bumptech.glide.request.RequestOptions;
|
|
import com.bumptech.glide.request.target.Target;
|
|
import com.bumptech.glide.util.Util;
|
|
import java.io.File;
|
|
import java.util.Iterator;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class RequestManager implements LifecycleListener, ModelTypes<RequestBuilder<Drawable>> {
|
|
private static final RequestOptions k;
|
|
protected final Glide a;
|
|
protected final Context b;
|
|
final Lifecycle c;
|
|
private final RequestTracker d;
|
|
private final RequestManagerTreeNode e;
|
|
private final TargetTracker f;
|
|
private final Runnable g;
|
|
private final Handler h;
|
|
private final ConnectivityMonitor i;
|
|
private RequestOptions j;
|
|
|
|
private static class RequestManagerConnectivityListener implements ConnectivityMonitor.ConnectivityListener {
|
|
private final RequestTracker a;
|
|
|
|
RequestManagerConnectivityListener(RequestTracker requestTracker) {
|
|
this.a = requestTracker;
|
|
}
|
|
|
|
@Override // com.bumptech.glide.manager.ConnectivityMonitor.ConnectivityListener
|
|
public void a(boolean z) {
|
|
if (z) {
|
|
this.a.c();
|
|
}
|
|
}
|
|
}
|
|
|
|
static {
|
|
RequestOptions b = RequestOptions.b((Class<?>) Bitmap.class);
|
|
b.J();
|
|
k = b;
|
|
RequestOptions.b((Class<?>) GifDrawable.class).J();
|
|
RequestOptions.b(DiskCacheStrategy.c).a(Priority.LOW).a(true);
|
|
}
|
|
|
|
public RequestManager(Glide glide, Lifecycle lifecycle, RequestManagerTreeNode requestManagerTreeNode, Context context) {
|
|
this(glide, lifecycle, requestManagerTreeNode, new RequestTracker(), glide.e(), context);
|
|
}
|
|
|
|
private void c(Target<?> target) {
|
|
if (b(target) || this.a.a(target) || target.c() == null) {
|
|
return;
|
|
}
|
|
Request c = target.c();
|
|
target.a((Request) null);
|
|
c.clear();
|
|
}
|
|
|
|
protected void a(RequestOptions requestOptions) {
|
|
RequestOptions m6clone = requestOptions.m6clone();
|
|
m6clone.a();
|
|
this.j = m6clone;
|
|
}
|
|
|
|
@Override // com.bumptech.glide.manager.LifecycleListener
|
|
public void b() {
|
|
g();
|
|
this.f.b();
|
|
}
|
|
|
|
public RequestBuilder<Bitmap> d() {
|
|
RequestBuilder<Bitmap> a = a(Bitmap.class);
|
|
a.a(k);
|
|
return a;
|
|
}
|
|
|
|
public RequestBuilder<Drawable> e() {
|
|
return a(Drawable.class);
|
|
}
|
|
|
|
RequestOptions f() {
|
|
return this.j;
|
|
}
|
|
|
|
public void g() {
|
|
Util.b();
|
|
this.d.b();
|
|
}
|
|
|
|
public void h() {
|
|
Util.b();
|
|
this.d.d();
|
|
}
|
|
|
|
@Override // com.bumptech.glide.manager.LifecycleListener
|
|
public void onStart() {
|
|
h();
|
|
this.f.onStart();
|
|
}
|
|
|
|
public String toString() {
|
|
return super.toString() + "{tracker=" + this.d + ", treeNode=" + this.e + "}";
|
|
}
|
|
|
|
@Override // com.bumptech.glide.manager.LifecycleListener
|
|
public void a() {
|
|
this.f.a();
|
|
Iterator<Target<?>> it = this.f.e().iterator();
|
|
while (it.hasNext()) {
|
|
a(it.next());
|
|
}
|
|
this.f.d();
|
|
this.d.a();
|
|
this.c.b(this);
|
|
this.c.b(this.i);
|
|
this.h.removeCallbacks(this.g);
|
|
this.a.b(this);
|
|
}
|
|
|
|
public RequestBuilder<Drawable> d(Drawable drawable) {
|
|
RequestBuilder<Drawable> e = e();
|
|
e.a(drawable);
|
|
return e;
|
|
}
|
|
|
|
boolean b(Target<?> target) {
|
|
Request c = target.c();
|
|
if (c == null) {
|
|
return true;
|
|
}
|
|
if (!this.d.a(c)) {
|
|
return false;
|
|
}
|
|
this.f.b(target);
|
|
target.a((Request) null);
|
|
return true;
|
|
}
|
|
|
|
RequestManager(Glide glide, Lifecycle lifecycle, RequestManagerTreeNode requestManagerTreeNode, RequestTracker requestTracker, ConnectivityMonitorFactory connectivityMonitorFactory, Context context) {
|
|
this.f = new TargetTracker();
|
|
this.g = new Runnable() { // from class: com.bumptech.glide.RequestManager.1
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
RequestManager requestManager = RequestManager.this;
|
|
requestManager.c.a(requestManager);
|
|
}
|
|
};
|
|
this.h = new Handler(Looper.getMainLooper());
|
|
this.a = glide;
|
|
this.c = lifecycle;
|
|
this.e = requestManagerTreeNode;
|
|
this.d = requestTracker;
|
|
this.b = context;
|
|
this.i = connectivityMonitorFactory.a(context.getApplicationContext(), new RequestManagerConnectivityListener(requestTracker));
|
|
if (Util.c()) {
|
|
this.h.post(this.g);
|
|
} else {
|
|
lifecycle.a(this);
|
|
}
|
|
lifecycle.a(this.i);
|
|
a(glide.g().b());
|
|
glide.a(this);
|
|
}
|
|
|
|
<T> TransitionOptions<?, T> b(Class<T> cls) {
|
|
return this.a.g().a(cls);
|
|
}
|
|
|
|
public RequestBuilder<Drawable> a(String str) {
|
|
RequestBuilder<Drawable> e = e();
|
|
e.a(str);
|
|
return e;
|
|
}
|
|
|
|
public RequestBuilder<Drawable> a(File file) {
|
|
RequestBuilder<Drawable> e = e();
|
|
e.a(file);
|
|
return e;
|
|
}
|
|
|
|
public RequestBuilder<Drawable> a(Integer num) {
|
|
RequestBuilder<Drawable> e = e();
|
|
e.a(num);
|
|
return e;
|
|
}
|
|
|
|
public RequestBuilder<Drawable> a(Object obj) {
|
|
RequestBuilder<Drawable> e = e();
|
|
e.a(obj);
|
|
return e;
|
|
}
|
|
|
|
public <ResourceType> RequestBuilder<ResourceType> a(Class<ResourceType> cls) {
|
|
return new RequestBuilder<>(this.a, this, cls, this.b);
|
|
}
|
|
|
|
public void a(final Target<?> target) {
|
|
if (target == null) {
|
|
return;
|
|
}
|
|
if (Util.d()) {
|
|
c(target);
|
|
} else {
|
|
this.h.post(new Runnable() { // from class: com.bumptech.glide.RequestManager.2
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
RequestManager.this.a(target);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
void a(Target<?> target, Request request) {
|
|
this.f.a(target);
|
|
this.d.b(request);
|
|
}
|
|
}
|