From f03f214a47a78a52d73e28a76eec78d3f10d07e5 Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Sat, 21 Jul 2018 17:59:36 +0200 Subject: Rewritten login activity --- lib/auth.dart | 43 ------------------------------------------- 1 file changed, 43 deletions(-) delete mode 100644 lib/auth.dart (limited to 'lib/auth.dart') diff --git a/lib/auth.dart b/lib/auth.dart deleted file mode 100644 index 6ee8a0b..0000000 --- a/lib/auth.dart +++ /dev/null @@ -1,43 +0,0 @@ -import 'package:beam_messenger/data/database_helper.dart'; - -enum AuthState { LOGGED_IN, LOGGED_OUT } - -abstract class AuthStateListener { - void onAuthStateChanged(AuthState state); -} - -// A naive implementation of Observer/Subscriber Pattern. Will do for now. -class AuthStateProvider { - static final AuthStateProvider _instance = new AuthStateProvider.internal(); - - List _subscribers; - - factory AuthStateProvider() => _instance; - AuthStateProvider.internal() { - _subscribers = new List(); - initState(); - } - - void initState() async { - var db = new DatabaseHelper(); - var isLoggedIn = await db.isLoggedIn(); - if (isLoggedIn) - notify(AuthState.LOGGED_IN); - else - notify(AuthState.LOGGED_OUT); - } - - void subscribe(AuthStateListener listener) { - _subscribers.add(listener); - } - - void dispose(AuthStateListener listener) { - for (var l in _subscribers) { - if (l == listener) _subscribers.remove(l); - } - } - - void notify(AuthState state) { - _subscribers.forEach((AuthStateListener s) => s.onAuthStateChanged(state)); - } -} -- cgit v1.2.3