diff --git a/app/src/main/java/org/tasks/jobs/SyncGoogleTasksWork.kt b/app/src/main/java/org/tasks/jobs/SyncGoogleTasksWork.kt index d8cb82d98..0329ece10 100644 --- a/app/src/main/java/org/tasks/jobs/SyncGoogleTasksWork.kt +++ b/app/src/main/java/org/tasks/jobs/SyncGoogleTasksWork.kt @@ -17,7 +17,7 @@ class SyncGoogleTasksWork @WorkerInject constructor( @Assisted workerParams: WorkerParameters, firebase: Firebase, localBroadcastManager: LocalBroadcastManager, - preferences: Preferences, + private val preferences: Preferences, private val googleTaskListDao: GoogleTaskListDao, private val googleTaskSynchronizer: GoogleTaskSynchronizer ) : SyncWork(context, workerParams, firebase, localBroadcastManager, preferences) { @@ -27,6 +27,9 @@ class SyncGoogleTasksWork @WorkerInject constructor( override val syncStatus = R.string.p_sync_ongoing_google_tasks override suspend fun doSync() { + if (preferences.isManualSort) { + preferences.isPositionHackEnabled = true + } googleTaskJobs().awaitAll() } diff --git a/app/src/main/java/org/tasks/preferences/Preferences.kt b/app/src/main/java/org/tasks/preferences/Preferences.kt index a05ce0a5d..00b9ddf32 100644 --- a/app/src/main/java/org/tasks/preferences/Preferences.kt +++ b/app/src/main/java/org/tasks/preferences/Preferences.kt @@ -12,6 +12,8 @@ import android.os.Binder import androidx.core.app.NotificationCompat import androidx.documentfile.provider.DocumentFile import androidx.preference.PreferenceManager +import com.todoroo.andlib.utility.DateUtilities +import com.todoroo.andlib.utility.DateUtilities.now import com.todoroo.astrid.activity.BeastModePreferences import com.todoroo.astrid.api.AstridApiConstants import com.todoroo.astrid.core.SortHelper @@ -432,8 +434,9 @@ class Preferences @JvmOverloads constructor( val isFlipperEnabled: Boolean get() = BuildConfig.DEBUG && getBoolean(R.string.p_flipper, false) - val isPositionHackEnabled: Boolean - get() = getLong(R.string.p_google_tasks_position_hack, 0) > 0 + var isPositionHackEnabled: Boolean + get() = getLong(R.string.p_google_tasks_position_hack, 0) > now() - DateUtilities.ONE_WEEK + set(value) { setLong(R.string.p_google_tasks_position_hack, if (value) now() else 0) } override var isManualSort: Boolean get() = getBoolean(R.string.p_manual_sort, false) diff --git a/app/src/main/java/org/tasks/preferences/fragments/Synchronization.kt b/app/src/main/java/org/tasks/preferences/fragments/Synchronization.kt index d48217e53..fe95b143b 100644 --- a/app/src/main/java/org/tasks/preferences/fragments/Synchronization.kt +++ b/app/src/main/java/org/tasks/preferences/fragments/Synchronization.kt @@ -5,8 +5,6 @@ import android.os.Bundle import androidx.lifecycle.lifecycleScope import androidx.preference.Preference import androidx.preference.PreferenceCategory -import androidx.preference.SwitchPreferenceCompat -import com.todoroo.andlib.utility.DateUtilities import com.todoroo.astrid.gtasks.auth.GtasksLoginActivity import com.todoroo.astrid.service.TaskDeleter import dagger.hilt.android.AndroidEntryPoint @@ -63,22 +61,6 @@ class Synchronization : InjectingPreferenceFragment() { true } - val positionHack = - findPreference(R.string.google_tasks_position_hack) as SwitchPreferenceCompat - positionHack.isChecked = preferences.isPositionHackEnabled - positionHack.onPreferenceChangeListener = - Preference.OnPreferenceChangeListener { _: Preference?, newValue: Any? -> - if (newValue == null) { - false - } else { - preferences.setLong( - R.string.p_google_tasks_position_hack, - if (newValue as Boolean) DateUtilities.now() else 0 - ) - true - } - } - findPreference(R.string.add_account) .setOnPreferenceClickListener { newAccountDialog(this@Synchronization, REQUEST_ADD_ACCOUNT) @@ -204,7 +186,6 @@ class Synchronization : InjectingPreferenceFragment() { synchronizationPreferences.removeAll() val hasGoogleAccounts: Boolean = addGoogleTasksAccounts(synchronizationPreferences) val hasCaldavAccounts = addCaldavAccounts(synchronizationPreferences) - findPreference(R.string.gtasks_GPr_header).isVisible = hasGoogleAccounts val syncEnabled = hasGoogleAccounts || hasCaldavAccounts findPreference(R.string.accounts).isVisible = syncEnabled findPreference(R.string.sync_SPr_interval_title).isVisible = syncEnabled diff --git a/app/src/main/res/values/keys.xml b/app/src/main/res/values/keys.xml index 9cbfea647..ebaca9f86 100644 --- a/app/src/main/res/values/keys.xml +++ b/app/src/main/res/values/keys.xml @@ -405,8 +405,6 @@ preference_screen google_tasks_add_to_top google_tasks_position_hack - Custom order synchronization fix - Always perform a full synchronization to workaround https://issuetracker.google.com/issues/132432317 https://tasks.org/subscribe disable_subtasks disable_sort_groups diff --git a/app/src/main/res/xml/preferences_synchronization.xml b/app/src/main/res/xml/preferences_synchronization.xml index c1fd666ff..28525ae84 100644 --- a/app/src/main/res/xml/preferences_synchronization.xml +++ b/app/src/main/res/xml/preferences_synchronization.xml @@ -13,18 +13,6 @@ android:title="@string/add_account" app:icon="@drawable/ic_outline_add_24px" /> - - - - - -