diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index 8636578c62..63418f7077 100644 Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 043ba65437..35d2fcd030 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -10,7 +10,6 @@ diff --git a/app/build.gradle b/app/build.gradle index 0e4eafaa06..bf121577e4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -22,16 +22,17 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation project(":matrix-sdk-core") + implementation project(":matrix-sdk-android") implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation 'com.android.support:appcompat-v7:28.0.0' implementation 'com.android.support.constraint:constraint-layout:1.1.3' - implementation "org.koin:koin-core:$koin_version" - implementation "org.koin:koin-core-ext:$koin_version" + + implementation "org.koin:koin-android:$koin_version" + implementation "org.koin:koin-android-scope:$koin_version" + implementation "org.koin:koin-android-viewmodel:$koin_version" testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' - compile project(path: ':matrix-sdk-android') } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 54863ea504..584955dc7d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -6,6 +6,7 @@ () + private val homeServerConnectionConfig = HomeServerConnectionConfig("https://matrix.org/") private val session = matrix.createSession(homeServerConnectionConfig) private val authenticator = session.authenticator() diff --git a/matrix-sdk-android/build.gradle b/matrix-sdk-android/build.gradle index 21e9640a47..e0a9b48293 100644 --- a/matrix-sdk-android/build.gradle +++ b/matrix-sdk-android/build.gradle @@ -1,5 +1,24 @@ apply plugin: 'com.android.library' apply plugin: 'kotlin-android' +apply plugin: 'kotlin-kapt' +apply plugin: 'io.objectbox' + +ext.support_version = '28.0.0' + +buildscript { + + repositories { + jcenter() + } + dependencies { + classpath "io.objectbox:objectbox-gradle-plugin:2.2.0" + } +} + +repositories { + google() + jcenter() +} android { compileSdkVersion 28 @@ -24,10 +43,28 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) - - implementation 'com.android.support:appcompat-v7:28.0.0' implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + implementation "com.android.support:appcompat-v7:$support_version" + implementation "com.android.support:recyclerview-v7:$support_version" + + // Network + implementation 'com.squareup.retrofit2:retrofit:2.4.0' + implementation 'com.squareup.retrofit2:converter-moshi:2.4.0' + implementation 'com.jakewharton.retrofit:retrofit2-kotlin-coroutines-adapter:0.9.2' + implementation 'com.squareup.okhttp3:okhttp:3.10.0' + implementation 'com.squareup.okhttp3:logging-interceptor:3.10.0' + implementation 'com.squareup.okio:okio:1.15.0' + implementation 'com.squareup.moshi:moshi-kotlin:1.7.0' + kapt 'com.squareup.moshi:moshi-kotlin-codegen:1.7.0' + + // Paging + implementation "android.arch.paging:runtime:1.0.1" + + // DI + implementation "org.koin:koin-core:$koin_version" + implementation "org.koin:koin-core-ext:$koin_version" + testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' diff --git a/matrix-sdk-android/objectbox-models/default.json b/matrix-sdk-android/objectbox-models/default.json new file mode 100644 index 0000000000..3717f95e0e --- /dev/null +++ b/matrix-sdk-android/objectbox-models/default.json @@ -0,0 +1,50 @@ +{ + "_note1": "KEEP THIS FILE! Check it into a version control system (VCS) like git.", + "_note2": "ObjectBox manages crucial IDs for your object model. See docs for details.", + "_note3": "If you have VCS merge conflicts, you must resolve them according to ObjectBox docs.", + "entities": [ + { + "id": "1:637433444018824383", + "lastPropertyId": "6:2515822585258942903", + "name": "Credentials", + "properties": [ + { + "id": "1:6211403495341530846", + "name": "id" + }, + { + "id": "2:1774175862476960436", + "name": "userId" + }, + { + "id": "3:5757014528669120452", + "name": "homeServer" + }, + { + "id": "4:6085081322264805865", + "name": "accessToken" + }, + { + "id": "5:5476767963007280768", + "name": "refreshToken" + }, + { + "id": "6:2515822585258942903", + "name": "deviceId" + } + ], + "relations": [] + } + ], + "lastEntityId": "1:637433444018824383", + "lastIndexId": "0:0", + "lastRelationId": "0:0", + "lastSequenceId": "0:0", + "modelVersion": 4, + "modelVersionParserMinimum": 4, + "retiredEntityUids": [], + "retiredIndexUids": [], + "retiredPropertyUids": [], + "retiredRelationUids": [], + "version": 1 +} \ No newline at end of file diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/Matrix.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/Matrix.kt similarity index 61% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/api/Matrix.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/api/Matrix.kt index 9764addc7b..f8410be8ad 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/Matrix.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/Matrix.kt @@ -1,9 +1,9 @@ -package im.vector.matrix.core.api +package im.vector.matrix.android.api -import im.vector.matrix.core.api.login.data.HomeServerConnectionConfig -import im.vector.matrix.core.internal.DefaultSession -import im.vector.matrix.core.internal.MatrixModule -import im.vector.matrix.core.internal.network.NetworkModule +import im.vector.matrix.android.api.login.data.HomeServerConnectionConfig +import im.vector.matrix.android.internal.DefaultSession +import im.vector.matrix.android.internal.di.MatrixModule +import im.vector.matrix.android.internal.di.NetworkModule import org.koin.standalone.StandAloneContext.loadKoinModules class Matrix(matrixOptions: MatrixOptions) { diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/MatrixCallback.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/MatrixCallback.kt similarity index 53% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/api/MatrixCallback.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/api/MatrixCallback.kt index 1a9fffc179..a94446bc67 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/MatrixCallback.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/MatrixCallback.kt @@ -1,6 +1,6 @@ -package im.vector.matrix.core.api +package im.vector.matrix.android.api -import im.vector.matrix.core.api.failure.Failure +import im.vector.matrix.android.api.failure.Failure interface MatrixCallback { diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/MatrixOptions.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/MatrixOptions.kt new file mode 100644 index 0000000000..d6d7849392 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/MatrixOptions.kt @@ -0,0 +1,8 @@ +package im.vector.matrix.android.api + +import android.content.Context +import im.vector.matrix.android.api.thread.MainThreadExecutor +import java.util.concurrent.Executor + +data class MatrixOptions(val context: Context, + val mainExecutor: Executor = MainThreadExecutor()) \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/Session.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/Session.kt new file mode 100644 index 0000000000..f47e37700b --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/Session.kt @@ -0,0 +1,11 @@ +package im.vector.matrix.android.api + +import im.vector.matrix.android.api.login.Authenticator + +interface Session { + + fun authenticator(): Authenticator + + fun close() + +} \ No newline at end of file diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/events/Event.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/events/Event.kt similarity index 64% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/api/events/Event.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/api/events/Event.kt index 26316635e3..f26ae839b8 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/events/Event.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/events/Event.kt @@ -1,4 +1,4 @@ -package im.vector.matrix.core.api.events +package im.vector.matrix.android.api.events data class Event(val sender: String, val eventType: EventType) diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/events/EventType.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/events/EventType.kt similarity index 97% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/api/events/EventType.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/api/events/EventType.kt index 3e5532732e..55d8f44650 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/events/EventType.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/events/EventType.kt @@ -1,4 +1,4 @@ -package im.vector.matrix.core.api.events +package im.vector.matrix.android.api.events sealed class EventType(val str: String) { diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/failure/Failure.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/failure/Failure.kt similarity index 84% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/api/failure/Failure.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/api/failure/Failure.kt index dd44215495..4a6a39b883 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/failure/Failure.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/failure/Failure.kt @@ -1,4 +1,4 @@ -package im.vector.matrix.core.api.failure +package im.vector.matrix.android.api.failure sealed class Failure { diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/failure/MatrixError.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/failure/MatrixError.kt similarity index 96% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/api/failure/MatrixError.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/api/failure/MatrixError.kt index d8cfa15571..ab1024ca1e 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/failure/MatrixError.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/failure/MatrixError.kt @@ -1,4 +1,4 @@ -package im.vector.matrix.core.api.failure +package im.vector.matrix.android.api.failure import com.squareup.moshi.Json diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/login/Authenticator.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/login/Authenticator.kt new file mode 100644 index 0000000000..6d28f162c9 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/login/Authenticator.kt @@ -0,0 +1,11 @@ +package im.vector.matrix.android.api.login + +import im.vector.matrix.android.api.MatrixCallback +import im.vector.matrix.android.api.util.Cancelable +import im.vector.matrix.android.api.login.data.Credentials + +interface Authenticator { + + fun authenticate(login: String, password: String, callback: MatrixCallback): Cancelable + +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/login/CredentialsStore.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/login/CredentialsStore.kt new file mode 100644 index 0000000000..cae096949b --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/login/CredentialsStore.kt @@ -0,0 +1,11 @@ +package im.vector.matrix.android.api.login + +import im.vector.matrix.android.api.login.data.Credentials + +interface CredentialsStore { + + fun get(): Credentials? + + fun save(credentials: Credentials) + +} \ No newline at end of file diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/login/data/Credentials.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/login/data/Credentials.kt similarity index 63% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/api/login/data/Credentials.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/api/login/data/Credentials.kt index 1dbeaf986e..3b8e83c927 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/login/data/Credentials.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/login/data/Credentials.kt @@ -1,10 +1,14 @@ -package im.vector.matrix.core.api.login.data +package im.vector.matrix.android.api.login.data import com.squareup.moshi.Json import com.squareup.moshi.JsonClass +import io.objectbox.annotation.Entity +import io.objectbox.annotation.Id +@Entity @JsonClass(generateAdapter = true) -data class Credentials(@Json(name = "user_id") val userId: String, +data class Credentials(@Id var id: Long = 0, + @Json(name = "user_id") val userId: String, @Json(name = "home_server") val homeServer: String, @Json(name = "access_token") val accessToken: String, @Json(name = "refresh_token") val refreshToken: String?, diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/login/data/HomeServerConnectionConfig.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/login/data/HomeServerConnectionConfig.kt similarity index 77% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/api/login/data/HomeServerConnectionConfig.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/api/login/data/HomeServerConnectionConfig.kt index f5bb843a48..8d8955b628 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/login/data/HomeServerConnectionConfig.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/login/data/HomeServerConnectionConfig.kt @@ -1,4 +1,4 @@ -package im.vector.matrix.core.api.login.data +package im.vector.matrix.android.api.login.data import com.squareup.moshi.JsonClass diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/persitence/Persister.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/persitence/Persister.kt new file mode 100644 index 0000000000..87dc2a60c6 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/persitence/Persister.kt @@ -0,0 +1,15 @@ +package im.vector.matrix.android.api.persitence + +import android.arch.paging.PagedList + +interface Persister { + + fun put(data: DATA) + + fun remove(data: DATA) + + fun get(id: KEY): DATA? + + fun getAll(): PagedList + +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/persitence/Query.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/persitence/Query.kt new file mode 100644 index 0000000000..5275c18573 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/persitence/Query.kt @@ -0,0 +1,11 @@ +package im.vector.matrix.android.api.persitence + +import im.vector.matrix.android.api.util.Cancelable + +interface Query { + + fun find(): DATA + + fun subscribe(observer: QueryDataObserver): Cancelable + +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/persitence/QueryBuilder.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/persitence/QueryBuilder.kt new file mode 100644 index 0000000000..c26639783e --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/persitence/QueryBuilder.kt @@ -0,0 +1,7 @@ +package im.vector.matrix.android.api.persitence + +interface QueryBuilder> { + + fun build(): QUERY + +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/persitence/QueryDataObserver.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/persitence/QueryDataObserver.java new file mode 100644 index 0000000000..fda584e060 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/persitence/QueryDataObserver.java @@ -0,0 +1,5 @@ +package im.vector.matrix.android.api.persitence; + +public interface QueryDataObserver { + void onData(DATA data); +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/thread/MainThreadExecutor.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/thread/MainThreadExecutor.java similarity index 87% rename from matrix-sdk-android/src/main/java/im/vector/matrix/android/thread/MainThreadExecutor.java rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/api/thread/MainThreadExecutor.java index 6654a7453b..a624e3bb6e 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/thread/MainThreadExecutor.java +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/thread/MainThreadExecutor.java @@ -1,4 +1,4 @@ -package im.vector.matrix.android.thread; +package im.vector.matrix.android.api.thread; import android.os.Handler; import android.os.Looper; diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/util/Cancelable.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/util/Cancelable.kt new file mode 100644 index 0000000000..e8092d7271 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/util/Cancelable.kt @@ -0,0 +1,5 @@ +package im.vector.matrix.android.api.util + +interface Cancelable { + fun cancel() +} \ No newline at end of file diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/util/Logger.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/util/Logger.kt similarity index 97% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/api/util/Logger.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/api/util/Logger.kt index 4cb98955e4..2c78e9f502 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/util/Logger.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/util/Logger.kt @@ -1,4 +1,4 @@ -package im.vector.matrix.core.api.util +package im.vector.matrix.android.api.util interface Logger { /** Log a verbose message with optional format args. */ diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/DefaultSession.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/DefaultSession.kt similarity index 74% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/DefaultSession.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/DefaultSession.kt index 9531e0c731..c909bd610f 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/DefaultSession.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/DefaultSession.kt @@ -1,9 +1,9 @@ -package im.vector.matrix.core.internal +package im.vector.matrix.android.internal -import im.vector.matrix.core.api.Session -import im.vector.matrix.core.api.login.Authenticator -import im.vector.matrix.core.api.login.data.HomeServerConnectionConfig -import im.vector.matrix.core.internal.login.LoginModule +import im.vector.matrix.android.api.Session +import im.vector.matrix.android.api.login.Authenticator +import im.vector.matrix.android.api.login.data.HomeServerConnectionConfig +import im.vector.matrix.android.internal.login.LoginModule import org.koin.core.scope.Scope import org.koin.standalone.KoinComponent import org.koin.standalone.StandAloneContext diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/MatrixCoroutineDispatchers.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/MatrixCoroutineDispatchers.kt similarity index 82% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/MatrixCoroutineDispatchers.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/MatrixCoroutineDispatchers.kt index 0b213056d3..9663725025 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/MatrixCoroutineDispatchers.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/MatrixCoroutineDispatchers.kt @@ -1,4 +1,4 @@ -package im.vector.matrix.core.internal +package im.vector.matrix.android.internal import kotlinx.coroutines.CoroutineDispatcher diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/MatrixModule.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/MatrixModule.kt new file mode 100644 index 0000000000..a61253101a --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/MatrixModule.kt @@ -0,0 +1,41 @@ +package im.vector.matrix.android.internal.di + +import im.vector.matrix.android.api.MatrixOptions +import im.vector.matrix.android.api.login.CredentialsStore +import im.vector.matrix.android.api.login.data.Credentials +import im.vector.matrix.android.api.login.data.MyObjectBox +import im.vector.matrix.android.internal.MatrixCoroutineDispatchers +import im.vector.matrix.android.internal.login.db.ObjectBoxCredentialsStore +import io.objectbox.Box +import io.objectbox.BoxStore +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.IO +import kotlinx.coroutines.asCoroutineDispatcher +import org.koin.dsl.context.ModuleDefinition +import org.koin.dsl.module.Module +import org.koin.dsl.module.module + + +class MatrixModule(private val options: MatrixOptions) : Module { + + override fun invoke(): ModuleDefinition = module { + + single { + MatrixCoroutineDispatchers(io = Dispatchers.IO, computation = Dispatchers.IO, main = options.mainExecutor.asCoroutineDispatcher()) + } + + single { + MyObjectBox.builder().androidContext(options.context).build() + } + + single { + val boxStore = get() as BoxStore + boxStore.boxFor(Credentials::class.java) as Box + } + + single { + ObjectBoxCredentialsStore(get()) as CredentialsStore + } + + }.invoke() +} \ No newline at end of file diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/network/NetworkModule.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/NetworkModule.kt similarity index 91% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/network/NetworkModule.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/NetworkModule.kt index c16eb794bd..5a7a6a2824 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/network/NetworkModule.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/NetworkModule.kt @@ -1,8 +1,9 @@ -package im.vector.matrix.core.internal.network +package im.vector.matrix.android.internal.di import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory import com.squareup.moshi.Moshi import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory +import im.vector.matrix.android.internal.network.AccessTokenInterceptor import okhttp3.OkHttpClient import okhttp3.logging.HttpLoggingInterceptor import org.koin.dsl.context.ModuleDefinition diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/login/DefaultAuthenticator.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/DefaultAuthenticator.kt similarity index 60% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/login/DefaultAuthenticator.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/DefaultAuthenticator.kt index 97d2d03e13..e429c3de50 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/login/DefaultAuthenticator.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/DefaultAuthenticator.kt @@ -1,16 +1,16 @@ -package im.vector.matrix.core.internal.login +package im.vector.matrix.android.internal.login import com.squareup.moshi.Moshi -import im.vector.matrix.core.api.MatrixCallback -import im.vector.matrix.core.api.login.Authenticator -import im.vector.matrix.core.api.login.CredentialsStore -import im.vector.matrix.core.api.login.data.Credentials -import im.vector.matrix.core.api.util.Cancelable -import im.vector.matrix.core.internal.MatrixCoroutineDispatchers -import im.vector.matrix.core.internal.util.map -import im.vector.matrix.core.internal.login.data.PasswordLoginParams -import im.vector.matrix.core.internal.network.executeRequest -import im.vector.matrix.core.internal.util.CancelableCoroutine +import im.vector.matrix.android.api.MatrixCallback +import im.vector.matrix.android.api.login.Authenticator +import im.vector.matrix.android.api.login.CredentialsStore +import im.vector.matrix.android.api.login.data.Credentials +import im.vector.matrix.android.api.util.Cancelable +import im.vector.matrix.android.internal.MatrixCoroutineDispatchers +import im.vector.matrix.android.internal.util.map +import im.vector.matrix.android.internal.login.data.PasswordLoginParams +import im.vector.matrix.android.internal.network.executeRequest +import im.vector.matrix.android.internal.util.CancelableCoroutine import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch @@ -27,7 +27,7 @@ class DefaultAuthenticator(private val loginApi: LoginApi, moshi = jsonMapper dispatcher = coroutineDispatchers.io }.map { - it?.apply { credentialsStore.put(it) } + it?.apply { credentialsStore.save(it) } } loginResult.either({ callback.onFailure(it) }, { callback.onSuccess(it) }) } diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/login/LoginApi.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/LoginApi.kt similarity index 64% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/login/LoginApi.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/LoginApi.kt index fe108837fc..f618be5584 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/login/LoginApi.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/LoginApi.kt @@ -1,8 +1,8 @@ -package im.vector.matrix.core.internal.login +package im.vector.matrix.android.internal.login -import im.vector.matrix.core.api.login.data.Credentials -import im.vector.matrix.core.internal.login.data.PasswordLoginParams -import im.vector.matrix.core.internal.network.NetworkConstants +import im.vector.matrix.android.api.login.data.Credentials +import im.vector.matrix.android.internal.login.data.PasswordLoginParams +import im.vector.matrix.android.internal.network.NetworkConstants import kotlinx.coroutines.Deferred import retrofit2.Response import retrofit2.http.Body diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/login/LoginModule.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/LoginModule.kt similarity index 78% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/login/LoginModule.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/LoginModule.kt index 2a6d287bed..3589b849b1 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/login/LoginModule.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/LoginModule.kt @@ -1,8 +1,8 @@ -package im.vector.matrix.core.internal.login +package im.vector.matrix.android.internal.login -import im.vector.matrix.core.api.login.Authenticator -import im.vector.matrix.core.api.login.data.HomeServerConnectionConfig -import im.vector.matrix.core.internal.DefaultSession +import im.vector.matrix.android.api.login.Authenticator +import im.vector.matrix.android.api.login.data.HomeServerConnectionConfig +import im.vector.matrix.android.internal.DefaultSession import org.koin.dsl.context.ModuleDefinition import org.koin.dsl.module.Module import org.koin.dsl.module.module diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/login/data/LoginFlow.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/data/LoginFlow.kt similarity index 53% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/login/data/LoginFlow.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/data/LoginFlow.kt index 2d18ccb97b..46915c435a 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/login/data/LoginFlow.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/data/LoginFlow.kt @@ -1,4 +1,4 @@ -package im.vector.matrix.core.internal.login.data +package im.vector.matrix.android.internal.login.data import com.squareup.moshi.JsonClass diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/data/LoginFlowResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/data/LoginFlowResponse.kt new file mode 100644 index 0000000000..341c6a32e9 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/data/LoginFlowResponse.kt @@ -0,0 +1,6 @@ +package im.vector.matrix.android.internal.login.data + +import com.squareup.moshi.JsonClass + +@JsonClass(generateAdapter = true) +data class LoginFlowResponse(val flows: List) \ No newline at end of file diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/login/data/LoginFlowTypes.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/data/LoginFlowTypes.kt similarity index 87% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/login/data/LoginFlowTypes.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/data/LoginFlowTypes.kt index 782aeebe58..b7c23dd650 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/login/data/LoginFlowTypes.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/data/LoginFlowTypes.kt @@ -1,4 +1,4 @@ -package im.vector.matrix.core.internal.login.data +package im.vector.matrix.android.internal.login.data object LoginFlowTypes { const val PASSWORD = "m.login.password" diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/data/LoginParams.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/data/LoginParams.kt new file mode 100644 index 0000000000..35a1e8a089 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/data/LoginParams.kt @@ -0,0 +1,5 @@ +package im.vector.matrix.android.internal.login.data + +interface LoginParams { + val type: String +} \ No newline at end of file diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/login/data/PasswordLoginParams.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/data/PasswordLoginParams.kt similarity index 97% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/login/data/PasswordLoginParams.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/data/PasswordLoginParams.kt index 74be74d054..be896976fc 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/login/data/PasswordLoginParams.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/data/PasswordLoginParams.kt @@ -1,4 +1,4 @@ -package im.vector.matrix.core.internal.login.data +package im.vector.matrix.android.internal.login.data import com.squareup.moshi.Json import com.squareup.moshi.JsonClass diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/db/InMemoryCredentialsStore.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/db/InMemoryCredentialsStore.kt new file mode 100644 index 0000000000..7610344014 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/db/InMemoryCredentialsStore.kt @@ -0,0 +1,18 @@ +package im.vector.matrix.android.internal.login.db + +import im.vector.matrix.android.api.login.CredentialsStore +import im.vector.matrix.android.api.login.data.Credentials + +class InMemoryCredentialsStore : CredentialsStore { + + var credentials: Credentials? = null + + override fun get(): Credentials? { + return credentials + } + + override fun save(credentials: Credentials) { + this.credentials = credentials.copy() + } + +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/db/ObjectBoxCredentialsStore.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/db/ObjectBoxCredentialsStore.kt new file mode 100644 index 0000000000..d6468c2624 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/login/db/ObjectBoxCredentialsStore.kt @@ -0,0 +1,17 @@ +package im.vector.matrix.android.internal.login.db + +import im.vector.matrix.android.api.login.CredentialsStore +import im.vector.matrix.android.api.login.data.Credentials +import io.objectbox.Box + +class ObjectBoxCredentialsStore(private val box: Box) : CredentialsStore { + + override fun save(credentials: Credentials) { + box.put(credentials) + } + + override fun get(): Credentials? { + return box.all.firstOrNull() + } + +} \ No newline at end of file diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/network/AccessTokenInterceptor.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/AccessTokenInterceptor.kt similarity index 77% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/network/AccessTokenInterceptor.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/AccessTokenInterceptor.kt index c82aeaef6b..cb961644ea 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/network/AccessTokenInterceptor.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/AccessTokenInterceptor.kt @@ -1,6 +1,6 @@ -package im.vector.matrix.core.internal.network +package im.vector.matrix.android.internal.network -import im.vector.matrix.core.api.login.CredentialsStore +import im.vector.matrix.android.api.login.CredentialsStore import okhttp3.Interceptor import okhttp3.Response @@ -10,7 +10,7 @@ class AccessTokenInterceptor(private val credentialsStore: CredentialsStore) : I var request = chain.request() val newRequestBuilder = request.newBuilder() // Add the access token to all requests if it is set - val credentials = credentialsStore.getAll().firstOrNull() + val credentials = credentialsStore.get() credentials?.let { newRequestBuilder.addHeader("Authorization", "Bearer " + it.accessToken) } diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/network/NetworkConstants.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/NetworkConstants.kt similarity index 73% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/network/NetworkConstants.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/NetworkConstants.kt index c872c7af9c..fe08d55f43 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/network/NetworkConstants.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/NetworkConstants.kt @@ -1,4 +1,4 @@ -package im.vector.matrix.core.internal.network +package im.vector.matrix.android.internal.network object NetworkConstants { diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/network/Request.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/Request.kt similarity index 88% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/network/Request.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/Request.kt index f2aa9aa058..5db65d8b3e 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/network/Request.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/Request.kt @@ -1,9 +1,9 @@ -package im.vector.matrix.core.internal.network +package im.vector.matrix.android.internal.network import com.squareup.moshi.Moshi -import im.vector.matrix.core.api.failure.Failure -import im.vector.matrix.core.api.failure.MatrixError -import im.vector.matrix.core.internal.util.Either +import im.vector.matrix.android.api.failure.Failure +import im.vector.matrix.android.api.failure.MatrixError +import im.vector.matrix.android.internal.util.Either import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.Deferred import kotlinx.coroutines.withContext diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/SyncAPI.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/SyncAPI.kt similarity index 61% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/SyncAPI.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/SyncAPI.kt index d96de314d1..dcb1c4049e 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/SyncAPI.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/SyncAPI.kt @@ -1,7 +1,7 @@ -package im.vector.matrix.core.internal.sync +package im.vector.matrix.android.internal.sync -import im.vector.matrix.core.internal.network.NetworkConstants -import im.vector.matrix.core.internal.sync.data.SyncResponse +import im.vector.matrix.android.internal.network.NetworkConstants +import im.vector.matrix.android.internal.sync.data.SyncResponse import kotlinx.coroutines.Deferred import retrofit2.Response import retrofit2.http.GET diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/DeviceInfo.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/DeviceInfo.kt similarity index 96% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/DeviceInfo.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/DeviceInfo.kt index 257fc4e2b7..2a3742df20 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/DeviceInfo.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/DeviceInfo.kt @@ -15,7 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package im.vector.matrix.core.internal.sync.data +package im.vector.matrix.android.internal.sync.data import com.squareup.moshi.JsonClass diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/DeviceListResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/DeviceListResponse.kt similarity index 94% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/DeviceListResponse.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/DeviceListResponse.kt index 6e78932259..b5e65035f6 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/DeviceListResponse.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/DeviceListResponse.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package im.vector.matrix.core.internal.sync.data +package im.vector.matrix.android.internal.sync.data import com.squareup.moshi.JsonClass diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/DeviceOneTimeKeysCountSyncResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/DeviceOneTimeKeysCountSyncResponse.kt similarity index 75% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/DeviceOneTimeKeysCountSyncResponse.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/DeviceOneTimeKeysCountSyncResponse.kt index 31a8183468..54e21736ca 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/DeviceOneTimeKeysCountSyncResponse.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/DeviceOneTimeKeysCountSyncResponse.kt @@ -1,4 +1,4 @@ -package im.vector.matrix.core.internal.sync.data +package im.vector.matrix.android.internal.sync.data import com.squareup.moshi.JsonClass diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/DevicesListResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/DevicesListResponse.kt similarity index 93% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/DevicesListResponse.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/DevicesListResponse.kt index a1276d7f85..fba71794d3 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/DevicesListResponse.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/DevicesListResponse.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package im.vector.matrix.core.internal.sync.data +package im.vector.matrix.android.internal.sync.data import com.squareup.moshi.JsonClass diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/InvitedRoomSync.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/InvitedRoomSync.kt similarity index 96% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/InvitedRoomSync.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/InvitedRoomSync.kt index 83d66fb394..ea126737f9 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/InvitedRoomSync.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/InvitedRoomSync.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package im.vector.matrix.core.internal.sync.data +package im.vector.matrix.android.internal.sync.data import com.squareup.moshi.JsonClass diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/PresenceSyncResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/PresenceSyncResponse.kt similarity index 77% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/PresenceSyncResponse.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/PresenceSyncResponse.kt index 2785ca0bf9..a43e7241f9 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/PresenceSyncResponse.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/PresenceSyncResponse.kt @@ -1,7 +1,7 @@ -package im.vector.matrix.core.internal.sync.data +package im.vector.matrix.android.internal.sync.data import com.squareup.moshi.JsonClass -import im.vector.matrix.core.api.events.Event +import im.vector.matrix.android.api.events.Event // PresenceSyncResponse represents the updates to the presence status of other users during server sync v2. @JsonClass(generateAdapter = true) diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/RoomInviteState.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/RoomInviteState.kt similarity index 89% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/RoomInviteState.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/RoomInviteState.kt index c3e8755415..f79daf4386 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/RoomInviteState.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/RoomInviteState.kt @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package im.vector.matrix.core.internal.sync.data +package im.vector.matrix.android.internal.sync.data import com.squareup.moshi.JsonClass -import im.vector.matrix.core.api.events.Event +import im.vector.matrix.android.api.events.Event // RoomInviteState represents the state of a room that the user has been invited to. @JsonClass(generateAdapter = true) diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/RoomResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/RoomResponse.kt similarity index 92% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/RoomResponse.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/RoomResponse.kt index d3844f5640..5bd6cffef5 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/RoomResponse.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/RoomResponse.kt @@ -1,8 +1,8 @@ -package im.vector.matrix.core.internal.sync.data +package im.vector.matrix.android.internal.sync.data import com.squareup.moshi.JsonClass -import im.vector.matrix.core.api.events.Event +import im.vector.matrix.android.api.events.Event /** * Class representing a room from a JSON response from room or global initial sync. diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/RoomSync.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/RoomSync.kt similarity index 96% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/RoomSync.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/RoomSync.kt index e713b48b4b..694f1a7ea3 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/RoomSync.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/RoomSync.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package im.vector.matrix.core.internal.sync.data +package im.vector.matrix.android.internal.sync.data import com.squareup.moshi.JsonClass diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/RoomSyncAccountData.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/RoomSyncAccountData.kt similarity index 68% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/RoomSyncAccountData.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/RoomSyncAccountData.kt index de998ec47c..d520211e81 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/RoomSyncAccountData.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/RoomSyncAccountData.kt @@ -1,7 +1,7 @@ -package im.vector.matrix.core.internal.sync.data +package im.vector.matrix.android.internal.sync.data import com.squareup.moshi.JsonClass -import im.vector.matrix.core.api.events.Event +import im.vector.matrix.android.api.events.Event @JsonClass(generateAdapter = true) data class RoomSyncAccountData( diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/RoomSyncEphemeral.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/RoomSyncEphemeral.kt similarity index 77% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/RoomSyncEphemeral.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/RoomSyncEphemeral.kt index 84218bd29e..0b7e6bf3d4 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/RoomSyncEphemeral.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/RoomSyncEphemeral.kt @@ -1,8 +1,8 @@ -package im.vector.matrix.core.internal.sync.data +package im.vector.matrix.android.internal.sync.data import com.squareup.moshi.JsonClass -import im.vector.matrix.core.api.events.Event +import im.vector.matrix.android.api.events.Event // RoomSyncEphemeral represents the ephemeral events in the room that aren't recorded in the timeline or state of the room (e.g. typing). @JsonClass(generateAdapter = true) diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/RoomSyncState.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/RoomSyncState.kt similarity index 90% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/RoomSyncState.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/RoomSyncState.kt index db287b5386..da3f441781 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/RoomSyncState.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/RoomSyncState.kt @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package im.vector.matrix.core.internal.sync.data +package im.vector.matrix.android.internal.sync.data import com.squareup.moshi.JsonClass -import im.vector.matrix.core.api.events.Event +import im.vector.matrix.android.api.events.Event // RoomSyncState represents the state updates for a room during server sync v2. @JsonClass(generateAdapter = true) diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/RoomSyncTimeline.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/RoomSyncTimeline.kt similarity index 86% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/RoomSyncTimeline.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/RoomSyncTimeline.kt index 993d571514..5354695172 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/RoomSyncTimeline.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/RoomSyncTimeline.kt @@ -1,8 +1,8 @@ -package im.vector.matrix.core.internal.sync.data +package im.vector.matrix.android.internal.sync.data import com.squareup.moshi.JsonClass -import im.vector.matrix.core.api.events.Event +import im.vector.matrix.android.api.events.Event // RoomSyncTimeline represents the timeline of messages and state changes for a room during server sync v2. @JsonClass(generateAdapter = true) diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/RoomSyncUnreadNotifications.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/RoomSyncUnreadNotifications.kt similarity index 80% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/RoomSyncUnreadNotifications.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/RoomSyncUnreadNotifications.kt index 252ea11807..872a35b693 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/RoomSyncUnreadNotifications.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/RoomSyncUnreadNotifications.kt @@ -1,8 +1,8 @@ -package im.vector.matrix.core.internal.sync.data +package im.vector.matrix.android.internal.sync.data import com.squareup.moshi.JsonClass -import im.vector.matrix.core.api.events.Event +import im.vector.matrix.android.api.events.Event /** * `MXRoomSyncUnreadNotifications` represents the unread counts for a room. diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/RoomsSyncResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/RoomsSyncResponse.kt similarity index 92% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/RoomsSyncResponse.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/RoomsSyncResponse.kt index fc7d7ea088..a79ea4e2c2 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/RoomsSyncResponse.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/RoomsSyncResponse.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package im.vector.matrix.core.internal.sync.data +package im.vector.matrix.android.internal.sync.data import com.squareup.moshi.JsonClass diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/SyncResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/SyncResponse.kt similarity index 94% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/SyncResponse.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/SyncResponse.kt index 1fc83b0e50..015e1c8bdb 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/SyncResponse.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/SyncResponse.kt @@ -1,4 +1,4 @@ -package im.vector.matrix.core.internal.sync.data +package im.vector.matrix.android.internal.sync.data import com.squareup.moshi.JsonClass diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/ToDeviceSyncResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/ToDeviceSyncResponse.kt similarity index 74% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/ToDeviceSyncResponse.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/ToDeviceSyncResponse.kt index c71b4e2ef6..83024b4d9d 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/ToDeviceSyncResponse.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/ToDeviceSyncResponse.kt @@ -1,8 +1,8 @@ -package im.vector.matrix.core.internal.sync.data +package im.vector.matrix.android.internal.sync.data import com.squareup.moshi.JsonClass -import im.vector.matrix.core.api.events.Event +import im.vector.matrix.android.api.events.Event // ToDeviceSyncResponse represents the data directly sent to one of user's devices. @JsonClass(generateAdapter = true) diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/TokensChunkResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/TokensChunkResponse.kt similarity index 80% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/TokensChunkResponse.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/TokensChunkResponse.kt index e6745de312..aab839da1d 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/sync/data/TokensChunkResponse.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/sync/data/TokensChunkResponse.kt @@ -1,4 +1,4 @@ -package im.vector.matrix.core.internal.sync.data +package im.vector.matrix.android.internal.sync.data import com.squareup.moshi.JsonClass diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/util/CancelableCoroutine.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/CancelableCoroutine.kt similarity index 60% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/util/CancelableCoroutine.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/CancelableCoroutine.kt index c3accb6043..8aa1883375 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/util/CancelableCoroutine.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/CancelableCoroutine.kt @@ -1,6 +1,6 @@ -package im.vector.matrix.core.internal.util +package im.vector.matrix.android.internal.util -import im.vector.matrix.core.api.util.Cancelable +import im.vector.matrix.android.api.util.Cancelable import kotlinx.coroutines.Job class CancelableCoroutine(private val job: Job) : Cancelable { diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/util/Either.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/Either.kt similarity index 93% rename from matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/util/Either.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/Either.kt index b9a2447fd7..56016e4b7e 100644 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/util/Either.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/Either.kt @@ -1,4 +1,4 @@ -package im.vector.matrix.core.internal.util +package im.vector.matrix.android.internal.util sealed class Either { /** * Represents the left side of [Either] class which by convention is a "Failure". */ diff --git a/matrix-sdk-core/.gitignore b/matrix-sdk-core/.gitignore deleted file mode 100644 index 796b96d1c4..0000000000 --- a/matrix-sdk-core/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build diff --git a/matrix-sdk-core/build.gradle b/matrix-sdk-core/build.gradle deleted file mode 100644 index fb9001d141..0000000000 --- a/matrix-sdk-core/build.gradle +++ /dev/null @@ -1,26 +0,0 @@ -apply plugin: 'java-library' -apply plugin: "kotlin" -apply plugin: 'kotlin-kapt' - - -dependencies { - - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" - implementation fileTree(dir: 'libs', include: ['*.jar']) - - // Network - implementation 'com.squareup.retrofit2:retrofit:2.4.0' - implementation 'com.squareup.retrofit2:converter-moshi:2.4.0' - implementation 'com.jakewharton.retrofit:retrofit2-kotlin-coroutines-adapter:0.9.2' - implementation 'com.squareup.okhttp3:okhttp:3.10.0' - implementation 'com.squareup.okhttp3:logging-interceptor:3.10.0' - implementation 'com.squareup.okio:okio:1.15.0' - implementation 'com.squareup.moshi:moshi-kotlin:1.7.0' - kapt 'com.squareup.moshi:moshi-kotlin-codegen:1.7.0' - - // DI - implementation "org.koin:koin-core:$koin_version" - implementation "org.koin:koin-core-ext:$koin_version" - - testImplementation 'junit:junit:4.12' -} diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/MatrixOptions.kt b/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/MatrixOptions.kt deleted file mode 100644 index b3fa3c8f78..0000000000 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/MatrixOptions.kt +++ /dev/null @@ -1,5 +0,0 @@ -package im.vector.matrix.core.api - -import java.util.concurrent.Executor - -data class MatrixOptions(val mainExecutor: Executor) \ No newline at end of file diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/Session.kt b/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/Session.kt deleted file mode 100644 index b9e8ffaed5..0000000000 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/Session.kt +++ /dev/null @@ -1,11 +0,0 @@ -package im.vector.matrix.core.api - -import im.vector.matrix.core.api.login.Authenticator - -interface Session { - - fun authenticator(): Authenticator - - fun close() - -} \ No newline at end of file diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/login/Authenticator.kt b/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/login/Authenticator.kt deleted file mode 100644 index 3a4d00984e..0000000000 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/login/Authenticator.kt +++ /dev/null @@ -1,11 +0,0 @@ -package im.vector.matrix.core.api.login - -import im.vector.matrix.core.api.MatrixCallback -import im.vector.matrix.core.api.util.Cancelable -import im.vector.matrix.core.api.login.data.Credentials - -interface Authenticator { - - fun authenticate(login: String, password: String, callback: MatrixCallback): Cancelable - -} \ No newline at end of file diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/login/CredentialsStore.kt b/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/login/CredentialsStore.kt deleted file mode 100644 index 3fc83e330a..0000000000 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/login/CredentialsStore.kt +++ /dev/null @@ -1,6 +0,0 @@ -package im.vector.matrix.core.api.login - -import im.vector.matrix.core.api.login.data.Credentials -import im.vector.matrix.core.api.storage.MxStore - -interface CredentialsStore : MxStore \ No newline at end of file diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/storage/MxQuery.kt b/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/storage/MxQuery.kt deleted file mode 100644 index 7e05b8edec..0000000000 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/storage/MxQuery.kt +++ /dev/null @@ -1,11 +0,0 @@ -package im.vector.matrix.core.api.storage - -import im.vector.matrix.core.api.util.Cancelable - -interface MxQuery { - - fun find(): DATA? - - fun subscribe(observer: MxQueryDataObserver): Cancelable - -} \ No newline at end of file diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/storage/MxQueryBuilder.kt b/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/storage/MxQueryBuilder.kt deleted file mode 100644 index 316bab4cf3..0000000000 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/storage/MxQueryBuilder.kt +++ /dev/null @@ -1,7 +0,0 @@ -package im.vector.matrix.core.api.storage - -interface MxQueryBuilder> { - - fun build(): QUERY - -} \ No newline at end of file diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/storage/MxQueryDataObserver.java b/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/storage/MxQueryDataObserver.java deleted file mode 100644 index ef2dd731ac..0000000000 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/storage/MxQueryDataObserver.java +++ /dev/null @@ -1,5 +0,0 @@ -package im.vector.matrix.core.api.storage; - -public interface MxQueryDataObserver { - void onData(DATA data); -} \ No newline at end of file diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/storage/MxStore.kt b/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/storage/MxStore.kt deleted file mode 100644 index f0463386d2..0000000000 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/storage/MxStore.kt +++ /dev/null @@ -1,13 +0,0 @@ -package im.vector.matrix.core.api.storage - -interface MxStore { - - fun put(data: DATA) - - fun remove(data: DATA) - - fun get(id: KEY): DATA? - - fun getAll(): List - -} \ No newline at end of file diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/util/Cancelable.kt b/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/util/Cancelable.kt deleted file mode 100644 index 7d69ae0b1f..0000000000 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/api/util/Cancelable.kt +++ /dev/null @@ -1,5 +0,0 @@ -package im.vector.matrix.core.api.util - -interface Cancelable { - fun cancel() -} \ No newline at end of file diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/MatrixModule.kt b/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/MatrixModule.kt deleted file mode 100644 index eff9cd1eae..0000000000 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/MatrixModule.kt +++ /dev/null @@ -1,27 +0,0 @@ -package im.vector.matrix.core.internal - -import im.vector.matrix.core.api.MatrixOptions -import im.vector.matrix.core.api.login.CredentialsStore -import im.vector.matrix.core.internal.login.db.InMemoryCredentialsStore -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.IO -import kotlinx.coroutines.asCoroutineDispatcher -import org.koin.dsl.context.ModuleDefinition -import org.koin.dsl.module.Module -import org.koin.dsl.module.module - - -class MatrixModule(private val options: MatrixOptions) : Module { - - override fun invoke(): ModuleDefinition = module { - - single { - MatrixCoroutineDispatchers(io = Dispatchers.IO, computation = Dispatchers.IO, main = options.mainExecutor.asCoroutineDispatcher()) - } - - single { - InMemoryCredentialsStore() as CredentialsStore - } - - }.invoke() -} \ No newline at end of file diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/login/data/LoginFlowResponse.kt b/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/login/data/LoginFlowResponse.kt deleted file mode 100644 index 3297dc5db0..0000000000 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/login/data/LoginFlowResponse.kt +++ /dev/null @@ -1,6 +0,0 @@ -package im.vector.matrix.core.internal.login.data - -import com.squareup.moshi.JsonClass - -@JsonClass(generateAdapter = true) -data class LoginFlowResponse(val flows: List) \ No newline at end of file diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/login/data/LoginParams.kt b/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/login/data/LoginParams.kt deleted file mode 100644 index 87e6536e7c..0000000000 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/login/data/LoginParams.kt +++ /dev/null @@ -1,5 +0,0 @@ -package im.vector.matrix.core.internal.login.data - -interface LoginParams { - val type: String -} \ No newline at end of file diff --git a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/login/db/InMemoryCredentialsStore.kt b/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/login/db/InMemoryCredentialsStore.kt deleted file mode 100644 index c49cdfa30e..0000000000 --- a/matrix-sdk-core/src/main/java/im/vector/matrix/core/internal/login/db/InMemoryCredentialsStore.kt +++ /dev/null @@ -1,26 +0,0 @@ -package im.vector.matrix.core.internal.login.db - -import im.vector.matrix.core.api.login.CredentialsStore -import im.vector.matrix.core.api.login.data.Credentials - -class InMemoryCredentialsStore : CredentialsStore { - - var credentials: Credentials? = null - - override fun put(data: Credentials) = synchronized(this) { - credentials = data.copy() - } - - override fun remove(data: Credentials) = synchronized(this) { - credentials = null - } - - override fun get(id: String): Credentials? = synchronized(this) { - return credentials - } - - override fun getAll(): List = synchronized(this) { - return credentials?.let { listOf(it) } ?: emptyList() - } - -} \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index a9ba70df48..cb22bfd794 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1 @@ -include ':app', ':matrix-sdk-core', ':matrix-sdk-rx', ':matrix-sdk-android' +include ':app', ':matrix-sdk-rx', ':matrix-sdk-android'