diff options
-rw-r--r-- | doc/ApplicationGuide.md | 140 |
1 files changed, 47 insertions, 93 deletions
diff --git a/doc/ApplicationGuide.md b/doc/ApplicationGuide.md index 9c5c409..aaf7bd7 100644 --- a/doc/ApplicationGuide.md +++ b/doc/ApplicationGuide.md @@ -1,84 +1,69 @@ **HomeScreen GUI Application / HomeScreen Service Guide** ==== -<div align="right">Revision: 0.1</div> -<div align="right">TOYOTA MOTOR CORPORATION</div> -<div align="right">Advanced Driver Information Technology</div> -<div align="right">21th/Nov/2018</div> + Revision: 0.1 + TOYOTA MOTOR CORPORATION + Advanced Driver Information Technology + 13th/May/2019 * * * -<div id="Table\ of\ content"></div> - ## Table of content -- [Target reader of this document](#Target\ reader\ of\ this\ document) -- [Overview](#Overview) -- [Getting Start](#Getting\ Start) - - [Supported environment](#Supported\ environment) - - [Build](#Build) - - [Configuring](#Configuring) - - [How to call HomeScreen APIs from your Application?](#How\ to\ call\ HomeScreen\ APIs\ from\ your\ Application?) -- [Supported usecase](#Supported\ usecase) -- [Software Architecture](#Software\ Architecture) -- [API reference](#API\ reference) -- [Sequence](#Sequence) - - [Initialize](###Initialize\ Sequence) - - [Tap Shortcut(deprecated)](###Tap\ Shortcut\ Sequence) - - [ShowWindow](###ShowWindow\ Sequence) - - [On Screen Message / Reply Sequence(deprecated)](###On\ Screen\ Message\ /\ Reply\ Sequence) - - [ShowOnscreen](###ShowOnscreen\ Sequence) - - [ShowNotification](###ShowNotification\ Sequence) - - [ShowInformation](###ShowInformation\ Sequence) -- [Sample code](#Sample\ code) -- [Limitation](#Limitation) -- [Next Plan](#Next\ Plan) -- [Appendix](#Appendix) +- [Target reader of this document](#target-reader-of-this-document) +- [Overview](#overview) +- [Getting Start](#getting-start) + - [Supported environment](#supported-environment) + - [Build](#build) + - [Configuring](#configuring) + - [How to call HomeScreen APIs from your Application?](#how-to-call-homescreen-apis-from-your-application) +- [Supported usecase](#supported-usecase) +- [Software Architecture](#software-architecture) +- [API reference](#api-reference) +- [Sequence](#sequence) + - [Initialize](#initialize-sequence) + - [Tap Shortcut(deprecated)](#tap-shortcut-sequence) + - [ShowWindow](#showwindow-sequence) + - [On Screen Message / Reply Sequence(deprecated)](#on-screen-message-reply-sequence) + - [ShowOnscreen](#showonscreen-sequence) + - [ShowNotification](#shownotification-sequence) + - [ShowInformation](#showinformation-sequence) +- [Sample code](#sample-code) +- [Limitation](#limitation) +- [Next Plan](#next-plan) +- [Appendix](#appendix) * * * -<div id="Target\ reader\ of\ this\ document"></div> - ## Target reader of this document Application developer whose software uses HomeScreen. * * * -<div id="Overview"></div> - ## Overview HomeScreen is built with a GUI application created with Qt(referred as HomeScreenGUI), and a service running on afb-daemon (referred as HomeScreenBinder). HomeScreen can start/switch applications run in AGL, also displays information such as onscreen messages. You can find these projects in AGL gerrit. -homescreen(HomeScreenGUI): - https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/homescreen -launcher(LauncherGUI) - https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/launcher -agl-service-homescreen(HomeScreenBinder's binding library): - https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-service-homescreen -libhomescreen(library for application to communication with HomeScreenBinder): - https://gerrit.automotivelinux.org/gerrit/#/admin/projects/src/libhomescreen -libqthomescreen(library for qt application to communication with HomeScreenBinder based on libhomescreen) - https://gerrit.automotivelinux.org/gerrit/#/admin/projects/src/libqthomescreen +- [homescreen(HomeScreenGUI)](https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/homescreen) +- [launcher(LauncherGUI)](https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/launcher) +- [gl-service-homescreen(HomeScreenBinder's binding library)](https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-service-homescreen) +- [libhomescreen(library for application to communication with HomeScreenBinder]( https://gerrit.automotivelinux.org/gerrit/#/admin/projects/src/libhomescreen) +- [libqthomescreen(library for qt application to communication with HomeScreenBinder based on libhomescreen)](https://gerrit.automotivelinux.org/gerrit/#/admin/projects/src/libqthomescreen) Also HomeScreenGUI is using libwindowmanager. -<div id="Getting\ Start"></div> +* * * ## Getting Start -<div id="Supported\ environment"></div> - ### Supported environment | Item | Description | |:------------|:----------------------------------| -| AGL version | Electric Eel | +| AGL version | Grumpy Guppy | | Hardware | Renesas R-Car Starter Kit Pro(M3) | -<div id="Build"></div> - ### Build **Download recipe** @@ -111,11 +96,6 @@ $ source meta-agl/scripts/aglsetup.sh -m m3ulcb agl-demo agl-devel agl-appfw-sma $ bitbake agl-demo-platform ``` - -* * * - -<div id="Configuring"></div> - ### Configuring To use HomeScreen API, an application shall paste the following configuration definition into "config.xml" of application. @@ -126,10 +106,6 @@ To use HomeScreen API, an application shall paste the following configuration de </feature> ``` -* * * - -<div id="How\ to\ call\ HomeScreen\ APIs\ from\ your\ Application?"></div> - ### How to call HomeScreen APIs from your Application? HomeScreen provides a library which is called "libhomescreen". This library treats "json format" as API calling. @@ -151,20 +127,15 @@ Execute the "showWindow()" function. libhs->showWindow("application_id", "display_area"); ``` -Regarding the detail of showWindow() API, please refer [this](#HomeScreen\ API) section. +Regarding the detail of showWindow() API, please refer [this](#homescreen-specific-api) section. The first parameter is the appid of application which want to display,liked "dashboard". And the second parameter corresponds to display_area which defined by windowmanager,usually "normal", so in this case "showWindow" the two parameters are proper string. -See also our [Sample code](#Sample\ code). - - -<br /> +See also our [Sample code](#sample-code). * * * -<div id="Supported\ usecase"></div> - ## Supported usecase 1. HomeScreenGUI sending showWindow event to applications - Applications using libhomescreen to subscribe the showWindow event, @@ -189,9 +160,8 @@ See also our [Sample code](#Sample\ code). 8. Show Information on HomeScreenGUI - When application who want to display a information,it can call "showInformation",then HomeScreenGUI will display the information contents on the screen bottom area. -* * * -<div id="Software\ Architecture"></div> +* * * ## Software Architecture The architecture of HomeScreen is shown below. @@ -207,13 +177,9 @@ The communication protocols between libhomescreen and upper binder, upper binder * * * -<div id="API%20reference"></div> - ## API reference "libhomescreen" and "agl-service-homescreen" provides several kinds of APIs. -<div id="Home\ Screen\ Specific\ API"></div> - ### HomeScreen Specific API - [LibHomeScreen ()](api-ref/html/de/dd0/class_lib_home_screen.html#a724bd949c4154fad041f96a15ef0f5dc) @@ -233,65 +199,53 @@ The communication protocols between libhomescreen and upper binder, upper binder - [showNotification (json_object* json)](api-ref/html/de/dd0/class_lib_home_screen.html#a93ad567ed597a80a344ba82457c2bd7f) - [showInformation (json_object* json)](api-ref/html/de/dd0/class_lib_home_screen.html#ada999aeb0444c964428bdf1ee236727f) - * * * -<div id="Sequence"></div> - ## Sequence -<div id="InitializeSequence"></div> - ### Initialize Sequence ![initialize-set-event-handler](parts/initialize-set-event-handler.svg) -<div id="TapShortcutSequence"></div> - ### Tap Shortcut Sequence ![tap_shortcut.svg](parts/tap_shortcut.svg) -<div id="ShowWindowSequence"></div> - ### ShowWindow Sequence ![showWindow.svg](parts/showWindow.svg) -<div id="OnScreenMessageSequence"></div> - ### On Screen Message / Reply Sequence ![on_screen_message.svg](parts/on_screen_message.svg) -<div id="ShowOnscreenSequence"></div> - ### ShowOnScreen Sequence ![showOnScreen.svg](parts/showOnScreen.svg) -<div id="ShowNotificationSequence"></div> - ### ShowNotification Sequence ![showNotification.svg](parts/showNotification.svg) -<div id="ShowInformationSequence"></div> - ### ShowInformation Sequence ![showInformation.svg](parts/showInformation.svg) +* * * -<div id="Sample\ code"></div> - -# Sample code +## Sample code You can find sample implementation of HomeScreen as below. * `libhomescreen/sample/simple-egl` * `libhomescreen/sample/template` -# Limitation +* * * + +## Limitation Now OnScreenApp is developing,approximately it will finished at GG. -# Next Plan +* * * + +## Next Plan None. -# Appendix +* * * + +## Appendix ``` @startuml |