diff options
author | Marius Vlad <marius.vlad@collabora.com> | 2022-09-22 16:50:11 +0300 |
---|---|---|
committer | Marius Vlad <marius.vlad@collabora.com> | 2022-09-22 18:46:37 +0300 |
commit | 52c767388614e2ec6fa26851840bf01d97c5d49e (patch) | |
tree | 7ef5838055892525e7e2ba30795444b5e594347c /homescreen/src/homescreenhandler.cpp | |
parent | 98d13ef3af738ad9186b5c5a027e874d1bc1dfbc (diff) |
homescreen: Add support for v3 of agl-shell protocol
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
Diffstat (limited to 'homescreen/src/homescreenhandler.cpp')
-rw-r--r-- | homescreen/src/homescreenhandler.cpp | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/homescreen/src/homescreenhandler.cpp b/homescreen/src/homescreenhandler.cpp index 16d65fb..920c054 100644 --- a/homescreen/src/homescreenhandler.cpp +++ b/homescreen/src/homescreenhandler.cpp @@ -51,20 +51,16 @@ void HomescreenHandler::tapShortcut(QString app_id) { HMI_DEBUG("HomeScreen","tapShortcut %s", app_id.toStdString().c_str()); - if (app_id == LAUNCHER_APP_ID) - goto activate_app; + if (app_id == LAUNCHER_APP_ID) { + activateApp(app_id); + return; + } if (!mp_applauncher_client->startApplication(app_id)) { HMI_ERROR("HomeScreen","Unable to start application '%s'", app_id.toStdString().c_str()); return; } - -activate_app: - if (mp_launcher) { - mp_launcher->setCurrent(app_id); - } - activateApp(app_id); } /* @@ -90,13 +86,16 @@ void HomescreenHandler::addAppToStack(const QString& app_id) void HomescreenHandler::activateApp(const QString& app_id) { - struct agl_shell *agl_shell = aglShell->shell.get(); - QPlatformNativeInterface *native = qApp->platformNativeInterface(); - struct wl_output *output = getWlOutput(native, qApp->screens().first()); + struct agl_shell *agl_shell = aglShell->shell.get(); + QPlatformNativeInterface *native = qApp->platformNativeInterface(); + struct wl_output *output = getWlOutput(native, qApp->screens().first()); + + if (mp_launcher) { + mp_launcher->setCurrent(app_id); + } - HMI_DEBUG("HomeScreen", "Activating application %s", app_id.toStdString().c_str()); - agl_shell_activate_app(agl_shell, app_id.toStdString().c_str(), output); - addAppToStack(app_id); + HMI_DEBUG("HomeScreen", "Activating application %s", app_id.toStdString().c_str()); + agl_shell_activate_app(agl_shell, app_id.toStdString().c_str(), output); } void HomescreenHandler::deactivateApp(const QString& app_id) @@ -110,6 +109,9 @@ void HomescreenHandler::deactivateApp(const QString& app_id) void HomescreenHandler::processAppStatusEvent(const QString &app_id, const QString &status) { + HMI_DEBUG("HomeScreen", "Processing application %s, status %s", + app_id.toStdString().c_str(), status.toStdString().c_str()); + if (status == "started") { activateApp(app_id); } else if (status == "terminated") { |