mirror of
				https://git.suyu.dev/suyu/suyu.git
				synced 2025-10-31 06:46:40 +08:00 
			
		
		
		
	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 | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user