mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-04 00:49:02 -06:00 
			
		
		
		
	android: fs: Fix Exists / IsFile for SAF.
This commit is contained in:
		@@ -19,6 +19,8 @@ import org.yuzu.yuzu_emu.activities.EmulationActivity
 | 
			
		||||
import org.yuzu.yuzu_emu.utils.DocumentsTree.Companion.isNativePath
 | 
			
		||||
import org.yuzu.yuzu_emu.utils.FileUtil.getFileSize
 | 
			
		||||
import org.yuzu.yuzu_emu.utils.FileUtil.openContentUri
 | 
			
		||||
import org.yuzu.yuzu_emu.utils.FileUtil.exists
 | 
			
		||||
import org.yuzu.yuzu_emu.utils.FileUtil.isDirectory
 | 
			
		||||
import org.yuzu.yuzu_emu.utils.Log.error
 | 
			
		||||
import org.yuzu.yuzu_emu.utils.Log.verbose
 | 
			
		||||
import org.yuzu.yuzu_emu.utils.Log.warning
 | 
			
		||||
@@ -85,6 +87,22 @@ object NativeLibrary {
 | 
			
		||||
        } else getFileSize(appContext, path)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Keep
 | 
			
		||||
    @JvmStatic
 | 
			
		||||
    fun exists(path: String?): Boolean {
 | 
			
		||||
        return if (isNativePath(path!!)) {
 | 
			
		||||
            YuzuApplication.documentsTree!!.exists(path)
 | 
			
		||||
        } else exists(appContext, path)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Keep
 | 
			
		||||
    @JvmStatic
 | 
			
		||||
    fun isDirectory(path: String?): Boolean {
 | 
			
		||||
        return if (isNativePath(path!!)) {
 | 
			
		||||
            YuzuApplication.documentsTree!!.isDirectory(path)
 | 
			
		||||
        } else isDirectory(appContext, path)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Returns true if pro controller isn't available and handheld is
 | 
			
		||||
     */
 | 
			
		||||
 
 | 
			
		||||
@@ -36,6 +36,11 @@ class DocumentsTree {
 | 
			
		||||
        return resolvePath(filepath) != null
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fun isDirectory(filepath: String): Boolean {
 | 
			
		||||
        val node = resolvePath(filepath)
 | 
			
		||||
        return node != null && node.isDirectory
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private fun resolvePath(filepath: String): DocumentsNode? {
 | 
			
		||||
        val tokens = StringTokenizer(filepath, File.separator, false)
 | 
			
		||||
        var iterator = root
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user