History

consolidated the OculusAcitivity into OCulusMobilieAcitivity to reduce amount of back and forth between super and base as well as remove reduntant calls to native. Moved setcontentView on the native callback becuase it was blocking QtActivity from finishing its initialization

amerhifi committed 7 years ago

Commit e6366ea1 parent e8a35c66 files · +119 −30Browse files

Showing the changes to android/apps/questInterface/src/main/cpp/native.cpp (1 of 6 files). Show all

Unified · Split

android/apps/questInterface/src/main/cpp/native.cpp+35−16
@@ -37,47 +37,66 @@ void initOculusPlatform(JNIEnv* env, jobject obj) { · 36 unmodified lines
37 });37 });
38}38}
39 39
40void getClassName(JNIEnv *env, jobject obj){
41 jclass cls = env->GetObjectClass(obj);
42 jmethodID mid = env->GetMethodID(cls,"getClass", "()Ljava/lang/Class;");
43 jobject clsObj = env->CallObjectMethod(obj, mid);
44
45 cls= env->GetObjectClass(clsObj);
46
47 mid= env->GetMethodID(cls, "getName", "()Ljava/lang/String;");
48
49 jstring strObj = (jstring) env->CallObjectMethod(clsObj, mid);
50
51 const char* str = env->GetStringUTFChars(strObj, NULL);
52
53 __android_log_print(ANDROID_LOG_ERROR,__FUNCTION__, "Native Class call: %s",str);
54
55 env->ReleaseStringUTFChars(strObj, str);
56}
57
58
40extern "C" {59extern "C" {
41 JNIEXPORT void JNICALL60 JNIEXPORT void JNICALL
42 Java_io_highfidelity_questInterface_QuestActivity_nativeInitOculusPlatform(JNIEnv *env, jobject obj){61 Java_io_highfidelity_oculus_OculusMobileActivity_nativeInitOculusPlatform(JNIEnv *env, jobject obj){
43 initOculusPlatform(env, obj);62 initOculusPlatform(env, obj);
44 }63 }
45QAndroidJniObject __interfaceActivity;64QAndroidJniObject __interfaceActivity;
46 JNIEXPORT void JNICALL65 JNIEXPORT void JNICALL
47 Java_io_highfidelity_questInterface_QuestActivity_questNativeOnCreate(JNIEnv *env, jobject obj) {66 Java_io_highfidelity_oculus_OculusMobileActivity_questNativeOnCreate(JNIEnv *env, jobject obj) {
48 __android_log_print(ANDROID_LOG_WARN, "QQQ","questNativeOnCreate called");67 __android_log_print(ANDROID_LOG_INFO, "QQQ", __FUNCTION__);
49 initOculusPlatform(env, obj);68 initOculusPlatform(env, obj);
50 __interfaceActivity = QAndroidJniObject (obj);69 getClassName(env, obj);
51 QObject::connect(&AndroidHelper::instance(), &AndroidHelper::qtAppLoadComplete, []() {
52
53 70
54 QObject::connect(&AndroidHelper::instance(), &AndroidHelper::qtAppLoadComplete, []() {71 qRegisterMetaType<QAndroidJniObject>("QAndroidJniObject");
55 __interfaceActivity.callMethod<void>("onAppLoadedComplete", "()V");72 __interfaceActivity = QAndroidJniObject(obj);
56 73
57 QObject::disconnect(&AndroidHelper::instance(), &AndroidHelper::qtAppLoadComplete, nullptr,74 QObject::connect(&AndroidHelper::instance(), &AndroidHelper::qtAppLoadComplete, []() {
58 nullptr);75 __interfaceActivity.callMethod<void>("onAppLoadedComplete", "()V");
59 });
60 76
61 QObject::disconnect(&AndroidHelper::instance(), &AndroidHelper::qtAppLoadComplete,77 QObject::disconnect(&AndroidHelper::instance(), &AndroidHelper::qtAppLoadComplete,
62 nullptr, nullptr);78 nullptr,
79 nullptr);
63 });80 });
64 }81 }
65 82
66JNIEXPORT void Java_io_highfidelity_questInterface_QuestActivity_questOnAppAfterLoad(JNIEnv* env, jobject obj) {83
84
85JNIEXPORT void Java_io_highfidelity_oculus_OculusMobileActivity_questOnAppAfterLoad(JNIEnv* env, jobject obj) {
67 AndroidHelper::instance().moveToThread(qApp->thread());86 AndroidHelper::instance().moveToThread(qApp->thread());
68}87}
69 88
70 JNIEXPORT void JNICALL89 JNIEXPORT void JNICALL
71 Java_io_highfidelity_questInterface_QuestActivity_questNativeOnDestroy(JNIEnv *env, jobject obj) {90 Java_io_highfidelity_oculus_OculusMobileActivity_questNativeOnDestroy(JNIEnv *env, jobject obj) {
72 }91 }
73 92
74 JNIEXPORT void JNICALL93 JNIEXPORT void JNICALL
75 Java_io_highfidelity_questInterface_QuestActivity_questNativeOnPause(JNIEnv *env, jobject obj) {94 Java_io_highfidelity_oculus_OculusMobileActivity_questNativeOnPause(JNIEnv *env, jobject obj) {
76 AndroidHelper::instance().notifyEnterBackground();95 AndroidHelper::instance().notifyEnterBackground();
77 }96 }
78 97
79 JNIEXPORT void JNICALL98 JNIEXPORT void JNICALL
80 Java_io_highfidelity_questInterface_QuestActivity_questNativeOnResume(JNIEnv *env, jobject obj) {99 Java_io_highfidelity_oculus_OculusMobileActivity_questNativeOnResume(JNIEnv *env, jobject obj) {
81 AndroidHelper::instance().notifyEnterForeground();100 AndroidHelper::instance().notifyEnterForeground();
82 }101 }
83 102