engine: platform: android: refactoring
This commit is contained in:
parent
0073225549
commit
5c90e716cb
1 changed files with 9 additions and 11 deletions
|
@ -32,10 +32,9 @@ struct jnimethods_s
|
||||||
JNIEnv *env;
|
JNIEnv *env;
|
||||||
jobject activity;
|
jobject activity;
|
||||||
jclass actcls;
|
jclass actcls;
|
||||||
jmethodID getID;
|
jmethodID loadAndroidID;
|
||||||
jmethodID saveID;
|
jmethodID getAndroidID;
|
||||||
jmethodID loadID;
|
jmethodID saveAndroidID;
|
||||||
jmethodID getKeyboardHeight;
|
|
||||||
} jni;
|
} jni;
|
||||||
|
|
||||||
void Android_Init( void )
|
void Android_Init( void )
|
||||||
|
@ -43,10 +42,9 @@ void Android_Init( void )
|
||||||
jni.env = (JNIEnv *)SDL_AndroidGetJNIEnv();
|
jni.env = (JNIEnv *)SDL_AndroidGetJNIEnv();
|
||||||
jni.activity = (jobject)SDL_AndroidGetActivity();
|
jni.activity = (jobject)SDL_AndroidGetActivity();
|
||||||
jni.actcls = (*jni.env)->GetObjectClass( jni.env, jni.activity );
|
jni.actcls = (*jni.env)->GetObjectClass( jni.env, jni.activity );
|
||||||
jni.loadID = (*jni.env)->GetMethodID( jni.env, jni.actcls, "loadAndroidID", "()Ljava/lang/String;" );
|
jni.loadAndroidID = (*jni.env)->GetMethodID( jni.env, jni.actcls, "loadAndroidID", "()Ljava/lang/String;" );
|
||||||
jni.getID = (*jni.env)->GetMethodID( jni.env, jni.actcls, "getAndroidID", "()Ljava/lang/String;" );
|
jni.getAndroidID = (*jni.env)->GetMethodID( jni.env, jni.actcls, "getAndroidID", "()Ljava/lang/String;" );
|
||||||
jni.saveID = (*jni.env)->GetMethodID( jni.env, jni.actcls, "saveAndroidID", "(Ljava/lang/String;)V" );
|
jni.saveAndroidID = (*jni.env)->GetMethodID( jni.env, jni.actcls, "saveAndroidID", "(Ljava/lang/String;)V" );
|
||||||
jni.getKeyboardHeight = (*jni.env)->GetMethodID( jni.env, jni.actcls, "getKeyboardHeight", "()I" );
|
|
||||||
|
|
||||||
SDL_SetHint( SDL_HINT_ORIENTATIONS, "LandscapeLeft LandscapeRight" );
|
SDL_SetHint( SDL_HINT_ORIENTATIONS, "LandscapeLeft LandscapeRight" );
|
||||||
SDL_SetHint( SDL_HINT_JOYSTICK_HIDAPI_STEAM, "1" );
|
SDL_SetHint( SDL_HINT_JOYSTICK_HIDAPI_STEAM, "1" );
|
||||||
|
@ -95,7 +93,7 @@ const char *Android_GetAndroidID( void )
|
||||||
|
|
||||||
if( COM_CheckString( id ) ) return id;
|
if( COM_CheckString( id ) ) return id;
|
||||||
|
|
||||||
resultJNIStr = (*jni.env)->CallObjectMethod( jni.env, jni.activity, jni.getID );
|
resultJNIStr = (*jni.env)->CallObjectMethod( jni.env, jni.activity, jni.getAndroidID );
|
||||||
resultCStr = (*jni.env)->GetStringUTFChars( jni.env, resultJNIStr, NULL );
|
resultCStr = (*jni.env)->GetStringUTFChars( jni.env, resultJNIStr, NULL );
|
||||||
Q_strncpy( id, resultCStr, sizeof( id ) );
|
Q_strncpy( id, resultCStr, sizeof( id ) );
|
||||||
(*jni.env)->ReleaseStringUTFChars( jni.env, resultJNIStr, resultCStr );
|
(*jni.env)->ReleaseStringUTFChars( jni.env, resultJNIStr, resultCStr );
|
||||||
|
@ -114,7 +112,7 @@ const char *Android_LoadID( void )
|
||||||
jstring resultJNIStr;
|
jstring resultJNIStr;
|
||||||
const char *resultCStr;
|
const char *resultCStr;
|
||||||
|
|
||||||
resultJNIStr = (*jni.env)->CallObjectMethod( jni.env, jni.activity, jni.loadID );
|
resultJNIStr = (*jni.env)->CallObjectMethod( jni.env, jni.activity, jni.loadAndroidID );
|
||||||
resultCStr = (*jni.env)->GetStringUTFChars( jni.env, resultJNIStr, NULL );
|
resultCStr = (*jni.env)->GetStringUTFChars( jni.env, resultJNIStr, NULL );
|
||||||
Q_strncpy( id, resultCStr, sizeof( id ) );
|
Q_strncpy( id, resultCStr, sizeof( id ) );
|
||||||
(*jni.env)->ReleaseStringUTFChars( jni.env, resultJNIStr, resultCStr );
|
(*jni.env)->ReleaseStringUTFChars( jni.env, resultJNIStr, resultCStr );
|
||||||
|
@ -129,7 +127,7 @@ Android_SaveID
|
||||||
*/
|
*/
|
||||||
void Android_SaveID( const char *id )
|
void Android_SaveID( const char *id )
|
||||||
{
|
{
|
||||||
(*jni.env)->CallVoidMethod( jni.env, jni.activity, jni.saveID, (*jni.env)->NewStringUTF( jni.env, id ) );
|
(*jni.env)->CallVoidMethod( jni.env, jni.activity, jni.saveAndroidID, (*jni.env)->NewStringUTF( jni.env, id ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Add table
Reference in a new issue