diff options
| author | JosJuice <josjuice@gmail.com> | 2020-06-27 11:04:48 +0200 |
|---|---|---|
| committer | JosJuice <josjuice@gmail.com> | 2020-09-16 18:38:53 +0200 |
| commit | 3805b84906b7994486c1b13eb49f93b2796a9a11 (patch) | |
| tree | e6a328653b76ead16ca9c2fa04bca155d32e8fe1 /Source/Core/Common/FileUtil.cpp | |
| parent | 6e1e6d2311df787e800be199df369b5d12aa6cae (diff) | |
Android: Add content provider support to File::Delete
Diffstat (limited to 'Source/Core/Common/FileUtil.cpp')
| -rw-r--r-- | Source/Core/Common/FileUtil.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/Source/Core/Common/FileUtil.cpp b/Source/Core/Common/FileUtil.cpp index b3efa6b868..3c524ed9d8 100644 --- a/Source/Core/Common/FileUtil.cpp +++ b/Source/Core/Common/FileUtil.cpp @@ -46,6 +46,11 @@ #include <sys/param.h> #endif +#ifdef ANDROID +#include "Common/StringUtil.h" +#include "jni/AndroidCommon/AndroidCommon.h" +#endif + #ifndef S_ISDIR #define S_ISDIR(m) (((m)&S_IFMT) == S_IFDIR) #endif @@ -132,10 +137,19 @@ bool Delete(const std::string& filename) { INFO_LOG(COMMON, "Delete: file %s", filename.c_str()); +#ifdef ANDROID + if (StringBeginsWith(filename, "content://")) + { + const bool success = DeleteAndroidContent(filename); + if (!success) + WARN_LOG(COMMON, "Delete failed on %s", filename.c_str()); + return success; + } +#endif + const FileInfo file_info(filename); - // Return true because we care about the file no - // being there, not the actual delete. + // Return true because we care about the file not being there, not the actual delete. if (!file_info.Exists()) { WARN_LOG(COMMON, "Delete: %s does not exist", filename.c_str()); |
