Fix crash when getting update body on main thread.

This commit is contained in:
Cody Henthorne
2021-09-21 11:17:31 -04:00
committed by GitHub
parent e2dbaa605b
commit 5175375483
5 changed files with 16 additions and 6 deletions

View File

@@ -21,6 +21,7 @@ import android.text.SpannableString;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.WorkerThread;
import org.signal.core.util.logging.Log;
import org.thoughtcrime.securesms.R;
@@ -108,6 +109,7 @@ public class MediaMmsMessageRecord extends MmsMessageRecord {
}
@Override
@WorkerThread
public SpannableString getDisplayBody(@NonNull Context context) {
if (MmsDatabase.Types.isChatSessionRefresh(type)) {
return emphasisAdded(context.getString(R.string.MmsMessageRecord_bad_encrypted_mms_message));

View File

@@ -26,6 +26,7 @@ import androidx.annotation.ColorInt;
import androidx.annotation.DrawableRes;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.WorkerThread;
import androidx.core.content.ContextCompat;
import com.annimon.stream.Stream;
@@ -131,6 +132,7 @@ public abstract class MessageRecord extends DisplayRecord {
}
@Override
@WorkerThread
public SpannableString getDisplayBody(@NonNull Context context) {
UpdateDescription updateDisplayBody = getUpdateDisplayBody(context);
@@ -203,6 +205,10 @@ public abstract class MessageRecord extends DisplayRecord {
return null;
}
public boolean isDisplayBodyEmpty(@NonNull Context context) {
return getUpdateDisplayBody(context) == null && getBody().isEmpty();
}
public boolean isSelfCreatedGroup() {
DecryptedGroupV2Context decryptedGroupV2Context = getDecryptedGroupV2Context();

View File

@@ -21,6 +21,7 @@ import android.content.Context;
import android.text.SpannableString;
import androidx.annotation.NonNull;
import androidx.annotation.WorkerThread;
import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.database.MmsSmsColumns;
@@ -64,6 +65,7 @@ public class SmsMessageRecord extends MessageRecord {
}
@Override
@WorkerThread
public SpannableString getDisplayBody(@NonNull Context context) {
if (SmsDatabase.Types.isChatSessionRefresh(type)) {
return emphasisAdded(context.getString(R.string.MessageRecord_chat_session_refreshed));