Initial commit
This commit is contained in:
53
sources/com/squareup/picasso/DeferredRequestCreator.java
Normal file
53
sources/com/squareup/picasso/DeferredRequestCreator.java
Normal file
@@ -0,0 +1,53 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user