BayernMessenger/app/src/main/java/im/vector/riotredesign/features/home/HomeActivity.kt

62 lines
2.1 KiB
Kotlin
Raw Normal View History

2018-10-03 15:56:33 +00:00
package im.vector.riotredesign.features.home
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.view.View
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.database.model.RoomSummaryEntity
import im.vector.matrix.android.internal.events.sync.data.SyncResponse
2018-10-03 15:56:33 +00:00
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
import timber.log.Timber
2018-10-03 15:56:33 +00:00
class HomeActivity : RiotActivity() {
private val matrix by inject<Matrix>()
private val synchronizer = matrix.currentSession?.synchronizer()
private val realmHolder = matrix.currentSession?.realmHolder()
2018-10-03 15:56:33 +00:00
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<SyncResponse> {
override fun onSuccess(data: SyncResponse) {
synchronizeButton.visibility = View.VISIBLE
loadingView.visibility = View.GONE
Timber.v("Sync successful")
}
override fun onFailure(failure: Failure) {
synchronizeButton.visibility = View.VISIBLE
loadingView.visibility = View.GONE
Timber.e("Sync has failed : %s", failure.toString())
}
})
2018-10-15 17:42:13 +00:00
if (realmHolder != null) {
val results = realmHolder.instance.where(RoomSummaryEntity::class.java).findAll()
results.addChangeListener { summaries ->
Timber.v("Summaries updated")
}
2018-10-15 17:42:13 +00:00
}
2018-10-03 15:56:33 +00:00
}
companion object {
fun newIntent(context: Context): Intent {
return Intent(context, HomeActivity::class.java)
}
}
}