Details
-
User Story
-
Resolution: Unresolved
-
P1: Critical
-
None
-
None
-
None
Description
What
The API currently does not allow users to register signal listeners until the QQuickView is fully loaded. This is a limitation that makes usage of the API more complex for no reason.
Adding this early-registration feature would allow the users to initialize their views once and be done with it, rather than having to implement the onStatusChangeListener for the QtQuickView, and then handling the signals separately there, allowing for much better code quality, maintainability and user experience, in user projects.
Why
User experience, usability, maintainability of user projects.
In usecases where the Android UI thread may be under heavy load, very early signal emits are missed completely by the current implementation. See QTBUG-137025.
How
Options:
-
- Modify QtQuickViewContent to initialize the underlying QQuickView* data object when QtQuickViewContent itself is initialized.
- For registrations that happen before the QQuickView is done loading, register a slot, connecting it with QQuickView::statusChanged, where these signals are then plumbed correctly to Java.
- For registrations that happen after QQuickView is ready, bypass the queuing portion.
- Up to the dev, if there is a better option.