Added a function to get the current Android SDK version at runtime
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
diff --git a/src/core/android/SDL_android.c b/src/core/android/SDL_android.c
index 2793ec7..2e082a2 100644
--- a/src/core/android/SDL_android.c
+++ b/src/core/android/SDL_android.c
@@ -42,6 +42,7 @@
#include "../../haptic/android/SDL_syshaptic_c.h"
#include <android/log.h>
+#include <sys/system_properties.h>
#include <pthread.h>
#include <sys/types.h>
#include <unistd.h>
@@ -2406,6 +2407,18 @@ void *SDL_AndroidGetActivity(void)
return (*env)->CallStaticObjectMethod(env, mActivityClass, midGetContext);
}
+int SDL_GetAndroidSDKVersion(void)
+{
+ static int sdk_version;
+ if (!sdk_version) {
+ char sdk[PROP_VALUE_MAX] = {0};
+ if (__system_property_get("ro.build.version.sdk", sdk) != 0) {
+ sdk_version = SDL_atoi(sdk);
+ }
+ }
+ return sdk_version;
+}
+
SDL_bool SDL_IsAndroidTablet(void)
{
JNIEnv *env = Android_JNI_GetEnv();
diff --git a/src/core/android/SDL_android.h b/src/core/android/SDL_android.h
index 52332fb..7469de9 100644
--- a/src/core/android/SDL_android.h
+++ b/src/core/android/SDL_android.h
@@ -122,6 +122,8 @@ SDL_bool Android_JNI_SupportsRelativeMouse(void);
SDL_bool Android_JNI_SetRelativeMouseEnabled(SDL_bool enabled);
+int SDL_GetAndroidSDKVersion(void);
+
SDL_bool SDL_IsAndroidTablet(void);
SDL_bool SDL_IsAndroidTV(void);
SDL_bool SDL_IsChromebook(void);