private ConversationMetadata resolveMetadata() throws ConversationMetadataLoadException {
checkConversationQueue();
try {
File metaFile = new File(conversationsStorageDir, CONVERSATION_METADATA_FILE);
if (metaFile.exists()) {
ApptentiveLog.v(CONVERSATION, "Loading metadata file: %s", metaFile);
return ObjectSerialization.deserialize(metaFile, ConversationMetadata.class, encryptionKey);
}
metaFile = new File(conversationsStorageDir, CONVERSATION_METADATA_FILE_LEGACY_V1);
if (metaFile.exists()) {
ApptentiveLog.v(CONVERSATION, "Loading legacy v1 metadata file: %s", metaFile);
try {
return ObjectSerialization.deserialize(metaFile, ConversationMetadata.class);
} finally {
boolean fileDeleted = metaFile.delete();
ApptentiveLog.v(CONVERSATION, "Legacy metadata file deleted: %b", fileDeleted);
}
}
ApptentiveLog.v(CONVERSATION, "No metadata files");
} catch (Exception e) {
ApptentiveLog.e(CONVERSATION, e, "Exception while loading conversation metadata");
logException(e);
throw new ConversationMetadataLoadException("Unable to load metadata", e);
}
return new ConversationMetadata();
}