Change name to "Spoiler image" when the image is a spoiler.

filtering
Floens 10 years ago
parent 6188d44612
commit e599b1313c
  1. 21
      Clover/app/src/main/java/org/floens/chan/core/presenter/ImageViewerPresenter.java
  2. 9
      Clover/app/src/main/java/org/floens/chan/ui/controller/ImageViewerController.java
  3. 1
      Clover/app/src/main/res/values/strings.xml

@ -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<PostImage> getOther(int position, boolean all) {
List<PostImage> 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);

@ -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();
}

@ -74,6 +74,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<string name="image_not_found">Image not found</string>
<string name="image_open_failed">Failed to open image</string>
<string name="image_download_confirm">%1$s images will be downloaded to %2$s</string>
<string name="image_spoiler_filename">Spoiler image</string>
<string name="thread_board_select_add">Add more&#8230;</string>
<string name="thread_load_failed_ssl">HTTPS error</string>

Loading…
Cancel
Save