From 21782bdc048a76a8b3f85f7633741f565312f1b6 Mon Sep 17 00:00:00 2001 From: Giuseppe D'Angelo Date: Mon, 19 Jul 2021 18:23:19 +0200 Subject: [PATCH] Android: stop making throwing promises MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit No Qt API throws exceptions, ever. Kill the throwing paths, leaving the normal paths in which a permission request is denied. Pick-to: 6.2 Change-Id: I6bebaf155c5232444bf5014e25e9c469d5dccfa6 Reviewed-by: Edward Welbourne Reviewed-by: Assam Boudjelthia Reviewed-by: MÃ¥rten Nordheim --- .../kernel/qcoreapplication_android.cpp | 26 +------------------ 1 file changed, 1 insertion(+), 25 deletions(-) diff --git a/src/corelib/kernel/qcoreapplication_android.cpp b/src/corelib/kernel/qcoreapplication_android.cpp index f44b202475..671db805e3 100644 --- a/src/corelib/kernel/qcoreapplication_android.cpp +++ b/src/corelib/kernel/qcoreapplication_android.cpp @@ -53,12 +53,6 @@ QT_BEGIN_NAMESPACE static const char qtNativeClassName[] = "org/qtproject/qt/android/QtNative"; -#ifndef QT_NO_EXCEPTIONS -static const char emptyPermissionExcept[] = "The permission cannot be an empty string."; -static const char invalidNativePermissionExcept[] = - "Coudn't convert the provided permission type to a native Android permission string."; -#endif - QApplicationPermission::PermissionResult resultFromAndroid(jint value) { return value == 0 ? QApplicationPermission::Authorized : QApplicationPermission::Denied; @@ -208,11 +202,7 @@ QCoreApplicationPrivate::requestPermission(const QString &permission) QPromise promise; QFuture future = promise.future(); promise.start(); -#ifndef QT_NO_EXCEPTIONS - promise.setException(std::make_exception_ptr(std::runtime_error(emptyPermissionExcept))); -#else promise.addResult(QApplicationPermission::Denied); -#endif promise.finish(); return future; } @@ -251,12 +241,7 @@ QCoreApplicationPrivate::requestPermission(QApplicationPermission::PermissionTyp return future; } -#ifndef QT_NO_EXCEPTIONS - promise->setException(std::make_exception_ptr( - std::runtime_error(invalidNativePermissionExcept))); -#else - promise.addResult(QApplicationPermission::Denied); -#endif + promise->addResult(QApplicationPermission::Denied); promise->finish(); return future; } @@ -275,11 +260,7 @@ QCoreApplicationPrivate::checkPermission(const QString &permission) QJniObject::fromString(permission).object()); promise.addResult(resultFromAndroid(res)); } else { -#ifndef QT_NO_EXCEPTIONS - promise.setException(std::make_exception_ptr(std::runtime_error(emptyPermissionExcept))); -#else promise.addResult(QApplicationPermission::Denied); -#endif } promise.finish(); @@ -297,12 +278,7 @@ QCoreApplicationPrivate::checkPermission(QApplicationPermission::PermissionType QPromise promise; QFuture future = promise.future(); promise.start(); -#ifndef QT_NO_EXCEPTIONS - promise.setException(std::make_exception_ptr( - std::runtime_error(invalidNativePermissionExcept))); -#else promise.addResult(QApplicationPermission::Denied); -#endif promise.finish(); return future; }