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
3737 });
3838 }
3939
40+void 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+
4059 extern "C" {
4160 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){
4362 initOculusPlatform(env, obj);
4463 }
4564 QAndroidJniObject __interfaceActivity;
4665 JNIEXPORT void JNICALL
47− Java_io_highfidelity_questInterface_QuestActivity_questNativeOnCreate(JNIEnv *env, jobject obj) {
48− __android_log_print(ANDROID_LOG_WARN, "QQQ","questNativeOnCreate called");
66+ Java_io_highfidelity_oculus_OculusMobileActivity_questNativeOnCreate(JNIEnv *env, jobject obj) {
67+ __android_log_print(ANDROID_LOG_INFO, "QQQ", __FUNCTION__);
4968 initOculusPlatform(env, obj);
50− __interfaceActivity = QAndroidJniObject (obj);
51− QObject::connect(&AndroidHelper::instance(), &AndroidHelper::qtAppLoadComplete, []() {
52−
69+ getClassName(env, obj);
5370
54− QObject::connect(&AndroidHelper::instance(), &AndroidHelper::qtAppLoadComplete, []() {
55− __interfaceActivity.callMethod<void>("onAppLoadedComplete", "()V");
71+ qRegisterMetaType<QAndroidJniObject>("QAndroidJniObject");
72+ __interfaceActivity = QAndroidJniObject(obj);
5673
57− QObject::disconnect(&AndroidHelper::instance(), &AndroidHelper::qtAppLoadComplete, nullptr,
58− nullptr);
59− });
74+ QObject::connect(&AndroidHelper::instance(), &AndroidHelper::qtAppLoadComplete, []() {
75+ __interfaceActivity.callMethod<void>("onAppLoadedComplete", "()V");
6076
6177 QObject::disconnect(&AndroidHelper::instance(), &AndroidHelper::qtAppLoadComplete,
62− nullptr, nullptr);
78+ nullptr,
79+ nullptr);
6380 });
6481 }
6582
66−JNIEXPORT void Java_io_highfidelity_questInterface_QuestActivity_questOnAppAfterLoad(JNIEnv* env, jobject obj) {
83+
84+
85+JNIEXPORT void Java_io_highfidelity_oculus_OculusMobileActivity_questOnAppAfterLoad(JNIEnv* env, jobject obj) {
6786 AndroidHelper::instance().moveToThread(qApp->thread());
6887 }
6988
7089 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) {
7291 }
7392
7493 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) {
7695 AndroidHelper::instance().notifyEnterBackground();
7796 }
7897
7998 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) {
81100 AndroidHelper::instance().notifyEnterForeground();
82101 }
83102