Use RealmAdapter for conversation info recipients

This commit is contained in:
Moez Bhatti
2018-04-05 05:03:51 -04:00
parent 562137aa77
commit 8f2415afa2
3 changed files with 12 additions and 11 deletions
@@ -24,12 +24,12 @@ import com.jakewharton.rxbinding2.view.clicks
import com.moez.QKSMS.R
import com.uber.autodispose.android.lifecycle.scope
import com.uber.autodispose.kotlin.autoDisposable
import injection.appComponent
import common.util.extensions.setVisible
import io.reactivex.subjects.PublishSubject
import kotlinx.android.synthetic.main.conversation_info_activity.*
import common.Navigator
import common.base.QkThemedActivity
import common.util.extensions.setVisible
import injection.appComponent
import io.reactivex.subjects.PublishSubject
import kotlinx.android.synthetic.main.conversation_info_activity.*
import javax.inject.Inject
class ConversationInfoActivity : QkThemedActivity<ConversationInfoViewModel>(), ConversationInfoView {
@@ -78,7 +78,7 @@ class ConversationInfoActivity : QkThemedActivity<ConversationInfoViewModel>(),
return
}
recipientAdapter.data = state.recipients
recipientAdapter.updateData(state.recipients)
recipientAdapter.threadId = state.threadId
notifications.setVisible(!state.blocked)
@@ -18,11 +18,12 @@
*/
package feature.conversationinfo
import io.realm.RealmList
import model.MmsPart
import model.Recipient
data class ConversationInfoState(
val recipients: List<Recipient> = listOf(),
val recipients: RealmList<Recipient>? = null,
val threadId: Long = 0,
val archived: Boolean = false,
val blocked: Boolean = false,
@@ -23,6 +23,9 @@ import android.support.v7.widget.RecyclerView
import android.view.LayoutInflater
import android.view.ViewGroup
import com.moez.QKSMS.R
import common.Navigator
import common.base.QkRealmAdapter
import common.base.QkViewHolder
import common.util.Colors
import common.util.extensions.setTint
import common.util.extensions.setVisible
@@ -30,16 +33,13 @@ import io.reactivex.disposables.CompositeDisposable
import io.reactivex.rxkotlin.plusAssign
import kotlinx.android.synthetic.main.conversation_recipient_list_item.view.*
import model.Recipient
import common.Navigator
import common.base.QkAdapter
import common.base.QkViewHolder
import javax.inject.Inject
class ConversationRecipientAdapter @Inject constructor(
private val context: Context,
private val colors: Colors,
private val navigator: Navigator
) : QkAdapter<Recipient>() {
) : QkRealmAdapter<Recipient>() {
var threadId: Long = 0L
@@ -56,7 +56,7 @@ class ConversationRecipientAdapter @Inject constructor(
}
override fun onBindViewHolder(holder: QkViewHolder, position: Int) {
val recipient = getItem(position)
val recipient = getItem(position)!!
val view = holder.itemView
view.setOnClickListener {