logout static method

dynamic logout({
  1. bool isRemove = false,
})

Implementation

static logout({bool isRemove = false}) => SharedPreferences.getInstance().then((prefs) async {
  try {
    FirebaseMessaging.instance.deleteToken();
  } catch(_) {}
  final Constants constants = Constants();
  String device = prefs.getString('device_id')??'';
  String key = prefs.getString(constants.loginKey)??'';
  String pass = prefs.getString(constants.password)??'';
  String env = prefs.getString('env')??'';
  String cart = prefs.getString('carts')??'';
  String cartInfo = prefs.getString('cart_info')??'';
  bool remember = prefs.getBool(constants.isRemember)??false;
  String? keyFinger = prefs.getString(constants.loginKeyFinger);
  String? passFinger = prefs.getString(constants.passwordFinger);
  prefs.clear();
  constants.contributeRole = null;
  constants.isLogin = false;
  prefs.setBool('is_login', false);
  prefs.setString('env', env);
  prefs.setString('carts', cart);
  prefs.setString('cart_info', cartInfo);
  if(isRemove) return;
  prefs.setString('device_id', device);
  if(remember){
    prefs.setString(constants.loginKey, key);
    prefs.setString(constants.password, pass);
  } else {
    prefs.setString(constants.loginKey, '');
    prefs.setString(constants.password, '');
  }
  prefs.setBool(constants.isRemember, remember);
  if (keyFinger != null) prefs.setString(constants.loginKeyFinger, keyFinger);
  if (passFinger != null) prefs.setString(constants.passwordFinger, passFinger);
});