|
|
|
@ -5,8 +5,11 @@ import android.content.BroadcastReceiver
|
|
|
|
|
import android.content.Context
|
|
|
|
|
import android.content.Intent
|
|
|
|
|
import androidx.activity.viewModels
|
|
|
|
|
import androidx.lifecycle.lifecycleScope
|
|
|
|
|
import androidx.preference.PreferenceFragmentCompat
|
|
|
|
|
import com.todoroo.astrid.gtasks.auth.GtasksLoginActivity
|
|
|
|
|
import dagger.hilt.android.AndroidEntryPoint
|
|
|
|
|
import kotlinx.coroutines.launch
|
|
|
|
|
import org.tasks.LocalBroadcastManager
|
|
|
|
|
import org.tasks.R
|
|
|
|
|
import org.tasks.auth.SignInActivity
|
|
|
|
@ -15,6 +18,7 @@ import org.tasks.preferences.fragments.MainSettingsFragment
|
|
|
|
|
import org.tasks.preferences.fragments.Synchronization.Companion.REQUEST_CALDAV_SETTINGS
|
|
|
|
|
import org.tasks.preferences.fragments.Synchronization.Companion.REQUEST_GOOGLE_TASKS
|
|
|
|
|
import org.tasks.preferences.fragments.Synchronization.Companion.REQUEST_TASKS_ORG
|
|
|
|
|
import org.tasks.preferences.fragments.TasksAccount
|
|
|
|
|
import org.tasks.sync.SyncAdapters
|
|
|
|
|
import org.tasks.ui.Toaster
|
|
|
|
|
import javax.inject.Inject
|
|
|
|
@ -62,6 +66,17 @@ class MainPreferences : BasePreferences() {
|
|
|
|
|
REQUEST_TASKS_ORG -> if (resultCode == Activity.RESULT_OK) {
|
|
|
|
|
syncAdapters.sync(true)
|
|
|
|
|
workManager.updateBackgroundSync()
|
|
|
|
|
lifecycleScope.launch {
|
|
|
|
|
val account = viewModel.tasksAccount() ?: return@launch
|
|
|
|
|
val fragment = supportFragmentManager.findFragmentById(R.id.settings)
|
|
|
|
|
if (fragment is PreferenceFragmentCompat && fragment !is TasksAccount) {
|
|
|
|
|
startPreference(
|
|
|
|
|
fragment,
|
|
|
|
|
TasksAccount.newTasksAccountPreference(account),
|
|
|
|
|
getString(R.string.tasks_org)
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
data?.getStringExtra(SignInActivity.EXTRA_ERROR)?.let { toaster.longToast(it) }
|
|
|
|
|
}
|
|
|
|
|