From ebfdd778b953f1ccb2d62da692d42f3f8bf25a59 Mon Sep 17 00:00:00 2001
From: qiji4215 <qiji4215@navinfo.com>
Date: Thu, 4 May 2023 13:54:09 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=BD=95=E9=9F=B3=E7=82=B9?=
 =?UTF-8?q?=E5=87=BB=E6=92=AD=E6=94=BE=E4=B8=9A=E5=8A=A1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../EvaluationResultFragment.kt               | 15 ++++++----
 .../evaluationresult/SoundtListAdapter.kt     | 30 +++++++------------
 2 files changed, 21 insertions(+), 24 deletions(-)

diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultFragment.kt
index 9b9a1ecf..b62df455 100644
--- a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultFragment.kt
+++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultFragment.kt
@@ -10,23 +10,20 @@ import android.view.ViewGroup
 import androidx.annotation.RequiresApi
 import androidx.databinding.DataBindingUtil
 import androidx.navigation.NavOptions
-import androidx.navigation.findNavController
 import androidx.recyclerview.widget.LinearLayoutManager
 import com.navinfo.omqs.Constant
 import com.navinfo.omqs.R
 import com.navinfo.omqs.databinding.FragmentEvaluationResultBinding
 import com.navinfo.omqs.ui.fragment.BaseFragment
-import com.navinfo.omqs.ui.fragment.tasklist.TaskListAdapter
 import com.navinfo.omqs.ui.other.shareViewModels
 import dagger.hilt.android.AndroidEntryPoint
+import androidx.navigation.findNavController
 
 @AndroidEntryPoint
 class EvaluationResultFragment : BaseFragment(), View.OnClickListener {
     private lateinit var binding: FragmentEvaluationResultBinding
     private val viewModel by shareViewModels<EvaluationResultViewModel>("QsRecode")
-    private val adapter: SoundtListAdapter by lazy {
-        SoundtListAdapter()
-    }
+
     override fun onCreateView(
         inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
     ): View {
@@ -39,10 +36,18 @@ class EvaluationResultFragment : BaseFragment(), View.OnClickListener {
         //// 设置 RecyclerView 的固定大小,避免在滚动时重新计算视图大小和布局,提高性能
         binding.evaluationVoiceRecyclerview.setHasFixedSize(true)
         binding.evaluationVoiceRecyclerview.layoutManager = layoutManager
+        /**
+         * 监听左侧栏的点击事件
+         */
+        val adapter = SoundtListAdapter { _, view ->
+
+        }
+
         binding.evaluationVoiceRecyclerview.adapter = adapter
         viewModel.listDataChatMsgEntityList.observe(viewLifecycleOwner) {
             adapter.refreshData(it)
         }
+
         viewModel.getChatMsgEntityList()
         return binding.root
     }
diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/SoundtListAdapter.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/SoundtListAdapter.kt
index 519bf4ad..31a323b0 100644
--- a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/SoundtListAdapter.kt
+++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/SoundtListAdapter.kt
@@ -26,6 +26,7 @@ import java.io.*
  *使用 LifecycleRegistry 给 ViewHolder 分发生命周期(这里使用了这个)
  */
 class SoundtListAdapter(
+    private var itemListener: ((Int, View) -> Unit?)? = null
 ) : BaseRecyclerViewAdapter<ChatMsgEntity>() {
 
     //媒体播放器
@@ -42,8 +43,6 @@ class SoundtListAdapter(
     //录音时动画效果
     private var animaV: AnimationDrawable? = null
 
-    private var itemClick: OnItemClickListner? = null
-
     //最大宽度
     private val maxWidth = 0
 
@@ -67,14 +66,14 @@ class SoundtListAdapter(
         holder.viewBinding.tvTime.isSelected = entity.isDelete
         holder.viewBinding.rlSoundContent.isSelected = entity.isDelete
         holder.viewBinding.ivSoundAnim.setBackgroundResource(R.drawable.icon_sound_03)
-/*        if (itemClick != null) {
-            holder.viewBinding.rlSoundContent.setOnClickListener {
-                itemClick!!.onItemClick(it.findViewById<View>(R.id.rl_sound_content), position)
-            }
-        }*/
+
+        holder.viewBinding.rlSoundContent.setOnClickListener {
+            setPlayerIndex(it.findViewById<View>(R.id.rl_sound_content),position)
+        }
+
         //mixWidth
         if (!TextUtils.isEmpty(entity.name)) {
-/*            if (entity.name.indexOf(".pcm") > 0) {
+            if (entity.name!!.indexOf(".pcm") > 0) {
                 val file: File = File(entity.voiceUri + entity.name)
                 if (file != null) {
                     val time = (file.length() / 16000).toInt()
@@ -90,7 +89,7 @@ class SoundtListAdapter(
                 try {
                     md = MediaPlayer()
                     md!!.reset()
-                    md!!.setDataSource(entity.voiceUri+entity.name)
+                    md!!.setDataSource(entity.voiceUri + entity.name)
                     md!!.prepare()
                 } catch (e: Exception) {
                     // TODO Auto-generated catch block
@@ -111,7 +110,7 @@ class SoundtListAdapter(
                 }
                 holder.viewBinding.tvTime.text = time
                 md!!.release()
-            }*/
+            }
         }
     }
 
@@ -143,11 +142,11 @@ class SoundtListAdapter(
         imageV.setBackgroundResource(R.drawable.sound_anim)
         animaV = imageV.background as AnimationDrawable
         animaV!!.start()
-/*        if (name.index(".pcm") > 0) {
+        if (name!!.indexOf(".pcm") > 0) {
             audioTrackPlay(name, imageV)
         } else {
             mediaPlayer(name, imageV)
-        }*/
+        }
     }
 
     fun mediaPlayer(name: String, imageV: ImageView) {
@@ -225,13 +224,6 @@ class SoundtListAdapter(
         }
     }
 
-    fun setOnItemClickListener(clickListner: OnItemClickListner) {
-        itemClick = clickListner
-    }
-
-    interface OnItemClickListner {
-        fun onItemClick(view: View?, postion: Int)
-    }
 
     override fun getItemViewRes(position: Int): Int {
         return R.layout.adapter_sound_list