Remove google account check from sync adapters

pull/820/head
Alex Baker 5 years ago
parent 61e2140892
commit bef060591a

@ -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();
}
}

@ -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<Boolean> 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() {

@ -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;

Loading…
Cancel
Save