summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/ApplicationGuide.md140
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