|
|
@ -70,16 +70,16 @@ public class WorkerCleanup extends Worker {
|
|
|
|
// Check message files
|
|
|
|
// Check message files
|
|
|
|
Log.i("Checking message files");
|
|
|
|
Log.i("Checking message files");
|
|
|
|
List<Long> mids = db.message().getMessageWithContent();
|
|
|
|
List<Long> mids = db.message().getMessageWithContent();
|
|
|
|
|
|
|
|
File dir = new File(context.getFilesDir(), "messages");
|
|
|
|
|
|
|
|
if (!dir.exists())
|
|
|
|
|
|
|
|
dir.mkdir();
|
|
|
|
for (Long mid : mids) {
|
|
|
|
for (Long mid : mids) {
|
|
|
|
EntityMessage message = db.message().getMessage(mid);
|
|
|
|
File file = new File(dir, mid.toString());
|
|
|
|
if (message != null) {
|
|
|
|
|
|
|
|
File file = message.getFile(context);
|
|
|
|
|
|
|
|
if (!file.exists()) {
|
|
|
|
if (!file.exists()) {
|
|
|
|
Log.w("Message file missing id=" + mid);
|
|
|
|
Log.w("Message file missing id=" + mid);
|
|
|
|
db.message().setMessageContent(mid, false);
|
|
|
|
db.message().setMessageContent(mid, false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Check attachments files
|
|
|
|
// Check attachments files
|
|
|
|
Log.i("Checking attachments files");
|
|
|
|
Log.i("Checking attachments files");
|
|
|
@ -119,8 +119,8 @@ public class WorkerCleanup extends Worker {
|
|
|
|
for (File file : files)
|
|
|
|
for (File file : files)
|
|
|
|
if (manual || file.lastModified() + KEEP_FILES_DURATION < now) {
|
|
|
|
if (manual || file.lastModified() + KEEP_FILES_DURATION < now) {
|
|
|
|
long id = Long.parseLong(file.getName().split("\\.")[0]);
|
|
|
|
long id = Long.parseLong(file.getName().split("\\.")[0]);
|
|
|
|
EntityMessage message = db.message().getMessage(id);
|
|
|
|
Boolean content = db.message().getMessageByIdHasContent(id);
|
|
|
|
if (message == null || !message.content) {
|
|
|
|
if (content == null || !content) {
|
|
|
|
Log.i("Deleting " + file);
|
|
|
|
Log.i("Deleting " + file);
|
|
|
|
if (!file.delete())
|
|
|
|
if (!file.delete())
|
|
|
|
Log.w("Error deleting " + file);
|
|
|
|
Log.w("Error deleting " + file);
|
|
|
@ -134,8 +134,8 @@ public class WorkerCleanup extends Worker {
|
|
|
|
for (File file : raws)
|
|
|
|
for (File file : raws)
|
|
|
|
if (manual || file.lastModified() + KEEP_FILES_DURATION < now) {
|
|
|
|
if (manual || file.lastModified() + KEEP_FILES_DURATION < now) {
|
|
|
|
long id = Long.parseLong(file.getName().split("\\.")[0]);
|
|
|
|
long id = Long.parseLong(file.getName().split("\\.")[0]);
|
|
|
|
EntityMessage message = db.message().getMessage(id);
|
|
|
|
Boolean raw = db.message().getMessageByIdHasRaw(id);
|
|
|
|
if (message == null || message.raw == null || !message.raw) {
|
|
|
|
if (raw == null || !raw) {
|
|
|
|
Log.i("Deleting " + file);
|
|
|
|
Log.i("Deleting " + file);
|
|
|
|
if (!file.delete())
|
|
|
|
if (!file.delete())
|
|
|
|
Log.w("Error deleting " + file);
|
|
|
|
Log.w("Error deleting " + file);
|
|
|
|