Work on a crash fix

multisite
Floens 10 years ago
parent cb570ea93f
commit d2311a0f2a
  1. 3
      Clover/app/src/main/java/org/floens/chan/core/presenter/ImageViewerPresenter.java
  2. 21
      Clover/app/src/main/java/org/floens/chan/ui/view/MultiImageView.java

@ -25,6 +25,7 @@ import org.floens.chan.core.model.Loadable;
import org.floens.chan.core.model.PostImage;
import org.floens.chan.core.settings.ChanSettings;
import org.floens.chan.ui.view.MultiImageView;
import org.floens.chan.utils.Logger;
import java.util.ArrayList;
import java.util.List;
@ -187,6 +188,8 @@ public class ImageViewerPresenter implements MultiImageView.Callback, ViewPager.
private void onLowResInCenter() {
PostImage postImage = images.get(selectedPosition);
Logger.test("onLowResInCenter " + postImage.imageUrl);
if (imageAutoLoad(postImage) && !postImage.spoiler) {
if (postImage.type == PostImage.Type.STATIC) {
callback.setImageMode(postImage, MultiImageView.Mode.BIGIMAGE);

@ -109,7 +109,8 @@ public class MultiImageView extends FrameLayout implements View.OnClickListener
public void setMode(final Mode newMode) {
if (this.mode != newMode) {
// Logger.d(TAG, "Changing mode from " + this.mode + " to " + newMode + " for " + postImage.thumbnailUrl);
Logger.d(TAG, "Changing mode from " + this.mode + " to " + newMode + " for " + postImage.thumbnailUrl);
Mode oldMode = this.mode;
this.mode = newMode;
AndroidUtils.waitForMeasure(this, new AndroidUtils.OnMeasuredCallback() {
@ -159,6 +160,10 @@ public class MultiImageView extends FrameLayout implements View.OnClickListener
return;
}
if (thumbnailRequest != null) {
return;
}
// Also use volley for the thumbnails
thumbnailRequest = Chan.getVolleyImageLoader().get(thumbnailUrl, new com.android.volley.toolbox.ImageLoader.ImageListener() {
@Override
@ -186,6 +191,10 @@ public class MultiImageView extends FrameLayout implements View.OnClickListener
return;
}
if (bigImageRequest != null) {
return;
}
callback.showProgress(this, true);
bigImageRequest = Chan.getFileCache().downloadFile(imageUrl, new FileCache.DownloadedCallback() {
@Override
@ -243,6 +252,10 @@ public class MultiImageView extends FrameLayout implements View.OnClickListener
return;
}
if (gifRequest != null) {
return;
}
callback.showProgress(this, true);
gifRequest = Chan.getFileCache().downloadFile(gifUrl, new FileCache.DownloadedCallback() {
@Override
@ -294,6 +307,10 @@ public class MultiImageView extends FrameLayout implements View.OnClickListener
}
public void setVideo(String videoUrl) {
if (videoRequest != null) {
return;
}
callback.showProgress(this, true);
videoRequest = Chan.getFileCache().downloadFile(videoUrl, new FileCache.DownloadedCallback() {
@Override
@ -359,6 +376,8 @@ public class MultiImageView extends FrameLayout implements View.OnClickListener
videoView.setVideoPath(file.getAbsolutePath());
Logger.e(TAG, "videoView.start " + postImage.imageUrl + ", " + getWidth() + ", " + getHeight() + ", " + (isAttachedToWindow()));
try {
videoView.start();
} catch (IllegalStateException e) {

Loading…
Cancel
Save