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)