From 3874e1618715e9f4a3be56220c2d8ed434b613d3 Mon Sep 17 00:00:00 2001 From: Kalle Struik Date: Fri, 23 Jul 2021 17:30:47 +0200 Subject: [PATCH 1/3] Added support for showing when a comment has received a heart from the creator of a video. --- .../holder/CommentsMiniInfoItemHolder.java | 7 +++++++ app/src/main/res/drawable-night/ic_heart.xml | 10 ++++++++++ app/src/main/res/drawable/ic_heart.xml | 9 +++++++++ app/src/main/res/layout/list_comments_item.xml | 13 ++++++++++++- app/src/main/res/values/dimens.xml | 3 +++ app/src/main/res/values/strings.xml | 1 + 6 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 app/src/main/res/drawable-night/ic_heart.xml create mode 100644 app/src/main/res/drawable/ic_heart.xml diff --git a/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsMiniInfoItemHolder.java b/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsMiniInfoItemHolder.java index 629240dc6..de6159ba0 100644 --- a/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsMiniInfoItemHolder.java +++ b/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsMiniInfoItemHolder.java @@ -7,6 +7,7 @@ import android.text.style.URLSpan; import android.text.util.Linkify; import android.view.View; import android.view.ViewGroup; +import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.TextView; @@ -45,6 +46,7 @@ public class CommentsMiniInfoItemHolder extends InfoItemHolder { private final TextView itemContentView; private final TextView itemLikesCountView; private final TextView itemDislikesCountView; + private final ImageView itemHeartView; private final TextView itemPublishedTime; private String commentText; @@ -80,6 +82,7 @@ public class CommentsMiniInfoItemHolder extends InfoItemHolder { itemDislikesCountView = itemView.findViewById(R.id.detail_thumbs_down_count_view); itemPublishedTime = itemView.findViewById(R.id.itemPublishedTime); itemContentView = itemView.findViewById(R.id.itemCommentContentView); + itemHeartView = itemView.findViewById(R.id.detail_heart_img_view); downloadThumbnailKey = infoItemBuilder.getContext(). getString(R.string.download_thumbnail_key); @@ -152,6 +155,10 @@ public class CommentsMiniInfoItemHolder extends InfoItemHolder { itemPublishedTime.setText(item.getTextualUploadDate()); } + if (item.isHeartedByUploader()) { + itemHeartView.setVisibility(View.VISIBLE); + } + itemView.setOnClickListener(view -> { toggleEllipsize(); if (itemBuilder.getOnCommentsSelectedListener() != null) { diff --git a/app/src/main/res/drawable-night/ic_heart.xml b/app/src/main/res/drawable-night/ic_heart.xml new file mode 100644 index 000000000..49bf17297 --- /dev/null +++ b/app/src/main/res/drawable-night/ic_heart.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/ic_heart.xml b/app/src/main/res/drawable/ic_heart.xml new file mode 100644 index 000000000..dbff29441 --- /dev/null +++ b/app/src/main/res/drawable/ic_heart.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/list_comments_item.xml b/app/src/main/res/layout/list_comments_item.xml index 5e6d46c3d..ae468eec2 100644 --- a/app/src/main/res/layout/list_comments_item.xml +++ b/app/src/main/res/layout/list_comments_item.xml @@ -71,6 +71,17 @@ tools:ignore="RtlHardcoded" tools:text="12M" /> + + @@ -105,7 +116,7 @@ android:layout_height="wrap_content" android:layout_below="@id/itemCommentContentView" android:layout_marginLeft="12dp" - android:layout_toRightOf="@id/detail_thumbs_up_count_view" + android:layout_toRightOf="@id/detail_heart_img_view" android:lines="1" android:textAppearance="?android:attr/textAppearanceSmall" android:textSize="@dimen/video_item_search_upload_date_text_size" diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 51da9b299..dd3533035 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -81,11 +81,14 @@ 16dp 18sp 18sp + 18sp + 18sp 70dp 35dp 60dp 5dp + 5dp 50dp 12sp diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f6d0246dd..5a4df4c70 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -749,6 +749,7 @@ Unlisted Private Internal + Hearted by creator Open website Tablet mode On From 74173317dec36b9381436737eaf6a160bf7fd5fc Mon Sep 17 00:00:00 2001 From: Kalle Struik Date: Fri, 23 Jul 2021 19:43:25 +0200 Subject: [PATCH 2/3] Change heart color to be red, add else clause for non hearted comments, and apply some code style suggestions. --- .../info_list/holder/CommentsMiniInfoItemHolder.java | 4 +++- app/src/main/res/drawable-night/ic_heart.xml | 2 +- app/src/main/res/drawable/ic_heart.xml | 1 + app/src/main/res/layout/list_comments_item.xml | 8 ++++---- app/src/main/res/values/dimens.xml | 3 +-- 5 files changed, 10 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsMiniInfoItemHolder.java b/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsMiniInfoItemHolder.java index de6159ba0..7c4f67267 100644 --- a/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsMiniInfoItemHolder.java +++ b/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsMiniInfoItemHolder.java @@ -82,7 +82,7 @@ public class CommentsMiniInfoItemHolder extends InfoItemHolder { itemDislikesCountView = itemView.findViewById(R.id.detail_thumbs_down_count_view); itemPublishedTime = itemView.findViewById(R.id.itemPublishedTime); itemContentView = itemView.findViewById(R.id.itemCommentContentView); - itemHeartView = itemView.findViewById(R.id.detail_heart_img_view); + itemHeartView = itemView.findViewById(R.id.detail_heart_image_view); downloadThumbnailKey = infoItemBuilder.getContext(). getString(R.string.download_thumbnail_key); @@ -157,6 +157,8 @@ public class CommentsMiniInfoItemHolder extends InfoItemHolder { if (item.isHeartedByUploader()) { itemHeartView.setVisibility(View.VISIBLE); + } else { + itemHeartView.setVisibility(View.GONE); } itemView.setOnClickListener(view -> { diff --git a/app/src/main/res/drawable-night/ic_heart.xml b/app/src/main/res/drawable-night/ic_heart.xml index 49bf17297..6128a3d0d 100644 --- a/app/src/main/res/drawable-night/ic_heart.xml +++ b/app/src/main/res/drawable-night/ic_heart.xml @@ -1,7 +1,7 @@ 16dp 18sp 18sp - 18sp - 18sp + 18sp 70dp 35dp 60dp From bfac73b992dd65e8e34838e412409bf600f5d229 Mon Sep 17 00:00:00 2001 From: Kalle Struik Date: Tue, 27 Jul 2021 22:34:59 +0200 Subject: [PATCH 3/3] Make heart visible in android studio and move logic to the right file. --- .../newpipe/info_list/holder/CommentsInfoItemHolder.java | 6 ++++++ .../info_list/holder/CommentsMiniInfoItemHolder.java | 9 --------- app/src/main/res/layout/list_comments_item.xml | 1 + 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsInfoItemHolder.java b/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsInfoItemHolder.java index 842d9c455..fb144574a 100644 --- a/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsInfoItemHolder.java +++ b/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsInfoItemHolder.java @@ -1,6 +1,8 @@ package org.schabi.newpipe.info_list.holder; +import android.view.View; import android.view.ViewGroup; +import android.widget.ImageView; import android.widget.TextView; import org.schabi.newpipe.R; @@ -31,11 +33,13 @@ import org.schabi.newpipe.local.history.HistoryRecordManager; public class CommentsInfoItemHolder extends CommentsMiniInfoItemHolder { public final TextView itemTitleView; + private final ImageView itemHeartView; public CommentsInfoItemHolder(final InfoItemBuilder infoItemBuilder, final ViewGroup parent) { super(infoItemBuilder, R.layout.list_comments_item, parent); itemTitleView = itemView.findViewById(R.id.itemTitleView); + itemHeartView = itemView.findViewById(R.id.detail_heart_image_view); } @Override @@ -49,5 +53,7 @@ public class CommentsInfoItemHolder extends CommentsMiniInfoItemHolder { final CommentsInfoItem item = (CommentsInfoItem) infoItem; itemTitleView.setText(item.getUploaderName()); + + itemHeartView.setVisibility(item.isHeartedByUploader() ? View.VISIBLE : View.GONE); } } diff --git a/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsMiniInfoItemHolder.java b/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsMiniInfoItemHolder.java index 7c4f67267..629240dc6 100644 --- a/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsMiniInfoItemHolder.java +++ b/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsMiniInfoItemHolder.java @@ -7,7 +7,6 @@ import android.text.style.URLSpan; import android.text.util.Linkify; import android.view.View; import android.view.ViewGroup; -import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.TextView; @@ -46,7 +45,6 @@ public class CommentsMiniInfoItemHolder extends InfoItemHolder { private final TextView itemContentView; private final TextView itemLikesCountView; private final TextView itemDislikesCountView; - private final ImageView itemHeartView; private final TextView itemPublishedTime; private String commentText; @@ -82,7 +80,6 @@ public class CommentsMiniInfoItemHolder extends InfoItemHolder { itemDislikesCountView = itemView.findViewById(R.id.detail_thumbs_down_count_view); itemPublishedTime = itemView.findViewById(R.id.itemPublishedTime); itemContentView = itemView.findViewById(R.id.itemCommentContentView); - itemHeartView = itemView.findViewById(R.id.detail_heart_image_view); downloadThumbnailKey = infoItemBuilder.getContext(). getString(R.string.download_thumbnail_key); @@ -155,12 +152,6 @@ public class CommentsMiniInfoItemHolder extends InfoItemHolder { itemPublishedTime.setText(item.getTextualUploadDate()); } - if (item.isHeartedByUploader()) { - itemHeartView.setVisibility(View.VISIBLE); - } else { - itemHeartView.setVisibility(View.GONE); - } - itemView.setOnClickListener(view -> { toggleEllipsize(); if (itemBuilder.getOnCommentsSelectedListener() != null) { diff --git a/app/src/main/res/layout/list_comments_item.xml b/app/src/main/res/layout/list_comments_item.xml index af81cbd98..fb526aa06 100644 --- a/app/src/main/res/layout/list_comments_item.xml +++ b/app/src/main/res/layout/list_comments_item.xml @@ -80,6 +80,7 @@ android:layout_toRightOf="@+id/detail_thumbs_up_count_view" android:contentDescription="@string/detail_heart_img_view_description" android:visibility="gone" + tools:visibility="visible" app:srcCompat="@drawable/ic_heart" />