diff --git a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/ufed/ReportGenerator.java b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/ufed/ReportGenerator.java
index 21a1d647d7..6c4ba2171d 100644
--- a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/ufed/ReportGenerator.java
+++ b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/ufed/ReportGenerator.java
@@ -113,8 +113,6 @@ private void printMessage(PrintWriter out, UfedMessage message, boolean group, b
name = Messages.getString("ReportGenerator.Unknown"); //$NON-NLS-1$
}
- if (chatDeleted || message.isDeleted())
- out.println("🚫 "); //$NON-NLS-1$
if (name != null)
out.println(
@@ -192,18 +190,24 @@ private void printMessage(PrintWriter out, UfedMessage message, boolean group, b
out.print("
" + Messages.getString("WhatsAppReport.FoundInPedoHashDB") + " "
+ format(message.getChildPornSets().toString()) + "
");
}
-
if (message.getTimeStamp() != null) {
out.println(""); //$NON-NLS-1$
out.println(timeFormat.format(message.getTimeStamp())); // $NON-NLS-1$
out.println(""); //$NON-NLS-1$
}
-
+ if (chatDeleted || message.isDeleted()) {
+ out.println("
"); //$NON-NLS-1$
+ out.println("" + Messages.getString("WhatsAppReport.MessageDeletedRecovered") + ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ out.println(""); //$NON-NLS-1$
+ out.println(""); //$NON-NLS-1$
+ }
if (isTo)
out.println("");
if (isFrom)
out.println("");
+
+
out.println(""); //$NON-NLS-1$
}
diff --git a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/ufed/UFEDChatParser.java b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/ufed/UFEDChatParser.java
index 7926ab7950..a364b2d443 100644
--- a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/ufed/UFEDChatParser.java
+++ b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/ufed/UFEDChatParser.java
@@ -198,6 +198,7 @@ private UfedMessage createMessage(IItemReader msg) {
private UfedMessage createMessage(IItemReader msg, IItemReader attach) {
UfedMessage m = new UfedMessage();
m.setId(msg.getId());
+ m.setDeleted(msg.isDeleted());
for (String body : msg.getMetadata().getValues(ExtraProperties.MESSAGE_BODY)) {
if (!body.startsWith(ATTACHED_MEDIA_MSG))
m.setData(body);
diff --git a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorIOS.java b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorIOS.java
index d5eca9b6e5..9363b23342 100644
--- a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorIOS.java
+++ b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorIOS.java
@@ -168,6 +168,7 @@ protected List extractChatList() throws WAExtractorException {
c.setId(rs.getLong("id")); //$NON-NLS-1$
c.setSubject(Util.getUTF8String(rs, "subject")); //$NON-NLS-1$
c.setGroupChat(contactId.endsWith("g.us")); //$NON-NLS-1$
+ c.setDeleted(rs.getInt("ZREMOVED") != 0);
remote.setAvatarPath(rs.getString("avatarPath")); //$NON-NLS-1$
if (recoverDeletedRecords) {
activeChats.add(c.getId());
@@ -545,7 +546,7 @@ private List undeleteChats(SQLiteUndeleteTable undeleteChatsSessions, WACo
WAContact contact = contacts.getContact(contactId);
Chat c = new Chat(contact);
c.setId(row.getIntValue("Z_PK")); //$NON-NLS-1$
- c.setDeleted(row.isDeletedRow());
+ c.setDeleted(row.getIntValue("ZREMOVED") != 0 || row.isDeletedRow());
c.setSubject(row.getTextValue("ZPARTNERNAME")); //$NON-NLS-1$
c.setGroupChat(contactId.endsWith("g.us")); //$NON-NLS-1$
result.add(c);
@@ -652,13 +653,13 @@ protected Message.MessageType decodeMessageType(int messageType, int gEventType)
* ** static strings ***
*/
private static final String SELECT_CHAT_LIST = "SELECT ZWACHATSESSION.Z_PK as id, ZCONTACTJID AS contact, " //$NON-NLS-1$
- + "ZPARTNERNAME as subject, ZLASTMESSAGEDATE, ZPATH as avatarPath " //$NON-NLS-1$
+ + "ZPARTNERNAME as subject, ZLASTMESSAGEDATE, ZPATH as avatarPath,ZREMOVED as ZREMOVED" //$NON-NLS-1$
+ "FROM ZWACHATSESSION " //$NON-NLS-1$
+ "LEFT JOIN ZWAPROFILEPICTUREITEM ON ZWAPROFILEPICTUREITEM.ZJID = ZWACHATSESSION.ZCONTACTJID " //$NON-NLS-1$
+ "ORDER BY ZLASTMESSAGEDATE DESC"; //$NON-NLS-1$
private static final String SELECT_CHAT_LIST_NO_PPIC = "SELECT ZWACHATSESSION.Z_PK as id, ZCONTACTJID AS contact, " //$NON-NLS-1$
- + "ZPARTNERNAME as subject, ZLASTMESSAGEDATE, NULL as avatarPath " //$NON-NLS-1$
+ + "ZPARTNERNAME as subject, ZLASTMESSAGEDATE, NULL as avatarPath , 0 as ZREMOVED" //$NON-NLS-1$
+ "FROM ZWACHATSESSION " //$NON-NLS-1$
+ "ORDER BY ZLASTMESSAGEDATE DESC"; //$NON-NLS-1$
/*
@@ -839,4 +840,4 @@ public boolean validateRecord(SqliteRow row) {
return false;
}
}
-}
+}
\ No newline at end of file