summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2010-10-31 12:11:14 +0000
committerThomas Martitz <kugel@rockbox.org>2010-10-31 12:11:14 +0000
commitbf63f241681ee5d09496444e711979dbad09419f (patch)
tree3c8db59994ea490f79e306c6219784b57aa1ce1a
parent2d05d2f9daebd7559c9dd05f4784e5f677b6dbbe (diff)
downloadrockbox-bf63f241681ee5d09496444e711979dbad09419f.tar.gz
rockbox-bf63f241681ee5d09496444e711979dbad09419f.tar.bz2
rockbox-bf63f241681ee5d09496444e711979dbad09419f.zip
Pass the framebuffer to the service in the constructor rather than later from native code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28411 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--android/src/org/rockbox/RockboxFramebuffer.java3
-rw-r--r--firmware/target/hosted/android/lcd-android.c4
2 files changed, 2 insertions, 5 deletions
diff --git a/android/src/org/rockbox/RockboxFramebuffer.java b/android/src/org/rockbox/RockboxFramebuffer.java
index 20311a8790..0daeffe265 100644
--- a/android/src/org/rockbox/RockboxFramebuffer.java
+++ b/android/src/org/rockbox/RockboxFramebuffer.java
@@ -40,7 +40,6 @@ public class RockboxFramebuffer extends View
int lcd_height, ByteBuffer native_fb)
{
super(c);
-
/* Needed so we can catch KeyEvents */
setFocusable(true);
setFocusableInTouchMode(true);
@@ -48,6 +47,8 @@ public class RockboxFramebuffer extends View
btm = Bitmap.createBitmap(lcd_width, lcd_height, Bitmap.Config.RGB_565);
native_buf = native_fb;
requestFocus();
+ /* the service needs to know the about us */
+ ((RockboxService)c).set_fb(this);
}
public void onDraw(Canvas c)
diff --git a/firmware/target/hosted/android/lcd-android.c b/firmware/target/hosted/android/lcd-android.c
index 75bf7a6d1d..78b1f12f7f 100644
--- a/firmware/target/hosted/android/lcd-android.c
+++ b/firmware/target/hosted/android/lcd-android.c
@@ -77,10 +77,6 @@ void lcd_init_device(void)
RockboxFramebuffer_class,
"java_lcd_update_rect",
"(IIII)V");
-
- jmethodID fbsetter = e->GetMethodID(env_ptr,RockboxService_class,
- "set_fb", "(Lorg/rockbox/RockboxFramebuffer;)V");
- e->CallVoidMethod(env_ptr, RockboxService_instance, fbsetter, RockboxFramebuffer_instance);
display_on = true;
}