X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=shared%2Fexecute-process-android.cpp;h=2b9124199402c1c8518760034d8e7c01189ae68d;hb=8ecebe1aa6ffae1de829c9cf65946c5898f1496f;hp=d042a55a636054e352581248ba46b0a6d7036288;hpb=e20235049b9916dab114ea6e02da2e3bca637ae8;p=platform%2Fcore%2Fuifw%2Fdali-demo.git diff --git a/shared/execute-process-android.cpp b/shared/execute-process-android.cpp index d042a55..2b91241 100644 --- a/shared/execute-process-android.cpp +++ b/shared/execute-process-android.cpp @@ -21,28 +21,23 @@ // EXTERNAL INCLUDES #include #include + #include +#include +#include + +#include +#include void ExecuteProcess( const std::string& processName, Dali::Application& application ) { - std::stringstream stream; - stream << "am start -a android.intent.action.MAIN -n com.sec.dalidemo/.DaliDemoNativeActivity --user 0 --es start " << processName.c_str(); - pid_t parentPID = getpid(); - - pid_t pid = fork(); - if( pid == 0 ) + struct android_app* nativeApp = Dali::Integration::AndroidFramework::Get().GetNativeApplication(); + if (!nativeApp) { - do - { - sleep( 1 ); - } - while( kill( parentPID, 0 ) == 0 ); - - system( stream.str().c_str() ); - exit( 0 ); - } - else - { - application.Quit(); + DALI_LOG_ERROR("Couldn't get native app."); + return; } + + DaliDemoNativeActivity nativeActivity(nativeApp->activity); + nativeActivity.LaunchExample(processName); }