Persist onBoardingCompleted

This commit is contained in:
Vishesh Handa
2019-01-10 13:22:21 +01:00
parent a5830ccbc4
commit eac9857c17
2 changed files with 20 additions and 5 deletions

View File

@ -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(),
));
}

View File

@ -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<Directory> 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<StatefulWidget> createState() {
return StateContainerState();
return StateContainerState(this.onBoardingCompleted);
}
}
@ -48,6 +51,10 @@ class StateContainerState extends State<StateContainer> {
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<StateContainer> {
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(