From 49bf444b44dac10602af0af862f0951835ea5895 Mon Sep 17 00:00:00 2001 From: Val Doroshchuk Date: Fri, 15 Nov 2019 10:47:17 +0100 Subject: Android: Remove usage of qt_androidRequestPermission Use specific function instead, e.g. qt_androidRequestCameraPermission. Change-Id: I925e4d8ac4f1993c073930a79453894dd516d769 Reviewed-by: Volker Hilsheimer --- .../android/src/common/qandroidmultimediautils.cpp | 9 +++++++-- src/plugins/android/src/common/qandroidmultimediautils.h | 2 +- .../android/src/mediacapture/qandroidcamerasession.cpp | 2 +- src/plugins/android/src/wrappers/jni/androidcamera.cpp | 15 ++++----------- 4 files changed, 13 insertions(+), 15 deletions(-) diff --git a/src/plugins/android/src/common/qandroidmultimediautils.cpp b/src/plugins/android/src/common/qandroidmultimediautils.cpp index fa6e7da65..1f03d5d29 100644 --- a/src/plugins/android/src/common/qandroidmultimediautils.cpp +++ b/src/plugins/android/src/common/qandroidmultimediautils.cpp @@ -113,7 +113,7 @@ AndroidCamera::ImageFormat qt_androidImageFormatFromPixelFormat(QVideoFrame::Pix } } -bool qt_androidRequestPermission(const QString &key) +static bool androidRequestPermission(const QString &key) { using namespace QtAndroidPrivate; @@ -139,9 +139,14 @@ bool qt_androidRequestPermission(const QString &key) return true; } +bool qt_androidRequestCameraPermission() +{ + return androidRequestPermission(QLatin1String("android.permission.CAMERA")); +} + bool qt_androidRequestRecordingPermission() { - return qt_androidRequestPermission(QLatin1String("android.permission.RECORD_AUDIO")); + return androidRequestPermission(QLatin1String("android.permission.RECORD_AUDIO")); } QT_END_NAMESPACE diff --git a/src/plugins/android/src/common/qandroidmultimediautils.h b/src/plugins/android/src/common/qandroidmultimediautils.h index bbd2e9aa5..381671cb8 100644 --- a/src/plugins/android/src/common/qandroidmultimediautils.h +++ b/src/plugins/android/src/common/qandroidmultimediautils.h @@ -55,7 +55,7 @@ bool qt_sizeLessThan(const QSize &s1, const QSize &s2); QVideoFrame::PixelFormat qt_pixelFormatFromAndroidImageFormat(AndroidCamera::ImageFormat f); AndroidCamera::ImageFormat qt_androidImageFormatFromPixelFormat(QVideoFrame::PixelFormat f); -bool qt_androidRequestPermission(const QString &key); +bool qt_androidRequestCameraPermission(); bool qt_androidRequestRecordingPermission(); QT_END_NAMESPACE diff --git a/src/plugins/android/src/mediacapture/qandroidcamerasession.cpp b/src/plugins/android/src/mediacapture/qandroidcamerasession.cpp index 9de3330c7..f3ad84836 100644 --- a/src/plugins/android/src/mediacapture/qandroidcamerasession.cpp +++ b/src/plugins/android/src/mediacapture/qandroidcamerasession.cpp @@ -184,7 +184,7 @@ bool QAndroidCameraSession::open() m_status = QCamera::LoadingStatus; emit statusChanged(m_status); - m_camera = AndroidCamera::requestCameraPermission() ? AndroidCamera::open(m_selectedCamera) : nullptr; + m_camera = AndroidCamera::open(m_selectedCamera); if (m_camera) { connect(m_camera, SIGNAL(pictureExposed()), this, SLOT(onCameraPictureExposed())); diff --git a/src/plugins/android/src/wrappers/jni/androidcamera.cpp b/src/plugins/android/src/wrappers/jni/androidcamera.cpp index 2f32fb742..3ea7bc773 100644 --- a/src/plugins/android/src/wrappers/jni/androidcamera.cpp +++ b/src/plugins/android/src/wrappers/jni/androidcamera.cpp @@ -58,11 +58,6 @@ QT_BEGIN_NAMESPACE static const char QtCameraListenerClassName[] = "org/qtproject/qt5/android/multimedia/QtCameraListener"; -static QString cameraPermissionKey() -{ - return QStringLiteral("android.permission.CAMERA"); -} - typedef QHash CameraMap; Q_GLOBAL_STATIC(CameraMap, cameras) Q_GLOBAL_STATIC(QReadWriteLock, rwLock) @@ -324,6 +319,9 @@ AndroidCamera::~AndroidCamera() AndroidCamera *AndroidCamera::open(int cameraId) { + if (!qt_androidRequestCameraPermission()) + return nullptr; + AndroidCameraPrivate *d = new AndroidCameraPrivate(); QThread *worker = new QThread; worker->start(); @@ -764,7 +762,7 @@ QJNIObjectPrivate AndroidCamera::getCameraObject() int AndroidCamera::getNumberOfCameras() { - if (!requestCameraPermission()) + if (!qt_androidRequestCameraPermission()) return 0; return QJNIObjectPrivate::callStaticMethod("android/hardware/Camera", @@ -801,11 +799,6 @@ void AndroidCamera::getCameraInfo(int id, AndroidCameraInfo *info) } } -bool AndroidCamera::requestCameraPermission() -{ - return qt_androidRequestPermission(cameraPermissionKey()); -} - void AndroidCamera::startPreview() { Q_D(AndroidCamera); -- cgit v1.2.3