diff --git a/app/src/main/java/com/keylesspalace/tusky/AccountActivity.kt b/app/src/main/java/com/keylesspalace/tusky/AccountActivity.kt index be1c5353d..3e0287d37 100644 --- a/app/src/main/java/com/keylesspalace/tusky/AccountActivity.kt +++ b/app/src/main/java/com/keylesspalace/tusky/AccountActivity.kt @@ -325,8 +325,8 @@ class AccountActivity : BottomSheetActivity(), ActionButtonActivity, HasSupportF .load(account.header) .into(accountHeaderImageView) - accountFieldAdapter.fields = account.fields - accountFieldAdapter.emojis = account.emojis + accountFieldAdapter.fields = account.fields ?: emptyList() + accountFieldAdapter.emojis = account.emojis ?: emptyList() accountFieldAdapter.notifyDataSetChanged() if (account.moved != null) { diff --git a/app/src/main/java/com/keylesspalace/tusky/entity/Account.kt b/app/src/main/java/com/keylesspalace/tusky/entity/Account.kt index 878cc5e17..d54ab179b 100644 --- a/app/src/main/java/com/keylesspalace/tusky/entity/Account.kt +++ b/app/src/main/java/com/keylesspalace/tusky/entity/Account.kt @@ -41,8 +41,8 @@ data class Account( @SerializedName("statuses_count") val statusesCount: Int, val source: AccountSource?, val bot: Boolean, - val emojis: List = emptyList(), - val fields: List = emptyList(), + val emojis: List?, // nullable for backward compatibility + val fields: List?, //nullable for backward compatibility val moved: Account? = null ) : Parcelable { diff --git a/app/src/main/java/com/keylesspalace/tusky/util/CustomEmojiHelper.java b/app/src/main/java/com/keylesspalace/tusky/util/CustomEmojiHelper.java index de8478907..7b7741532 100644 --- a/app/src/main/java/com/keylesspalace/tusky/util/CustomEmojiHelper.java +++ b/app/src/main/java/com/keylesspalace/tusky/util/CustomEmojiHelper.java @@ -42,13 +42,13 @@ public class CustomEmojiHelper { /** * replaces emoji shortcodes in a text with EmojiSpans * @param text the text containing custom emojis - * @param emojis a list of the custom emojis + * @param emojis a list of the custom emojis (nullable for backward compatibility with old mastodon instances) * @param textView a reference to the textView the emojis will be shown in * @return the text with the shortcodes replaced by EmojiSpans */ - public static Spanned emojifyText(@NonNull Spanned text, @NonNull List emojis, @NonNull final TextView textView) { + public static Spanned emojifyText(@NonNull Spanned text, @Nullable List emojis, @NonNull final TextView textView) { - if (!emojis.isEmpty()) { + if (emojis != null && !emojis.isEmpty()) { SpannableStringBuilder builder = new SpannableStringBuilder(text); for (Emoji emoji : emojis) { @@ -71,7 +71,7 @@ public class CustomEmojiHelper { return text; } - public static Spanned emojifyString(@NonNull String string, @NonNull List emojis, @NonNull final TextView textView) { + public static Spanned emojifyString(@NonNull String string, @Nullable List emojis, @NonNull final TextView textView) { return emojifyText(new SpannedString(string), emojis, textView); }