/** * Attempts to migrate from the legacy clear text format. * * @return <code>false</code> if failed. */ boolean migrateConversationData() throws SerializerException { long start = System.currentTimeMillis(); File legacyConversationDataFile = Util.getUnencryptedFilename(conversationDataFile); if (legacyConversationDataFile.exists()) { try { ApptentiveLog.d(CONVERSATION, "Migrating %sconversation data...", hasState(LOGGED_IN) ? "encrypted " : ""); FileSerializer serializer = isAuthenticated() ? new EncryptedFileSerializer(legacyConversationDataFile, getEncryptionKey()) : new FileSerializer(legacyConversationDataFile); conversationData = (ConversationData) serializer.deserialize(); ApptentiveLog.d(CONVERSATION, "Conversation data migrated (took %d ms)", System.currentTimeMillis() - start); return true; } finally { boolean deleted = legacyConversationDataFile.delete(); ApptentiveLog.d(CONVERSATION, "Legacy conversation file deleted: %b", deleted); } } return false; }
public void addPayload(Payload payload) { // TODO: figure out a better way of detecting new events if (payload instanceof EventPayload) { notifyEventGenerated((EventPayload) payload); } payload.setLocalConversationIdentifier(notNull(getLocalIdentifier())); payload.setConversationId(getConversationId()); payload.setToken(getConversationToken()); payload.setEncryptionKey(getEncryptionKey()); payload.setAuthenticated(isAuthenticated()); payload.setSessionId(getSessionId()); // TODO: don't use singleton here ApptentiveInternal.getInstance().getApptentiveTaskManager().addPayload(payload); }
item.setConversationEncryptionKey(notNull(conversation.getEncryptionKey())); item.setUserId(notNull(conversation.getUserId()));