|
|
@ -62,21 +62,6 @@ class GameAdapter(private val activity: AppCompatActivity) : RecyclerView.Adapte
|
|
|
|
override fun onBindViewHolder(holder: GameViewHolder, position: Int) {
|
|
|
|
override fun onBindViewHolder(holder: GameViewHolder, position: Int) {
|
|
|
|
if (isDatasetValid) {
|
|
|
|
if (isDatasetValid) {
|
|
|
|
if (cursor!!.moveToPosition(position)) {
|
|
|
|
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.
|
|
|
|
// TODO These shouldn't be necessary once the move to a DB-based model is complete.
|
|
|
|
val game = Game(
|
|
|
|
val game = Game(
|
|
|
|
cursor!!.getString(GameDatabase.GAME_COLUMN_TITLE),
|
|
|
|
cursor!!.getString(GameDatabase.GAME_COLUMN_TITLE),
|
|
|
@ -88,6 +73,15 @@ class GameAdapter(private val activity: AppCompatActivity) : RecyclerView.Adapte
|
|
|
|
)
|
|
|
|
)
|
|
|
|
holder.game = game
|
|
|
|
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.textGameTitle.text = game.title.replace("[\\t\\n\\r]+".toRegex(), " ")
|
|
|
|
holder.binding.textGameCaption.text = game.company
|
|
|
|
holder.binding.textGameCaption.text = game.company
|
|
|
|
|
|
|
|
|
|
|
|