diff --git a/app/build.gradle b/app/build.gradle index 643c501598..9ffa66e9f7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,17 +1,13 @@ buildscript { - ext.kovenant_version = "3.3.0" - repositories { - mavenLocal() google() mavenCentral() - jcenter() } dependencies { classpath 'com.android.tools.build:gradle:4.1.3' classpath files('libs/gradle-witness.jar') - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version" + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" + classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlinVersion" classpath "com.google.gms:google-services:4.3.3" } } @@ -25,11 +21,6 @@ apply plugin: 'com.google.gms.google-services' apply plugin: 'kotlinx-serialization' configurations.all { - resolutionStrategy.cacheChangingModulesFor 0, 'seconds' - exclude group: "org.whispersystems", module: "signal-protocol-java" - exclude group: "org.whispersystems", module: "signal-protocol-android" - exclude group: "org.signal", module: "signal-metadata-java" - exclude group: "org.signal", module: "signal-metadata-android" exclude module: "commons-logging" } @@ -54,7 +45,6 @@ dependencies { implementation 'androidx.fragment:fragment-ktx:1.3.2' implementation "androidx.core:core-ktx:1.3.2" implementation "androidx.work:work-runtime-ktx:2.4.0" - implementation ("com.google.firebase:firebase-messaging:18.0.0") { exclude group: 'com.google.firebase', module: 'firebase-core' exclude group: 'com.google.firebase', module: 'firebase-analytics' @@ -112,11 +102,8 @@ dependencies { exclude group: 'com.fasterxml.jackson.core' exclude group: 'org.freemarker' } - // Loki - // Local: implementation project(":libsignal") implementation project(":libsession") - // Remote: implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.0.1" implementation "org.whispersystems:curve25519-java:$curve25519Version" implementation "com.goterl.lazycode:lazysodium-android:4.2.0@aar" @@ -124,7 +111,7 @@ dependencies { implementation "com.google.protobuf:protobuf-java:$protobufVersion" implementation "com.fasterxml.jackson.core:jackson-databind:$jacksonDatabindVersion" implementation "com.squareup.okhttp3:okhttp:$okhttpVersion" - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.2" implementation "nl.komponents.kovenant:kovenant:$kovenantVersion" implementation "nl.komponents.kovenant:kovenant-android:$kovenantVersion" @@ -134,7 +121,6 @@ dependencies { implementation "com.github.tbruyelle:rxpermissions:0.10.2" implementation "com.github.ybq:Android-SpinKit:1.4.0" implementation "com.opencsv:opencsv:4.6" - testImplementation 'junit:junit:4.12' testImplementation 'org.assertj:assertj-core:3.11.1' testImplementation 'org.mockito:mockito-core:1.10.8' @@ -158,7 +144,7 @@ dependencies { testImplementation 'org.robolectric:shadows-multidex:4.2' } -def canonicalVersionCode = 164 +def canonicalVersionCode = 165 def canonicalVersionName = "1.10.5" def postFixSize = 10 @@ -169,7 +155,7 @@ def abiPostFix = ['armeabi-v7a' : 1, 'universal' : 5] android { - compileSdkVersion 30 + compileSdkVersion androidCompileSdkVersion buildToolsVersion '29.0.3' useLibrary 'org.apache.http.legacy' @@ -209,25 +195,18 @@ android { versionCode canonicalVersionCode * postFixSize versionName canonicalVersionName - minSdkVersion androidMinSdkVersion - targetSdkVersion androidCompileSdkVersion + minSdkVersion 21 + targetSdkVersion 30 - multiDexEnabled = true // Even though we're running API 21+, this is still needed for release builds + multiDexEnabled = true vectorDrawables.useSupportLibrary = true project.ext.set("archivesBaseName", "session") buildConfigField "long", "BUILD_TIMESTAMP", getLastCommitTimestamp() + "L" - buildConfigField "String", "SIGNAL_URL", "\"\"" - buildConfigField "String", "SIGNAL_CDN_URL", "\"\"" - buildConfigField "String", "SIGNAL_CONTACT_DISCOVERY_URL", "\"\"" - buildConfigField "String", "SIGNAL_SERVICE_STATUS_URL", "\"\"" buildConfigField "String", "CONTENT_PROXY_HOST", "\"contentproxy.signal.org\"" buildConfigField "int", "CONTENT_PROXY_PORT", "443" buildConfigField "String", "USER_AGENT", "\"OWA\"" - buildConfigField "boolean", "DEV_BUILD", "false" - buildConfigField "String", "MRENCLAVE", "\"cd6cfc342937b23b1bdd3bbf9721aa5615ac9ff50a75c5527d441cd3276826c9\"" - buildConfigField "String", "UNIDENTIFIED_SENDER_TRUST_ROOT", "\"BXu6QIKVz5MA8gstzfOgRQGqyLqOwNKHL6INkv3IHWMF\"" buildConfigField "String[]", "LANGUAGES", "new String[]{\"" + autoResConfig().collect { s -> s.replace('-r', '_') }.join('", "') + '"}' buildConfigField "int", "CANONICAL_VERSION_CODE", "$canonicalVersionCode" @@ -237,39 +216,9 @@ android { buildTypes { release { minifyEnabled false - - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), - 'proguard/proguard-dagger.pro', - 'proguard/proguard-jackson.pro', - 'proguard/proguard-jna.pro', - 'proguard/proguard-sqlite.pro', - 'proguard/proguard-appcompat-v7.pro', - 'proguard/proguard-square-okhttp.pro', - 'proguard/proguard-square-okio.pro', - 'proguard/proguard-spongycastle.pro', - 'proguard/proguard-rounded-image-view.pro', - 'proguard/proguard-glide.pro', - 'proguard/proguard-shortcutbadger.pro', - 'proguard/proguard-retrofit.pro', - 'proguard/proguard-webrtc.pro', - 'proguard/proguard-klinker.pro', - 'proguard/proguard-retrolambda.pro', - 'proguard/proguard-okhttp.pro', - 'proguard/proguard-ez-vcard.pro', - 'proguard/proguard.pro' - testProguardFiles 'proguard/proguard-automation.pro' - - // Uncomment for testing this build type without signing. - // signingConfig signingConfigs.debug } - debug { minifyEnabled false - - proguardFiles = buildTypes.release.proguardFiles + [ - 'proguard/proguard-debug.pro' - ] - testProguardFiles = buildTypes.release.testProguardFiles } } @@ -282,7 +231,7 @@ android { } website { - ext.websiteUpdateUrl = "https://updates.signal.org/android" + ext.websiteUpdateUrl = "https://github.com/oxen-io/session-android/releases" buildConfigField "boolean", "PLAY_STORE_DISABLED", "true" buildConfigField "String", "NOPLAY_UPDATE_URL", "\"$ext.websiteUpdateUrl\"" } @@ -316,14 +265,8 @@ android { } } -def getLastCommitTimestamp() { +static def getLastCommitTimestamp() { new ByteArrayOutputStream().withStream { os -> - def result = exec { - executable = 'git' - args = ['log', '-1', '--pretty=format:%ct'] - standardOutput = os - } - return os.toString() + "000" } } @@ -340,9 +283,3 @@ def autoResConfig() { .collect { matcher -> matcher.group(1) } .sort() } - -task qa { - group 'Verification' - description 'Quality Assurance. Run before pushing.' - dependsOn ':testPlayReleaseUnitTest', ':lintPlayRelease', ':assemblePlayDebug' -} diff --git a/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java b/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java index 0d30797ec4..9f34af636b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java +++ b/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java @@ -31,14 +31,14 @@ import androidx.multidex.MultiDexApplication; import org.conscrypt.Conscrypt; import org.session.libsession.messaging.MessagingModuleConfiguration; -import org.session.libsession.messaging.avatars.AvatarHelper; +import org.session.libsession.avatars.AvatarHelper; import org.session.libsession.messaging.file_server.FileServerAPI; import org.session.libsession.messaging.mentions.MentionsManager; import org.session.libsession.messaging.open_groups.OpenGroupAPI; import org.session.libsession.messaging.sending_receiving.notifications.MessageNotifier; import org.session.libsession.messaging.sending_receiving.pollers.ClosedGroupPoller; import org.session.libsession.messaging.sending_receiving.pollers.Poller; -import org.session.libsession.messaging.threads.Address; +import org.session.libsession.utilities.Address; import org.session.libsession.snode.SnodeModule; import org.session.libsession.utilities.IdentityKeyUtil; import org.session.libsession.utilities.ProfilePictureUtilities; @@ -47,7 +47,7 @@ import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsession.utilities.Util; import org.session.libsession.utilities.dynamiclanguage.DynamicLanguageContextWrapper; import org.session.libsession.utilities.dynamiclanguage.LocaleParser; -import org.session.libsession.utilities.preferences.ProfileKeyUtil; +import org.session.libsession.utilities.ProfileKeyUtil; import org.session.libsignal.database.LokiAPIDatabaseProtocol; import org.session.libsignal.utilities.ThreadUtils; import org.session.libsignal.utilities.Log; diff --git a/app/src/main/java/org/thoughtcrime/securesms/BindableConversationItem.java b/app/src/main/java/org/thoughtcrime/securesms/BindableConversationItem.java index dcd88d23fe..93313e5270 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/BindableConversationItem.java +++ b/app/src/main/java/org/thoughtcrime/securesms/BindableConversationItem.java @@ -10,8 +10,8 @@ import org.thoughtcrime.securesms.mms.GlideRequests; import org.session.libsignal.utilities.guava.Optional; import org.session.libsession.messaging.sending_receiving.link_preview.LinkPreview; -import org.session.libsession.messaging.threads.Address; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.Address; +import org.session.libsession.utilities.recipients.Recipient; import java.util.Locale; import java.util.Set; diff --git a/app/src/main/java/org/thoughtcrime/securesms/MediaOverviewActivity.java b/app/src/main/java/org/thoughtcrime/securesms/MediaOverviewActivity.java index 66482c9c57..7b25c4f1bb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/MediaOverviewActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/MediaOverviewActivity.java @@ -54,7 +54,7 @@ import com.google.android.material.tabs.TabLayout; import org.session.libsession.messaging.messages.control.DataExtractionNotification; import org.session.libsession.messaging.sending_receiving.MessageSender; -import org.session.libsession.messaging.threads.Address; +import org.session.libsession.utilities.Address; import org.thoughtcrime.securesms.database.CursorRecyclerViewAdapter; import org.thoughtcrime.securesms.database.MediaDatabase; import org.thoughtcrime.securesms.database.loaders.BucketedThreadMediaLoader; @@ -62,7 +62,7 @@ import org.thoughtcrime.securesms.database.loaders.BucketedThreadMediaLoader.Buc import org.thoughtcrime.securesms.database.loaders.ThreadMediaLoader; import org.thoughtcrime.securesms.mms.GlideApp; import org.thoughtcrime.securesms.permissions.Permissions; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import org.thoughtcrime.securesms.util.AttachmentUtil; import org.thoughtcrime.securesms.util.SaveAttachmentTask; import org.thoughtcrime.securesms.util.StickyHeaderDecoration; diff --git a/app/src/main/java/org/thoughtcrime/securesms/MediaPreviewActivity.java b/app/src/main/java/org/thoughtcrime/securesms/MediaPreviewActivity.java index ba2b2722c1..431d0b4e3f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/MediaPreviewActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/MediaPreviewActivity.java @@ -54,9 +54,9 @@ import androidx.recyclerview.widget.RecyclerView; import androidx.viewpager.widget.PagerAdapter; import androidx.viewpager.widget.ViewPager; import org.session.libsession.messaging.sending_receiving.attachments.DatabaseAttachment; -import org.session.libsession.messaging.threads.Address; -import org.session.libsession.messaging.threads.recipients.Recipient; -import org.session.libsession.messaging.threads.recipients.RecipientModifiedListener; +import org.session.libsession.utilities.Address; +import org.session.libsession.utilities.recipients.Recipient; +import org.session.libsession.utilities.recipients.RecipientModifiedListener; import org.session.libsession.utilities.Util; import org.session.libsignal.utilities.Log; import org.thoughtcrime.securesms.components.MediaView; diff --git a/app/src/main/java/org/thoughtcrime/securesms/MessageDetailsActivity.java b/app/src/main/java/org/thoughtcrime/securesms/MessageDetailsActivity.java index abed19ac22..f61186144c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/MessageDetailsActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/MessageDetailsActivity.java @@ -45,7 +45,7 @@ import org.session.libsession.messaging.open_groups.OpenGroup; import org.session.libsession.messaging.sending_receiving.MessageSender; import org.session.libsession.messaging.utilities.UpdateMessageData; import org.thoughtcrime.securesms.MessageDetailsRecipientAdapter.RecipientDeliveryStatus; -import org.session.libsession.utilities.color.MaterialColor; +import org.session.libsession.utilities.MaterialColor; import org.thoughtcrime.securesms.conversation.ConversationItem; import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.database.GroupReceiptDatabase; @@ -60,8 +60,8 @@ import org.thoughtcrime.securesms.database.model.MmsMessageRecord; import org.thoughtcrime.securesms.loki.database.LokiMessageDatabase; import org.thoughtcrime.securesms.mms.GlideApp; import org.thoughtcrime.securesms.mms.GlideRequests; -import org.session.libsession.messaging.threads.recipients.Recipient; -import org.session.libsession.messaging.threads.recipients.RecipientModifiedListener; +import org.session.libsession.utilities.recipients.Recipient; +import org.session.libsession.utilities.recipients.RecipientModifiedListener; import org.thoughtcrime.securesms.util.DateUtils; import org.session.libsession.utilities.ExpirationUtil; import org.session.libsession.utilities.Util; diff --git a/app/src/main/java/org/thoughtcrime/securesms/MessageDetailsRecipientAdapter.java b/app/src/main/java/org/thoughtcrime/securesms/MessageDetailsRecipientAdapter.java index 76c106f6d9..e150c1656b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/MessageDetailsRecipientAdapter.java +++ b/app/src/main/java/org/thoughtcrime/securesms/MessageDetailsRecipientAdapter.java @@ -12,7 +12,7 @@ import androidx.annotation.NonNull; import org.thoughtcrime.securesms.database.model.MessageRecord; import org.thoughtcrime.securesms.loki.views.UserView; import org.thoughtcrime.securesms.mms.GlideRequests; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import org.session.libsession.utilities.Conversions; import java.security.MessageDigest; diff --git a/app/src/main/java/org/thoughtcrime/securesms/ShareActivity.java b/app/src/main/java/org/thoughtcrime/securesms/ShareActivity.java index 68614fe92d..a4a17b7389 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ShareActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/ShareActivity.java @@ -35,10 +35,10 @@ import androidx.annotation.Nullable; import androidx.appcompat.app.ActionBar; import androidx.appcompat.widget.Toolbar; -import org.session.libsession.messaging.threads.DistributionTypes; +import org.session.libsession.utilities.DistributionTypes; import org.thoughtcrime.securesms.components.SearchToolbar; import org.thoughtcrime.securesms.conversation.ConversationActivity; -import org.session.libsession.messaging.threads.Address; +import org.session.libsession.utilities.Address; import org.thoughtcrime.securesms.database.DatabaseFactory; import org.session.libsignal.utilities.Log; import org.thoughtcrime.securesms.loki.fragments.ContactSelectionListFragment; @@ -46,7 +46,7 @@ import org.thoughtcrime.securesms.loki.fragments.ContactSelectionListLoader.Disp import org.thoughtcrime.securesms.mediasend.Media; import org.thoughtcrime.securesms.mms.PartAuthority; import org.thoughtcrime.securesms.providers.BlobProvider; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import org.thoughtcrime.securesms.util.MediaUtil; import org.session.libsession.utilities.ViewUtil; diff --git a/app/src/main/java/org/thoughtcrime/securesms/ShortcutLauncherActivity.java b/app/src/main/java/org/thoughtcrime/securesms/ShortcutLauncherActivity.java index d8e6db6730..d593cdca96 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ShortcutLauncherActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/ShortcutLauncherActivity.java @@ -10,9 +10,9 @@ import androidx.core.app.TaskStackBuilder; import androidx.appcompat.app.AppCompatActivity; import android.widget.Toast; -import org.session.libsession.messaging.threads.Address; +import org.session.libsession.utilities.Address; import org.thoughtcrime.securesms.loki.activities.HomeActivity; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import org.thoughtcrime.securesms.util.CommunicationActions; import network.loki.messenger.R; diff --git a/app/src/main/java/org/thoughtcrime/securesms/attachments/DatabaseAttachmentProvider.kt b/app/src/main/java/org/thoughtcrime/securesms/attachments/DatabaseAttachmentProvider.kt index 69eb94ab42..8608426055 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/attachments/DatabaseAttachmentProvider.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/attachments/DatabaseAttachmentProvider.kt @@ -7,7 +7,7 @@ import org.greenrobot.eventbus.EventBus import org.session.libsession.database.MessageDataProvider import org.session.libsession.messaging.open_groups.OpenGroup import org.session.libsession.messaging.sending_receiving.attachments.* -import org.session.libsession.messaging.threads.Address +import org.session.libsession.utilities.Address import org.session.libsession.messaging.utilities.DotNetAPI import org.session.libsession.utilities.Util import org.session.libsignal.utilities.guava.Optional diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/FullBackupExporter.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/FullBackupExporter.kt index cd3d0641a2..25c902800e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/FullBackupExporter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/FullBackupExporter.kt @@ -12,7 +12,7 @@ import net.sqlcipher.database.SQLiteDatabase import org.greenrobot.eventbus.EventBus import org.session.libsession.messaging.sending_receiving.attachments.AttachmentId -import org.session.libsession.messaging.avatars.AvatarHelper +import org.session.libsession.avatars.AvatarHelper import org.session.libsession.utilities.Conversions import org.thoughtcrime.securesms.backup.BackupProtos.* diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/FullBackupImporter.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/FullBackupImporter.kt index b106ffd06c..81f314458b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/FullBackupImporter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/FullBackupImporter.kt @@ -14,9 +14,9 @@ import org.thoughtcrime.securesms.database.* import org.session.libsignal.utilities.Log import org.thoughtcrime.securesms.util.BackupUtil -import org.session.libsession.messaging.avatars.AvatarHelper +import org.session.libsession.avatars.AvatarHelper import org.session.libsession.messaging.sending_receiving.attachments.AttachmentId -import org.session.libsession.messaging.threads.Address +import org.session.libsession.utilities.Address import org.session.libsession.utilities.Conversions import org.session.libsession.utilities.Util import org.session.libsignal.crypto.kdf.HKDFv3 diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/AlbumThumbnailView.java b/app/src/main/java/org/thoughtcrime/securesms/components/AlbumThumbnailView.java index 4dcaeb0230..9f472fb069 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/AlbumThumbnailView.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/AlbumThumbnailView.java @@ -16,7 +16,7 @@ import org.thoughtcrime.securesms.mms.GlideRequests; import org.thoughtcrime.securesms.mms.Slide; import org.thoughtcrime.securesms.mms.SlideClickListener; import org.thoughtcrime.securesms.mms.SlidesClickedListener; -import org.session.libsession.utilities.views.Stub; +import org.session.libsession.utilities.Stub; import java.util.List; diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/AvatarImageView.java b/app/src/main/java/org/thoughtcrime/securesms/components/AvatarImageView.java index 0152ac9e35..c0757fea24 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/AvatarImageView.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/AvatarImageView.java @@ -23,12 +23,12 @@ import org.thoughtcrime.securesms.loki.utilities.AvatarPlaceholderGenerator; import org.thoughtcrime.securesms.mms.GlideApp; import org.thoughtcrime.securesms.mms.GlideRequests; -import org.session.libsession.messaging.avatars.ContactColors; -import org.session.libsession.messaging.avatars.ContactPhoto; -import org.session.libsession.messaging.avatars.ResourceContactPhoto; -import org.session.libsession.messaging.threads.Address; -import org.session.libsession.messaging.threads.recipients.Recipient; -import org.session.libsession.messaging.threads.recipients.RecipientExporter; +import org.session.libsession.avatars.ContactColors; +import org.session.libsession.avatars.ContactPhoto; +import org.session.libsession.avatars.ResourceContactPhoto; +import org.session.libsession.utilities.Address; +import org.session.libsession.utilities.recipients.Recipient; +import org.session.libsession.utilities.recipients.RecipientExporter; import org.session.libsession.utilities.ThemeUtil; import java.util.Objects; diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/ConversationTypingView.java b/app/src/main/java/org/thoughtcrime/securesms/components/ConversationTypingView.java index 665949984a..4246a79f37 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/ConversationTypingView.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/ConversationTypingView.java @@ -9,7 +9,7 @@ import android.view.View; import android.widget.LinearLayout; import org.thoughtcrime.securesms.mms.GlideRequests; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import org.session.libsession.utilities.ThemeUtil; diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/FromTextView.java b/app/src/main/java/org/thoughtcrime/securesms/components/FromTextView.java index 407c5d7e45..d98c56ede5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/FromTextView.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/FromTextView.java @@ -15,9 +15,9 @@ import android.util.AttributeSet; import network.loki.messenger.R; import org.thoughtcrime.securesms.components.emoji.EmojiTextView; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import org.thoughtcrime.securesms.util.ResUtil; -import org.session.libsession.utilities.color.spans.CenterAlignedRelativeSizeSpan; +import org.session.libsession.utilities.CenterAlignedRelativeSizeSpan; public class FromTextView extends EmojiTextView { diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/InputPanel.java b/app/src/main/java/org/thoughtcrime/securesms/components/InputPanel.java index ec1a38c9c2..9b05c269a4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/InputPanel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/InputPanel.java @@ -32,7 +32,7 @@ import org.thoughtcrime.securesms.mms.SlideDeck; import org.session.libsession.messaging.sending_receiving.link_preview.LinkPreview; import org.session.libsession.messaging.sending_receiving.quotes.QuoteModel; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsession.utilities.Util; import org.session.libsession.utilities.ViewUtil; diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/MediaView.java b/app/src/main/java/org/thoughtcrime/securesms/components/MediaView.java index 149b3817da..14b70a53d6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/MediaView.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/MediaView.java @@ -17,7 +17,7 @@ import org.thoughtcrime.securesms.mms.GlideRequests; import org.thoughtcrime.securesms.mms.VideoSlide; import org.thoughtcrime.securesms.video.VideoPlayer; -import org.session.libsession.utilities.views.Stub; +import org.session.libsession.utilities.Stub; import java.io.IOException; diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/QuoteView.java b/app/src/main/java/org/thoughtcrime/securesms/components/QuoteView.java index 5a1710875e..ce4f00c530 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/QuoteView.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/QuoteView.java @@ -31,8 +31,8 @@ import org.thoughtcrime.securesms.mms.GlideRequests; import org.thoughtcrime.securesms.mms.Slide; import org.thoughtcrime.securesms.mms.SlideDeck; -import org.session.libsession.messaging.threads.recipients.Recipient; -import org.session.libsession.messaging.threads.recipients.RecipientModifiedListener; +import org.session.libsession.utilities.recipients.Recipient; +import org.session.libsession.utilities.recipients.RecipientModifiedListener; import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsession.utilities.ThemeUtil; import org.session.libsession.utilities.Util; diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/TypingStatusSender.java b/app/src/main/java/org/thoughtcrime/securesms/components/TypingStatusSender.java index fc6208dbd7..e3317ff1cd 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/TypingStatusSender.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/TypingStatusSender.java @@ -9,7 +9,7 @@ import org.session.libsession.messaging.sending_receiving.MessageSender; import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.database.ThreadDatabase; import org.thoughtcrime.securesms.loki.protocol.SessionMetaProtocol; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import org.session.libsession.utilities.Util; import java.util.HashMap; diff --git a/app/src/main/java/org/thoughtcrime/securesms/contacts/ContactAccessor.java b/app/src/main/java/org/thoughtcrime/securesms/contacts/ContactAccessor.java index ea5b65e701..9b67bbfc4b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/contacts/ContactAccessor.java +++ b/app/src/main/java/org/thoughtcrime/securesms/contacts/ContactAccessor.java @@ -29,7 +29,7 @@ import java.util.List; import network.loki.messenger.R; -import org.session.libsession.messaging.threads.GroupRecord; +import org.session.libsession.utilities.GroupRecord; import org.session.libsession.utilities.TextSecurePreferences; /** diff --git a/app/src/main/java/org/thoughtcrime/securesms/contacts/ContactsCursorLoader.java b/app/src/main/java/org/thoughtcrime/securesms/contacts/ContactsCursorLoader.java index 5c90529fe9..ed38683eb5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/contacts/ContactsCursorLoader.java +++ b/app/src/main/java/org/thoughtcrime/securesms/contacts/ContactsCursorLoader.java @@ -32,8 +32,7 @@ import org.thoughtcrime.securesms.database.GroupDatabase; import org.thoughtcrime.securesms.database.ThreadDatabase; import org.thoughtcrime.securesms.database.model.ThreadRecord; -import org.session.libsession.messaging.threads.GroupRecord; -import org.session.libsession.utilities.NumberUtil; +import org.session.libsession.utilities.GroupRecord; import java.util.ArrayList; import java.util.List; @@ -131,10 +130,6 @@ public class ContactsCursorLoader extends CursorLoader { cursorList.addAll(getContactsCursors()); } - if (NumberUtil.isValidSmsOrEmail(filter)) { - cursorList.add(getNewNumberCursor()); - } - return cursorList; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/contactshare/ContactModelMapper.java b/app/src/main/java/org/thoughtcrime/securesms/contactshare/ContactModelMapper.java index 5a77a88828..ef783da791 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/contactshare/ContactModelMapper.java +++ b/app/src/main/java/org/thoughtcrime/securesms/contactshare/ContactModelMapper.java @@ -11,8 +11,8 @@ import java.util.ArrayList; import java.util.LinkedList; import java.util.List; -import org.session.libsession.messaging.sending_receiving.sharecontacts.Contact; -import static org.session.libsession.messaging.sending_receiving.sharecontacts.Contact.*; +import org.session.libsession.utilities.Contact; +import static org.session.libsession.utilities.Contact.*; public class ContactModelMapper { diff --git a/app/src/main/java/org/thoughtcrime/securesms/contactshare/ContactUtil.java b/app/src/main/java/org/thoughtcrime/securesms/contactshare/ContactUtil.java index e1bb4b645d..4a1059ffd9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/contactshare/ContactUtil.java +++ b/app/src/main/java/org/thoughtcrime/securesms/contactshare/ContactUtil.java @@ -5,7 +5,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import android.text.TextUtils; -import org.session.libsession.messaging.sending_receiving.sharecontacts.Contact; +import org.session.libsession.utilities.Contact; import org.thoughtcrime.securesms.components.emoji.EmojiStrings; import org.thoughtcrime.securesms.util.SpanUtil; diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java index dd1223efaa..22504aa80b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java @@ -96,13 +96,13 @@ import org.session.libsession.messaging.sending_receiving.MessageSender; import org.session.libsession.messaging.sending_receiving.attachments.Attachment; import org.session.libsession.messaging.sending_receiving.link_preview.LinkPreview; import org.session.libsession.messaging.sending_receiving.quotes.QuoteModel; -import org.session.libsession.messaging.sending_receiving.sharecontacts.Contact; -import org.session.libsession.messaging.threads.Address; -import org.session.libsession.messaging.threads.DistributionTypes; -import org.session.libsession.messaging.threads.GroupRecord; -import org.session.libsession.messaging.threads.recipients.Recipient; -import org.session.libsession.messaging.threads.recipients.RecipientFormattingException; -import org.session.libsession.messaging.threads.recipients.RecipientModifiedListener; +import org.session.libsession.utilities.Contact; +import org.session.libsession.utilities.Address; +import org.session.libsession.utilities.DistributionTypes; +import org.session.libsession.utilities.GroupRecord; +import org.session.libsession.utilities.recipients.Recipient; +import org.session.libsession.utilities.recipients.RecipientFormattingException; +import org.session.libsession.utilities.recipients.RecipientModifiedListener; import org.session.libsession.utilities.ExpirationUtil; import org.session.libsession.utilities.GroupUtil; import org.session.libsession.utilities.MediaTypes; @@ -111,7 +111,7 @@ import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsession.utilities.Util; import org.session.libsession.utilities.ViewUtil; import org.session.libsession.utilities.concurrent.AssertedSuccessListener; -import org.session.libsession.utilities.views.Stub; +import org.session.libsession.utilities.Stub; import org.session.libsignal.exceptions.InvalidMessageException; import org.session.libsignal.utilities.guava.Optional; import org.session.libsession.messaging.mentions.Mention; @@ -1106,8 +1106,6 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity if (recipient == null || attachmentManager == null) { return; } - boolean isMediaMessage = recipient.isMmsGroupRecipient() || attachmentManager.isAttachmentPresent(); - /* Loki - We don't support SMS if (!isSecureText && !isPushGroupConversation()) sendButton.disableTransport(Type.TEXTSECURE); if (recipient.isPushGroupRecipient()) sendButton.disableTransport(Type.SMS); diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationAdapter.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationAdapter.java index 5a2e459dda..8c7522a3f0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationAdapter.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationAdapter.java @@ -43,7 +43,7 @@ import org.thoughtcrime.securesms.database.model.MmsMessageRecord; import org.session.libsignal.utilities.Log; import org.thoughtcrime.securesms.mms.GlideRequests; import org.thoughtcrime.securesms.mms.SlideDeck; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import org.thoughtcrime.securesms.util.DateUtils; import org.thoughtcrime.securesms.util.LRUCache; import org.thoughtcrime.securesms.util.StickyHeaderDecoration; diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationFragment.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationFragment.java index ce0b17dade..275cbba606 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationFragment.java @@ -70,8 +70,8 @@ import org.session.libsession.messaging.open_groups.OpenGroupV2; import org.session.libsession.messaging.sending_receiving.MessageSender; import org.session.libsession.messaging.sending_receiving.attachments.Attachment; import org.session.libsession.messaging.sending_receiving.link_preview.LinkPreview; -import org.session.libsession.messaging.threads.Address; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.Address; +import org.session.libsession.utilities.recipients.Recipient; import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsession.utilities.Util; import org.session.libsession.utilities.ViewUtil; diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java index 70c9caae8b..1454e94336 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java @@ -61,15 +61,15 @@ import org.session.libsession.messaging.open_groups.OpenGroupV2; import org.session.libsession.messaging.sending_receiving.attachments.AttachmentTransferProgress; import org.session.libsession.messaging.sending_receiving.attachments.DatabaseAttachment; import org.session.libsession.messaging.sending_receiving.link_preview.LinkPreview; -import org.session.libsession.messaging.threads.recipients.Recipient; -import org.session.libsession.messaging.threads.recipients.RecipientModifiedListener; +import org.session.libsession.utilities.recipients.Recipient; +import org.session.libsession.utilities.recipients.RecipientModifiedListener; import org.session.libsession.messaging.utilities.UpdateMessageData; import org.session.libsession.utilities.GroupUtil; import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsession.utilities.ThemeUtil; import org.session.libsession.utilities.Util; import org.session.libsession.utilities.ViewUtil; -import org.session.libsession.utilities.views.Stub; +import org.session.libsession.utilities.Stub; import org.session.libsignal.utilities.guava.Optional; import org.session.libsignal.utilities.Log; import org.thoughtcrime.securesms.BindableConversationItem; diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationUpdateItem.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationUpdateItem.java index 194b9779c9..3800f29dac 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationUpdateItem.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationUpdateItem.java @@ -22,8 +22,8 @@ import org.thoughtcrime.securesms.mms.GlideRequests; import org.thoughtcrime.securesms.util.DateUtils; import org.session.libsignal.utilities.guava.Optional; -import org.session.libsession.messaging.threads.recipients.Recipient; -import org.session.libsession.messaging.threads.recipients.RecipientModifiedListener; +import org.session.libsession.utilities.recipients.Recipient; +import org.session.libsession.utilities.recipients.RecipientModifiedListener; import org.session.libsession.utilities.ExpirationUtil; import org.session.libsession.utilities.Util; diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/EarlyReceiptCache.java b/app/src/main/java/org/thoughtcrime/securesms/database/EarlyReceiptCache.java index ac21ff3bed..2792a8fd3b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/EarlyReceiptCache.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/EarlyReceiptCache.java @@ -1,7 +1,7 @@ package org.thoughtcrime.securesms.database; import org.session.libsignal.utilities.Log; -import org.session.libsession.messaging.threads.Address; +import org.session.libsession.utilities.Address; import org.thoughtcrime.securesms.util.LRUCache; import java.util.HashMap; diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/GroupDatabase.java b/app/src/main/java/org/thoughtcrime/securesms/database/GroupDatabase.java index 50d5bca7b0..c3f25bf907 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/GroupDatabase.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/GroupDatabase.java @@ -17,10 +17,9 @@ import net.sqlcipher.database.SQLiteDatabase; import org.thoughtcrime.securesms.database.helpers.SQLCipherOpenHelper; import org.thoughtcrime.securesms.util.BitmapUtil; -import org.session.libsession.messaging.threads.recipients.Recipient; -import org.session.libsession.messaging.threads.Address; -import org.session.libsession.messaging.threads.GroupRecord; -import org.session.libsession.utilities.GroupUtil; +import org.session.libsession.utilities.recipients.Recipient; +import org.session.libsession.utilities.Address; +import org.session.libsession.utilities.GroupRecord; import org.session.libsession.utilities.Util; import org.session.libsignal.utilities.guava.Optional; @@ -123,28 +122,6 @@ public class GroupDatabase extends Database implements LokiOpenGroupDatabaseProt return new Reader(cursor); } - // This function always creates a mms group - public String getOrCreateGroupForMembers(List
members, List
admins) { - Collections.sort(members); - Collections.sort(admins); - - Cursor cursor = databaseHelper.getReadableDatabase().query(TABLE_NAME, new String[] {GROUP_ID}, - MEMBERS + " = ? AND " + MMS + " = ?", - new String[] {Address.toSerializedList(members, ','), "1"}, - null, null, null); - try { - if (cursor != null && cursor.moveToNext()) { - return cursor.getString(cursor.getColumnIndexOrThrow(GROUP_ID)); - } else { - String groupId = GroupUtil.getEncodedMMSGroupID(allocateGroupId()); - create(groupId, null, members, null, null, admins, System.currentTimeMillis()); - return groupId; - } - } finally { - if (cursor != null) cursor.close(); - } - } - public Reader getGroups() { @SuppressLint("Recycle") Cursor cursor = databaseHelper.getReadableDatabase().query(TABLE_NAME, null, null, null, null, null, null); @@ -210,7 +187,7 @@ public class GroupDatabase extends Database implements LokiOpenGroupDatabaseProt contentValues.put(AVATAR_RELAY, relay); contentValues.put(TIMESTAMP, formationTimestamp); contentValues.put(ACTIVE, 1); - contentValues.put(MMS, GroupUtil.isMmsGroup(groupId)); + contentValues.put(MMS, false); if (admins != null) { contentValues.put(ADMINS, Address.toSerializedList(admins, ',')); diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/GroupReceiptDatabase.java b/app/src/main/java/org/thoughtcrime/securesms/database/GroupReceiptDatabase.java index 410399270c..2664aea804 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/GroupReceiptDatabase.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/GroupReceiptDatabase.java @@ -10,7 +10,7 @@ import net.sqlcipher.database.SQLiteDatabase; import org.thoughtcrime.securesms.database.helpers.SQLCipherOpenHelper; -import org.session.libsession.messaging.threads.Address; +import org.session.libsession.utilities.Address; import java.util.LinkedList; import java.util.List; diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/MediaDatabase.java b/app/src/main/java/org/thoughtcrime/securesms/database/MediaDatabase.java index 9e0f549fd3..c33f8d0e7d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/MediaDatabase.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/MediaDatabase.java @@ -9,7 +9,7 @@ import androidx.annotation.Nullable; import net.sqlcipher.database.SQLiteDatabase; import org.session.libsession.messaging.sending_receiving.attachments.DatabaseAttachment; -import org.session.libsession.messaging.threads.Address; +import org.session.libsession.utilities.Address; import org.thoughtcrime.securesms.database.helpers.SQLCipherOpenHelper; diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/MessagingDatabase.java b/app/src/main/java/org/thoughtcrime/securesms/database/MessagingDatabase.java index 6509c1a9f6..0fcb61d741 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/MessagingDatabase.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/MessagingDatabase.java @@ -7,14 +7,14 @@ import android.text.TextUtils; import net.sqlcipher.database.SQLiteDatabase; -import org.session.libsession.database.documents.Document; -import org.session.libsession.database.documents.IdentityKeyMismatch; -import org.session.libsession.database.documents.IdentityKeyMismatchList; +import org.session.libsession.utilities.Document; +import org.session.libsession.utilities.IdentityKeyMismatch; +import org.session.libsession.utilities.IdentityKeyMismatchList; import org.thoughtcrime.securesms.database.helpers.SQLCipherOpenHelper; import org.session.libsignal.utilities.Log; import org.session.libsignal.crypto.IdentityKey; -import org.session.libsession.messaging.threads.Address; +import org.session.libsession.utilities.Address; import org.session.libsignal.utilities.JsonUtil; import java.io.IOException; diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/MmsDatabase.java b/app/src/main/java/org/thoughtcrime/securesms/database/MmsDatabase.java index 4493f778e8..4ee953b0b6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/MmsDatabase.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/MmsDatabase.java @@ -37,10 +37,10 @@ import org.json.JSONObject; import org.session.libsession.utilities.GroupUtil; import org.thoughtcrime.securesms.ApplicationContext; import org.thoughtcrime.securesms.attachments.MmsNotificationAttachment; -import org.session.libsession.database.documents.IdentityKeyMismatch; -import org.session.libsession.database.documents.IdentityKeyMismatchList; -import org.session.libsession.database.documents.NetworkFailure; -import org.session.libsession.database.documents.NetworkFailureList; +import org.session.libsession.utilities.IdentityKeyMismatch; +import org.session.libsession.utilities.IdentityKeyMismatchList; +import org.session.libsession.utilities.NetworkFailure; +import org.session.libsession.utilities.NetworkFailureList; import org.thoughtcrime.securesms.database.helpers.SQLCipherOpenHelper; import org.thoughtcrime.securesms.database.model.MediaMmsMessageRecord; import org.thoughtcrime.securesms.database.model.MessageRecord; @@ -58,12 +58,12 @@ import org.thoughtcrime.securesms.mms.SlideDeck; import org.session.libsession.messaging.sending_receiving.attachments.Attachment; import org.session.libsession.messaging.sending_receiving.attachments.AttachmentId; import org.session.libsession.messaging.sending_receiving.attachments.DatabaseAttachment; -import org.session.libsession.messaging.sending_receiving.sharecontacts.Contact; +import org.session.libsession.utilities.Contact; import org.session.libsession.messaging.sending_receiving.link_preview.LinkPreview; import org.session.libsession.messaging.sending_receiving.quotes.QuoteModel; -import org.session.libsession.messaging.threads.Address; -import org.session.libsession.messaging.threads.recipients.Recipient; -import org.session.libsession.messaging.threads.recipients.RecipientFormattingException; +import org.session.libsession.utilities.Address; +import org.session.libsession.utilities.recipients.Recipient; +import org.session.libsession.utilities.recipients.RecipientFormattingException; import org.session.libsignal.utilities.JsonUtil; import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsession.utilities.Util; diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/MmsSmsDatabase.java b/app/src/main/java/org/thoughtcrime/securesms/database/MmsSmsDatabase.java index ffa4c3642a..f21b1ae622 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/MmsSmsDatabase.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/MmsSmsDatabase.java @@ -25,7 +25,7 @@ import androidx.annotation.Nullable; import net.sqlcipher.database.SQLiteDatabase; import net.sqlcipher.database.SQLiteQueryBuilder; -import org.session.libsession.messaging.threads.Address; +import org.session.libsession.utilities.Address; import org.session.libsession.utilities.Util; import org.thoughtcrime.securesms.database.MessagingDatabase.SyncMessageId; import org.thoughtcrime.securesms.database.helpers.SQLCipherOpenHelper; 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 4363250ec1..d2b6ace217 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.java @@ -12,10 +12,10 @@ import com.annimon.stream.Stream; import net.sqlcipher.database.SQLiteDatabase; import org.thoughtcrime.securesms.database.helpers.SQLCipherOpenHelper; -import org.session.libsession.utilities.color.MaterialColor; -import org.session.libsession.messaging.threads.Address; -import org.session.libsession.messaging.threads.recipients.Recipient; -import org.session.libsession.messaging.threads.recipients.Recipient.*; +import org.session.libsession.utilities.MaterialColor; +import org.session.libsession.utilities.Address; +import org.session.libsession.utilities.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient.*; import org.session.libsignal.utilities.Base64; import org.session.libsession.utilities.Util; diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/SmsDatabase.java b/app/src/main/java/org/thoughtcrime/securesms/database/SmsDatabase.java index 43f3740346..613bff7414 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/SmsDatabase.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/SmsDatabase.java @@ -30,8 +30,8 @@ import net.sqlcipher.database.SQLiteStatement; import org.session.libsignal.utilities.Log; import org.thoughtcrime.securesms.ApplicationContext; -import org.session.libsession.database.documents.IdentityKeyMismatch; -import org.session.libsession.database.documents.IdentityKeyMismatchList; +import org.session.libsession.utilities.IdentityKeyMismatch; +import org.session.libsession.utilities.IdentityKeyMismatchList; import org.thoughtcrime.securesms.database.helpers.SQLCipherOpenHelper; import org.thoughtcrime.securesms.database.model.MessageRecord; import org.thoughtcrime.securesms.database.model.SmsMessageRecord; @@ -40,8 +40,8 @@ import org.session.libsession.messaging.messages.signal.IncomingGroupMessage; import org.session.libsession.messaging.messages.signal.IncomingTextMessage; import org.session.libsession.messaging.messages.signal.OutgoingTextMessage; -import org.session.libsession.messaging.threads.Address; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.Address; +import org.session.libsession.utilities.recipients.Recipient; import org.session.libsignal.utilities.JsonUtil; import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsession.utilities.Util; 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 f4a603c48e..bd8d7abab5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/Storage.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/Storage.kt @@ -3,7 +3,7 @@ package org.thoughtcrime.securesms.database import android.content.Context import android.net.Uri import okhttp3.HttpUrl -import org.session.libsession.messaging.StorageProtocol +import org.session.libsession.database.StorageProtocol import org.session.libsession.messaging.jobs.AttachmentUploadJob import org.session.libsession.messaging.jobs.Job import org.session.libsession.messaging.jobs.JobQueue @@ -20,15 +20,15 @@ import org.session.libsession.messaging.sending_receiving.attachments.DatabaseAt import org.session.libsession.messaging.sending_receiving.data_extraction.DataExtractionNotificationInfoMessage import org.session.libsession.messaging.sending_receiving.link_preview.LinkPreview import org.session.libsession.messaging.sending_receiving.quotes.QuoteModel -import org.session.libsession.messaging.threads.Address -import org.session.libsession.messaging.threads.Address.Companion.fromSerialized -import org.session.libsession.messaging.threads.GroupRecord -import org.session.libsession.messaging.threads.recipients.Recipient +import org.session.libsession.utilities.Address +import org.session.libsession.utilities.Address.Companion.fromSerialized +import org.session.libsession.utilities.GroupRecord +import org.session.libsession.utilities.recipients.Recipient import org.session.libsession.messaging.utilities.UpdateMessageData import org.session.libsession.utilities.GroupUtil import org.session.libsession.utilities.IdentityKeyUtil import org.session.libsession.utilities.TextSecurePreferences -import org.session.libsession.utilities.preferences.ProfileKeyUtil +import org.session.libsession.utilities.ProfileKeyUtil import org.session.libsignal.crypto.ecc.ECKeyPair import org.session.libsignal.utilities.KeyHelper import org.session.libsignal.utilities.guava.Optional @@ -351,7 +351,7 @@ class Storage(context: Context, helper: SQLCipherOpenHelper) : Database(context, DatabaseFactory.getLokiAPIDatabase(context).removeLastDeletionServerID(group, server) } - override fun isDuplicateMessage(timestamp: Long, sender: String): Boolean { + override fun isDuplicateMessage(timestamp: Long): Boolean { return getReceivedMessageTimestamps().contains(timestamp) } 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 b5db0dbec8..ea73484659 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/ThreadDatabase.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/ThreadDatabase.java @@ -30,12 +30,12 @@ import com.annimon.stream.Stream; import net.sqlcipher.database.SQLiteDatabase; -import org.session.libsession.messaging.threads.DistributionTypes; -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.DistributionTypes; +import org.session.libsession.utilities.Contact; +import org.session.libsession.utilities.Address; +import org.session.libsession.utilities.GroupRecord; +import org.session.libsession.utilities.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient.RecipientSettings; import org.session.libsession.utilities.DelimiterUtil; import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsession.utilities.Util; diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/loaders/BucketedThreadMediaLoader.java b/app/src/main/java/org/thoughtcrime/securesms/database/loaders/BucketedThreadMediaLoader.java index a367b23aa8..750b6a7c80 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/loaders/BucketedThreadMediaLoader.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/loaders/BucketedThreadMediaLoader.java @@ -10,10 +10,10 @@ import androidx.loader.content.AsyncTaskLoader; import com.annimon.stream.Stream; import network.loki.messenger.R; -import org.session.libsession.messaging.threads.Address; +import org.session.libsession.utilities.Address; import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.database.MediaDatabase; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import java.text.SimpleDateFormat; import java.util.ArrayList; diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/loaders/PagingMediaLoader.java b/app/src/main/java/org/thoughtcrime/securesms/database/loaders/PagingMediaLoader.java index 0f17ddb39c..0247c54c98 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/loaders/PagingMediaLoader.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/loaders/PagingMediaLoader.java @@ -12,7 +12,7 @@ import org.session.libsession.messaging.sending_receiving.attachments.Attachment import org.thoughtcrime.securesms.database.AttachmentDatabase; import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.mms.PartAuthority; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import org.thoughtcrime.securesms.util.AsyncLoader; public class PagingMediaLoader extends AsyncLoader> { diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/loaders/ThreadMediaLoader.java b/app/src/main/java/org/thoughtcrime/securesms/database/loaders/ThreadMediaLoader.java index 91ed7332d0..3762c89bef 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/loaders/ThreadMediaLoader.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/loaders/ThreadMediaLoader.java @@ -5,9 +5,9 @@ import android.content.Context; import android.database.Cursor; import androidx.annotation.NonNull; -import org.session.libsession.messaging.threads.Address; +import org.session.libsession.utilities.Address; import org.thoughtcrime.securesms.database.DatabaseFactory; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import org.thoughtcrime.securesms.util.AbstractCursorLoader; public class ThreadMediaLoader extends AbstractCursorLoader { diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/model/DisplayRecord.java b/app/src/main/java/org/thoughtcrime/securesms/database/model/DisplayRecord.java index 35a10fce3c..f592d47e9d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/model/DisplayRecord.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/model/DisplayRecord.java @@ -22,7 +22,7 @@ import android.text.SpannableString; 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.recipients.Recipient; /** * The base class for all message record models. Encapsulates basic data diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/model/MediaMmsMessageRecord.java b/app/src/main/java/org/thoughtcrime/securesms/database/model/MediaMmsMessageRecord.java index f67dacb56f..97b7329bc4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/model/MediaMmsMessageRecord.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/model/MediaMmsMessageRecord.java @@ -22,14 +22,14 @@ import androidx.annotation.Nullable; import android.text.SpannableString; import network.loki.messenger.R; -import org.session.libsession.messaging.sending_receiving.sharecontacts.Contact; +import org.session.libsession.utilities.Contact; import org.session.libsession.messaging.sending_receiving.link_preview.LinkPreview; import org.thoughtcrime.securesms.database.MmsDatabase; import org.thoughtcrime.securesms.database.SmsDatabase.Status; -import org.session.libsession.database.documents.IdentityKeyMismatch; -import org.session.libsession.database.documents.NetworkFailure; +import org.session.libsession.utilities.IdentityKeyMismatch; +import org.session.libsession.utilities.NetworkFailure; import org.thoughtcrime.securesms.mms.SlideDeck; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import java.util.List; diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/model/MessageRecord.java b/app/src/main/java/org/thoughtcrime/securesms/database/model/MessageRecord.java index 441b6cb988..13a9b4911a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/model/MessageRecord.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/model/MessageRecord.java @@ -30,10 +30,10 @@ import org.session.libsession.messaging.utilities.UpdateMessageBuilder; import org.session.libsession.messaging.utilities.UpdateMessageData; import org.thoughtcrime.securesms.database.MmsSmsColumns; import org.thoughtcrime.securesms.database.SmsDatabase; -import org.session.libsession.database.documents.IdentityKeyMismatch; -import org.session.libsession.database.documents.NetworkFailure; +import org.session.libsession.utilities.IdentityKeyMismatch; +import org.session.libsession.utilities.NetworkFailure; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import java.util.List; diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/model/MmsMessageRecord.java b/app/src/main/java/org/thoughtcrime/securesms/database/model/MmsMessageRecord.java index 0bfd330985..528720547c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/model/MmsMessageRecord.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/model/MmsMessageRecord.java @@ -4,12 +4,12 @@ package org.thoughtcrime.securesms.database.model; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import org.session.libsession.messaging.sending_receiving.sharecontacts.Contact; +import org.session.libsession.utilities.Contact; import org.session.libsession.messaging.sending_receiving.link_preview.LinkPreview; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; -import org.session.libsession.database.documents.IdentityKeyMismatch; -import org.session.libsession.database.documents.NetworkFailure; +import org.session.libsession.utilities.IdentityKeyMismatch; +import org.session.libsession.utilities.NetworkFailure; import org.thoughtcrime.securesms.mms.Slide; import org.thoughtcrime.securesms.mms.SlideDeck; diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/model/NotificationMmsMessageRecord.java b/app/src/main/java/org/thoughtcrime/securesms/database/model/NotificationMmsMessageRecord.java index 523aa0ad80..361be34d39 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/model/NotificationMmsMessageRecord.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/model/NotificationMmsMessageRecord.java @@ -23,10 +23,10 @@ import android.text.SpannableString; import network.loki.messenger.R; import org.thoughtcrime.securesms.database.MmsDatabase; import org.thoughtcrime.securesms.database.SmsDatabase.Status; -import org.session.libsession.database.documents.IdentityKeyMismatch; -import org.session.libsession.database.documents.NetworkFailure; +import org.session.libsession.utilities.IdentityKeyMismatch; +import org.session.libsession.utilities.NetworkFailure; import org.thoughtcrime.securesms.mms.SlideDeck; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import java.util.Collections; import java.util.LinkedList; diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/model/Quote.java b/app/src/main/java/org/thoughtcrime/securesms/database/model/Quote.java index eb2ec381e0..e79626c66b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/model/Quote.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/model/Quote.java @@ -5,7 +5,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import org.session.libsession.messaging.sending_receiving.quotes.QuoteModel; -import org.session.libsession.messaging.threads.Address; +import org.session.libsession.utilities.Address; import org.thoughtcrime.securesms.mms.SlideDeck; public class Quote { diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/model/SmsMessageRecord.java b/app/src/main/java/org/thoughtcrime/securesms/database/model/SmsMessageRecord.java index 9faabc77c5..08328aaaef 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/model/SmsMessageRecord.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/model/SmsMessageRecord.java @@ -24,8 +24,8 @@ import androidx.annotation.NonNull; import org.thoughtcrime.securesms.database.MmsSmsColumns; import org.thoughtcrime.securesms.database.SmsDatabase; -import org.session.libsession.database.documents.IdentityKeyMismatch; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.IdentityKeyMismatch; +import org.session.libsession.utilities.recipients.Recipient; import java.util.LinkedList; import java.util.List; 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 1833ac4270..c5091651a2 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,7 +27,7 @@ import android.text.style.StyleSpan; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import org.session.libsession.utilities.ExpirationUtil; import org.thoughtcrime.securesms.database.MmsSmsColumns; import org.thoughtcrime.securesms.database.SmsDatabase; diff --git a/app/src/main/java/org/thoughtcrime/securesms/giph/ui/GiphyAdapter.java b/app/src/main/java/org/thoughtcrime/securesms/giph/ui/GiphyAdapter.java index a955f368fd..277b2e847c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/giph/ui/GiphyAdapter.java +++ b/app/src/main/java/org/thoughtcrime/securesms/giph/ui/GiphyAdapter.java @@ -32,7 +32,7 @@ import org.thoughtcrime.securesms.giph.model.ChunkedImageUrl; import org.thoughtcrime.securesms.mms.GlideApp; import org.thoughtcrime.securesms.mms.GlideRequests; -import org.session.libsession.utilities.color.MaterialColor; +import org.session.libsession.utilities.MaterialColor; import org.session.libsession.utilities.Util; import org.session.libsession.utilities.ViewUtil; diff --git a/app/src/main/java/org/thoughtcrime/securesms/glide/ContactPhotoFetcher.java b/app/src/main/java/org/thoughtcrime/securesms/glide/ContactPhotoFetcher.java index aef3738683..6ab528b785 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/glide/ContactPhotoFetcher.java +++ b/app/src/main/java/org/thoughtcrime/securesms/glide/ContactPhotoFetcher.java @@ -8,7 +8,7 @@ import com.bumptech.glide.Priority; import com.bumptech.glide.load.DataSource; import com.bumptech.glide.load.data.DataFetcher; -import org.session.libsession.messaging.avatars.ContactPhoto; +import org.session.libsession.avatars.ContactPhoto; import java.io.IOException; import java.io.InputStream; diff --git a/app/src/main/java/org/thoughtcrime/securesms/glide/ContactPhotoLoader.java b/app/src/main/java/org/thoughtcrime/securesms/glide/ContactPhotoLoader.java index c25339652f..61a89c0bd5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/glide/ContactPhotoLoader.java +++ b/app/src/main/java/org/thoughtcrime/securesms/glide/ContactPhotoLoader.java @@ -9,7 +9,7 @@ import com.bumptech.glide.load.model.ModelLoader; import com.bumptech.glide.load.model.ModelLoaderFactory; import com.bumptech.glide.load.model.MultiModelLoaderFactory; -import org.session.libsession.messaging.avatars.ContactPhoto; +import org.session.libsession.avatars.ContactPhoto; import java.io.InputStream; diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/GroupManager.java b/app/src/main/java/org/thoughtcrime/securesms/groups/GroupManager.java index 69988b6568..0b5b7340d6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/GroupManager.java +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/GroupManager.java @@ -6,9 +6,9 @@ import android.graphics.Bitmap; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import org.session.libsession.messaging.threads.Address; -import org.session.libsession.messaging.threads.DistributionTypes; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.Address; +import org.session.libsession.utilities.DistributionTypes; +import org.session.libsession.utilities.recipients.Recipient; import org.session.libsession.utilities.GroupUtil; import org.session.libsession.utilities.TextSecurePreferences; diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/AvatarDownloadJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/AvatarDownloadJob.java index d5ce693b6c..1c7bf1142f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/AvatarDownloadJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/AvatarDownloadJob.java @@ -8,7 +8,7 @@ import org.session.libsession.utilities.DownloadUtilities; import org.session.libsignal.streams.AttachmentCipherInputStream; import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.database.GroupDatabase; -import org.session.libsession.messaging.threads.GroupRecord; +import org.session.libsession.utilities.GroupRecord; import org.thoughtcrime.securesms.dependencies.InjectableType; import org.thoughtcrime.securesms.jobmanager.Job; import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint; @@ -27,8 +27,6 @@ import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; -import javax.inject.Inject; - public class AvatarDownloadJob extends BaseJob implements InjectableType { public static final String KEY = "AvatarDownloadJob"; diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/RetrieveProfileAvatarJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/RetrieveProfileAvatarJob.java index a310eca3de..080ce6c88c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/RetrieveProfileAvatarJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/RetrieveProfileAvatarJob.java @@ -5,10 +5,10 @@ import android.text.TextUtils; import androidx.annotation.NonNull; -import org.session.libsession.messaging.avatars.AvatarHelper; +import org.session.libsession.avatars.AvatarHelper; import org.session.libsession.messaging.utilities.Data; -import org.session.libsession.messaging.threads.Address; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.Address; +import org.session.libsession.utilities.recipients.Recipient; import org.session.libsession.utilities.DownloadUtilities; import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsession.utilities.Util; @@ -29,8 +29,6 @@ import java.io.InputStream; import java.security.SecureRandom; import java.util.concurrent.TimeUnit; -import javax.inject.Inject; - public class RetrieveProfileAvatarJob extends BaseJob implements InjectableType { public static final String KEY = "RetrieveProfileAvatarJob"; diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/activities/CreateClosedGroupActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/activities/CreateClosedGroupActivity.kt index f3a7f94bd4..f13dee1d46 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/activities/CreateClosedGroupActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/activities/CreateClosedGroupActivity.kt @@ -12,18 +12,19 @@ import android.view.View import android.widget.Toast import kotlinx.android.synthetic.main.activity_create_closed_group.* import network.loki.messenger.R +import nl.komponents.kovenant.ui.failUi import nl.komponents.kovenant.ui.successUi import org.session.libsession.messaging.sending_receiving.MessageSender import org.session.libsession.messaging.sending_receiving.groupSizeLimit import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity import org.thoughtcrime.securesms.conversation.ConversationActivity -import org.session.libsession.messaging.threads.Address -import org.session.libsession.messaging.threads.DistributionTypes +import org.session.libsession.utilities.Address +import org.session.libsession.utilities.DistributionTypes import org.thoughtcrime.securesms.database.DatabaseFactory import org.thoughtcrime.securesms.loki.utilities.fadeIn import org.thoughtcrime.securesms.loki.utilities.fadeOut import org.thoughtcrime.securesms.mms.GlideApp -import org.session.libsession.messaging.threads.recipients.Recipient +import org.session.libsession.utilities.recipients.Recipient import org.session.libsession.utilities.TextSecurePreferences //TODO Refactor to avoid using kotlinx.android.synthetic @@ -123,7 +124,10 @@ class CreateClosedGroupActivity : PassphraseRequiredActionBarActivity(), LoaderM openConversationActivity(this, threadID, Recipient.from(this, Address.fromSerialized(groupID), false)) finish() } - + }.failUi { + loaderContainer.fadeOut() + isLoading = false + Toast.makeText(this, it.message, Toast.LENGTH_LONG).show() } } // endregion diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/activities/CreatePrivateChatActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/activities/CreatePrivateChatActivity.kt index ba3b623a8b..25c6dec9a4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/activities/CreatePrivateChatActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/activities/CreatePrivateChatActivity.kt @@ -17,13 +17,12 @@ import kotlinx.android.synthetic.main.fragment_enter_public_key.* import network.loki.messenger.R import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity import org.thoughtcrime.securesms.conversation.ConversationActivity -import org.session.libsession.messaging.threads.Address -import org.session.libsession.messaging.threads.DistributionTypes +import org.session.libsession.utilities.Address +import org.session.libsession.utilities.DistributionTypes import org.thoughtcrime.securesms.database.DatabaseFactory -import org.thoughtcrime.securesms.database.ThreadDatabase import org.thoughtcrime.securesms.loki.fragments.ScanQRCodeWrapperFragment import org.thoughtcrime.securesms.loki.fragments.ScanQRCodeWrapperFragmentDelegate -import org.session.libsession.messaging.threads.recipients.Recipient +import org.session.libsession.utilities.recipients.Recipient import org.session.libsession.utilities.TextSecurePreferences import org.session.libsignal.utilities.PublicKeyValidation diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/activities/EditClosedGroupActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/activities/EditClosedGroupActivity.kt index 3bb10b0096..d6508e8975 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/activities/EditClosedGroupActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/activities/EditClosedGroupActivity.kt @@ -22,13 +22,13 @@ import nl.komponents.kovenant.ui.successUi import org.session.libsession.messaging.sending_receiving.MessageSender import org.session.libsession.messaging.sending_receiving.groupSizeLimit import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity -import org.session.libsession.messaging.threads.Address +import org.session.libsession.utilities.Address import org.thoughtcrime.securesms.database.DatabaseFactory import org.thoughtcrime.securesms.loki.dialogs.ClosedGroupEditingOptionsBottomSheet import org.thoughtcrime.securesms.loki.utilities.fadeIn import org.thoughtcrime.securesms.loki.utilities.fadeOut import org.thoughtcrime.securesms.mms.GlideApp -import org.session.libsession.messaging.threads.recipients.Recipient +import org.session.libsession.utilities.recipients.Recipient import org.session.libsession.utilities.GroupUtil import org.session.libsession.utilities.TextSecurePreferences import org.session.libsession.utilities.ThemeUtil diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/activities/EditClosedGroupMembersAdapter.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/activities/EditClosedGroupMembersAdapter.kt index 7d5ed34086..ab5e79d105 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/activities/EditClosedGroupMembersAdapter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/activities/EditClosedGroupMembersAdapter.kt @@ -3,10 +3,10 @@ package org.thoughtcrime.securesms.loki.activities import android.content.Context import androidx.recyclerview.widget.RecyclerView import android.view.ViewGroup -import org.session.libsession.messaging.threads.Address +import org.session.libsession.utilities.Address import org.thoughtcrime.securesms.loki.views.UserView import org.thoughtcrime.securesms.mms.GlideRequests -import org.session.libsession.messaging.threads.recipients.Recipient +import org.session.libsession.utilities.recipients.Recipient import org.session.libsession.utilities.TextSecurePreferences class EditClosedGroupMembersAdapter( diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/activities/JoinPublicChatActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/activities/JoinPublicChatActivity.kt index 7527b68c4f..bec0732995 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/activities/JoinPublicChatActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/activities/JoinPublicChatActivity.kt @@ -24,9 +24,9 @@ import kotlinx.coroutines.withContext import network.loki.messenger.R import okhttp3.HttpUrl import org.session.libsession.messaging.open_groups.OpenGroupAPIV2.DefaultGroup -import org.session.libsession.messaging.threads.Address -import org.session.libsession.messaging.threads.DistributionTypes -import org.session.libsession.messaging.threads.recipients.Recipient +import org.session.libsession.utilities.Address +import org.session.libsession.utilities.DistributionTypes +import org.session.libsession.utilities.recipients.Recipient import org.session.libsession.utilities.GroupUtil import org.session.libsignal.utilities.Log import org.thoughtcrime.securesms.BaseActionBarActivity diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/activities/QRCodeActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/activities/QRCodeActivity.kt index bedd1f3121..dd6bf3420e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/activities/QRCodeActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/activities/QRCodeActivity.kt @@ -2,7 +2,6 @@ package org.thoughtcrime.securesms.loki.activities import android.content.Intent import android.graphics.Bitmap -import android.net.Uri import android.os.Bundle import android.os.Environment import android.view.LayoutInflater @@ -16,15 +15,14 @@ import kotlinx.android.synthetic.main.fragment_view_my_qr_code.* import network.loki.messenger.R import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity import org.thoughtcrime.securesms.conversation.ConversationActivity -import org.session.libsession.messaging.threads.Address -import org.session.libsession.messaging.threads.DistributionTypes +import org.session.libsession.utilities.Address +import org.session.libsession.utilities.DistributionTypes import org.thoughtcrime.securesms.database.DatabaseFactory -import org.thoughtcrime.securesms.database.ThreadDatabase import org.thoughtcrime.securesms.loki.fragments.ScanQRCodeWrapperFragment import org.thoughtcrime.securesms.loki.fragments.ScanQRCodeWrapperFragmentDelegate import org.thoughtcrime.securesms.loki.utilities.QRCodeUtilities import org.thoughtcrime.securesms.loki.utilities.toPx -import org.session.libsession.messaging.threads.recipients.Recipient +import org.session.libsession.utilities.recipients.Recipient import org.thoughtcrime.securesms.util.FileProviderUtil import org.session.libsession.utilities.TextSecurePreferences import org.session.libsignal.utilities.PublicKeyValidation diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/activities/SelectContactsAdapter.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/activities/SelectContactsAdapter.kt index e8bbede270..2ce6d89ebf 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/activities/SelectContactsAdapter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/activities/SelectContactsAdapter.kt @@ -3,10 +3,10 @@ package org.thoughtcrime.securesms.loki.activities import android.content.Context import androidx.recyclerview.widget.RecyclerView import android.view.ViewGroup -import org.session.libsession.messaging.threads.Address +import org.session.libsession.utilities.Address import org.thoughtcrime.securesms.loki.views.UserView import org.thoughtcrime.securesms.mms.GlideRequests -import org.session.libsession.messaging.threads.recipients.Recipient +import org.session.libsession.utilities.recipients.Recipient class SelectContactsAdapter(private val context: Context, private val glide: GlideRequests) : RecyclerView.Adapter() { val selectedMembers = mutableSetOf() diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/activities/SettingsActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/activities/SettingsActivity.kt index 6c6d95511f..354810015f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/activities/SettingsActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/activities/SettingsActivity.kt @@ -25,13 +25,13 @@ import nl.komponents.kovenant.Promise import nl.komponents.kovenant.all import nl.komponents.kovenant.ui.alwaysUi import nl.komponents.kovenant.ui.successUi -import org.session.libsession.messaging.avatars.AvatarHelper +import org.session.libsession.avatars.AvatarHelper import org.session.libsession.messaging.open_groups.OpenGroupAPI -import org.session.libsession.messaging.threads.Address +import org.session.libsession.utilities.Address import org.session.libsession.utilities.ProfilePictureUtilities import org.session.libsession.utilities.SSKEnvironment.ProfileManagerProtocol import org.session.libsession.utilities.TextSecurePreferences -import org.session.libsession.utilities.preferences.ProfileKeyUtil +import org.session.libsession.utilities.ProfileKeyUtil import org.thoughtcrime.securesms.ApplicationContext import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity import org.thoughtcrime.securesms.avatar.AvatarSelection diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/api/BackgroundPollWorker.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/api/BackgroundPollWorker.kt index c6cd6f6a4d..ffe7e230e0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/api/BackgroundPollWorker.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/api/BackgroundPollWorker.kt @@ -52,7 +52,7 @@ class BackgroundPollWorker(val context: Context, params: WorkerParameters) : Wor val dmsPromise = SnodeAPI.getMessages(userPublicKey).map { envelopes -> envelopes.map { envelope -> // FIXME: Using a job here seems like a bad idea... - MessageReceiveJob(envelope.toByteArray(), false).executeAsync() + MessageReceiveJob(envelope.toByteArray()).executeAsync() } } promises.addAll(dmsPromise.get()) @@ -61,12 +61,6 @@ class BackgroundPollWorker(val context: Context, params: WorkerParameters) : Wor promises.addAll(ClosedGroupPoller().pollOnce()) // Open Groups - val openGroups = DatabaseFactory.getLokiThreadDatabase(context).getAllPublicChats().values - for (openGroup in openGroups) { - val poller = OpenGroupPoller(openGroup) - promises.add(poller.pollForNewMessages()) - } - val v2OpenGroups = DatabaseFactory.getLokiThreadDatabase(context).getAllV2OpenGroups().values.groupBy(OpenGroupV2::server) v2OpenGroups.values.map { groups -> diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/api/PushNotificationService.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/api/PushNotificationService.kt index d274a1ba62..74f6f25c88 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/api/PushNotificationService.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/api/PushNotificationService.kt @@ -27,19 +27,21 @@ class PushNotificationService : FirebaseMessagingService() { val data = base64EncodedData?.let { Base64.decode(it) } if (data != null) { try { - JobQueue.shared.add(MessageReceiveJob(MessageWrapper.unwrap(data).toByteArray(),true)) + val envelopeAsData = MessageWrapper.unwrap(data).toByteArray() + val job = MessageReceiveJob(envelopeAsData) + JobQueue.shared.add(job) } catch (e: Exception) { Log.d("Loki", "Failed to unwrap data for message due to error: $e.") } } else { Log.d("Loki", "Failed to decode data for message.") val builder = NotificationCompat.Builder(this, NotificationChannels.OTHER) - .setSmallIcon(network.loki.messenger.R.drawable.ic_notification) - .setColor(this.getResources().getColor(network.loki.messenger.R.color.textsecure_primary)) - .setContentTitle("Session") - .setContentText("You've got a new message.") - .setPriority(NotificationCompat.PRIORITY_DEFAULT) - .setAutoCancel(true) + .setSmallIcon(network.loki.messenger.R.drawable.ic_notification) + .setColor(this.getResources().getColor(network.loki.messenger.R.color.textsecure_primary)) + .setContentTitle("Session") + .setContentText("You've got a new message.") + .setPriority(NotificationCompat.PRIORITY_DEFAULT) + .setAutoCancel(true) with(NotificationManagerCompat.from(this)) { notify(11111, builder.build()) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/database/LokiThreadDatabase.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/database/LokiThreadDatabase.kt index 68ca31cea4..c591160c32 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/database/LokiThreadDatabase.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/database/LokiThreadDatabase.kt @@ -11,8 +11,8 @@ import org.thoughtcrime.securesms.database.helpers.SQLCipherOpenHelper import org.thoughtcrime.securesms.loki.utilities.* import org.session.libsession.messaging.open_groups.OpenGroupV2 -import org.session.libsession.messaging.threads.Address -import org.session.libsession.messaging.threads.recipients.Recipient +import org.session.libsession.utilities.Address +import org.session.libsession.utilities.recipients.Recipient import org.session.libsignal.utilities.JsonUtil diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/database/LokiUserDatabase.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/database/LokiUserDatabase.kt index 6b9c1cc323..3323283514 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/database/LokiUserDatabase.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/database/LokiUserDatabase.kt @@ -4,12 +4,12 @@ import android.content.ContentValues import android.content.Context import android.database.sqlite.SQLiteDatabase import org.session.libsignal.utilities.Log -import org.session.libsession.messaging.threads.Address +import org.session.libsession.utilities.Address import org.thoughtcrime.securesms.database.Database import org.thoughtcrime.securesms.database.helpers.SQLCipherOpenHelper import org.thoughtcrime.securesms.loki.utilities.get import org.thoughtcrime.securesms.loki.utilities.insertOrUpdate -import org.session.libsession.messaging.threads.recipients.Recipient +import org.session.libsession.utilities.recipients.Recipient import org.session.libsession.utilities.TextSecurePreferences import org.session.libsignal.database.LokiUserDatabaseProtocol diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/dialogs/ConversationOptionsBottomSheet.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/dialogs/ConversationOptionsBottomSheet.kt index e6ee831620..9c7b51f31b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/dialogs/ConversationOptionsBottomSheet.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/dialogs/ConversationOptionsBottomSheet.kt @@ -5,12 +5,9 @@ import com.google.android.material.bottomsheet.BottomSheetDialogFragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import androidx.appcompat.view.ContextThemeWrapper -import kotlinx.android.synthetic.main.fragment_closed_group_edit_bottom_sheet.* import kotlinx.android.synthetic.main.fragment_conversation_bottom_sheet.* -import kotlinx.android.synthetic.main.fragment_device_list_bottom_sheet.* import network.loki.messenger.R -import org.session.libsession.messaging.threads.recipients.Recipient +import org.session.libsession.utilities.recipients.Recipient public class ConversationOptionsBottomSheet : BottomSheetDialogFragment() { diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/fragments/ContactSelectionListAdapter.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/fragments/ContactSelectionListAdapter.kt index 802b2f4f1a..ba039009bc 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/fragments/ContactSelectionListAdapter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/fragments/ContactSelectionListAdapter.kt @@ -9,7 +9,7 @@ import kotlinx.android.synthetic.main.contact_selection_list_divider.view.* import network.loki.messenger.R import org.thoughtcrime.securesms.loki.views.UserView import org.thoughtcrime.securesms.mms.GlideRequests -import org.session.libsession.messaging.threads.recipients.Recipient +import org.session.libsession.utilities.recipients.Recipient class ContactSelectionListAdapter(private val context: Context, private val multiSelect: Boolean) : RecyclerView.Adapter() { lateinit var glide: GlideRequests diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/fragments/ContactSelectionListFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/fragments/ContactSelectionListFragment.kt index 063dbc30c3..8a68d4e3b8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/fragments/ContactSelectionListFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/fragments/ContactSelectionListFragment.kt @@ -14,7 +14,7 @@ import network.loki.messenger.R import org.thoughtcrime.securesms.contacts.ContactsCursorLoader import org.session.libsignal.utilities.Log import org.thoughtcrime.securesms.mms.GlideApp -import org.session.libsession.messaging.threads.recipients.Recipient +import org.session.libsession.utilities.recipients.Recipient class ContactSelectionListFragment : Fragment(), LoaderManager.LoaderCallbacks>, ContactClickListener { private var cursorFilter: String? = null diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/fragments/ContactSelectionListLoader.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/fragments/ContactSelectionListLoader.kt index 6e46808d41..8eab5b3a8b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/fragments/ContactSelectionListLoader.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/fragments/ContactSelectionListLoader.kt @@ -3,7 +3,7 @@ package org.thoughtcrime.securesms.loki.fragments import android.content.Context import network.loki.messenger.R import org.thoughtcrime.securesms.loki.utilities.ContactUtilities -import org.session.libsession.messaging.threads.recipients.Recipient +import org.session.libsession.utilities.recipients.Recipient import org.thoughtcrime.securesms.util.AsyncLoader sealed class ContactSelectionListItem { diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/protocol/ClosedGroupsProtocolV2.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/protocol/ClosedGroupsProtocolV2.kt index b3f5b18925..1ac34bc1e7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/protocol/ClosedGroupsProtocolV2.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/protocol/ClosedGroupsProtocolV2.kt @@ -18,9 +18,9 @@ import org.thoughtcrime.securesms.loki.api.LokiPushNotificationManager import org.thoughtcrime.securesms.loki.api.LokiPushNotificationManager.ClosedGroupOperation import org.thoughtcrime.securesms.loki.database.LokiAPIDatabase -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.utilities.Address +import org.session.libsession.utilities.GroupRecord +import org.session.libsession.utilities.recipients.Recipient import org.session.libsession.utilities.GroupUtil import org.session.libsession.utilities.TextSecurePreferences diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/protocol/MultiDeviceProtocol.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/protocol/MultiDeviceProtocol.kt index c7ba42ecf5..e9e88215ea 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/protocol/MultiDeviceProtocol.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/protocol/MultiDeviceProtocol.kt @@ -6,7 +6,7 @@ import org.session.libsession.messaging.MessagingModuleConfiguration import org.session.libsession.messaging.messages.Destination import org.session.libsession.messaging.messages.control.ConfigurationMessage import org.session.libsession.messaging.sending_receiving.MessageSender -import org.session.libsession.messaging.threads.Address +import org.session.libsession.utilities.Address import org.session.libsession.utilities.TextSecurePreferences import org.thoughtcrime.securesms.loki.utilities.ContactUtilities diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/protocol/SessionMetaProtocol.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/protocol/SessionMetaProtocol.kt index 3886ce8230..c1145c5f49 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/protocol/SessionMetaProtocol.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/protocol/SessionMetaProtocol.kt @@ -2,10 +2,10 @@ package org.thoughtcrime.securesms.loki.protocol import android.content.Context import org.thoughtcrime.securesms.ApplicationContext -import org.session.libsession.messaging.threads.Address +import org.session.libsession.utilities.Address import org.thoughtcrime.securesms.database.DatabaseFactory import org.thoughtcrime.securesms.jobs.RetrieveProfileAvatarJob -import org.session.libsession.messaging.threads.recipients.Recipient +import org.session.libsession.utilities.recipients.Recipient import org.session.libsession.utilities.TextSecurePreferences import org.session.libsignal.messages.SignalServiceContent import org.session.libsignal.messages.SignalServiceDataMessage diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/utilities/ContactUtilities.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/utilities/ContactUtilities.kt index bab2fdfb55..39a5c68c67 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/utilities/ContactUtilities.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/utilities/ContactUtilities.kt @@ -2,7 +2,7 @@ package org.thoughtcrime.securesms.loki.utilities import android.content.Context import org.thoughtcrime.securesms.database.DatabaseFactory -import org.session.libsession.messaging.threads.recipients.Recipient +import org.session.libsession.utilities.recipients.Recipient object ContactUtilities { diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/utilities/NotificationUtilities.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/utilities/NotificationUtilities.kt index ca0e711d97..7db784d8ca 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/utilities/NotificationUtilities.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/utilities/NotificationUtilities.kt @@ -3,7 +3,7 @@ package org.thoughtcrime.securesms.loki.utilities import android.content.Context import org.thoughtcrime.securesms.database.DatabaseFactory -import org.session.libsession.messaging.threads.recipients.Recipient +import org.session.libsession.utilities.recipients.Recipient fun getOpenGroupDisplayName(recipient: Recipient, threadRecipient: Recipient, context: Context): String { val threadID = DatabaseFactory.getThreadDatabase(context).getOrCreateThreadIdFor(threadRecipient) diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/utilities/OpenGroupUtilities.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/utilities/OpenGroupUtilities.kt index 66d7263747..fa0d7a82e2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/utilities/OpenGroupUtilities.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/utilities/OpenGroupUtilities.kt @@ -8,10 +8,10 @@ import org.session.libsession.messaging.open_groups.OpenGroup import org.session.libsession.messaging.open_groups.OpenGroupAPI import org.session.libsession.messaging.open_groups.OpenGroupAPIV2 import org.session.libsession.messaging.open_groups.OpenGroupV2 -import org.session.libsession.messaging.threads.recipients.Recipient +import org.session.libsession.utilities.recipients.Recipient import org.session.libsession.utilities.GroupUtil import org.session.libsession.utilities.TextSecurePreferences -import org.session.libsession.utilities.preferences.ProfileKeyUtil +import org.session.libsession.utilities.ProfileKeyUtil import org.thoughtcrime.securesms.ApplicationContext import org.thoughtcrime.securesms.database.DatabaseFactory import org.thoughtcrime.securesms.groups.GroupManager diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/views/ProfilePictureView.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/views/ProfilePictureView.kt index acfa2470da..fbc469379e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/views/ProfilePictureView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/views/ProfilePictureView.kt @@ -10,10 +10,10 @@ import androidx.annotation.DimenRes import com.bumptech.glide.load.engine.DiskCacheStrategy import kotlinx.android.synthetic.main.view_profile_picture.view.* import network.loki.messenger.R -import org.session.libsession.messaging.avatars.ProfileContactPhoto +import org.session.libsession.avatars.ProfileContactPhoto import org.session.libsession.messaging.mentions.MentionsManager -import org.session.libsession.messaging.threads.Address -import org.session.libsession.messaging.threads.recipients.Recipient +import org.session.libsession.utilities.Address +import org.session.libsession.utilities.recipients.Recipient import org.session.libsession.utilities.TextSecurePreferences import org.thoughtcrime.securesms.database.DatabaseFactory import org.thoughtcrime.securesms.loki.utilities.AvatarPlaceholderGenerator diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/views/UserView.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/views/UserView.kt index 19642a6c87..193bd1bd29 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/views/UserView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/views/UserView.kt @@ -11,7 +11,7 @@ import network.loki.messenger.R import org.thoughtcrime.securesms.database.DatabaseFactory import org.thoughtcrime.securesms.loki.utilities.MentionManagerUtilities import org.thoughtcrime.securesms.mms.GlideRequests -import org.session.libsession.messaging.threads.recipients.Recipient +import org.session.libsession.utilities.recipients.Recipient class UserView : LinearLayout { var openGroupThreadID: Long = -1 // FIXME: This is a bit ugly diff --git a/app/src/main/java/org/thoughtcrime/securesms/longmessage/LongMessageActivity.java b/app/src/main/java/org/thoughtcrime/securesms/longmessage/LongMessageActivity.java index 2c37a56ea6..d3c683dd46 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/longmessage/LongMessageActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/longmessage/LongMessageActivity.java @@ -24,12 +24,12 @@ import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity; import org.thoughtcrime.securesms.components.ConversationItemFooter; import org.thoughtcrime.securesms.linkpreview.LinkPreviewUtil; -import org.session.libsession.messaging.threads.Address; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.Address; +import org.session.libsession.utilities.recipients.Recipient; import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsession.utilities.ThemeUtil; import org.session.libsession.utilities.Util; -import org.session.libsession.utilities.views.Stub; +import org.session.libsession.utilities.Stub; import java.util.Locale; diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/MediaPickerFolderFragment.java b/app/src/main/java/org/thoughtcrime/securesms/mediasend/MediaPickerFolderFragment.java index ff1248a679..b64e837b5a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/MediaPickerFolderFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/MediaPickerFolderFragment.java @@ -20,7 +20,7 @@ import android.view.ViewGroup; import android.view.WindowManager; import org.thoughtcrime.securesms.mms.GlideApp; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import org.session.libsignal.utilities.guava.Optional; import network.loki.messenger.R; diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/MediaSendActivity.java b/app/src/main/java/org/thoughtcrime/securesms/mediasend/MediaSendActivity.java index 73fe916812..d2b36a6892 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/MediaSendActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/MediaSendActivity.java @@ -28,8 +28,8 @@ import org.thoughtcrime.securesms.permissions.Permissions; import org.thoughtcrime.securesms.providers.BlobProvider; import org.thoughtcrime.securesms.scribbles.ImageEditorFragment; -import org.session.libsession.messaging.threads.Address; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.Address; +import org.session.libsession.utilities.recipients.Recipient; import org.session.libsession.utilities.concurrent.SimpleTask; import org.session.libsession.utilities.Util; diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/MediaSendFragment.java b/app/src/main/java/org/thoughtcrime/securesms/mediasend/MediaSendFragment.java index 91820bf40a..0df65497c8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/MediaSendFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/MediaSendFragment.java @@ -42,7 +42,7 @@ import org.session.libsignal.utilities.Log; import org.thoughtcrime.securesms.mediapreview.MediaRailAdapter; import org.thoughtcrime.securesms.mms.GlideApp; import org.thoughtcrime.securesms.providers.BlobProvider; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import org.thoughtcrime.securesms.scribbles.ImageEditorFragment; import org.thoughtcrime.securesms.util.CharacterCalculator.CharacterState; import org.thoughtcrime.securesms.util.PushCharacterCalculator; @@ -51,7 +51,7 @@ import org.session.libsignal.utilities.guava.Optional; import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsession.utilities.Util; -import org.session.libsession.utilities.views.Stub; +import org.session.libsession.utilities.Stub; import org.session.libsignal.utilities.ListenableFuture; import org.session.libsignal.utilities.SettableFuture; diff --git a/app/src/main/java/org/thoughtcrime/securesms/mms/AttachmentManager.java b/app/src/main/java/org/thoughtcrime/securesms/mms/AttachmentManager.java index f172f23155..dcac22909c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mms/AttachmentManager.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mms/AttachmentManager.java @@ -54,10 +54,10 @@ import org.thoughtcrime.securesms.util.MediaUtil; import org.session.libsignal.utilities.guava.Optional; import org.session.libsession.messaging.sending_receiving.attachments.Attachment; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import org.session.libsession.utilities.ThemeUtil; import org.session.libsession.utilities.ViewUtil; -import org.session.libsession.utilities.views.Stub; +import org.session.libsession.utilities.Stub; import org.session.libsignal.utilities.ListenableFuture; import org.session.libsignal.utilities.ListenableFuture.Listener; import org.session.libsignal.utilities.SettableFuture; diff --git a/app/src/main/java/org/thoughtcrime/securesms/mms/QuoteId.java b/app/src/main/java/org/thoughtcrime/securesms/mms/QuoteId.java index 39f4a71faa..06cb3175b6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mms/QuoteId.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mms/QuoteId.java @@ -5,7 +5,7 @@ import androidx.annotation.Nullable; import org.json.JSONException; import org.json.JSONObject; -import org.session.libsession.messaging.threads.Address; +import org.session.libsession.utilities.Address; import org.thoughtcrime.securesms.database.model.MessageRecord; import org.session.libsignal.utilities.Log; diff --git a/app/src/main/java/org/thoughtcrime/securesms/mms/SignalGlideModule.java b/app/src/main/java/org/thoughtcrime/securesms/mms/SignalGlideModule.java index 1d03cfb2f1..e49b2333df 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mms/SignalGlideModule.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mms/SignalGlideModule.java @@ -20,7 +20,7 @@ import com.bumptech.glide.load.resource.gif.GifDrawable; import com.bumptech.glide.load.resource.gif.StreamGifDecoder; import com.bumptech.glide.module.AppGlideModule; -import org.session.libsession.messaging.avatars.ContactPhoto; +import org.session.libsession.avatars.ContactPhoto; import org.thoughtcrime.securesms.crypto.AttachmentSecret; import org.thoughtcrime.securesms.crypto.AttachmentSecretProvider; import org.thoughtcrime.securesms.giph.model.ChunkedImageUrl; diff --git a/app/src/main/java/org/thoughtcrime/securesms/notifications/AbstractNotificationBuilder.java b/app/src/main/java/org/thoughtcrime/securesms/notifications/AbstractNotificationBuilder.java index 204c489136..89296691fa 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/notifications/AbstractNotificationBuilder.java +++ b/app/src/main/java/org/thoughtcrime/securesms/notifications/AbstractNotificationBuilder.java @@ -11,9 +11,9 @@ import android.text.SpannableStringBuilder; import android.text.TextUtils; import network.loki.messenger.R; -import org.session.libsession.utilities.preferences.NotificationPrivacyPreference; -import org.session.libsession.messaging.threads.recipients.Recipient; -import org.session.libsession.messaging.threads.recipients.Recipient.*; +import org.session.libsession.utilities.NotificationPrivacyPreference; +import org.session.libsession.utilities.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient.*; import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsession.utilities.Util; diff --git a/app/src/main/java/org/thoughtcrime/securesms/notifications/AndroidAutoReplyReceiver.java b/app/src/main/java/org/thoughtcrime/securesms/notifications/AndroidAutoReplyReceiver.java index e0d600e99d..d76071399f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/notifications/AndroidAutoReplyReceiver.java +++ b/app/src/main/java/org/thoughtcrime/securesms/notifications/AndroidAutoReplyReceiver.java @@ -28,12 +28,12 @@ import androidx.core.app.RemoteInput; import org.session.libsession.messaging.messages.visible.VisibleMessage; import org.session.libsession.messaging.sending_receiving.MessageSender; import org.thoughtcrime.securesms.ApplicationContext; -import org.session.libsession.messaging.threads.Address; +import org.session.libsession.utilities.Address; import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.database.MessagingDatabase.MarkedMessageInfo; import org.thoughtcrime.securesms.mms.MmsException; import org.session.libsession.messaging.messages.signal.OutgoingMediaMessage; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import org.session.libsession.messaging.messages.signal.OutgoingTextMessage; import org.session.libsignal.utilities.Log; diff --git a/app/src/main/java/org/thoughtcrime/securesms/notifications/DefaultMessageNotifier.java b/app/src/main/java/org/thoughtcrime/securesms/notifications/DefaultMessageNotifier.java index a0770d2d7c..d5ab94c1a0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/notifications/DefaultMessageNotifier.java +++ b/app/src/main/java/org/thoughtcrime/securesms/notifications/DefaultMessageNotifier.java @@ -40,8 +40,8 @@ import androidx.core.app.NotificationCompat; import androidx.core.app.NotificationManagerCompat; import org.session.libsession.messaging.sending_receiving.notifications.MessageNotifier; -import org.session.libsession.messaging.sending_receiving.sharecontacts.Contact; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.Contact; +import org.session.libsession.utilities.recipients.Recipient; import org.session.libsession.utilities.ServiceUtil; import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsignal.utilities.Util; diff --git a/app/src/main/java/org/thoughtcrime/securesms/notifications/FailedNotificationBuilder.java b/app/src/main/java/org/thoughtcrime/securesms/notifications/FailedNotificationBuilder.java index 333d00e00a..1ffd74be63 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/notifications/FailedNotificationBuilder.java +++ b/app/src/main/java/org/thoughtcrime/securesms/notifications/FailedNotificationBuilder.java @@ -6,8 +6,8 @@ import android.content.Intent; import android.graphics.BitmapFactory; import network.loki.messenger.R; -import org.session.libsession.messaging.threads.recipients.Recipient; -import org.session.libsession.utilities.preferences.NotificationPrivacyPreference; +import org.session.libsession.utilities.recipients.Recipient; +import org.session.libsession.utilities.NotificationPrivacyPreference; public class FailedNotificationBuilder extends AbstractNotificationBuilder { diff --git a/app/src/main/java/org/thoughtcrime/securesms/notifications/MarkReadReceiver.java b/app/src/main/java/org/thoughtcrime/securesms/notifications/MarkReadReceiver.java index 8483694af3..3df423a6de 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/notifications/MarkReadReceiver.java +++ b/app/src/main/java/org/thoughtcrime/securesms/notifications/MarkReadReceiver.java @@ -15,7 +15,7 @@ import org.session.libsession.messaging.messages.control.ReadReceipt; import org.session.libsession.messaging.sending_receiving.MessageSender; import org.session.libsession.utilities.TextSecurePreferences; import org.thoughtcrime.securesms.ApplicationContext; -import org.session.libsession.messaging.threads.Address; +import org.session.libsession.utilities.Address; import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.database.MessagingDatabase.ExpirationInfo; import org.thoughtcrime.securesms.database.MessagingDatabase.MarkedMessageInfo; diff --git a/app/src/main/java/org/thoughtcrime/securesms/notifications/MultipleRecipientNotificationBuilder.java b/app/src/main/java/org/thoughtcrime/securesms/notifications/MultipleRecipientNotificationBuilder.java index ef285d1bb7..9527282d39 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/notifications/MultipleRecipientNotificationBuilder.java +++ b/app/src/main/java/org/thoughtcrime/securesms/notifications/MultipleRecipientNotificationBuilder.java @@ -11,8 +11,8 @@ import android.text.SpannableStringBuilder; import org.thoughtcrime.securesms.loki.activities.HomeActivity; import org.thoughtcrime.securesms.loki.utilities.NotificationUtilities; -import org.session.libsession.utilities.preferences.NotificationPrivacyPreference; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.NotificationPrivacyPreference; +import org.session.libsession.utilities.recipients.Recipient; import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsession.utilities.Util; diff --git a/app/src/main/java/org/thoughtcrime/securesms/notifications/NotificationChannels.java b/app/src/main/java/org/thoughtcrime/securesms/notifications/NotificationChannels.java index 335e857c2b..74cb8dd2b8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/notifications/NotificationChannels.java +++ b/app/src/main/java/org/thoughtcrime/securesms/notifications/NotificationChannels.java @@ -22,11 +22,11 @@ import com.annimon.stream.Stream; import network.loki.messenger.BuildConfig; import network.loki.messenger.R; -import org.session.libsession.messaging.threads.Address; +import org.session.libsession.utilities.Address; import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.database.RecipientDatabase; -import org.session.libsession.messaging.threads.recipients.Recipient; -import org.session.libsession.messaging.threads.recipients.Recipient.*; +import org.session.libsession.utilities.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient.*; import org.session.libsession.utilities.ServiceUtil; import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsignal.utilities.Log; diff --git a/app/src/main/java/org/thoughtcrime/securesms/notifications/NotificationItem.java b/app/src/main/java/org/thoughtcrime/securesms/notifications/NotificationItem.java index 63b11231cf..e92f62aa44 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/notifications/NotificationItem.java +++ b/app/src/main/java/org/thoughtcrime/securesms/notifications/NotificationItem.java @@ -10,7 +10,7 @@ import androidx.core.app.TaskStackBuilder; import org.thoughtcrime.securesms.conversation.ConversationActivity; import org.thoughtcrime.securesms.mms.SlideDeck; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; public class NotificationItem { diff --git a/app/src/main/java/org/thoughtcrime/securesms/notifications/NotificationState.java b/app/src/main/java/org/thoughtcrime/securesms/notifications/NotificationState.java index dc000650d5..9330ec9e37 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/notifications/NotificationState.java +++ b/app/src/main/java/org/thoughtcrime/securesms/notifications/NotificationState.java @@ -10,8 +10,8 @@ import androidx.annotation.Nullable; import org.thoughtcrime.securesms.conversation.ConversationActivity; import org.thoughtcrime.securesms.conversation.ConversationPopupActivity; import org.session.libsignal.utilities.Log; -import org.session.libsession.messaging.threads.recipients.Recipient; -import org.session.libsession.messaging.threads.recipients.Recipient.*; +import org.session.libsession.utilities.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient.*; import java.util.LinkedHashSet; import java.util.LinkedList; diff --git a/app/src/main/java/org/thoughtcrime/securesms/notifications/OptimizedMessageNotifier.java b/app/src/main/java/org/thoughtcrime/securesms/notifications/OptimizedMessageNotifier.java index 02250be314..fcf7eb0a31 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/notifications/OptimizedMessageNotifier.java +++ b/app/src/main/java/org/thoughtcrime/securesms/notifications/OptimizedMessageNotifier.java @@ -8,7 +8,7 @@ import androidx.annotation.NonNull; import org.session.libsession.messaging.sending_receiving.notifications.MessageNotifier; import org.session.libsession.messaging.sending_receiving.pollers.Poller; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import org.session.libsession.utilities.Debouncer; import org.session.libsignal.utilities.ThreadUtils; import org.thoughtcrime.securesms.ApplicationContext; diff --git a/app/src/main/java/org/thoughtcrime/securesms/notifications/PendingMessageNotificationBuilder.java b/app/src/main/java/org/thoughtcrime/securesms/notifications/PendingMessageNotificationBuilder.java index 10d1435c19..efd040a26d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/notifications/PendingMessageNotificationBuilder.java +++ b/app/src/main/java/org/thoughtcrime/securesms/notifications/PendingMessageNotificationBuilder.java @@ -6,9 +6,9 @@ import android.content.Context; import android.content.Intent; import androidx.core.app.NotificationCompat; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import org.thoughtcrime.securesms.loki.activities.HomeActivity; -import org.session.libsession.utilities.preferences.NotificationPrivacyPreference; +import org.session.libsession.utilities.NotificationPrivacyPreference; import org.session.libsession.utilities.TextSecurePreferences; import network.loki.messenger.R; diff --git a/app/src/main/java/org/thoughtcrime/securesms/notifications/RemoteReplyReceiver.java b/app/src/main/java/org/thoughtcrime/securesms/notifications/RemoteReplyReceiver.java index d6100876bd..92ef8fd97c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/notifications/RemoteReplyReceiver.java +++ b/app/src/main/java/org/thoughtcrime/securesms/notifications/RemoteReplyReceiver.java @@ -30,12 +30,12 @@ import org.session.libsession.messaging.messages.visible.VisibleMessage; import org.session.libsession.messaging.sending_receiving.MessageSender; import org.session.libsignal.utilities.Log; import org.thoughtcrime.securesms.ApplicationContext; -import org.session.libsession.messaging.threads.Address; +import org.session.libsession.utilities.Address; import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.database.MessagingDatabase.MarkedMessageInfo; import org.thoughtcrime.securesms.mms.MmsException; import org.session.libsession.messaging.messages.signal.OutgoingMediaMessage; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import java.util.Collections; import java.util.List; diff --git a/app/src/main/java/org/thoughtcrime/securesms/notifications/ReplyMethod.java b/app/src/main/java/org/thoughtcrime/securesms/notifications/ReplyMethod.java index 577f029624..be2ab1d31d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/notifications/ReplyMethod.java +++ b/app/src/main/java/org/thoughtcrime/securesms/notifications/ReplyMethod.java @@ -3,7 +3,7 @@ package org.thoughtcrime.securesms.notifications; import android.content.Context; import androidx.annotation.NonNull; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; public enum ReplyMethod { diff --git a/app/src/main/java/org/thoughtcrime/securesms/notifications/SingleRecipientNotificationBuilder.java b/app/src/main/java/org/thoughtcrime/securesms/notifications/SingleRecipientNotificationBuilder.java index c777d507d9..0ed628034f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/notifications/SingleRecipientNotificationBuilder.java +++ b/app/src/main/java/org/thoughtcrime/securesms/notifications/SingleRecipientNotificationBuilder.java @@ -25,9 +25,9 @@ import androidx.core.app.RemoteInput; import com.bumptech.glide.load.engine.DiskCacheStrategy; -import org.session.libsession.messaging.avatars.ContactColors; -import org.session.libsession.messaging.avatars.ContactPhoto; -import org.session.libsession.messaging.avatars.GeneratedContactPhoto; +import org.session.libsession.avatars.ContactColors; +import org.session.libsession.avatars.ContactPhoto; +import org.session.libsession.avatars.GeneratedContactPhoto; import org.session.libsignal.utilities.Log; import org.thoughtcrime.securesms.loki.utilities.AvatarPlaceholderGenerator; import org.thoughtcrime.securesms.loki.utilities.NotificationUtilities; @@ -35,8 +35,8 @@ import org.thoughtcrime.securesms.mms.DecryptableStreamUriLoader; import org.thoughtcrime.securesms.mms.GlideApp; import org.thoughtcrime.securesms.mms.Slide; import org.thoughtcrime.securesms.mms.SlideDeck; -import org.session.libsession.utilities.preferences.NotificationPrivacyPreference; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.NotificationPrivacyPreference; +import org.session.libsession.utilities.recipients.Recipient; import org.thoughtcrime.securesms.util.BitmapUtil; import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsession.utilities.Util; diff --git a/app/src/main/java/org/thoughtcrime/securesms/search/SearchRepository.java b/app/src/main/java/org/thoughtcrime/securesms/search/SearchRepository.java index 6ff68b87ee..df4cb1d174 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/search/SearchRepository.java +++ b/app/src/main/java/org/thoughtcrime/securesms/search/SearchRepository.java @@ -9,14 +9,14 @@ import android.text.TextUtils; import com.annimon.stream.Stream; import org.thoughtcrime.securesms.contacts.ContactAccessor; -import org.session.libsession.messaging.threads.Address; +import org.session.libsession.utilities.Address; import org.thoughtcrime.securesms.database.CursorList; import org.thoughtcrime.securesms.database.MmsSmsColumns; import org.thoughtcrime.securesms.database.SearchDatabase; import org.thoughtcrime.securesms.database.ThreadDatabase; import org.thoughtcrime.securesms.database.model.ThreadRecord; import org.session.libsignal.utilities.Log; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import org.thoughtcrime.securesms.search.model.MessageResult; import org.thoughtcrime.securesms.search.model.SearchResult; import org.thoughtcrime.securesms.util.Stopwatch; diff --git a/app/src/main/java/org/thoughtcrime/securesms/search/model/MessageResult.java b/app/src/main/java/org/thoughtcrime/securesms/search/model/MessageResult.java index 96daeb317d..4523ab364b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/search/model/MessageResult.java +++ b/app/src/main/java/org/thoughtcrime/securesms/search/model/MessageResult.java @@ -2,7 +2,7 @@ package org.thoughtcrime.securesms.search.model; import androidx.annotation.NonNull; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; /** * Represents a search result for a message. diff --git a/app/src/main/java/org/thoughtcrime/securesms/search/model/SearchResult.java b/app/src/main/java/org/thoughtcrime/securesms/search/model/SearchResult.java index 2bcab9f0fc..c1e40beb4b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/search/model/SearchResult.java +++ b/app/src/main/java/org/thoughtcrime/securesms/search/model/SearchResult.java @@ -6,7 +6,7 @@ import androidx.annotation.NonNull; import org.thoughtcrime.securesms.database.CursorList; import org.thoughtcrime.securesms.database.model.ThreadRecord; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import java.util.List; diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/DirectShareService.java b/app/src/main/java/org/thoughtcrime/securesms/service/DirectShareService.java index 7fe08f764c..ba8d7078f2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/DirectShareService.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/DirectShareService.java @@ -20,7 +20,7 @@ import org.thoughtcrime.securesms.database.ThreadDatabase; import org.thoughtcrime.securesms.database.model.ThreadRecord; import org.session.libsignal.utilities.Log; import org.thoughtcrime.securesms.mms.GlideApp; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import org.thoughtcrime.securesms.util.BitmapUtil; import java.util.LinkedList; diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/ExpiringMessageManager.java b/app/src/main/java/org/thoughtcrime/securesms/service/ExpiringMessageManager.java index 31782f244a..59545c0fa0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/ExpiringMessageManager.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/ExpiringMessageManager.java @@ -6,8 +6,8 @@ import android.content.Context; import org.jetbrains.annotations.NotNull; import org.session.libsession.messaging.messages.control.ExpirationTimerUpdate; import org.session.libsession.messaging.messages.signal.OutgoingExpirationUpdateMessage; -import org.session.libsession.messaging.threads.Address; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.Address; +import org.session.libsession.utilities.recipients.Recipient; import org.session.libsession.utilities.GroupUtil; import org.session.libsession.utilities.SSKEnvironment; import org.session.libsession.utilities.TextSecurePreferences; diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/QuickResponseService.java b/app/src/main/java/org/thoughtcrime/securesms/service/QuickResponseService.java index 89f218faf6..0f5a3f17a6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/QuickResponseService.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/QuickResponseService.java @@ -9,7 +9,7 @@ import android.widget.Toast; import network.loki.messenger.R; import org.session.libsession.messaging.messages.visible.VisibleMessage; -import org.session.libsession.messaging.threads.Address; +import org.session.libsession.utilities.Address; import org.session.libsignal.utilities.Log; import org.session.libsession.messaging.sending_receiving.MessageSender; import org.thoughtcrime.securesms.util.Rfc5724Uri; diff --git a/app/src/main/java/org/thoughtcrime/securesms/sskenvironment/ProfileManager.kt b/app/src/main/java/org/thoughtcrime/securesms/sskenvironment/ProfileManager.kt index 53781d1ab7..ae98e00cbb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/sskenvironment/ProfileManager.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/sskenvironment/ProfileManager.kt @@ -1,11 +1,10 @@ package org.thoughtcrime.securesms.sskenvironment import android.content.Context -import org.session.libsession.messaging.threads.recipients.Recipient +import org.session.libsession.utilities.recipients.Recipient import org.session.libsession.utilities.SSKEnvironment import org.thoughtcrime.securesms.ApplicationContext import org.thoughtcrime.securesms.database.DatabaseFactory -import org.thoughtcrime.securesms.database.RecipientDatabase import org.thoughtcrime.securesms.jobs.RetrieveProfileAvatarJob class ProfileManager: SSKEnvironment.ProfileManagerProtocol { diff --git a/app/src/main/java/org/thoughtcrime/securesms/sskenvironment/ReadReceiptManager.kt b/app/src/main/java/org/thoughtcrime/securesms/sskenvironment/ReadReceiptManager.kt index d5adfe9f15..2fc8c1cbaf 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/sskenvironment/ReadReceiptManager.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/sskenvironment/ReadReceiptManager.kt @@ -1,7 +1,7 @@ package org.thoughtcrime.securesms.sskenvironment import android.content.Context -import org.session.libsession.messaging.threads.Address +import org.session.libsession.utilities.Address import org.session.libsession.utilities.SSKEnvironment import org.session.libsession.utilities.TextSecurePreferences import org.session.libsignal.utilities.Log diff --git a/app/src/main/java/org/thoughtcrime/securesms/sskenvironment/TypingStatusRepository.java b/app/src/main/java/org/thoughtcrime/securesms/sskenvironment/TypingStatusRepository.java index 1bb1b52434..c1d6e53690 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/sskenvironment/TypingStatusRepository.java +++ b/app/src/main/java/org/thoughtcrime/securesms/sskenvironment/TypingStatusRepository.java @@ -10,8 +10,8 @@ import com.annimon.stream.Collectors; import com.annimon.stream.Stream; import org.jetbrains.annotations.NotNull; -import org.session.libsession.messaging.threads.Address; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.Address; +import org.session.libsession.utilities.recipients.Recipient; import org.session.libsession.utilities.SSKEnvironment; import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsession.utilities.Util; diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/CommunicationActions.java b/app/src/main/java/org/thoughtcrime/securesms/util/CommunicationActions.java index 2487d8dba0..418de713cb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/CommunicationActions.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/CommunicationActions.java @@ -14,9 +14,8 @@ import android.widget.Toast; import org.thoughtcrime.securesms.conversation.ConversationActivity; import network.loki.messenger.R; -import org.session.libsession.messaging.threads.Address; import org.thoughtcrime.securesms.database.DatabaseFactory; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; public class CommunicationActions { diff --git a/app/src/test/java/org/thoughtcrime/securesms/recipients/RecipientExporterTest.java b/app/src/test/java/org/thoughtcrime/securesms/recipients/RecipientExporterTest.java index 5cf7df5da5..fef1954038 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/recipients/RecipientExporterTest.java +++ b/app/src/test/java/org/thoughtcrime/securesms/recipients/RecipientExporterTest.java @@ -9,7 +9,7 @@ import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.runners.MockitoJUnitRunner; -import org.session.libsession.messaging.threads.Address; +import org.session.libsession.utilities.Address; import static android.provider.ContactsContract.Intents.Insert.EMAIL; import static android.provider.ContactsContract.Intents.Insert.NAME; diff --git a/build.gradle b/build.gradle index 391d1279dc..4da296022d 100644 --- a/build.gradle +++ b/build.gradle @@ -1,9 +1,7 @@ buildscript { repositories { - mavenLocal() google() mavenCentral() - jcenter() } dependencies { classpath 'com.android.tools.build:gradle:4.1.3' @@ -15,7 +13,8 @@ buildscript { allprojects { repositories { - mavenLocal() + google() + mavenCentral() maven { url "https://raw.github.com/signalapp/maven/master/photoview/releases/" content { @@ -40,27 +39,23 @@ allprojects { includeGroupByRegex "org\\.signal.*" } } - maven { // textdrawable + maven { url 'https://dl.bintray.com/amulyakhare/maven' content { includeGroupByRegex "com\\.amulyakhare.*" } } maven { - url "https://dl.bintray.com/terl/lazysodium-maven" + url "https://dl.bintray.com/terl/lazysodium-maven" content { includeGroupByRegex "com\\.goterl\\.lazycode.*" } } - google() jcenter() maven { url "https://jitpack.io" } } project.ext { - kotlin_version = "1.4.31" - androidBuildToolsVersion = '29.0.3' - androidCompileSdkVersion = 29 // This is also our target SDK. - androidMinSdkVersion = 21 + androidCompileSdkVersion = 30 } } \ No newline at end of file diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle index f05084afb7..2bce14c43b 100644 --- a/buildSrc/build.gradle +++ b/buildSrc/build.gradle @@ -2,6 +2,7 @@ apply plugin: 'java-gradle-plugin' repositories { google() + mavenCentral() } dependencies { diff --git a/gradle.properties b/gradle.properties index 8ffdbfc909..ac70988e49 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ android.useAndroidX=true android.enableJetifier=true org.gradle.jvmargs=-Xmx2048m -kotlinVersion=1.4.20 +kotlinVersion=1.4.32 kovenantVersion=3.3.0 curve25519Version=0.5.0 protobufVersion=2.5.0 diff --git a/libsession/build.gradle b/libsession/build.gradle index 5fc9b4d4bb..1855723bc7 100644 --- a/libsession/build.gradle +++ b/libsession/build.gradle @@ -4,41 +4,18 @@ plugins { } android { - compileSdkVersion 30 - buildToolsVersion '29.0.3' + compileSdkVersion androidCompileSdkVersion - defaultConfig { - minSdkVersion 21 - targetSdkVersion 30 - versionCode 1 - versionName "1.0" - - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - consumerProguardFiles "consumer-rules.pro" - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' - } - } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } - kotlinOptions { - jvmTarget = '1.8' - } } dependencies { - // Local: implementation project(":libsignal") - // Remote: - implementation 'org.greenrobot:eventbus:3.0.0' implementation "com.goterl.lazycode:lazysodium-android:4.2.0@aar" - implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" + implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion" implementation 'androidx.core:core-ktx:1.3.2' implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'com.google.android.material:material:1.2.1' @@ -51,26 +28,16 @@ dependencies { implementation 'com.annimon:stream:1.1.8' implementation 'com.makeramen:roundedimageview:2.1.0' implementation 'com.esotericsoftware:kryo:4.0.1' - - // from libsignal: implementation "com.google.protobuf:protobuf-java:$protobufVersion" - implementation "com.googlecode.libphonenumber:libphonenumber:8.10.7" implementation "com.fasterxml.jackson.core:jackson-databind:$jacksonDatabindVersion" - implementation "org.whispersystems:curve25519-java:$curve25519Version" implementation "com.squareup.okhttp3:okhttp:$okhttpVersion" - implementation "org.threeten:threetenbp:1.3.6" - - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion" implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion" - implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.2" implementation "nl.komponents.kovenant:kovenant:$kovenantVersion" - testImplementation "junit:junit:3.8.2" testImplementation "org.assertj:assertj-core:1.7.1" testImplementation "org.conscrypt:conscrypt-openjdk-uber:2.0.0" - implementation 'org.greenrobot:eventbus:3.0.0' - } \ No newline at end of file diff --git a/libsession/consumer-rules.pro b/libsession/consumer-rules.pro deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/libsession/proguard-rules.pro b/libsession/proguard-rules.pro deleted file mode 100644 index 481bb43481..0000000000 --- a/libsession/proguard-rules.pro +++ /dev/null @@ -1,21 +0,0 @@ -# Add project specific ProGuard rules here. -# You can control the set of applied configuration files using the -# proguardFiles setting in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} - -# Uncomment this to preserve the line number information for -# debugging stack traces. -#-keepattributes SourceFile,LineNumberTable - -# If you keep the line number information, uncomment this to -# hide the original source file name. -#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/libsession/src/main/AndroidManifest.xml b/libsession/src/main/AndroidManifest.xml index 2db4007375..d9af5e1f89 100644 --- a/libsession/src/main/AndroidManifest.xml +++ b/libsession/src/main/AndroidManifest.xml @@ -1,5 +1,2 @@ - - - \ No newline at end of file + \ No newline at end of file diff --git a/libsession/src/main/java/org/session/libsession/messaging/avatars/AvatarHelper.java b/libsession/src/main/java/org/session/libsession/avatars/AvatarHelper.java similarity index 94% rename from libsession/src/main/java/org/session/libsession/messaging/avatars/AvatarHelper.java rename to libsession/src/main/java/org/session/libsession/avatars/AvatarHelper.java index aad0051bbf..1215757f26 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/avatars/AvatarHelper.java +++ b/libsession/src/main/java/org/session/libsession/avatars/AvatarHelper.java @@ -1,4 +1,4 @@ -package org.session.libsession.messaging.avatars; +package org.session.libsession.avatars; import android.content.Context; @@ -7,7 +7,7 @@ import androidx.annotation.Nullable; import com.annimon.stream.Stream; -import org.session.libsession.messaging.threads.Address; +import org.session.libsession.utilities.Address; import java.io.File; import java.io.FileInputStream; diff --git a/libsession/src/main/java/org/session/libsession/messaging/avatars/ContactColors.java b/libsession/src/main/java/org/session/libsession/avatars/ContactColors.java similarity index 87% rename from libsession/src/main/java/org/session/libsession/messaging/avatars/ContactColors.java rename to libsession/src/main/java/org/session/libsession/avatars/ContactColors.java index 8c118cd978..95b720e9ff 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/avatars/ContactColors.java +++ b/libsession/src/main/java/org/session/libsession/avatars/ContactColors.java @@ -1,8 +1,8 @@ -package org.session.libsession.messaging.avatars; +package org.session.libsession.avatars; import androidx.annotation.NonNull; -import org.session.libsession.utilities.color.MaterialColor; +import org.session.libsession.utilities.MaterialColor; import java.util.ArrayList; import java.util.Arrays; diff --git a/libsession/src/main/java/org/session/libsession/messaging/avatars/ContactPhoto.java b/libsession/src/main/java/org/session/libsession/avatars/ContactPhoto.java similarity index 89% rename from libsession/src/main/java/org/session/libsession/messaging/avatars/ContactPhoto.java rename to libsession/src/main/java/org/session/libsession/avatars/ContactPhoto.java index e11eb5f36c..0d256fd38c 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/avatars/ContactPhoto.java +++ b/libsession/src/main/java/org/session/libsession/avatars/ContactPhoto.java @@ -1,4 +1,4 @@ -package org.session.libsession.messaging.avatars; +package org.session.libsession.avatars; import android.content.Context; import android.net.Uri; diff --git a/libsession/src/main/java/org/session/libsession/messaging/avatars/FallbackContactPhoto.java b/libsession/src/main/java/org/session/libsession/avatars/FallbackContactPhoto.java similarity index 83% rename from libsession/src/main/java/org/session/libsession/messaging/avatars/FallbackContactPhoto.java rename to libsession/src/main/java/org/session/libsession/avatars/FallbackContactPhoto.java index c21c0438bd..b2095c5980 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/avatars/FallbackContactPhoto.java +++ b/libsession/src/main/java/org/session/libsession/avatars/FallbackContactPhoto.java @@ -1,4 +1,4 @@ -package org.session.libsession.messaging.avatars; +package org.session.libsession.avatars; import android.content.Context; import android.graphics.drawable.Drawable; diff --git a/libsession/src/main/java/org/session/libsession/messaging/avatars/GeneratedContactPhoto.java b/libsession/src/main/java/org/session/libsession/avatars/GeneratedContactPhoto.java similarity index 98% rename from libsession/src/main/java/org/session/libsession/messaging/avatars/GeneratedContactPhoto.java rename to libsession/src/main/java/org/session/libsession/avatars/GeneratedContactPhoto.java index d3be9cfbf3..0f607d6e33 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/avatars/GeneratedContactPhoto.java +++ b/libsession/src/main/java/org/session/libsession/avatars/GeneratedContactPhoto.java @@ -1,4 +1,4 @@ -package org.session.libsession.messaging.avatars; +package org.session.libsession.avatars; import android.content.Context; import android.graphics.Color; diff --git a/libsession/src/main/java/org/session/libsession/messaging/avatars/GroupRecordContactPhoto.java b/libsession/src/main/java/org/session/libsession/avatars/GroupRecordContactPhoto.java similarity index 89% rename from libsession/src/main/java/org/session/libsession/messaging/avatars/GroupRecordContactPhoto.java rename to libsession/src/main/java/org/session/libsession/avatars/GroupRecordContactPhoto.java index dde2a633fc..bd0edd3449 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/avatars/GroupRecordContactPhoto.java +++ b/libsession/src/main/java/org/session/libsession/avatars/GroupRecordContactPhoto.java @@ -1,4 +1,4 @@ -package org.session.libsession.messaging.avatars; +package org.session.libsession.avatars; import android.content.Context; import android.net.Uri; @@ -7,9 +7,9 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import org.session.libsession.messaging.MessagingModuleConfiguration; -import org.session.libsession.messaging.StorageProtocol; -import org.session.libsession.messaging.threads.Address; -import org.session.libsession.messaging.threads.GroupRecord; +import org.session.libsession.database.StorageProtocol; +import org.session.libsession.utilities.Address; +import org.session.libsession.utilities.GroupRecord; import org.session.libsession.utilities.Conversions; import org.session.libsignal.utilities.guava.Optional; diff --git a/libsession/src/main/java/org/session/libsession/messaging/avatars/ProfileContactPhoto.java b/libsession/src/main/java/org/session/libsession/avatars/ProfileContactPhoto.java similarity index 93% rename from libsession/src/main/java/org/session/libsession/messaging/avatars/ProfileContactPhoto.java rename to libsession/src/main/java/org/session/libsession/avatars/ProfileContactPhoto.java index 19109b86ad..f8675b031f 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/avatars/ProfileContactPhoto.java +++ b/libsession/src/main/java/org/session/libsession/avatars/ProfileContactPhoto.java @@ -1,4 +1,4 @@ -package org.session.libsession.messaging.avatars; +package org.session.libsession.avatars; import android.content.Context; import android.net.Uri; @@ -6,7 +6,7 @@ import android.net.Uri; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import org.session.libsession.messaging.threads.Address; +import org.session.libsession.utilities.Address; import java.io.IOException; import java.io.InputStream; diff --git a/libsession/src/main/java/org/session/libsession/messaging/avatars/ResourceContactPhoto.java b/libsession/src/main/java/org/session/libsession/avatars/ResourceContactPhoto.java similarity index 97% rename from libsession/src/main/java/org/session/libsession/messaging/avatars/ResourceContactPhoto.java rename to libsession/src/main/java/org/session/libsession/avatars/ResourceContactPhoto.java index b419b075e6..2bcd32ac24 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/avatars/ResourceContactPhoto.java +++ b/libsession/src/main/java/org/session/libsession/avatars/ResourceContactPhoto.java @@ -1,4 +1,4 @@ -package org.session.libsession.messaging.avatars; +package org.session.libsession.avatars; import android.content.Context; import android.graphics.Color; diff --git a/libsession/src/main/java/org/session/libsession/messaging/avatars/SystemContactPhoto.java b/libsession/src/main/java/org/session/libsession/avatars/SystemContactPhoto.java similarity index 94% rename from libsession/src/main/java/org/session/libsession/messaging/avatars/SystemContactPhoto.java rename to libsession/src/main/java/org/session/libsession/avatars/SystemContactPhoto.java index 002a61de98..55abfff6e1 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/avatars/SystemContactPhoto.java +++ b/libsession/src/main/java/org/session/libsession/avatars/SystemContactPhoto.java @@ -1,4 +1,4 @@ -package org.session.libsession.messaging.avatars; +package org.session.libsession.avatars; import android.content.Context; import android.net.Uri; @@ -7,7 +7,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import org.session.libsession.messaging.threads.Address; +import org.session.libsession.utilities.Address; import org.session.libsession.utilities.Conversions; import java.io.FileNotFoundException; diff --git a/libsession/src/main/java/org/session/libsession/messaging/avatars/TransparentContactPhoto.java b/libsession/src/main/java/org/session/libsession/avatars/TransparentContactPhoto.java similarity index 91% rename from libsession/src/main/java/org/session/libsession/messaging/avatars/TransparentContactPhoto.java rename to libsession/src/main/java/org/session/libsession/avatars/TransparentContactPhoto.java index 619593b0c8..56f2757e15 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/avatars/TransparentContactPhoto.java +++ b/libsession/src/main/java/org/session/libsession/avatars/TransparentContactPhoto.java @@ -1,4 +1,4 @@ -package org.session.libsession.messaging.avatars; +package org.session.libsession.avatars; import android.content.Context; import android.graphics.drawable.Drawable; diff --git a/libsession/src/main/java/org/session/libsession/database/MessageDataProvider.kt b/libsession/src/main/java/org/session/libsession/database/MessageDataProvider.kt index fef2acf6da..4650afc528 100644 --- a/libsession/src/main/java/org/session/libsession/database/MessageDataProvider.kt +++ b/libsession/src/main/java/org/session/libsession/database/MessageDataProvider.kt @@ -2,7 +2,7 @@ package org.session.libsession.database import org.session.libsession.messaging.open_groups.OpenGroup import org.session.libsession.messaging.sending_receiving.attachments.* -import org.session.libsession.messaging.threads.Address +import org.session.libsession.utilities.Address import org.session.libsession.messaging.utilities.DotNetAPI import org.session.libsignal.messages.SignalServiceAttachmentPointer import org.session.libsignal.messages.SignalServiceAttachmentStream diff --git a/libsession/src/main/java/org/session/libsession/messaging/StorageProtocol.kt b/libsession/src/main/java/org/session/libsession/database/StorageProtocol.kt similarity index 96% rename from libsession/src/main/java/org/session/libsession/messaging/StorageProtocol.kt rename to libsession/src/main/java/org/session/libsession/database/StorageProtocol.kt index ba711f4adb..103448fbbc 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/StorageProtocol.kt +++ b/libsession/src/main/java/org/session/libsession/database/StorageProtocol.kt @@ -1,4 +1,4 @@ -package org.session.libsession.messaging +package org.session.libsession.database import android.content.Context @@ -16,9 +16,9 @@ import org.session.libsession.messaging.sending_receiving.data_extraction.DataEx import org.session.libsession.messaging.sending_receiving.attachments.DatabaseAttachment import org.session.libsession.messaging.sending_receiving.link_preview.LinkPreview import org.session.libsession.messaging.sending_receiving.quotes.QuoteModel -import org.session.libsession.messaging.threads.Address -import org.session.libsession.messaging.threads.GroupRecord -import org.session.libsession.messaging.threads.recipients.Recipient.RecipientSettings +import org.session.libsession.utilities.Address +import org.session.libsession.utilities.GroupRecord +import org.session.libsession.utilities.recipients.Recipient.RecipientSettings import org.session.libsignal.crypto.ecc.ECKeyPair import org.session.libsignal.messages.SignalServiceAttachmentPointer import org.session.libsignal.messages.SignalServiceGroup @@ -92,7 +92,7 @@ interface StorageProtocol { fun removeLastDeletionServerId(room: String, server: String) // Message Handling - fun isDuplicateMessage(timestamp: Long, sender: String): Boolean + fun isDuplicateMessage(timestamp: Long): Boolean fun getReceivedMessageTimestamps(): Set fun addReceivedMessageTimestamp(timestamp: Long) fun removeReceivedMessageTimestamps(timestamps: Set) diff --git a/libsession/src/main/java/org/session/libsession/messaging/MessagingModuleConfiguration.kt b/libsession/src/main/java/org/session/libsession/messaging/MessagingModuleConfiguration.kt index 98a9588332..20b8d49d14 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/MessagingModuleConfiguration.kt +++ b/libsession/src/main/java/org/session/libsession/messaging/MessagingModuleConfiguration.kt @@ -2,19 +2,20 @@ package org.session.libsession.messaging import android.content.Context import org.session.libsession.database.MessageDataProvider +import org.session.libsession.database.StorageProtocol class MessagingModuleConfiguration( - val context: Context, - val storage: StorageProtocol, - val messageDataProvider: MessageDataProvider + val context: Context, + val storage: StorageProtocol, + val messageDataProvider: MessageDataProvider ) { companion object { lateinit var shared: MessagingModuleConfiguration fun configure(context: Context, - storage: StorageProtocol, - messageDataProvider: MessageDataProvider + storage: StorageProtocol, + messageDataProvider: MessageDataProvider ) { if (Companion::shared.isInitialized) { return } shared = MessagingModuleConfiguration(context, storage, messageDataProvider) diff --git a/libsession/src/main/java/org/session/libsession/messaging/jobs/MessageReceiveJob.kt b/libsession/src/main/java/org/session/libsession/messaging/jobs/MessageReceiveJob.kt index 7910861d83..9a2692a97f 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/jobs/MessageReceiveJob.kt +++ b/libsession/src/main/java/org/session/libsession/messaging/jobs/MessageReceiveJob.kt @@ -7,7 +7,7 @@ import org.session.libsession.messaging.sending_receiving.handle import org.session.libsession.messaging.utilities.Data import org.session.libsignal.utilities.Log -class MessageReceiveJob(val data: ByteArray, val isBackgroundPoll: Boolean, val openGroupMessageServerID: Long? = null, val openGroupID: String? = null) : Job { +class MessageReceiveJob(val data: ByteArray, val openGroupMessageServerID: Long? = null, val openGroupID: String? = null) : Job { override var delegate: JobDelegate? = null override var id: String? = null override var failureCount: Int = 0 @@ -69,7 +69,6 @@ class MessageReceiveJob(val data: ByteArray, val isBackgroundPoll: Boolean, val override fun serialize(): Data { val builder = Data.Builder().putByteArray(DATA_KEY, data) - .putBoolean(IS_BACKGROUND_POLL_KEY, isBackgroundPoll) openGroupMessageServerID?.let { builder.putLong(OPEN_GROUP_MESSAGE_SERVER_ID_KEY, it) } openGroupID?.let { builder.putString(OPEN_GROUP_ID_KEY, it) } return builder.build(); @@ -84,7 +83,6 @@ class MessageReceiveJob(val data: ByteArray, val isBackgroundPoll: Boolean, val override fun create(data: Data): MessageReceiveJob { return MessageReceiveJob( data.getByteArray(DATA_KEY), - data.getBoolean(IS_BACKGROUND_POLL_KEY), data.getLong(OPEN_GROUP_MESSAGE_SERVER_ID_KEY), data.getString(OPEN_GROUP_ID_KEY) ) diff --git a/libsession/src/main/java/org/session/libsession/messaging/messages/Destination.kt b/libsession/src/main/java/org/session/libsession/messaging/messages/Destination.kt index cfcd73efe0..9a65978afc 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/messages/Destination.kt +++ b/libsession/src/main/java/org/session/libsession/messaging/messages/Destination.kt @@ -3,7 +3,7 @@ package org.session.libsession.messaging.messages import org.session.libsession.messaging.MessagingModuleConfiguration import org.session.libsession.messaging.open_groups.OpenGroupV2 import org.session.libsession.messaging.open_groups.OpenGroup -import org.session.libsession.messaging.threads.Address +import org.session.libsession.utilities.Address import org.session.libsession.utilities.GroupUtil import org.session.libsignal.utilities.toHexString diff --git a/libsession/src/main/java/org/session/libsession/messaging/messages/control/ClosedGroupControlMessage.kt b/libsession/src/main/java/org/session/libsession/messaging/messages/control/ClosedGroupControlMessage.kt index 0a393608fc..6503582f89 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/messages/control/ClosedGroupControlMessage.kt +++ b/libsession/src/main/java/org/session/libsession/messaging/messages/control/ClosedGroupControlMessage.kt @@ -2,8 +2,8 @@ package org.session.libsession.messaging.messages.control import com.google.protobuf.ByteString import org.session.libsession.messaging.MessagingModuleConfiguration -import org.session.libsession.messaging.threads.Address -import org.session.libsession.messaging.threads.recipients.Recipient +import org.session.libsession.utilities.Address +import org.session.libsession.utilities.recipients.Recipient import org.session.libsession.utilities.GroupUtil import org.session.libsignal.crypto.ecc.DjbECPrivateKey import org.session.libsignal.crypto.ecc.DjbECPublicKey diff --git a/libsession/src/main/java/org/session/libsession/messaging/messages/control/ConfigurationMessage.kt b/libsession/src/main/java/org/session/libsession/messaging/messages/control/ConfigurationMessage.kt index 79fd100a8b..6eefd63c7b 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/messages/control/ConfigurationMessage.kt +++ b/libsession/src/main/java/org/session/libsession/messaging/messages/control/ConfigurationMessage.kt @@ -2,10 +2,10 @@ package org.session.libsession.messaging.messages.control import com.google.protobuf.ByteString import org.session.libsession.messaging.MessagingModuleConfiguration -import org.session.libsession.messaging.threads.Address +import org.session.libsession.utilities.Address import org.session.libsession.utilities.GroupUtil import org.session.libsession.utilities.TextSecurePreferences -import org.session.libsession.utilities.preferences.ProfileKeyUtil +import org.session.libsession.utilities.ProfileKeyUtil import org.session.libsignal.crypto.ecc.DjbECPrivateKey import org.session.libsignal.crypto.ecc.DjbECPublicKey import org.session.libsignal.crypto.ecc.ECKeyPair diff --git a/libsession/src/main/java/org/session/libsession/messaging/messages/signal/IncomingMediaMessage.java b/libsession/src/main/java/org/session/libsession/messaging/messages/signal/IncomingMediaMessage.java index bea675ee44..79cccd2eb1 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/messages/signal/IncomingMediaMessage.java +++ b/libsession/src/main/java/org/session/libsession/messaging/messages/signal/IncomingMediaMessage.java @@ -4,8 +4,8 @@ import org.session.libsession.messaging.messages.visible.VisibleMessage; import org.session.libsession.messaging.sending_receiving.attachments.Attachment; import org.session.libsession.messaging.sending_receiving.attachments.PointerAttachment; import org.session.libsession.messaging.sending_receiving.data_extraction.DataExtractionNotificationInfoMessage; -import org.session.libsession.messaging.sending_receiving.sharecontacts.Contact; -import org.session.libsession.messaging.threads.Address; +import org.session.libsession.utilities.Contact; +import org.session.libsession.utilities.Address; import org.session.libsession.messaging.sending_receiving.link_preview.LinkPreview; import org.session.libsession.messaging.sending_receiving.quotes.QuoteModel; import org.session.libsession.utilities.GroupUtil; diff --git a/libsession/src/main/java/org/session/libsession/messaging/messages/signal/IncomingTextMessage.java b/libsession/src/main/java/org/session/libsession/messaging/messages/signal/IncomingTextMessage.java index ca54a62f71..5ef9179d0e 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/messages/signal/IncomingTextMessage.java +++ b/libsession/src/main/java/org/session/libsession/messaging/messages/signal/IncomingTextMessage.java @@ -7,7 +7,7 @@ import androidx.annotation.Nullable; import org.session.libsession.messaging.messages.visible.OpenGroupInvitation; import org.session.libsession.messaging.messages.visible.VisibleMessage; -import org.session.libsession.messaging.threads.Address; +import org.session.libsession.utilities.Address; import org.session.libsession.messaging.utilities.UpdateMessageData; import org.session.libsession.utilities.GroupUtil; import org.session.libsignal.utilities.guava.Optional; diff --git a/libsession/src/main/java/org/session/libsession/messaging/messages/signal/OutgoingExpirationUpdateMessage.java b/libsession/src/main/java/org/session/libsession/messaging/messages/signal/OutgoingExpirationUpdateMessage.java index b45f33c78f..fe1a4ff009 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/messages/signal/OutgoingExpirationUpdateMessage.java +++ b/libsession/src/main/java/org/session/libsession/messaging/messages/signal/OutgoingExpirationUpdateMessage.java @@ -1,8 +1,8 @@ package org.session.libsession.messaging.messages.signal; import org.session.libsession.messaging.sending_receiving.attachments.Attachment; -import org.session.libsession.messaging.threads.DistributionTypes; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.DistributionTypes; +import org.session.libsession.utilities.recipients.Recipient; import java.util.Collections; import java.util.LinkedList; diff --git a/libsession/src/main/java/org/session/libsession/messaging/messages/signal/OutgoingGroupMediaMessage.java b/libsession/src/main/java/org/session/libsession/messaging/messages/signal/OutgoingGroupMediaMessage.java index d8a213cfcf..43eac8dea9 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/messages/signal/OutgoingGroupMediaMessage.java +++ b/libsession/src/main/java/org/session/libsession/messaging/messages/signal/OutgoingGroupMediaMessage.java @@ -3,12 +3,12 @@ package org.session.libsession.messaging.messages.signal; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import org.session.libsession.messaging.threads.DistributionTypes; +import org.session.libsession.utilities.DistributionTypes; import org.session.libsession.messaging.sending_receiving.attachments.Attachment; -import org.session.libsession.messaging.sending_receiving.sharecontacts.Contact; +import org.session.libsession.utilities.Contact; import org.session.libsession.messaging.sending_receiving.link_preview.LinkPreview; import org.session.libsession.messaging.sending_receiving.quotes.QuoteModel; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import java.util.LinkedList; import java.util.List; diff --git a/libsession/src/main/java/org/session/libsession/messaging/messages/signal/OutgoingMediaMessage.java b/libsession/src/main/java/org/session/libsession/messaging/messages/signal/OutgoingMediaMessage.java index b056bd0c19..a163b667d9 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/messages/signal/OutgoingMediaMessage.java +++ b/libsession/src/main/java/org/session/libsession/messaging/messages/signal/OutgoingMediaMessage.java @@ -4,14 +4,14 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import org.session.libsession.messaging.messages.visible.VisibleMessage; -import org.session.libsession.messaging.threads.DistributionTypes; -import org.session.libsession.database.documents.IdentityKeyMismatch; -import org.session.libsession.database.documents.NetworkFailure; +import org.session.libsession.utilities.DistributionTypes; +import org.session.libsession.utilities.IdentityKeyMismatch; +import org.session.libsession.utilities.NetworkFailure; import org.session.libsession.messaging.sending_receiving.attachments.Attachment; -import org.session.libsession.messaging.sending_receiving.sharecontacts.Contact; +import org.session.libsession.utilities.Contact; import org.session.libsession.messaging.sending_receiving.link_preview.LinkPreview; import org.session.libsession.messaging.sending_receiving.quotes.QuoteModel; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import java.util.Collections; import java.util.LinkedList; diff --git a/libsession/src/main/java/org/session/libsession/messaging/messages/signal/OutgoingSecureMediaMessage.java b/libsession/src/main/java/org/session/libsession/messaging/messages/signal/OutgoingSecureMediaMessage.java index f079914700..907d1a9dda 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/messages/signal/OutgoingSecureMediaMessage.java +++ b/libsession/src/main/java/org/session/libsession/messaging/messages/signal/OutgoingSecureMediaMessage.java @@ -4,10 +4,10 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import org.session.libsession.messaging.sending_receiving.attachments.Attachment; -import org.session.libsession.messaging.sending_receiving.sharecontacts.Contact; +import org.session.libsession.utilities.Contact; import org.session.libsession.messaging.sending_receiving.link_preview.LinkPreview; import org.session.libsession.messaging.sending_receiving.quotes.QuoteModel; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import java.util.Collections; import java.util.List; diff --git a/libsession/src/main/java/org/session/libsession/messaging/messages/signal/OutgoingTextMessage.java b/libsession/src/main/java/org/session/libsession/messaging/messages/signal/OutgoingTextMessage.java index ac5b240404..abc39b662e 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/messages/signal/OutgoingTextMessage.java +++ b/libsession/src/main/java/org/session/libsession/messaging/messages/signal/OutgoingTextMessage.java @@ -2,7 +2,7 @@ package org.session.libsession.messaging.messages.signal; import org.session.libsession.messaging.messages.visible.OpenGroupInvitation; import org.session.libsession.messaging.messages.visible.VisibleMessage; -import org.session.libsession.messaging.threads.recipients.Recipient; +import org.session.libsession.utilities.recipients.Recipient; import org.session.libsession.messaging.utilities.UpdateMessageData; public class OutgoingTextMessage { diff --git a/libsession/src/main/java/org/session/libsession/messaging/messages/visible/VisibleMessage.kt b/libsession/src/main/java/org/session/libsession/messaging/messages/visible/VisibleMessage.kt index 08451f9c39..6fde15d673 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/messages/visible/VisibleMessage.kt +++ b/libsession/src/main/java/org/session/libsession/messaging/messages/visible/VisibleMessage.kt @@ -4,8 +4,8 @@ import com.goterl.lazycode.lazysodium.BuildConfig import org.session.libsession.messaging.MessagingModuleConfiguration import org.session.libsession.messaging.messages.Message import org.session.libsession.messaging.sending_receiving.attachments.DatabaseAttachment -import org.session.libsession.messaging.threads.Address -import org.session.libsession.messaging.threads.recipients.Recipient +import org.session.libsession.utilities.Address +import org.session.libsession.utilities.recipients.Recipient import org.session.libsession.utilities.GroupUtil import org.session.libsignal.protos.SignalServiceProtos import org.session.libsignal.utilities.Log diff --git a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageReceiver.kt b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageReceiver.kt index 3e4d9714e0..29bcfc36c2 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageReceiver.kt +++ b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageReceiver.kt @@ -38,12 +38,6 @@ object MessageReceiver { val isOpenGroupMessage = (openGroupServerID != null) // Parse the envelope val envelope = SignalServiceProtos.Envelope.parseFrom(data) - // If the message failed to process the first time around we retry it later (if the error is retryable). In this case the timestamp - // will already be in the database but we don't want to treat the message as a duplicate. The isRetry flag is a simple workaround - // for this issue. - if (storage.isDuplicateMessage(envelope.timestamp, GroupUtil.doubleEncodeGroupID(envelope.source)) && !isRetry) { - throw Error.DuplicateMessage - } // Decrypt the contents val ciphertext = envelope.content ?: throw Error.NoData var plaintext: ByteArray? = null @@ -90,8 +84,6 @@ object MessageReceiver { else -> throw Error.UnknownEnvelopeType } } - // Don't process the envelope any further if the message has been handled already - if (storage.isDuplicateMessage(envelope.timestamp, sender!!) && !isRetry) throw Error.DuplicateMessage // Don't process the envelope any further if the sender is blocked if (isBlocked(sender!!)) throw Error.SenderBlocked // Parse the proto @@ -119,6 +111,19 @@ object MessageReceiver { var isValid = message.isValid() if (message is VisibleMessage && !isValid && proto.dataMessage.attachmentsCount != 0) { isValid = true } if (!isValid) { throw Error.InvalidMessage } + // If the message failed to process the first time around we retry it later (if the error is retryable). In this case the timestamp + // will already be in the database but we don't want to treat the message as a duplicate. The isRetry flag is a simple workaround + // for this issue. + if (message is ClosedGroupControlMessage && message.kind is ClosedGroupControlMessage.Kind.New) { + // Allow duplicates in this case to avoid the following situation: + // • The app performed a background poll or received a push notification + // • This method was invoked and the received message timestamps table was updated + // • Processing wasn't finished + // • The user doesn't see the new closed group + } else { + if (storage.isDuplicateMessage(envelope.timestamp)) { throw Error.DuplicateMessage } + storage.addReceivedMessageTimestamp(envelope.timestamp) + } // Return return Pair(message, proto) } diff --git a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSender.kt b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSender.kt index 03e8c359ef..d08bcfcfad 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSender.kt +++ b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSender.kt @@ -13,7 +13,7 @@ import org.session.libsession.messaging.messages.control.ConfigurationMessage import org.session.libsession.messaging.messages.control.ExpirationTimerUpdate import org.session.libsession.messaging.messages.visible.* import org.session.libsession.messaging.open_groups.* -import org.session.libsession.messaging.threads.Address +import org.session.libsession.utilities.Address import org.session.libsession.messaging.utilities.MessageWrapper import org.session.libsession.snode.RawResponsePromise import org.session.libsession.snode.SnodeAPI diff --git a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSenderClosedGroupHandler.kt b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSenderClosedGroupHandler.kt index cec3b8c240..aceeda6635 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSenderClosedGroupHandler.kt +++ b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSenderClosedGroupHandler.kt @@ -9,7 +9,7 @@ import org.session.libsession.messaging.MessagingModuleConfiguration import org.session.libsession.messaging.messages.control.ClosedGroupControlMessage import org.session.libsession.messaging.sending_receiving.MessageSender.Error import org.session.libsession.messaging.sending_receiving.notifications.PushNotificationAPI -import org.session.libsession.messaging.threads.Address +import org.session.libsession.utilities.Address import org.session.libsession.utilities.GroupUtil import org.session.libsession.utilities.TextSecurePreferences import org.session.libsignal.crypto.ecc.Curve @@ -54,8 +54,14 @@ fun MessageSender.create(name: String, members: Collection): Promise - val job = MessageReceiveJob(envelope.toByteArray(), false) + val job = MessageReceiveJob(envelope.toByteArray()) JobQueue.shared.add(job) } } diff --git a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/pollers/OpenGroupPoller.kt b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/pollers/OpenGroupPoller.kt index 9c37e1e8b9..d970a74c39 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/pollers/OpenGroupPoller.kt +++ b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/pollers/OpenGroupPoller.kt @@ -9,7 +9,7 @@ import org.session.libsession.messaging.jobs.MessageReceiveJob import org.session.libsession.messaging.open_groups.OpenGroup import org.session.libsession.messaging.open_groups.OpenGroupAPI import org.session.libsession.messaging.open_groups.OpenGroupMessage -import org.session.libsession.messaging.threads.Address +import org.session.libsession.utilities.Address import org.session.libsession.utilities.GroupUtil import org.session.libsignal.protos.SignalServiceProtos.* import org.session.libsignal.utilities.Log @@ -172,7 +172,7 @@ class OpenGroupPoller(private val openGroup: OpenGroup, private val executorServ builder.timestamp = message.timestamp builder.serverTimestamp = message.serverTimestamp val envelope = builder.build() - val job = MessageReceiveJob(envelope.toByteArray(), isBackgroundPoll, messageServerID, openGroup.id) + val job = MessageReceiveJob(envelope.toByteArray(), messageServerID, openGroup.id) Log.d("Loki", "Scheduling Job $job") if (isBackgroundPoll) { job.executeAsync().always { deferred.resolve(Unit) } diff --git a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/pollers/OpenGroupV2Poller.kt b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/pollers/OpenGroupV2Poller.kt index 35d1624231..f0d03e2c29 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/pollers/OpenGroupV2Poller.kt +++ b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/pollers/OpenGroupV2Poller.kt @@ -7,7 +7,7 @@ import org.session.libsession.messaging.jobs.MessageReceiveJob import org.session.libsession.messaging.open_groups.OpenGroupAPIV2 import org.session.libsession.messaging.open_groups.OpenGroupMessageV2 import org.session.libsession.messaging.open_groups.OpenGroupV2 -import org.session.libsession.messaging.threads.Address +import org.session.libsession.utilities.Address import org.session.libsession.utilities.GroupUtil import org.session.libsignal.protos.SignalServiceProtos import org.session.libsignal.utilities.Log @@ -99,7 +99,7 @@ class OpenGroupV2Poller(private val openGroups: List, private val e builder.content = message.toProto().toByteString() builder.timestamp = message.sentTimestamp val envelope = builder.build() - val job = MessageReceiveJob(envelope.toByteArray(), isBackgroundPoll, message.serverID, serverRoomId) + val job = MessageReceiveJob(envelope.toByteArray(), message.serverID, serverRoomId) Log.d("Loki", "Scheduling Job $job") if (isBackgroundPoll) { job.executeAsync() diff --git a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/pollers/Poller.kt b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/pollers/Poller.kt index a2471d1202..b64b96eb59 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/pollers/Poller.kt +++ b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/pollers/Poller.kt @@ -92,7 +92,7 @@ class Poller { } else { val messages = SnodeAPI.parseRawMessagesResponse(rawResponse, snode, userPublicKey) messages.forEach { envelope -> - val job = MessageReceiveJob(envelope.toByteArray(), false) + val job = MessageReceiveJob(envelope.toByteArray()) JobQueue.shared.add(job) } poll(snode, deferred) diff --git a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/quotes/QuoteModel.kt b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/quotes/QuoteModel.kt index fe4d8d6b21..ab47690db5 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/quotes/QuoteModel.kt +++ b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/quotes/QuoteModel.kt @@ -1,7 +1,7 @@ package org.session.libsession.messaging.sending_receiving.quotes import org.session.libsession.messaging.sending_receiving.attachments.Attachment -import org.session.libsession.messaging.threads.Address +import org.session.libsession.utilities.Address class QuoteModel(val id: Long, val author: Address, diff --git a/libsession/src/main/java/org/session/libsession/snode/SnodeAPI.kt b/libsession/src/main/java/org/session/libsession/snode/SnodeAPI.kt index b12c5f3672..3f9115572c 100644 --- a/libsession/src/main/java/org/session/libsession/snode/SnodeAPI.kt +++ b/libsession/src/main/java/org/session/libsession/snode/SnodeAPI.kt @@ -7,7 +7,7 @@ import nl.komponents.kovenant.* import nl.komponents.kovenant.functional.bind import nl.komponents.kovenant.functional.map import org.session.libsession.messaging.utilities.MessageWrapper -import org.session.libsession.snode.utilities.getRandomElement +import org.session.libsignal.crypto.getRandomElement import org.session.libsignal.protos.SignalServiceProtos import org.session.libsignal.utilities.Snode import org.session.libsignal.utilities.HTTP diff --git a/libsession/src/main/java/org/session/libsession/snode/utilities/Random.kt b/libsession/src/main/java/org/session/libsession/snode/utilities/Random.kt deleted file mode 100644 index 72ceee9f3b..0000000000 --- a/libsession/src/main/java/org/session/libsession/snode/utilities/Random.kt +++ /dev/null @@ -1,19 +0,0 @@ -package org.session.libsession.snode.utilities - -import java.security.SecureRandom - -/** - * Uses `SecureRandom` to pick an element from this collection. - */ -fun Collection.getRandomElementOrNull(): T? { - if (isEmpty()) return null - val index = SecureRandom().nextInt(size) // SecureRandom() should be cryptographically secure - return elementAtOrNull(index) -} - -/** - * Uses `SecureRandom` to pick an element from this collection. - */ -fun Collection.getRandomElement(): T { - return getRandomElementOrNull()!! -} diff --git a/libsession/src/main/java/org/session/libsession/messaging/threads/Address.kt b/libsession/src/main/java/org/session/libsession/utilities/Address.kt similarity index 98% rename from libsession/src/main/java/org/session/libsession/messaging/threads/Address.kt rename to libsession/src/main/java/org/session/libsession/utilities/Address.kt index ca2f803ff5..3278907bd7 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/threads/Address.kt +++ b/libsession/src/main/java/org/session/libsession/utilities/Address.kt @@ -1,4 +1,4 @@ -package org.session.libsession.messaging.threads +package org.session.libsession.utilities import android.content.Context import android.os.Parcel @@ -25,8 +25,6 @@ class Address private constructor(address: String) : Parcelable, Comparable = LinkedList
() var admins: List
= LinkedList
() diff --git a/libsession/src/main/java/org/session/libsession/utilities/GroupUtil.kt b/libsession/src/main/java/org/session/libsession/utilities/GroupUtil.kt index 11477637c2..ea82308fff 100644 --- a/libsession/src/main/java/org/session/libsession/utilities/GroupUtil.kt +++ b/libsession/src/main/java/org/session/libsession/utilities/GroupUtil.kt @@ -7,7 +7,6 @@ import kotlin.jvm.Throws object GroupUtil { const val CLOSED_GROUP_PREFIX = "__textsecure_group__!" - const val MMS_GROUP_PREFIX = "__signal_mms_group__!" const val OPEN_GROUP_PREFIX = "__loki_public_chat_group__!" @JvmStatic @@ -20,11 +19,6 @@ object GroupUtil { return CLOSED_GROUP_PREFIX + Hex.toStringCondensed(groupID) } - @JvmStatic - fun getEncodedMMSGroupID(groupID: ByteArray): String { - return MMS_GROUP_PREFIX + Hex.toStringCondensed(groupID) - } - @JvmStatic fun getEncodedId(group: SignalServiceGroup): String { val groupId = group.groupId @@ -52,12 +46,7 @@ object GroupUtil { } fun isEncodedGroup(groupId: String): Boolean { - return groupId.startsWith(CLOSED_GROUP_PREFIX) || groupId.startsWith(MMS_GROUP_PREFIX) || groupId.startsWith(OPEN_GROUP_PREFIX) - } - - @JvmStatic - fun isMmsGroup(groupId: String): Boolean { - return groupId.startsWith(MMS_GROUP_PREFIX) + return groupId.startsWith(CLOSED_GROUP_PREFIX) || groupId.startsWith(OPEN_GROUP_PREFIX) } @JvmStatic diff --git a/libsession/src/main/java/org/session/libsession/database/documents/IdentityKeyMismatch.java b/libsession/src/main/java/org/session/libsession/utilities/IdentityKeyMismatch.java similarity index 96% rename from libsession/src/main/java/org/session/libsession/database/documents/IdentityKeyMismatch.java rename to libsession/src/main/java/org/session/libsession/utilities/IdentityKeyMismatch.java index 01ee2e3069..f0308daa7d 100644 --- a/libsession/src/main/java/org/session/libsession/database/documents/IdentityKeyMismatch.java +++ b/libsession/src/main/java/org/session/libsession/utilities/IdentityKeyMismatch.java @@ -1,4 +1,4 @@ -package org.session.libsession.database.documents; +package org.session.libsession.utilities; import org.session.libsignal.utilities.Log; @@ -13,7 +13,7 @@ import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import org.session.libsession.messaging.threads.Address; +import org.session.libsession.utilities.Address; import org.session.libsignal.utilities.Base64; import org.session.libsignal.crypto.IdentityKey; import org.session.libsignal.exceptions.InvalidKeyException; diff --git a/libsession/src/main/java/org/session/libsession/database/documents/IdentityKeyMismatchList.java b/libsession/src/main/java/org/session/libsession/utilities/IdentityKeyMismatchList.java similarity index 93% rename from libsession/src/main/java/org/session/libsession/database/documents/IdentityKeyMismatchList.java rename to libsession/src/main/java/org/session/libsession/utilities/IdentityKeyMismatchList.java index e270522de6..e1ea2d26e4 100644 --- a/libsession/src/main/java/org/session/libsession/database/documents/IdentityKeyMismatchList.java +++ b/libsession/src/main/java/org/session/libsession/utilities/IdentityKeyMismatchList.java @@ -1,4 +1,4 @@ -package org.session.libsession.database.documents; +package org.session.libsession.utilities; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/libsession/src/main/java/org/session/libsession/utilities/KeyPairUtilities.kt b/libsession/src/main/java/org/session/libsession/utilities/KeyPairUtilities.kt index 5d52c1175f..3f0152d7b0 100644 --- a/libsession/src/main/java/org/session/libsession/utilities/KeyPairUtilities.kt +++ b/libsession/src/main/java/org/session/libsession/utilities/KeyPairUtilities.kt @@ -53,8 +53,8 @@ object KeyPairUtilities { } data class KeyPairGenerationResult( - val seed: ByteArray, - val ed25519KeyPair: KeyPair, - val x25519KeyPair: ECKeyPair + val seed: ByteArray, + val ed25519KeyPair: KeyPair, + val x25519KeyPair: ECKeyPair ) } \ No newline at end of file diff --git a/libsession/src/main/java/org/session/libsession/utilities/color/MaterialColor.java b/libsession/src/main/java/org/session/libsession/utilities/MaterialColor.java similarity index 99% rename from libsession/src/main/java/org/session/libsession/utilities/color/MaterialColor.java rename to libsession/src/main/java/org/session/libsession/utilities/MaterialColor.java index 31e99f6632..03b54745ad 100644 --- a/libsession/src/main/java/org/session/libsession/utilities/color/MaterialColor.java +++ b/libsession/src/main/java/org/session/libsession/utilities/MaterialColor.java @@ -1,4 +1,4 @@ -package org.session.libsession.utilities.color; +package org.session.libsession.utilities; import android.content.Context; import android.graphics.Color; diff --git a/libsession/src/main/java/org/session/libsession/database/documents/NetworkFailure.java b/libsession/src/main/java/org/session/libsession/utilities/NetworkFailure.java similarity index 86% rename from libsession/src/main/java/org/session/libsession/database/documents/NetworkFailure.java rename to libsession/src/main/java/org/session/libsession/utilities/NetworkFailure.java index 993cf6f832..5d930ef1a9 100644 --- a/libsession/src/main/java/org/session/libsession/database/documents/NetworkFailure.java +++ b/libsession/src/main/java/org/session/libsession/utilities/NetworkFailure.java @@ -1,9 +1,9 @@ -package org.session.libsession.database.documents; +package org.session.libsession.utilities; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; -import org.session.libsession.messaging.threads.Address; +import org.session.libsession.utilities.Address; public class NetworkFailure { diff --git a/libsession/src/main/java/org/session/libsession/database/documents/NetworkFailureList.java b/libsession/src/main/java/org/session/libsession/utilities/NetworkFailureList.java similarity index 93% rename from libsession/src/main/java/org/session/libsession/database/documents/NetworkFailureList.java rename to libsession/src/main/java/org/session/libsession/utilities/NetworkFailureList.java index 9fdea4d7d3..ef5faa6460 100644 --- a/libsession/src/main/java/org/session/libsession/database/documents/NetworkFailureList.java +++ b/libsession/src/main/java/org/session/libsession/utilities/NetworkFailureList.java @@ -1,4 +1,4 @@ -package org.session.libsession.database.documents; +package org.session.libsession.utilities; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/libsession/src/main/java/org/session/libsession/utilities/preferences/NotificationPrivacyPreference.java b/libsession/src/main/java/org/session/libsession/utilities/NotificationPrivacyPreference.java similarity index 87% rename from libsession/src/main/java/org/session/libsession/utilities/preferences/NotificationPrivacyPreference.java rename to libsession/src/main/java/org/session/libsession/utilities/NotificationPrivacyPreference.java index 66352ae083..ee5b5f0a61 100644 --- a/libsession/src/main/java/org/session/libsession/utilities/preferences/NotificationPrivacyPreference.java +++ b/libsession/src/main/java/org/session/libsession/utilities/NotificationPrivacyPreference.java @@ -1,4 +1,4 @@ -package org.session.libsession.utilities.preferences; +package org.session.libsession.utilities; public class NotificationPrivacyPreference { diff --git a/libsession/src/main/java/org/session/libsession/utilities/NumberUtil.kt b/libsession/src/main/java/org/session/libsession/utilities/NumberUtil.kt deleted file mode 100644 index 6a2b969479..0000000000 --- a/libsession/src/main/java/org/session/libsession/utilities/NumberUtil.kt +++ /dev/null @@ -1,19 +0,0 @@ -package org.session.libsession.utilities - -import android.telephony.PhoneNumberUtils -import android.util.Patterns - -object NumberUtil { - private val emailPattern = Patterns.EMAIL_ADDRESS - - @JvmStatic - fun isValidEmail(number: String): Boolean { - val matcher = emailPattern.matcher(number) - return matcher.matches() - } - - @JvmStatic - fun isValidSmsOrEmail(number: String): Boolean { - return PhoneNumberUtils.isWellFormedSmsAddress(number) || isValidEmail(number) - } -} \ No newline at end of file diff --git a/libsession/src/main/java/org/session/libsession/utilities/preferences/ProfileKeyUtil.java b/libsession/src/main/java/org/session/libsession/utilities/ProfileKeyUtil.java similarity index 96% rename from libsession/src/main/java/org/session/libsession/utilities/preferences/ProfileKeyUtil.java rename to libsession/src/main/java/org/session/libsession/utilities/ProfileKeyUtil.java index 3f7646c9ea..9e3842fc67 100644 --- a/libsession/src/main/java/org/session/libsession/utilities/preferences/ProfileKeyUtil.java +++ b/libsession/src/main/java/org/session/libsession/utilities/ProfileKeyUtil.java @@ -1,4 +1,4 @@ -package org.session.libsession.utilities.preferences; +package org.session.libsession.utilities; import android.content.Context; import androidx.annotation.NonNull; diff --git a/libsession/src/main/java/org/session/libsession/utilities/ProfilePictureModifiedEvent.kt b/libsession/src/main/java/org/session/libsession/utilities/ProfilePictureModifiedEvent.kt index 1bfe443253..f06ca2ec0f 100644 --- a/libsession/src/main/java/org/session/libsession/utilities/ProfilePictureModifiedEvent.kt +++ b/libsession/src/main/java/org/session/libsession/utilities/ProfilePictureModifiedEvent.kt @@ -1,5 +1,5 @@ package org.session.libsession.utilities -import org.session.libsession.messaging.threads.recipients.Recipient +import org.session.libsession.utilities.recipients.Recipient data class ProfilePictureModifiedEvent(val recipient: Recipient) \ No newline at end of file diff --git a/libsession/src/main/java/org/session/libsession/utilities/ProfilePictureUtilities.kt b/libsession/src/main/java/org/session/libsession/utilities/ProfilePictureUtilities.kt index 60f4656e3c..df9802417f 100644 --- a/libsession/src/main/java/org/session/libsession/utilities/ProfilePictureUtilities.kt +++ b/libsession/src/main/java/org/session/libsession/utilities/ProfilePictureUtilities.kt @@ -5,7 +5,6 @@ import nl.komponents.kovenant.Promise import nl.komponents.kovenant.deferred import okio.Buffer import org.session.libsession.messaging.file_server.FileServerAPIV2 -import org.session.libsession.utilities.preferences.ProfileKeyUtil import org.session.libsignal.streams.ProfileCipherOutputStream import org.session.libsignal.utilities.ProfileAvatarData import org.session.libsignal.streams.DigestingRequestBody diff --git a/libsession/src/main/java/org/session/libsession/utilities/SSKEnvironment.kt b/libsession/src/main/java/org/session/libsession/utilities/SSKEnvironment.kt index f3a130e847..8cd7913655 100644 --- a/libsession/src/main/java/org/session/libsession/utilities/SSKEnvironment.kt +++ b/libsession/src/main/java/org/session/libsession/utilities/SSKEnvironment.kt @@ -3,15 +3,15 @@ package org.session.libsession.utilities import android.content.Context import org.session.libsession.messaging.messages.control.ExpirationTimerUpdate import org.session.libsession.messaging.sending_receiving.notifications.MessageNotifier -import org.session.libsession.messaging.threads.Address -import org.session.libsession.messaging.threads.recipients.Recipient +import org.session.libsession.utilities.Address +import org.session.libsession.utilities.recipients.Recipient class SSKEnvironment( - val typingIndicators: TypingIndicatorsProtocol, - val readReceiptManager: ReadReceiptManagerProtocol, - val profileManager: ProfileManagerProtocol, - val notificationManager: MessageNotifier, - val messageExpirationManager: MessageExpirationManagerProtocol + val typingIndicators: TypingIndicatorsProtocol, + val readReceiptManager: ReadReceiptManagerProtocol, + val profileManager: ProfileManagerProtocol, + val notificationManager: MessageNotifier, + val messageExpirationManager: MessageExpirationManagerProtocol ) { interface TypingIndicatorsProtocol { diff --git a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/sharecontacts/Selectable.java b/libsession/src/main/java/org/session/libsession/utilities/Selectable.java similarity index 56% rename from libsession/src/main/java/org/session/libsession/messaging/sending_receiving/sharecontacts/Selectable.java rename to libsession/src/main/java/org/session/libsession/utilities/Selectable.java index 308491ebcf..8bb77f6242 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/sharecontacts/Selectable.java +++ b/libsession/src/main/java/org/session/libsession/utilities/Selectable.java @@ -1,4 +1,4 @@ -package org.session.libsession.messaging.sending_receiving.sharecontacts; +package org.session.libsession.utilities; public interface Selectable { void setSelected(boolean selected); diff --git a/libsession/src/main/java/org/session/libsession/utilities/views/Stub.java b/libsession/src/main/java/org/session/libsession/utilities/Stub.java similarity index 89% rename from libsession/src/main/java/org/session/libsession/utilities/views/Stub.java rename to libsession/src/main/java/org/session/libsession/utilities/Stub.java index 292f051247..336877ad52 100644 --- a/libsession/src/main/java/org/session/libsession/utilities/views/Stub.java +++ b/libsession/src/main/java/org/session/libsession/utilities/Stub.java @@ -1,4 +1,4 @@ -package org.session.libsession.utilities.views; +package org.session.libsession.utilities; import android.view.ViewStub; diff --git a/libsession/src/main/java/org/session/libsession/utilities/TextSecurePreferences.kt b/libsession/src/main/java/org/session/libsession/utilities/TextSecurePreferences.kt index bf67c45e9b..9e48d133c4 100644 --- a/libsession/src/main/java/org/session/libsession/utilities/TextSecurePreferences.kt +++ b/libsession/src/main/java/org/session/libsession/utilities/TextSecurePreferences.kt @@ -11,7 +11,6 @@ import kotlinx.coroutines.channels.BufferOverflow import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.flow.asSharedFlow import org.session.libsession.R -import org.session.libsession.utilities.preferences.NotificationPrivacyPreference import org.session.libsignal.utilities.Log import java.io.IOException import java.util.* diff --git a/libsession/src/main/java/org/session/libsession/utilities/ViewUtil.java b/libsession/src/main/java/org/session/libsession/utilities/ViewUtil.java index 202e184ef4..34a0212c63 100644 --- a/libsession/src/main/java/org/session/libsession/utilities/ViewUtil.java +++ b/libsession/src/main/java/org/session/libsession/utilities/ViewUtil.java @@ -38,7 +38,6 @@ import androidx.interpolator.view.animation.FastOutSlowInInterpolator; import org.session.libsignal.utilities.ListenableFuture; import org.session.libsignal.utilities.SettableFuture; -import org.session.libsession.utilities.views.Stub; public class ViewUtil { @SuppressWarnings("deprecation") diff --git a/libsession/src/main/java/org/session/libsession/messaging/threads/recipients/Recipient.java b/libsession/src/main/java/org/session/libsession/utilities/recipients/Recipient.java similarity index 96% rename from libsession/src/main/java/org/session/libsession/messaging/threads/recipients/Recipient.java rename to libsession/src/main/java/org/session/libsession/utilities/recipients/Recipient.java index 6ccb2ded7b..b81222e222 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/threads/recipients/Recipient.java +++ b/libsession/src/main/java/org/session/libsession/utilities/recipients/Recipient.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.session.libsession.messaging.threads.recipients; +package org.session.libsession.utilities.recipients; import android.content.Context; import android.graphics.drawable.Drawable; @@ -29,20 +29,20 @@ import com.annimon.stream.function.Consumer; import org.greenrobot.eventbus.EventBus; import org.session.libsession.messaging.MessagingModuleConfiguration; -import org.session.libsession.messaging.avatars.TransparentContactPhoto; -import org.session.libsession.messaging.threads.Address; -import org.session.libsession.messaging.threads.GroupRecord; -import org.session.libsession.messaging.threads.recipients.RecipientProvider.RecipientDetails; +import org.session.libsession.avatars.TransparentContactPhoto; +import org.session.libsession.utilities.Address; +import org.session.libsession.utilities.GroupRecord; +import org.session.libsession.utilities.recipients.RecipientProvider.RecipientDetails; import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsession.utilities.Util; -import org.session.libsession.utilities.color.MaterialColor; +import org.session.libsession.utilities.MaterialColor; import org.session.libsignal.utilities.Log; import org.session.libsignal.utilities.guava.Optional; -import org.session.libsession.messaging.avatars.ContactColors; -import org.session.libsession.messaging.avatars.ContactPhoto; -import org.session.libsession.messaging.avatars.GroupRecordContactPhoto; -import org.session.libsession.messaging.avatars.ProfileContactPhoto; -import org.session.libsession.messaging.avatars.SystemContactPhoto; +import org.session.libsession.avatars.ContactColors; +import org.session.libsession.avatars.ContactPhoto; +import org.session.libsession.avatars.GroupRecordContactPhoto; +import org.session.libsession.avatars.ProfileContactPhoto; +import org.session.libsession.avatars.SystemContactPhoto; import org.session.libsession.utilities.ProfilePictureModifiedEvent; import org.session.libsession.utilities.FutureTaskListener; import org.session.libsession.utilities.ListenableFutureTask; @@ -289,7 +289,7 @@ public class Recipient implements RecipientModifiedListener { String displayName = MessagingModuleConfiguration.shared.getStorage().getDisplayName(this.address.toString()); if (displayName != null) { return displayName; } - if (this.name == null && isMmsGroupRecipient()) { + if (this.name == null && isGroupRecipient()) { List names = new LinkedList<>(); for (Recipient recipient : participants) { @@ -408,12 +408,8 @@ public class Recipient implements RecipientModifiedListener { return address.isOpenGroup(); } - public boolean isMmsGroupRecipient() { - return address.isMmsGroup(); - } - public boolean isPushGroupRecipient() { - return address.isGroup() && !address.isMmsGroup(); + return address.isGroup(); } public @NonNull synchronized List getParticipants() { @@ -593,7 +589,6 @@ public class Recipient implements RecipientModifiedListener { public synchronized RegisteredState getRegistered() { if (isPushGroupRecipient()) return RegisteredState.REGISTERED; - else if (isMmsGroupRecipient()) return RegisteredState.NOT_REGISTERED; return registered; } diff --git a/libsession/src/main/java/org/session/libsession/messaging/threads/recipients/RecipientExporter.java b/libsession/src/main/java/org/session/libsession/utilities/recipients/RecipientExporter.java similarity index 91% rename from libsession/src/main/java/org/session/libsession/messaging/threads/recipients/RecipientExporter.java rename to libsession/src/main/java/org/session/libsession/utilities/recipients/RecipientExporter.java index 1b6b21f306..f01a8174ae 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/threads/recipients/RecipientExporter.java +++ b/libsession/src/main/java/org/session/libsession/utilities/recipients/RecipientExporter.java @@ -1,10 +1,10 @@ -package org.session.libsession.messaging.threads.recipients; +package org.session.libsession.utilities.recipients; import android.content.Intent; import android.provider.ContactsContract; import android.text.TextUtils; -import org.session.libsession.messaging.threads.Address; +import org.session.libsession.utilities.Address; import static android.content.Intent.ACTION_INSERT_OR_EDIT; diff --git a/libsession/src/main/java/org/session/libsession/messaging/threads/recipients/RecipientFormattingException.java b/libsession/src/main/java/org/session/libsession/utilities/recipients/RecipientFormattingException.java similarity index 93% rename from libsession/src/main/java/org/session/libsession/messaging/threads/recipients/RecipientFormattingException.java rename to libsession/src/main/java/org/session/libsession/utilities/recipients/RecipientFormattingException.java index 2bf8910f3c..514c93da5c 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/threads/recipients/RecipientFormattingException.java +++ b/libsession/src/main/java/org/session/libsession/utilities/recipients/RecipientFormattingException.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.session.libsession.messaging.threads.recipients; +package org.session.libsession.utilities.recipients; public class RecipientFormattingException extends Exception { public RecipientFormattingException(String message) { diff --git a/libsession/src/main/java/org/session/libsession/messaging/threads/recipients/RecipientModifiedListener.java b/libsession/src/main/java/org/session/libsession/utilities/recipients/RecipientModifiedListener.java similarity index 61% rename from libsession/src/main/java/org/session/libsession/messaging/threads/recipients/RecipientModifiedListener.java rename to libsession/src/main/java/org/session/libsession/utilities/recipients/RecipientModifiedListener.java index e3f1b3355f..a537f8fdcb 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/threads/recipients/RecipientModifiedListener.java +++ b/libsession/src/main/java/org/session/libsession/utilities/recipients/RecipientModifiedListener.java @@ -1,4 +1,4 @@ -package org.session.libsession.messaging.threads.recipients; +package org.session.libsession.utilities.recipients; public interface RecipientModifiedListener { diff --git a/libsession/src/main/java/org/session/libsession/messaging/threads/recipients/RecipientProvider.java b/libsession/src/main/java/org/session/libsession/utilities/recipients/RecipientProvider.java similarity index 94% rename from libsession/src/main/java/org/session/libsession/messaging/threads/recipients/RecipientProvider.java rename to libsession/src/main/java/org/session/libsession/utilities/recipients/RecipientProvider.java index d38a70f965..8bbabae97a 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/threads/recipients/RecipientProvider.java +++ b/libsession/src/main/java/org/session/libsession/utilities/recipients/RecipientProvider.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.session.libsession.messaging.threads.recipients; +package org.session.libsession.utilities.recipients; import android.content.Context; import android.net.Uri; @@ -25,13 +25,13 @@ import androidx.annotation.Nullable; import org.session.libsession.messaging.MessagingModuleConfiguration; import org.session.libsignal.utilities.guava.Optional; -import org.session.libsession.utilities.color.MaterialColor; -import org.session.libsession.messaging.threads.Address; -import org.session.libsession.messaging.threads.GroupRecord; -import org.session.libsession.messaging.threads.recipients.Recipient.RecipientSettings; -import org.session.libsession.messaging.threads.recipients.Recipient.RegisteredState; -import org.session.libsession.messaging.threads.recipients.Recipient.UnidentifiedAccessMode; -import org.session.libsession.messaging.threads.recipients.Recipient.VibrateState; +import org.session.libsession.utilities.MaterialColor; +import org.session.libsession.utilities.Address; +import org.session.libsession.utilities.GroupRecord; +import org.session.libsession.utilities.recipients.Recipient.RecipientSettings; +import org.session.libsession.utilities.recipients.Recipient.RegisteredState; +import org.session.libsession.utilities.recipients.Recipient.UnidentifiedAccessMode; +import org.session.libsession.utilities.recipients.Recipient.VibrateState; import org.session.libsession.utilities.ListenableFutureTask; import org.session.libsession.utilities.SoftHashMap; import org.session.libsession.utilities.TextSecurePreferences; @@ -148,10 +148,6 @@ class RecipientProvider { members.add(getRecipient(context, memberAddress, Optional.absent(), Optional.absent(), asynchronous)); } - if (!groupId.isMmsGroup() && title == null) { - title = context.getString(R.string.RecipientProvider_unnamed_group); - } - if (groupRecord.get().getAvatar() != null && groupRecord.get().getAvatar().length > 0) { avatarId = groupRecord.get().getAvatarId(); } diff --git a/libsignal/build.gradle b/libsignal/build.gradle index 46788a95ad..5fa6d19ca2 100644 --- a/libsignal/build.gradle +++ b/libsignal/build.gradle @@ -1,141 +1,26 @@ apply plugin: 'com.android.library' -apply plugin: 'maven' -apply plugin: 'signing' apply plugin: 'kotlin-android' -archivesBaseName = "signal-service-android" -version = "1.0.0" -group = "org.session" - -repositories { - mavenLocal() - google() - jcenter() - mavenCentral() -} - -configurations.all { - resolutionStrategy.cacheChangingModulesFor 0, 'seconds' -} - android { - compileSdkVersion 30 - buildToolsVersion '29.0.3' - - defaultConfig { - minSdkVersion androidMinSdkVersion - targetSdkVersion androidCompileSdkVersion - } + compileSdkVersion androidCompileSdkVersion compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } - - libraryVariants.all { variant -> - variant.outputs.each { output -> - def outputFile = output.outputFile - if (outputFile != null && outputFile.name.endsWith('.aar')) { - def fileName = "${archivesBaseName}-${version}.aar" - output.outputFileName = fileName - } - } - } } dependencies { - implementation "androidx.annotation:annotation:1.1.0" - + implementation "androidx.annotation:annotation:1.2.0" implementation "com.google.protobuf:protobuf-java:$protobufVersion" - implementation "com.googlecode.libphonenumber:libphonenumber:8.10.7" implementation "com.fasterxml.jackson.core:jackson-databind:$jacksonDatabindVersion" - implementation "org.whispersystems:curve25519-java:$curve25519Version" implementation "com.squareup.okhttp3:okhttp:$okhttpVersion" - implementation "org.threeten:threetenbp:1.3.6" - - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlinVersion" + implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion" implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion" - implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9" implementation "nl.komponents.kovenant:kovenant:$kovenantVersion" - testImplementation "junit:junit:3.8.2" testImplementation "org.assertj:assertj-core:1.7.1" testImplementation "org.conscrypt:conscrypt-openjdk-uber:2.0.0" } - -tasks.whenTaskAdded { task -> - if (task.name.equals("lint")) { - task.enabled = false - } -} - -def isReleaseBuild() { - return version.contains("SNAPSHOT") == false -} - -def getReleaseRepositoryUrl() { - return "" -} - -def getRepositoryUsername() { - return "" -} - -def getRepositoryPassword() { - return "" -} - -signing { - required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") } - sign configurations.archives -} - -uploadArchives { - configuration = configurations.archives - repositories.mavenDeployer { - beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } - - repository(url: getReleaseRepositoryUrl()) { - authentication(userName: getRepositoryUsername(), password: getRepositoryPassword()) - } - - pom.project { - name 'signal-service-android' - packaging 'aar' - description 'Signal service communication library for Android' - url 'https://github.com/loki-project/session-android-service' - - scm { - url 'scm:git@github.com:loki-project/session-android-service.git' - connection 'scm:git@github.com:loki-project/session-android-service.git' - developerConnection 'scm:git@github.com:loki-project/session-android-service.git' - } - - licenses { - license { - name 'GPLv3' - url 'https://www.gnu.org/licenses/gpl-3.0.txt' - distribution 'repo' - } - } - - developers { - developer { - name 'Niels Andriesse' - } - } - } - } -} - -task installArchives(type: Upload) { - description "Installs the artifacts to the local Maven repository." - configuration = configurations['archives'] - repositories { - mavenDeployer { - repository url: "file://${System.properties['user.home']}/.m2/repository" - } - } -} \ No newline at end of file diff --git a/libsignal/consumer-rules.pro b/libsignal/consumer-rules.pro deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/libsignal/proguard-rules.pro b/libsignal/proguard-rules.pro deleted file mode 100644 index 481bb43481..0000000000 --- a/libsignal/proguard-rules.pro +++ /dev/null @@ -1,21 +0,0 @@ -# Add project specific ProGuard rules here. -# You can control the set of applied configuration files using the -# proguardFiles setting in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} - -# Uncomment this to preserve the line number information for -# debugging stack traces. -#-keepattributes SourceFile,LineNumberTable - -# If you keep the line number information, uncomment this to -# hide the original source file name. -#-renamesourcefileattribute SourceFile \ No newline at end of file