Fix import && null safety

This commit is contained in:
Tlaster 2020-04-03 17:49:35 +08:00
parent ab6ce51872
commit 1a0ff60215
9 changed files with 20 additions and 10 deletions

View File

@ -129,7 +129,10 @@ public class AccountUtils {
return null;
}
public static boolean isOfficial(@NonNull final Context context, @NonNull final UserKey accountKey) {
public static boolean isOfficial(@Nullable final Context context, @NonNull final UserKey accountKey) {
if (context == null) {
return false;
}
AccountManager am = AccountManager.get(context);
Account account = AccountUtils.findByAccountKey(am, accountKey);
if (account == null) return false;

View File

@ -2,6 +2,7 @@ package org.mariotaku.twidere.util;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import android.content.Context;
import android.text.TextUtils;
import org.mariotaku.microblog.library.twitter.model.DMResponse;

View File

@ -25,6 +25,9 @@ import org.mariotaku.twidere.model.ConsumerKeyType;
import org.mariotaku.twidere.model.UserKey;
import org.mariotaku.twidere.model.account.cred.Credentials;
import org.mariotaku.twidere.model.util.AccountUtils;
import org.mariotaku.twidere.util.api.TwitterAndroidExtraHeaders;
import org.mariotaku.twidere.util.api.TwitterMacExtraHeaders;
import org.mariotaku.twidere.util.api.UserAgentExtraHeaders;
import java.util.List;
import java.util.Locale;

View File

@ -16,7 +16,10 @@ import org.mariotaku.twidere.util.text.FanfouValidator
import org.mariotaku.twidere.util.text.MastodonValidator
import org.mariotaku.twidere.util.text.TwitterValidator
fun AccountDetails.isOfficial(context: Context): Boolean {
fun AccountDetails.isOfficial(context: Context?): Boolean {
if (context == null) {
return false
}
val extra = this.extras
if (extra is TwitterAccountExtras) {
return extra.isOfficialCredentials

View File

@ -290,7 +290,7 @@ class CustomTabsFragment : BaseFragment(), LoaderCallbacks<Cursor?>, MultiChoice
if (!accountRequired) {
accountsAdapter.add(AccountDetails.dummy())
}
val officialKeyOnly = arguments.getBoolean(EXTRA_OFFICIAL_KEY_ONLY, false)
val officialKeyOnly = arguments?.getBoolean(EXTRA_OFFICIAL_KEY_ONLY, false) ?: false
accountsAdapter.addAll(AccountUtils.getAllAccountDetails(AccountManager.get(context), true).filter {
if (officialKeyOnly && !it.isOfficial(context)) {
return@filter false

View File

@ -330,7 +330,7 @@ class MessageConversationInfoFragment : BaseFragment(), IToolBarSupportFragment,
private fun performAddParticipant(user: ParcelableUser) {
ProgressDialogFragment.show(childFragmentManager, "add_participant_progress")
val weakThis = WeakReference(this)
val task = AddParticipantsTask(context, accountKey, conversationId, listOf(user))
val task = AddParticipantsTask(context!!, accountKey, conversationId, listOf(user))
task.callback = callback@ { succeed ->
val f = weakThis.get() ?: return@callback
f.dismissDialogThen("add_participant_progress") {
@ -400,7 +400,7 @@ class MessageConversationInfoFragment : BaseFragment(), IToolBarSupportFragment,
val context = fragment.context
when (account.type) {
AccountType.TWITTER -> {
if (account.isOfficial(context)) {
if (account.isOfficial(context) && context != null) {
val upload = account.newMicroBlogInstance(context, cls = TwitterUpload::class.java)
if (uri == null) {
val result = microBlog.updateDmConversationAvatar(conversationId, null)

View File

@ -20,7 +20,7 @@
package org.mariotaku.twidere.fragment.status
import android.os.Bundle
import android.support.v4.app.FragmentManager
import androidx.fragment.app.FragmentManager
import org.mariotaku.abstask.library.TaskStarter
import org.mariotaku.twidere.R
import org.mariotaku.twidere.constant.IntentConstants.EXTRA_STATUS
@ -35,7 +35,7 @@ class PinStatusDialogFragment : AbsSimpleStatusOperationDialogFragment() {
get() = getString(R.string.message_pin_status_confirm)
override fun onPerformAction(status: ParcelableStatus) {
val task = PinStatusTask(context, status.account_key, status.id)
val task = PinStatusTask(context!!, status.account_key, status.id)
TaskStarter.execute(task)
}

View File

@ -684,7 +684,7 @@ class StatusFragment : BaseFragment(), LoaderCallbacks<SingleResponse<Parcelable
}
internal class LoadTranslationTask(fragment: StatusFragment, val status: ParcelableStatus) :
AbsAccountRequestTask<Any?, TranslationResult, Any?>(fragment.context, status.account_key) {
AbsAccountRequestTask<Any?, TranslationResult, Any?>(fragment.context!!, status.account_key) {
private val weakFragment = WeakReference(fragment)

View File

@ -20,7 +20,7 @@
package org.mariotaku.twidere.fragment.status
import android.os.Bundle
import android.support.v4.app.FragmentManager
import androidx.fragment.app.FragmentManager
import org.mariotaku.abstask.library.TaskStarter
import org.mariotaku.twidere.R
import org.mariotaku.twidere.constant.IntentConstants.EXTRA_STATUS
@ -35,7 +35,7 @@ class UnpinStatusDialogFragment : AbsSimpleStatusOperationDialogFragment() {
get() = getString(R.string.message_unpin_status_confirm)
override fun onPerformAction(status: ParcelableStatus) {
val task = UnpinStatusTask(context, status.account_key, status.id)
val task = UnpinStatusTask(context!!, status.account_key, status.id)
TaskStarter.execute(task)
}