diff --git a/contrib/mobile/Android/AndroidManifest.xml b/contrib/mobile/Android/AndroidManifest.xml index ce2626134e71902aed35b489a5bac80c64886a80..0af6f2aa88482fe31c98e60bb4b865b141714771 100644 --- a/contrib/mobile/Android/AndroidManifest.xml +++ b/contrib/mobile/Android/AndroidManifest.xml @@ -20,13 +20,14 @@ <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> - <intent-filter > - <action android:name="android.intent.action.MAIN" /> - <category android:name="android.intent.category.DEFAULT" /> - <category android:name="android.intent.category.BROWSABLE" /> - <data android:scheme="*" android:host="*" android:pathPattern=".*\\.geo" android:mimeType="text/plain" /> - </intent-filter> + <intent-filter> + <action android:name="android.intent.action.VIEW" /> + <category android:name="android.intent.category.DEFAULT" /> + <data android:scheme="file" android:host="*" android:pathPattern=".*\\.msh" android:mimeType="*/*" /> + <data android:scheme="file" android:host="*" android:pathPattern=".*\\.geo" android:mimeType="*/*" /> + <data android:scheme="file" android:host="*" android:pathPattern=".*\\.pro" android:mimeType="*/*" /> + </intent-filter> </activity> </application> -</manifest> \ No newline at end of file +</manifest> diff --git a/contrib/mobile/Android/src/org/geuz/onelab/MainActivity.java b/contrib/mobile/Android/src/org/geuz/onelab/MainActivity.java index 885845d0eea08ffe3b5f637e8b3069aaa5404a86..16cac2cb832176c402326d6af84a228bbf063e97 100644 --- a/contrib/mobile/Android/src/org/geuz/onelab/MainActivity.java +++ b/contrib/mobile/Android/src/org/geuz/onelab/MainActivity.java @@ -92,16 +92,22 @@ public class MainActivity extends Activity { pager.setCurrentItem(0); layout.addView(pager); dialogBuilder = new AlertDialog.Builder(this); + + Intent intent = getIntent(); gmsh = new Gmsh("", mainHandler); modelList = new Models(); getModels(); loadNative(); - if(modelList.size() > 0){ + if(intent.getAction().equals(Intent.ACTION_VIEW)) { + String tmp = intent.getData().getPath(); + gmsh.load(tmp); + } + else if(modelList.size() > 0){ model = 0; String tmp = getFilesDir()+ "/" + modelList.getFile(model); gmsh.load(tmp); - } + } setContentView(layout); } diff --git a/contrib/mobile/androidGModel.cpp b/contrib/mobile/androidGModel.cpp index 8f3ebb23f37d547d1fe0a41da1390648fb098ade..41f84f6ec5108f115da0361d7a81f7914f8df6a5 100644 --- a/contrib/mobile/androidGModel.cpp +++ b/contrib/mobile/androidGModel.cpp @@ -48,6 +48,8 @@ class MobileMessage : public GmshMessage env->CallVoidMethod(gCallbackObject, mid, jstr); env->DeleteLocalRef(jstr); env->DeleteLocalRef(jClass); + LOGE("%s", message.c_str()); + return; } else if(level == "Progress") { @@ -67,6 +69,7 @@ class MobileMessage : public GmshMessage env->CallVoidMethod(gCallbackObject, mid, jstr); env->DeleteLocalRef(jstr); env->DeleteLocalRef(jClass); + return; } else if(level == "RequestRender") {