From de04f4cbe6f3aa6d8326f62de8dc08db1f5f0367 Mon Sep 17 00:00:00 2001
From: tzugen <tzugen@riseup.net>
Date: Sun, 5 Dec 2021 21:29:32 +0100
Subject: [PATCH] Fix the alignment of the status text, add transparency when
 dragging a song, remove wrong context menu

---
 .../ultrasonic/fragment/PlayerFragment.kt     | 22 ++++++++++++++++++-
 .../src/main/res/layout/list_item_track.xml   | 19 ++++++++++------
 .../res/layout/list_item_track_details.xml    |  1 -
 3 files changed, 33 insertions(+), 9 deletions(-)

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 86a62493..7e26c289 100644
--- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/fragment/PlayerFragment.kt
+++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/fragment/PlayerFragment.kt
@@ -37,6 +37,7 @@ import androidx.core.view.isVisible
 import androidx.fragment.app.Fragment
 import androidx.navigation.Navigation
 import androidx.recyclerview.widget.ItemTouchHelper
+import androidx.recyclerview.widget.ItemTouchHelper.ACTION_STATE_DRAG
 import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.LinearSmoothScroller
 import androidx.recyclerview.widget.RecyclerView
@@ -859,7 +860,6 @@ class PlayerFragment :
         viewAdapter.register(
             TrackViewBinder(
                 onItemClick = listener,
-                onContextMenuClick = { _, _ -> true },
                 checkable = false,
                 draggable = true,
                 context = requireContext(),
@@ -903,6 +903,26 @@ class PlayerFragment :
                     viewAdapter.submitList(mediaPlayerController.playList)
                     viewAdapter.notifyDataSetChanged()
                 }
+
+                override fun onSelectedChanged(
+                    viewHolder: RecyclerView.ViewHolder?,
+                    actionState: Int
+                ) {
+                    super.onSelectedChanged(viewHolder, actionState)
+
+                    if (actionState == ACTION_STATE_DRAG) {
+                        viewHolder?.itemView?.alpha = 0.6f
+                    }
+                }
+
+                override fun clearView(
+                    recyclerView: RecyclerView,
+                    viewHolder: RecyclerView.ViewHolder
+                ) {
+                    super.clearView(recyclerView, viewHolder)
+
+                    viewHolder.itemView.alpha = 1.0f
+                }
             }
         )
 
diff --git a/ultrasonic/src/main/res/layout/list_item_track.xml b/ultrasonic/src/main/res/layout/list_item_track.xml
index c2c140af..1ac6d686 100644
--- a/ultrasonic/src/main/res/layout/list_item_track.xml
+++ b/ultrasonic/src/main/res/layout/list_item_track.xml
@@ -10,13 +10,13 @@
         a:id="@+id/song_drag"
         a:layout_width="wrap_content"
         a:layout_height="fill_parent"
-        a:paddingStart="5dip"
-        a:paddingEnd="0dip"
         a:background="@android:color/transparent"
         a:focusable="false"
         a:gravity="center_vertical"
-        a:src="?attr/drag_vertical"
-        a:importantForAccessibility="no" />
+        a:importantForAccessibility="no"
+        a:paddingStart="5dip"
+        a:paddingEnd="0dip"
+        a:src="?attr/drag_vertical" />
 
     <CheckedTextView
         a:id="@+id/song_check"
@@ -24,7 +24,7 @@
         a:layout_height="fill_parent"
         a:checkMark="?attr/button_check_custom"
         a:gravity="center_vertical"
-        a:paddingEnd="4dip"/>
+        a:paddingEnd="4dip" />
 
     <include layout="@layout/list_item_track_details" />
 
@@ -43,6 +43,7 @@
             a:background="@android:color/transparent"
             a:focusable="false"
             a:gravity="center_vertical"
+            a:importantForAccessibility="no"
             a:scaleType="centerInside"
             a:src="?attr/star_hollow" />
 
@@ -53,6 +54,7 @@
             a:background="@android:color/transparent"
             a:focusable="false"
             a:gravity="center_vertical"
+            a:importantForAccessibility="no"
             a:scaleType="centerInside"
             a:src="?attr/star_hollow" />
 
@@ -63,6 +65,7 @@
             a:background="@android:color/transparent"
             a:focusable="false"
             a:gravity="center_vertical"
+            a:importantForAccessibility="no"
             a:scaleType="centerInside"
             a:src="?attr/star_hollow" />
 
@@ -73,6 +76,7 @@
             a:background="@android:color/transparent"
             a:focusable="false"
             a:gravity="center_vertical"
+            a:importantForAccessibility="no"
             a:scaleType="centerInside"
             a:src="?attr/star_hollow" />
 
@@ -84,6 +88,7 @@
             a:background="@android:color/transparent"
             a:focusable="false"
             a:gravity="center_vertical"
+            a:importantForAccessibility="no"
             a:scaleType="centerInside"
             a:src="?attr/star_hollow" />
 
@@ -94,10 +99,10 @@
         a:layout_width="38dp"
         a:layout_height="fill_parent"
         a:background="@android:color/transparent"
+        a:contentDescription="@string/download.menu_star"
         a:focusable="false"
         a:gravity="center_vertical"
         a:paddingEnd="8dip"
-        a:src="?attr/star_hollow"
-        a:contentDescription="@string/download.menu_star"/>
+        a:src="?attr/star_hollow" />
 
 </LinearLayout>
\ No newline at end of file
diff --git a/ultrasonic/src/main/res/layout/list_item_track_details.xml b/ultrasonic/src/main/res/layout/list_item_track_details.xml
index a224ab15..a2da6642 100644
--- a/ultrasonic/src/main/res/layout/list_item_track_details.xml
+++ b/ultrasonic/src/main/res/layout/list_item_track_details.xml
@@ -46,7 +46,6 @@
         a:drawablePadding="6dip"
         a:paddingEnd="12dip"
         app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toEndOf="@+id/song_title"
         app:layout_constraintTop_toTopOf="parent"
         tools:text="100%" />