From eac9857c17366eca13d14b16322e51539659f1b8 Mon Sep 17 00:00:00 2001 From: Vishesh Handa Date: Thu, 10 Jan 2019 13:22:21 +0100 Subject: [PATCH] Persist onBoardingCompleted --- lib/main.dart | 10 ++++++---- lib/state_container.dart | 15 ++++++++++++++- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 00941d89..b64be270 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,13 +1,15 @@ import 'package:flutter/material.dart'; -//import 'package:http/http.dart' as http; +import 'package:shared_preferences/shared_preferences.dart'; import 'package:journal/app.dart'; -import 'package:journal/gitapp.dart'; import 'package:journal/state_container.dart'; -void main() { +void main() async { + var pref = await SharedPreferences.getInstance(); + var onBoardingCompleted = pref.getBool("onBoardingCompleted") ?? false; + runApp(new StateContainer( + onBoardingCompleted: onBoardingCompleted, child: JournalApp(), - //child: GitApp(), )); } diff --git a/lib/state_container.dart b/lib/state_container.dart index d782cdb3..10249e64 100644 --- a/lib/state_container.dart +++ b/lib/state_container.dart @@ -5,6 +5,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:path/path.dart' as p; import 'package:uuid/uuid.dart'; +import 'package:shared_preferences/shared_preferences.dart'; import 'package:journal/appstate.dart'; import 'package:journal/note.dart'; @@ -22,8 +23,10 @@ Future getNotesDir() async { class StateContainer extends StatefulWidget { final Widget child; + final bool onBoardingCompleted; StateContainer({ + @required this.onBoardingCompleted, @required this.child, }); @@ -35,7 +38,7 @@ class StateContainer extends StatefulWidget { @override State createState() { - return StateContainerState(); + return StateContainerState(this.onBoardingCompleted); } } @@ -48,6 +51,10 @@ class StateContainerState extends State { gitCloneUrl: "root@bcn.vhanda.in:git/test", ); + StateContainerState(bool onBoardingCompleted) { + appState.onBoardingCompleted = onBoardingCompleted; + } + @override void initState() { super.initState(); @@ -123,11 +130,17 @@ class StateContainerState extends State { setState(() { this.appState.onBoardingCompleted = true; + _persistOnBoardingCompleted(); _loadNotesFromDisk(); _syncNotes(); }); } + void _persistOnBoardingCompleted() async { + var pref = await SharedPreferences.getInstance(); + pref.setBool("onBoardingCompleted", true); + } + @override Widget build(BuildContext context) { return _InheritedStateContainer(