Age | Commit message (Collapse) | Author | Files | Lines |
|
Apply a heavily refactored version of the remote display changes from
the CES 2019 demo #3 source demo3/common/agl-service-windowmanager in:
https://git.automotivelinux.org/staging/new-apps
The refactoring of the extracted changes has been done with an eye to
reduce code duplication and minimize the changes to existing code.
As well, the required default policy manager changes missing in the
demo #3 tree have been added to produce a working default policy.
At present the configuration has been hard-coded to assume use of the
tbtnavi application on a Weston remoting display, but testing has
also been done with a second display on one board. The changes should
not impact operation of any other application, as only applications
with roles listed in the "Remote" layer definition can be displayed
on a configured second Weston screen.
Bug-AGL: SPEC-2914
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I29380bbbec46969b75ed4fe7e8095db772524082
|
|
Fix the conversion table
(Navigation -> map) to (Navigation -> navigation)
Use `navigation` as it is.
Change-Id: Icfb0c7839cfa1c8ae59aa3b381c07d8a2f88cdd4
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
|
|
This patch reverts commit e4222ca8da3b02afca5625fa2cef6832aa8ce90e
and update it.
To Policy Manager, add the source code of policy table
which is generated by ZIPC for EXAMPLE.
If use this example,
please comment out line 22 and uncomment line 23
in policy_manager/CMakeLists.txt as follows:
#set(STM_DIR stub)
set(STM_DIR zipc)
If try to show split layout,
please set bool value "ON" to TRY_SPLIT_LAYOUT at line 28
in policy_manager/CMakeLists.txt as follows:
set(TRY_SPLIT_LAYOUT OFF CACHE BOOL "Enable to show split layout")
The generated source codes by ZIPC are
"Common" and "StateTransitionor" in policy_manager/stm/zipc/.
Bug-AGL: SPEC-1537
Change-Id: I1f91cf728eab79c229c5b4b12b9e1bdd338f64aa
Signed-off-by: Yuta Doi <yuta-d@witz-inc.co.jp>
|
|
This patch reverts commit c6f9a9b8468b3746a3dec7ee2a0b7d84ec9fb44a
and update it.
Policy Manager decides next layout by inputed event and current state
based on the policy table.
And Policy Manager is plugin for Window Manager.
Therefore the OEMs can replace it.
This patch provides Policy Manager I/F as reference implementation
and does not have policy table.
Therefore Policy Manager updates each layers
to draw the applications in requested area
in accordance with just like activate/deactivate request.
[APIs of Policy Manager class]
- int initialize(void)
Initialize Policy Manger.
in: none
out: 0(success), -1(error)
- void registerCallback(CallbackTable callback_table)
Register callback functions.
in: the pointers of callback handlers
out: none
"CallbackTable" type is as follows:
typedef struct
{
Handler onStateTransitioned;
Handler onError;
} CallbackTable;
"Handler" type is as follows:
using Handler = std::function<void(json_object *)>;
- int setInputEventData(json_object *json_in)
Set input event data for the policy table.
in: input event data as json_object
out: 0(success), -1(error)
- int executeStateTransition(void)
Execute state transition by using set input event data.
in: none
out: 0(success), -1(error)
- void undoState(void)
Undo state only once per once state transition.
in: none
out: none
[Callbacks of Policy Manager class]
- void onStateTransitioned(json_object *json_out)
When state transition succeeds, this callback is called.
The argument json_out has the state after transition.
- void onError(json_object *json_out)
When state transition fails, this callback is called.
The argument json_out has the error information
like message, inputed event datas and etc..
Bug-AGL: SPEC-1537
Change-Id: Ib8c71f2e544cb90b6763d07fad56dc1c453e9a97
Signed-off-by: Yuta Doi <yuta-d@witz-inc.co.jp>
|