private async Task<bool> RemoveFolder2Async(Folder folder) { if (folder == null) return false; if (await _dbManager.DeleteFromFoldersAsync(folder)) { if (folder.Id == _currentFolderId) { int previousFolderIndex = Math.Max(0, _folders.IndexOf(folder) - 1); CurrentFolderId = _folders.Count > previousFolderIndex ? _folders[previousFolderIndex].Id : DEFAULT_ID; await UpdateCurrentFolder2Async(false); } await RunInUiThreadAsync(delegate { _folders.Remove(folder); }).ConfigureAwait(false); await folder.OpenAsync().ConfigureAwait(false); await folder.RemoveWalletsAsync().ConfigureAwait(false); await folder.CloseAsync().ConfigureAwait(false); folder.Dispose(); return true; } Debugger.Break(); // LOLLO this must never happen, check it await Logger.AddAsync("Attempting to remove folder, the db operation failed", Logger.FileErrorLogFilename).ConfigureAwait(false); return false; }