aboutsummaryrefslogtreecommitdiffstats
path: root/lib/homescreen.dart
AgeCommit message (Collapse)AuthorFilesLines
2023-09-26Switch to compositor's gRPC APIScott Murray1-14/+21
Rework application surface activation to use the new compositor gRPC API instead of our custom platform channel. Bug-AGL: SPEC-4914 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I589af7236c0489125a5ee226cd00ea1f8f1ec9d3
2023-09-14Rework to use KUKSA.val databroker gRPC APIScott Murray1-15/+17
Rework to move from the WebSocket API with the older KUKSA.val server to the gRPC "VAL" API of the databroker. Changes include: - All VISS WebSocket API code has been removed, and the signal providers replumbed to be driven by a new VssClient class with a homescreen-specific child class to hold all the gRPC API handling. - The generated code for the VAL API and its dependencies has been checked in under lib/generated, as there still does not seem to be a good way to generate it during the Flutter build. - The configuration file is now expected to be "homescreen.yaml" instead of "homescreen_config.yaml". The authorization token field name has been renamed to "authorization", and there are new "use-tls" and "ca-certificate" configuration fields. TLS is disabled by default for now, and the default CA certificate is /etc/kuksa.val/CA.pem. - Updated .gitignore to cover a couple of generated files that weren't included. Bug-AGL: SPEC-4762, SPEC-4903 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I1b95ed27a72435364d54ec846f2be88e3d8bb092
2022-12-29Add volume control to bottom panelScott Murray1-65/+60
Changes: - Import a reworked version of the KUKSA.val client code from the Flutter dashboard app, with the aggregated signal Riverpod provider replaced with per-signal providers for the signal the homescreen needs and a couple of temperature ones it might use. Using separate providers is more in-line with recommended Riverpod best practices. - Various tweaks to enable using Riverpod. - Split the bottom panel out into its own widget, and add a stack in it to layer the default logo panel with the volume control slider, which has been added as a new widget definition to provide the hook to drive timer based lowering behavior like the Qt homescreen does. - The KUKSA.val connection widget has been added to the bottom panel rather than overriding the top-level widget as in the dashboard and HVAC apps. This seems preferable with respect to still providing some functionality in the event KUKSA.val is unavailable. - Remove the old demo dashboard and HVAC pages that are now unused, along with the image assets they needed, to allow cleaning up pubspec.yaml and ease maintenance. Bug-AGL: SPEC-4659 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I5d9180a3461948a58321564e71134c4961ce0ef7
2022-11-21Rework for use in Flutter demo platform imageScott Murray1-102/+209
Changes: - Converted to portrait orientation. - Application enumeration and launching+activation enabled via use of applaunchd gRPC API and agl-shell protocol platform channel plugin in the embedder. - Previous dashboard, hvac, media, etc. pages disabled. Some of the code has been kept for potential reuse. - Clock widget tweaked to fit in portrait mode navigation bar, and take text color argument. - Bluetooth, wifi, and phone signal icons mocked up in navigation bar. Known issues: - The bottom panel area is static at present, support for popping up a volume control slider like the Qt demo is planned as an addition. - The path to implementing connection and signal strength indications is currently a bit hazy, it is possible that flutter-dbus might be the simplest stopgap. - State management has been kept basic, as there are a couple of places where using provider or riverpod seems like perhaps an overcomplication. This will be reviewed when KUKSA.val support is integrated for the volume slider. - Some of the layout sizing is a bit ad hoc, and it is not clear if the previous layout helper class is actually worth keeping or not. This should be reviewed when time permits. Bug-AGL: SPEC-4611 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ib486b1fd92047f6c1ff1cd9569f49e3ccaf3269d
2021-12-06Placeholder for the 3D demoFelipe Erias1-1/+2
2021-12-06Preserve state between page changesFelipe Erias1-38/+38
Add more interactive widgets
2021-12-02Added coment on state managementFelipe Erias1-0/+6
2021-12-02Cleanup and stylesFelipe Erias1-1/+1
2021-12-01Colors and stylesFelipe Erias1-1/+5
2021-12-01Add LayoutSizeHelperFelipe Erias1-2/+1
2021-11-26Colors and layouts; add tab tor 3D exampleFelipe Erias1-70/+102
2021-11-26Simple Media pageFelipe Erias1-1/+1
2021-11-12Visual appearance of main navigationFelipe Erias1-3/+5
2021-11-12Nice animation when switching pagesFelipe Erias1-41/+40
2021-11-12Home screen buttons navigate to the appropriate sectionFelipe Erias1-4/+8
2021-11-05Basic structureFelipe Erias1-0/+142