Age | Commit message (Collapse) | Author | Files | Lines |
|
xdg-launcher calls "subscribe" before requestSurface,
then windowmanager reject it because WMClient object
is not created yet.
This patch changes to register WMClient
if it is not created when App calls "subscribe".
Application doesn't need to care about the order of
"requestSurface" and "subscribe".
Bug-AGL: SPEC-2218
Change-Id: Ia82ff939dfdb2bbfd377bd50fd3d4b844451cd3b
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
|
|
In CES2019 demo, these features are introduced in demo3.
1. changeAreaSize : change area definition on runtime
2. getAreaList : get area definition list
v2. fix merge conflict
util.hpp
util.cpp
Bug-AGL : SPEC-2077
Change-Id: I1fa3c9e3648c69e14a3916cbeeb9775ed94c833a
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
|
|
This patch change Window Manager emits event to application
such as syncDraw not to subscribers.
Bug-AGL: SPEC-1999
Change-Id: Ie2699c1180b4f37f6333933db9f11eaa7ed8f683
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
|
|
This patch migrates biding API of WM to v3.
Change-Id: I2f2b23a8af437a414e2a00d629d3e72d0614eb72
Signed-off-by: Tadao Tanikawa <tanikawa.tadao@jp.panasonic.com>
|
|
Forgot removing the function.
The function was removed in the previous commit.
Change-Id: Ieab08aa116b7b8109022ff6983582da6085039dd
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
|
|
Stop compatibility support.
Remove conversion table from old role.
Bug-AGL: SPEC-1947
Change-Id: Idbb0717920c2f4a0c29bfb4356e1b167ac8bce0b
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
|
|
Window Manager expresses the application in ivi-layer.
So for, Window Manager tied the surface and role applied
by the application. This patch associates the application
with the ivi-layer, and the role and surface are the
attributes that makes up the application.
Bug-AGL: SPEC-1818, SPEC-1635
Change-Id: Ice1e398e1db037577b0721c16da6603ec5437561
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
|
|
Fix internal function name for consistency
Change-Id: Iff85e7ab246f863ff47d7312da627a2317479b56
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
|
|
Window Manager now uses abstract client, area for layer/surface management,
then hide wayland operation into LayerControl class.
LayerControl class uses ilmControl library instead of wayland protocol.
This patch reduces the binary size of binding by 30% than before.
Currently, the following debug methods are not available.
* debug_status
* debug_layers
* debug_surfaces
* list_drawing_names
Bug-AGL: SPEC-1817
Change-Id: I7313787f3c4a286ceee3c23783e5c0e713388dac
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
|
|
Rename layers.* to wm_layers.*
Change-Id: If472c2b8f978231816f5c21edb0c53a6ee96d629
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
|
|
Migrate hmi-debug into util for
* simplicity
* remove warnings error `-Wunused-function`
Change-Id: I7d061849429e5d50cc7d19d2051c7f5d0f0ef169
Signed-off-by: Kazumasa Mitsunari <knimitz@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>
|
|
To improve output on various monitor with various resolution,
the following items are introduced.
* Abandon scaling by Weston/IVI-SHELL
This is cause of huge memory consumption on AGL CES2018 Demo
because all contents are designed and rendered with FullHD
resolution.
* Add parameter of 'scale' to WM API (getDisplayInfo)
WM calculate scale factor from screen resolution from wayland
compositor and parameter of layout from WM's configuration,
area.db.
Bug-AGL: SPEC-1568, SPEC-1569, SPEC-1611
Change-Id: I5eac2da0106228c296550135c5200b2653864fdf
Signed-off-by: Tadao Tanikawa <tanikawa.tadao@jp.panasonic.com>
|
|
Abandon scaling support by AGL window manager 2017
Bug-AGL: SPEC-1611
This reverts commit 8ab10aaafc6fb3dc7bbad755dce9b4bdaa41f287.
Change-Id: Id6afb263a6dc30929b922e469d906e2e5190f7b0
|
|
WM can't reset the state when application crashes,
after the below commit.
This patch fix the crashed application can re-launch.
Related commit:
https://gerrit.automotivelinux.org/gerrit/#/c/14871/
Bug-AGL: SPEC-1471
Change-Id: I46019b30cc8e9a341b4b681a0288f053b3ac1b30
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
|
|
This reverts commit 99b6f4d2fcd421d3a760a88a67e511fb6fc98068.
Change-Id: I8725ca05a3e3fa0ea9e1db935e9e7d5b85a9affd
|
|
PolicyManager decides next layout by using occured event and current state
based on the policy table.
And PolicyManager is plugin for WindowManager.
Therefore the OEMs can replace it.
This patch provides PolicyManager I/F as reference implementation
and does not have policy table.
Therefore PolicyManager updates each layers
to draw the applications in normal.full area
in accordance with just like activate/deactivate request.
[APIs of PolicyManager class]
- int initialize(void)
Initialize PolicyManger.
input: none
output: 0(success), -1(error)
- void registerCallback(CallbackTable callback_table)
Register callback functions.
input: the pointers of callback handlers
output: 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.
input: input event data as json_object
output: 0(success), -1(error)
- int executeStateTransition(void)
Execute state transition by using set input event data.
input: none
output: 0(success), -1(error)
- void undoState(void)
Undo state only once per once state transition.
input: none
output: none
[Callbacks of PolicyManager 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: I44b771d4145078bf3ea05e26165bb9c1a03b10c3
Signed-off-by: Yuta Doi <yuta-d@witz-inc.co.jp>
|
|
Since the AGL HomeScreen of CES2018 assumes that the screen
resolution is 1080x1920px, the graphics of it partially
corrupted with others.
To fix this issue, now the AGL window manager automatically
scales size according to "scaling" value in setting.json
By default(even if "scaling" is not set), this scaling keeps
'fullscreen' aspect rate in area.db("aspect_fit")
User can select 3 options.
- "aspect_fit" : Scale aspect rate of 'fullscreen' in area.db.(default)
- "display_fit": Force to scale to display size.
- "none" or others
: Set size just as area.db
Bug-AGL: SPEC-1568
Bug-AGL: SPEC-1569
Change-Id: Ia08c0ebb2d71ae8f89a90088e181381c3ba3562d
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
|
|
Change-Id: I973610e2b47ebd842291d568bd88578150efcef5
Signed-off-by: Yuta Doi <yuta-d@witz-inc.co.jp>
|
|
Update the role name (drawing_name)
and WindowManager converts the role from old one to new.
We plan to delete the old roles by GG.
Therefore the applications can use old olds until GG,
After GG, old roles can not be used.
If the applications use it,
WindowManager regards the applications as the role "fallback".
Therefore the applications may not be displayed in the intended layout.
For the role "fallback", please refer to JIRA SPEC-1331.
Bug-AGL: SPEC-1566
Change-Id: I6ca703183e3cab72ac460094ef14dc3675a98cb6
Signed-off-by: Yuta Doi <yuta-d@witz-inc.co.jp>
|
|
Add new signal "screen_updated" to Window Manager.
This is emitted when application size or visibility is changed,
the application ids are notified to subscribers.
There are some applications such like HomeScreen,
which needs the visibility of other applications turns on,
so add new event.
The key is "ids" and data is application id which is written in
config.xml for each application.
This signal format is here:
ON-EVENT windowmanager/screen_updated:
{
"event":"windowmanager\/screen_updated",
"data":{
"ids":[
"navigation",
"hvac"
]
},
"jtype":"afb-event"
}
Bug-AGL: SPEC-1532
Change-Id: I6c1f263be00d4b496e0e0f77dd88b6118489772f
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
|
|
Sort API order written in source code according to the order
in header file to improve readability.
Change-Id: I6606590ce2ad9c285b3cfd83dc6c0741890b105f
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
|
|
struct App is core class of Window Manager.
The name of "struct App" is strange so rename it to WindowManager.
Change-Id: Ia5f2e5acbadb8d58fe772aec0cd15a4a2e91369e
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
|