mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-02 00:17:41 +01:00
Fix deleting a disappeared message.
This commit is contained in:
committed by
jeffrey-signal
parent
3d78d5473e
commit
bd5f25ffc7
@@ -2319,6 +2319,7 @@ open class MessageTable(context: Context?, databaseHelper: SignalDatabase) : Dat
|
||||
}
|
||||
}
|
||||
|
||||
@Throws(NoSuchMessageException::class)
|
||||
fun markAsDeleteBySelf(messageId: Long) {
|
||||
val targetMessage: MessageRecord = getMessageRecord(messageId)
|
||||
markAsRemoteDelete(targetMessage, Recipient.self().id)
|
||||
|
||||
@@ -506,11 +506,10 @@ public class MessageSender {
|
||||
}
|
||||
|
||||
public static void sendRemoteDelete(long messageId) {
|
||||
MessageTable db = SignalDatabase.messages();
|
||||
db.markAsDeleteBySelf(messageId);
|
||||
db.markAsSending(messageId);
|
||||
|
||||
try {
|
||||
MessageTable db = SignalDatabase.messages();
|
||||
db.markAsDeleteBySelf(messageId);
|
||||
db.markAsSending(messageId);
|
||||
RemoteDeleteSendJob.create(messageId).enqueue();
|
||||
onMessageSent();
|
||||
} catch (NoSuchMessageException e) {
|
||||
@@ -519,13 +518,17 @@ public class MessageSender {
|
||||
}
|
||||
|
||||
public static void sendAdminDelete(long messageId) {
|
||||
SignalDatabase.messages().markAsDeleteBySelf(messageId);
|
||||
SignalDatabase.messages().markAsPendingAdminDelete(messageId);
|
||||
AdminDeleteSendJob job = AdminDeleteSendJob.create(messageId, Collections.emptyList());
|
||||
if (job != null) {
|
||||
AppDependencies.getJobManager().add(job);
|
||||
} else {
|
||||
Log.w(TAG, "[sendAdminDelete] Could not create the admin delete job.");
|
||||
try {
|
||||
SignalDatabase.messages().markAsDeleteBySelf(messageId);
|
||||
SignalDatabase.messages().markAsPendingAdminDelete(messageId);
|
||||
AdminDeleteSendJob job = AdminDeleteSendJob.create(messageId, Collections.emptyList());
|
||||
if (job != null) {
|
||||
AppDependencies.getJobManager().add(job);
|
||||
} else {
|
||||
Log.w(TAG, "[sendAdminDelete] Could not create the admin delete job.");
|
||||
}
|
||||
} catch (NoSuchMessageException e) {
|
||||
Log.w(TAG, "[sendAdminDelete] Could not find message! Ignoring.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user