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