diff --git a/app/src/main/java/org/schabi/newpipe/fragments/list/sponsorblock/SponsorBlockSegmentListAdapter.java b/app/src/main/java/org/schabi/newpipe/fragments/list/sponsorblock/SponsorBlockSegmentListAdapter.java
index a06fa68c9..4f052d87e 100644
--- a/app/src/main/java/org/schabi/newpipe/fragments/list/sponsorblock/SponsorBlockSegmentListAdapter.java
+++ b/app/src/main/java/org/schabi/newpipe/fragments/list/sponsorblock/SponsorBlockSegmentListAdapter.java
@@ -197,11 +197,33 @@ private void updateFrom(final SponsorBlockSegment sponsorBlockSegment) {
final String endText = millisecondsToString(sponsorBlockSegment.endTime);
itemSegmentEndTimeTextView.setText(endText);
+ // Update vote button states
if (sponsorBlockSegment.category == SponsorBlockCategory.PENDING
|| sponsorBlockSegment.uuid.equals("TEMP")
|| sponsorBlockSegment.uuid.equals("")) {
itemSegmentVoteUpImageView.setVisibility(View.INVISIBLE);
itemSegmentVoteDownImageView.setVisibility(View.INVISIBLE);
+ } else {
+ itemSegmentVoteUpImageView.setVisibility(View.VISIBLE);
+ itemSegmentVoteDownImageView.setVisibility(View.VISIBLE);
+
+ // Update button states based on current vote
+ final int selectedColor =
+ context.getColor(R.color.sponsor_block_vote_button_selected);
+ final int defaultColor =
+ context.getColor(android.R.color.darker_gray);
+
+ if (hasUpVoted) {
+ itemSegmentVoteUpImageView.setColorFilter(selectedColor);
+ itemSegmentVoteDownImageView.setColorFilter(defaultColor);
+ } else if (hasDownVoted) {
+ itemSegmentVoteUpImageView.setColorFilter(defaultColor);
+ itemSegmentVoteDownImageView.setColorFilter(selectedColor);
+ } else {
+ // Reset to default colors when no vote
+ itemSegmentVoteUpImageView.setColorFilter(defaultColor);
+ itemSegmentVoteDownImageView.setColorFilter(defaultColor);
+ }
}
}
@@ -281,6 +303,11 @@ private void vote(final int value) {
Toast.makeText(context,
toastMessage,
Toast.LENGTH_SHORT).show();
+
+ // Update button states after voting
+ if (currentSponsorBlockSegment != null) {
+ updateFrom(currentSponsorBlockSegment);
+ }
}, throwable -> {
if (throwable instanceof NullPointerException) {
return;
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index cc9aa955d..48d517bc0 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -95,5 +95,8 @@
#008fd6
#7300ff
#ffffff
+
+
+ #CD201F