mirror of
https://github.com/oxen-io/session-android.git
synced 2025-02-19 19:18:27 +00:00
WIP fix crashes
This commit is contained in:
parent
9856814904
commit
6fa2c308b5
@ -33,6 +33,7 @@ import com.google.firebase.iid.FirebaseInstanceId;
|
||||
|
||||
import org.conscrypt.Conscrypt;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.session.libsession.messaging.MessagingConfiguration;
|
||||
import org.session.libsession.messaging.contacts.avatars.AvatarHelper;
|
||||
import org.session.libsession.utilities.SSKEnvironment;
|
||||
import org.session.libsession.messaging.sending_receiving.notifications.MessageNotifier;
|
||||
@ -43,6 +44,7 @@ import org.session.libsession.utilities.Util;
|
||||
import org.session.libsession.utilities.dynamiclanguage.LocaleParser;
|
||||
import org.session.libsignal.libsignal.state.SessionRecord;
|
||||
import org.signal.aesgcmprovider.AesGcmProvider;
|
||||
import org.thoughtcrime.securesms.loki.api.SessionProtocolImpl;
|
||||
import org.thoughtcrime.securesms.sskenvironment.ProfileManager;
|
||||
import org.thoughtcrime.securesms.sskenvironment.ReadReceiptManager;
|
||||
import org.thoughtcrime.securesms.sskenvironment.TypingStatusRepository;
|
||||
@ -198,6 +200,11 @@ public class ApplicationContext extends MultiDexApplication implements Dependenc
|
||||
String userPublicKey = TextSecurePreferences.getLocalNumber(this);
|
||||
SessionResetImplementation sessionResetImpl = new SessionResetImplementation(this);
|
||||
SharedSenderKeysImplementation.Companion.configureIfNeeded(sskDatabase, this);
|
||||
MessagingConfiguration.Companion.configure(this,
|
||||
DatabaseFactory.getStorage(this),
|
||||
sskDatabase,
|
||||
DatabaseFactory.getAttachmentProvider(this),
|
||||
new SessionProtocolImpl(this));
|
||||
if (userPublicKey != null) {
|
||||
SwarmAPI.Companion.configureIfNeeded(apiDB);
|
||||
SnodeAPI.Companion.configureIfNeeded(userPublicKey, apiDB, broadcaster);
|
||||
|
@ -9,8 +9,6 @@ import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||||
|
||||
import network.loki.messenger.R;
|
||||
|
||||
public class LinkPreviewsIntroFragment extends Fragment {
|
||||
|
@ -22,6 +22,7 @@ import androidx.annotation.NonNull;
|
||||
|
||||
import net.sqlcipher.database.SQLiteDatabase;
|
||||
|
||||
import org.thoughtcrime.securesms.attachments.DatabaseAttachmentProvider;
|
||||
import org.thoughtcrime.securesms.crypto.AttachmentSecret;
|
||||
import org.thoughtcrime.securesms.crypto.AttachmentSecretProvider;
|
||||
import org.thoughtcrime.securesms.crypto.DatabaseSecret;
|
||||
@ -61,14 +62,16 @@ public class DatabaseFactory {
|
||||
|
||||
// Loki
|
||||
private final LokiAPIDatabase lokiAPIDatabase;
|
||||
// private final LokiPreKeyRecordDatabase lokiContactPreKeyDatabase;
|
||||
// private final LokiPreKeyBundleDatabase lokiPreKeyBundleDatabase;
|
||||
private final LokiMessageDatabase lokiMessageDatabase;
|
||||
private final LokiThreadDatabase lokiThreadDatabase;
|
||||
private final LokiUserDatabase lokiUserDatabase;
|
||||
private final LokiBackupFilesDatabase lokiBackupFilesDatabase;
|
||||
private final SharedSenderKeysDatabase sskDatabase;
|
||||
|
||||
// Refactor
|
||||
private final Storage storage;
|
||||
private final DatabaseAttachmentProvider attachmentProvider;
|
||||
|
||||
public static DatabaseFactory getInstance(Context context) {
|
||||
synchronized (lock) {
|
||||
if (instance == null)
|
||||
@ -155,14 +158,6 @@ public class DatabaseFactory {
|
||||
return getInstance(context).lokiAPIDatabase;
|
||||
}
|
||||
|
||||
// public static LokiPreKeyRecordDatabase getLokiPreKeyRecordDatabase(Context context) {
|
||||
// return getInstance(context).lokiContactPreKeyDatabase;
|
||||
// }
|
||||
|
||||
// public static LokiPreKeyBundleDatabase getLokiPreKeyBundleDatabase(Context context) {
|
||||
// return getInstance(context).lokiPreKeyBundleDatabase;
|
||||
// }
|
||||
|
||||
public static LokiMessageDatabase getLokiMessageDatabase(Context context) {
|
||||
return getInstance(context).lokiMessageDatabase;
|
||||
}
|
||||
@ -184,6 +179,16 @@ public class DatabaseFactory {
|
||||
}
|
||||
// endregion
|
||||
|
||||
// region Refactor
|
||||
public static Storage getStorage(Context context) {
|
||||
return getInstance(context).storage;
|
||||
}
|
||||
|
||||
public static DatabaseAttachmentProvider getAttachmentProvider(Context context) {
|
||||
return getInstance(context).attachmentProvider;
|
||||
}
|
||||
// endregion
|
||||
|
||||
public static void upgradeRestored(Context context, SQLiteDatabase database){
|
||||
getInstance(context).databaseHelper.onUpgrade(database, database.getVersion(), -1);
|
||||
getInstance(context).databaseHelper.markCurrent(database);
|
||||
@ -214,13 +219,13 @@ public class DatabaseFactory {
|
||||
this.jobDatabase = new JobDatabase(context, databaseHelper);
|
||||
this.stickerDatabase = new StickerDatabase(context, databaseHelper, attachmentSecret);
|
||||
this.lokiAPIDatabase = new LokiAPIDatabase(context, databaseHelper);
|
||||
// this.lokiContactPreKeyDatabase = new LokiPreKeyRecordDatabase(context, databaseHelper);
|
||||
// this.lokiPreKeyBundleDatabase = new LokiPreKeyBundleDatabase(context, databaseHelper);
|
||||
this.lokiMessageDatabase = new LokiMessageDatabase(context, databaseHelper);
|
||||
this.lokiThreadDatabase = new LokiThreadDatabase(context, databaseHelper);
|
||||
this.lokiUserDatabase = new LokiUserDatabase(context, databaseHelper);
|
||||
this.lokiBackupFilesDatabase = new LokiBackupFilesDatabase(context, databaseHelper);
|
||||
this.sskDatabase = new SharedSenderKeysDatabase(context, databaseHelper);
|
||||
this.storage = new Storage(context, databaseHelper);
|
||||
this.attachmentProvider = new DatabaseAttachmentProvider(context, databaseHelper);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -115,7 +115,7 @@ class RecipientProvider {
|
||||
|
||||
private @NonNull RecipientDetails getIndividualRecipientDetails(Context context, @NonNull Address address, Optional<RecipientSettings> settings) {
|
||||
if (!settings.isPresent()) {
|
||||
settings = Optional.of(MessagingConfiguration.shared.getStorage().getRecipientSettings(address));
|
||||
settings = Optional.fromNullable(MessagingConfiguration.shared.getStorage().getRecipientSettings(address));
|
||||
}
|
||||
|
||||
if (!settings.isPresent() && STATIC_DETAILS.containsKey(address.serialize())) {
|
||||
@ -130,11 +130,12 @@ class RecipientProvider {
|
||||
private @NonNull RecipientDetails getGroupRecipientDetails(Context context, Address groupId, Optional<GroupRecord> groupRecord, Optional<RecipientSettings> settings, boolean asynchronous) {
|
||||
|
||||
if (!groupRecord.isPresent()) {
|
||||
groupRecord = Optional.of(MessagingConfiguration.shared.getStorage().getGroup(groupId.toGroupString()));
|
||||
groupRecord = Optional.fromNullable(MessagingConfiguration.shared.getStorage().getGroup(groupId.toGroupString()));
|
||||
}
|
||||
|
||||
if (!settings.isPresent()) {
|
||||
settings = Optional.of(MessagingConfiguration.shared.getStorage().getRecipientSettings(groupId));
|
||||
|
||||
settings = Optional.fromNullable(MessagingConfiguration.shared.getStorage().getRecipientSettings(groupId));
|
||||
}
|
||||
|
||||
if (groupRecord.isPresent()) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user