|
|
@@ -62,21 +62,6 @@ class GameAdapter(private val activity: AppCompatActivity) : RecyclerView.Adapte
|
|
|
override fun onBindViewHolder(holder: GameViewHolder, position: Int) {
|
|
|
if (isDatasetValid) {
|
|
|
if (cursor!!.moveToPosition(position)) {
|
|
|
- holder.binding.imageGameScreen.scaleType = ImageView.ScaleType.CENTER_CROP
|
|
|
- activity.lifecycleScope.launch {
|
|
|
- withContext(Dispatchers.IO) {
|
|
|
- val uri =
|
|
|
- Uri.parse(cursor!!.getString(GameDatabase.GAME_COLUMN_PATH)).toString()
|
|
|
- val bitmap = decodeGameIcon(uri)
|
|
|
- withContext(Dispatchers.Main) {
|
|
|
- holder.binding.imageGameScreen.load(bitmap) {
|
|
|
- error(R.drawable.no_icon)
|
|
|
- crossfade(true)
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
// TODO These shouldn't be necessary once the move to a DB-based model is complete.
|
|
|
val game = Game(
|
|
|
cursor!!.getString(GameDatabase.GAME_COLUMN_TITLE),
|
|
|
@@ -88,6 +73,15 @@ class GameAdapter(private val activity: AppCompatActivity) : RecyclerView.Adapte
|
|
|
)
|
|
|
holder.game = game
|
|
|
|
|
|
+ holder.binding.imageGameScreen.scaleType = ImageView.ScaleType.CENTER_CROP
|
|
|
+ activity.lifecycleScope.launch {
|
|
|
+ val bitmap = decodeGameIcon(game.path)
|
|
|
+ holder.binding.imageGameScreen.load(bitmap) {
|
|
|
+ error(R.drawable.no_icon)
|
|
|
+ crossfade(true)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
holder.binding.textGameTitle.text = game.title.replace("[\\t\\n\\r]+".toRegex(), " ")
|
|
|
holder.binding.textGameCaption.text = game.company
|
|
|
|