android: fs: Fix Exists / IsFile for SAF.
This commit is contained in:
parent
3c217a5574
commit
5384fa4998
4 changed files with 54 additions and 1 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue