diff --git a/app/src/main/java/com/infomaniak/mail/ui/MainActivity.kt b/app/src/main/java/com/infomaniak/mail/ui/MainActivity.kt index 929aaf9cd6..d509f43dfa 100644 --- a/app/src/main/java/com/infomaniak/mail/ui/MainActivity.kt +++ b/app/src/main/java/com/infomaniak/mail/ui/MainActivity.kt @@ -330,10 +330,10 @@ class MainActivity : BaseActivity() { * We want to scheduleWork after a delay in the off chance where we came back from NewMessageActivity while an Activity * recreation got triggered. * - * We need to give time to the NewMessageActivity to save the last state of the draft in realm and then scheduleWork on its - * own. Not waiting would scheduleWork before NewMessageActivity has time to write to realm and schedule its own worker. This - * would result in an attempt to save any temporary draft saved to realm because of saveDraftDebouncing() effectively sending - * a second unwanted draft. + * We need to give time to the NewMessageActivity to save the last state of the draft in Realm and then scheduleWork on its + * own. Not waiting would scheduleWork before NewMessageActivity has time to write to Realm and schedule its own worker. This + * would result in an attempt to save any temporary Draft saved to Realm because of saveDraftDebouncing() effectively sending + * a second unwanted Draft. */ private fun scheduleDraftActionsWorkWithDelay() = lifecycleScope.launch(Dispatchers.IO) { delay(1_000L) diff --git a/app/src/main/java/com/infomaniak/mail/ui/main/folder/ThreadListFragment.kt b/app/src/main/java/com/infomaniak/mail/ui/main/folder/ThreadListFragment.kt index 5068a12ee1..9ed6bb70ce 100644 --- a/app/src/main/java/com/infomaniak/mail/ui/main/folder/ThreadListFragment.kt +++ b/app/src/main/java/com/infomaniak/mail/ui/main/folder/ThreadListFragment.kt @@ -75,11 +75,8 @@ import com.infomaniak.mail.utils.RealmChangesBinding.Companion.bindResultsChange import com.infomaniak.mail.utils.UiUtils.formatUnreadCount import com.infomaniak.mail.utils.Utils.isPermanentDeleteFolder import com.infomaniak.mail.utils.Utils.runCatchingRealm -import com.infomaniak.mail.utils.WorkerUtils import com.infomaniak.mail.utils.extensions.* -import com.infomaniak.mail.workers.DraftsActionsWorker import dagger.hilt.android.AndroidEntryPoint -import io.realm.kotlin.ext.isValid import io.sentry.Sentry import io.sentry.SentryLevel import java.util.Date @@ -107,9 +104,6 @@ class ThreadListFragment : TwoPaneFragment(), SwipeRefreshLayout.OnRefreshListen @Inject lateinit var localSettings: LocalSettings - @Inject - lateinit var draftsActionsWorkerScheduler: DraftsActionsWorker.Scheduler - @Inject lateinit var notificationManagerCompat: NotificationManagerCompat @@ -163,7 +157,6 @@ class ThreadListFragment : TwoPaneFragment(), SwipeRefreshLayout.OnRefreshListen observeCurrentFolder() observeCurrentFolderLive() observeUpdatedAtTriggers() - observerDraftsActionsCompletedWorks() observeFlushFolderTrigger() observeUpdateInstall() }.getOrDefault(Unit) @@ -617,19 +610,6 @@ class ThreadListFragment : TwoPaneFragment(), SwipeRefreshLayout.OnRefreshListen threadListViewModel.updatedAtTrigger.observe(viewLifecycleOwner) { updateUpdatedAt() } } - private fun observerDraftsActionsCompletedWorks() { - - fun observeDraftsActions() { - draftsActionsWorkerScheduler.getCompletedWorkInfoLiveData().observe(viewLifecycleOwner) { - mainViewModel.currentFolder.value?.let { folder -> - if (folder.isValid() && folder.role == FolderRole.DRAFT) mainViewModel.forceRefreshThreads() - } - } - } - - WorkerUtils.flushWorkersBefore(requireContext(), viewLifecycleOwner, ::observeDraftsActions) - } - private fun observeFlushFolderTrigger() { mainViewModel.flushFolderTrigger.observe(viewLifecycleOwner) { descriptionDialog.resetLoadingAndDismiss() } }