Added central user credentials management
This commit is contained in:
@ -1,15 +1,11 @@
|
||||
|
||||
import 'dart:developer';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_login/flutter_login.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
import '../../api/apiError.dart';
|
||||
import '../../api/webuntis/queries/authenticate/authenticateParams.dart';
|
||||
import '../../api/webuntis/queries/authenticate/authenticate.dart';
|
||||
import '../../api/webuntis/webuntisError.dart';
|
||||
import '../../model/accountData.dart';
|
||||
import '../../model/accountModel.dart';
|
||||
|
||||
class Login extends StatefulWidget {
|
||||
@ -27,8 +23,7 @@ class _LoginState extends State<Login> {
|
||||
}
|
||||
|
||||
Future<String?> _login(LoginData data) async {
|
||||
SharedPreferences preferences = await SharedPreferences.getInstance();
|
||||
preferences.setBool("loggedIn", false);
|
||||
AccountData().removeData(context);
|
||||
|
||||
try {
|
||||
await Authenticate(
|
||||
@ -36,23 +31,17 @@ class _LoginState extends State<Login> {
|
||||
user: data.name,
|
||||
password: data.password,
|
||||
)
|
||||
).run().then((value) => {
|
||||
log(value.sessionId)
|
||||
).run().then((value) async {
|
||||
await AccountData().setData(context, data.name, data.password);
|
||||
|
||||
setState(() {
|
||||
displayDisclaimerText = false;
|
||||
});
|
||||
});
|
||||
} on WebuntisError catch(e) {
|
||||
return e.toString();
|
||||
} on ApiError catch(e) {
|
||||
} catch(e) {
|
||||
return e.toString();
|
||||
}
|
||||
|
||||
setState(() {
|
||||
displayDisclaimerText = false;
|
||||
});
|
||||
|
||||
preferences.setBool("loggedIn", true);
|
||||
preferences.setString("username", data.name);
|
||||
preferences.setString("password", data.password);
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@ -69,7 +58,7 @@ class _LoginState extends State<Login> {
|
||||
|
||||
userValidator: _checkInput,
|
||||
passwordValidator: _checkInput,
|
||||
onSubmitAnimationCompleted: () => Provider.of<AccountModel>(context, listen: false).login(),
|
||||
onSubmitAnimationCompleted: () => Provider.of<AccountModel>(context, listen: false).setState(AccountModelState.loggedIn),
|
||||
|
||||
onLogin: _login,
|
||||
onSignup: null,
|
||||
|
Reference in New Issue
Block a user