mirror of https://github.com/encounter/SDL.git
Added SDL_IsChromebook() to determine if we're running on a Chromebook.
This commit is contained in:
parent
2dedbc7262
commit
113801b790
|
@ -695,6 +695,13 @@ public class SDLActivity extends Activity {
|
||||||
return (uiModeManager.getCurrentModeType() == Configuration.UI_MODE_TYPE_TELEVISION);
|
return (uiModeManager.getCurrentModeType() == Configuration.UI_MODE_TYPE_TELEVISION);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is called by SDL using JNI.
|
||||||
|
*/
|
||||||
|
public static boolean isChromebook() {
|
||||||
|
return getContext().getPackageManager().hasSystemFeature("org.chromium.arc.device_management");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method is called by SDL using JNI.
|
* This method is called by SDL using JNI.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -125,6 +125,11 @@ extern DECLSPEC void * SDLCALL SDL_AndroidGetActivity(void);
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC SDL_bool SDLCALL SDL_IsAndroidTV(void);
|
extern DECLSPEC SDL_bool SDLCALL SDL_IsAndroidTV(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
\brief Return true if the application is running on a Chromebook
|
||||||
|
*/
|
||||||
|
extern DECLSPEC SDL_bool SDLCALL SDL_IsChromebook(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
See the official Android developer guide for more information:
|
See the official Android developer guide for more information:
|
||||||
http://developer.android.com/guide/topics/data/data-storage.html
|
http://developer.android.com/guide/topics/data/data-storage.html
|
||||||
|
|
|
@ -213,6 +213,7 @@ static jmethodID midSetWindowStyle;
|
||||||
static jmethodID midSetOrientation;
|
static jmethodID midSetOrientation;
|
||||||
static jmethodID midGetContext;
|
static jmethodID midGetContext;
|
||||||
static jmethodID midIsAndroidTV;
|
static jmethodID midIsAndroidTV;
|
||||||
|
static jmethodID midIsChromebook;
|
||||||
static jmethodID midInputGetInputDeviceIds;
|
static jmethodID midInputGetInputDeviceIds;
|
||||||
static jmethodID midSendMessage;
|
static jmethodID midSendMessage;
|
||||||
static jmethodID midShowTextInput;
|
static jmethodID midShowTextInput;
|
||||||
|
@ -316,6 +317,8 @@ JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(nativeSetupJNI)(JNIEnv* mEnv, jclass c
|
||||||
"getContext","()Landroid/content/Context;");
|
"getContext","()Landroid/content/Context;");
|
||||||
midIsAndroidTV = (*mEnv)->GetStaticMethodID(mEnv, mActivityClass,
|
midIsAndroidTV = (*mEnv)->GetStaticMethodID(mEnv, mActivityClass,
|
||||||
"isAndroidTV","()Z");
|
"isAndroidTV","()Z");
|
||||||
|
midIsChromebook = (*mEnv)->GetStaticMethodID(mEnv, mActivityClass,
|
||||||
|
"isChromebook", "()Z");
|
||||||
midInputGetInputDeviceIds = (*mEnv)->GetStaticMethodID(mEnv, mActivityClass,
|
midInputGetInputDeviceIds = (*mEnv)->GetStaticMethodID(mEnv, mActivityClass,
|
||||||
"inputGetInputDeviceIds", "(I)[I");
|
"inputGetInputDeviceIds", "(I)[I");
|
||||||
midSendMessage = (*mEnv)->GetStaticMethodID(mEnv, mActivityClass,
|
midSendMessage = (*mEnv)->GetStaticMethodID(mEnv, mActivityClass,
|
||||||
|
@ -349,7 +352,8 @@ JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(nativeSetupJNI)(JNIEnv* mEnv, jclass c
|
||||||
!midSendMessage || !midShowTextInput || !midIsScreenKeyboardShown ||
|
!midSendMessage || !midShowTextInput || !midIsScreenKeyboardShown ||
|
||||||
!midClipboardSetText || !midClipboardGetText || !midClipboardHasText ||
|
!midClipboardSetText || !midClipboardGetText || !midClipboardHasText ||
|
||||||
!midOpenAPKExpansionInputStream || !midGetManifestEnvironmentVariables || !midGetDisplayDPI ||
|
!midOpenAPKExpansionInputStream || !midGetManifestEnvironmentVariables || !midGetDisplayDPI ||
|
||||||
!midCreateCustomCursor || !midSetCustomCursor || !midSetSystemCursor || !midSupportsRelativeMouse || !midSetRelativeMouseEnabled) {
|
!midCreateCustomCursor || !midSetCustomCursor || !midSetSystemCursor || !midSupportsRelativeMouse || !midSetRelativeMouseEnabled ||
|
||||||
|
!midIsChromebook) {
|
||||||
__android_log_print(ANDROID_LOG_WARN, "SDL", "Missing some Java callbacks, do you have the latest version of SDLActivity.java?");
|
__android_log_print(ANDROID_LOG_WARN, "SDL", "Missing some Java callbacks, do you have the latest version of SDLActivity.java?");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2024,6 +2028,12 @@ SDL_bool SDL_IsAndroidTV(void)
|
||||||
return (*env)->CallStaticBooleanMethod(env, mActivityClass, midIsAndroidTV);
|
return (*env)->CallStaticBooleanMethod(env, mActivityClass, midIsAndroidTV);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SDL_bool SDL_IsChromebook(void)
|
||||||
|
{
|
||||||
|
JNIEnv *env = Android_JNI_GetEnv();
|
||||||
|
return (*env)->CallStaticBooleanMethod(env, mActivityClass, midIsChromebook);
|
||||||
|
}
|
||||||
|
|
||||||
const char * SDL_AndroidGetInternalStoragePath(void)
|
const char * SDL_AndroidGetInternalStoragePath(void)
|
||||||
{
|
{
|
||||||
static char *s_AndroidInternalFilesPath = NULL;
|
static char *s_AndroidInternalFilesPath = NULL;
|
||||||
|
|
|
@ -672,3 +672,4 @@
|
||||||
#define SDL_GameControllerMappingForDeviceIndex SDL_GameControllerMappingForDeviceIndex_REAL
|
#define SDL_GameControllerMappingForDeviceIndex SDL_GameControllerMappingForDeviceIndex_REAL
|
||||||
#define SDL_LinuxSetThreadPriority SDL_LinuxSetThreadPriority_REAL
|
#define SDL_LinuxSetThreadPriority SDL_LinuxSetThreadPriority_REAL
|
||||||
#define SDL_HasAVX512F SDL_HasAVX512F_REAL
|
#define SDL_HasAVX512F SDL_HasAVX512F_REAL
|
||||||
|
#define SDL_IsChromebook SDL_IsChromebook_REAL
|
||||||
|
|
|
@ -712,3 +712,6 @@ SDL_DYNAPI_PROC(char*,SDL_GameControllerMappingForDeviceIndex,(int a),(a),return
|
||||||
SDL_DYNAPI_PROC(int,SDL_LinuxSetThreadPriority,(Sint64 a, int b),(a,b),return)
|
SDL_DYNAPI_PROC(int,SDL_LinuxSetThreadPriority,(Sint64 a, int b),(a,b),return)
|
||||||
#endif
|
#endif
|
||||||
SDL_DYNAPI_PROC(SDL_bool,SDL_HasAVX512F,(void),(),return)
|
SDL_DYNAPI_PROC(SDL_bool,SDL_HasAVX512F,(void),(),return)
|
||||||
|
#ifdef __ANDROID__
|
||||||
|
SDL_DYNAPI_PROC(SDL_bool,SDL_IsChromebook,(void),(),return)
|
||||||
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue