diff options
author | Scott Murray <scott.murray@konsulko.com> | 2023-12-21 17:22:52 -0500 |
---|---|---|
committer | Scott Murray <scott.murray@konsulko.com> | 2023-12-21 22:48:36 +0000 |
commit | a445ffb0d847b8d1e44213b95bfbe60ecdf19952 (patch) | |
tree | 8854ab9d843a983f6b43c3cd6eb7df34765a167c /protos/protos/applauncher.proto | |
parent | 4ae68f5be11d110f2df10d54377d970921e30a21 (diff) |
Add application launcher support
Changes:
- Add required agl-shell and applauncher gRPC API source and
generated files.
- Remove unused deprecated databroker gRPC API files as cleanup.
- Add app launcher helper object and associated RiverPod provider.
The implementation is based on code from the old Flutter
homescreen. There will likely be follow up work to use the
recent changes to the agl-shell gRPC API to handle display
setting for applications needing remote displays.
- Wire up application enumeration and starting in the app page.
A placeholder generic application icon has been added that will
be used for the external applications for now, as the SVG icons
being used with the old homescreens are not really suitable.
- Wire up activating the homescreen again if the bottom panel is
touched after an external application has been started.
Bug-AGL: SPEC-5026
Change-Id: I01de4760cfd098d3b5f2e6843ad9103a8ea87935
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Diffstat (limited to 'protos/protos/applauncher.proto')
-rw-r--r-- | protos/protos/applauncher.proto | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/protos/protos/applauncher.proto b/protos/protos/applauncher.proto new file mode 100644 index 0000000..0b8e0fc --- /dev/null +++ b/protos/protos/applauncher.proto @@ -0,0 +1,50 @@ +syntax = "proto3"; + +package automotivegradelinux; + +service AppLauncher { + rpc StartApplication(StartRequest) returns (StartResponse) {} + rpc ListApplications(ListRequest) returns (ListResponse) {} + rpc GetStatusEvents(StatusRequest) returns (stream StatusResponse) {} +} + +message StartRequest { + string id = 1; +} + +message StartResponse { + bool status = 1; + string message = 2; +} + +message ListRequest { +} + +message ListResponse { + repeated AppInfo apps = 1; +} + +message AppInfo { + string id = 1; + string name = 2; + string icon_path = 3; +} + +message StatusRequest { +} + +message AppStatus { + string id = 1; + string status = 2; +} + +// Future-proofing for e.g. potentially signaling a list refresh +message LauncherStatus { +} + +message StatusResponse { + oneof status { + AppStatus app = 1; + LauncherStatus launcher = 2; + } +} |