private MessageEntry findMessageEntry(ApptentiveMessage message) { Assert.assertNotNull(message); return message != null ? findMessageEntry(message.getNonce()) : null; }
if (!uniqueNonce.add(((ApptentiveMessage) message).getNonce())) { listItemIterator.remove(); messageCenterRecyclerViewAdapter.notifyItemRemoved(adapterMessagePosition);
@Override public synchronized void updateMessage(ApptentiveMessage apptentiveMessage) { fetchEntries(); MessageEntry entry = findMessageEntry(apptentiveMessage); if (entry != null) { entry.id = apptentiveMessage.getId(); entry.clientCreatedAt = apptentiveMessage.getClientCreatedAt(); entry.nonce = apptentiveMessage.getNonce(); entry.state = apptentiveMessage.getState().name(); if (apptentiveMessage.isRead()) { // A apptentiveMessage can't be unread after being read. entry.isRead = true; } entry.json = apptentiveMessage.getJsonObject().toString(); writeToFile(); } }
messageStore.deleteMessage(apptentiveMessage.getNonce()); return;
@Override public synchronized void addOrUpdateMessages(ApptentiveMessage... apptentiveMessages) { fetchEntries(); for (ApptentiveMessage apptentiveMessage : apptentiveMessages) { MessageEntry existing = findMessageEntry(apptentiveMessage); if (existing != null) { // Update existing.id = apptentiveMessage.getId(); existing.state = apptentiveMessage.getState().name(); if (apptentiveMessage.isRead()) { // A message can't be unread after being read. existing.isRead = true; } existing.json = apptentiveMessage.getJsonObject().toString(); } else { // Insert MessageEntry entry = new MessageEntry(); entry.id = apptentiveMessage.getId(); entry.clientCreatedAt = apptentiveMessage.getClientCreatedAt(); entry.nonce = apptentiveMessage.getNonce(); entry.state = apptentiveMessage.getState().name(); entry.isRead = apptentiveMessage.isRead(); entry.json = apptentiveMessage.getJsonObject().toString(); messageEntries.add(entry); } } writeToFile(); }
MessageCenterListItem message = fragment.listItems.get(i); if (message instanceof ApptentiveMessage) { String nonce = ((ApptentiveMessage) message).getNonce(); if (nonce != null) { String sentNonce = apptentiveMessage.getNonce(); if (sentNonce != null && nonce.equals(sentNonce)) { ((ApptentiveMessage) message).setCreatedAt(apptentiveMessage.getCreatedAt());