diff options
Diffstat (limited to 'src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameIconRequestHandler.kt')
-rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameIconRequestHandler.kt | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameIconRequestHandler.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameIconRequestHandler.kt new file mode 100644 index 000000000..f5a535327 --- /dev/null +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameIconRequestHandler.kt @@ -0,0 +1,22 @@ +package org.yuzu.yuzu_emu.utils + +import android.graphics.BitmapFactory +import com.squareup.picasso.Picasso +import com.squareup.picasso.Request +import com.squareup.picasso.RequestHandler +import org.yuzu.yuzu_emu.NativeLibrary + +class GameIconRequestHandler : RequestHandler() { + override fun canHandleRequest(data: Request): Boolean { + return "content" == data.uri.scheme + } + + override fun load(request: Request, networkPolicy: Int): Result { + val gamePath = request.uri.toString() + val data = NativeLibrary.GetIcon(gamePath) + val options = BitmapFactory.Options() + options.inMutable = true + val bitmap = BitmapFactory.decodeByteArray(data, 0, data.size, options) + return Result(bitmap, Picasso.LoadedFrom.DISK) + } +} |