summaryrefslogtreecommitdiffstats
path: root/src/multimedia/platform/android/audio/qopenslesaudioinput.cpp
diff options
context:
space:
mode:
authorAssam Boudjelthia <assam.boudjelthia@qt.io>2021-05-06 16:46:37 +0300
committerLars Knoll <lars.knoll@qt.io>2021-05-18 07:53:16 +0000
commit4a2d272886eeb4f61c4830dbe1f3a0421d167fda (patch)
tree1c716a61809b49dfc93abbf85ad3bb76e3819768 /src/multimedia/platform/android/audio/qopenslesaudioinput.cpp
parent9c3be78dacfad5817fba1afa8bba44b1c05652d2 (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.cpp27
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;
}