mirror of
https://github.com/bitwarden/mobile.git
synced 2024-09-29 04:07:37 +02:00
check lock only if locked on all pages
This commit is contained in:
parent
19c46a472a
commit
13b9e01604
@ -7,8 +7,8 @@ namespace Bit.App.Abstractions
|
|||||||
public interface ILockService
|
public interface ILockService
|
||||||
{
|
{
|
||||||
void UpdateLastActivity();
|
void UpdateLastActivity();
|
||||||
Task<LockType> GetLockTypeAsync(bool forceLock);
|
Task<LockType> GetLockTypeAsync(bool forceLock, bool onlyIfAlreadyLocked = false);
|
||||||
Task CheckLockAsync(bool forceLock);
|
Task CheckLockAsync(bool forceLock, bool onlyIfAlreadyLocked = false);
|
||||||
bool TopPageIsLock();
|
bool TopPageIsLock();
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -30,7 +30,7 @@ namespace Bit.App.Controls
|
|||||||
BackgroundColor = Color.FromHex("efeff4");
|
BackgroundColor = Color.FromHex("efeff4");
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void OnAppearing()
|
protected async override void OnAppearing()
|
||||||
{
|
{
|
||||||
if(_requireAuth && !_authService.IsAuthenticated)
|
if(_requireAuth && !_authService.IsAuthenticated)
|
||||||
{
|
{
|
||||||
@ -52,6 +52,7 @@ namespace Bit.App.Controls
|
|||||||
}
|
}
|
||||||
|
|
||||||
_googleAnalyticsService.TrackPage(GetType().Name);
|
_googleAnalyticsService.TrackPage(GetType().Name);
|
||||||
|
await _lockService.CheckLockAsync(false, true);
|
||||||
base.OnAppearing();
|
base.OnAppearing();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ namespace Bit.App.Services
|
|||||||
_stopwatch?.Restart();
|
_stopwatch?.Restart();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<LockType> GetLockTypeAsync(bool forceLock)
|
public async Task<LockType> GetLockTypeAsync(bool forceLock, bool onlyIfAlreadyLocked = false)
|
||||||
{
|
{
|
||||||
// Only lock if they are logged in
|
// Only lock if they are logged in
|
||||||
if(!_authService.IsAuthenticated)
|
if(!_authService.IsAuthenticated)
|
||||||
@ -59,6 +59,11 @@ namespace Bit.App.Services
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(onlyIfAlreadyLocked && !_appSettings.Locked)
|
||||||
|
{
|
||||||
|
return LockType.None;
|
||||||
|
}
|
||||||
|
|
||||||
// What method are we using to unlock?
|
// What method are we using to unlock?
|
||||||
var fingerprintUnlock = _settings.GetValueOrDefault(Constants.SettingFingerprintUnlockOn, false);
|
var fingerprintUnlock = _settings.GetValueOrDefault(Constants.SettingFingerprintUnlockOn, false);
|
||||||
var pinUnlock = _settings.GetValueOrDefault(Constants.SettingPinUnlockOn, false);
|
var pinUnlock = _settings.GetValueOrDefault(Constants.SettingPinUnlockOn, false);
|
||||||
@ -77,14 +82,14 @@ namespace Bit.App.Services
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task CheckLockAsync(bool forceLock)
|
public async Task CheckLockAsync(bool forceLock, bool onlyIfAlreadyLocked = false)
|
||||||
{
|
{
|
||||||
if(TopPageIsLock())
|
if(TopPageIsLock())
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var lockType = await GetLockTypeAsync(forceLock);
|
var lockType = await GetLockTypeAsync(forceLock, onlyIfAlreadyLocked);
|
||||||
if(lockType == LockType.None)
|
if(lockType == LockType.None)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
Loading…
Reference in New Issue
Block a user