Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(551)

Unified Diff: sky/sdk/example/fitness/lib/home.dart

Issue 1232673003: Delete drawerController and make drawer handle back behavior natively (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Update settings behavior for fitness app as well Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | sky/sdk/example/fitness/lib/main.dart » ('j') | sky/sdk/example/stocks/lib/stock_home.dart » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/sdk/example/fitness/lib/home.dart
diff --git a/sky/sdk/example/fitness/lib/home.dart b/sky/sdk/example/fitness/lib/home.dart
index c22a80fb12876a55c4dc17362b6750aa3f6412f8..d78678e1f49d1f3ea8720ca2da91492c232e26aa 100644
--- a/sky/sdk/example/fitness/lib/home.dart
+++ b/sky/sdk/example/fitness/lib/home.dart
@@ -31,13 +31,6 @@ class HomeFragment extends StatefulComponent {
FitnessMode _fitnessMode = FitnessMode.measure;
- void initState {
- // if (debug)
- // new Timer(new Duration(seconds: 1), dumpState);
- _drawerController = new DrawerController(_handleDrawerStatusChanged);
- super.initState();
- }
-
void syncFields(HomeFragment source) {
navigator = source.navigator;
userData = source.userData;
@@ -46,30 +39,20 @@ class HomeFragment extends StatefulComponent {
bool _isShowingSnackBar = false;
bool _isRunning = false;
- DrawerController _drawerController;
bool _drawerShowing = false;
- void _handleDrawerStatusChanged(bool showing) {
- if (!showing && navigator.currentRoute.name == "/drawer") {
- navigator.pop();
- }
- setState(() {
- _drawerShowing = showing;
- });
- }
-
void _handleFitnessModeChange(FitnessMode value) {
setState(() {
_fitnessMode = value;
});
- assert(navigator.currentRoute.name == '/drawer');
- navigator.pop();
}
Drawer buildDrawer() {
return new Drawer(
- controller: _drawerController,
+ showing: _drawerShowing,
level: 3,
+ onStatusChange: _handleDrawerStatusChange,
+ navigator: navigator,
children: [
new DrawerHeader(children: [new Text('Fitness')]),
new MenuItem(
@@ -94,17 +77,20 @@ class HomeFragment extends StatefulComponent {
);
}
+ void _handleDrawerStatusChange(bool showing) {
+ setState(() {
+ _drawerShowing = showing;
+ });
+ }
+
void _handleShowSettings() {
- assert(navigator.currentRoute.name == '/drawer');
navigator.pop();
- assert(navigator.currentRoute.name == '/');
navigator.pushNamed('/settings');
}
void _handleOpenDrawer() {
- _drawerController.open();
- navigator.pushState("/drawer", (_) {
- _drawerController.close();
+ setState(() {
+ _drawerShowing = true;
});
}
@@ -203,7 +189,7 @@ class HomeFragment extends StatefulComponent {
body: buildBody(),
snackBar: buildSnackBar(),
floatingActionButton: buildFloatingActionButton(),
- drawer: _drawerShowing ? buildDrawer() : null
+ drawer: buildDrawer()
);
}
}
« no previous file with comments | « no previous file | sky/sdk/example/fitness/lib/main.dart » ('j') | sky/sdk/example/stocks/lib/stock_home.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698