From 5180b826f3cbfac19a37ffc53d9cd5173f2c9be3 Mon Sep 17 00:00:00 2001 From: 0x330a <92654767+0x330a@users.noreply.github.com> Date: Wed, 9 Nov 2022 22:22:10 +1100 Subject: [PATCH] fix: crash in contact photo and auto download flags --- .../securesms/database/RecipientDatabase.java | 14 ++++++++++++++ .../org/thoughtcrime/securesms/database/Storage.kt | 5 +++-- .../libsession/avatars/ResourceContactPhoto.java | 5 +---- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.java b/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.java index 9ad0f25702..27fcd2b984 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.java @@ -306,6 +306,20 @@ public class RecipientDatabase extends Database { notifyRecipientListeners(); } + public void setAutoDownloadAttachments(@NonNull Recipient recipient, boolean shouldAutoDownloadAttachments) { + SQLiteDatabase db = getWritableDatabase(); + db.beginTransaction(); + try { + ContentValues values = new ContentValues(); + values.put(AUTO_DOWNLOAD, shouldAutoDownloadAttachments ? 1 : 0); + db.update(TABLE_NAME, values, ADDRESS+ " = ?", new String[]{recipient.getAddress().serialize()}); + recipient.resolve().setAutoDownloadAttachments(true); + } finally { + db.endTransaction(); + } + notifyRecipientListeners(); + } + public void setMuted(@NonNull Recipient recipient, long until) { ContentValues values = new ContentValues(); values.put(MUTE_UNTIL, until); diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/Storage.kt b/app/src/main/java/org/thoughtcrime/securesms/database/Storage.kt index 9e668e0f7d..e80a619feb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/Storage.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/Storage.kt @@ -686,14 +686,15 @@ class Storage(context: Context, helper: SQLCipherOpenHelper) : Database(context, } override fun shouldAutoDownloadAttachments(recipient: Recipient): Boolean { - TODO("Not yet implemented") + return recipient.autoDownloadAttachments } override fun setAutoDownloadAttachments( recipient: Recipient, shouldAutoDownloadAttachments: Boolean ) { - TODO("Not yet implemented") + val recipientDb = DatabaseComponent.get(context).recipientDatabase() + recipientDb.setAutoDownloadAttachments(recipient, shouldAutoDownloadAttachments) } override fun getLastUpdated(threadID: Long): Long { diff --git a/libsession/src/main/java/org/session/libsession/avatars/ResourceContactPhoto.java b/libsession/src/main/java/org/session/libsession/avatars/ResourceContactPhoto.java index 2bcd32ac24..f55c59a0fd 100644 --- a/libsession/src/main/java/org/session/libsession/avatars/ResourceContactPhoto.java +++ b/libsession/src/main/java/org/session/libsession/avatars/ResourceContactPhoto.java @@ -40,10 +40,7 @@ public class ResourceContactPhoto implements FallbackContactPhoto { foreground.setColorFilter(color, PorterDuff.Mode.SRC_ATOP); } - Drawable gradient = context.getResources().getDrawable(ThemeUtil.isDarkTheme(context) ? R.drawable.avatar_gradient_dark - : R.drawable.avatar_gradient_light); - - return new ExpandingLayerDrawable(new Drawable[] {background, foreground, gradient}); + return new ExpandingLayerDrawable(new Drawable[] {background, foreground}); } private static class ExpandingLayerDrawable extends LayerDrawable {