From ac8a39c416a5037ca253919fa61a08b4c501906c Mon Sep 17 00:00:00 2001 From: Assam Boudjelthia Date: Wed, 3 May 2023 16:53:19 +0300 Subject: [PATCH] Android: fix content url handling of filenames with spaces The Android APIs expect the content url filenames to have percent encoded spaces, so handle that internally, if missing, under the content file engine. Fixes: QTBUG-112663 Pick-to: 6.5 6.2 5.15 Change-Id: Ieb2ee41a2587f985b589ca54b88f1cff89992154 Reviewed-by: Ville Voutilainen --- src/plugins/platforms/android/androidcontentfileengine.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/plugins/platforms/android/androidcontentfileengine.cpp b/src/plugins/platforms/android/androidcontentfileengine.cpp index 64868900189..ed2238c87cb 100644 --- a/src/plugins/platforms/android/androidcontentfileengine.cpp +++ b/src/plugins/platforms/android/androidcontentfileengine.cpp @@ -593,10 +593,14 @@ DocumentFile::DocumentFile(const QJniObject &uri, QJniObject parseUri(const QString &uri) { + QString uriToParse = uri; + if (uriToParse.contains(' ')) + uriToParse.replace(' ', QUrl::toPercentEncoding(" ")); + return QJniObject::callStaticMethod( QtJniTypes::className(), "parse", - QJniObject::fromString(uri).object()); + QJniObject::fromString(uriToParse).object()); } DocumentFilePtr DocumentFile::parseFromAnyUri(const QString &fileName)