aboutsummaryrefslogtreecommitdiffstats
path: root/homescreen/src/main.cpp
AgeCommit message (Collapse)AuthorFilesLines
2022-08-06homescreenhandler: Add support for splitsandbox/mvlad/react-to-split-eventsMarius Vlad1-1/+1
Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I2d32a539e1f3bd5601c652b8fcf8888152258e07
2022-08-04homescreen: Support for bound_ok and bound_fail eventsMarius Vlad1-7/+52
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
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 Murray1-0/+1
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-01-28Re-enable status barmarlin_12.92.0marlin/12.92.012.92.0Scott Murray1-6/+4
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 Ferraris1-18/+67
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
2021-11-04Initial rework to run without the app frameworkScott Murray1-40/+10
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-01-07main: Add different QMLs for doing screenshotskoi_10.93.0koi_10.92.0koi/10.93.0koi/10.92.010.93.010.92.0Marius Vlad1-11/+32
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 Murray1-3/+2
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-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 Vlad1-45/+161
Bug-AGL: SPEC-3447 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I7da44ec333217d355ba643d2d21bea7d8940ad2b
2020-01-27homescreen: remove unused DBus code artifactsMatt Ranostay1-27/+1
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>
2019-11-12Add push to talk support to homescreenNaveen Bobbili1-0/+4
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 Moeller1-4/+0
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 Bobbili1-0/+4
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-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>
2018-12-19Bind the slider volume to the 4a active roleLoïc Collignon1-0/+1
4a now expose an active role, which is the opened role with the higher priority. This binds the slider to the active role. Bug: 1313 Change-Id: I73766163fc0b8ef1e6b70e9c13e28d3642be858a Signed-off-by: Loïc Collignon <loic.collignon@iot.bzh>
2018-11-15Use graphic_roleKazumasa Mitsunari1-3/+4
Window Manager set role name as lower_case, then change role as lower_case. Change-Id: Iee62ff0832bef3b70adf76698efbf7168fd5af69 Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
2018-08-08Merge lastest commit from homescreen-2017zheng_wenlong1-1/+8
Merge two lastest commit from homescreen-2017. 1) StatusBarModel: fix QQmlContext reference Fix missing include Bug-AGL: SPEC-1628 2) Improve output of multiple screen resolution To improve output on various monitor with various resolution, use scale_factor from WM to fit various screen resolution. Bug-AGL: SPEC-1568, SPEC-1569, SPEC-1611 Change-Id: I71a6c87187c2b0b81bb0ed10cc8779032aa19300 Signed-off-by: Matt Porter <mporter@konsulko.com>Y Signed-off-by: Tadao Tanikawa <tanikawa.tadao@jp.panasonic.com> Signed-off-by: zheng_wenlong <wenlong_zheng@nexty-ele.com>
2018-08-01Change bluetooth status using agl-service-bluetoothzheng_wenlong1-1/+3
Use libqtappfw's bluetooth to connection with agl-service-bluetooth. Instead of using dbus. Change-Id: Ib0de7cf81ee9e582995a1e4102f8c3b297694328 Signed-off-by: zheng_wenlong <wenlong_zheng@nexty-ele.com>
2018-07-30Merage homescreen-2017 modification to homescreen.zheng_wenlong1-3/+0
1. Add "Remove useless ref to pulseaudio" commit to homescreen. 2. Remove launch app code for my mistake merging. Right now this source is same as a8b94699ae7ec155729fcccda2be4f22328ca790. Relative Commit: https://gerrit.automotivelinux.org/gerrit/#/c/15563/ Change-Id: I966e86c73d9f66ac7a7ff6763be3544ecaba28cd Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh> Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh> Signed-off-by: zheng_wenlong <wenlong_zheng@nexty-ele.com>
2018-07-10Copy source code from homescreen-2017flounder_5.99.2flounder/5.99.25.99.2zheng_wenlong1-41/+66
We decide to use homescreen instead of homescreen-2017. Copy the source code from homescreen-2017 and delete word "-2017". Revision: b4db06287bc997ded71deab50ff0ff5889b09e1f Bug-AGL: SPEC-1549 Change-Id: Id77226b7ce35bbc29c868281c37b76ea3f930ad5 Signed-off-by: zheng_wenlong <wenlong_zheng@nexty-ele.com>
2017-05-22Add master volume control sliderMatt Porter1-0/+19
Adds support for a master volume control to the HomeScreen app. The master volume slider appears when touching in the MediaArea at the bottom of the screen. If there is no interaction with the slider, it fades out after 5 seconds so that the AGL logo area is not obscured. The volume slider is accessible across all applications due to the MediaArea portion of HomeScreen always being exposed to the screen. The slider volume control is tied to the default PA sink and applies proportional volume control across all channels of the default sink when changed. It also reacts to external volume change events from other PA clients (e.g. Mixer app or pactl CLI changes) and updates the master volume slider accordingly. AGL-Bug: SPEC-550 Change-Id: I9bf55bc624f4bb95c162a79bd2eb314d8f945033 Signed-off-by: Matt Porter <mporter@konsulko.com>
2017-05-11HomeScreenControlInterface: use single afm_user_daemonMarcus Fritzsch1-1/+1
* The org.agl.homescreenappframeworkbindertizen should not be used here. * Simplify the implementation. Change-Id: I5d2dedf2dcacea2104ba38e4467fd8299a88d776 Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
2017-05-10main: instantiate a afm_user_daemon proxyMarcus Fritzsch1-0/+23
* Create a single org::AGL::afm::user instance. * Do not make use of static object construction/destruction. * Use QScopedPointer in main() to manage the resource. * Users of this instance use an extern declaration of the global variable. Change-Id: Ia6db7aae8c8f6b135fe62bda495c68fdef004081 Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
2017-01-18Initial source commitBocklage, Jens1-0/+80
Taken from https://gerrit.automotivelinux.org/gerrit/p/staging/HomeScreen.git Signed-off-by: Bocklage, Jens <Jens_Bocklage@mentor.com>