You've already forked android_translation_layer
mirror of
https://gitlab.com/android_translation_layer/android_translation_layer.git
synced 2025-10-27 11:48:10 -07:00
api-impl-jni/app/android_app_Activity.c: call OnWindowFocusChanged in activity_update_current
also rename apk_main_activity to activity since that's the class it's now for
This commit is contained in:
@@ -19,7 +19,7 @@ static void activity_close(JNIEnv *env, jobject activity) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* -- run the main activity's onDestroy -- */
|
/* -- run the main activity's onDestroy -- */
|
||||||
(*env)->CallVoidMethod(env, activity, handle_cache.apk_main_activity.onDestroy, NULL);
|
(*env)->CallVoidMethod(env, activity, handle_cache.activity.onDestroy, NULL);
|
||||||
if((*env)->ExceptionCheck(env))
|
if((*env)->ExceptionCheck(env))
|
||||||
(*env)->ExceptionDescribe(env);
|
(*env)->ExceptionDescribe(env);
|
||||||
}
|
}
|
||||||
@@ -29,20 +29,29 @@ static void activity_update_current(JNIEnv *env) {
|
|||||||
|
|
||||||
if (activity_current != activity_new) {
|
if (activity_current != activity_new) {
|
||||||
if (activity_current) {
|
if (activity_current) {
|
||||||
(*env)->CallVoidMethod(env, activity_current, handle_cache.apk_main_activity.onPause);
|
(*env)->CallVoidMethod(env, activity_current, handle_cache.activity.onPause);
|
||||||
if((*env)->ExceptionCheck(env))
|
if((*env)->ExceptionCheck(env))
|
||||||
(*env)->ExceptionDescribe(env);
|
(*env)->ExceptionDescribe(env);
|
||||||
|
|
||||||
(*env)->CallVoidMethod(env, activity_current, handle_cache.apk_main_activity.onStop);
|
(*env)->CallVoidMethod(env, activity_current, handle_cache.activity.onStop);
|
||||||
if((*env)->ExceptionCheck(env))
|
if((*env)->ExceptionCheck(env))
|
||||||
(*env)->ExceptionDescribe(env);
|
(*env)->ExceptionDescribe(env);
|
||||||
|
|
||||||
|
(*env)->CallVoidMethod(env, activity_new, handle_cache.activity.onWindowFocusChanged, false);
|
||||||
|
if((*env)->ExceptionCheck(env))
|
||||||
|
(*env)->ExceptionDescribe(env);
|
||||||
|
|
||||||
}
|
}
|
||||||
if (activity_new) {
|
if (activity_new) {
|
||||||
(*env)->CallVoidMethod(env, activity_new, handle_cache.apk_main_activity.onStart);
|
(*env)->CallVoidMethod(env, activity_new, handle_cache.activity.onStart);
|
||||||
if((*env)->ExceptionCheck(env))
|
if((*env)->ExceptionCheck(env))
|
||||||
(*env)->ExceptionDescribe(env);
|
(*env)->ExceptionDescribe(env);
|
||||||
|
|
||||||
(*env)->CallVoidMethod(env, activity_new, handle_cache.apk_main_activity.onResume);
|
(*env)->CallVoidMethod(env, activity_new, handle_cache.activity.onResume);
|
||||||
|
if((*env)->ExceptionCheck(env))
|
||||||
|
(*env)->ExceptionDescribe(env);
|
||||||
|
|
||||||
|
(*env)->CallVoidMethod(env, activity_new, handle_cache.activity.onWindowFocusChanged, true);
|
||||||
if((*env)->ExceptionCheck(env))
|
if((*env)->ExceptionCheck(env))
|
||||||
(*env)->ExceptionDescribe(env);
|
(*env)->ExceptionDescribe(env);
|
||||||
}
|
}
|
||||||
@@ -54,7 +63,7 @@ void activity_window_ready(void) {
|
|||||||
JNIEnv *env = get_jni_env();
|
JNIEnv *env = get_jni_env();
|
||||||
|
|
||||||
for (GList *l = activity_backlog; l != NULL; l = l->next) {
|
for (GList *l = activity_backlog; l != NULL; l = l->next) {
|
||||||
(*env)->CallVoidMethod(env, l->data, handle_cache.apk_main_activity.onWindowFocusChanged, true);
|
(*env)->CallVoidMethod(env, l->data, handle_cache.activity.onWindowFocusChanged, true);
|
||||||
if((*env)->ExceptionCheck(env))
|
if((*env)->ExceptionCheck(env))
|
||||||
(*env)->ExceptionDescribe(env);
|
(*env)->ExceptionDescribe(env);
|
||||||
}
|
}
|
||||||
@@ -78,7 +87,7 @@ void activity_close_all(void) {
|
|||||||
|
|
||||||
void activity_start(JNIEnv *env, jobject activity_object) {
|
void activity_start(JNIEnv *env, jobject activity_object) {
|
||||||
/* -- run the activity's onCreate -- */
|
/* -- run the activity's onCreate -- */
|
||||||
(*env)->CallVoidMethod(env, activity_object, handle_cache.apk_main_activity.onCreate, NULL);
|
(*env)->CallVoidMethod(env, activity_object, handle_cache.activity.onCreate, NULL);
|
||||||
if((*env)->ExceptionCheck(env))
|
if((*env)->ExceptionCheck(env))
|
||||||
(*env)->ExceptionDescribe(env);
|
(*env)->ExceptionDescribe(env);
|
||||||
|
|
||||||
|
|||||||
@@ -52,16 +52,16 @@ void set_up_handle_cache(JNIEnv *env)
|
|||||||
{
|
{
|
||||||
(*env)->GetJavaVM(env, &jvm);
|
(*env)->GetJavaVM(env, &jvm);
|
||||||
|
|
||||||
handle_cache.apk_main_activity.class = _REF((*env)->FindClass(env, "android/app/Activity"));
|
handle_cache.activity.class = _REF((*env)->FindClass(env, "android/app/Activity"));
|
||||||
if((*env)->ExceptionCheck(env))
|
if((*env)->ExceptionCheck(env))
|
||||||
(*env)->ExceptionDescribe(env);
|
(*env)->ExceptionDescribe(env);
|
||||||
handle_cache.apk_main_activity.onCreate = _METHOD(handle_cache.apk_main_activity.class, "onCreate", "(Landroid/os/Bundle;)V");
|
handle_cache.activity.onCreate = _METHOD(handle_cache.activity.class, "onCreate", "(Landroid/os/Bundle;)V");
|
||||||
handle_cache.apk_main_activity.onStart = _METHOD(handle_cache.apk_main_activity.class, "onStart", "()V");
|
handle_cache.activity.onStart = _METHOD(handle_cache.activity.class, "onStart", "()V");
|
||||||
handle_cache.apk_main_activity.onWindowFocusChanged = _METHOD(handle_cache.apk_main_activity.class, "onWindowFocusChanged", "(Z)V");
|
handle_cache.activity.onWindowFocusChanged = _METHOD(handle_cache.activity.class, "onWindowFocusChanged", "(Z)V");
|
||||||
handle_cache.apk_main_activity.onResume = _METHOD(handle_cache.apk_main_activity.class, "onResume", "()V");
|
handle_cache.activity.onResume = _METHOD(handle_cache.activity.class, "onResume", "()V");
|
||||||
handle_cache.apk_main_activity.onDestroy = _METHOD(handle_cache.apk_main_activity.class, "onDestroy", "()V");
|
handle_cache.activity.onDestroy = _METHOD(handle_cache.activity.class, "onDestroy", "()V");
|
||||||
handle_cache.apk_main_activity.onStop = _METHOD(handle_cache.apk_main_activity.class, "onStop", "()V");
|
handle_cache.activity.onStop = _METHOD(handle_cache.activity.class, "onStop", "()V");
|
||||||
handle_cache.apk_main_activity.onPause = _METHOD(handle_cache.apk_main_activity.class, "onPause", "()V");
|
handle_cache.activity.onPause = _METHOD(handle_cache.activity.class, "onPause", "()V");
|
||||||
|
|
||||||
handle_cache.attribute_set.class = _REF((*env)->FindClass(env, "android/util/AttributeSet"));
|
handle_cache.attribute_set.class = _REF((*env)->FindClass(env, "android/util/AttributeSet"));
|
||||||
if((*env)->ExceptionCheck(env))
|
if((*env)->ExceptionCheck(env))
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ struct handle_cache {
|
|||||||
jmethodID onDestroy;
|
jmethodID onDestroy;
|
||||||
jmethodID onStop;
|
jmethodID onStop;
|
||||||
jmethodID onPause;
|
jmethodID onPause;
|
||||||
} apk_main_activity;
|
} activity;
|
||||||
struct {
|
struct {
|
||||||
jclass class;
|
jclass class;
|
||||||
jmethodID getAttributeValue_string;
|
jmethodID getAttributeValue_string;
|
||||||
|
|||||||
@@ -361,8 +361,8 @@ static void open(GtkApplication *app, GFile** files, gint nfiles, const gchar* h
|
|||||||
(*env)->ExceptionDescribe(env);
|
(*env)->ExceptionDescribe(env);
|
||||||
|
|
||||||
// construct main Activity
|
// construct main Activity
|
||||||
activity_object = (*env)->CallStaticObjectMethod(env, handle_cache.apk_main_activity.class,
|
activity_object = (*env)->CallStaticObjectMethod(env, handle_cache.activity.class,
|
||||||
_STATIC_METHOD(handle_cache.apk_main_activity.class, "createMainActivity", "(Ljava/lang/String;J)Landroid/app/Activity;"),
|
_STATIC_METHOD(handle_cache.activity.class, "createMainActivity", "(Ljava/lang/String;J)Landroid/app/Activity;"),
|
||||||
_JSTRING(d->apk_main_activity_class), _INTPTR(window));
|
_JSTRING(d->apk_main_activity_class), _INTPTR(window));
|
||||||
if((*env)->ExceptionCheck(env))
|
if((*env)->ExceptionCheck(env))
|
||||||
(*env)->ExceptionDescribe(env);
|
(*env)->ExceptionDescribe(env);
|
||||||
|
|||||||
Reference in New Issue
Block a user