aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2022-09-21Rework to use launcher wrapper from libqtappfwneedlefishScott Murray4-200/+157
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 (cherry picked from commit 20f629dd6d8628611d950073c4f7a0446c40365a)
2022-08-05Add gitreview file for Nifty Needlefish branchJan-Simon Moeller1-1/+1
Update the .gitreview file. Bug-AGL: SPEC-4518 Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Change-Id: Id22b16955c7c0218b040a5162f2b0f1471ea9678
2022-07-08homescreen: Bail out if no screens are foundneedlefish_13.93.0needlefish/13.93.013.93.0Marius Vlad1-0/+5
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
2022-07-04Add VIS vehicle signal supportScott Murray5-84/+74
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)
2022-02-22homescreenhandler: Avoid passing an invalid appidmarlin_12.93.0marlin/12.93.012.93.0Marius Vlad1-1/+2
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
2022-01-28Re-enable status barmarlin_12.92.0marlin/12.92.012.92.0Scott Murray4-29/+10
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
2022-01-20Use agl-shell-desktop protocol to keep track of closed windowsArnaud Ferraris2-19/+68
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
2022-01-20homescreenhandler: keep track of active appsArnaud Ferraris2-2/+30
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
2022-01-18homescreenhandler: Do not attempt to start launcherMarius Vlad1-6/+16
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
2022-01-11Merge changes I8a971470,I74dfa2e2,Icd008c8bJan-Simon Moeller3-411/+13
* changes: homescreenhandler: Remove old artifacts package: Removal older artefacts from previous appfw homescreenhandler: Start applications from homescreen panel
2022-01-11Merge "homescreen/homescreen.pro: Bump protocol requirements"Jan-Simon Moeller1-1/+1
2022-01-11homescreen/homescreen.pro: Bump protocol requirementsMarius Vlad1-1/+1
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
2022-01-10homescreenhandler: Remove old artifactsMarius Vlad1-101/+1
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
2022-01-10package: Removal older artefacts from previous appfwMarius Vlad2-306/+0
Bug-AGL: SPEC-4204 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I74dfa2e24132b1928815963dfa6e1bcc4f706375
2022-01-10homescreenhandler: Start applications from homescreen panelMarius Vlad1-3/+11
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
2021-12-29homescreenhandler: Set the application currently app runningMarius Vlad1-3/+3
Bug-AGL: SPEC-4202 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Ifba64095536cee149ed80d94a42abeefdcdd16f4
2021-12-20homescreenhandler: use applaunchd for app activationmarlin_12.91.0marlin/12.91.012.91.0Arnaud Ferraris3-2/+41
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
2021-11-04Initial rework to run without the app frameworkScott Murray44-938/+92
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
2021-07-01homescreen.pro: Use system() to figure out where to pull the protocolmarlin_12.90.1marlin/12.90.112.90.1Marius Vlad2-119/+2
Bug-AGL: SPEC-3423 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I0960ac6bee938cc4466f877467ea57e592d61593
2021-05-13docs(README.md): fix invalid http linkmarlin_12.90.0marlin/12.90.0lamprey_11.92.0lamprey_11.91.0lamprey/11.92.0lamprey/11.91.012.90.011.92.011.91.0shi ce1-1/+1
Bug-AGL: SPEC-2714 Signed-off-by: shi ce <shic.fnst@fujitsu.com> Change-Id: Ic74ea8a5c5bf56d8446be9038c97c2cb5038caea
2021-05-10homescreen: fix master volume control nameGeorge Kiagiadakis1-3/+5
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
2021-01-07main: Add different QMLs for doing screenshotskoi_10.93.0koi_10.92.0koi/10.93.0koi/10.92.010.93.010.92.0Marius Vlad5-11/+70
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
2020-07-22Add workaround for top panel button highlightingkoi_10.91.0koi/10.91.0jellyfish_9.99.4jellyfish_9.99.3jellyfish_9.99.2jellyfish/9.99.4jellyfish/9.99.3jellyfish/9.99.29.99.49.99.39.99.210.91.0Scott Murray3-6/+11
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
2020-07-22Fix panel backgrounds and sizesScott Murray7-165/+9
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
2020-07-03toppanel: Use the older width sizeMarius Vlad1-1/+1
Bug-AGL: SPEC-3348 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Ib7b1c9d1da2397a251391883b8c34b4e417ecb04
2020-06-24main: Set-up the application idjellyfish_9.99.1jellyfish/9.99.19.99.1Marius Vlad1-0/+2
Neccessary to set-up a proper application id. Bug-AGL: SPEC-3447 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I92fd9747d1aa9f3716851c1c866e117e73ae136c
2020-06-24Allow to set off the screen name using a environment variableMarius Vlad1-8/+33
Bug-AGL: SPEC-3447 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I0ebe268e920666d4acf7089b50255281978a6c77
2020-06-24agl-compositor: Conversion to agl-compositorMarius Vlad18-80/+589
Bug-AGL: SPEC-3447 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I7da44ec333217d355ba643d2d21bea7d8940ad2b
2020-06-19Fix package licenseLi, Xiaoming1-0/+0
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
2020-06-10Update autobuild scriptsScott Murray4-112/+138
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
2020-06-08update PKGCONFIG to use qtappfw-*Raquel Medina1-1/+1
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
2020-03-23update autobuild scriptsRaquel Medina2-9/+92
Modify autobuild scripts: - to fix warnings on yocto build - to add new standard targets Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: Ideab6494c9c016116e1053d8c8e698dbe02d2bc8
2020-02-11Update .gitreview fileJan-Simon Möller1-1/+0
This updates the gitreview file in the project . Change-Id: I7426b9512cc7f5b0dab86af090a599b8153b6f54 Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
2020-01-28Merge "homescreen: remove unused DBus code artifacts"icefish_8.99.5icefish/8.99.58.99.5Jan-Simon Moeller16-582/+6
2020-01-27homescreen: remove unused DBus code artifactsMatt Ranostay16-582/+6
All accesses to control launching applications are now done via agl-service-homescreen/libhomescreen, and thus the unused DBus interface can be removed. Bug-AGL: SPEC-3137 Change-Id: I56201c138c7061bba8114e367729d2b29f672ed1 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2020-01-03Remove workaround for broken vshl-core event JSONScott Murray1-1/+1
Now that the broken event argument JSON from the vshl-core binding has a fix, the workaround of reparsing the voice event arguments needs to be removed, as it breaks with the corrected events. Bug-AGL: SPEC-3084 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I47b6369d9924102252c4690dda38d721276c69b8 (cherry picked from commit f9fd82d04fba32b9f540f592bfa8b49d60e63851)
2019-12-29Display Alexa specific chrome when it is usedScott Murray5-3/+14
Add logic to key off the voiceagent name and display Alexa specific chrome (the required Alexa icon) when it is used. Bug-AGL: SPEC-3075 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I4bacad2e3906ee1e8221ed3e6bfe92b340d65aab
2019-11-26Merge "Remove DBus interface for StatusBar"icefish_8.99.4icefish_8.99.3icefish_8.99.2icefish/8.99.4icefish/8.99.3icefish/8.99.28.99.48.99.38.99.2Jan-Simon Moeller4-49/+1
2019-11-15Remove DBus interface for StatusBarMatt Ranostay4-49/+1
This is no longer used directly by the Settings app UI, and should be removed to avoid future use. Interfacing should be done with afb if possible. Bug-AGL: SPEC-2964 Change-Id: I0c52b8e05b8fe2d874d939c55c326f7f82466750 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-11-12Add second ptt button to homescreenicefish_8.99.1icefish/8.99.18.99.1Jan-Simon Möller1-6/+52
This will allow in the future to differ between driver and passenger. Bug-AGL: SPEC-2948 . Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org> Change-Id: Icd2d61f2a3984ee3e6b591998c5b05aa91949cee
2019-11-12Add push to talk support to homescreenNaveen Bobbili16-10/+848
Reworked version of Alexa specific changes from ICS to add push to talk button for voice services to homescreen media area. v2: change config.xml to audiomixer v3: reworked to not be Alexa specific: - Now use the default voiceagent if available, instead of hard-coding Alexa usage - The Alexa logo for the button has been replaced with a generic microphone icon derived from the radio application's launcher icon. This is a placeholder until a new icon is provided by LF graphics team. Meeting any Amazon requirements around Alexa chrome is now envisioned as being provided for with a TBD voiceagent API enhancement. - The QML for the PTT button has been moved to MediaAreaBlank.qml, which seems a more logical location for it ATM. It is likely that the MediaArea QML should be simplified in a future change, as it currently contains a signficant amount of unused code. - The PTT button has been moved to the left hand side of the media area, as this seems more sensible if demonstrating driver usage. - The delay on fade-out of the master volume slider has been lowered to 3 seconds from 5, with the PTT button present it started seeming excessive during testing. - Some extra debug messages have been added to make tracking the voiceagent state more straightforward. Bug-AGL: SPEC-2764, Signed-off-by: Naveen Bobbili <nbobbili@amazon.com> Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I398bf7aebc5c9b459b1fce94511eee3698c08347
2019-11-08Revert "Add push to talk support to homescreen"Jan-Simon Moeller16-848/+10
It turned out the homescreen won't show. So we need to revisit this patch. https://gerrit.automotivelinux.org/gerrit/#/c/apps/homescreen/+/21182/ This reverts commit f3de2f5cad06a772ee55f58694d559a7cb012c02. Change-Id: Ic8829e5009e9fb74b49ad1dd79125b45a872a838
2019-10-16Add push to talk support to homescreenNaveen Bobbili16-10/+848
Reworked version of Alexa specific changes from ICS to add push to talk button for voice services to homescreen media area. v2: change config.xml to audiomixer v3: reworked to not be Alexa specific: - Now use the default voiceagent if available, instead of hard-coding Alexa usage - The Alexa logo for the button has been replaced with a generic microphone icon derived from the radio application's launcher icon. This is a placeholder until a new icon is provided by LF graphics team. Meeting any Amazon requirements around Alexa chrome is now envisioned as being provided for with a TBD voiceagent API enhancement. - The QML for the PTT button has been moved to MediaAreaBlank.qml, which seems a more logical location for it ATM. It is likely that the MediaArea QML should be simplified in a future change, as it currently contains a signficant amount of unused code. - The PTT button has been moved to the left hand side of the media area, as this seems more sensible if demonstrating driver usage. - The delay on fade-out of the master volume slider has been lowered to 3 seconds from 5, with the PTT button present it started seeming excessive during testing. - Some extra debug messages have been added to make tracking the voiceagent state more straightforward. Bug-AGL: SPEC-2764, Change-Id: I2052e345baaf4306e8e3f27a01bc6940f4d27d88 Signed-off-by: Naveen Bobbili <nbobbili@amazon.com> Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2019-09-27fix: Remove qml M126 warningLi Xiaoming2-5/+5
Message: == and != may perform type coercion, use === or !== to avoid it. Description: The non-strict equality comparison is allowed to convert its arguments to a common type. That can lead to unexpected results such as ' \t\r\n' == 0 being true. Use the strict equality operators === and !== and be explicit about conversions you require. Bug-AGL: SPEC-2814 Change-Id: I374749e71705b24eb793e0ba8a5efacc81ea40de Signed-off-by: Li Xiaoming <lixm.fnst@cn.fujitsu.com>
2019-08-30Fix master volume sliderScott Murray2-2/+3
The switch to using agl-service-audiomixer missed a scaling to 0.0 - 1.0 for the value requested when changing the master volume slider, add that to fix it. Also, change the displayed name back to "Master Volume" to match what it now represents with PipeWire. Bug-AGL: SPEC-2788 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I2fb94d161499b759540105958bcb3d6f5da1884f
2019-08-21hmi-debug.h:Optimise code qualityLi Xiaoming1-12/+21
This patch do below things: 1) standarize code indent and style; 2) add log when message is NULL, it may be a result of vasprintf failed or disable message manually; 3) add microsecond round up check. Bug-AGL: SPEC-2760 Change-Id: I1cac7a8f4755526c40f83aa3d6dfb3fbe0819fac Signed-off-by: Li Xiaoming <lixm.fnst@cn.fujitsu.com>
2019-06-10mastervolume: port to use the pipewire audiomixer servicehalibut_8.0.0halibut_7.99.3halibut_7.99.2halibut/8.0.0halibut/7.99.3halibut/7.99.28.0.07.99.37.99.2George Kiagiadakis2-21/+30
Bug-AGL: SPEC-2473 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com> Change-Id: I5bacca161ce18a5ad047e4aaa2e395beb016d212
2019-05-29homescreen: network: use new WifiAdapter classhalibut_7.99.1halibut/7.99.17.99.1Raquel Medina2-7/+13
-Apply new network class interfaces from libqtappfw to retrieve wifi status data for the status bar. -remove helpers from git index to allow cloning without errors. Bug-AGL: SPEC-2293 Change-Id: I77dc0b9ac33c97b963b0533d7071868c96f58b87 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
2019-04-26Add permission to use displayJosé Bollo1-0/+1
Add the permission required to access the display through the wayland socket. Change-Id: I1a98e27224a69631f28e65753d41ae822747ae05 Bug-AGL: SPEC-2357 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2019-03-22homescreen: bluetooth: change constructor call for Bluetooth classMatt Ranostay1-1/+1
The constructor needs the local applications QML context pointer for the Bluetooth libqtappfw access. Bug-AGL: SPEC-2270 Change-Id: Ib694d310656261a0a90d72a879fd33551155baa9 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>