diff --git a/src/app/applicationcontroller.cpp b/src/app/applicationcontroller.cpp --- a/src/app/applicationcontroller.cpp +++ b/src/app/applicationcontroller.cpp @@ -59,8 +59,16 @@ ApplicationController::instance()->importData(env->GetStringUTFChars(data, 0)); } +static void importFromIntent(JNIEnv *env, jobject that, jobject data) +{ + Q_UNUSED(that); + Q_UNUSED(env) + ApplicationController::instance()->importFromIntent(data); +} + static const JNINativeMethod methods[] = { - {"importReservation", "(Ljava/lang/String;)V", (void*)importReservation} + {"importReservation", "(Ljava/lang/String;)V", (void*)importReservation}, + {"importFromIntent", "(Landroid/content/Intent;)V", (void*)importFromIntent} }; Q_DECL_EXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void*) diff --git a/src/app/src/org/kde/itinerary/Activity.java b/src/app/src/org/kde/itinerary/Activity.java --- a/src/app/src/org/kde/itinerary/Activity.java +++ b/src/app/src/org/kde/itinerary/Activity.java @@ -73,6 +73,7 @@ } public native void importReservation(String data); + public native void importFromIntent(Intent data); /** Check the calendar for with JSON-LD data. * This assumes the custom property serialization format used by DavDroid. @@ -128,4 +129,10 @@ } }); } + + @Override + protected void onNewIntent(Intent intent) { + super.onNewIntent(intent); + importFromIntent(intent); + } }