mirror of
https://github.com/oxen-io/session-android.git
synced 2024-11-30 13:35:18 +00:00
parent
1daea51cfb
commit
90d5e9dccd
@ -34,8 +34,6 @@ import org.thoughtcrime.securesms.sms.OutgoingTextMessage;
|
||||
import org.thoughtcrime.securesms.util.Base64;
|
||||
import org.thoughtcrime.securesms.util.GroupUtil;
|
||||
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||||
import org.thoughtcrime.securesms.util.Util;
|
||||
import org.thoughtcrime.securesms.util.VersionTracker;
|
||||
import org.whispersystems.jobqueue.JobParameters;
|
||||
import org.whispersystems.libaxolotl.DuplicateMessageException;
|
||||
import org.whispersystems.libaxolotl.IdentityKey;
|
||||
@ -88,11 +86,7 @@ public class PushDecryptJob extends ContextJob {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAdded() {
|
||||
if (KeyCachingService.getMasterSecret(context) == null) {
|
||||
MessageNotifier.updateNotification(context, null, -2);
|
||||
}
|
||||
}
|
||||
public void onAdded() {}
|
||||
|
||||
@Override
|
||||
public void onRun() throws NoSuchMessageException {
|
||||
@ -100,7 +94,7 @@ public class PushDecryptJob extends ContextJob {
|
||||
Log.w(TAG, "Skipping job, waiting for migration...");
|
||||
|
||||
if (KeyCachingService.getMasterSecret(context) != null) {
|
||||
MessageNotifier.updateNotification(context, null, -2);
|
||||
MessageNotifier.updateNotification(context, null, true, -2);
|
||||
}
|
||||
|
||||
return;
|
||||
|
@ -124,12 +124,20 @@ public class MessageNotifier {
|
||||
return;
|
||||
}
|
||||
|
||||
updateNotification(context, masterSecret, false, 0);
|
||||
updateNotification(context, masterSecret, false, false, 0);
|
||||
}
|
||||
|
||||
public static void updateNotification(@NonNull Context context,
|
||||
@Nullable MasterSecret masterSecret,
|
||||
long threadId)
|
||||
{
|
||||
updateNotification(context, masterSecret, false, threadId);
|
||||
}
|
||||
|
||||
public static void updateNotification(@NonNull Context context,
|
||||
@Nullable MasterSecret masterSecret,
|
||||
boolean includePushDatabase,
|
||||
long threadId)
|
||||
{
|
||||
Recipients recipients = DatabaseFactory.getThreadDatabase(context)
|
||||
.getRecipientsForThreadId(threadId);
|
||||
@ -140,19 +148,20 @@ public class MessageNotifier {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (visibleThread == threadId) {
|
||||
ThreadDatabase threads = DatabaseFactory.getThreadDatabase(context);
|
||||
threads.setRead(threadId);
|
||||
sendInThreadNotification(context, threads.getRecipientsForThreadId(threadId));
|
||||
} else {
|
||||
updateNotification(context, masterSecret, true, 0);
|
||||
updateNotification(context, masterSecret, true, includePushDatabase, 0);
|
||||
}
|
||||
}
|
||||
|
||||
private static void updateNotification(@NonNull Context context,
|
||||
@Nullable MasterSecret masterSecret,
|
||||
boolean signal, int reminderCount)
|
||||
boolean signal,
|
||||
boolean includePushDatabase,
|
||||
int reminderCount)
|
||||
{
|
||||
Cursor telcoCursor = null;
|
||||
Cursor pushCursor = null;
|
||||
@ -173,7 +182,9 @@ public class MessageNotifier {
|
||||
|
||||
NotificationState notificationState = constructNotificationState(context, masterSecret, telcoCursor);
|
||||
|
||||
appendPushNotificationState(context, masterSecret, notificationState, pushCursor);
|
||||
if (includePushDatabase) {
|
||||
appendPushNotificationState(context, notificationState, pushCursor);
|
||||
}
|
||||
|
||||
if (notificationState.hasMultipleThreads()) {
|
||||
sendMultipleThreadNotification(context, masterSecret, notificationState, signal);
|
||||
@ -383,12 +394,9 @@ public class MessageNotifier {
|
||||
}
|
||||
|
||||
private static void appendPushNotificationState(@NonNull Context context,
|
||||
@Nullable MasterSecret masterSecret,
|
||||
@NonNull NotificationState notificationState,
|
||||
@NonNull Cursor cursor)
|
||||
{
|
||||
if (masterSecret != null) return;
|
||||
|
||||
PushDatabase.Reader reader = null;
|
||||
TextSecureEnvelope envelope;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user