mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-23 10:20:25 +01:00
Separate thread updates into a job and other perf improvements.
This commit is contained in:
committed by
Alex Hart
parent
db7272730e
commit
665d9e31f6
@@ -19,6 +19,7 @@ import org.thoughtcrime.securesms.database.IdentityDatabase.IdentityRecord;
|
||||
import org.thoughtcrime.securesms.database.MessageDatabase;
|
||||
import org.thoughtcrime.securesms.database.MessageDatabase.InsertResult;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.jobs.ThreadUpdateJob;
|
||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||
import org.thoughtcrime.securesms.recipients.RecipientId;
|
||||
import org.thoughtcrime.securesms.sms.IncomingIdentityDefaultMessage;
|
||||
@@ -90,6 +91,7 @@ public final class IdentityUtil {
|
||||
else outgoing = new OutgoingIdentityDefaultMessage(recipient);
|
||||
|
||||
DatabaseFactory.getSmsDatabase(context).insertMessageOutbox(threadId, outgoing, false, time, null);
|
||||
ThreadUpdateJob.enqueue(threadId);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -112,6 +114,7 @@ public final class IdentityUtil {
|
||||
|
||||
Log.i(TAG, "Inserting verified outbox...");
|
||||
DatabaseFactory.getSmsDatabase(context).insertMessageOutbox(threadId, outgoing, false, time, null);
|
||||
ThreadUpdateJob.enqueue(threadId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -99,7 +99,9 @@ public final class SignalLocalMetrics {
|
||||
private static final String SPLIT_DB_INSERT = "db-insert";
|
||||
private static final String SPLIT_JOB_ENQUEUE = "job-enqueue";
|
||||
private static final String SPLIT_JOB_PRE_NETWORK = "job-pre-network";
|
||||
private static final String SPLIT_NETWORK = "network";
|
||||
private static final String SPLIT_ENCRYPT = "encrypt";
|
||||
private static final String SPLIT_NETWORK_MAIN = "network-main";
|
||||
private static final String SPLIT_NETWORK_SYNC = "network-sync";
|
||||
private static final String SPLIT_JOB_POST_NETWORK = "job-post-network";
|
||||
private static final String SPLIT_UI_UPDATE = "ui-update";
|
||||
|
||||
@@ -123,14 +125,24 @@ public final class SignalLocalMetrics {
|
||||
LocalMetrics.getInstance().split(requireId(messageId), SPLIT_JOB_ENQUEUE);
|
||||
}
|
||||
|
||||
public static void onNetworkStarted(long messageId) {
|
||||
public static void onDeliveryStarted(long messageId) {
|
||||
if (!ID_MAP.containsKey(messageId)) return;
|
||||
LocalMetrics.getInstance().split(requireId(messageId), SPLIT_JOB_PRE_NETWORK);
|
||||
}
|
||||
|
||||
public static void onNetworkFinished(long messageId) {
|
||||
public static void onMessageEncrypted(long messageId) {
|
||||
if (!ID_MAP.containsKey(messageId)) return;
|
||||
LocalMetrics.getInstance().split(requireId(messageId), SPLIT_NETWORK);
|
||||
LocalMetrics.getInstance().split(requireId(messageId), SPLIT_ENCRYPT);
|
||||
}
|
||||
|
||||
public static void onMessageSent(long messageId) {
|
||||
if (!ID_MAP.containsKey(messageId)) return;
|
||||
LocalMetrics.getInstance().split(requireId(messageId), SPLIT_NETWORK_MAIN);
|
||||
}
|
||||
|
||||
public static void onSyncMessageSent(long messageId) {
|
||||
if (!ID_MAP.containsKey(messageId)) return;
|
||||
LocalMetrics.getInstance().split(requireId(messageId), SPLIT_NETWORK_SYNC);
|
||||
}
|
||||
|
||||
public static void onJobFinished(long messageId) {
|
||||
|
||||
Reference in New Issue
Block a user