diff --git a/Clover/app/src/main/java/org/floens/chan/core/presenter/ImageViewerPresenter.java b/Clover/app/src/main/java/org/floens/chan/core/presenter/ImageViewerPresenter.java index b8237af0..05ce3fc5 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/presenter/ImageViewerPresenter.java +++ b/Clover/app/src/main/java/org/floens/chan/core/presenter/ImageViewerPresenter.java @@ -68,7 +68,8 @@ public class ImageViewerPresenter implements MultiImageView.Callback, ViewPager. public void onViewMeasured() { // Pager is measured, but still invisible callback.startPreviewInTransition(images.get(selectedPosition)); - callback.setTitle(images.get(selectedPosition), selectedPosition, images.size()); + PostImage postImage = images.get(selectedPosition); + callback.setTitle(postImage, selectedPosition, images.size(), postImage.spoiler); } public void onInTransitionEnd() { @@ -146,19 +147,24 @@ public class ImageViewerPresenter implements MultiImageView.Callback, ViewPager. onLowResInCenter(); } } + } else { + if (multiImageView.getPostImage() == images.get(selectedPosition)) { + setTitle(images.get(selectedPosition), selectedPosition); + } } } private void onPageSwipedTo(int position) { - callback.setTitle(images.get(selectedPosition), position, images.size()); - callback.scrollToImage(images.get(selectedPosition)); + PostImage postImage = images.get(selectedPosition); + setTitle(postImage, position); + callback.scrollToImage(postImage); for (PostImage other : getOther(position, false)) { callback.setImageMode(other, MultiImageView.Mode.LOWRES); } // Already in LOWRES mode - if (callback.getImageMode(images.get(selectedPosition)) == MultiImageView.Mode.LOWRES) { + if (callback.getImageMode(postImage) == MultiImageView.Mode.LOWRES) { onLowResInCenter(); } // Else let onModeChange handle it @@ -251,6 +257,11 @@ public class ImageViewerPresenter implements MultiImageView.Callback, ViewPager. callback.onVideoError(multiImageView); } + private void setTitle(PostImage postImage, int position) { + callback.setTitle(postImage, position, images.size(), + postImage.spoiler && callback.getImageMode(postImage) == MultiImageView.Mode.LOWRES); + } + private List getOther(int position, boolean all) { List other = new ArrayList<>(3); if (position - 1 >= 0) { @@ -278,7 +289,7 @@ public class ImageViewerPresenter implements MultiImageView.Callback, ViewPager. void setImageMode(PostImage postImage, MultiImageView.Mode mode); - void setTitle(PostImage postImage, int index, int count); + void setTitle(PostImage postImage, int index, int count, boolean spoiler); void scrollToImage(PostImage postImage); diff --git a/Clover/app/src/main/java/org/floens/chan/ui/controller/ImageViewerController.java b/Clover/app/src/main/java/org/floens/chan/ui/controller/ImageViewerController.java index e7db17f7..7db8ec25 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/controller/ImageViewerController.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/controller/ImageViewerController.java @@ -74,6 +74,7 @@ import java.util.Arrays; import java.util.List; import static org.floens.chan.utils.AndroidUtils.dp; +import static org.floens.chan.utils.AndroidUtils.getString; public class ImageViewerController extends Controller implements View.OnClickListener, ImageViewerPresenter.Callback, ToolbarMenuItem.ToolbarMenuItemCallback { private static final String TAG = "ImageViewerController"; @@ -245,8 +246,12 @@ public class ImageViewerController extends Controller implements View.OnClickLis return ((ImageViewerAdapter) pager.getAdapter()).getMode(postImage); } - public void setTitle(PostImage postImage, int index, int count) { - navigationItem.title = postImage.filename + "." + postImage.extension; + public void setTitle(PostImage postImage, int index, int count, boolean spoiler) { + if (spoiler) { + navigationItem.title = getString(R.string.image_spoiler_filename); + } else { + navigationItem.title = postImage.filename + "." + postImage.extension; + } navigationItem.subtitle = (index + 1) + "/" + count; navigationItem.updateTitle(); } diff --git a/Clover/app/src/main/res/values/strings.xml b/Clover/app/src/main/res/values/strings.xml index 9f615e62..76254626 100644 --- a/Clover/app/src/main/res/values/strings.xml +++ b/Clover/app/src/main/res/values/strings.xml @@ -74,6 +74,7 @@ along with this program. If not, see . Image not found Failed to open image %1$s images will be downloaded to %2$s + Spoiler image Add more… HTTPS error