fix reveal image spoilers option

also add a description to the setting.
refactor-toolbar
Floens 8 years ago
parent b6df25fa71
commit 581f792765
  1. 4
      Clover/app/src/main/java/org/floens/chan/core/manager/WatchManager.java
  2. 16
      Clover/app/src/main/java/org/floens/chan/core/model/PostImage.java
  3. 2
      Clover/app/src/main/java/org/floens/chan/core/presenter/ThreadPresenter.java
  4. 10
      Clover/app/src/main/java/org/floens/chan/core/site/common/FutabaChanReader.java
  5. 4
      Clover/app/src/main/java/org/floens/chan/ui/controller/ImageViewerController.java
  6. 3
      Clover/app/src/main/java/org/floens/chan/ui/controller/MediaSettingsController.java
  7. 2
      Clover/app/src/main/java/org/floens/chan/ui/view/MultiImageView.java
  8. 2
      Clover/app/src/main/java/org/floens/chan/ui/view/PostImageThumbnailView.java
  9. 2
      Clover/app/src/main/res/values/strings.xml

@ -166,7 +166,7 @@ public class WatchManager {
pin.loadable = loadable; pin.loadable = loadable;
pin.loadable.title = PostHelper.getTitle(opPost, loadable); pin.loadable.title = PostHelper.getTitle(opPost, loadable);
PostImage image = opPost.image; PostImage image = opPost.image;
pin.thumbnailUrl = image == null ? "" : image.thumbnailUrl.toString(); pin.thumbnailUrl = image == null ? "" : image.getThumbnailUrl().toString();
return createPin(pin); return createPin(pin);
} }
@ -756,7 +756,7 @@ public class WatchManager {
pin.isError = false; pin.isError = false;
if (pin.thumbnailUrl == null && thread.op != null && thread.op.image != null) { if (pin.thumbnailUrl == null && thread.op != null && thread.op.image != null) {
pin.thumbnailUrl = thread.op.image.thumbnailUrl.toString(); pin.thumbnailUrl = thread.op.image.getThumbnailUrl().toString();
} }
// Populate posts list // Populate posts list

@ -28,6 +28,7 @@ public class PostImage {
public final String originalName; public final String originalName;
public final HttpUrl thumbnailUrl; public final HttpUrl thumbnailUrl;
public final HttpUrl spoilerThumbnailUrl;
public final HttpUrl imageUrl; public final HttpUrl imageUrl;
public final String filename; public final String filename;
public final String extension; public final String extension;
@ -41,6 +42,7 @@ public class PostImage {
private PostImage(Builder builder) { private PostImage(Builder builder) {
this.originalName = builder.originalName; this.originalName = builder.originalName;
this.thumbnailUrl = builder.thumbnailUrl; this.thumbnailUrl = builder.thumbnailUrl;
this.spoilerThumbnailUrl = builder.spoilerThumbnailUrl;
this.imageUrl = builder.imageUrl; this.imageUrl = builder.imageUrl;
this.filename = builder.filename; this.filename = builder.filename;
this.extension = builder.extension; this.extension = builder.extension;
@ -62,9 +64,18 @@ public class PostImage {
} }
} }
public HttpUrl getThumbnailUrl() {
if (!spoiler) {
return thumbnailUrl;
} else {
return spoilerThumbnailUrl;
}
}
public static final class Builder { public static final class Builder {
private String originalName; private String originalName;
private HttpUrl thumbnailUrl; private HttpUrl thumbnailUrl;
private HttpUrl spoilerThumbnailUrl;
private HttpUrl imageUrl; private HttpUrl imageUrl;
private String filename; private String filename;
private String extension; private String extension;
@ -86,6 +97,11 @@ public class PostImage {
return this; return this;
} }
public Builder spoilerThumbnailUrl(HttpUrl spoilerThumbnailUrl) {
this.spoilerThumbnailUrl = spoilerThumbnailUrl;
return this;
}
public Builder imageUrl(HttpUrl imageUrl) { public Builder imageUrl(HttpUrl imageUrl) {
this.imageUrl = imageUrl; this.imageUrl = imageUrl;
return this; return this;

@ -708,7 +708,7 @@ public class ThreadPresenter implements ChanLoader.ChanLoaderCallback, PostAdapt
History history = new History(); History history = new History();
history.loadable = loadable; history.loadable = loadable;
PostImage image = chanLoader.getThread().op.image; PostImage image = chanLoader.getThread().op.image;
history.thumbnailUrl = image == null ? "" : image.thumbnailUrl.toString(); history.thumbnailUrl = image == null ? "" : image.getThumbnailUrl().toString();
databaseManager.runTaskAsync(databaseManager.getDatabaseHistoryManager().addHistory(history)); databaseManager.runTaskAsync(databaseManager.getDatabaseHistoryManager().addHistory(history));
} }
} }

@ -219,13 +219,13 @@ public class FutabaChanReader implements ChanReader {
SiteEndpoints endpoints = queue.getLoadable().getSite().endpoints(); SiteEndpoints endpoints = queue.getLoadable().getSite().endpoints();
if (fileId != null && fileName != null && fileExt != null) { if (fileId != null && fileName != null && fileExt != null) {
Map<String, String> hack = new HashMap<>(2); Map<String, String> args = makeArgument("tim", fileId,
hack.put("tim", fileId); "ext", fileExt);
hack.put("ext", fileExt);
builder.image(new PostImage.Builder() builder.image(new PostImage.Builder()
.originalName(String.valueOf(fileId)) .originalName(String.valueOf(fileId))
.thumbnailUrl(endpoints.thumbnailUrl(builder, fileSpoiler, hack)) .thumbnailUrl(endpoints.thumbnailUrl(builder, false, args))
.imageUrl(endpoints.imageUrl(builder, hack)) .spoilerThumbnailUrl(endpoints.thumbnailUrl(builder, true, args))
.imageUrl(endpoints.imageUrl(builder, args))
.filename(Parser.unescapeEntities(fileName, false)) .filename(Parser.unescapeEntities(fileName, false))
.extension(fileExt) .extension(fileExt)
.imageWidth(fileWidth) .imageWidth(fileWidth)

@ -397,7 +397,7 @@ public class ImageViewerController extends Controller implements ImageViewerPres
} }
}); });
imageLoader.get(postImage.thumbnailUrl.toString(), new ImageLoader.ImageListener() { imageLoader.get(postImage.getThumbnailUrl().toString(), new ImageLoader.ImageListener() {
@Override @Override
public void onErrorResponse(VolleyError error) { public void onErrorResponse(VolleyError error) {
Log.e(TAG, "onErrorResponse for preview in transition in ImageViewerController, cannot show correct transition bitmap"); Log.e(TAG, "onErrorResponse for preview in transition in ImageViewerController, cannot show correct transition bitmap");
@ -419,7 +419,7 @@ public class ImageViewerController extends Controller implements ImageViewerPres
return; return;
} }
imageLoader.get(postImage.thumbnailUrl.toString(), new ImageLoader.ImageListener() { imageLoader.get(postImage.getThumbnailUrl().toString(), new ImageLoader.ImageListener() {
@Override @Override
public void onErrorResponse(VolleyError error) { public void onErrorResponse(VolleyError error) {
Log.e(TAG, "onErrorResponse for preview out transition in ImageViewerController, cannot show correct transition bitmap"); Log.e(TAG, "onErrorResponse for preview out transition in ImageViewerController, cannot show correct transition bitmap");

@ -110,7 +110,8 @@ public class MediaSettingsController extends SettingsController {
media.add(new BooleanSettingView(this, media.add(new BooleanSettingView(this,
ChanSettings.revealImageSpoilers, ChanSettings.revealImageSpoilers,
R.string.settings_reveal_image_spoilers, 0)); R.string.settings_reveal_image_spoilers,
R.string.settings_reveal_image_spoilers_description));
groups.add(media); groups.add(media);
} }

@ -128,7 +128,7 @@ public class MultiImageView extends FrameLayout implements View.OnClickListener
public boolean onMeasured(View view) { public boolean onMeasured(View view) {
switch (newMode) { switch (newMode) {
case LOWRES: case LOWRES:
setThumbnail(postImage.thumbnailUrl.toString()); setThumbnail(postImage.getThumbnailUrl().toString());
break; break;
case BIGIMAGE: case BIGIMAGE:
setBigImage(postImage.imageUrl.toString()); setBigImage(postImage.imageUrl.toString());

@ -52,7 +52,7 @@ public class PostImageThumbnailView extends ThumbnailView {
this.postImage = postImage; this.postImage = postImage;
if (postImage != null) { if (postImage != null) {
setUrl(postImage.thumbnailUrl.toString(), width, height); setUrl(postImage.getThumbnailUrl().toString(), width, height);
} else { } else {
setUrl(null, width, height); setUrl(null, width, height);
} }

@ -514,7 +514,7 @@ Re-enable this permission in the app settings if you permanently disabled it."</
<string name="setting_share_url">Share url to image</string> <string name="setting_share_url">Share url to image</string>
<string name="setting_share_url_description">Share the url to the image instead of the image itself</string> <string name="setting_share_url_description">Share the url to the image instead of the image itself</string>
<string name="settings_reveal_image_spoilers">Reveal image spoilers</string> <string name="settings_reveal_image_spoilers">Reveal image spoilers</string>
<string name="settings_reveal_image_spoilers_description">Always reveal spoiler thumbnails and images.</string>
<!-- Media loading group --> <!-- Media loading group -->
<string name="settings_group_media_loading">Media loading</string> <string name="settings_group_media_loading">Media loading</string>

Loading…
Cancel
Save