You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
session-android/app/src/main/java/org/thoughtcrime/securesms/preferences/BlockedContactsActivity.kt

49 lines
1.7 KiB
Kotlin

package org.thoughtcrime.securesms.preferences
import android.os.Bundle
import androidx.activity.viewModels
import androidx.core.view.isVisible
import dagger.hilt.android.AndroidEntryPoint
import network.loki.messenger.R
import network.loki.messenger.databinding.ActivityBlockedContactsBinding
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity
import org.thoughtcrime.securesms.showSessionDialog
@AndroidEntryPoint
class BlockedContactsActivity: PassphraseRequiredActionBarActivity() {
lateinit var binding: ActivityBlockedContactsBinding
val viewModel: BlockedContactsViewModel by viewModels()
val adapter: BlockedContactsAdapter by lazy { BlockedContactsAdapter(viewModel) }
fun unblock() {
showSessionDialog {
title(viewModel.getTitle(this@BlockedContactsActivity))
text(viewModel.getMessage(this@BlockedContactsActivity))
button(R.string.continue_2) { viewModel.unblock() }
cancelButton()
}
}
override fun onCreate(savedInstanceState: Bundle?, ready: Boolean) {
super.onCreate(savedInstanceState, ready)
binding = ActivityBlockedContactsBinding.inflate(layoutInflater)
setContentView(binding.root)
binding.recyclerView.adapter = adapter
viewModel.subscribe(this)
.observe(this) { state ->
adapter.submitList(state.items)
binding.emptyStateMessageTextView.isVisible = state.emptyStateMessageTextViewVisible
binding.nonEmptyStateGroup.isVisible = state.nonEmptyStateGroupVisible
binding.unblockButton.isEnabled = state.unblockButtonEnabled
}
binding.unblockButton.setOnClickListener { unblock() }
}
}