enrollLocalLogin method

Future<void> enrollLocalLogin(
  1. BuildContext context
)

Implementation

Future<void> enrollLocalLogin(BuildContext context) async {
  if (_hasLocalAuth!) {
    var storage = new FlutterSecureStorage();
    var localLoginString = await storage.read(key: 'localLoginEnabled');
    var localLoginInitialisedString =
        await storage.read(key: 'localLoginInitialised');

    if (localLoginString == null ||
        (localLoginString.toLowerCase() == 'true' &&
            localLoginInitialisedString == null)) {
      var transition = BindingTransition();
      var enroll = await transition.yesNoTransition(
        context: context,
        title: _localAuthType! + ' Enrollment',
        subTitle: '',
        message: 'Would you like you like to enable ' + _localAuthType! + '?',
        confirmLabel: 'CONFIRM',
        icon: _localAuthType == 'Face Id'
            ? Icons.face_sharp
            : Icons.fingerprint,
        iconColor: Colors.orangeAccent,
      );

      if (enroll.toString().toLowerCase() == 'true') {
        await storage.write(key: 'localLoginEnabled', value: 'true');
        await storage.write(key: 'localLoginInitialised', value: 'true');
        await storage.write(
            key: 'localLoginUid', value: _authService.user.uid);

        _localLoginEnabled = true;
        _localLoginInitialised = true;
        _localLoginUid = _authService.user.uid;

        await storage.write(
            key: 'localLoginEmail', value: _loginBindingmodel.email);
        await storage.write(
            key: 'localLoginPassword', value: _loginBindingmodel.password);
      } else {
        await storage.write(key: 'localLoginEnabled', value: 'false');
        _localLoginEnabled = false;
        _localLoginInitialised = false;
        _localLoginUid = null;
      }
    }
  }
}