summaryrefslogtreecommitdiffstats
path: root/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameIconRequestHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameIconRequestHandler.java')
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameIconRequestHandler.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameIconRequestHandler.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameIconRequestHandler.java
new file mode 100644
index 000000000..b75dc9a62
--- /dev/null
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameIconRequestHandler.java
@@ -0,0 +1,27 @@
+package org.yuzu.yuzu_emu.utils;
+
+import android.graphics.Bitmap;
+
+import com.squareup.picasso.Picasso;
+import com.squareup.picasso.Request;
+import com.squareup.picasso.RequestHandler;
+
+import org.yuzu.yuzu_emu.NativeLibrary;
+
+import java.nio.IntBuffer;
+
+public class GameIconRequestHandler extends RequestHandler {
+ @Override
+ public boolean canHandleRequest(Request data) {
+ return "iso".equals(data.uri.getScheme());
+ }
+
+ @Override
+ public Result load(Request request, int networkPolicy) {
+ String url = request.uri.getHost() + request.uri.getPath();
+ int[] vector = NativeLibrary.GetIcon(url);
+ Bitmap bitmap = Bitmap.createBitmap(48, 48, Bitmap.Config.RGB_565);
+ bitmap.copyPixelsFromBuffer(IntBuffer.wrap(vector));
+ return new Result(bitmap, Picasso.LoadedFrom.DISK);
+ }
+}