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