summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/android/androidcontentfileengine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/android/androidcontentfileengine.cpp')
-rw-r--r--src/plugins/platforms/android/androidcontentfileengine.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/plugins/platforms/android/androidcontentfileengine.cpp b/src/plugins/platforms/android/androidcontentfileengine.cpp
index bdbf2186ba..749ce136b6 100644
--- a/src/plugins/platforms/android/androidcontentfileengine.cpp
+++ b/src/plugins/platforms/android/androidcontentfileengine.cpp
@@ -103,10 +103,17 @@ AndroidContentFileEngine::FileFlags AndroidContentFileEngine::fileFlags(FileFlag
QJNIObjectPrivate::fromString(fileName(DefaultName)).object());
if (!exists && !isDir)
return flags;
- if (isDir)
+ if (isDir) {
flags = DirectoryType | commonFlags;
- else
+ } else {
flags = FileType | commonFlags;
+ const bool writable = QJNIObjectPrivate::callStaticMethod<jboolean>(
+ "org/qtproject/qt/android/QtNative", "checkIfWritable",
+ "(Landroid/content/Context;Ljava/lang/String;)Z", QtAndroidPrivate::context(),
+ QJNIObjectPrivate::fromString(fileName(DefaultName)).object());
+ if (writable)
+ flags |= WriteOwnerPerm|WriteUserPerm|WriteGroupPerm|WriteOtherPerm;
+ }
return type & flags;
}