From bef060591a7f264b10193845dd2b1449f3243c52 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Thu, 16 May 2019 09:43:18 -0500 Subject: [PATCH] Remove google account check from sync adapters --- .../tasks/gtasks/GtaskSyncAdapterHelper.java | 22 --------------- .../java/org/tasks/sync/SyncAdapters.java | 28 ++++++++----------- .../sync/SynchronizationPreferences.java | 2 -- 3 files changed, 12 insertions(+), 40 deletions(-) delete mode 100644 app/src/main/java/org/tasks/gtasks/GtaskSyncAdapterHelper.java diff --git a/app/src/main/java/org/tasks/gtasks/GtaskSyncAdapterHelper.java b/app/src/main/java/org/tasks/gtasks/GtaskSyncAdapterHelper.java deleted file mode 100644 index d335b9511..000000000 --- a/app/src/main/java/org/tasks/gtasks/GtaskSyncAdapterHelper.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.tasks.gtasks; - -import javax.inject.Inject; -import org.tasks.data.GoogleTaskListDao; - -public class GtaskSyncAdapterHelper { - - private final GoogleTaskListDao googleTaskListDao; - private final GoogleAccountManager googleAccountManager; - - @Inject - public GtaskSyncAdapterHelper( - GoogleTaskListDao googleTaskListDao, GoogleAccountManager googleAccountManager) { - this.googleTaskListDao = googleTaskListDao; - this.googleAccountManager = googleAccountManager; - } - - public boolean isEnabled() { - return !googleTaskListDao.getAccounts().isEmpty() - && !googleAccountManager.getAccounts().isEmpty(); - } -} diff --git a/app/src/main/java/org/tasks/sync/SyncAdapters.java b/app/src/main/java/org/tasks/sync/SyncAdapters.java index 5ae1a6746..9baebbffc 100644 --- a/app/src/main/java/org/tasks/sync/SyncAdapters.java +++ b/app/src/main/java/org/tasks/sync/SyncAdapters.java @@ -5,21 +5,21 @@ import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.schedulers.Schedulers; import javax.inject.Inject; import org.tasks.data.CaldavDao; -import org.tasks.gtasks.GtaskSyncAdapterHelper; +import org.tasks.data.GoogleTaskListDao; import org.tasks.jobs.WorkManager; public class SyncAdapters { - private final GtaskSyncAdapterHelper gtaskSyncAdapterHelper; private final WorkManager workManager; private final CaldavDao caldavDao; + private final GoogleTaskListDao googleTaskListDao; @Inject public SyncAdapters( - GtaskSyncAdapterHelper gtaskSyncAdapterHelper, WorkManager workManager, CaldavDao caldavDao) { - this.gtaskSyncAdapterHelper = gtaskSyncAdapterHelper; + WorkManager workManager, CaldavDao caldavDao, GoogleTaskListDao googleTaskListDao) { this.workManager = workManager; this.caldavDao = caldavDao; + this.googleTaskListDao = googleTaskListDao; } public void sync() { @@ -27,18 +27,14 @@ public class SyncAdapters { } public Single sync(boolean immediate) { - return Single.zip( - Single.fromCallable(this::isGoogleTaskSyncEnabled), - Single.fromCallable(this::isCaldavSyncEnabled), - (b1, b2) -> { - if (b1 || b2) { - workManager.sync(immediate); - return true; - } - return false; - }) + return Single.fromCallable(this::isSyncEnabled) .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); + .observeOn(AndroidSchedulers.mainThread()) + .doOnSuccess(enabled -> { + if (enabled) { + workManager.sync(immediate); + } + }); } public boolean isSyncEnabled() { @@ -46,7 +42,7 @@ public class SyncAdapters { } public boolean isGoogleTaskSyncEnabled() { - return gtaskSyncAdapterHelper.isEnabled(); + return googleTaskListDao.getAccounts().size() > 0; } public boolean isCaldavSyncEnabled() { diff --git a/app/src/main/java/org/tasks/sync/SynchronizationPreferences.java b/app/src/main/java/org/tasks/sync/SynchronizationPreferences.java index 27d716624..32da1ada8 100644 --- a/app/src/main/java/org/tasks/sync/SynchronizationPreferences.java +++ b/app/src/main/java/org/tasks/sync/SynchronizationPreferences.java @@ -31,7 +31,6 @@ import org.tasks.data.GoogleTaskDao; import org.tasks.data.GoogleTaskListDao; import org.tasks.dialogs.DialogBuilder; import org.tasks.gtasks.GoogleAccountManager; -import org.tasks.gtasks.GtaskSyncAdapterHelper; import org.tasks.injection.ActivityComponent; import org.tasks.injection.InjectingPreferenceActivity; import org.tasks.jobs.WorkManager; @@ -51,7 +50,6 @@ public class SynchronizationPreferences extends InjectingPreferenceActivity { @Inject ActivityPermissionRequestor permissionRequestor; @Inject PermissionChecker permissionChecker; @Inject Tracker tracker; - @Inject GtaskSyncAdapterHelper gtaskSyncAdapterHelper; @Inject DialogBuilder dialogBuilder; @Inject SyncAdapters syncAdapters; @Inject GoogleTaskDao googleTaskDao;