private async Task HandleLockingAsync() { if (await _lockService.IsLockedAsync()) { return; } var authed = await _userService.IsAuthenticatedAsync(); if (!authed) { return; } var lockOption = _platformUtilsService.LockTimeout(); if (lockOption == null) { lockOption = await _storageService.GetAsync <int?>(Constants.LockOptionKey); } lockOption = lockOption.GetValueOrDefault(-1); if (lockOption > 0) { _messagingService.Send("scheduleLockTimer", lockOption.Value); } else if (lockOption == 0) { await _lockService.LockAsync(true); } }
private async Task HandleVaultTimeoutAsync() { if (await _vaultTimeoutService.IsLockedAsync()) { return; } var authed = await _userService.IsAuthenticatedAsync(); if (!authed) { return; } // Will only ever be null - look to remove this in the future var vaultTimeout = _platformUtilsService.LockTimeout(); if (vaultTimeout == null) { vaultTimeout = await _storageService.GetAsync <int?>(Constants.VaultTimeoutKey); } vaultTimeout = vaultTimeout.GetValueOrDefault(-1); if (vaultTimeout == 0) { var action = await _storageService.GetAsync <string>(Constants.VaultTimeoutActionKey); if (action == "logOut") { await _vaultTimeoutService.LogOutAsync(); } else { await _vaultTimeoutService.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 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 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); } }