add item to cred store when added from extension

This commit is contained in:
kspearrin 2018-09-21 20:22:13 -04:00
parent 640beeed23
commit ec9b2d7f7d
3 changed files with 19 additions and 4 deletions

View file

@ -270,9 +270,9 @@ namespace Bit.App.Services
public async Task UpsertDataAsync(CipherData cipher, bool sendMessage)
{
await _cipherRepository.UpsertAsync(cipher);
CachedCiphers = null;
CachedCiphers = null;
_appSettingsService.ClearCiphersCache = true;
if(sendMessage)
if(sendMessage && Application.Current != null)
{
MessagingCenter.Send(Application.Current, "UpsertedCipher", cipher.Id);
}
@ -299,7 +299,7 @@ namespace Bit.App.Services
if(sendMessage)
{
var cipherData = await _cipherRepository.GetByIdAsync(id);
if(cipherData != null)
if(cipherData != null && Application.Current != null)
{
MessagingCenter.Send(Application.Current, "DeletedCipher", new Cipher(cipherData));
}

View file

@ -28,7 +28,7 @@ namespace Bit.iOS.Autofill
async partial void SaveBarButton_Activated(UIBarButtonItem sender)
{
await this.SaveAsync();
await SaveAsync();
}
public override void PrepareForSegue(UIStoryboardSegue segue, NSObject sender)

View file

@ -13,6 +13,7 @@ using Plugin.Connectivity.Abstractions;
using Bit.iOS.Core.Utilities;
using Bit.iOS.Core.Models;
using System.Threading.Tasks;
using AuthenticationServices;
namespace Bit.iOS.Core.Controllers
{
@ -172,6 +173,20 @@ namespace Bit.iOS.Core.Controllers
await loadingAlert.DismissViewControllerAsync(true);
if(saveTask.Result.Succeeded)
{
if (await ASHelpers.IdentitiesCanIncremental())
{
var identity = await ASHelpers.GetCipherIdentityAsync(saveTask.Result.Result.Id, _cipherService);
if (identity == null)
{
return;
}
await ASCredentialIdentityStore.SharedStore.SaveCredentialIdentitiesAsync(
new ASPasswordCredentialIdentity[] { identity });
}
else
{
await ASHelpers.ReplaceAllIdentities(_cipherService);
}
Success();
}
else if(saveTask.Result.Errors.Count() > 0)