diff options
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()); |
