reworked unique id generation for notification intents
This commit is contained in:
parent
c33f4b704c
commit
9f5a089d5c
|
@ -53,9 +53,11 @@ public class NotificationService {
|
||||||
|
|
||||||
private final LinkedHashMap<String, ArrayList<Message>> notifications = new LinkedHashMap<>();
|
private final LinkedHashMap<String, ArrayList<Message>> notifications = new LinkedHashMap<>();
|
||||||
|
|
||||||
public static final int NOTIFICATION_ID = 0x2342;
|
private static final int NOTIFICATION_ID_MULTIPLIER = 1024 * 1024;
|
||||||
public static final int FOREGROUND_NOTIFICATION_ID = 0x8899;
|
|
||||||
public static final int ERROR_NOTIFICATION_ID = 0x5678;
|
public static final int NOTIFICATION_ID = 2 * NOTIFICATION_ID_MULTIPLIER;
|
||||||
|
public static final int FOREGROUND_NOTIFICATION_ID = NOTIFICATION_ID_MULTIPLIER * 4;
|
||||||
|
public static final int ERROR_NOTIFICATION_ID = NOTIFICATION_ID_MULTIPLIER * 6;
|
||||||
|
|
||||||
private Conversation mOpenConversation;
|
private Conversation mOpenConversation;
|
||||||
private boolean mIsInForeground;
|
private boolean mIsInForeground;
|
||||||
|
@ -524,12 +526,12 @@ public class NotificationService {
|
||||||
if (downloadMessageUuid != null) {
|
if (downloadMessageUuid != null) {
|
||||||
viewConversationIntent.putExtra(ConversationActivity.EXTRA_DOWNLOAD_UUID, downloadMessageUuid);
|
viewConversationIntent.putExtra(ConversationActivity.EXTRA_DOWNLOAD_UUID, downloadMessageUuid);
|
||||||
return PendingIntent.getActivity(mXmppConnectionService,
|
return PendingIntent.getActivity(mXmppConnectionService,
|
||||||
conversationUuid.hashCode() % 389782,
|
(conversationUuid.hashCode() % NOTIFICATION_ID_MULTIPLIER) + 8 * NOTIFICATION_ID_MULTIPLIER,
|
||||||
viewConversationIntent,
|
viewConversationIntent,
|
||||||
PendingIntent.FLAG_UPDATE_CURRENT);
|
PendingIntent.FLAG_UPDATE_CURRENT);
|
||||||
} else {
|
} else {
|
||||||
return PendingIntent.getActivity(mXmppConnectionService,
|
return PendingIntent.getActivity(mXmppConnectionService,
|
||||||
conversationUuid.hashCode() % 936236,
|
(conversationUuid.hashCode() % NOTIFICATION_ID_MULTIPLIER) + 10 * NOTIFICATION_ID_MULTIPLIER,
|
||||||
viewConversationIntent,
|
viewConversationIntent,
|
||||||
PendingIntent.FLAG_UPDATE_CURRENT);
|
PendingIntent.FLAG_UPDATE_CURRENT);
|
||||||
}
|
}
|
||||||
|
@ -548,7 +550,7 @@ public class NotificationService {
|
||||||
intent.setAction(XmppConnectionService.ACTION_CLEAR_NOTIFICATION);
|
intent.setAction(XmppConnectionService.ACTION_CLEAR_NOTIFICATION);
|
||||||
if (conversation != null) {
|
if (conversation != null) {
|
||||||
intent.putExtra("uuid", conversation.getUuid());
|
intent.putExtra("uuid", conversation.getUuid());
|
||||||
return PendingIntent.getService(mXmppConnectionService, conversation.getUuid().hashCode() % 247527, intent, 0);
|
return PendingIntent.getService(mXmppConnectionService, (conversation.getUuid().hashCode() % NOTIFICATION_ID_MULTIPLIER) + 12 * NOTIFICATION_ID_MULTIPLIER, intent, 0);
|
||||||
}
|
}
|
||||||
return PendingIntent.getService(mXmppConnectionService, 0, intent, 0);
|
return PendingIntent.getService(mXmppConnectionService, 0, intent, 0);
|
||||||
}
|
}
|
||||||
|
@ -558,7 +560,7 @@ public class NotificationService {
|
||||||
intent.setAction(XmppConnectionService.ACTION_REPLY_TO_CONVERSATION);
|
intent.setAction(XmppConnectionService.ACTION_REPLY_TO_CONVERSATION);
|
||||||
intent.putExtra("uuid",conversation.getUuid());
|
intent.putExtra("uuid",conversation.getUuid());
|
||||||
intent.putExtra("dismiss_notification",dismissAfterReply);
|
intent.putExtra("dismiss_notification",dismissAfterReply);
|
||||||
int id = conversation.getUuid().hashCode() % (dismissAfterReply ? 402359 : 426583);
|
int id = (conversation.getUuid().hashCode() % NOTIFICATION_ID_MULTIPLIER) + (dismissAfterReply ? 12 : 14) * NOTIFICATION_ID_MULTIPLIER;
|
||||||
return PendingIntent.getService(mXmppConnectionService, id, intent, 0);
|
return PendingIntent.getService(mXmppConnectionService, id, intent, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -567,7 +569,7 @@ public class NotificationService {
|
||||||
intent.setAction(XmppConnectionService.ACTION_MARK_AS_READ);
|
intent.setAction(XmppConnectionService.ACTION_MARK_AS_READ);
|
||||||
intent.putExtra("uuid", conversation.getUuid());
|
intent.putExtra("uuid", conversation.getUuid());
|
||||||
intent.setPackage(mXmppConnectionService.getPackageName());
|
intent.setPackage(mXmppConnectionService.getPackageName());
|
||||||
return PendingIntent.getService(mXmppConnectionService, conversation.getUuid().hashCode() % 247527, intent, PendingIntent.FLAG_UPDATE_CURRENT);
|
return PendingIntent.getService(mXmppConnectionService, (conversation.getUuid().hashCode() % NOTIFICATION_ID_MULTIPLIER) + 16 * NOTIFICATION_ID_MULTIPLIER, intent, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
private PendingIntent createDisableForeground() {
|
private PendingIntent createDisableForeground() {
|
||||||
|
|
Loading…
Reference in a new issue