Age | Commit message (Collapse) | Author | Files | Lines |
|
v2 (jsmoeller): Add systemd service plumbing in recipe
v3 (jsmoeller): Update to 7f06418646c8822452f8541386810208c523f990
Change-Id: I6bf9971590f9f19d7d024ffdf87e429766d64231
Signed-off-by: Bocklage, Jens <Jens_Bocklage@mentor.com>
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
|
|
Signed-off-by: Jens Bocklage <jens_bocklage@mentor.com>
|
|
-Preparation for the new ApplicationFramework binding. The App Framework provides more information.
--Adding afm D-Bus-interface introspection
--Updating the AppInfo datatype to hold the new data:
The application info consists of:
string id;
string version;
int width;
int height;
string name;
string description;
string shortname;
string author;
string iconPath;
-When pressing the AppLauncher Button or the Settings Button, the app layer is hidden.
--Therefore, shideLayer and showLayer is introduced in the WindowManager API
-If an application does not create its surface instantly, the HomeScreen retries to show the surface related to the pid.
-New WindowManager function deleteLayoutById
-Implement the complete HomeScreen API in the libhomescreen
To build:
enable some features:
source meta-agl/scripts/aglsetup.sh -m porter -b build-porter agl-demo agl-appfw-smack agl-devel
Add HomeScreen to the agl-demo-platform.bb file:
IMAGE_INSTALL_append = " \
ces2017-demo \
can-utils iproute2 \
python-curses \
dhcp-client \
climatecontrolplugin \
Navigation \
HomeScreen \ <-----
${IMAGE_TTF_FONTS} \
"
The latest app-framework-main is needed:
Edit file:
meta-app-framework/recipes-core/af-main/af-main_1.0.inc
-SRCREV = "c31038db1cff938d7fa1f12f757c1c57ab51c0bd"
+SRCREV = "cdcf4b4caa5d02a626c2e7075126e395a72f58a0"
Build it:
bitbake agl-demo-platform
When writing the SD-Card, make sure you preserve the extended attributes!
You need at minimum tar v1.28.
You will find this version also in the sysroot!
So you may want to use it:
sudo [..]/sysroots/i686-linux/usr/bin/tar-native/tar xpj --xattrs-include='*' --directory=<sdcard> --file=agl-demo-platform-porter.tar.bz2
We need the IVI-shell, so edit the file weston.ini on the target:
vi /etc/xdg/weston/weston.ini
[core]
shell=ivi-shell.so
[ivi-shell]
ivi-module=ivi-controller.so
ivi-shell-user-interface=/usr/lib/weston/weston-ivi-shell-user-interface
[output]
name=HDMI-A-1
transform=270
If you want to test it, you can download a sample app here:
wget http://iot.bzh/download/public/2016/afb-demos/txc-demo_0.1.wgt
afm-util install txc-demo_0.1.wgt
Qt apps need an environement variable set, so we need to change the start script:
vi /usr/bin/web-runtime
export QT_WAYLAND_SHELL_INTEGRATION="ivi-shell"
LD_PRELOAD=/usr/lib/libEGL.so exec /usr/bin/qt5/qmlscene "$1" /usr/bin/web-runtime-webkit.qml
(this is already in gerrit review: https://gerrit.automotivelinux.org/gerrit/#/c/7077/ )
reboot
To start everything:
cd /opt/AGL/HomeScreen
./WindowManager &
./HomeScreenAppFrameworkBinderAGL &
QT_IVI_SURFACE_ID=1000 QT_WAYLAND_SHELL_INTEGRATION="ivi-shell" ./HomeScreen &
Now you can click the txc-demo and it will show up.
Signed-off-by: Bocklage, Jens <Jens_Bocklage@mentor.com>
|
|
New concept of handling layer in WindowManager.
- Three layer are created statically. One for the HomeScreen app (in the backround), one for applications and one for popups.
- Apps can position their surfaces free in the assigned layout render areas. By default, one render area is assinged to one surface.
Compatible with Qt 5.7
- The HomeScreen MUST create its surface with the id 1000!
- This can be archieved this way:
QT_IVI_SURFACE_ID=1000 QT_WAYLAND_SHELL_INTEGRATION="ivi-shell" ./HomeScreen &
- see https://codereview.qt-project.org/#/c/121297/ for more details
Since the WindowManager uses the IVI-shell, the file /etc/xdg/weston/weston.ini has to be changed:
--------
[core]
shell=ivi-shell.so
[ivi-shell]
ivi-module=ivi-controller.so
ivi-shell-user-interface=/usr/lib/weston/weston-ivi-shell-user-interface
[output]
name=HDMI-A-1
transform=270
--------
The sequence that is used right now to get you started with WindowManager and HomeScreen:
killall weston
export XDG_RUNTIME_DIR=/tmp
openvt -s weston
chown aglglobalapp:aglglobalapp /tmp/wayland-0
su aglglobalapp
export `dbus-launch`
cd /opt/AGL/HomeScreen
./WindowManager &
QT_IVI_SURFACE_ID=1000 QT_WAYLAND_SHELL_INTEGRATION="ivi-shell" ./HomeScreen &
Signed-off-by: Bocklage, Jens <Jens_Bocklage@mentor.com>
|
|
Ostree (sota) does not preserve /opt , so move /opt/AGL to /usr/AGL
for inclusion in the ota.
Fixes: SPEC-304
Change-Id: I1efcc9c0c2142e9b97f9dbd6b5972493ead8bebc
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
|
|
A new layer is created for all surfaces that belong to the same creator process.
These layers are used to scale the application surfaces to the correct layout application render area.
Signed-off-by: Bocklage, Jens <Jens_Bocklage@mentor.com>
|
|
Use the simulator to test.
Signed-off-by: Bocklage, Jens <Jens_Bocklage@mentor.com>
|
|
Using WindowManager to control layer and surfaces (ongoing).
Defining three layouts.
Adding combobox selection feature to popup widget.
In the current state it should be possible to launch applications that are available through the Tizen application manager.
Known issue: IVI-shell is currently disabled in AGL due to issues (porting to Yocto 2.1.1).
Signed-off-by: Bocklage, Jens <Jens_Bocklage@mentor.com>
|
|
apps and to launch apps.
This acts as a template for other app framework adoptions.
Using the weston ivi shell to control surfaces.
Using the input event manager to dispatch hard key inputs.
This is a bigger update, so I increased the version number from 0.1.1 to 0.2.0.
Some parts are under development.
I created the components "WindowsManager" and "InputEventManager" because they are not defined in AGL right now.
As soon as they are defined, we should switch to them.
Find more information on the official wiki page: https://wiki.automotivelinux.org/homescreen
Also removed old recipes.
Signed-off-by: Bocklage, Jens <Jens_Bocklage@mentor.com>
|
|
Three demo color schemes are included to demonstrate the feature.
Also cleaned up the generation of D-Bus interface classes.
Signed-off-by: Bocklage, Jens <Jens_Bocklage@mentor.com>
|
|
This bitbake recipe builds the Home Screen application.
In addition a sample application that shows the functionality of the status bar. The sample application SampleAppTimeDate shows the current time in the Home Screen status bar.
Signed-off-by: Bocklage, Jens <Jens_Bocklage@mentor.com>
|
|
Change-Id: I221367d457685f026c3fee84594a2b25b08ef6e9
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
|