diff options
author | Assam Boudjelthia <assam.boudjelthia@qt.io> | 2021-05-06 16:46:37 +0300 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2021-05-18 07:53:16 +0000 |
commit | 4a2d272886eeb4f61c4830dbe1f3a0421d167fda (patch) | |
tree | 1c716a61809b49dfc93abbf85ad3bb76e3819768 /src/multimedia/platform/android/audio/qopenslesaudioinput.cpp | |
parent | 9c3be78dacfad5817fba1afa8bba44b1c05652d2 (diff) |
Android: Use public Jni APIs as possible
* Update usage of JNI APIs (QJniObject, QJniEnvironment)
* Avoid usage of QtAndroidPrivate as possible by using QNativeInterface
Some instances still use native JNI APIs, because they don't yet have an
alternative with the Qt public APIs, those can be fixed later.
Task-number: QTBUG-93800
Change-Id: Iae0f18ef450c11a0f93133d948e78dc013c7ff3b
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/multimedia/platform/android/audio/qopenslesaudioinput.cpp')
-rw-r--r-- | src/multimedia/platform/android/audio/qopenslesaudioinput.cpp | 27 |
1 files changed, 9 insertions, 18 deletions
diff --git a/src/multimedia/platform/android/audio/qopenslesaudioinput.cpp b/src/multimedia/platform/android/audio/qopenslesaudioinput.cpp index ecd4e2140..e0845a129 100644 --- a/src/multimedia/platform/android/audio/qopenslesaudioinput.cpp +++ b/src/multimedia/platform/android/audio/qopenslesaudioinput.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Toolkit. @@ -40,14 +40,13 @@ #include "qopenslesaudioinput_p.h" #include "qopenslesengine_p.h" -#include <qbuffer.h> #include <private/qaudiohelpers_p.h> +#include <qbuffer.h> #include <qdebug.h> #ifdef ANDROID #include <SLES/OpenSLES_AndroidConfiguration.h> -#include <QtCore/private/qjnihelpers_p.h> -#include <QtCore/private/qjni_p.h> +#include <QtCore/qcoreapplication.h> #endif QT_BEGIN_NAMESPACE @@ -59,24 +58,16 @@ QT_BEGIN_NAMESPACE #ifdef ANDROID static bool hasRecordingPermission() { - using namespace QtAndroidPrivate; - if (androidSdkVersion() < 23) + if (QNativeInterface::QAndroidApplication::sdkVersion() < 23) return true; - const QString key(QLatin1String("android.permission.RECORD_AUDIO")); - PermissionsResult res = checkPermission(key); - if (res == PermissionsResult::Granted) // Permission already granted? + const QPermission::PermisionType key(QPermission::Microphone); + // Permission already granted? + if (QCoreApplication::checkPermission(key).result() == QPermission::Authorized) return true; - QJNIEnvironmentPrivate env; - const auto &results = requestPermissionsSync(env, QStringList() << key); - if (!results.contains(key)) { - qWarning("No permission found for key: %s", qPrintable(key)); - return false; - } - - if (results[key] == PermissionsResult::Denied) { - qDebug("%s - Permission denied by user!", qPrintable(key)); + if (QCoreApplication::requestPermission(key).result() != QPermission::Authorized) { + qDebug("Microphone permission denied by user!"); return false; } |