From 2dc332befddf4bd370dc2097c87cee74b4eb51f9 Mon Sep 17 00:00:00 2001 From: Prathamesh More Date: Fri, 26 Nov 2021 14:48:30 +0530 Subject: [PATCH] Fixed New Music Mix multiple clicks crash --- .../name/monkey/retromusic/adapter/HomeAdapter.kt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/HomeAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/HomeAdapter.kt index 85c3578ba..882922658 100644 --- a/app/src/main/java/code/name/monkey/retromusic/adapter/HomeAdapter.kt +++ b/app/src/main/java/code/name/monkey/retromusic/adapter/HomeAdapter.kt @@ -14,6 +14,8 @@ */ package code.name.monkey.retromusic.adapter +import android.os.Handler +import android.os.SystemClock import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -23,6 +25,8 @@ import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.widget.AppCompatTextView import androidx.core.os.bundleOf import androidx.fragment.app.findFragment +import androidx.lifecycle.findViewTreeLifecycleOwner +import androidx.lifecycle.lifecycleScope import androidx.navigation.findNavController import androidx.navigation.fragment.FragmentNavigatorExtras import androidx.recyclerview.widget.GridLayoutManager @@ -45,12 +49,15 @@ import code.name.monkey.retromusic.interfaces.IGenreClickListener import code.name.monkey.retromusic.model.* import code.name.monkey.retromusic.util.PreferenceUtil import com.google.android.material.card.MaterialCardView +import kotlinx.coroutines.delay class HomeAdapter( private val activity: AppCompatActivity ) : RecyclerView.Adapter(), IArtistClickListener, IAlbumClickListener, IGenreClickListener { + private var mLastClickTime: Long = 0 + private var list = listOf() override fun getItemViewType(position: Int): Int { @@ -194,6 +201,10 @@ class HomeAdapter( itemView.findViewById(R.id.message).apply { setTextColor(color) setOnClickListener { + if (SystemClock.elapsedRealtime() - mLastClickTime < 1000){ + return@setOnClickListener + } + mLastClickTime = SystemClock.elapsedRealtime(); MusicPlayerRemote.playNext((home.arrayList as List).subList(0, 8)) if (!MusicPlayerRemote.isPlaying) { MusicPlayerRemote.playNextSong()