fix: null exception in FastImageViewManager.java (#423)
This commit is contained in:
parent
8950a38a3d
commit
a7a8643ed4
|
@ -9,6 +9,7 @@ import android.os.Build;
|
|||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.RequestManager;
|
||||
import com.bumptech.glide.load.model.GlideUrl;
|
||||
import com.bumptech.glide.request.Request;
|
||||
import com.facebook.react.bridge.ReadableMap;
|
||||
import com.facebook.react.bridge.WritableMap;
|
||||
import com.facebook.react.bridge.WritableNativeMap;
|
||||
|
@ -58,9 +59,7 @@ class FastImageViewManager extends SimpleViewManager<FastImageViewWithUrl> imple
|
|||
public void setSrc(FastImageViewWithUrl view, @Nullable ReadableMap source) {
|
||||
if (source == null || !source.hasKey("uri") || isNullOrEmpty(source.getString("uri"))) {
|
||||
// Cancel existing requests.
|
||||
if (requestManager != null) {
|
||||
requestManager.clear(view);
|
||||
}
|
||||
clearView(view);
|
||||
|
||||
if (view.glideUrl != null) {
|
||||
FastImageOkHttpProgressGlideModule.forget(view.glideUrl.toStringUrl());
|
||||
|
@ -97,9 +96,7 @@ class FastImageViewManager extends SimpleViewManager<FastImageViewWithUrl> imple
|
|||
|
||||
// Cancel existing request.
|
||||
view.glideUrl = glideUrl;
|
||||
if (requestManager != null) {
|
||||
requestManager.clear(view);
|
||||
}
|
||||
clearView(view);
|
||||
|
||||
String key = glideUrl.toStringUrl();
|
||||
FastImageOkHttpProgressGlideModule.expect(key, this);
|
||||
|
@ -149,9 +146,7 @@ class FastImageViewManager extends SimpleViewManager<FastImageViewWithUrl> imple
|
|||
@Override
|
||||
public void onDropViewInstance(FastImageViewWithUrl view) {
|
||||
// This will cancel existing requests.
|
||||
if (requestManager != null) {
|
||||
requestManager.clear(view);
|
||||
}
|
||||
clearView(view);
|
||||
|
||||
if (view.glideUrl != null) {
|
||||
final String key = view.glideUrl.toString();
|
||||
|
@ -244,4 +239,10 @@ class FastImageViewManager extends SimpleViewManager<FastImageViewWithUrl> imple
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
private void clearView(FastImageViewWithUrl view) {
|
||||
if (requestManager != null && view != null && view.getTag() != null && view.getTag() instanceof Request) {
|
||||
requestManager.clear(view);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue