diff --git a/AndroidManifest.xml b/AndroidManifest.xml index bc211b5d59..23b4172c49 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -569,15 +569,15 @@ + android:authorities="network.loki.provider.securesms" /> + android:authorities="network.loki.provider.securesms.mms" /> @@ -586,15 +586,15 @@ diff --git a/res/layout/conversation_item_received.xml b/res/layout/conversation_item_received.xml index 95b65d1237..5eef475d4d 100644 --- a/res/layout/conversation_item_received.xml +++ b/res/layout/conversation_item_received.xml @@ -191,7 +191,8 @@ + android:layout_height="wrap_content" + android:visibility="gone" /> diff --git a/res/layout/conversation_item_sent.xml b/res/layout/conversation_item_sent.xml index 2e258953c7..6b6ede6eb7 100644 --- a/res/layout/conversation_item_sent.xml +++ b/res/layout/conversation_item_sent.xml @@ -148,7 +148,8 @@ + android:layout_height="wrap_content" + android:visibility="gone" /> diff --git a/src/org/thoughtcrime/securesms/database/DatabaseContentProviders.java b/src/org/thoughtcrime/securesms/database/DatabaseContentProviders.java index 25149b5021..7057d1f644 100644 --- a/src/org/thoughtcrime/securesms/database/DatabaseContentProviders.java +++ b/src/org/thoughtcrime/securesms/database/DatabaseContentProviders.java @@ -14,11 +14,11 @@ import android.support.annotation.Nullable; public class DatabaseContentProviders { public static class ConversationList extends NoopContentProvider { - public static final Uri CONTENT_URI = Uri.parse("content://network.loki.messenger.securesms.database.conversationlist"); + public static final Uri CONTENT_URI = Uri.parse("content://network.loki.securesms.database.conversationlist"); } public static class Conversation extends NoopContentProvider { - private static final String CONTENT_URI_STRING = "content://network.loki.messenger.securesms.database.conversation/"; + private static final String CONTENT_URI_STRING = "content://network.loki.securesms.database.conversation/"; public static Uri getUriForThread(long threadId) { return Uri.parse(CONTENT_URI_STRING + threadId); @@ -26,7 +26,7 @@ public class DatabaseContentProviders { } public static class Attachment extends NoopContentProvider { - public static final Uri CONTENT_URI = Uri.parse("content://network.loki.messenger.securesms.database.attachment"); + public static final Uri CONTENT_URI = Uri.parse("content://network.loki.securesms.database.attachment"); } private static abstract class NoopContentProvider extends ContentProvider { diff --git a/src/org/thoughtcrime/securesms/jobs/PushDecryptJob.java b/src/org/thoughtcrime/securesms/jobs/PushDecryptJob.java index b166a945ee..5203a81033 100644 --- a/src/org/thoughtcrime/securesms/jobs/PushDecryptJob.java +++ b/src/org/thoughtcrime/securesms/jobs/PushDecryptJob.java @@ -28,7 +28,6 @@ import org.signal.libsignal.metadata.ProtocolUntrustedIdentityException; import org.signal.libsignal.metadata.SelfSendException; import org.thoughtcrime.securesms.ApplicationContext; import org.thoughtcrime.securesms.ConversationListActivity; -import network.loki.messenger.R; import org.thoughtcrime.securesms.attachments.Attachment; import org.thoughtcrime.securesms.attachments.DatabaseAttachment; import org.thoughtcrime.securesms.attachments.PointerAttachment; @@ -125,6 +124,8 @@ import java.util.List; import javax.inject.Inject; +import network.loki.messenger.R; + public class PushDecryptJob extends BaseJob implements InjectableType { public static final String KEY = "PushDecryptJob"; diff --git a/src/org/thoughtcrime/securesms/jobs/PushMediaSendJob.java b/src/org/thoughtcrime/securesms/jobs/PushMediaSendJob.java index e8870a245b..95503591e4 100644 --- a/src/org/thoughtcrime/securesms/jobs/PushMediaSendJob.java +++ b/src/org/thoughtcrime/securesms/jobs/PushMediaSendJob.java @@ -198,7 +198,7 @@ public class PushMediaSendJob extends PushSendJob implements InjectableType { } try { - rotateSenderCertificateIfNecessary(); +// rotateSenderCertificateIfNecessary(); SignalServiceAddress address = getPushAddress(message.getRecipient().getAddress()); List serviceAttachments = getAttachmentPointersFor(message.getAttachments()); diff --git a/src/org/thoughtcrime/securesms/loki/FriendRequestView.kt b/src/org/thoughtcrime/securesms/loki/FriendRequestView.kt index ecd0fa83ee..56857f313b 100644 --- a/src/org/thoughtcrime/securesms/loki/FriendRequestView.kt +++ b/src/org/thoughtcrime/securesms/loki/FriendRequestView.kt @@ -10,6 +10,7 @@ import android.widget.TextView import network.loki.messenger.R; import org.thoughtcrime.securesms.database.DatabaseFactory import org.thoughtcrime.securesms.database.model.MessageRecord +import org.thoughtcrime.securesms.database.model.SmsMessageRecord import org.whispersystems.signalservice.loki.messaging.LokiMessageFriendRequestStatus class FriendRequestView(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : LinearLayout(context, attrs, defStyleAttr) { @@ -88,6 +89,8 @@ class FriendRequestView(context: Context, attrs: AttributeSet?, defStyleAttr: In val database = DatabaseFactory.getLokiMessageFriendRequestDatabase(context) val contactID = DatabaseFactory.getThreadDatabase(context).getRecipientForThreadId(message!!.threadId)!!.address.toString() val contactDisplayName = DatabaseFactory.getLokiUserDisplayNameDatabase(context).getDisplayName(contactID) ?: contactID + val isTextMessage = message is SmsMessageRecord + if (!isTextMessage) return if (!message!!.isOutgoing) { val friendRequestStatus = database.getFriendRequestStatus(message!!.id) visibility = if (friendRequestStatus == LokiMessageFriendRequestStatus.NONE) View.GONE else View.VISIBLE diff --git a/src/org/thoughtcrime/securesms/mms/PartAuthority.java b/src/org/thoughtcrime/securesms/mms/PartAuthority.java index d24ebaae4d..513d8a8ef6 100644 --- a/src/org/thoughtcrime/securesms/mms/PartAuthority.java +++ b/src/org/thoughtcrime/securesms/mms/PartAuthority.java @@ -19,8 +19,8 @@ import java.io.InputStream; public class PartAuthority { - private static final String PART_URI_STRING = "content://network.loki.messenger.securesms/part"; - private static final String THUMB_URI_STRING = "content://network.loki.messenger.securesms/thumb"; + private static final String PART_URI_STRING = "content://network.loki.provider.securesms/part"; + private static final String THUMB_URI_STRING = "content://network.loki.provider.securesms/thumb"; private static final Uri PART_CONTENT_URI = Uri.parse(PART_URI_STRING); private static final Uri THUMB_CONTENT_URI = Uri.parse(THUMB_URI_STRING); diff --git a/src/org/thoughtcrime/securesms/notifications/MarkReadReceiver.java b/src/org/thoughtcrime/securesms/notifications/MarkReadReceiver.java index 670fe42ce5..9d116f16ae 100644 --- a/src/org/thoughtcrime/securesms/notifications/MarkReadReceiver.java +++ b/src/org/thoughtcrime/securesms/notifications/MarkReadReceiver.java @@ -20,7 +20,9 @@ import org.thoughtcrime.securesms.database.MessagingDatabase.SyncMessageId; import org.thoughtcrime.securesms.jobs.MultiDeviceReadUpdateJob; import org.thoughtcrime.securesms.jobs.SendReadReceiptJob; import org.thoughtcrime.securesms.logging.Log; +import org.thoughtcrime.securesms.loki.LokiThreadDatabase; import org.thoughtcrime.securesms.service.ExpiringMessageManager; +import org.whispersystems.signalservice.loki.messaging.LokiThreadFriendRequestStatus; import java.util.LinkedList; import java.util.List; @@ -84,6 +86,11 @@ public class MarkReadReceiver extends BroadcastReceiver { .collect(Collectors.groupingBy(SyncMessageId::getAddress)); for (Address address : addressMap.keySet()) { + LokiThreadDatabase threadDatabase = DatabaseFactory.getLokiThreadDatabase(context); + long threadID = threadDatabase.getThreadID(address.serialize()); + LokiThreadFriendRequestStatus friendRequestStatus = threadDatabase.getFriendRequestStatus(threadID); + if (friendRequestStatus != LokiThreadFriendRequestStatus.FRIENDS) { return; } + List timestamps = Stream.of(addressMap.get(address)).map(SyncMessageId::getTimetamp).toList(); ApplicationContext.getInstance(context) diff --git a/src/org/thoughtcrime/securesms/providers/BlobProvider.java b/src/org/thoughtcrime/securesms/providers/BlobProvider.java index 682d25e782..b72d81fa5a 100644 --- a/src/org/thoughtcrime/securesms/providers/BlobProvider.java +++ b/src/org/thoughtcrime/securesms/providers/BlobProvider.java @@ -25,7 +25,6 @@ import java.io.OutputStream; import java.util.HashMap; import java.util.Map; import java.util.UUID; -import java.util.concurrent.Executor; /** * Allows for the creation and retrieval of blobs. @@ -37,7 +36,7 @@ public class BlobProvider { private static final String MULTI_SESSION_DIRECTORY = "multi_session_blobs"; private static final String SINGLE_SESSION_DIRECTORY = "single_session_blobs"; - public static final Uri CONTENT_URI = Uri.parse("content://network.loki.messenger.securesms/blob"); + public static final Uri CONTENT_URI = Uri.parse("content://network.loki.provider.securesms/blob"); public static final String AUTHORITY = "org.thoughtcrime.securesms"; public static final String PATH = "blob/*/*/*/*/*"; diff --git a/src/org/thoughtcrime/securesms/providers/DeprecatedPersistentBlobProvider.java b/src/org/thoughtcrime/securesms/providers/DeprecatedPersistentBlobProvider.java index a7fdad4526..178dc2a4b6 100644 --- a/src/org/thoughtcrime/securesms/providers/DeprecatedPersistentBlobProvider.java +++ b/src/org/thoughtcrime/securesms/providers/DeprecatedPersistentBlobProvider.java @@ -6,14 +6,13 @@ import android.content.UriMatcher; import android.net.Uri; import android.support.annotation.NonNull; import android.support.annotation.Nullable; -import org.thoughtcrime.securesms.logging.Log; - import android.webkit.MimeTypeMap; import org.thoughtcrime.securesms.crypto.AttachmentSecret; import org.thoughtcrime.securesms.crypto.AttachmentSecretProvider; import org.thoughtcrime.securesms.crypto.ClassicDecryptingPartInputStream; import org.thoughtcrime.securesms.crypto.ModernDecryptingPartInputStream; +import org.thoughtcrime.securesms.logging.Log; import org.thoughtcrime.securesms.util.FileProviderUtil; import java.io.File; @@ -31,7 +30,7 @@ public class DeprecatedPersistentBlobProvider { private static final String TAG = DeprecatedPersistentBlobProvider.class.getSimpleName(); - private static final String URI_STRING = "content://network.loki.messenger.securesms/capture-new"; + private static final String URI_STRING = "content://network.loki.provider.securesms/capture-new"; public static final Uri CONTENT_URI = Uri.parse(URI_STRING); public static final String AUTHORITY = "org.thoughtcrime.securesms"; public static final String EXPECTED_PATH_OLD = "capture/*/*/#"; diff --git a/src/org/thoughtcrime/securesms/providers/MmsBodyProvider.java b/src/org/thoughtcrime/securesms/providers/MmsBodyProvider.java index f4cb9500f2..2b045eeea8 100644 --- a/src/org/thoughtcrime/securesms/providers/MmsBodyProvider.java +++ b/src/org/thoughtcrime/securesms/providers/MmsBodyProvider.java @@ -33,7 +33,7 @@ import java.io.OutputStream; public class MmsBodyProvider extends ContentProvider { private static final String TAG = MmsBodyProvider.class.getSimpleName(); - private static final String CONTENT_URI_STRING = "content://network.loki.messenger.securesms.mms/mms"; + private static final String CONTENT_URI_STRING = "content://network.loki.provider.securesms.mms/mms"; public static final Uri CONTENT_URI = Uri.parse(CONTENT_URI_STRING); private static final int SINGLE_ROW = 1; diff --git a/src/org/thoughtcrime/securesms/providers/PartProvider.java b/src/org/thoughtcrime/securesms/providers/PartProvider.java index cabbec236c..aae2657edc 100644 --- a/src/org/thoughtcrime/securesms/providers/PartProvider.java +++ b/src/org/thoughtcrime/securesms/providers/PartProvider.java @@ -46,7 +46,7 @@ public class PartProvider extends ContentProvider { private static final String TAG = PartProvider.class.getSimpleName(); - private static final String CONTENT_URI_STRING = "content://network.loki.messenger.securesms/part"; + private static final String CONTENT_URI_STRING = "content://network.loki.provider.securesms/part"; private static final Uri CONTENT_URI = Uri.parse(CONTENT_URI_STRING); private static final int SINGLE_ROW = 1; diff --git a/src/org/thoughtcrime/securesms/sms/MessageSender.java b/src/org/thoughtcrime/securesms/sms/MessageSender.java index 73b899b1db..16b285ecfe 100644 --- a/src/org/thoughtcrime/securesms/sms/MessageSender.java +++ b/src/org/thoughtcrime/securesms/sms/MessageSender.java @@ -204,15 +204,19 @@ public class MessageSender { } private static boolean isPushMediaSend(Context context, Recipient recipient) { - if (!TextSecurePreferences.isPushRegistered(context)) { - return false; - } - - if (recipient.isGroupRecipient()) { - return false; - } - - return isPushDestination(context, recipient); + return true; + // Loki - Original code + // ======== +// if (!TextSecurePreferences.isPushRegistered(context)) { +// return false; +// } +// +// if (recipient.isGroupRecipient()) { +// return false; +// } +// +// return isPushDestination(context, recipient); + // ======== } private static boolean isGroupPushSend(Recipient recipient) {