1
0
mirror of https://github.com/bitwarden/mobile synced 2025-12-16 08:13:20 +00:00

Removed disclosure from view cell in favor of button. Updated sync logic for incrementals. Store revision date from server record. Apply more accessability font size support for editor and picker controls

This commit is contained in:
Kyle Spearrin
2016-06-30 18:53:43 -04:00
parent 7a48128e43
commit 17af08b7d4
17 changed files with 166 additions and 6236 deletions

View File

@@ -156,15 +156,10 @@ namespace Bit.App.Services
var siteTask = SyncSitesAsync(ciphers.Result.Revised.Where(c => c.Type == Enums.CipherType.Site), false);
var folderTask = SyncFoldersAsync(ciphers.Result.Revised.Where(c => c.Type == Enums.CipherType.Folder), false);
var deleteTask = DeleteCiphersAsync(ciphers.Result.Deleted);
foreach(var cipherId in ciphers.Result.Deleted)
{
await _siteRepository.DeleteAsync(cipherId);
}
await Task.WhenAll(siteTask, folderTask);
if(folderTask.Exception != null || siteTask.Exception != null)
await Task.WhenAll(siteTask, folderTask, deleteTask);
if(folderTask.Exception != null || siteTask.Exception != null || deleteTask.Exception != null)
{
return false;
}
@@ -179,14 +174,15 @@ namespace Bit.App.Services
foreach(var serverFolder in serverFolders)
{
var data = new FolderData(serverFolder, _authService.UserId);
var existingLocalFolder = localFolders.SingleOrDefault(f => f.Id == serverFolder.Id);
if(existingLocalFolder == null)
{
var data = new FolderData(serverFolder, _authService.UserId);
await _folderRepository.InsertAsync(data);
}
else
else if(existingLocalFolder.RevisionDateTime != serverFolder.RevisionDate)
{
var data = new FolderData(serverFolder, _authService.UserId);
await _folderRepository.UpdateAsync(data);
}
}
@@ -208,14 +204,15 @@ namespace Bit.App.Services
foreach(var serverSite in serverSites)
{
var data = new SiteData(serverSite, _authService.UserId);
var existingLocalSite = localSites.SingleOrDefault(s => s.Id == serverSite.Id);
if(existingLocalSite == null)
{
var data = new SiteData(serverSite, _authService.UserId);
await _siteRepository.InsertAsync(data);
}
else
else if(existingLocalSite.RevisionDateTime != serverSite.RevisionDate)
{
var data = new SiteData(serverSite, _authService.UserId);
await _siteRepository.UpdateAsync(data);
}
}
@@ -230,5 +227,16 @@ namespace Bit.App.Services
await _siteRepository.DeleteAsync(site.Id);
}
}
private async Task DeleteCiphersAsync(IEnumerable<string> cipherIds)
{
var tasks = new List<Task>();
foreach(var cipherId in cipherIds)
{
tasks.Add(_siteRepository.DeleteAsync(cipherId));
tasks.Add(_folderRepository.DeleteAsync(cipherId));
}
await Task.WhenAll(tasks);
}
}
}