From e8e3c7f4c80dbefa48190098a94b63fa0332349d Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Tue, 28 Feb 2023 14:18:41 -0500 Subject: [PATCH] Don't update url unless we have a reason to --- .../siacs/conversations/persistance/DatabaseBackend.java | 8 +++++--- .../eu/siacs/conversations/persistance/FileBackend.java | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/eu/siacs/conversations/persistance/DatabaseBackend.java b/src/main/java/eu/siacs/conversations/persistance/DatabaseBackend.java index 8d5db0fea44831974669d1032a3ea89eb0680c6e..5af757bcbe2fb46a344802ef6c6938461cdf60aa 100644 --- a/src/main/java/eu/siacs/conversations/persistance/DatabaseBackend.java +++ b/src/main/java/eu/siacs/conversations/persistance/DatabaseBackend.java @@ -802,9 +802,11 @@ public class DatabaseBackend extends SQLiteOpenHelper { SQLiteDatabase db = this.getWritableDatabase(); ContentValues cv = new ContentValues(); cv.put("cid", cid.toString()); - cv.put("path", file.getAbsolutePath()); - cv.put("url", url); - db.insertWithOnConflict("cheogram.cids", null, cv, SQLiteDatabase.CONFLICT_REPLACE); + if (file != null) cv.put("path", file.getAbsolutePath()); + if (url != null) cv.put("url", url); + if (db.update("cheogram.cids", cv, "cid=?", new String[]{cid.toString()}) < 1) { + db.insertWithOnConflict("cheogram.cids", null, cv, SQLiteDatabase.CONFLICT_REPLACE); + } } public void blockMedia(Cid cid) { diff --git a/src/main/java/eu/siacs/conversations/persistance/FileBackend.java b/src/main/java/eu/siacs/conversations/persistance/FileBackend.java index b2a368aa0fe50fe755d42027ef49a45696439e8f..6c5d81ec89347881ea6ef9fb82b5ebc2c60091e7 100644 --- a/src/main/java/eu/siacs/conversations/persistance/FileBackend.java +++ b/src/main/java/eu/siacs/conversations/persistance/FileBackend.java @@ -1823,7 +1823,7 @@ public class FileBackend { if (updateCids) { try { for (int i = 0; i < cids.length; i++) { - mXmppConnectionService.saveCid(cids[i], file, url); + mXmppConnectionService.saveCid(cids[i], file); } } catch (XmppConnectionService.BlockedMediaException e) { } }