From ac14fee3b433ddb4078cbd3554cd67bc94687f71 Mon Sep 17 00:00:00 2001 From: NekoInverter <7741672-NekoInverter@users.noreply.gitlab.com> Date: Fri, 22 Jan 2021 22:35:26 +0800 Subject: [PATCH] Add uploader label to uploader comments --- .../hippo/ehviewer/client/data/GalleryComment.java | 3 +++ .../ehviewer/client/parser/GalleryDetailParser.java | 5 +++++ .../hippo/ehviewer/ui/scene/GalleryCommentsScene.java | 11 +++++++++-- .../hippo/ehviewer/ui/scene/GalleryDetailScene.java | 1 + app/src/main/res/layout/gallery_detail_header.xml | 2 +- app/src/main/res/layout/item_gallery_comment.xml | 3 ++- app/src/main/res/values-zh-rCN/strings.xml | 3 ++- app/src/main/res/values/strings.xml | 1 + 8 files changed, 24 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/client/data/GalleryComment.java b/app/src/main/java/com/hippo/ehviewer/client/data/GalleryComment.java index d276fc692..da4267b03 100644 --- a/app/src/main/java/com/hippo/ehviewer/client/data/GalleryComment.java +++ b/app/src/main/java/com/hippo/ehviewer/client/data/GalleryComment.java @@ -40,6 +40,7 @@ public class GalleryComment implements Parcelable { public boolean voteUpEd; public boolean voteDownAble; public boolean voteDownEd; + public boolean uploader; public String voteState; public long time; public String user; @@ -57,6 +58,7 @@ public class GalleryComment implements Parcelable { this.voteUpEd = in.readByte() != 0; this.voteDownAble = in.readByte() != 0; this.voteDownEd = in.readByte() != 0; + this.uploader = in.readByte() != 0; this.voteState = in.readString(); this.time = in.readLong(); this.user = in.readString(); @@ -78,6 +80,7 @@ public class GalleryComment implements Parcelable { dest.writeByte(voteUpEd ? (byte) 1 : (byte) 0); dest.writeByte(voteDownAble ? (byte) 1 : (byte) 0); dest.writeByte(voteDownEd ? (byte) 1 : (byte) 0); + dest.writeByte(uploader ? (byte) 1 : (byte) 0); dest.writeString(this.voteState); dest.writeLong(this.time); dest.writeString(this.user); diff --git a/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryDetailParser.java b/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryDetailParser.java index 0fb993b21..3af3e39b4 100644 --- a/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryDetailParser.java +++ b/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryDetailParser.java @@ -16,6 +16,8 @@ package com.hippo.ehviewer.client.parser; +import android.util.Log; + import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -440,6 +442,9 @@ public class GalleryDetailParser { // Editable, vote up and vote down Element c4 = JsoupUtils.getElementByClass(element, "c4"); if (null != c4) { + if ("Uploader Comment".equals(c4.text())) { + comment.uploader = true; + } for (Element e : c4.children()) { switch (e.text()) { case "Vote+": diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryCommentsScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryCommentsScene.java index d3ab80bc0..ae1f72c61 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryCommentsScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryCommentsScene.java @@ -72,6 +72,7 @@ import com.hippo.ehviewer.client.EhUrl; import com.hippo.ehviewer.client.data.GalleryComment; import com.hippo.ehviewer.client.data.GalleryCommentList; import com.hippo.ehviewer.client.data.GalleryDetail; +import com.hippo.ehviewer.client.data.ListUrlBuilder; import com.hippo.ehviewer.client.parser.VoteCommentParser; import com.hippo.ehviewer.ui.MainActivity; import com.hippo.scene.SceneFragment; @@ -926,7 +927,7 @@ public final class GalleryCommentsScene extends ToolbarScene } } - private static class ActualCommentHolder extends CommentHolder { + private class ActualCommentHolder extends CommentHolder { private final TextView user; private final TextView time; @@ -970,7 +971,13 @@ public final class GalleryCommentsScene extends ToolbarScene } public void bind(GalleryComment value) { - user.setText(value.user); + user.setText(value.uploader ? getString(R.string.comment_user_uploader, value.user) : value.user); + user.setOnClickListener(v -> { + ListUrlBuilder lub = new ListUrlBuilder(); + lub.setMode(ListUrlBuilder.MODE_UPLOADER); + lub.setKeyword(value.user); + GalleryListScene.startScene(GalleryCommentsScene.this, lub); + }); time.setText(ReadableTime.getTimeAgo(value.time)); comment.setText(generateComment(comment.getContext(), comment, value)); } diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java index 9fe7e9522..132a0d05f 100755 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java @@ -1029,6 +1029,7 @@ public class GalleryDetailScene extends BaseScene implements View.OnClickListene mComments.addView(v, i); TextView user = v.findViewById(R.id.user); user.setText(comment.user); + user.setBackgroundColor(Color.TRANSPARENT); TextView time = v.findViewById(R.id.time); time.setText(ReadableTime.getTimeAgo(comment.time)); ObservedTextView c = v.findViewById(R.id.comment); diff --git a/app/src/main/res/layout/gallery_detail_header.xml b/app/src/main/res/layout/gallery_detail_header.xml index c6704dfd8..e910f58b9 100644 --- a/app/src/main/res/layout/gallery_detail_header.xml +++ b/app/src/main/res/layout/gallery_detail_header.xml @@ -78,7 +78,7 @@ android:layout_alignLeft="@id/title" android:layout_marginTop="8dp" android:layout_marginRight="@dimen/keyline_margin" - android:background="?selectableItemBackgroundBorderless" + android:background="?selectableItemBackground" android:ellipsize="end" android:singleLine="true" android:textColor="@android:color/white" diff --git a/app/src/main/res/layout/item_gallery_comment.xml b/app/src/main/res/layout/item_gallery_comment.xml index 37e80b954..a8ca4d165 100644 --- a/app/src/main/res/layout/item_gallery_comment.xml +++ b/app/src/main/res/layout/item_gallery_comment.xml @@ -26,7 +26,8 @@ + android:layout_height="wrap_content" + android:background="?selectableItemBackground" /> 为墨水屏做一些优化 完成内存缓存清理 添加标签 - 添加新标签,用逗号「,」分割 + 添加新标签,用逗号「,」分割 + %s (上传者) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 444be2a77..a561586d2 100755 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -810,4 +810,5 @@ Add tag Enter new tags, separated with comma WebView is not available. + %s (Uploader)