Add an auto load image preference.

captchafix
Florens Douwes 11 years ago
parent 39533f019e
commit 0a680219fc
  1. 6
      Clover/app/src/main/java/org/floens/chan/core/ChanPreferences.java
  2. 50
      Clover/app/src/main/java/org/floens/chan/ui/fragment/ImageViewFragment.java
  3. 13
      Clover/app/src/main/java/org/floens/chan/ui/view/ThumbnailImageView.java
  4. 3
      Clover/app/src/main/res/values/strings.xml
  5. 7
      Clover/app/src/main/res/xml/preference.xml

@ -79,13 +79,17 @@ public class ChanPreferences {
}
public static boolean getVideoAutoPlay() {
return p().getBoolean("preference_autoplay", false);
return getImageAutoLoad() && p().getBoolean("preference_autoplay", false);
}
public static boolean getThreadAutoRefresh() {
return p().getBoolean("preference_auto_refresh_thread", true);
}
public static boolean getImageAutoLoad() {
return p().getBoolean("preference_image_auto_load", true);
}
public static boolean getPassEnabled() {
return p().getBoolean("preference_pass_enabled", false);
}

@ -47,6 +47,8 @@ public class ImageViewFragment extends Fragment implements ThumbnailImageViewCal
private boolean isVideo = false;
private boolean videoVisible = false;
private boolean videoSetIconToPause = false;
private boolean tapToLoad = false;
private boolean loaded = false;
public static ImageViewFragment newInstance(Post post, ImageViewActivity activity, int index) {
ImageViewFragment imageViewFragment = new ImageViewFragment();
@ -98,20 +100,42 @@ public class ImageViewFragment extends Fragment implements ThumbnailImageViewCal
imageView.setThumbnail(post.thumbnailUrl);
if (post.ext.equals("gif")) {
imageView.setGif(post.imageUrl);
} else if (post.ext.equals("webm")) {
isVideo = true;
activity.invalidateActionBar();
showProgressBar(false);
if (ChanPreferences.getImageAutoLoad()) {
load();
} else {
imageView.setBigImage(post.imageUrl);
tapToLoad = true;
showProgressBar(false);
}
}
});
}
}
private void load() {
if (loaded) return;
loaded = true;
if (post.ext.equals("gif")) {
imageView.setGif(post.imageUrl);
} else if (post.ext.equals("webm")) {
isVideo = true;
activity.invalidateActionBar();
showProgressBar(false);
if (tapToLoad) {
if (!videoVisible) {
startVideo();
} else {
if (imageView.getVideoView() != null) {
imageView.getVideoView().start();
}
}
}
} else {
imageView.setBigImage(post.imageUrl);
}
}
@Override
public void onSaveInstanceState(Bundle bundle) {
// https://code.google.com/p/android/issues/detail?id=19917
@ -197,7 +221,9 @@ public class ImageViewFragment extends Fragment implements ThumbnailImageViewCal
}
private void startVideo() {
if (videoVisible) return;
videoVisible = true;
imageView.setVideo(post.imageUrl);
}
@ -208,7 +234,15 @@ public class ImageViewFragment extends Fragment implements ThumbnailImageViewCal
@Override
public void onTap() {
activity.finish();
if (tapToLoad) {
if (loaded) {
activity.finish();
} else {
load();
}
} else {
activity.finish();
}
}
@Override

@ -56,7 +56,6 @@ public class ThumbnailImageView extends LoadView implements OnViewTapListener, V
private final float maxScale = 3f;
private boolean thumbnailNeeded = true;
private boolean tapDismiss = false;
private ImageContainer imageContainerRequest;
private Request<?> imageRequest;
@ -104,7 +103,6 @@ public class ThumbnailImageView extends LoadView implements OnViewTapListener, V
thumbnail.setImageBitmap(response.getBitmap());
thumbnail.setLayoutParams(Utils.MATCH_PARAMS);
setView(thumbnail, false);
tapDismiss = true;
}
}
}, getWidth(), getHeight());
@ -143,7 +141,6 @@ public class ThumbnailImageView extends LoadView implements OnViewTapListener, V
setView(image, !isImmediate);
callback.setProgress(false);
thumbnailNeeded = false;
tapDismiss = true;
}
}
}, maxWidth, maxHeight);
@ -166,7 +163,6 @@ public class ThumbnailImageView extends LoadView implements OnViewTapListener, V
setView(view, false);
callback.setProgress(false);
thumbnailNeeded = false;
tapDismiss = true;
}
}, new Response.ErrorListener() {
@Override
@ -206,7 +202,6 @@ public class ThumbnailImageView extends LoadView implements OnViewTapListener, V
setView(videoView, false);
callback.setProgress(false);
thumbnailNeeded = false;
tapDismiss = true;
videoView.start();
} else {
@ -251,16 +246,12 @@ public class ThumbnailImageView extends LoadView implements OnViewTapListener, V
@Override
public void onViewTap(View view, float x, float y) {
if (tapDismiss) {
callback.onTap();
}
callback.onTap();
}
@Override
public void onClick(View v) {
if (tapDismiss) {
callback.onTap();
}
callback.onTap();
}
public static interface ThumbnailImageViewCallback {

@ -114,8 +114,9 @@
</string-array>
<string name="preference_open_link_confirmation">Ask before opening links</string>
<string name="preference_autoplay">Start playing videos directly</string>
<string name="preference_autoplay">Start playing videos immediately</string>
<string name="preference_auto_refresh_thread">Auto refresh threads</string>
<string name="preference_image_auto_load">Auto load image</string>
<string name="preference_default_name">Default name</string>
<string name="preference_default_email">Default email</string>

@ -39,9 +39,16 @@
android:defaultValue="true"
android:key="preference_open_link_confirmation"
android:title="@string/preference_open_link_confirmation" />
<CheckBoxPreference
android:defaultValue="true"
android:key="preference_image_auto_load"
android:title="@string/preference_image_auto_load"/>
<CheckBoxPreference
android:defaultValue="false"
android:key="preference_autoplay"
android:dependency="preference_image_auto_load"
android:title="@string/preference_autoplay" />
<CheckBoxPreference

Loading…
Cancel
Save