From dc9b261c48a7e91f6a90995efe7671aad85c6169 Mon Sep 17 00:00:00 2001 From: Maxence G Date: Sun, 4 Jun 2023 22:51:44 +0200 Subject: [PATCH] Improve current playing song visibility Disable scroll animation because not visible and causing bugs on first interaction --- .../kotlin/org/moire/ultrasonic/adapters/TrackViewHolder.kt | 4 ++++ .../kotlin/org/moire/ultrasonic/fragment/PlayerFragment.kt | 4 +--- ultrasonic/src/main/res/layout/list_item_track.xml | 3 +++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/adapters/TrackViewHolder.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/adapters/TrackViewHolder.kt index 2efea271..61d48ae3 100644 --- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/adapters/TrackViewHolder.kt +++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/adapters/TrackViewHolder.kt @@ -1,5 +1,6 @@ package org.moire.ultrasonic.adapters +import android.graphics.PorterDuff import android.view.View import android.widget.Checkable import android.widget.CheckedTextView @@ -45,6 +46,7 @@ class TrackViewHolder(val view: View) : var entry: Track? = null private set + var songLayout: LinearLayout = view.findViewById(R.id.song_layout) var check: CheckedTextView = view.findViewById(R.id.song_check) var drag: ImageView = view.findViewById(R.id.song_drag) var observableChecked = MutableLiveData(false) @@ -170,11 +172,13 @@ class TrackViewHolder(val view: View) : title.setCompoundDrawablesWithIntrinsicBounds( playingIcon, null, null, null ) + songLayout.backgroundTintMode = PorterDuff.Mode.ADD } else if (!isPlaying && isPlayingCached) { isPlayingCached = false title.setCompoundDrawablesWithIntrinsicBounds( 0, 0, 0, 0 ) + songLayout.backgroundTintMode = PorterDuff.Mode.MULTIPLY } } diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/fragment/PlayerFragment.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/fragment/PlayerFragment.kt index cc46a670..af94ad84 100644 --- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/fragment/PlayerFragment.kt +++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/fragment/PlayerFragment.kt @@ -481,9 +481,7 @@ class PlayerFragment : val index = mediaPlayerManager.currentMediaItemIndex if (index != -1) { - val smoothScroller = LinearSmoothScroller(context) - smoothScroller.targetPosition = index - viewManager.startSmoothScroll(smoothScroller) + viewManager.scrollToPosition(index) } } diff --git a/ultrasonic/src/main/res/layout/list_item_track.xml b/ultrasonic/src/main/res/layout/list_item_track.xml index ab3cce4b..03913132 100644 --- a/ultrasonic/src/main/res/layout/list_item_track.xml +++ b/ultrasonic/src/main/res/layout/list_item_track.xml @@ -5,6 +5,9 @@ a:id="@+id/song_layout" a:layout_width="fill_parent" a:layout_height="?android:attr/listPreferredItemHeight" + a:background="#00000000" + a:backgroundTint="@color/material_on_surface_stroke" + a:backgroundTintMode="multiply" a:minHeight="?android:attr/listPreferredItemHeight" a:orientation="horizontal">