diff options
author | Scott Murray <scott.murray@konsulko.com> | 2022-11-21 02:30:35 -0500 |
---|---|---|
committer | Scott Murray <scott.murray@konsulko.com> | 2022-11-21 02:44:25 -0500 |
commit | e21709c9601209e26d09dea0a45e37f0636bb605 (patch) | |
tree | 6f7e9d1bda9126cc0dfe6ba401b40739715867e2 /lib/page_media.dart | |
parent | 1f5b482843291c17e3cbb265f59101f8d1874182 (diff) |
Rework for use in Flutter demo platform image
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
Diffstat (limited to 'lib/page_media.dart')
-rw-r--r-- | lib/page_media.dart | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/lib/page_media.dart b/lib/page_media.dart deleted file mode 100644 index 618feb3..0000000 --- a/lib/page_media.dart +++ /dev/null @@ -1,78 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_homescreen/layout_size_helper.dart'; - -class MediaPage extends StatelessWidget { - const MediaPage({Key? key}) : super(key: key); - - Widget _createMediaButton( - IconData icon, double iconSize, Null Function() onPressed) { - return Padding( - padding: EdgeInsets.all(iconSize / 8), - child: ElevatedButton( - onPressed: onPressed, - child: Icon( - icon, - color: Colors.blueGrey.shade700, - size: iconSize, - ), - style: ElevatedButton.styleFrom( - shape: CircleBorder(), - padding: EdgeInsets.all(iconSize / 8), - primary: Colors.blueGrey.shade100, - onPrimary: Colors.white, - ), - ), - ); - } - - @override - Widget build(BuildContext context) { - var sizeHelper = LayoutSizeHelper(context); - return Container( - color: Colors.deepPurple.shade50, - child: Center( - child: Container( - color: Colors.blueGrey.shade900, - constraints: BoxConstraints.expand(), - alignment: Alignment.center, - child: Stack( - alignment: Alignment.center, - children: [ - AspectRatio( - aspectRatio: 16 / 9, - child: Container( - decoration: BoxDecoration( - gradient: LinearGradient( - begin: Alignment.bottomLeft, - end: Alignment.topRight, - colors: [ - Colors.blueGrey.shade700, - Colors.blueGrey.shade400 - ])), - ), - ), - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - _createMediaButton( - Icons.skip_previous, - sizeHelper.defaultIconSize, - () {}, - ), - _createMediaButton( - Icons.play_arrow, - sizeHelper.defaultIconSize, - () {}, - ), - _createMediaButton( - Icons.skip_next, - sizeHelper.defaultIconSize, - () {}, - ), - ], - ) - ], - ), - ))); - } -} |