diff options
Diffstat (limited to 'src/plugins/platforms/android/androidcontentfileengine.cpp')
-rw-r--r-- | src/plugins/platforms/android/androidcontentfileengine.cpp | 11 |
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; } |