From 0e5fb11c52c4b92cc23db88103075e601d073828 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Burak=20Kaan=20K=C3=B6se?= Date: Sat, 24 Aug 2024 15:26:08 +0200 Subject: [PATCH] Fix for missing folder update changes for gmail. --- Wino.Core/Synchronizers/GmailSynchronizer.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Wino.Core/Synchronizers/GmailSynchronizer.cs b/Wino.Core/Synchronizers/GmailSynchronizer.cs index d0cf7b2f..e501862b 100644 --- a/Wino.Core/Synchronizers/GmailSynchronizer.cs +++ b/Wino.Core/Synchronizers/GmailSynchronizer.cs @@ -341,6 +341,9 @@ namespace Wino.Core.Synchronizers if (ShouldUpdateFolder(remoteFolder, existingLocalFolder)) { existingLocalFolder.FolderName = remoteFolder.Name; + existingLocalFolder.TextColorHex = remoteFolder.Color?.TextColor; + existingLocalFolder.BackgroundColorHex = remoteFolder.Color?.BackgroundColor; + updatedFolders.Add(existingLocalFolder); } else @@ -370,7 +373,13 @@ namespace Wino.Core.Synchronizers } private bool ShouldUpdateFolder(Label remoteFolder, MailItemFolder existingLocalFolder) - => existingLocalFolder.FolderName.Equals(GoogleIntegratorExtensions.GetFolderName(remoteFolder), StringComparison.OrdinalIgnoreCase) == false; + { + bool isNameChanged = !existingLocalFolder.FolderName.Equals(GoogleIntegratorExtensions.GetFolderName(remoteFolder), StringComparison.OrdinalIgnoreCase); + bool isColorChanged = existingLocalFolder.BackgroundColorHex != remoteFolder.Color?.BackgroundColor || + existingLocalFolder.TextColorHex != remoteFolder.Color?.TextColor; + + return isNameChanged || isColorChanged; + } /// /// Returns a single get request to retrieve the raw message with the given id