Skip to content

Commit d656914

Browse files
Merge pull request #263 from NWuensche/master
Highlight cliked segment buttons
2 parents 5040332 + 0358d25 commit d656914

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

app/src/main/java/org/schabi/newpipe/fragments/list/sponsorblock/SponsorBlockSegmentListAdapter.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,11 +197,33 @@ private void updateFrom(final SponsorBlockSegment sponsorBlockSegment) {
197197
final String endText = millisecondsToString(sponsorBlockSegment.endTime);
198198
itemSegmentEndTimeTextView.setText(endText);
199199

200+
// Update vote button states
200201
if (sponsorBlockSegment.category == SponsorBlockCategory.PENDING
201202
|| sponsorBlockSegment.uuid.equals("TEMP")
202203
|| sponsorBlockSegment.uuid.equals("")) {
203204
itemSegmentVoteUpImageView.setVisibility(View.INVISIBLE);
204205
itemSegmentVoteDownImageView.setVisibility(View.INVISIBLE);
206+
} else {
207+
itemSegmentVoteUpImageView.setVisibility(View.VISIBLE);
208+
itemSegmentVoteDownImageView.setVisibility(View.VISIBLE);
209+
210+
// Update button states based on current vote
211+
final int selectedColor =
212+
context.getColor(R.color.sponsor_block_vote_button_selected);
213+
final int defaultColor =
214+
context.getColor(android.R.color.darker_gray);
215+
216+
if (hasUpVoted) {
217+
itemSegmentVoteUpImageView.setColorFilter(selectedColor);
218+
itemSegmentVoteDownImageView.setColorFilter(defaultColor);
219+
} else if (hasDownVoted) {
220+
itemSegmentVoteUpImageView.setColorFilter(defaultColor);
221+
itemSegmentVoteDownImageView.setColorFilter(selectedColor);
222+
} else {
223+
// Reset to default colors when no vote
224+
itemSegmentVoteUpImageView.setColorFilter(defaultColor);
225+
itemSegmentVoteDownImageView.setColorFilter(defaultColor);
226+
}
205227
}
206228
}
207229

@@ -281,6 +303,11 @@ private void vote(final int value) {
281303
Toast.makeText(context,
282304
toastMessage,
283305
Toast.LENGTH_SHORT).show();
306+
307+
// Update button states after voting
308+
if (currentSponsorBlockSegment != null) {
309+
updateFrom(currentSponsorBlockSegment);
310+
}
284311
}, throwable -> {
285312
if (throwable instanceof NullPointerException) {
286313
return;

app/src/main/res/values/colors.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,5 +95,8 @@
9595
<color name="preview_segment">#008fd6</color>
9696
<color name="filler_segment">#7300ff</color>
9797
<color name="pending_segment">#ffffff</color>
98+
99+
<!-- Vote button colors -->
100+
<color name="sponsor_block_vote_button_selected">#CD201F</color>
98101

99102
</resources>

0 commit comments

Comments
 (0)