mirror of
https://github.com/bitwarden/mobile.git
synced 2024-11-29 12:45:20 +01:00
bugfixes for lock block when setting timeout to immediate (#1455)
This commit is contained in:
parent
1f57ba6c50
commit
d8e68a266c
@ -327,6 +327,11 @@ namespace Bit.Droid
|
|||||||
{
|
{
|
||||||
if (intent.Action == Intent.ActionSend && intent.Type != null)
|
if (intent.Action == Intent.ActionSend && intent.Type != null)
|
||||||
{
|
{
|
||||||
|
if ((intent.Flags & ActivityFlags.LaunchedFromHistory) == ActivityFlags.LaunchedFromHistory)
|
||||||
|
{
|
||||||
|
// don't re-deliver intent if resuming from app switcher
|
||||||
|
return null;
|
||||||
|
}
|
||||||
var type = intent.Type;
|
var type = intent.Type;
|
||||||
if (type.Contains("text/"))
|
if (type.Contains("text/"))
|
||||||
{
|
{
|
||||||
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Bit.App.Models;
|
using Bit.App.Models;
|
||||||
using Bit.App.Resources;
|
using Bit.App.Resources;
|
||||||
|
using Bit.App.Utilities;
|
||||||
using Bit.Core.Abstractions;
|
using Bit.Core.Abstractions;
|
||||||
using Bit.Core.Enums;
|
using Bit.Core.Enums;
|
||||||
using Bit.Core.Utilities;
|
using Bit.Core.Utilities;
|
||||||
@ -81,7 +82,10 @@ namespace Bit.App.Pages
|
|||||||
protected override async void OnAppearing()
|
protected override async void OnAppearing()
|
||||||
{
|
{
|
||||||
base.OnAppearing();
|
base.OnAppearing();
|
||||||
await _vaultTimeoutService.CheckVaultTimeoutAsync();
|
if (!await AppHelpers.IsVaultTimeoutImmediateAsync())
|
||||||
|
{
|
||||||
|
await _vaultTimeoutService.CheckVaultTimeoutAsync();
|
||||||
|
}
|
||||||
if (await _vaultTimeoutService.IsLockedAsync())
|
if (await _vaultTimeoutService.IsLockedAsync())
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
@ -121,7 +125,6 @@ namespace Bit.App.Pages
|
|||||||
if (_vm.IsAddFromShare && Device.RuntimePlatform == Device.Android)
|
if (_vm.IsAddFromShare && Device.RuntimePlatform == Device.Android)
|
||||||
{
|
{
|
||||||
_appOptions.CreateSend = null;
|
_appOptions.CreateSend = null;
|
||||||
_vm.CloseMainApp();
|
|
||||||
}
|
}
|
||||||
return base.OnBackButtonPressed();
|
return base.OnBackButtonPressed();
|
||||||
}
|
}
|
||||||
|
@ -398,7 +398,7 @@ namespace Bit.App.Pages
|
|||||||
|
|
||||||
if (IsAddFromShare && Device.RuntimePlatform == Device.Android)
|
if (IsAddFromShare && Device.RuntimePlatform == Device.Android)
|
||||||
{
|
{
|
||||||
CloseMainApp();
|
_deviceActionService.CloseMainApp();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -429,14 +429,6 @@ namespace Bit.App.Pages
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CloseMainApp()
|
|
||||||
{
|
|
||||||
if (Device.RuntimePlatform == Device.Android)
|
|
||||||
{
|
|
||||||
_deviceActionService.CloseMainApp();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task<bool> RemovePasswordAsync()
|
public async Task<bool> RemovePasswordAsync()
|
||||||
{
|
{
|
||||||
return await AppHelpers.RemoveSendPasswordAsync(SendId);
|
return await AppHelpers.RemoveSendPasswordAsync(SendId);
|
||||||
|
@ -147,7 +147,10 @@ namespace Bit.App.Pages
|
|||||||
protected override async void OnAppearing()
|
protected override async void OnAppearing()
|
||||||
{
|
{
|
||||||
base.OnAppearing();
|
base.OnAppearing();
|
||||||
await _vaultTimeoutService.CheckVaultTimeoutAsync();
|
if (!await AppHelpers.IsVaultTimeoutImmediateAsync())
|
||||||
|
{
|
||||||
|
await _vaultTimeoutService.CheckVaultTimeoutAsync();
|
||||||
|
}
|
||||||
if (await _vaultTimeoutService.IsLockedAsync())
|
if (await _vaultTimeoutService.IsLockedAsync())
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
@ -7,6 +7,7 @@ using System;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Bit.App.Controls;
|
using Bit.App.Controls;
|
||||||
|
using Bit.App.Utilities;
|
||||||
using Xamarin.Forms;
|
using Xamarin.Forms;
|
||||||
|
|
||||||
namespace Bit.App.Pages
|
namespace Bit.App.Pages
|
||||||
@ -34,7 +35,10 @@ namespace Bit.App.Pages
|
|||||||
protected async override void OnAppearing()
|
protected async override void OnAppearing()
|
||||||
{
|
{
|
||||||
base.OnAppearing();
|
base.OnAppearing();
|
||||||
await _vaultTimeoutService.CheckVaultTimeoutAsync();
|
if (!await AppHelpers.IsVaultTimeoutImmediateAsync())
|
||||||
|
{
|
||||||
|
await _vaultTimeoutService.CheckVaultTimeoutAsync();
|
||||||
|
}
|
||||||
if (await _vaultTimeoutService.IsLockedAsync())
|
if (await _vaultTimeoutService.IsLockedAsync())
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
@ -458,5 +458,17 @@ namespace Bit.App.Utilities
|
|||||||
var storageService = ServiceContainer.Resolve<IStorageService>("storageService");
|
var storageService = ServiceContainer.Resolve<IStorageService>("storageService");
|
||||||
await storageService.RemoveAsync(Constants.InvalidUnlockAttempts);
|
await storageService.RemoveAsync(Constants.InvalidUnlockAttempts);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static async Task<bool> IsVaultTimeoutImmediateAsync()
|
||||||
|
{
|
||||||
|
var storageService = ServiceContainer.Resolve<IStorageService>("storageService");
|
||||||
|
|
||||||
|
var vaultTimeoutMinutes = await storageService.GetAsync<int?>(Constants.VaultTimeoutKey);
|
||||||
|
if (vaultTimeoutMinutes.GetValueOrDefault(-1) == 0)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user