2022-08-03 11:50:16 -04:00
|
|
|
package org.thoughtcrime.securesms
|
|
|
|
|
2023-03-03 11:42:30 -05:00
|
|
|
import org.signal.core.util.concurrent.SignalExecutors
|
|
|
|
import org.signal.core.util.logging.AndroidLogger
|
|
|
|
import org.signal.core.util.logging.Log
|
|
|
|
import org.signal.libsignal.protocol.logging.SignalProtocolLoggerProvider
|
|
|
|
import org.thoughtcrime.securesms.database.LogDatabase
|
2022-08-03 11:50:16 -04:00
|
|
|
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
|
|
|
|
import org.thoughtcrime.securesms.dependencies.ApplicationDependencyProvider
|
|
|
|
import org.thoughtcrime.securesms.dependencies.InstrumentationApplicationDependencyProvider
|
2023-03-03 11:42:30 -05:00
|
|
|
import org.thoughtcrime.securesms.logging.CustomSignalProtocolLogger
|
|
|
|
import org.thoughtcrime.securesms.logging.PersistentLogger
|
|
|
|
import org.thoughtcrime.securesms.testing.InMemoryLogger
|
2022-08-03 11:50:16 -04:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Application context for running instrumentation tests (aka androidTests).
|
|
|
|
*/
|
|
|
|
class SignalInstrumentationApplicationContext : ApplicationContext() {
|
2023-03-03 11:42:30 -05:00
|
|
|
|
|
|
|
val inMemoryLogger: InMemoryLogger = InMemoryLogger()
|
|
|
|
|
2022-08-03 11:50:16 -04:00
|
|
|
override fun initializeAppDependencies() {
|
|
|
|
val default = ApplicationDependencyProvider(this)
|
|
|
|
ApplicationDependencies.init(this, InstrumentationApplicationDependencyProvider(this, default))
|
2023-03-06 13:40:44 -05:00
|
|
|
ApplicationDependencies.getDeadlockDetector().start()
|
2022-08-03 11:50:16 -04:00
|
|
|
}
|
2023-03-03 11:42:30 -05:00
|
|
|
|
|
|
|
override fun initializeLogging() {
|
|
|
|
persistentLogger = PersistentLogger(this)
|
|
|
|
|
|
|
|
Log.initialize({ true }, AndroidLogger(), persistentLogger, inMemoryLogger)
|
|
|
|
|
|
|
|
SignalProtocolLoggerProvider.setProvider(CustomSignalProtocolLogger())
|
|
|
|
|
|
|
|
SignalExecutors.UNBOUNDED.execute {
|
|
|
|
Log.blockUntilAllWritesFinished()
|
|
|
|
LogDatabase.getInstance(this).trimToSize()
|
|
|
|
}
|
|
|
|
}
|
2022-08-03 11:50:16 -04:00
|
|
|
}
|