From 5df8963485bc4ec5283b2f87d101a06bd9f62b4a Mon Sep 17 00:00:00 2001 From: Suraj Adhikari Date: Mon, 6 Dec 2021 20:50:35 -0600 Subject: [PATCH] fix: sdk dependency --- lib/traits/detail_screen.dart | 5 ++- lib/traits/lock.dart | 59 +++++++++++++++-------------------- pubspec.yaml | 5 ++- 3 files changed, 31 insertions(+), 38 deletions(-) diff --git a/lib/traits/detail_screen.dart b/lib/traits/detail_screen.dart index bbe0844e..711a824e 100644 --- a/lib/traits/detail_screen.dart +++ b/lib/traits/detail_screen.dart @@ -1,7 +1,6 @@ import 'package:bootstrap_icons/bootstrap_icons.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; -import 'package:yonomi_device_widgets/assets/traits/unknown_item_icon.dart'; import 'package:yonomi_device_widgets/providers/lock_provider.dart'; import 'package:yonomi_device_widgets/providers/trait_based_device_notifier.dart'; import 'package:yonomi_device_widgets/traits/lock.dart'; @@ -20,7 +19,7 @@ class DetailScreen extends StatelessWidget { return Consumer(builder: (_, lockProvider, child) { return Padding( padding: const EdgeInsets.all(8.0), - child: LockWidget(), + child: LockWidget(lockProvider), ); }); default: @@ -34,7 +33,7 @@ class DetailScreen extends StatelessWidget { ), Padding( padding: const EdgeInsets.all(8.0), - child: Text('Unknown trait', style: TextStyle(fontSize: 20)), + child: Text(name, style: TextStyle(fontSize: 20)), ), ], ), diff --git a/lib/traits/lock.dart b/lib/traits/lock.dart index f5c39e00..1bd2c47f 100644 --- a/lib/traits/lock.dart +++ b/lib/traits/lock.dart @@ -1,17 +1,16 @@ import 'package:bootstrap_icons/bootstrap_icons.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'package:provider/provider.dart'; -import 'package:yonomi_device_widgets/assets/traits/device_item_icon.dart'; import 'package:yonomi_device_widgets/providers/lock_provider.dart'; -import 'package:yonomi_device_widgets/ui/widget_style_constants.dart'; class LockWidget extends StatelessWidget { + late final LockProvider _lockProvider; + + LockWidget(this._lockProvider); + @override Widget build(BuildContext context) { - final lockProvider = Provider.of(context, listen: true); - - return lockProvider.loadingDetail + return _lockProvider.loadingDetail ? Center(child: CircularProgressIndicator()) : Column( mainAxisAlignment: MainAxisAlignment.start, @@ -19,7 +18,7 @@ class LockWidget extends StatelessWidget { Row( children: [ Text( - lockProvider.deviceDetail.displayName, + _lockProvider.getLockTrait().name, style: Theme.of(context).textTheme.headline6, ), ], @@ -27,45 +26,37 @@ class LockWidget extends StatelessWidget { SizedBox( height: 10, ), - Center( - child: SizedBox( - width: 100, - height: 100, - child: lockProvider.loadingDetail - ? CircularProgressIndicator() - : lockProvider.isLocked - ? Icon( - BootstrapIcons.lock, - size: 100, - ) - : Icon( - BootstrapIcons.unlock, - size: 100, - )), + Container( + child: Center( + child: SizedBox( + width: 100, + height: 100, + child: _lockProvider.loadingAction + ? CircularProgressIndicator() + : _lockProvider.isLocked + ? Icon( + BootstrapIcons.lock, + size: 100, + ) + : Icon( + BootstrapIcons.unlock, + size: 100, + )), + ), ), SizedBox( height: 10, ), CupertinoSwitch( onChanged: (bool value) { - _lockTap(lockProvider); + _lockTap(_lockProvider); }, - value: lockProvider.isLocked, + value: _lockProvider.isLocked, ), ], ); } - Widget getLockStateIcon(LockProvider lockProvider) { - return (lockProvider.loadingDetail || lockProvider.loadingAction) - ? Center(child: CircularProgressIndicator()) - : (lockProvider.isLocked) - ? DeviceItemIcon.buildLockIcon( - 175, WidgetStyleConstants.deviceDetailIconColorActive) - : DeviceItemIcon.buildUnlockIcon( - 175, WidgetStyleConstants.deviceDetailIconColorInactive); - } - void _lockTap(LockProvider provider) { bool setLock = !provider.isLocked; provider.setLockUnlockAction(provider.deviceDetail.id, setLock); diff --git a/pubspec.yaml b/pubspec.yaml index 26c9fa65..ff6d79fc 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -11,7 +11,10 @@ dependencies: flutter: sdk: flutter bootstrap_icons: ^1.5.0 - yonomi_platform_sdk: ^2.0.0 + yonomi_platform_sdk: + git: + url: git@github.com:Yonomi/yonomi-sdk-dart.git + ref: fix/unknown_trait_name dev_dependencies: mockito: ^5.0.15