Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d98b0909 authored by Mohammed Althaf T's avatar Mohammed Althaf T 😊
Browse files

Revert "fix: preserve sync settings on re-auth for OAuth accounts"

This reverts commit 2a1f3888
parent 355cc650
Loading
Loading
Loading
Loading
Loading
+12 −20
Original line number Diff line number Diff line
@@ -173,7 +173,7 @@ class AccountDetailsFragment : Fragment() {
                val idx = v.contactGroupMethod.selectedItemPosition
                val groupMethodName = resources.getStringArray(R.array.settings_contact_group_method_values)[idx]

                val basicAuthAccount = findBasicAuthMurenaAccount(name, providedAccountType)
                val accountToUpdate = findBasicAuthMurenaAccount(name, providedAccountType)

                model.createOrUpdateAccount(
                    requireActivity(),
@@ -181,7 +181,7 @@ class AccountDetailsFragment : Fragment() {
                    loginModel.credentials!!,
                    config,
                    GroupMethod.valueOf(groupMethodName),
                    basicAuthAccount,
                    accountToUpdate,
                ).observe(viewLifecycleOwner, Observer { success ->
                    if (success) {
                        Toast.makeText(context, R.string.message_account_added_successfully, Toast.LENGTH_LONG).show()
@@ -329,7 +329,7 @@ class AccountDetailsFragment : Fragment() {
            credentials: Credentials?,
            config: DavResourceFinder.Configuration,
            groupMethod: GroupMethod,
            basicAuthAccount: Account? = null
            accountToUpdate: Account? = null
        ): LiveData<Boolean> {
            val result = MutableLiveData<Boolean>()
            viewModelScope.launch(Dispatchers.Default + NonCancellable) {
@@ -362,7 +362,7 @@ class AccountDetailsFragment : Fragment() {
                    }
                }

                val account = getOrCreateAccount(name, accountType, basicAuthAccount)
                val account = getOrCreateAccount(name, accountType, accountToUpdate)

                val userData = AccountSettings.initialUserData(credentials, baseURL, config.cookies, config.calDAV?.emails?.firstOrNull())

@@ -370,11 +370,7 @@ class AccountDetailsFragment : Fragment() {

                val accountManager = AccountManager.get(context)

                val isAccountUsingOAuth =
                    accountType in AccountUtils.getOpenIdMainAccountTypes(context) &&
                            credentials?.authState != null

                if (basicAuthAccount != null) {
                if (accountToUpdate != null) {
                    val authState = credentials?.authState
                    if (authState != null) {
                        updateAuthState(userData, account)
@@ -391,7 +387,7 @@ class AccountDetailsFragment : Fragment() {
                            credentials?.password
                        )
                    ) {
                        if (isAccountUsingOAuth) {
                        if (accountType in AccountUtils.getOpenIdMainAccountTypes(context) && credentials?.authState != null) {
                            updateAuthState(userData, account)
                            Logger.log.info("Updated auth state for re-authenticating $account")
                        } else {
@@ -446,8 +442,7 @@ class AccountDetailsFragment : Fragment() {
                var calendarSyncEnabled = true
                var tasksSyncEnabled = true

                if (basicAuthAccount != null || isAccountUsingOAuth) {
                    val accountToUpdate = basicAuthAccount ?: account
                if (accountToUpdate != null) {
                    val oldSettings = AccountSettings(context, accountToUpdate)
                    val addressBookAuthority = context.getString(R.string.address_books_authority)
                    val taskProvider = TaskUtils.currentProvider(context)
@@ -554,9 +549,8 @@ class AccountDetailsFragment : Fragment() {
                    // Configure CardDAV service
                    val addressBookAuthority = context.getString(R.string.address_books_authority)
                    if (config.cardDAV != null) {
                        if (basicAuthAccount != null || isAccountUsingOAuth) {
                            val accountToUpdate = basicAuthAccount ?: account
                            // Update existing service
                        if (accountToUpdate != null) {
                            // Migration: update existing service
                            val service = db.serviceDao().getByAccountAndType(accountToUpdate.name, Service.TYPE_CARDDAV)
                            service?.let {
                                it.authState = credentials?.authState?.jsonSerializeString()
@@ -593,9 +587,8 @@ class AccountDetailsFragment : Fragment() {

                    // Configure CalDAV service
                    if (config.calDAV != null) {
                        if (basicAuthAccount != null || isAccountUsingOAuth) {
                            val accountToUpdate = basicAuthAccount ?: account
                            // Update existing service
                        if (accountToUpdate != null) {
                            // Migration: update existing service
                            val service = db.serviceDao().getByAccountAndType(accountToUpdate.name, Service.TYPE_CALDAV)
                            service?.let {
                                it.authState = credentials?.authState?.jsonSerializeString()
@@ -628,9 +621,8 @@ class AccountDetailsFragment : Fragment() {
                        // if task provider present, set task sync interval and enable sync
                        val taskProvider = TaskUtils.currentProvider(context)
                        if (taskProvider != null) {
                            if (basicAuthAccount == null) {
                            if (accountToUpdate == null)
                                ContentResolver.setIsSyncable(account, taskProvider.authority, tasksSyncable)
                            }

                            ContentResolver.setSyncAutomatically(
                                account,