9 changed files with 81 additions and 7 deletions
			
			
		@ -0,0 +1,30 @@ | 
				
			|||||||
 | 
					part of '../neon.dart'; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					abstract class FirstLaunchBlocEvents {} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					abstract class FirstLaunchBlocStates { | 
				
			||||||
 | 
					  BehaviorSubject get onFirstLaunch; | 
				
			||||||
 | 
					} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class FirstLaunchBloc extends Bloc implements FirstLaunchBlocEvents, FirstLaunchBlocStates { | 
				
			||||||
 | 
					  FirstLaunchBloc( | 
				
			||||||
 | 
					    this._sharedPreferences, { | 
				
			||||||
 | 
					    final bool disabled = false, | 
				
			||||||
 | 
					  }) { | 
				
			||||||
 | 
					    if (!disabled && !_sharedPreferences.containsKey(_keyFirstLaunch)) { | 
				
			||||||
 | 
					      onFirstLaunch.add(null); | 
				
			||||||
 | 
					      unawaited(_sharedPreferences.setBool(_keyFirstLaunch, false)); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					  } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  final SharedPreferences _sharedPreferences; | 
				
			||||||
 | 
					  final _keyFirstLaunch = 'first-launch'; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @override | 
				
			||||||
 | 
					  void dispose() { | 
				
			||||||
 | 
					    unawaited(onFirstLaunch.close()); | 
				
			||||||
 | 
					  } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @override | 
				
			||||||
 | 
					  BehaviorSubject onFirstLaunch = BehaviorSubject(); | 
				
			||||||
 | 
					} | 
				
			||||||
					Loading…
					
					
				
		Reference in new issue