diff --git a/BUILDING.md b/BUILDING.md index a9c3f96dc7..989ebe7bf5 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -56,7 +56,7 @@ Setting up a development environment 4. In the SDK Tools tab of the SDK Manager, make sure that the "Android Support Repository" is installed, and that the latest "Android SDK build-tools" are installed. Click "OK" to return to the Quickstart panel. 5. From the Quickstart panel, choose "Checkout from Version Control" then "git". 6. Paste the URL for the session-android project when prompted (https://github.com/loki-project/session-android.git). -7. Android studio should detect the presence of a project file and ask you whether to open it. Click "yes". +7. Android Studio should detect the presence of a project file and ask you whether to open it. Click "yes". 9. Default config options should be good enough. 9. Project initialisation and build should proceed. diff --git a/build.gradle b/build.gradle index 392ad467f4..8aab757f08 100644 --- a/build.gradle +++ b/build.gradle @@ -190,8 +190,8 @@ dependencies { implementation "com.github.ybq:Android-SpinKit:1.4.0" } -def canonicalVersionCode = 49 -def canonicalVersionName = "1.1.0" +def canonicalVersionCode = 50 +def canonicalVersionName = "1.2.0" def postFixSize = 10 def abiPostFix = ['armeabi-v7a' : 1, diff --git a/res/xml/network_security_configuration.xml b/res/xml/network_security_configuration.xml index cffc495059..85285232de 100644 --- a/res/xml/network_security_configuration.xml +++ b/res/xml/network_security_configuration.xml @@ -1,11 +1,6 @@ - 144.76.164.202 - storage.seed1.loki.network - storage.seed2.loki.network - public.loki.foundation - file-dev.lokinet.org 127.0.0.1 \ No newline at end of file diff --git a/src/org/thoughtcrime/securesms/ApplicationContext.java b/src/org/thoughtcrime/securesms/ApplicationContext.java index 688db294a0..5d018bb56d 100644 --- a/src/org/thoughtcrime/securesms/ApplicationContext.java +++ b/src/org/thoughtcrime/securesms/ApplicationContext.java @@ -170,20 +170,10 @@ public class ApplicationContext extends MultiDexApplication implements Dependenc initializeLogging(); initializeCrashHandling(); initializeDependencyInjection(); - initializeJobManager(); - initializeMessageRetrieval(); - initializeExpiringMessageManager(); - initializeTypingStatusRepository(); - initializeTypingStatusSender(); - initializeSignedPreKeyCheck(); - initializePeriodicTasks(); - initializeWebRtc(); - initializePendingMessages(); - initializeUnidentifiedDeliveryAbilityRefresh(); - initializeBlobProvider(); NotificationChannels.create(this); ProcessLifecycleOwner.get().getLifecycle().addObserver(this); // Loki + // ======== broadcaster = new Broadcaster(this); LokiAPIDatabase apiDB = DatabaseFactory.getLokiAPIDatabase(this); LokiThreadDatabase threadDB = DatabaseFactory.getLokiThreadDatabase(this); @@ -194,10 +184,10 @@ public class ApplicationContext extends MultiDexApplication implements Dependenc FriendRequestProtocol.Companion.configureIfNeeded(apiDB, userPublicKey); MentionsManager.Companion.configureIfNeeded(userPublicKey, threadDB, userDB); SessionMetaProtocol.Companion.configureIfNeeded(apiDB, userPublicKey); - MultiDeviceProtocol.Companion.configureIfNeeded(apiDB); - SessionManagementProtocol.Companion.configureIfNeeded(sessionResetImpl, threadDB, this); SyncMessagesProtocol.Companion.configureIfNeeded(apiDB, userPublicKey); } + MultiDeviceProtocol.Companion.configureIfNeeded(apiDB); + SessionManagementProtocol.Companion.configureIfNeeded(sessionResetImpl, threadDB, this); setUpP2PAPIIfNeeded(); LokiPushNotificationAcknowledgement.Companion.configureIfNeeded(BuildConfig.DEBUG); if (setUpStorageAPIIfNeeded()) { @@ -210,6 +200,18 @@ public class ApplicationContext extends MultiDexApplication implements Dependenc lokiPublicChatManager = new LokiPublicChatManager(this); updateOpenGroupProfilePicturesIfNeeded(); registerForFCMIfNeeded(false); + // ======== + initializeJobManager(); + initializeMessageRetrieval(); + initializeExpiringMessageManager(); + initializeTypingStatusRepository(); + initializeTypingStatusSender(); + initializeSignedPreKeyCheck(); + initializePeriodicTasks(); + initializeWebRtc(); + initializePendingMessages(); + initializeUnidentifiedDeliveryAbilityRefresh(); + initializeBlobProvider(); } @Override diff --git a/src/org/thoughtcrime/securesms/loki/activities/HomeActivity.kt b/src/org/thoughtcrime/securesms/loki/activities/HomeActivity.kt index f7180d6ba4..927fbfbc50 100644 --- a/src/org/thoughtcrime/securesms/loki/activities/HomeActivity.kt +++ b/src/org/thoughtcrime/securesms/loki/activities/HomeActivity.kt @@ -154,21 +154,21 @@ class HomeActivity : PassphraseRequiredActionBarActivity, ConversationClickListe adapter.typingThreadIDs = threadIDs ?: setOf() }) // Set up remaining components if needed + val application = ApplicationContext.getInstance(this) + val apiDB = DatabaseFactory.getLokiAPIDatabase(this) + val threadDB = DatabaseFactory.getLokiThreadDatabase(this) + val userDB = DatabaseFactory.getLokiUserDatabase(this) val userPublicKey = TextSecurePreferences.getLocalNumber(this) + val sessionResetImpl = LokiSessionResetImplementation(this) if (userPublicKey != null) { - val application = ApplicationContext.getInstance(this) - val apiDB = DatabaseFactory.getLokiAPIDatabase(this) - val threadDB = DatabaseFactory.getLokiThreadDatabase(this) - val userDB = DatabaseFactory.getLokiUserDatabase(this) - val sessionResetImpl = LokiSessionResetImplementation(this) FriendRequestProtocol.configureIfNeeded(apiDB, userPublicKey) MentionsManager.configureIfNeeded(userPublicKey, threadDB, userDB) SessionMetaProtocol.configureIfNeeded(apiDB, userPublicKey) - MultiDeviceProtocol.configureIfNeeded(apiDB) - SessionManagementProtocol.configureIfNeeded(sessionResetImpl, threadDB, application) SyncMessagesProtocol.configureIfNeeded(apiDB, userPublicKey) application.lokiPublicChatManager.startPollersIfNeeded() } + SessionManagementProtocol.configureIfNeeded(sessionResetImpl, threadDB, application) + MultiDeviceProtocol.configureIfNeeded(apiDB) // TODO: Temporary hack to unbork existing clients val allContacts = DatabaseFactory.getRecipientDatabase(this).allAddresses.map { MultiDeviceProtocol.shared.getMasterDevice(it.serialize()) ?: it.serialize()