SDL: Android: update with suggestions

From 0f3882dbe609ba76843c9b788a2ca02e8a50d437 Mon Sep 17 00:00:00 2001
From: Sylvain <[EMAIL REDACTED]>
Date: Mon, 2 Feb 2026 18:32:02 +0100
Subject: [PATCH] Android: update with suggestions

---
 src/core/android/SDL_android.c           |  4 ++--
 src/events/SDL_events.c                  | 16 ++++++++++++----
 src/joystick/android/SDL_sysjoystick.c   |  6 +++---
 src/joystick/android/SDL_sysjoystick_c.h |  2 +-
 src/video/android/SDL_androidevents.h    |  1 -
 src/video/android/SDL_androidwindow.h    |  3 ---
 6 files changed, 18 insertions(+), 14 deletions(-)

diff --git a/src/core/android/SDL_android.c b/src/core/android/SDL_android.c
index a6a9d562929ab..019e4e89e1fa7 100644
--- a/src/core/android/SDL_android.c
+++ b/src/core/android/SDL_android.c
@@ -1358,7 +1358,7 @@ JNIEXPORT jboolean JNICALL SDL_JAVA_CONTROLLER_INTERFACE(onNativePadDown)(
     jint device_id, jint keycode)
 {
 #ifdef SDL_JOYSTICK_ANDROID
-int button = android_keycode_to_SDL(keycode);
+int button = Android_keycode_to_SDL(keycode);
     if (button >= 0) {
         RPC_Prepare(onNativePadDown);
         RPC_Add(device_id);
@@ -1385,7 +1385,7 @@ JNIEXPORT jboolean JNICALL SDL_JAVA_CONTROLLER_INTERFACE(onNativePadUp)(
     jint device_id, jint keycode)
 {
 #ifdef SDL_JOYSTICK_ANDROID
-    int button = android_keycode_to_SDL(keycode);
+    int button = Android_keycode_to_SDL(keycode);
     if (button >= 0) {
         RPC_Prepare(onNativePadUp);
         RPC_Add(device_id);
diff --git a/src/events/SDL_events.c b/src/events/SDL_events.c
index 8bebf75ec64ac..a1ed8e4129e54 100644
--- a/src/events/SDL_events.c
+++ b/src/events/SDL_events.c
@@ -1514,8 +1514,12 @@ static void SDL_PumpEventsInternal(bool push_sentinel)
 #ifdef SDL_PLATFORM_ANDROID
     // Android event processing is independent of the video subsystem
     SDL_VideoDevice *_this = SDL_GetVideoDevice();
-    SDL_Window *window = _this->windows;
-    Android_PumpEvents(window, 0);
+    if (_this) {
+        SDL_Window *window = _this->windows;
+        if (window) {
+            Android_PumpEvents(window, 0);
+        }
+    }
 #else
     // Get events from the video subsystem
     SDL_VideoDevice *_this = SDL_GetVideoDevice();
@@ -1750,8 +1754,12 @@ bool SDL_WaitEventTimeoutNS(SDL_Event *event, Sint64 timeoutNS)
         }
 
         SDL_VideoDevice *_this = SDL_GetVideoDevice();
-        SDL_Window *window = _this->windows;
-        Android_PumpEvents(window, delay);
+        if (_this) {
+            SDL_Window *window = _this->windows;
+            if (window) {
+                Android_PumpEvents(window, delay);
+            }
+        }
     }
 #else
     SDL_VideoDevice *_this = SDL_GetVideoDevice();
diff --git a/src/joystick/android/SDL_sysjoystick.c b/src/joystick/android/SDL_sysjoystick.c
index 04119a4dfb2bc..cd0026ed40345 100644
--- a/src/joystick/android/SDL_sysjoystick.c
+++ b/src/joystick/android/SDL_sysjoystick.c
@@ -64,7 +64,7 @@ static int numjoysticks = 0;
  * This code manipulation is done to get a sequential list of codes.
  * FIXME: This is only suited for the case where we use a fixed number of buttons determined by ANDROID_MAX_NBUTTONS
  */
-int android_keycode_to_SDL(int keycode)
+int Android_keycode_to_SDL(int keycode)
 {
     // FIXME: If this function gets too unwieldy in the future, replace with a lookup table
     int button = 0;
@@ -198,7 +198,7 @@ bool Android_OnPadDown(int device_id, int keycode)
 {
     Uint64 timestamp = SDL_GetTicksNS();
     SDL_joylist_item *item;
-    int button = android_keycode_to_SDL(keycode);
+    int button = Android_keycode_to_SDL(keycode);
     if (button >= 0) {
         SDL_LockJoysticks();
         item = JoystickByDeviceId(device_id);
@@ -218,7 +218,7 @@ bool Android_OnPadUp(int device_id, int keycode)
 {
     Uint64 timestamp = SDL_GetTicksNS();
     SDL_joylist_item *item;
-    int button = android_keycode_to_SDL(keycode);
+    int button = Android_keycode_to_SDL(keycode);
     if (button >= 0) {
         SDL_LockJoysticks();
         item = JoystickByDeviceId(device_id);
diff --git a/src/joystick/android/SDL_sysjoystick_c.h b/src/joystick/android/SDL_sysjoystick_c.h
index 32aa9a6ffdea5..c72de243d5fcd 100644
--- a/src/joystick/android/SDL_sysjoystick_c.h
+++ b/src/joystick/android/SDL_sysjoystick_c.h
@@ -28,7 +28,7 @@
 
 #include "../SDL_sysjoystick.h"
 
-extern int android_keycode_to_SDL(int keycode);
+extern int Android_keycode_to_SDL(int keycode);
 extern bool Android_OnPadDown(int device_id, int keycode);
 extern bool Android_OnPadUp(int device_id, int keycode);
 extern bool Android_OnJoy(int device_id, int axisnum, float value);
diff --git a/src/video/android/SDL_androidevents.h b/src/video/android/SDL_androidevents.h
index b70a69fa011ef..1a9062bd62b73 100644
--- a/src/video/android/SDL_androidevents.h
+++ b/src/video/android/SDL_androidevents.h
@@ -24,5 +24,4 @@ extern void Android_InitEvents(void);
 extern void Android_PumpEvents(SDL_Window *window, Sint64 timeoutNS);
 extern bool Android_WaitActiveAndLockActivity(SDL_Window *window);
 extern void Android_QuitEvents(void);
-
 extern void Android_PumpLifecycleEvents(SDL_Window *window);
diff --git a/src/video/android/SDL_androidwindow.h b/src/video/android/SDL_androidwindow.h
index b788f3b7638d4..90f65dd0c365d 100644
--- a/src/video/android/SDL_androidwindow.h
+++ b/src/video/android/SDL_androidwindow.h
@@ -47,11 +47,8 @@ struct SDL_WindowData
 
 };
 
-
 bool Android_nativeSurfaceCreated(SDL_Window *window);
 bool Android_nativeSurfaceChanged(SDL_Window *window);
 void Android_nativeSurfaceDestroyed(SDL_Window *window);
 
-
-
 #endif // SDL_androidwindow_h_