From 27958491c5da96adc6f3c3c13194f07c84d77f68 Mon Sep 17 00:00:00 2001 From: jubb Date: Thu, 4 Mar 2021 16:21:25 +1100 Subject: [PATCH] fix: specific empty thread snippet and removing the thread filtering for empty messages --- .../securesms/database/ThreadDatabase.java | 37 +++++++------------ .../database/model/ThreadRecord.java | 6 ++- app/src/main/res/values/strings.xml | 1 + 3 files changed, 18 insertions(+), 26 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/ThreadDatabase.java b/app/src/main/java/org/thoughtcrime/securesms/database/ThreadDatabase.java index 25a303112a..fd8eef288c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/ThreadDatabase.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/ThreadDatabase.java @@ -22,6 +22,7 @@ import android.content.Context; import android.database.Cursor; import android.database.MergeCursor; import android.net.Uri; + import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -29,6 +30,17 @@ import com.annimon.stream.Stream; import net.sqlcipher.database.SQLiteDatabase; +import org.session.libsession.messaging.sending_receiving.sharecontacts.Contact; +import org.session.libsession.messaging.threads.Address; +import org.session.libsession.messaging.threads.GroupRecord; +import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.messaging.threads.recipients.Recipient.RecipientSettings; +import org.session.libsession.utilities.DelimiterUtil; +import org.session.libsession.utilities.TextSecurePreferences; +import org.session.libsession.utilities.Util; +import org.session.libsignal.libsignal.util.Pair; +import org.session.libsignal.libsignal.util.guava.Optional; +import org.session.libsignal.utilities.logging.Log; import org.thoughtcrime.securesms.contactshare.ContactUtil; import org.thoughtcrime.securesms.database.MessagingDatabase.MarkedMessageInfo; import org.thoughtcrime.securesms.database.helpers.SQLCipherOpenHelper; @@ -36,32 +48,16 @@ import org.thoughtcrime.securesms.database.model.MediaMmsMessageRecord; import org.thoughtcrime.securesms.database.model.MessageRecord; import org.thoughtcrime.securesms.database.model.MmsMessageRecord; import org.thoughtcrime.securesms.database.model.ThreadRecord; -import org.session.libsignal.utilities.logging.Log; import org.thoughtcrime.securesms.mms.Slide; import org.thoughtcrime.securesms.mms.SlideDeck; -import org.session.libsession.messaging.sending_receiving.sharecontacts.Contact; -import org.session.libsession.messaging.threads.GroupRecord; -import org.session.libsession.messaging.threads.Address; -import org.session.libsession.messaging.threads.recipients.Recipient; -import org.session.libsession.messaging.threads.recipients.Recipient.RecipientSettings; -import org.session.libsession.utilities.Util; -import org.session.libsession.utilities.TextSecurePreferences; -import org.session.libsession.utilities.DelimiterUtil; - -import org.session.libsignal.libsignal.util.Pair; -import org.session.libsignal.libsignal.util.guava.Optional; - import java.io.Closeable; -import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; -import nl.komponents.kovenant.combine.Tuple2; - public class ThreadDatabase extends Database { private static final String TAG = ThreadDatabase.class.getSimpleName(); @@ -367,7 +363,7 @@ public class ThreadDatabase extends Database { private Cursor getConversationList(String archived) { SQLiteDatabase db = databaseHelper.getReadableDatabase(); - String query = createQuery(ARCHIVED + " = ? AND " + MESSAGE_COUNT + " != 0", 0); + String query = createQuery(ARCHIVED + " = ?", 0); Cursor cursor = db.rawQuery(query, new String[]{archived}); setNotifyConverationListListeners(cursor); @@ -514,12 +510,6 @@ public class ThreadDatabase extends Database { MmsSmsDatabase mmsSmsDatabase = DatabaseFactory.getMmsSmsDatabase(context); long count = mmsSmsDatabase.getConversationCount(threadId); - if (count == 0) { - deleteThread(threadId); - notifyConversationListListeners(); - return true; - } - MmsSmsDatabase.Reader reader = null; try { @@ -533,7 +523,6 @@ public class ThreadDatabase extends Database { notifyConversationListListeners(); return false; } else { - deleteThread(threadId); notifyConversationListListeners(); return true; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/model/ThreadRecord.java b/app/src/main/java/org/thoughtcrime/securesms/database/model/ThreadRecord.java index aad58094c8..e2a286c854 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/model/ThreadRecord.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/model/ThreadRecord.java @@ -27,10 +27,10 @@ import android.text.style.StyleSpan; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import org.thoughtcrime.securesms.database.MmsSmsColumns; -import org.thoughtcrime.securesms.database.SmsDatabase; import org.session.libsession.messaging.threads.recipients.Recipient; import org.session.libsession.utilities.ExpirationUtil; +import org.thoughtcrime.securesms.database.MmsSmsColumns; +import org.thoughtcrime.securesms.database.SmsDatabase; import network.loki.messenger.R; @@ -116,6 +116,8 @@ public class ThreadRecord extends DisplayRecord { return emphasisAdded(context.getString(R.string.ThreadRecord_you_marked_verified)); } else if (SmsDatabase.Types.isIdentityDefault(type)) { return emphasisAdded(context.getString(R.string.ThreadRecord_you_marked_unverified)); + } else if (getCount() == 0) { + return new SpannableString(context.getString(R.string.ThreadRecord_empty_message)); } else { if (TextUtils.isEmpty(getBody())) { return new SpannableString(emphasisAdded(context.getString(R.string.ThreadRecord_media_message))); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0e3d163421..34ab7d89b4 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -707,6 +707,7 @@ Your safety number with %s has changed. You marked verified You marked unverified + This conversation is empty Session update