From f054752c6543cf4ea36790445210fd6f6f20b187 Mon Sep 17 00:00:00 2001 From: Tlaster Date: Sat, 28 Nov 2020 21:20:18 +0800 Subject: [PATCH] fix translate crash --- .../twidere/fragment/status/StatusFragment.kt | 15 +++++++++++---- .../main/kotlin/org/mariotaku/yandex/YandexAPI.kt | 1 + 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/status/StatusFragment.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/status/StatusFragment.kt index eea9202aa..40d29eb78 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/status/StatusFragment.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/status/StatusFragment.kt @@ -73,6 +73,7 @@ import org.mariotaku.twidere.constant.KeyboardShortcutConstants.* import org.mariotaku.twidere.constant.displaySensitiveContentsKey import org.mariotaku.twidere.constant.newDocumentApiKey import org.mariotaku.twidere.constant.yandexKeyKey +import org.mariotaku.twidere.exception.AccountNotFoundException import org.mariotaku.twidere.extension.* import org.mariotaku.twidere.extension.model.* import org.mariotaku.twidere.extension.model.api.key @@ -94,7 +95,7 @@ import org.mariotaku.twidere.model.pagination.SinceMaxPagination import org.mariotaku.twidere.model.util.AccountUtils import org.mariotaku.twidere.provider.TwidereDataStore.CachedStatuses import org.mariotaku.twidere.provider.TwidereDataStore.Statuses -import org.mariotaku.twidere.task.AbsAccountRequestTask +import org.mariotaku.twidere.task.ExceptionHandlingAbstractTask import org.mariotaku.twidere.util.* import org.mariotaku.twidere.util.ContentScrollHandler.ContentListSupport import org.mariotaku.twidere.util.KeyboardShortcutsHandler.KeyboardShortcutCallback @@ -107,6 +108,7 @@ import org.mariotaku.twidere.view.holder.StatusViewHolder import org.mariotaku.twidere.view.holder.iface.IStatusViewHolder import org.mariotaku.twidere.view.holder.iface.IStatusViewHolder.StatusClickListener import org.mariotaku.yandex.YandexAPIFactory +import org.mariotaku.yandex.YandexException import java.lang.ref.WeakReference import kotlin.math.max import kotlin.math.min @@ -687,11 +689,14 @@ class StatusFragment : BaseFragment(), LoaderCallbacks(fragment.requireContext(), status.account_key) { + ExceptionHandlingAbstractTask(fragment.requireContext()) { private val weakFragment = WeakReference(fragment) - override fun onExecute(account: AccountDetails, params: Any?): TranslationResult { + override fun onExecute(params: Any?): TranslationResult { + val am = AccountManager.get(context) + val account = status.account_key?.let { AccountUtils.getAccountDetails(am, it, true) } ?: + throw AccountNotFoundException() val prefDest = preferences.getString(KEY_TRANSLATION_DESTINATION, null).orEmpty() val twitter = account.newMicroBlogInstance(context, MicroBlog::class.java) val dest: String @@ -725,9 +730,11 @@ class StatusFragment : BaseFragment(), LoaderCallbacks