From d2b0a345ab65eca43d9b6c3b3b0020abb8b115e7 Mon Sep 17 00:00:00 2001 From: Tobias Koenig Date: Fri, 8 Feb 2013 13:35:28 +0100 Subject: [PATCH] Blackberry: Restart camera viewfinder after standby Listen to the CAMERA_STATUS_POWERUP signal, which is sent after standby, and trigger a restart of the viewfinder in this case. Change-Id: I426f23657844bb270ddfd0e4bfb35880040aa583 Reviewed-by: Thomas McGuire --- src/plugins/blackberry/camera/bbcamerasession.cpp | 9 +++++++++ src/plugins/blackberry/camera/bbcamerasession.h | 1 + 2 files changed, 10 insertions(+) diff --git a/src/plugins/blackberry/camera/bbcamerasession.cpp b/src/plugins/blackberry/camera/bbcamerasession.cpp index 9956bd00..be352b19 100644 --- a/src/plugins/blackberry/camera/bbcamerasession.cpp +++ b/src/plugins/blackberry/camera/bbcamerasession.cpp @@ -924,6 +924,12 @@ void BbCameraSession::deviceOrientationChanged(int angle) camera_set_device_orientation(m_handle, angle); } +void BbCameraSession::handleCameraPowerUp() +{ + stopViewFinder(); + startViewFinder(); +} + bool BbCameraSession::openCamera() { if (m_handle != CAMERA_HANDLE_INVALID) // camera is already open @@ -1011,6 +1017,9 @@ static void viewFinderStatusCallback(camera_handle_t handle, camera_devstatus_t if (status == CAMERA_STATUS_FOCUS_CHANGE) { BbCameraSession *session = static_cast(context); QMetaObject::invokeMethod(session, "handleFocusStatusChanged", Qt::QueuedConnection, Q_ARG(int, value)); + } else if (status == CAMERA_STATUS_POWERUP) { + BbCameraSession *session = static_cast(context); + QMetaObject::invokeMethod(session, "handleCameraPowerUp", Qt::QueuedConnection); } } diff --git a/src/plugins/blackberry/camera/bbcamerasession.h b/src/plugins/blackberry/camera/bbcamerasession.h index 647e324d..15126eed 100644 --- a/src/plugins/blackberry/camera/bbcamerasession.h +++ b/src/plugins/blackberry/camera/bbcamerasession.h @@ -177,6 +177,7 @@ private slots: void handleVideoRecordingPaused(); void handleVideoRecordingResumed(); void deviceOrientationChanged(int); + void handleCameraPowerUp(); private: bool openCamera();