public async Task CheckVaultTimeoutAsync() { if (_platformUtilsService.IsViewOpen()) { return; } if (await ShouldTimeoutAsync()) { await ExecuteTimeoutActionAsync(); } }
public async Task CheckVaultTimeoutAsync() { if (_platformUtilsService.IsViewOpen()) { return; } var authed = await _userService.IsAuthenticatedAsync(); if (!authed) { return; } if (await IsLockedAsync()) { return; } // This only returns null var vaultTimeoutMinutes = _platformUtilsService.LockTimeout(); if (vaultTimeoutMinutes == null) { vaultTimeoutMinutes = await _storageService.GetAsync <int?>(Constants.VaultTimeoutKey); } if (vaultTimeoutMinutes.GetValueOrDefault(-1) < 0) { return; } var lastActiveTime = await _storageService.GetAsync <long?>(Constants.LastActiveTimeKey); if (lastActiveTime == null) { return; } var diffMs = _platformUtilsService.GetActiveTime() - lastActiveTime; var vaultTimeoutMs = vaultTimeoutMinutes * 60000; if (diffMs >= vaultTimeoutMs) { // Pivot based on saved action var action = await _storageService.GetAsync <string>(Constants.VaultTimeoutActionKey); if (action == "logOut") { await LogOutAsync(); } else { await LockAsync(true); } } }
public async Task CheckVaultTimeoutAsync() { if (_platformUtilsService.IsViewOpen()) { return; } var authed = await _userService.IsAuthenticatedAsync(); if (!authed) { return; } if (await IsLockedAsync()) { return; } // This only returns null var vaultTimeout = _platformUtilsService.LockTimeout(); if (vaultTimeout == null) { vaultTimeout = await _storageService.GetAsync <int?>(Constants.VaultTimeoutKey); } if (vaultTimeout.GetValueOrDefault(-1) < 0) { return; } var lastActive = await _storageService.GetAsync <DateTime?>(Constants.LastActiveKey); if (lastActive == null) { return; } var diff = DateTime.UtcNow - lastActive.Value; if (diff.TotalSeconds >= vaultTimeout.Value) { // Pivot based on saved action var action = await _storageService.GetAsync <string>(Constants.VaultTimeoutActionKey); if (action == "logOut") { await LogOutAsync(); } else { await LockAsync(true); } } }
public async Task CheckVaultTimeoutAsync() { if (_platformUtilsService.IsViewOpen()) { return; } var authed = await _userService.IsAuthenticatedAsync(); if (!authed) { return; } if (await IsLockedAsync()) { return; } var vaultTimeoutMinutes = await GetVaultTimeout(); if (vaultTimeoutMinutes < 0 || vaultTimeoutMinutes == null) { return; } if (vaultTimeoutMinutes == 0 && !DelayLockAndLogoutMs.HasValue) { await LockOrLogout(); } var lastActiveTime = await _storageService.GetAsync <long?>(Constants.LastActiveTimeKey); if (lastActiveTime == null) { return; } var diffMs = _platformUtilsService.GetActiveTime() - lastActiveTime; if (DelayLockAndLogoutMs.HasValue && diffMs < DelayLockAndLogoutMs) { return; } var vaultTimeoutMs = vaultTimeoutMinutes * 60000; if (diffMs >= vaultTimeoutMs) { await LockOrLogout(); } }
public async Task CheckLockAsync() { if (_platformUtilsService.IsViewOpen()) { return; } var authed = await _userService.IsAuthenticatedAsync(); if (!authed) { return; } if (await IsLockedAsync()) { return; } var lockOption = _platformUtilsService.LockTimeout(); if (lockOption == null) { lockOption = await _storageService.GetAsync <int?>(Constants.LockOptionKey); } if (lockOption.GetValueOrDefault(-1) < 0) { return; } var lastActive = await _storageService.GetAsync <DateTime?>(Constants.LastActiveKey); if (lastActive == null) { return; } var diff = DateTime.UtcNow - lastActive.Value; if (diff.TotalSeconds >= lockOption.Value) { // need to lock now await LockAsync(true); } }