Details
-
Task
-
Resolution: Unresolved
-
P2: Important
-
None
-
6.9
-
None
Description
Currently when using QScreenCapture's backend class, QPlatformSurfaceCapture, we require that the platform-specific implementation has to return a success value immediately. See the virtual function QPlatformSurfaceCapture::setActiveInternal(bool). Based on this, the QPlatformSurfaceCapture will determine whether the QScreenCapture is marked as active or not.
On Android, it is not possible to determine whether screen capture can be started immediately. This is because Android will display a confirmation dialogue for every single capture request. So we can't know whether we were able to start the capture until the user has interacted with the UI.
The QPlatformSurfaceCapture::setActiveInternal(bool) should be refactored so that platform-implementations are allowed to signal the "active" property at a later time. This will require some minor changes in all current platform implementations.
Attachments
Gerrit Reviews
For Gerrit Dashboard: QTBUG-132407 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
613453,2 | QPlatformSurfaceCapture: Refactor to allow deferred active signal | dev | qt/qtmultimedia | Status: NEW | 0 | -1 |