@@ -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 ;
0 commit comments