android: Adjust game icon loading
This commit is contained in:
parent
730c63df7e
commit
4816d5158e
|
@ -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
|
||||
|
||||
|
|
Reference in New Issue