@@ -405,8 +405,8 @@ public void waitForResume() {
405
405
public static void setOpenFile (){
406
406
final android .content .Intent intent = mActivity .getIntent ();
407
407
if (intent != null ) {
408
- final android .net .Uri data = intent .getData ();
409
- if (data != null ){
408
+ final android .net .Uri data = intent .getData ();
409
+ if (data != null && data . getEncodedPath () != null ){
410
410
nativeSetEnv ("PYTHON_OPENFILE" , data .getEncodedPath ());
411
411
}
412
412
}
@@ -610,9 +610,8 @@ public void run() {
610
610
return ;
611
611
}
612
612
613
- Log .w (TAG , "Done" );
614
- waitForStart ();
615
- setOpenFile ();
613
+ Log .w (TAG , "Done" );
614
+ waitForStart ();
616
615
617
616
nativeResize (mWidth , mHeight );
618
617
nativeInitJavaCallbacks ();
@@ -621,6 +620,18 @@ public void run() {
621
620
nativeSetEnv ("PYTHONOPTIMIZE" , "2" );
622
621
nativeSetEnv ("PYTHONHOME" , mFilesDirectory );
623
622
nativeSetEnv ("PYTHONPATH" , mArgument + ":" + mFilesDirectory + "/lib" );
623
+
624
+ // XXX Using SetOpenFile make a crash in nativeSetEnv. I don't
625
+ // understand why, maybe because the method is static or something.
626
+ // Anyway, if you remove that part of the code, ensure the Laucher
627
+ // (ProjectChooser) is still working.
628
+ final android .content .Intent intent = mActivity .getIntent ();
629
+ if (intent != null ) {
630
+ final android .net .Uri data = intent .getData ();
631
+ if (data != null && data .getEncodedPath () != null )
632
+ nativeSetEnv ("PYTHON_OPENFILE" , data .getEncodedPath ());
633
+ }
634
+
624
635
nativeSetMultitouchUsed ();
625
636
nativeInit ();
626
637
0 commit comments