54 lines
1.7 KiB
Java
54 lines
1.7 KiB
Java
package com.squareup.picasso;
|
|
|
|
import android.view.ViewTreeObserver;
|
|
import android.widget.ImageView;
|
|
import java.lang.ref.WeakReference;
|
|
|
|
/* loaded from: classes.dex */
|
|
class DeferredRequestCreator implements ViewTreeObserver.OnPreDrawListener {
|
|
final RequestCreator a;
|
|
final WeakReference<ImageView> b;
|
|
Callback c;
|
|
|
|
DeferredRequestCreator(RequestCreator requestCreator, ImageView imageView, Callback callback) {
|
|
this.a = requestCreator;
|
|
this.b = new WeakReference<>(imageView);
|
|
this.c = callback;
|
|
imageView.getViewTreeObserver().addOnPreDrawListener(this);
|
|
}
|
|
|
|
void a() {
|
|
this.c = null;
|
|
ImageView imageView = this.b.get();
|
|
if (imageView == null) {
|
|
return;
|
|
}
|
|
ViewTreeObserver viewTreeObserver = imageView.getViewTreeObserver();
|
|
if (viewTreeObserver.isAlive()) {
|
|
viewTreeObserver.removeOnPreDrawListener(this);
|
|
}
|
|
}
|
|
|
|
@Override // android.view.ViewTreeObserver.OnPreDrawListener
|
|
public boolean onPreDraw() {
|
|
ImageView imageView = this.b.get();
|
|
if (imageView == null) {
|
|
return true;
|
|
}
|
|
ViewTreeObserver viewTreeObserver = imageView.getViewTreeObserver();
|
|
if (!viewTreeObserver.isAlive()) {
|
|
return true;
|
|
}
|
|
int width = imageView.getWidth();
|
|
int height = imageView.getHeight();
|
|
if (width > 0 && height > 0) {
|
|
viewTreeObserver.removeOnPreDrawListener(this);
|
|
RequestCreator requestCreator = this.a;
|
|
requestCreator.c();
|
|
requestCreator.a(width, height);
|
|
requestCreator.a(imageView, this.c);
|
|
}
|
|
return true;
|
|
}
|
|
}
|