mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-02 00:17:41 +01:00
Fix story reply thumbnails.
This commit is contained in:
committed by
Cody Henthorne
parent
782c83cc4e
commit
a8ba0dccca
@@ -47,6 +47,7 @@ import org.thoughtcrime.securesms.database.model.databaseprotos.MessageExtras
|
||||
import org.thoughtcrime.securesms.database.model.databaseprotos.PinnedMessage
|
||||
import org.thoughtcrime.securesms.database.model.databaseprotos.PollTerminate
|
||||
import org.thoughtcrime.securesms.database.model.toBodyRangeList
|
||||
import org.thoughtcrime.securesms.database.withAttachments
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies
|
||||
import org.thoughtcrime.securesms.groups.BadGroupIdException
|
||||
import org.thoughtcrime.securesms.groups.GroupAccessControl
|
||||
@@ -458,7 +459,7 @@ object DataMessageProcessor {
|
||||
if (groupId != null) {
|
||||
parentStoryId = GroupReply(storyId)
|
||||
} else if (SignalDatabase.storySends.canReply(senderRecipientId, sentTimestamp)) {
|
||||
val story = SignalDatabase.messages.getMessageRecord(storyId) as MmsMessageRecord
|
||||
val story = SignalDatabase.messages.getMessageRecord(storyId).withAttachments() as MmsMessageRecord
|
||||
var displayText = ""
|
||||
var bodyRanges: BodyRangeList? = null
|
||||
|
||||
@@ -771,7 +772,7 @@ object DataMessageProcessor {
|
||||
storyMessageId = SignalDatabase.messages.getStoryId(storyAuthorRecipientId, sentTimestamp)
|
||||
}
|
||||
|
||||
val story: MmsMessageRecord = SignalDatabase.messages.getMessageRecord(storyMessageId.id) as MmsMessageRecord
|
||||
val story: MmsMessageRecord = SignalDatabase.messages.getMessageRecord(storyMessageId.id).withAttachments() as MmsMessageRecord
|
||||
var threadRecipient: Recipient = SignalDatabase.threads.getRecipientForThreadId(story.threadId)!!
|
||||
val groupRecord: GroupRecord? = SignalDatabase.groups.getGroup(threadRecipient.id).orNull()
|
||||
val groupStory: Boolean = groupRecord?.isActive ?: false
|
||||
|
||||
@@ -51,6 +51,7 @@ import org.thoughtcrime.securesms.database.model.databaseprotos.MessageExtras
|
||||
import org.thoughtcrime.securesms.database.model.databaseprotos.PinnedMessage
|
||||
import org.thoughtcrime.securesms.database.model.databaseprotos.PollTerminate
|
||||
import org.thoughtcrime.securesms.database.model.toBodyRangeList
|
||||
import org.thoughtcrime.securesms.database.withAttachments
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies
|
||||
import org.thoughtcrime.securesms.groups.BadGroupIdException
|
||||
import org.thoughtcrime.securesms.groups.GroupChangeBusyException
|
||||
@@ -756,7 +757,7 @@ object SyncMessageProcessor {
|
||||
var expiresInMillis = 0L
|
||||
val storyAuthorRecipient: RecipientId = RecipientId.from(authorServiceId)
|
||||
val storyMessageId: Long = SignalDatabase.messages.getStoryId(storyAuthorRecipient, sentTimestamp).id
|
||||
val story: MmsMessageRecord = SignalDatabase.messages.getMessageRecord(storyMessageId) as MmsMessageRecord
|
||||
val story: MmsMessageRecord = SignalDatabase.messages.getMessageRecord(storyMessageId).withAttachments() as MmsMessageRecord
|
||||
val threadRecipientId: RecipientId? = SignalDatabase.threads.getRecipientForThreadId(story.threadId)?.id
|
||||
val groupStory: Boolean = threadRecipientId != null && (SignalDatabase.groups.getGroup(threadRecipientId).orNull()?.isActive ?: false)
|
||||
var bodyRanges: BodyRangeList? = null
|
||||
|
||||
@@ -16,6 +16,7 @@ import org.thoughtcrime.securesms.database.model.DistributionListId
|
||||
import org.thoughtcrime.securesms.database.model.MessageRecord
|
||||
import org.thoughtcrime.securesms.database.model.StoryResult
|
||||
import org.thoughtcrime.securesms.database.model.StoryViewState
|
||||
import org.thoughtcrime.securesms.database.withAttachments
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies
|
||||
import org.thoughtcrime.securesms.jobs.MultiDeviceReadUpdateJob
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore
|
||||
@@ -74,7 +75,7 @@ class StoriesLandingRepository(context: Context) {
|
||||
.take(if (recipient.isMyStory) 2 else 1)
|
||||
.mapNotNull {
|
||||
try {
|
||||
SignalDatabase.messages.getMessageRecord(it.messageId)
|
||||
SignalDatabase.messages.getMessageRecord(it.messageId).withAttachments()
|
||||
} catch (e: NoSuchMessageException) {
|
||||
Log.w(TAG, "Failed to find message record ${it.messageId} sent at ${it.messageSentTimestamp} for story.", e)
|
||||
null
|
||||
|
||||
@@ -7,6 +7,7 @@ import org.signal.core.util.Base64
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase
|
||||
import org.thoughtcrime.securesms.database.model.MmsMessageRecord
|
||||
import org.thoughtcrime.securesms.database.model.databaseprotos.StoryTextPost
|
||||
import org.thoughtcrime.securesms.database.withAttachments
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies
|
||||
import org.thoughtcrime.securesms.fonts.TextFont
|
||||
import org.thoughtcrime.securesms.fonts.TextToScript
|
||||
@@ -15,7 +16,7 @@ import org.thoughtcrime.securesms.fonts.TypefaceCache
|
||||
class StoryTextPostRepository {
|
||||
fun getRecord(recordId: Long): Single<MmsMessageRecord> {
|
||||
return Single.fromCallable {
|
||||
SignalDatabase.messages.getMessageRecord(recordId) as MmsMessageRecord
|
||||
SignalDatabase.messages.getMessageRecord(recordId).withAttachments() as MmsMessageRecord
|
||||
}.subscribeOn(Schedulers.io())
|
||||
}
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ import org.thoughtcrime.securesms.database.model.MessageRecord
|
||||
import org.thoughtcrime.securesms.database.model.MmsMessageRecord
|
||||
import org.thoughtcrime.securesms.database.model.ParentStoryId
|
||||
import org.thoughtcrime.securesms.database.model.databaseprotos.BodyRangeList
|
||||
import org.thoughtcrime.securesms.database.withAttachments
|
||||
import org.thoughtcrime.securesms.mms.OutgoingMessage
|
||||
import org.thoughtcrime.securesms.mms.QuoteModel
|
||||
import org.thoughtcrime.securesms.recipients.Recipient
|
||||
@@ -22,13 +23,13 @@ class StoryDirectReplyRepository(context: Context) {
|
||||
|
||||
fun getStoryPost(storyId: Long): Single<MessageRecord> {
|
||||
return Single.fromCallable {
|
||||
SignalDatabase.messages.getMessageRecord(storyId)
|
||||
SignalDatabase.messages.getMessageRecord(storyId).withAttachments()
|
||||
}.subscribeOn(Schedulers.io())
|
||||
}
|
||||
|
||||
fun send(storyId: Long, groupDirectReplyRecipientId: RecipientId?, body: CharSequence, bodyRangeList: BodyRangeList?, isReaction: Boolean): Completable {
|
||||
return Completable.create { emitter ->
|
||||
val message = SignalDatabase.messages.getMessageRecord(storyId) as MmsMessageRecord
|
||||
val message = SignalDatabase.messages.getMessageRecord(storyId).withAttachments() as MmsMessageRecord
|
||||
val (recipient, threadId) = if (groupDirectReplyRecipientId == null) {
|
||||
message.fromRecipient to message.threadId
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user