mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-02-03 19:42:45 +01:00
Merge pull request #11680 from t895/long-press-fix
Android: Long press leanback game card fix
This commit is contained in:
commit
66e414133e
@ -17,6 +17,7 @@ import org.dolphinemu.dolphinemu.activities.EmulationActivity
|
|||||||
import androidx.fragment.app.FragmentActivity
|
import androidx.fragment.app.FragmentActivity
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
import org.dolphinemu.dolphinemu.databinding.CardGameBinding
|
import org.dolphinemu.dolphinemu.databinding.CardGameBinding
|
||||||
import org.dolphinemu.dolphinemu.dialogs.GamePropertiesDialog
|
import org.dolphinemu.dolphinemu.dialogs.GamePropertiesDialog
|
||||||
@ -72,7 +73,7 @@ class GameAdapter(private val mActivity: FragmentActivity) : RecyclerView.Adapte
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mActivity.lifecycleScope.launchWhenStarted {
|
mActivity.lifecycleScope.launch {
|
||||||
withContext(Dispatchers.IO) {
|
withContext(Dispatchers.IO) {
|
||||||
val customCoverUri = CoilUtils.findCustomCover(gameFile)
|
val customCoverUri = CoilUtils.findCustomCover(gameFile)
|
||||||
withContext(Dispatchers.Main) {
|
withContext(Dispatchers.Main) {
|
||||||
|
@ -15,6 +15,7 @@ import android.widget.ImageView
|
|||||||
import androidx.fragment.app.FragmentActivity
|
import androidx.fragment.app.FragmentActivity
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
import org.dolphinemu.dolphinemu.dialogs.GamePropertiesDialog
|
import org.dolphinemu.dolphinemu.dialogs.GamePropertiesDialog
|
||||||
import org.dolphinemu.dolphinemu.utils.CoilUtils
|
import org.dolphinemu.dolphinemu.utils.CoilUtils
|
||||||
@ -53,11 +54,12 @@ class GameRowPresenter(private val mActivity: FragmentActivity) : Presenter() {
|
|||||||
// Set the background color of the card
|
// Set the background color of the card
|
||||||
val background = ContextCompat.getDrawable(context, R.drawable.tv_card_background)
|
val background = ContextCompat.getDrawable(context, R.drawable.tv_card_background)
|
||||||
cardParent.infoAreaBackground = background
|
cardParent.infoAreaBackground = background
|
||||||
cardParent.setOnClickListener { view: View ->
|
cardParent.setOnLongClickListener { view: View ->
|
||||||
val activity = view.context as FragmentActivity
|
val activity = view.context as FragmentActivity
|
||||||
val fragment = GamePropertiesDialog.newInstance(holder.gameFile)
|
val fragment = GamePropertiesDialog.newInstance(holder.gameFile)
|
||||||
activity.supportFragmentManager.beginTransaction()
|
activity.supportFragmentManager.beginTransaction()
|
||||||
.add(fragment, GamePropertiesDialog.TAG).commit()
|
.add(fragment, GamePropertiesDialog.TAG).commit()
|
||||||
|
true
|
||||||
}
|
}
|
||||||
|
|
||||||
if (GameFileCacheManager.findSecondDisc(gameFile) != null) {
|
if (GameFileCacheManager.findSecondDisc(gameFile) != null) {
|
||||||
@ -68,7 +70,7 @@ class GameRowPresenter(private val mActivity: FragmentActivity) : Presenter() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mActivity.lifecycleScope.launchWhenStarted {
|
mActivity.lifecycleScope.launch {
|
||||||
withContext(Dispatchers.IO) {
|
withContext(Dispatchers.IO) {
|
||||||
val customCoverUri = CoilUtils.findCustomCover(gameFile)
|
val customCoverUri = CoilUtils.findCustomCover(gameFile)
|
||||||
withContext(Dispatchers.Main) {
|
withContext(Dispatchers.Main) {
|
||||||
|
@ -24,6 +24,7 @@ import com.google.android.material.color.MaterialColors
|
|||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
import com.google.android.material.elevation.ElevationOverlayProvider
|
import com.google.android.material.elevation.ElevationOverlayProvider
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
import org.dolphinemu.dolphinemu.R
|
import org.dolphinemu.dolphinemu.R
|
||||||
import org.dolphinemu.dolphinemu.databinding.ActivityCheatsBinding
|
import org.dolphinemu.dolphinemu.databinding.ActivityCheatsBinding
|
||||||
@ -171,7 +172,7 @@ class CheatsActivity : AppCompatActivity(), PanelSlideListener {
|
|||||||
.setCancelable(false)
|
.setCancelable(false)
|
||||||
.show()
|
.show()
|
||||||
|
|
||||||
lifecycleScope.launchWhenResumed {
|
lifecycleScope.launch {
|
||||||
withContext(Dispatchers.IO) {
|
withContext(Dispatchers.IO) {
|
||||||
val codes = downloadCodes(gameTdbId!!)
|
val codes = downloadCodes(gameTdbId!!)
|
||||||
withContext(Dispatchers.Main) {
|
withContext(Dispatchers.Main) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user