Add more logging around threads in message sends.
This commit is contained in:
parent
d1e0f3646a
commit
992b04f8c5
7 changed files with 26 additions and 20 deletions
|
@ -2070,6 +2070,8 @@ public class ConversationActivity extends PassphraseRequiredActivity
|
|||
distributionType = args.getDistributionType();
|
||||
glideRequests = GlideApp.with(this);
|
||||
|
||||
Log.i(TAG, "[initializeResources] Recipient: " + recipient.getId() + ", Thread: " + threadId);
|
||||
|
||||
recipient.observe(this, this::onRecipientChanged);
|
||||
}
|
||||
|
||||
|
@ -2706,8 +2708,7 @@ public class ConversationActivity extends PassphraseRequiredActivity
|
|||
linkPreviewViewModel.hasLinkPreview() ||
|
||||
needsSplit;
|
||||
|
||||
Log.i(TAG, "isManual Selection: " + sendButton.isManualSelection());
|
||||
Log.i(TAG, "forceSms: " + forceSms);
|
||||
Log.i(TAG, "[sendMessage] recipient: " + recipient.getId() + ", threadId: " + threadId + ", forceSms: " + forceSms + ", isManual: " + sendButton.isManualSelection());
|
||||
|
||||
if ((recipient.isMmsGroup() || recipient.getEmail().isPresent()) && !isMmsEnabled) {
|
||||
handleManualMmsRequired();
|
||||
|
@ -2874,18 +2875,9 @@ public class ConversationActivity extends PassphraseRequiredActivity
|
|||
silentlySetComposeText("");
|
||||
final long id = fragment.stageOutgoingMessage(message);
|
||||
|
||||
new AsyncTask<OutgoingTextMessage, Void, Long>() {
|
||||
@Override
|
||||
protected Long doInBackground(OutgoingTextMessage... messages) {
|
||||
return MessageSender.send(context, messages[0], thread, forceSms, () -> fragment.releaseOutgoingMessage(id));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(Long result) {
|
||||
sendComplete(result);
|
||||
}
|
||||
}.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, message);
|
||||
|
||||
SimpleTask.run(() -> {
|
||||
return MessageSender.send(context, message, thread, forceSms, () -> fragment.releaseOutgoingMessage(id));
|
||||
}, this::sendComplete);
|
||||
})
|
||||
.execute();
|
||||
}
|
||||
|
|
|
@ -327,6 +327,8 @@ public class ConversationFragment extends LoggingFragment {
|
|||
public void onActivityCreated(Bundle bundle) {
|
||||
super.onActivityCreated(bundle);
|
||||
|
||||
Log.d(TAG, "[onActivityCreated]");
|
||||
|
||||
initializeScrollButtonAnimations();
|
||||
initializeResources();
|
||||
initializeMessageRequestViewModel();
|
||||
|
@ -377,6 +379,8 @@ public class ConversationFragment extends LoggingFragment {
|
|||
}
|
||||
|
||||
public void onNewIntent() {
|
||||
Log.d(TAG, "[onNewIntent]");
|
||||
|
||||
if (actionMode != null) {
|
||||
actionMode.finish();
|
||||
}
|
||||
|
@ -673,9 +677,12 @@ public class ConversationFragment extends LoggingFragment {
|
|||
}
|
||||
|
||||
public void reload(Recipient recipient, long threadId) {
|
||||
Log.d(TAG, "[reload] Recipient: " + recipient.getId() + ", ThreadId: " + threadId);
|
||||
this.recipient = recipient.live();
|
||||
|
||||
if (this.threadId != threadId) {
|
||||
Log.i(TAG, "ThreadId changed from " + this.threadId + " to " + threadId + ". Recipient was " + this.recipient.getId() + " and is now " + recipient.getId());
|
||||
|
||||
this.threadId = threadId;
|
||||
messageRequestViewModel.setConversationInfo(recipient.getId(), threadId);
|
||||
|
||||
|
|
|
@ -115,7 +115,7 @@ class ConversationViewModel extends ViewModel {
|
|||
|
||||
@MainThread
|
||||
void onConversationDataAvailable(@NonNull RecipientId recipientId, long threadId, int startingPosition) {
|
||||
Log.d(TAG, "[onConversationDataAvailable] threadId: " + threadId + ", startingPosition: " + startingPosition);
|
||||
Log.d(TAG, "[onConversationDataAvailable] recipientId: " + recipientId + ", threadId: " + threadId + ", startingPosition: " + startingPosition);
|
||||
this.jumpToPosition = startingPosition;
|
||||
|
||||
this.threadId.setValue(threadId);
|
||||
|
|
|
@ -1053,7 +1053,13 @@ public class ThreadDatabase extends Database {
|
|||
public long getOrCreateValidThreadId(@NonNull Recipient recipient, long candidateId, int distributionType) {
|
||||
if (candidateId != -1) {
|
||||
Optional<Long> remapped = RemappedRecords.getInstance().getThread(context, candidateId);
|
||||
return remapped.isPresent() ? remapped.get() : candidateId;
|
||||
|
||||
if (remapped.isPresent()) {
|
||||
Log.i(TAG, "Using remapped threadId: " + candidateId + " -> " + remapped.get());
|
||||
return remapped.get();
|
||||
} else {
|
||||
return candidateId;
|
||||
}
|
||||
} else {
|
||||
return getThreadIdFor(recipient, distributionType);
|
||||
}
|
||||
|
|
|
@ -155,10 +155,10 @@ public final class PushGroupSendJob extends PushSendJob {
|
|||
{
|
||||
MessageDatabase database = DatabaseFactory.getMmsDatabase(context);
|
||||
OutgoingMediaMessage message = database.getOutgoingMessage(messageId);
|
||||
long threadId = database.getMessageRecord(messageId).getThreadId();
|
||||
List<NetworkFailure> existingNetworkFailures = message.getNetworkFailures();
|
||||
List<IdentityKeyMismatch> existingIdentityMismatches = message.getIdentityKeyMismatches();
|
||||
|
||||
long threadId = DatabaseFactory.getThreadDatabase(context).getThreadIdFor(message.getRecipient());
|
||||
ApplicationDependencies.getJobManager().cancelAllInQueue(TypingSendJob.getQueue(threadId));
|
||||
|
||||
if (database.isSent(messageId)) {
|
||||
|
@ -177,7 +177,7 @@ public final class PushGroupSendJob extends PushSendJob {
|
|||
}
|
||||
|
||||
try {
|
||||
log(TAG, String.valueOf(message.getSentTimeMillis()), "Sending message: " + messageId);
|
||||
log(TAG, String.valueOf(message.getSentTimeMillis()), "Sending message: " + messageId + ", Recipient: " + message.getRecipient().getId() + ", Thread: " + threadId);
|
||||
|
||||
if (!groupRecipient.resolve().isProfileSharing() && !database.isGroupQuitMessage(messageId)) {
|
||||
RecipientUtil.shareProfileIfFirstSecureMessage(context, groupRecipient);
|
||||
|
|
|
@ -110,6 +110,7 @@ public class PushMediaSendJob extends PushSendJob {
|
|||
ExpiringMessageManager expirationManager = ApplicationContext.getInstance(context).getExpiringMessageManager();
|
||||
MessageDatabase database = DatabaseFactory.getMmsDatabase(context);
|
||||
OutgoingMediaMessage message = database.getOutgoingMessage(messageId);
|
||||
long threadId = database.getMessageRecord(messageId).getThreadId();
|
||||
|
||||
if (database.isSent(messageId)) {
|
||||
warn(TAG, String.valueOf(message.getSentTimeMillis()), "Message " + messageId + " was already sent. Ignoring.");
|
||||
|
@ -117,7 +118,7 @@ public class PushMediaSendJob extends PushSendJob {
|
|||
}
|
||||
|
||||
try {
|
||||
log(TAG, String.valueOf(message.getSentTimeMillis()), "Sending message: " + messageId);
|
||||
log(TAG, String.valueOf(message.getSentTimeMillis()), "Sending message: " + messageId + ", Recipient: " + message.getRecipient().getId() + ", Thread: " + threadId);
|
||||
|
||||
RecipientUtil.shareProfileIfFirstSecureMessage(context, message.getRecipient());
|
||||
|
||||
|
|
|
@ -83,7 +83,7 @@ public class PushTextSendJob extends PushSendJob {
|
|||
}
|
||||
|
||||
try {
|
||||
log(TAG, String.valueOf(record.getDateSent()), "Sending message: " + messageId);
|
||||
log(TAG, String.valueOf(record.getDateSent()), "Sending message: " + messageId + ", Recipient: " + record.getRecipient().getId() + ", Thread: " + record.getThreadId());
|
||||
|
||||
RecipientUtil.shareProfileIfFirstSecureMessage(context, record.getRecipient());
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue