catch AccountNotFoundException from createNextcloudClient

Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
This commit is contained in:
tobiasKaminsky 2021-08-09 08:50:01 +02:00
parent 27b808d8cd
commit 00c14377f7
No known key found for this signature in database
GPG key ID: 0E00D4D47D0C5AF7
4 changed files with 40 additions and 8 deletions

View file

@ -25,12 +25,20 @@ package com.nextcloud.ui
import android.accounts.Account import android.accounts.Account
import android.content.Context import android.content.Context
import com.owncloud.android.lib.common.OwnCloudClientFactory import com.owncloud.android.lib.common.OwnCloudClientFactory
import com.owncloud.android.lib.common.accounts.AccountUtils
import com.owncloud.android.lib.common.utils.Log_OC
import com.owncloud.android.lib.resources.users.ClearStatusMessageRemoteOperation import com.owncloud.android.lib.resources.users.ClearStatusMessageRemoteOperation
public class ClearStatusTask(val account: Account?, val context: Context?) : Function0<Boolean> { public class ClearStatusTask(val account: Account?, val context: Context?) : Function0<Boolean> {
override fun invoke(): Boolean { override fun invoke(): Boolean {
val client = OwnCloudClientFactory.createNextcloudClient(account, context) return try {
val client = OwnCloudClientFactory.createNextcloudClient(account, context)
return ClearStatusMessageRemoteOperation().execute(client).isSuccess ClearStatusMessageRemoteOperation().execute(client).isSuccess
} catch (e: AccountUtils.AccountNotFoundException) {
Log_OC.e(this, "Error clearing status", e)
false
}
} }
} }

View file

@ -25,6 +25,8 @@ package com.nextcloud.ui
import android.accounts.Account import android.accounts.Account
import android.content.Context import android.content.Context
import com.owncloud.android.lib.common.OwnCloudClientFactory import com.owncloud.android.lib.common.OwnCloudClientFactory
import com.owncloud.android.lib.common.accounts.AccountUtils
import com.owncloud.android.lib.common.utils.Log_OC
import com.owncloud.android.lib.resources.users.SetPredefinedCustomStatusMessageRemoteOperation import com.owncloud.android.lib.resources.users.SetPredefinedCustomStatusMessageRemoteOperation
public class SetPredefinedCustomStatusTask( public class SetPredefinedCustomStatusTask(
@ -34,8 +36,14 @@ public class SetPredefinedCustomStatusTask(
val context: Context? val context: Context?
) : Function0<Boolean> { ) : Function0<Boolean> {
override fun invoke(): Boolean { override fun invoke(): Boolean {
val client = OwnCloudClientFactory.createNextcloudClient(account, context) return try {
val client = OwnCloudClientFactory.createNextcloudClient(account, context)
return SetPredefinedCustomStatusMessageRemoteOperation(messageId, clearAt).execute(client).isSuccess SetPredefinedCustomStatusMessageRemoteOperation(messageId, clearAt).execute(client).isSuccess
} catch (e: AccountUtils.AccountNotFoundException) {
Log_OC.e(this, "Error setting predefined status", e)
false
}
} }
} }

View file

@ -25,6 +25,8 @@ package com.nextcloud.ui
import android.accounts.Account import android.accounts.Account
import android.content.Context import android.content.Context
import com.owncloud.android.lib.common.OwnCloudClientFactory import com.owncloud.android.lib.common.OwnCloudClientFactory
import com.owncloud.android.lib.common.accounts.AccountUtils
import com.owncloud.android.lib.common.utils.Log_OC
import com.owncloud.android.lib.resources.users.SetStatusRemoteOperation import com.owncloud.android.lib.resources.users.SetStatusRemoteOperation
import com.owncloud.android.lib.resources.users.StatusType import com.owncloud.android.lib.resources.users.StatusType
@ -34,8 +36,14 @@ class SetStatusTask(
val context: Context? val context: Context?
) : Function0<Boolean> { ) : Function0<Boolean> {
override fun invoke(): Boolean { override fun invoke(): Boolean {
val client = OwnCloudClientFactory.createNextcloudClient(account, context) return try {
val client = OwnCloudClientFactory.createNextcloudClient(account, context)
return SetStatusRemoteOperation(statusType).execute(client).isSuccess SetStatusRemoteOperation(statusType).execute(client).isSuccess
} catch (e: AccountUtils.AccountNotFoundException) {
Log_OC.e(this, "Error setting status", e)
false
}
} }
} }

View file

@ -25,6 +25,8 @@ package com.nextcloud.ui
import android.accounts.Account import android.accounts.Account
import android.content.Context import android.content.Context
import com.owncloud.android.lib.common.OwnCloudClientFactory import com.owncloud.android.lib.common.OwnCloudClientFactory
import com.owncloud.android.lib.common.accounts.AccountUtils
import com.owncloud.android.lib.common.utils.Log_OC
import com.owncloud.android.lib.resources.users.SetUserDefinedCustomStatusMessageRemoteOperation import com.owncloud.android.lib.resources.users.SetUserDefinedCustomStatusMessageRemoteOperation
public class SetUserDefinedCustomStatusTask( public class SetUserDefinedCustomStatusTask(
@ -35,8 +37,14 @@ public class SetUserDefinedCustomStatusTask(
val context: Context? val context: Context?
) : Function0<Boolean> { ) : Function0<Boolean> {
override fun invoke(): Boolean { override fun invoke(): Boolean {
val client = OwnCloudClientFactory.createNextcloudClient(account, context) return try {
val client = OwnCloudClientFactory.createNextcloudClient(account, context)
return SetUserDefinedCustomStatusMessageRemoteOperation(message, icon, clearAt).execute(client).isSuccess return SetUserDefinedCustomStatusMessageRemoteOperation(message, icon, clearAt).execute(client).isSuccess
} catch (e: AccountUtils.AccountNotFoundException) {
Log_OC.e(this, "Error setting user defined custom status", e)
false
}
} }
} }