From 090c0b369c04e045312577ed2729025c09b374ac Mon Sep 17 00:00:00 2001 From: Matt Perry Date: Thu, 6 Aug 2015 14:15:03 -0400 Subject: [PATCH] Change several onStatusChanged callbacks to onDismissed. We only use them for the transition to dismissed. --- .../sky/example/fitness/lib/feed.dart | 6 +++--- .../sky/example/stocks/lib/stock_home.dart | 14 +++++++------- .../sky/example/stocks/lib/stock_menu.dart | 6 +++--- sky/packages/sky/lib/widgets/drawer.dart | 19 +++++++------------ sky/packages/sky/lib/widgets/popup_menu.dart | 11 +++++------ sky/packages/sky/lib/widgets/snack_bar.dart | 10 +++++----- 6 files changed, 30 insertions(+), 36 deletions(-) diff --git a/sky/packages/sky/example/fitness/lib/feed.dart b/sky/packages/sky/example/fitness/lib/feed.dart index de42017a2a65d..74c442d291c50 100644 --- a/sky/packages/sky/example/fitness/lib/feed.dart +++ b/sky/packages/sky/example/fitness/lib/feed.dart @@ -96,7 +96,7 @@ class FeedFragment extends StatefulComponent { return new Drawer( showing: _drawerShowing, level: 3, - onStatusChanged: _handleDrawerStatusChange, + onDismissed: _handleDrawerDismissed, navigator: navigator, children: [ new DrawerHeader(children: [new Text('Fitness')]), @@ -132,9 +132,9 @@ class FeedFragment extends StatefulComponent { }); } - void _handleDrawerStatusChange(AnimationStatus status) { + void _handleDrawerDismissed() { setState(() { - _drawerStatus = status; + _drawerStatus = AnimationStatus.dismissed; }); } diff --git a/sky/packages/sky/example/stocks/lib/stock_home.dart b/sky/packages/sky/example/stocks/lib/stock_home.dart index 1aa50a1dfe5bf..6f6eac67e5275 100644 --- a/sky/packages/sky/example/stocks/lib/stock_home.dart +++ b/sky/packages/sky/example/stocks/lib/stock_home.dart @@ -68,9 +68,9 @@ class StockHome extends StatefulComponent { }); } - void _handleDrawerStatusChange(AnimationStatus status) { + void _handleDrawerDismissed() { setState(() { - _drawerStatus = status; + _drawerStatus = AnimationStatus.dismissed; }); } @@ -90,9 +90,9 @@ class StockHome extends StatefulComponent { }); } - void _handleMenuStatusChanged(AnimationStatus status) { + void _handleMenuDismissed() { setState(() { - _menuStatus = status; + _menuStatus = AnimationStatus.dismissed; }); } @@ -119,7 +119,7 @@ class StockHome extends StatefulComponent { return new Drawer( level: 3, showing: _drawerShowing, - onStatusChanged: _handleDrawerStatusChange, + onDismissed: _handleDrawerDismissed, navigator: navigator, children: [ new DrawerHeader(children: [new Text('Stocks')]), @@ -254,7 +254,7 @@ class StockHome extends StatefulComponent { showing: _isSnackBarShowing, content: new Text("Stock purchased!"), actions: [new SnackBarAction(label: "UNDO", onPressed: _handleUndo)], - onStatusChanged: (status) { setState(() { _snackBarStatus = status; }); } + onDismissed: () { setState(() { _snackBarStatus = AnimationStatus.dismissed; }); } ); } @@ -279,7 +279,7 @@ class StockHome extends StatefulComponent { overlays.add(new ModalOverlay( children: [new StockMenu( showing: _menuShowing, - onStatusChanged: _handleMenuStatusChanged, + onDismissed: _handleMenuDismissed, navigator: navigator, autorefresh: _autorefresh, onAutorefreshChanged: _handleAutorefreshChanged diff --git a/sky/packages/sky/example/stocks/lib/stock_menu.dart b/sky/packages/sky/example/stocks/lib/stock_menu.dart index f0a13a5b2c778..2d4fc1ea2ba28 100644 --- a/sky/packages/sky/example/stocks/lib/stock_menu.dart +++ b/sky/packages/sky/example/stocks/lib/stock_menu.dart @@ -8,14 +8,14 @@ class StockMenu extends Component { StockMenu({ Key key, this.showing, - this.onStatusChanged, + this.onDismissed, this.navigator, this.autorefresh: false, this.onAutorefreshChanged }) : super(key: key); final bool showing; - final PopupMenuStatusChangedCallback onStatusChanged; + final PopupMenuDismissedCallback onDismissed; final Navigator navigator; final bool autorefresh; final ValueChanged onAutorefreshChanged; @@ -38,7 +38,7 @@ class StockMenu extends Component { ], level: 4, showing: showing, - onStatusChanged: onStatusChanged, + onDismissed: onDismissed, navigator: navigator ), right: sky.view.paddingRight, diff --git a/sky/packages/sky/lib/widgets/drawer.dart b/sky/packages/sky/lib/widgets/drawer.dart index 7cb8df0a0f852..cbf68fa466c96 100644 --- a/sky/packages/sky/lib/widgets/drawer.dart +++ b/sky/packages/sky/lib/widgets/drawer.dart @@ -40,7 +40,7 @@ const Duration _kThemeChangeDuration = const Duration(milliseconds: 200); const Point _kOpenPosition = Point.origin; const Point _kClosedPosition = const Point(-_kWidth, 0.0); -typedef void DrawerStatusChangedCallback(AnimationStatus status); +typedef void DrawerDismissedCallback(); class Drawer extends StatefulComponent { Drawer({ @@ -48,14 +48,14 @@ class Drawer extends StatefulComponent { this.children, this.showing: false, this.level: 0, - this.onStatusChanged, + this.onDismissed, this.navigator }) : super(key: key); List children; bool showing; int level; - DrawerStatusChangedCallback onStatusChanged; + DrawerDismissedCallback onDismissed; Navigator navigator; AnimationPerformance _performance; @@ -80,7 +80,7 @@ class Drawer extends StatefulComponent { level = source.level; navigator = source.navigator; showing = source.showing; - onStatusChanged = source.onStatusChanged; + onDismissed = source.onDismissed; } Widget build() { @@ -120,18 +120,13 @@ class Drawer extends StatefulComponent { } void _onDismissed() { - _onStatusChanged(AnimationStatus.dismissed); - } - - void _onStatusChanged(AnimationStatus status) { scheduleMicrotask(() { - if (status == AnimationStatus.dismissed && - navigator != null && + if (navigator != null && navigator.currentRoute is RouteState && (navigator.currentRoute as RouteState).owner == this) // TODO(ianh): remove cast once analyzer is cleverer navigator.pop(); - if (onStatusChanged != null) - onStatusChanged(status); + if (onDismissed != null) + onDismissed(); }); } diff --git a/sky/packages/sky/lib/widgets/popup_menu.dart b/sky/packages/sky/lib/widgets/popup_menu.dart index fbc5ceafbac55..ceb2cf06a19a7 100644 --- a/sky/packages/sky/lib/widgets/popup_menu.dart +++ b/sky/packages/sky/lib/widgets/popup_menu.dart @@ -27,21 +27,21 @@ const double _kMenuMaxWidth = 5.0 * _kMenuWidthStep; const double _kMenuHorizontalPadding = 16.0; const double _kMenuVerticalPadding = 8.0; -typedef void PopupMenuStatusChangedCallback(AnimationStatus status); +typedef void PopupMenuDismissedCallback(); class PopupMenu extends StatefulComponent { PopupMenu({ Key key, this.showing, - this.onStatusChanged, + this.onDismissed, this.items, this.level, this.navigator }) : super(key: key); bool showing; - PopupMenuStatusChangedCallback onStatusChanged; + PopupMenuDismissedCallback onDismissed; List items; int level; Navigator navigator; @@ -63,7 +63,6 @@ class PopupMenu extends StatefulComponent { if (!showing && source.showing) _open(); showing = source.showing; - onStatusChanged = source.onStatusChanged; if (level != source.level) { level = source.level; _updateBoxPainter(); @@ -96,8 +95,8 @@ class PopupMenu extends StatefulComponent { navigator.currentRoute is RouteState && (navigator.currentRoute as RouteState).owner == this) // TODO(ianh): remove cast once analyzer is cleverer navigator.pop(); - if (onStatusChanged != null) - onStatusChanged(AnimationStatus.dismissed); + if (onDismissed != null) + onDismissed(); } BoxPainter _painter; diff --git a/sky/packages/sky/lib/widgets/snack_bar.dart b/sky/packages/sky/lib/widgets/snack_bar.dart index 54dca5cde26a4..b0ad48e4229a2 100644 --- a/sky/packages/sky/lib/widgets/snack_bar.dart +++ b/sky/packages/sky/lib/widgets/snack_bar.dart @@ -16,7 +16,7 @@ import 'package:sky/widgets/transitions.dart'; export 'package:sky/animation/animation_performance.dart' show AnimationStatus; -typedef void SnackBarStatusChangedCallback(AnimationStatus status); +typedef void SnackBarDismissedCallback(); const Duration _kSlideInDuration = const Duration(milliseconds: 200); @@ -46,7 +46,7 @@ class SnackBar extends Component { this.content, this.actions, this.showing, - this.onStatusChanged + this.onDismissed }) : super(key: key) { assert(content != null); } @@ -54,11 +54,11 @@ class SnackBar extends Component { Widget content; List actions; bool showing; - SnackBarStatusChangedCallback onStatusChanged; + SnackBarDismissedCallback onDismissed; void _onDismissed() { - if (onStatusChanged != null) - scheduleMicrotask(() { onStatusChanged(AnimationStatus.dismissed); }); + if (onDismissed != null) + scheduleMicrotask(() { onDismissed(); }); } Widget build() {