aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/de/pixart/messenger/services/ExportBackupService.java25
-rw-r--r--src/main/java/de/pixart/messenger/services/XmppConnectionService.java3
2 files changed, 19 insertions, 9 deletions
diff --git a/src/main/java/de/pixart/messenger/services/ExportBackupService.java b/src/main/java/de/pixart/messenger/services/ExportBackupService.java
index 62868e3e1..4489eca9f 100644
--- a/src/main/java/de/pixart/messenger/services/ExportBackupService.java
+++ b/src/main/java/de/pixart/messenger/services/ExportBackupService.java
@@ -11,6 +11,7 @@ import android.database.Cursor;
import android.database.DatabaseUtils;
import android.database.sqlite.SQLiteDatabase;
import android.net.Uri;
+import android.os.Build;
import android.os.Bundle;
import android.os.IBinder;
import android.os.PowerManager;
@@ -55,6 +56,8 @@ import de.pixart.messenger.utils.Compatibility;
import de.pixart.messenger.utils.WakeLockHelper;
import rocks.xmpp.addr.Jid;
+import static de.pixart.messenger.utils.Compatibility.runsTwentySix;
+
public class ExportBackupService extends Service {
private PowerManager.WakeLock wakeLock;
@@ -261,15 +264,19 @@ public class ExportBackupService extends Service {
}
private void messageExport(SQLiteDatabase db, String uuid, PrintWriter writer, Progress progress) {
- // not select and create column Message.FILE_DELETED to be compareable with conversations
- Cursor cursor = db.rawQuery("select messages." + String.join(", messages.", new String[] {
- Message.UUID, Message.CONVERSATION, Message.TIME_SENT, Message.COUNTERPART, Message.TRUE_COUNTERPART,
- Message.BODY, Message.ENCRYPTION, Message.STATUS, Message.TYPE, Message.RELATIVE_FILE_PATH,
- Message.SERVER_MSG_ID, Message.FINGERPRINT, Message.CARBON, Message.EDITED, Message.READ,
- Message.DELETED, Message.OOB, Message.ERROR_MESSAGE, Message.READ_BY_MARKERS, Message.MARKABLE,
- Message.REMOTE_MSG_ID, Message.CONVERSATION
+ Cursor cursor;
+ if (runsTwentySix()) {
+ // not select and create column Message.FILE_DELETED to be compareable with conversations
+ cursor = db.rawQuery("select messages." + String.join(", messages.", new String[]{
+ Message.UUID, Message.CONVERSATION, Message.TIME_SENT, Message.COUNTERPART, Message.TRUE_COUNTERPART,
+ Message.BODY, Message.ENCRYPTION, Message.STATUS, Message.TYPE, Message.RELATIVE_FILE_PATH,
+ Message.SERVER_MSG_ID, Message.FINGERPRINT, Message.CARBON, Message.EDITED, Message.READ,
+ Message.DELETED, Message.OOB, Message.ERROR_MESSAGE, Message.READ_BY_MARKERS, Message.MARKABLE,
+ Message.REMOTE_MSG_ID, Message.CONVERSATION
}) + " from messages join conversations on conversations.uuid=messages.conversationUuid where conversations.accountUuid=?", new String[]{uuid});
-
+ } else {
+ cursor = db.rawQuery("select messages.* from messages join conversations on conversations.uuid=messages.conversationUuid where conversations.accountUuid=?", new String[]{uuid});
+ }
int size = cursor != null ? cursor.getCount() : 0;
Log.d(Config.LOGTAG, "exporting " + size + " messages");
int i = 0;
@@ -481,4 +488,4 @@ public class ExportBackupService extends Service {
return builder.build();
}
}
-}
+} \ No newline at end of file
diff --git a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
index 39a18c9a3..968365f57 100644
--- a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
+++ b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
@@ -771,6 +771,9 @@ public class XmppConnectionService extends Service {
time.add(Calendar.DAY_OF_YEAR, -7);
final File directory = new File(path);
final File[] files = directory.listFiles();
+ if (files == null) {
+ return;
+ }
int count = 0;
for (File file : files) {
Date lastModified = new Date(file.lastModified());