Homescreen conversion to use agl-shell

Description

This is a bigger placeholder for conversion of homescreen to using agl-shell. 

Environment

None

Activity

Walt Miner 
July 10, 2020 at 3:14 PM

Close for JJ RC1

Marius Vlad 
May 18, 2020 at 8:49 AM

This has been superseded by . Homescreen is now adapted to just libhomescreen and its service for starting apps and using agl-shell for switching apps. 

Marius Vlad 
February 11, 2020 at 10:05 AM
(edited)

Seems that homescreen is a bit outdated, the "adaptation" was done around Christmas so it is missing some bits like the Alexa integration, which was done around CES time. 

I'll still keep this open, because of that, but also because the launcher bit I've done in homescreen is manually done, using a direct connection to the afm-systemd-daemon, and an alternative would probably be to do it by adjusting libhomescreen/homescreen-service to expose the launcher part from there. 

As it stands now, currently the libhomescreen/agl-service-homescreen only expose the launch part, indirectly, by disguising it under the `showWindow` which automatically starts the application in case it is not running. Obviously this is no longer necessary with this homecreen adaption of it. 

At this stage, not really sure what would be good: have the launcher and switch in homescreen or have the switch in homescreen and the start in libhomescreen/agl-service-homescreen. There are pros and contras to each approach. 

 

Putting this into libhomescreen/agl-service-homescreen seems also a bit weird, launcher application being another use-case for using the homescreen-service. 

IMO seems we need some kind of separation: a library that can expose, the afm-util verbs, but in programmatic fashion to so it could be used by homescreen client shell, it could be used by launcher, or it could be used without the need to display/show something on the screen. 

This should be just centered around af-binder/af-main. It should allow to start/terminate/list running processes/list runnable processes. And should do just that.

Additionally it could provide a C++ interface built on top of it for quick integration with Qt, and some code for JSON/html5 part.  At this stage I don't what this entails, how much this will require, or what has to be done (I know that the event loop is tied to systemd in some way, and that might need to be de-coupled)

libhomescreen/agl-service-homescreen will also import/use this library as well for the its launcher part. launcher application and homescreen itself will use it directly. 

, ,  how does the above sound? I know that  had some toy code for having a some C++ wrappers around it. 

Marius Vlad 
January 22, 2020 at 10:50 PM
(edited)

Here's an working example with it: https://drive.google.com/open?id=1dq9zHDJwp3Aaby41tIHg3rf-6sb_jo5k

 

  • weston start is actually agl-compositor

  • nav, hvac, launcher and mediaplayer do not use any kind of homescreen/windowmanager interaction, just plain QtGuiApplication

  • all of them are in their respective repository under sandbox/mvlad/agl-compositor for now

Marius Vlad 
January 22, 2020 at 5:22 PM

I have WIP  for it, but it is a bit older (before adding alexa and few more updates): https://gerrit.automotivelinux.org/gerrit/gitweb?p=apps%2Fhomescreen.git;a=shortlog;h=refs%2Fheads%2Fsandbox%2Fmvlad%2Fagl-compositor

Should work fine when enabling agl-compositor. Should wait until agl-compositor updates land in agl-compositor master. 

Fixed

Details

Assignee

Reporter

Fix versions

Labels

Priority

Created January 22, 2020 at 5:13 PM
Updated July 10, 2020 at 3:14 PM
Resolved May 18, 2020 at 8:49 AM