mirror of
https://github.com/bitwarden/android.git
synced 2024-12-24 01:48:25 +03:00
pop pages if cipher doesnt exist
This commit is contained in:
parent
46a8ffa5ae
commit
e34ca49b9b
4 changed files with 28 additions and 4 deletions
|
@ -54,7 +54,14 @@ namespace Bit.App.Pages
|
|||
protected override async void OnAppearing()
|
||||
{
|
||||
base.OnAppearing();
|
||||
await LoadOnAppearedAsync(_scrollView, true, () => _vm.LoadAsync(_appOptions));
|
||||
await LoadOnAppearedAsync(_scrollView, true, async () =>
|
||||
{
|
||||
var success = await _vm.LoadAsync();
|
||||
if(!success)
|
||||
{
|
||||
await Navigation.PopModalAsync();
|
||||
}
|
||||
});
|
||||
if(_vm.EditMode && Device.RuntimePlatform == Device.Android)
|
||||
{
|
||||
if(_vm.Cipher.OrganizationId == null)
|
||||
|
|
|
@ -267,7 +267,7 @@ namespace Bit.App.Pages
|
|||
PageTitle = EditMode ? AppResources.EditItem : AppResources.AddItem;
|
||||
}
|
||||
|
||||
public async Task LoadAsync(AppOptions appOptions = null)
|
||||
public async Task<bool> LoadAsync(AppOptions appOptions = null)
|
||||
{
|
||||
var myEmail = await _userService.GetEmailAsync();
|
||||
OwnershipOptions.Add(new KeyValuePair<string, string>(myEmail, null));
|
||||
|
@ -296,6 +296,10 @@ namespace Bit.App.Pages
|
|||
if(EditMode)
|
||||
{
|
||||
var cipher = await _cipherService.GetAsync(CipherId);
|
||||
if(cipher == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
Cipher = await cipher.DecryptAsync();
|
||||
}
|
||||
else
|
||||
|
@ -358,6 +362,7 @@ namespace Bit.App.Pages
|
|||
Fields.ResetWithRange(Cipher.Fields?.Select(f => new AddEditPageFieldViewModel(f)));
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public async Task<bool> SubmitAsync()
|
||||
|
|
|
@ -49,7 +49,14 @@ namespace Bit.App.Pages
|
|||
}
|
||||
}
|
||||
});
|
||||
await LoadOnAppearedAsync(_scrollView, true, () => _vm.LoadAsync(), _mainContent);
|
||||
await LoadOnAppearedAsync(_scrollView, true, async () =>
|
||||
{
|
||||
var success = await _vm.LoadAsync();
|
||||
if(!success)
|
||||
{
|
||||
await Navigation.PopModalAsync();
|
||||
}
|
||||
}, _mainContent);
|
||||
if(Device.RuntimePlatform == Device.Android)
|
||||
{
|
||||
if(_vm.Cipher.OrganizationId == null)
|
||||
|
|
|
@ -206,10 +206,14 @@ namespace Bit.App.Pages
|
|||
}
|
||||
}
|
||||
|
||||
public async Task LoadAsync()
|
||||
public async Task<bool> LoadAsync()
|
||||
{
|
||||
CleanUp();
|
||||
var cipher = await _cipherService.GetAsync(CipherId);
|
||||
if(cipher == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
Cipher = await cipher.DecryptAsync();
|
||||
CanAccessPremium = await _userService.CanAccessPremiumAsync();
|
||||
Fields = Cipher.Fields?.Select(f => new ViewPageFieldViewModel(f)).ToList();
|
||||
|
@ -231,6 +235,7 @@ namespace Bit.App.Pages
|
|||
return true;
|
||||
});
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public void CleanUp()
|
||||
|
|
Loading…
Reference in a new issue