checkShouldShowPin method

void checkShouldShowPin()

Implementation

void checkShouldShowPin() {
  var lastSession = SessionManagement.appLastSession();
  var lastPinChangedAt = SessionManagement.lastPinChangedAt();
  var sessionDifference = DateTime.now().difference(
      DateTime.fromMillisecondsSinceEpoch(lastSession, isUtc: true));
  var lockSessionDifference = DateTime.now().difference(
      DateTime.fromMillisecondsSinceEpoch(lastPinChangedAt, isUtc: true));
  debugPrint('sessionDifference seconds ${sessionDifference.inSeconds}');
  debugPrint('lockSessionDifference days ${lockSessionDifference.inDays}');
  if (Constants.pinAlert <= lockSessionDifference.inDays &&
      Constants.pinExpiry >= lockSessionDifference.inDays) {
    //Alert Day
    debugPrint('Alert Day');
  } else if (Constants.pinExpiry < lockSessionDifference.inDays) {
    //Already Expired day
    debugPrint('Already Expired');
    presentPinPage();
  } else {
    //if 30 days not completed
    debugPrint('Not Expired');
    if (Constants.sessionLockTime <= sessionDifference.inSeconds ||
        fromLockScreen) {
      //Show Pin if App Lock Enabled
      debugPrint('Show Pin');
      presentPinPage();
    }
  }
  fromLockScreen = false;
}