Skip to content
Snippets Groups Projects
Commit dc995be4 authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

Improve selection

parent b8a8050e
No related branches found
No related tags found
No related merge requests found
......@@ -115,17 +115,23 @@ class MessageAdapter(
var markerline: View? = null
private var message: FormattedMessage? = null
private var selectable: Boolean = false
private var clickable: Boolean = false
private val localClickListener = View.OnClickListener {
if (clickable) {
message?.let {
clickListener?.invoke(it)
}
}
}
private val localLongClickListener = View.OnLongClickListener {
if (selectable) {
message?.let {
selectionListener?.invoke(it)
}
}
true
}
......@@ -141,8 +147,10 @@ class MessageAdapter(
content.setOnLongClickListener(localLongClickListener)
}
fun bind(message: FormattedMessage) {
fun bind(message: FormattedMessage, selectable: Boolean = true, clickable: Boolean = true) {
this.message = message
this.selectable = selectable
this.clickable = clickable
time?.text = message.time
content.text = message.content
......
......@@ -2,6 +2,8 @@ package de.kuschku.quasseldroid.ui.chat.messages
import android.content.Context
import android.graphics.Typeface
import android.graphics.drawable.ColorDrawable
import android.graphics.drawable.LayerDrawable
import android.text.SpannableString
import android.text.Spanned
import android.text.TextPaint
......@@ -71,11 +73,17 @@ class QuasselMessageRenderer @Inject constructor(
hasHighlight: Boolean) {
if (hasHighlight) {
viewHolder.itemView.context.theme.styledAttributes(
R.attr.colorForegroundHighlight, R.attr.colorBackgroundHighlight
R.attr.colorForegroundHighlight, R.attr.colorBackgroundHighlight,
R.attr.backgroundMenuItem
) {
viewHolder.time?.setTextColor(getColor(0, 0))
viewHolder.content.setTextColor(getColor(0, 0))
viewHolder.itemView.setBackgroundColor(getColor(1, 0))
viewHolder.itemView.background = LayerDrawable(
arrayOf(
ColorDrawable(getColor(1, 0)),
getDrawable(2)
)
)
}
}
if (appearanceSettings.useMonospace) {
......@@ -92,7 +100,10 @@ class QuasselMessageRenderer @Inject constructor(
}
override fun bind(holder: MessageAdapter.QuasselMessageViewHolder, message: FormattedMessage,
original: QuasselDatabase.DatabaseMessage) = holder.bind(message)
original: QuasselDatabase.DatabaseMessage) =
Message_Type.of(original.type).hasFlag(DayChange).let { isDayChange ->
holder.bind(message, !isDayChange, !isDayChange)
}
override fun render(context: Context,
message: DisplayMessage): FormattedMessage {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment