mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-21 17:29:32 +01:00
Remove SmsMessageRecord.
This commit is contained in:
@@ -13,7 +13,6 @@ import org.signal.core.util.logging.Log;
|
||||
import org.thoughtcrime.securesms.conversation.ConversationMessage.ConversationMessageFactory;
|
||||
import org.thoughtcrime.securesms.database.MessageTable;
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase;
|
||||
import org.thoughtcrime.securesms.database.model.MessageRecord;
|
||||
import org.thoughtcrime.securesms.database.model.MmsMessageRecord;
|
||||
import org.thoughtcrime.securesms.mms.PartAuthority;
|
||||
import org.thoughtcrime.securesms.mms.TextSlide;
|
||||
@@ -26,21 +25,15 @@ class LongMessageRepository {
|
||||
|
||||
private final static String TAG = Log.tag(LongMessageRepository.class);
|
||||
|
||||
private final MessageTable mmsDatabase;
|
||||
private final MessageTable smsDatabase;
|
||||
private final MessageTable messageTable;
|
||||
|
||||
LongMessageRepository() {
|
||||
this.mmsDatabase = SignalDatabase.messages();
|
||||
this.smsDatabase = SignalDatabase.messages();
|
||||
this.messageTable = SignalDatabase.messages();
|
||||
}
|
||||
|
||||
void getMessage(@NonNull Context context, long messageId, boolean isMms, @NonNull Callback<Optional<LongMessage>> callback) {
|
||||
void getMessage(@NonNull Context context, long messageId, @NonNull Callback<Optional<LongMessage>> callback) {
|
||||
SignalExecutors.BOUNDED.execute(() -> {
|
||||
if (isMms) {
|
||||
callback.onComplete(getMmsLongMessage(context, mmsDatabase, messageId));
|
||||
} else {
|
||||
callback.onComplete(getSmsLongMessage(context, smsDatabase, messageId));
|
||||
}
|
||||
callback.onComplete(getMmsLongMessage(context, messageTable, messageId));
|
||||
});
|
||||
}
|
||||
|
||||
@@ -61,18 +54,6 @@ class LongMessageRepository {
|
||||
}
|
||||
}
|
||||
|
||||
@WorkerThread
|
||||
private Optional<LongMessage> getSmsLongMessage(@NonNull Context context, @NonNull MessageTable smsDatabase, long messageId) {
|
||||
Optional<MessageRecord> record = getSmsMessage(smsDatabase, messageId);
|
||||
|
||||
if (record.isPresent()) {
|
||||
return Optional.of(new LongMessage(ConversationMessageFactory.createWithUnresolvedData(context, record.get())));
|
||||
} else {
|
||||
return Optional.empty();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@WorkerThread
|
||||
private Optional<MmsMessageRecord> getMmsMessage(@NonNull MessageTable mmsDatabase, long messageId) {
|
||||
try (Cursor cursor = mmsDatabase.getMessageCursor(messageId)) {
|
||||
@@ -80,13 +61,6 @@ class LongMessageRepository {
|
||||
}
|
||||
}
|
||||
|
||||
@WorkerThread
|
||||
private Optional<MessageRecord> getSmsMessage(@NonNull MessageTable smsDatabase, long messageId) {
|
||||
try (Cursor cursor = smsDatabase.getMessageCursor(messageId)) {
|
||||
return Optional.ofNullable(MessageTable.smsReaderFor(cursor).getNext());
|
||||
}
|
||||
}
|
||||
|
||||
private @NonNull String readFullBody(@NonNull Context context, @NonNull Uri uri) {
|
||||
try (InputStream stream = PartAuthority.getAttachmentStream(context, uri)) {
|
||||
return StreamUtil.readFullyAsString(stream);
|
||||
|
||||
@@ -21,9 +21,9 @@ class LongMessageViewModel extends ViewModel {
|
||||
|
||||
private LongMessageViewModel(@NonNull Application application, @NonNull LongMessageRepository repository, long messageId, boolean isMms) {
|
||||
this.message = new MutableLiveData<>();
|
||||
this.threadObserver = () -> repository.getMessage(application, messageId, isMms, message::postValue);
|
||||
this.threadObserver = () -> repository.getMessage(application, messageId, message::postValue);
|
||||
|
||||
repository.getMessage(application, messageId, isMms, longMessage -> {
|
||||
repository.getMessage(application, messageId, longMessage -> {
|
||||
if (longMessage.isPresent()) {
|
||||
ApplicationDependencies.getDatabaseObserver().registerConversationObserver(longMessage.get().getMessageRecord().getThreadId(), threadObserver);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user