diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index b6dd91a1..11f62eee 100644 Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ diff --git a/.idea/dictionaries/ganfra.xml b/.idea/dictionaries/ganfra.xml index 2c6e3c0c..a9343c03 100644 --- a/.idea/dictionaries/ganfra.xml +++ b/.idea/dictionaries/ganfra.xml @@ -3,6 +3,7 @@ coroutine moshi + synchronizer \ No newline at end of file diff --git a/app/src/main/java/im/vector/riotredesign/features/home/HomeActivity.kt b/app/src/main/java/im/vector/riotredesign/features/home/HomeActivity.kt index 93953b7f..4955741e 100644 --- a/app/src/main/java/im/vector/riotredesign/features/home/HomeActivity.kt +++ b/app/src/main/java/im/vector/riotredesign/features/home/HomeActivity.kt @@ -3,14 +3,45 @@ package im.vector.riotredesign.features.home import android.content.Context import android.content.Intent import android.os.Bundle +import android.view.View +import android.widget.Toast +import im.vector.matrix.android.api.Matrix +import im.vector.matrix.android.api.MatrixCallback +import im.vector.matrix.android.api.failure.Failure +import im.vector.matrix.android.internal.events.sync.data.SyncResponse import im.vector.riotredesign.R import im.vector.riotredesign.core.platform.RiotActivity +import kotlinx.android.synthetic.main.activity_home.* +import org.koin.android.ext.android.inject class HomeActivity : RiotActivity() { + private val matrix by inject() + private val synchronizer = matrix.currentSession?.synchronizer() + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_home) + synchronizeButton.setOnClickListener { synchronize() } + } + + private fun synchronize() { + synchronizeButton.visibility = View.GONE + loadingView.visibility = View.VISIBLE + synchronizer?.synchronize(object : MatrixCallback { + override fun onSuccess(data: SyncResponse?) { + synchronizeButton.visibility = View.VISIBLE + loadingView.visibility = View.GONE + Toast.makeText(this@HomeActivity, "Success", Toast.LENGTH_LONG).show() + + } + + override fun onFailure(failure: Failure) { + synchronizeButton.visibility = View.VISIBLE + loadingView.visibility = View.GONE + Toast.makeText(this@HomeActivity, failure.toString(), Toast.LENGTH_LONG).show() + } + }) } diff --git a/app/src/main/java/im/vector/riotredesign/features/login/LoginActivity.kt b/app/src/main/java/im/vector/riotredesign/features/login/LoginActivity.kt index 70078f58..31d8b37b 100644 --- a/app/src/main/java/im/vector/riotredesign/features/login/LoginActivity.kt +++ b/app/src/main/java/im/vector/riotredesign/features/login/LoginActivity.kt @@ -5,9 +5,9 @@ import android.view.View import android.widget.Toast import im.vector.matrix.android.api.Matrix import im.vector.matrix.android.api.MatrixCallback -import im.vector.matrix.android.api.failure.Failure -import im.vector.matrix.android.api.auth.data.Credentials +import im.vector.matrix.android.api.session.Session import im.vector.matrix.android.api.auth.data.HomeServerConnectionConfig +import im.vector.matrix.android.api.failure.Failure import im.vector.riotredesign.R import im.vector.riotredesign.core.platform.RiotActivity import im.vector.riotredesign.features.home.HomeActivity @@ -17,10 +17,8 @@ import org.koin.android.ext.android.inject class LoginActivity : RiotActivity() { private val matrix by inject() - private val homeServerConnectionConfig = HomeServerConnectionConfig("https://matrix.org/") - private val session = matrix.createSession(homeServerConnectionConfig) - private val authenticator = session.authenticator() + private val authenticator = matrix.authenticator() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -32,8 +30,9 @@ class LoginActivity : RiotActivity() { val login = loginField.text.trim().toString() val password = passwordField.text.trim().toString() progressBar.visibility = View.VISIBLE - authenticator.authenticate(login, password, object : MatrixCallback { - override fun onSuccess(data: Credentials?) { + authenticator.authenticate(homeServerConnectionConfig, login, password, object : MatrixCallback { + override fun onSuccess(data: Session?) { + matrix.currentSession = data goToHomeScreen() } diff --git a/app/src/main/res/layout/activity_home.xml b/app/src/main/res/layout/activity_home.xml index 84615cdd..3078248e 100644 --- a/app/src/main/res/layout/activity_home.xml +++ b/app/src/main/res/layout/activity_home.xml @@ -7,20 +7,34 @@ android:orientation="vertical" tools:context=".features.login.LoginActivity"> - - +