Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
Add areas.db which has each area sizes.
less-than-0 values refer to (MAX + 1 - $VALUE)
and MAX is either screen width or height.
layers.json had each area sizes until now,
so removed the sizes from it.
Change-Id: I5cf283581daaca41e2b9e3ee6e947478bff1189c
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>
|
|
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>
|
|
To manage role, surface, layer ... and other info more easily,
Window Manager handles info by application.
WMClient class holds infomation of application.
WMRequest class holds the request from application(trigger) and
the action list judged by policy manager.
The above info is in applist.
*applist
Hold client list.
And hold request list which comes from application to get the right of displaying.
*request
The request from application and the Action judged from Policy Manager
*client
Application information which has surface, role and so on.
*error
Error code and error message.
Integration patch is going to be pushed after this commit.
Bug-AGL: SPEC-1509
Change-Id: I52b161701e22e316137dc42f073b118d164c1e28
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
|
|
*policy.hpp
No affect to Window Manager decision, so remove it.
*config.hpp, config.cpp
Small function to hold the path information to config file,
but no need to hold until the death of process.
So move it to stack variable, then remove files.
Change-Id: I6c210acc586c7cc048e0b158df5e3a511f927b9d
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
|
|
* Shorten build time
* Remove unnecessary dependencies
Change-Id: I960b2a21124cabc62ef73436fb5a7ab5191c4e0d
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
|
|
This patch is for master branch only.
For using wayland-ivi-extension version 2.x,
the wayland protocol in WindowManager is changed
from ivi-controller to ivi-wm.
NOTE:
If using this patch,
the modification for AGL/meta-agl
which described in SPEC-1244 is necessary.
Bug-AGL: SPEC-1244
Change-Id: I5489db202dfeec8f4626aee53bd1f86c145b95d9
Signed-off-by: Yuta Doi <yuta-d@witz-inc.co.jp>
|
|
To reduce the files and redundant code,
* Remove afb_binding_api.* files and generate-binding-glue.py.
* Merge them into other source codes.
Change-Id: Ib61350ee6a42d73efc3fa29fa0c4868145a88e2e
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
|
|
To handle the request from binder(applications) more flexibly,
we have to remove automatic code generation.
Change-Id: Id14ab749cca68b5aa30376ba3ac543372df87233
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
|
|
Remove the unnecessary comments
and replace ascii-art comments with doxygen format.
Change-Id: Id1abf56db58070a83f403a1f8280bc9888e7de09
Signed-off-by: Yuta Doi <yuta-d@witz-inc.co.jp>
|
|
Change-Id: I8ac0463a8efa215477593a96a45f08e38dc46e36
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
|
|
Layer configuration file (layers.json) is placed in target
when installation of windowmanager.
Bug-AGL: SPEC-991
Change-Id: Ia614ec400c185ec7db4379c66321363a68e5e0da
Signed-off-by: Yuta Doi <yuta-d@witz-inc.co.jp>
|
|
Add a new binding agl-service-windowmanager-2017.
A image about this see JIRA SPEC-915.
[PatchSet2]
Use aglwgt make package.
[PatchSet3]
Modify to wait until wayland compositor starts up.
Bug-AGL: SPEC-925
Change-Id: I8729bb71b5e91d5b009a5bab77232d92605c43ea
Signed-off-by: zheng_wenlong <wenlong_zheng@nexty-ele.com>
|