🎨 Conversation rendering improvements
This commit is contained in:
parent
be7a7f1af6
commit
e05d27bfbc
@ -80,7 +80,8 @@ class ConversationListFragment : Fragment(), ListHolder<Label> {
|
|||||||
|
|
||||||
if (!isLoading && !isLastPage) {
|
if (!isLoading && !isLastPage) {
|
||||||
if (visibleItemCount + firstVisibleItemPosition >= totalItemCount - 5
|
if (visibleItemCount + firstVisibleItemPosition >= totalItemCount - 5
|
||||||
&& firstVisibleItemPosition >= 0) {
|
&& firstVisibleItemPosition >= 0
|
||||||
|
) {
|
||||||
loadMoreItems()
|
loadMoreItems()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -183,7 +184,7 @@ class ConversationListFragment : Fragment(), ListHolder<Label> {
|
|||||||
val swipeManager = RecyclerViewSwipeManager()
|
val swipeManager = RecyclerViewSwipeManager()
|
||||||
|
|
||||||
//swipeableConversationAdapter
|
//swipeableConversationAdapter
|
||||||
val adapter = SwipeableConversationAdapter().apply {
|
val adapter = SwipeableConversationAdapter(context).apply {
|
||||||
setActivateOnItemClick(activateOnItemClick)
|
setActivateOnItemClick(activateOnItemClick)
|
||||||
}
|
}
|
||||||
adapter.eventListener = object : SwipeableConversationAdapter.EventListener {
|
adapter.eventListener = object : SwipeableConversationAdapter.EventListener {
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
package ch.dissem.apps.abit.adapter
|
package ch.dissem.apps.abit.adapter
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
|
import android.content.Context
|
||||||
import android.graphics.Typeface
|
import android.graphics.Typeface
|
||||||
import android.support.v7.widget.RecyclerView
|
import android.support.v7.widget.RecyclerView
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
@ -47,7 +48,7 @@ import java.util.*
|
|||||||
* @author Christian Basler
|
* @author Christian Basler
|
||||||
* @see [https://github.com/h6ah4i/android-advancedrecyclerview](https://github.com/h6ah4i/android-advancedrecyclerview)
|
* @see [https://github.com/h6ah4i/android-advancedrecyclerview](https://github.com/h6ah4i/android-advancedrecyclerview)
|
||||||
*/
|
*/
|
||||||
class SwipeableConversationAdapter :
|
class SwipeableConversationAdapter(ctx: Context) :
|
||||||
RecyclerView.Adapter<SwipeableConversationAdapter.ViewHolder>(),
|
RecyclerView.Adapter<SwipeableConversationAdapter.ViewHolder>(),
|
||||||
SwipeableItemAdapter<SwipeableConversationAdapter.ViewHolder>, SwipeableItemConstants {
|
SwipeableItemAdapter<SwipeableConversationAdapter.ViewHolder>, SwipeableItemConstants {
|
||||||
|
|
||||||
@ -60,6 +61,8 @@ class SwipeableConversationAdapter :
|
|||||||
private var selectedPosition = -1
|
private var selectedPosition = -1
|
||||||
private var activateOnItemClick: Boolean = false
|
private var activateOnItemClick: Boolean = false
|
||||||
|
|
||||||
|
private val labelUnknown = ctx.getString(R.string.unknown)
|
||||||
|
|
||||||
fun setActivateOnItemClick(activateOnItemClick: Boolean) {
|
fun setActivateOnItemClick(activateOnItemClick: Boolean) {
|
||||||
this.activateOnItemClick = activateOnItemClick
|
this.activateOnItemClick = activateOnItemClick
|
||||||
}
|
}
|
||||||
@ -172,7 +175,9 @@ class SwipeableConversationAdapter :
|
|||||||
// set data
|
// set data
|
||||||
avatar.setImageDrawable(MultiIdenticon(item.participants))
|
avatar.setImageDrawable(MultiIdenticon(item.participants))
|
||||||
|
|
||||||
sender.text = item.participants.mapNotNull { it.alias }.joinToString()
|
sender.text = item.participants.sortedBy {
|
||||||
|
(it.alias?.let { 0 } ?: 1) + if (it.isChan) 2 else 0
|
||||||
|
}.map { it.alias ?: labelUnknown }.distinct().joinToString()
|
||||||
subject.text = prepareMessageExtract(item.subject)
|
subject.text = prepareMessageExtract(item.subject)
|
||||||
extract.text = prepareMessageExtract(item.extract)
|
extract.text = prepareMessageExtract(item.extract)
|
||||||
if (item.hasUnread()) {
|
if (item.hasUnread()) {
|
||||||
|
@ -149,4 +149,5 @@ As an alternative you could configure a trusted node in the settings, but as of
|
|||||||
<string name="preference_group_advanced_summary"></string>
|
<string name="preference_group_advanced_summary"></string>
|
||||||
<string name="preference_group_experimental">Experimental</string>
|
<string name="preference_group_experimental">Experimental</string>
|
||||||
<string name="preference_group_experimental_summary">Only change if you know what you\'re doing</string>
|
<string name="preference_group_experimental_summary">Only change if you know what you\'re doing</string>
|
||||||
|
<string name="unknown">Unknown</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
Loading…
Reference in New Issue
Block a user