From 95df3e7e2b4ee249995eb9b3e90fb188dc5d6aa2 Mon Sep 17 00:00:00 2001 From: Adam Brown Date: Mon, 14 Feb 2022 16:04:47 +0000 Subject: [PATCH] deprecating the Matrix.initialize and Matrix.getInstance entry points in favour of clients controlling their own instances --- changelog.d/5185.sdk | 2 +- .../src/main/java/org/matrix/android/sdk/api/Matrix.kt | 2 ++ .../main/java/org/matrix/android/sdk/api/MatrixConfiguration.kt | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/changelog.d/5185.sdk b/changelog.d/5185.sdk index 14071c2961..9eda2e7c9b 100644 --- a/changelog.d/5185.sdk +++ b/changelog.d/5185.sdk @@ -1 +1 @@ -Avoids using Matrix.getInstance() within the SyncService and instead relies on the SDK client to provide the matrix instance \ No newline at end of file +Deprecates Matrix.initialize and Matrix.getInstance in favour of the client providing its own singleton instance via Matrix.createInstance \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/Matrix.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/Matrix.kt index 7df1912b0c..269a885d0f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/Matrix.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/Matrix.kt @@ -111,6 +111,7 @@ class Matrix private constructor(context: Context, matrixConfiguration: MatrixCo * 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) @@ -121,6 +122,7 @@ class Matrix private constructor(context: Context, matrixConfiguration: MatrixCo * Either provides an already initialized singleton Matrix instance or queries the application context for a MatrixConfiguration.Provider * to lazily create and store the instance. */ + @Deprecated("Use Matrix.createInstance and manage the instance manually") fun getInstance(context: Context): Matrix { if (isInit.compareAndSet(false, true)) { val appContext = context.applicationContext diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/MatrixConfiguration.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/MatrixConfiguration.kt index 306ed45500..c87f21d7ac 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/MatrixConfiguration.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/MatrixConfiguration.kt @@ -66,6 +66,7 @@ data class MatrixConfiguration( /** * 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 }