Add TasksAccountSettingsActivity

pull/1225/head
Alex Baker 5 years ago
parent eac1dbacd6
commit ee5bcb21e6

@ -366,6 +366,10 @@
android:name=".opentasks.OpenTaskAccountSettingsActivity"
android:theme="@style/Tasks" />
<activity
android:name=".auth.TasksAccountSettingsActivity"
android:theme="@style/Tasks" />
<activity
android:name=".caldav.CaldavCalendarSettingsActivity"
android:theme="@style/Tasks"/>

@ -0,0 +1,66 @@
package org.tasks.auth
import android.app.Activity
import android.os.Bundle
import android.view.View
import androidx.appcompat.widget.Toolbar
import androidx.lifecycle.lifecycleScope
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.launch
import org.tasks.R
import org.tasks.caldav.BaseCaldavAccountSettingsActivity
@AndroidEntryPoint
class TasksAccountSettingsActivity : BaseCaldavAccountSettingsActivity(), Toolbar.OnMenuItemClickListener {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding.userLayout.visibility = View.GONE
binding.passwordLayout.visibility = View.GONE
binding.urlLayout.visibility = View.GONE
binding.repeat.visibility = View.GONE
}
override val description: Int
get() = 0
override val newPassword: String?
get() = ""
private suspend fun updateAccount(principal: String?) {
hideProgressIndicator()
caldavAccount!!.name = newName
caldavAccount!!.url = principal
caldavAccount!!.username = newUsername
caldavAccount!!.error = ""
if (passwordChanged()) {
caldavAccount!!.password = encryption.encrypt(newPassword!!)
}
caldavAccount!!.isSuppressRepeatingTasks = binding.repeat.isChecked
caldavDao.update(caldavAccount!!)
setResult(Activity.RESULT_OK)
finish()
}
override fun hasChanges() =
newName != caldavAccount!!.name
|| binding.repeat.isChecked != caldavAccount!!.isSuppressRepeatingTasks
override fun save() = lifecycleScope.launch {
if (newName.isBlank()) {
binding.nameLayout.error = getString(R.string.name_cannot_be_empty)
return@launch
}
updateAccount()
}
override suspend fun addAccount(url: String, username: String, password: String) {}
override suspend fun updateAccount(url: String, username: String, password: String) {}
override suspend fun updateAccount() = updateAccount(caldavAccount!!.url)
override val helpUrl: String
get() = getString(R.string.help_url_sync)
}

@ -20,7 +20,7 @@ class OpenTaskAccountSettingsActivity : BaseCaldavAccountSettingsActivity(), Too
binding.passwordLayout.visibility = View.GONE
binding.urlLayout.visibility = View.GONE
if (caldavAccount!!.isOpenTaskEteSync || caldavAccount!!.isTasksOrg) {
if (caldavAccount!!.isOpenTaskEteSync) {
binding.repeat.visibility = View.GONE
}
}

@ -27,6 +27,7 @@ import org.tasks.etesync.EteSyncAccountSettingsActivity
import org.tasks.injection.InjectingPreferenceFragment
import org.tasks.jobs.WorkManager
import org.tasks.opentasks.OpenTaskAccountSettingsActivity
import org.tasks.auth.TasksAccountSettingsActivity
import org.tasks.preferences.Preferences
import org.tasks.sync.AddAccountDialog.Companion.newAccountDialog
import org.tasks.sync.SyncAdapters
@ -163,10 +164,10 @@ class Synchronization : InjectingPreferenceFragment() {
}
preference.onPreferenceClickListener = Preference.OnPreferenceClickListener {
val intent = Intent(context, when {
account.isTasksOrg -> TasksAccountSettingsActivity::class.java
account.isCaldavAccount -> CaldavAccountSettingsActivity::class.java
account.isEteSyncAccount -> EteSyncAccountSettingsActivity::class.java
account.isOpenTasks || account.isTasksOrg ->
OpenTaskAccountSettingsActivity::class.java
account.isOpenTasks -> OpenTaskAccountSettingsActivity::class.java
else -> throw IllegalArgumentException("Unexpected account type: $account")
})
intent.putExtra(BaseCaldavAccountSettingsActivity.EXTRA_CALDAV_DATA, account)

Loading…
Cancel
Save