diff --git a/Clover/app/src/main/java/org/floens/chan/core/model/Post.java b/Clover/app/src/main/java/org/floens/chan/core/model/Post.java index fb7864ea..1c09daaa 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/model/Post.java +++ b/Clover/app/src/main/java/org/floens/chan/core/model/Post.java @@ -68,6 +68,8 @@ public class Post { public boolean hasImage = false; + public PostImage image; + public String thumbnailUrl; public String imageUrl; @@ -84,7 +86,7 @@ public class Post { public long time = -1; - public int fileSize; + public long fileSize; public String rawComment; @@ -173,6 +175,8 @@ public class Post { } else { thumbnailUrl = ChanUrls.getThumbnailUrl(board, Long.toString(tim)); } + + image = new PostImage(String.valueOf(tim), thumbnailUrl, imageUrl, filename, ext, imageWidth, imageHeight, spoiler, fileSize); } if (!TextUtils.isEmpty(country)) { diff --git a/Clover/app/src/main/java/org/floens/chan/core/model/PostImage.java b/Clover/app/src/main/java/org/floens/chan/core/model/PostImage.java index 2de647b1..7d21918b 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/model/PostImage.java +++ b/Clover/app/src/main/java/org/floens/chan/core/model/PostImage.java @@ -30,10 +30,11 @@ public class PostImage { public int imageWidth; public int imageHeight; public boolean spoiler; + public long size; public Type type; - public PostImage(String originalName, String thumbnailUrl, String imageUrl, String filename, String extension, int imageWidth, int imageHeight, boolean spoiler) { + public PostImage(String originalName, String thumbnailUrl, String imageUrl, String filename, String extension, int imageWidth, int imageHeight, boolean spoiler, long size) { this.originalName = originalName; this.thumbnailUrl = thumbnailUrl; this.imageUrl = imageUrl; @@ -42,6 +43,7 @@ public class PostImage { this.imageWidth = imageWidth; this.imageHeight = imageHeight; this.spoiler = spoiler; + this.size = size; switch (extension) { case "gif": diff --git a/Clover/app/src/main/java/org/floens/chan/core/net/ChanReaderRequest.java b/Clover/app/src/main/java/org/floens/chan/core/net/ChanReaderRequest.java index 9494a707..4fe2d21d 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/net/ChanReaderRequest.java +++ b/Clover/app/src/main/java/org/floens/chan/core/net/ChanReaderRequest.java @@ -269,7 +269,7 @@ public class ChanReaderRequest extends JsonReaderRequest() { @Override diff --git a/Clover/app/src/main/java/org/floens/chan/ui/cell/PostCell.java b/Clover/app/src/main/java/org/floens/chan/ui/cell/PostCell.java index e6aca6e3..a5b04a70 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/cell/PostCell.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/cell/PostCell.java @@ -52,6 +52,7 @@ import com.android.volley.toolbox.ImageLoader; import org.floens.chan.Chan; import org.floens.chan.R; import org.floens.chan.core.model.Post; +import org.floens.chan.core.model.PostImage; import org.floens.chan.core.model.PostLinkable; import org.floens.chan.core.settings.ChanSettings; import org.floens.chan.ui.helper.PostHelper; @@ -60,6 +61,7 @@ import org.floens.chan.ui.theme.ThemeHelper; import org.floens.chan.ui.view.FloatingMenu; import org.floens.chan.ui.view.FloatingMenuItem; import org.floens.chan.ui.view.ThumbnailView; +import org.floens.chan.utils.AndroidUtils; import org.floens.chan.utils.Time; import java.util.ArrayList; @@ -336,8 +338,16 @@ public class PostCell extends LinearLayout implements PostCellInterface, PostLin Resources.getSystem().updateConfiguration(c, null); } + String fileInfo = ""; + if (ChanSettings.postFileInfo.get() && post.hasImage) { + PostImage image = post.image; + fileInfo = "\n" + image.extension.toUpperCase() + " " + + AndroidUtils.getReadableFileSize(image.size, false) + " " + + image.imageWidth + "x" + image.imageHeight; + } + String noText = "No." + post.no; - SpannableString date = new SpannableString(noText + " " + time); + SpannableString date = new SpannableString(noText + " " + time + fileInfo); date.setSpan(new ForegroundColorSpan(theme.detailsColor), 0, date.length(), 0); date.setSpan(new AbsoluteSizeSpan(detailsSizePx), 0, date.length(), 0); if (ChanSettings.tapNoReply.get()) { diff --git a/Clover/app/src/main/java/org/floens/chan/ui/controller/AdvancedSettingsController.java b/Clover/app/src/main/java/org/floens/chan/ui/controller/AdvancedSettingsController.java index 135367dc..fc742de1 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/controller/AdvancedSettingsController.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/controller/AdvancedSettingsController.java @@ -46,6 +46,7 @@ public class AdvancedSettingsController extends SettingsController { private LinkSettingView saveLocation; private SettingView forcePhoneLayoutSetting; private SettingView postFullDate; + private SettingView postFileInfo; private boolean needRestart; public AdvancedSettingsController(Context context) { @@ -83,8 +84,8 @@ public class AdvancedSettingsController extends SettingsController { needRestart = true; } - if (item == postFullDate) { - EventBus.getDefault().post(new RefreshUIMessage("postdate")); + if (item == postFullDate || item == postFileInfo) { + EventBus.getDefault().post(new RefreshUIMessage("postui")); } } @@ -124,6 +125,7 @@ public class AdvancedSettingsController extends SettingsController { settings.add(new BooleanSettingView(this, ChanSettings.tapNoReply, string(R.string.setting_tap_no_rely), null)); settings.add(new BooleanSettingView(this, ChanSettings.volumeKeysScrolling, string(R.string.setting_volume_key_scrolling), null)); postFullDate = settings.add(new BooleanSettingView(this, ChanSettings.postFullDate, string(R.string.setting_post_full_date), null)); + postFileInfo = settings.add(new BooleanSettingView(this, ChanSettings.postFileInfo, string(R.string.setting_post_file_info), null)); groups.add(settings); diff --git a/Clover/app/src/main/res/values/strings.xml b/Clover/app/src/main/res/values/strings.xml index ef085bf4..ad7342d4 100644 --- a/Clover/app/src/main/res/values/strings.xml +++ b/Clover/app/src/main/res/values/strings.xml @@ -330,6 +330,7 @@ along with this program. If not, see . Tap the post number to reply Volume keys scroll content Show the full date on posts + Show file info on posts HTTP Proxy Enable proxy