fix authentication provider

auth_refactor
Mohammad Aljammal 5 years ago
parent 6933b6577f
commit 1187c3b605

@ -322,4 +322,4 @@ SPEC CHECKSUMS:
PODFILE CHECKSUM: 649616dc336b3659ac6b2b25159d8e488e042b69 PODFILE CHECKSUM: 649616dc336b3659ac6b2b25159d8e488e042b69
COCOAPODS: 1.10.0.rc.1 COCOAPODS: 1.10.1

@ -10,6 +10,7 @@ import 'package:doctor_app_flutter/util/dr_app_shared_pref.dart';
import 'package:doctor_app_flutter/util/helpers.dart'; import 'package:doctor_app_flutter/util/helpers.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:http/http.dart' as http; import 'package:http/http.dart' as http;
import 'package:provider/provider.dart';
DrAppSharedPreferances sharedPref = new DrAppSharedPreferances(); DrAppSharedPreferances sharedPref = new DrAppSharedPreferances();
Helpers helpers = new Helpers(); Helpers helpers = new Helpers();
@ -90,12 +91,6 @@ class BaseAppClient {
if (statusCode < 200 || statusCode >= 400) { if (statusCode < 200 || statusCode >= 400) {
onFailure(Helpers.generateContactAdminMsg(), statusCode); onFailure(Helpers.generateContactAdminMsg(), statusCode);
} else { } else {
if(callLog){
callLog = false;
await AuthenticationViewModel().logout(isSessionTimeout: true);
}
var parsed = json.decode(response.body.toString()); var parsed = json.decode(response.body.toString());
if (parsed['ErrorType'] == 4) { if (parsed['ErrorType'] == 4) {
helpers.navigateToUpdatePage(parsed['ErrorEndUserMessage'], helpers.navigateToUpdatePage(parsed['ErrorEndUserMessage'],
@ -106,7 +101,7 @@ class BaseAppClient {
if (body['OTP_SendType'] != null) { if (body['OTP_SendType'] != null) {
onFailure(getError(parsed), statusCode); onFailure(getError(parsed), statusCode);
} else if (!isAllowAny) { } else if (!isAllowAny) {
await AuthenticationViewModel().logout(isSessionTimeout: true); await Provider.of<AuthenticationViewModel>(AppGlobal.CONTEX, listen: false).logout(isSessionTimeout: true);
Helpers.showErrorToast('Your session expired Please login again'); Helpers.showErrorToast('Your session expired Please login again');
} }
if (isAllowAny) { if (isAllowAny) {

@ -361,28 +361,26 @@ class AuthenticationViewModel extends BaseViewModel {
_firebaseMessaging.requestNotificationPermissions(); _firebaseMessaging.requestNotificationPermissions();
} }
setState(ViewState.Busy); setState(ViewState.Busy);
var token = await _firebaseMessaging.getToken();
_firebaseMessaging.getToken().then((String token) async { if (DEVICE_TOKEN == "" && !ProjectViewModel().isLogin) {
if (DEVICE_TOKEN == "" && !ProjectViewModel().isLogin) { DEVICE_TOKEN = token;
DEVICE_TOKEN = token;
await _authService.selectDeviceImei(DEVICE_TOKEN);
await _authService.selectDeviceImei(DEVICE_TOKEN); if (_authService.hasError) {
if (_authService.hasError) { error = _authService.error;
error = _authService.error; setState(ViewState.ErrorLocal);
setState(ViewState.ErrorLocal);
} else {
if (_authService.dashboardItemsList.length > 0) {
user =_authService.dashboardItemsList[0];
sharedPref.setObj(
LAST_LOGIN_USER, _authService.dashboardItemsList[0]);
this.unverified = true;
}
setState(ViewState.Idle);
}
} else { } else {
if (_authService.dashboardItemsList.length > 0) {
user =_authService.dashboardItemsList[0];
sharedPref.setObj(
LAST_LOGIN_USER, _authService.dashboardItemsList[0]);
this.unverified = true;
}
setState(ViewState.Idle); setState(ViewState.Idle);
} }
}); } else {
setState(ViewState.Idle);
}
} }
/// determine the status of the app /// determine the status of the app
@ -407,6 +405,7 @@ class AuthenticationViewModel extends BaseViewModel {
await Helpers.clearSharedPref(); await Helpers.clearSharedPref();
sharedPref.setString(APP_Language, lang); sharedPref.setString(APP_Language, lang);
ProjectViewModel().isLogin = false; ProjectViewModel().isLogin = false;
deleteUser();
if(isSessionTimeout) if(isSessionTimeout)
await getDeviceInfoFromFirebase(); await getDeviceInfoFromFirebase();
Navigator.pushAndRemoveUntil( Navigator.pushAndRemoveUntil(
@ -419,6 +418,7 @@ class AuthenticationViewModel extends BaseViewModel {
deleteUser(){ deleteUser(){
user = null; user = null;
unverified = false;
notifyListeners(); notifyListeners();
} }

@ -172,7 +172,7 @@ class _AppDrawerState extends State<AppDrawer> {
), ),
onTap: () async { onTap: () async {
Navigator.pop(context); Navigator.pop(context);
await AuthenticationViewModel().logout(); await authenticationViewModel.logout();
projectsProvider.isLogin = false; projectsProvider.isLogin = false;
}, },
), ),

Loading…
Cancel
Save