Explorar o código

Fix Directory.dir_exist/get_current_dir for 'res://' on Android

Fix #7014

(cherry picked from commit 8d454ed9a7105bf1a4c19c238a0e904f220c1bb5)
volzhs %!s(int64=9) %!d(string=hai) anos
pai
achega
3e127ce3fd

+ 2 - 2
platform/android/dir_access_jandroid.cpp

@@ -154,7 +154,7 @@ Error DirAccessJAndroid::change_dir(String p_dir){
 
 String DirAccessJAndroid::get_current_dir(){
 
-	return "/"+current_dir;
+	return "res://"+current_dir;
 }
 
 bool DirAccessJAndroid::file_exists(String p_file){
@@ -268,6 +268,6 @@ DirAccessJAndroid::DirAccessJAndroid() {
 
 DirAccessJAndroid::~DirAccessJAndroid() {
 
-	list_dir_end();;
+	list_dir_end();
 }
 #endif

+ 5 - 0
platform/android/java/src/org/godotengine/godot/GodotIO.java

@@ -288,6 +288,11 @@ public class GodotIO {
 
 		try {
 			ad.files = am.list(path);
+			// no way to find path is directory or file exactly.
+			// but if ad.files.length==0, then it's an empty directory or file.
+			if (ad.files.length==0) {
+				return -1;
+			}
 		} catch (IOException e) {
 
 			System.out.printf("Exception on dir_open: %s\n",e);