mirror of
https://github.com/SchildiChat/SchildiChat-android.git
synced 2025-01-30 02:44:56 +01:00
Remove the deprecated way to create a Matrix object
This commit is contained in:
parent
92c0d97110
commit
11e1fdf332
@ -38,7 +38,6 @@ import org.matrix.android.sdk.internal.util.BackgroundDetectionObserver
|
||||
import org.matrix.android.sdk.internal.worker.MatrixWorkerFactory
|
||||
import org.matrix.olm.OlmManager
|
||||
import java.util.concurrent.Executors
|
||||
import java.util.concurrent.atomic.AtomicBoolean
|
||||
import javax.inject.Inject
|
||||
|
||||
/**
|
||||
@ -124,10 +123,6 @@ class Matrix private constructor(context: Context, matrixConfiguration: MatrixCo
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
private lateinit var instance: Matrix
|
||||
private val isInit = AtomicBoolean(false)
|
||||
|
||||
/**
|
||||
* Creates a new instance of Matrix, it's recommended to manage this instance as a singleton.
|
||||
* To make use of the built in singleton use Matrix.initialize() and/or Matrix.getInstance(context) instead
|
||||
@ -136,40 +131,6 @@ class Matrix private constructor(context: Context, matrixConfiguration: MatrixCo
|
||||
return Matrix(context.applicationContext, matrixConfiguration)
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes a singleton instance of Matrix for the given MatrixConfiguration
|
||||
* This instance will be returned by Matrix.getInstance(context)
|
||||
*/
|
||||
@Deprecated("Use Matrix.createInstance and manage the instance manually")
|
||||
fun initialize(context: Context, matrixConfiguration: MatrixConfiguration) {
|
||||
if (isInit.compareAndSet(false, true)) {
|
||||
instance = Matrix(context.applicationContext, matrixConfiguration)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Either provides an already initialized singleton Matrix instance or queries the application context for a MatrixConfiguration.Provider
|
||||
* to lazily create and store the instance.
|
||||
*/
|
||||
@Suppress("deprecation") // suppressing warning as this method is unused but is still provided for SDK clients
|
||||
@Deprecated("Use Matrix.createInstance and manage the instance manually")
|
||||
fun getInstance(context: Context): Matrix {
|
||||
if (isInit.compareAndSet(false, true)) {
|
||||
val appContext = context.applicationContext
|
||||
if (appContext is MatrixConfiguration.Provider) {
|
||||
val matrixConfiguration = (appContext as MatrixConfiguration.Provider).providesMatrixConfiguration()
|
||||
instance = Matrix(appContext, matrixConfiguration)
|
||||
} else {
|
||||
throw IllegalStateException(
|
||||
"Matrix is not initialized properly." +
|
||||
" If you want to manage your own Matrix instance use Matrix.createInstance" +
|
||||
" otherwise you should call Matrix.initialize or let your application implement MatrixConfiguration.Provider."
|
||||
)
|
||||
}
|
||||
}
|
||||
return instance
|
||||
}
|
||||
|
||||
/**
|
||||
* @return a String with details about the Matrix SDK version
|
||||
*/
|
||||
|
@ -65,13 +65,4 @@ data class MatrixConfiguration(
|
||||
* Thread messages default enable/disabled value
|
||||
*/
|
||||
val threadMessagesEnabledDefault: Boolean = false,
|
||||
) {
|
||||
|
||||
/**
|
||||
* Can be implemented by your Application class.
|
||||
*/
|
||||
@Deprecated("Use Matrix.createInstance and manage the instance manually instead of Matrix.getInstance")
|
||||
interface Provider {
|
||||
fun providesMatrixConfiguration(): MatrixConfiguration
|
||||
}
|
||||
}
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user