summaryrefslogtreecommitdiffstats
path: root/android/src/org/rockbox/RockboxFramebuffer.java
diff options
context:
space:
mode:
Diffstat (limited to 'android/src/org/rockbox/RockboxFramebuffer.java')
-rw-r--r--android/src/org/rockbox/RockboxFramebuffer.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/android/src/org/rockbox/RockboxFramebuffer.java b/android/src/org/rockbox/RockboxFramebuffer.java
index 0daeffe265..84974d627a 100644
--- a/android/src/org/rockbox/RockboxFramebuffer.java
+++ b/android/src/org/rockbox/RockboxFramebuffer.java
@@ -23,6 +23,8 @@ package org.rockbox;
import java.nio.ByteBuffer;
+import org.rockbox.Helper.MediaButtonReceiver;
+
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
@@ -35,6 +37,7 @@ public class RockboxFramebuffer extends View
{
private Bitmap btm;
private ByteBuffer native_buf;
+ private MediaButtonReceiver media_monitor;
public RockboxFramebuffer(Context c, int lcd_width,
int lcd_height, ByteBuffer native_fb)
@@ -47,6 +50,8 @@ public class RockboxFramebuffer extends View
btm = Bitmap.createBitmap(lcd_width, lcd_height, Bitmap.Config.RGB_565);
native_buf = native_fb;
requestFocus();
+ media_monitor = new MediaButtonReceiver(c);
+ media_monitor.register();
/* the service needs to know the about us */
((RockboxService)c).set_fb(this);
}
@@ -122,6 +127,12 @@ public class RockboxFramebuffer extends View
set_lcd_active(1);
}
+ public void destroy()
+ {
+ suspend();
+ media_monitor.unregister();
+ }
+
public native void set_lcd_active(int active);
public native void touchHandler(boolean down, int x, int y);
public native boolean buttonHandler(int keycode, boolean state);