From 8abbb98222af6e67fcf640e3e68db61c2dedb1a2 Mon Sep 17 00:00:00 2001 From: Brenton Bostick Date: Mon, 22 Sep 2025 11:15:48 -0400 Subject: [PATCH] =?UTF-8?q?Android:=20fix=20'JVM=20object=20referenced=20b?= =?UTF-8?q?y=20'context'=20is=20of=20type=20'Context'=20and=20it=20d?= =?UTF-8?q?=E2=80=A6=20(#14016)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix 'JVM object referenced by 'context' is of type 'Context' and it does not have access to method 'registerReceiver(BroadcastReceiver, IntentFilter)' declared in class 'ContextWrapper'.' --- android-project/app/src/main/java/org/libsdl/app/SDL.java | 8 ++++---- .../app/src/main/java/org/libsdl/app/SDLActivity.java | 2 +- src/core/android/SDL_android.c | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/android-project/app/src/main/java/org/libsdl/app/SDL.java b/android-project/app/src/main/java/org/libsdl/app/SDL.java index d5d3d69ae7..d9650a72e4 100644 --- a/android-project/app/src/main/java/org/libsdl/app/SDL.java +++ b/android-project/app/src/main/java/org/libsdl/app/SDL.java @@ -1,8 +1,8 @@ package org.libsdl.app; +import android.app.Activity; import android.content.Context; -import java.lang.Class; import java.lang.reflect.Method; /** @@ -28,12 +28,12 @@ public class SDL { } // This function stores the current activity (SDL or not) - static public void setContext(Context context) { + static public void setContext(Activity context) { SDLAudioManager.setContext(context); mContext = context; } - static public Context getContext() { + static public Activity getContext() { return mContext; } @@ -86,5 +86,5 @@ public class SDL { } } - protected static Context mContext; + protected static Activity mContext; } diff --git a/android-project/app/src/main/java/org/libsdl/app/SDLActivity.java b/android-project/app/src/main/java/org/libsdl/app/SDLActivity.java index 61b4b8d51e..59d03a03d0 100644 --- a/android-project/app/src/main/java/org/libsdl/app/SDLActivity.java +++ b/android-project/app/src/main/java/org/libsdl/app/SDLActivity.java @@ -1262,7 +1262,7 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh /** * This method is called by SDL using JNI. */ - public static Context getContext() { + public static Activity getContext() { return SDL.getContext(); } diff --git a/src/core/android/SDL_android.c b/src/core/android/SDL_android.c index cd12a58bb4..33d7815ff4 100644 --- a/src/core/android/SDL_android.c +++ b/src/core/android/SDL_android.c @@ -635,7 +635,7 @@ JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(nativeSetupJNI)(JNIEnv *env, jclass cl midClipboardSetText = (*env)->GetStaticMethodID(env, mActivityClass, "clipboardSetText", "(Ljava/lang/String;)V"); midCreateCustomCursor = (*env)->GetStaticMethodID(env, mActivityClass, "createCustomCursor", "([IIIII)I"); midDestroyCustomCursor = (*env)->GetStaticMethodID(env, mActivityClass, "destroyCustomCursor", "(I)V"); - midGetContext = (*env)->GetStaticMethodID(env, mActivityClass, "getContext", "()Landroid/content/Context;"); + midGetContext = (*env)->GetStaticMethodID(env, mActivityClass, "getContext", "()Landroid/app/Activity;"); midGetManifestEnvironmentVariables = (*env)->GetStaticMethodID(env, mActivityClass, "getManifestEnvironmentVariables", "()Z"); midGetNativeSurface = (*env)->GetStaticMethodID(env, mActivityClass, "getNativeSurface", "()Landroid/view/Surface;"); midInitTouch = (*env)->GetStaticMethodID(env, mActivityClass, "initTouch", "()V");