Age | Commit message (Collapse) | Author | Files | Lines |
|
We seem to be missing one of the branches that searches for a pending
output to activate. This is only been seen when setting the application
from the start to a different output.
Anotehr oversight from gRPC proxy changes.
Fixes AglShellGrpcClient: Activate windows with gRPC
Bug-AGL: SPEC-5048
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I138b47915f5a532c8f7321f04b5e9daa7a63de64
|
|
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I8c5b3b4082927b2cb63c0b7afc921366907aef47
|
|
And start the gRPC client as soon as possible and just wait for
a connected status after we bounded to the agl-shell
extension/interface.
Bug-AGL: SPEC-4912
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I26da89dd6aaf1b5c2357d70dcaed7622c1892c31
|
|
We're no longer need it, so it would better to just remove it. We still
use the agl-shell for setting the wayland surfaces, but we don't use the
Shell object wrapper for that.
Bug-AGL: SPEC-4912
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I3776cd25e312f6ed128bbe14b187607f4b607541
|
|
In order to use HomescreenHandler we need to have a way to pass it, so
extend the callback mechanism to be able to pass other objects as well.
HomescreenHandler is the one that handles, indirectly, the activation
and that keeps track of the application status. We used in the direct
wayland event handler to we're going to re-use it as well.
Bug-AGL: SPEC-4912
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I6eae6a5c4e144f3024dfcad6e5e0a54a8fec78a6
|
|
This follow-ups in footsteps of flutter-homescreen to have activation
using gRPC. Note that setting up wayland surfaces is still need to
have the agl-shell protocol available. In Qt this is managed directly
by Qt/QPA while on other toolkits this happens at a lower level
(flutter-auto or chromium CEF).
With it, create a listening thread for gRRC events in order to perform
the initial start + activate sequence.
Bug-AGL: SPEC-4912
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I019d0e7944dde02c84b2841e22d3971f226d610a
|
|
Rather than presume that we always have a valid QScreen, add a couple of
check against an invalid ones and add a further check for testing
against remote (remoting, streaming type of outputs) and compose the
output with the one provided by the compositor, which is under
"connector-output_name", which for remoting type of outputs accounts to
"remoting-remote-X" where X is an natural number starting from 1.
This also removes a warning about unused native variable in the
HomeScreenHandler constructor.
Bug-AGL: SPEC-4897
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I1557065497c1172cf8a3e723cbac8b686ffcfead
|
|
|
|
Update usage of the VehicleSignals class from libqtappfw to work
with its changes to switch to using the KUKSA.val databroker.
Changes:
- Update set calls to use appropriate type for the signal.
- Remove authorized & disconnected signal handling, as they are
no-ops now.
Bug-AGL: SPEC-4762
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I84f9d8fa5f0c516b2f2953f8ab61797484270c95
|
|
The version of meson in kirkstone doesn't yet have the "version" method
in output of find_program(), only in dependency(). The previous change
was too aggressive requiring too newer version of meson than what is
available in kirkstone, so restore the compatibility back.
Bug-AGL: SPEC-4578
Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
Change-Id: I14bc5ce114f24d0fac85a4eddac34277e46970a8
|
|
Newer meson requires using get_variable(pkgconfig: ...) instead of
get_pkgconfig_variable() and results in this error:
| ../git/homescreen/meson.build:23: WARNING: Project targets '>= 0.60.0' but uses feature deprecated since '0.56.0': dependency.get_pkgconfig_variable. use dependency.get_variable(pkgconfig : ...) instead
Also, look for wayland-scanner program directly, instead of querying
pkgconfig, so it works properly with OE recipe-specific sysroot.
Bug-AGL: SPEC-4578
Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
Change-Id: I57abc17abea31883c9cc63419a0c2a868e262bba
|
|
Between different outputs. This works in connection with the
changes from the compositor.
Bug-AGL: SPEC-4673
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ia2842f40f39bd09dfb4781b52cc6750cd73fe0f5
|
|
Using the agl-shell protocol. This also needs a bump to version 8 of the
agl-shell protocol to be able to receive events.
Bug-AGL: SPEC-4529
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I2989ebc8eb36b8b1272782e5986017e9b557cab7
|
|
And, use by default, the single background surface. This keeps the
multiple surfaces on CI, to at least have some code that stress that
code in the compositor.
Bug-AGL: SPEC-4712
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I8f9ef17e39e829eff08c3608e405e1d9f85575d4
|
|
Rather than storing wl_output when creating a HomeScreenHandler object,
retrieve the output at activation. Presumably, we could use Screen and
from there get it but seems to be easier this way.
Re-plugging the connector back and forth would result in a stale wl_output,
so this would retrieve it always as the currently enabled/active one.
Bug-AGL: SPEC-4705
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Id54c1f253b094e196c6bd367c7419c0ec5860d5f
|
|
We've previously bumped the compositor to a newer version so we need to
do the same for the shell client as well.
Bug-AGL: SPEC-4705
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ie40e3acb21b9ee854e6cb79cc135e6ba8487c5ab
|
|
This is an example on how to use it, and it enables a new variable
HOMESCREEN_EMBEDDED_PANELS to test it out. It gives out the same
rectangle are we have in the homescreen demo, but the panels are this
time embedded into the background surface, rather than being a separate
surface.
This introduces a new Qml file, background_with_panels which integrates
both the top and the bottom panel into a single qml, which main.cpp
loads.
While at it, this corrects up the indentation we have in shell.cpp file
and sets up the default output in homeScreenHandler constructor.
Due to this way integrates and works, it should *not* be visual change
between the two (the normal, two panel surfaces) and this version.
It can used as a example how to integrate this better, when managing
multiple surfaces is not easy to be done by the toolkit or runtime.
Bug-AGL: SPEC-4594
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ibe274b336b15e9713d0cdded5424cc8e92257d7f
|
|
This change will basically make way for adding grpc/protobuf support
into homescreen, which turns out it's a pain to do with either qmake or
cmake. Eventually, we'll move all our demos to using meson, which have
gained a lot of support for building and support different technologies
to allow far more saner configurations to take place.
Based heavily on the work done by Scott Murray in libqtappfw,
in the applauncher module.
Bug-AGL: SPEC-4584
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Suggested-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Id64bf3d5b41912d32df7f78e94ab04d231bb0c83
|
|
This protocol update adds support for
started/terminated/activate/deactive events sent by the compositor.
With this change we remove support for agl-shell-desktop protocol and
instead rely on this new protocol update.
Bug-AGL: SPEC-4528
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I9eb2135c5331eea82635583e8ca7cdf4e41a3d5e
|
|
This adds support for version 2 of the protocol, but to also
provide an example for other clients how to use it.
Bug-AGL: SPEC-4502
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I710026bf293280d7aec2aa5d6e4528965840e23c
|
|
Changes:
- Switch to using the new app launcher API wrapper from libqtappfw
in order to migrate to the new gRPC based API implementation.
- The appStarted and appTerminated methods in HomescreenHandler have
been renamed to activateApp and deactivateApp, respectively, to
better reflect what they do. A new processAppStatusEvent method
had been added that calls them as appropriate based on the event
from the AppLauncherClient status update signal.
- The copyright headers in the source files have been tweaked to
remove the Apache license boilerplate in favour of a SPDX license
tag.
- The code in main.cpp that was not formatted with Linux-style has
been reformatted to match the rest of the file.
Bug-AGL: SPEC-4559
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I236cb6a412945a6df7d35652c55f664264964f9c
|
|
It might happen the system doesn't have any outputs connected, or there
are literally no outputs present in the system. Instead of crashing and
systemd trying always to start it up just make sure we handle that and
print out a message about what is going it.
Bug-AGL: SPEC-4459
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ia3dfab66e69ea36b2cf50fc0f6c1fd188a87e240
|
|
Update the volume control code to use to use VIS signalling instead
of the previous agl-service-audiomixer binding usage.
Bug-AGL: SPEC-4409
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Ifc622a51991110c7786b80ee0af574ed6ca80561
(cherry picked from commit e3b392b8a0767f35e6dbbdb1e9d126294aebdcb5)
|
|
If there's no item added in the QList we'll return an invalid value
pointing to some invalid memory, which we can not determine if its empty
string or not, so this makes sure we check the list itself.
Found when looking at removal/activation of surfaces while re-doing some
parts in the compositor.
Bug-AGL: SPEC-4263
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I912aa5a42a7d21374a389a7f193979f30504a83b
|
|
Re-enable the status bar Bluetooth and Wifi status monitoring via
the libqtappfw provided objects, and also hook up the currently
stubbed weather support so it'll start working if it is updated
in libqtappfw.
Bug-AGL: SPEC-4182
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I3aeb98dc01c0bc09550824f44bcb1d40f324e49e
|
|
Currently, we have no way of knowing when the main window of an
application is closed unless this action terminates the app. Hooking up
the `agl-shell-desktop` protocol allows us to be notified when this
happens, so we can instruct `homescreenhandler` to switch back to the
previously active app.
Bug-AGL: SPEC-4222
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
Change-Id: I26dfaccce8894c2599afd9b14349b0703727d47a
|
|
When the current app window is closed, the current behavior depends on
whether this action terminates the app:
- if the app is terminated, then we switch back to the launcher
- in the other case, we display the background, even if other apps are
running
In order to implement a better behavior, we should keep track of active
apps and switch back to the previously active one when the current app
window is closed.
Bug-AGL: SPEC-4222
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
Change-Id: Idf1fe42886e95e2b37349b066204fde002d7c3b5
|
|
Our launcher application is started by systemd as a user session, and
attempting to start it again would result into being started once more,
but this by applaunchd.
Until we merge homescreen and launcher together avoid starting it and
just activate it whenever necessary.
Bug-AGL: SPEC-4215
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I90806457b74a2439cb8bdc88068954eb7ef1d532
|
|
* changes:
homescreenhandler: Remove old artifacts
package: Removal older artefacts from previous appfw
homescreenhandler: Start applications from homescreen panel
|
|
|
|
This change is needed because we've updated
the protocol in the compositor.
Bug-AGL: SPEC-4207
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I9e85af39f61d7e6724faa11b10de571e4e60540e
|
|
We're no longer using anything from the older appfw so remove dead code.
Bug-AGL: SPEC-4204
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I8a9714701a9bbb0da6768cd4bcbca52cb23464cd
|
|
Bug-AGL: SPEC-4204
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I74dfa2e24132b1928815963dfa6e1bcc4f706375
|
|
We're missing application start-up from within homescreen. The top
panel surface contains a list of applications which can be started
directly (without the launcher).
Bug-AGL: SPEC-4203
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Icd008c8bdbf3f107972b5b279f1439cab5aaebee
|
|
Bug-AGL: SPEC-4202
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ifba64095536cee149ed80d94a42abeefdcdd16f4
|
|
As part of the App FW rework, we introduced a new app launcher service,
accessible through D-Bus. This service accepts requests to activate
applications, and notifies when a application successfully activated or
terminated.
Requests for activation are handled by a separate `launcher` application
for now, so we only need to listen on incoming signals in order to react
to those:
- when an application successfully started or is switched to, ask the
compositor to activate it
- when an application terminates, activate the launcher so the user
isn't facing a "blank" display
Bug-AGL: SPEC-4160
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
Change-Id: I7369944570651b45ec9dcca9ccde3dfd75719c3b
|
|
Changes:
- Remove application framework build scripts, and update the
application qmake file to just build a "homescreen" binary
and support installing it to /usr/bin.
- Remove voice API related code. Some of the associated QML
and images for the UI have been retained in case equivalent
functionality is re-added in the future.
- Remove or stub out various app framework API access for the
homescreen and launcher bindings, and comment out usage of
the Qt wrappers from libqtappfw (e.g. Bluetooth). The aim is
to provide a replacement library or libraries for the latter
that provide the same functionality.
- Remove the old homescreen API documentation and do an initial
update of the build instructions in README.md.
Bug-AGL: SPEC-4121
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Iab979c8e1341f2da0384f88f163a977b03664600
|
|
Bug-AGL: SPEC-3423
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I0960ac6bee938cc4466f877467ea57e592d61593
|
|
Bug-AGL: SPEC-2714
Signed-off-by: shi ce <shic.fnst@fujitsu.com>
Change-Id: Ic74ea8a5c5bf56d8446be9038c97c2cb5038caea
|
|
Fixes the master volume control on the homescreen, which broke after
I renamed the control in agl-service-audiomixer to "Master Playback"
Bug-AGL: SPEC-3844
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Change-Id: Iadc859b29d823a703865a301877a75575a78a650
|
|
A better of way trying to verify that we have the homescreen
up-and-running would be to load-up a reference image which doesn't
change depending on time or other things loaded up (weather for
instance).
Alternatively, a possible solution would be to have a totally different
application that basically does the same thing as homescreen. Instead of
doing that, use an environment variable to choose up what QMLs to load
instead of the original application. Modifying the env variable then
re-starting the application is sufficient to have the screenshot for CI.
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ie1478bb75f23c36e3c24c9e8d3e2d7c4848dd779
|
|
The switch to the new compositor removed the callback to update the
top panel button highlight since it was being driven by the
Event_ScreenUpdated event from the old windowmanager. For now, work
around this by driving the ApplicationLauncher's setCurrent method
from the appropriate place in the HomescreenHandler object's
tapShortcut method. If a generic mechanism for notifications on
application expose becomes available via agl-shell-desktop, that
should be used instead.
Additionally, add an explicit call to setCurrent on initialization to
highlight the top panel Launcher button, matching the actual initial
UI state.
Bug-AGL: SPEC-3510
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Ied5dd8e78195d061585510e60a758559ca4f69b3
|
|
The split into 3 windows done for the switch to the new compositor
dropped the full screen image background that had previously been
used, but did not set any replacement for the new top and bottom panel
windows. This, combined with some rows of transparent pixels at the
bottom and top of the respective panel background images, resulted in
the default white background being visible in those areas.
To fix this, the background of the panel windows has been set to the
color used in the previous background image for those areas (#33363a).
Additionally:
- the top and bottom panel sizes have been rationalized to 216 pixels
high each, since there is no longer any reason to have them be
different sizes.
- the now unused main.qml has been removed to avoid confusion.
Bug-AGL: SPEC-3420
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Ib656ff256f05362def378047171d1fe940355790
|
|
Bug-AGL: SPEC-3348
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ib7b1c9d1da2397a251391883b8c34b4e417ecb04
|
|
Neccessary to set-up a proper application id.
Bug-AGL: SPEC-3447
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I92fd9747d1aa9f3716851c1c866e117e73ae136c
|
|
Bug-AGL: SPEC-3447
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I0ebe268e920666d4acf7089b50255281978a6c77
|
|
Bug-AGL: SPEC-3447
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I7da44ec333217d355ba643d2d21bea7d8940ad2b
|
|
license file should live in the root folder.
Bug-AGL: SPEC-3440
Signed-off-by: Li, Xiaoming <lixm.fnst@cn.fujitsu.com>
Change-Id: I84e714b15677e636c60ae0338eac13ce0f77c2ae
|
|
Update autobuild scripts with reworked version that fixes building
outside of the source tree. As well, the project files have been
tweaked to strip the release build binaries and add "-debug" in the
name of the debug widget file.
Bug-AGL: SPEC-2049, SPEC-3300
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Ic0fc983c533c7335d23f560480dc0f7bfd022b8e
|
|
Replace qtappfw with qtappfw-weather, qtappfw-network
and qtappfw-bt packages.
Bug-AGL: SPEC-3390
Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
Change-Id: I77918c89f51c9a5aad72e855a06c6ac3c6148731
|