Tweak name color palette and fix issue with non-present group members.
This commit is contained in:
parent
625d36fb27
commit
1d6d27d46c
2 changed files with 43 additions and 29 deletions
|
@ -185,42 +185,42 @@ object ChatColorsPalette {
|
|||
object Names {
|
||||
@JvmStatic
|
||||
val all = listOf(
|
||||
NameColor(lightColor = 0xFFD00B0B.toInt(), darkColor = 0xFFF76E6E.toInt()),
|
||||
NameColor(lightColor = 0xFF006DA3.toInt(), darkColor = 0xFF00A7FA.toInt()),
|
||||
NameColor(lightColor = 0xFF007A3D.toInt(), darkColor = 0xFF00B85C.toInt()),
|
||||
NameColor(lightColor = 0xFFC13215.toInt(), darkColor = 0xFFFF6F52.toInt()),
|
||||
NameColor(lightColor = 0xFFB814B8.toInt(), darkColor = 0xFFF65AF6.toInt()),
|
||||
NameColor(lightColor = 0xFF5B6976.toInt(), darkColor = 0xFF8BA1B6.toInt()),
|
||||
NameColor(lightColor = 0xFF3D7406.toInt(), darkColor = 0xFF5EB309.toInt()),
|
||||
NameColor(lightColor = 0xFFCC0066.toInt(), darkColor = 0xFFF76EB2.toInt()),
|
||||
NameColor(lightColor = 0xFF2E51FF.toInt(), darkColor = 0xFF8599FF.toInt()),
|
||||
NameColor(lightColor = 0xFF9C5711.toInt(), darkColor = 0xFFD5920B.toInt()),
|
||||
NameColor(lightColor = 0xFF007575.toInt(), darkColor = 0xFF00B2B2.toInt()),
|
||||
NameColor(lightColor = 0xFFD00B4D.toInt(), darkColor = 0xFFFF6B9C.toInt()),
|
||||
NameColor(lightColor = 0xFF8F2AF4.toInt(), darkColor = 0xFFBF80FF.toInt()),
|
||||
NameColor(lightColor = 0xFFD00B0B.toInt(), darkColor = 0xFFFF7070.toInt()),
|
||||
NameColor(lightColor = 0xFF067906.toInt(), darkColor = 0xFF0AB80A.toInt()),
|
||||
NameColor(lightColor = 0xFF5151F6.toInt(), darkColor = 0xFF8B8BF9.toInt()),
|
||||
NameColor(lightColor = 0xFF866118.toInt(), darkColor = 0xFFD08F0B.toInt()),
|
||||
NameColor(lightColor = 0xFF067953.toInt(), darkColor = 0xFF09B37B.toInt()),
|
||||
NameColor(lightColor = 0xFFA20CED.toInt(), darkColor = 0xFFCB72F8.toInt()),
|
||||
NameColor(lightColor = 0xFF507406.toInt(), darkColor = 0xFF77AE09.toInt()),
|
||||
NameColor(lightColor = 0xFF086DA0.toInt(), darkColor = 0xFF0DA6F2.toInt()),
|
||||
NameColor(lightColor = 0xFF5151F6.toInt(), darkColor = 0xFF9494FF.toInt()),
|
||||
NameColor(lightColor = 0xFF866118.toInt(), darkColor = 0xFFD68F00.toInt()),
|
||||
NameColor(lightColor = 0xFF067953.toInt(), darkColor = 0xFF00B87A.toInt()),
|
||||
NameColor(lightColor = 0xFFA20CED.toInt(), darkColor = 0xFFCF7CF8.toInt()),
|
||||
NameColor(lightColor = 0xFF4B7000.toInt(), darkColor = 0xFF74AD00.toInt()),
|
||||
NameColor(lightColor = 0xFFC70A88.toInt(), darkColor = 0xFFF76EC9.toInt()),
|
||||
NameColor(lightColor = 0xFFB34209.toInt(), darkColor = 0xFFF4702F.toInt()),
|
||||
NameColor(lightColor = 0xFFB34209.toInt(), darkColor = 0xFFF57A3D.toInt()),
|
||||
NameColor(lightColor = 0xFF06792D.toInt(), darkColor = 0xFF0AB844.toInt()),
|
||||
NameColor(lightColor = 0xFF7A3DF5.toInt(), darkColor = 0xFFAC86F9.toInt()),
|
||||
NameColor(lightColor = 0xFF6C6C13.toInt(), darkColor = 0xFFA5A509.toInt()),
|
||||
NameColor(lightColor = 0xFF067474.toInt(), darkColor = 0xFF09AEAE.toInt()),
|
||||
NameColor(lightColor = 0xFFB80AB8.toInt(), darkColor = 0xFFF75FF7.toInt()),
|
||||
NameColor(lightColor = 0xFF7A3DF5.toInt(), darkColor = 0xFFAF8AF9.toInt()),
|
||||
NameColor(lightColor = 0xFF6B6B24.toInt(), darkColor = 0xFFA4A437.toInt()),
|
||||
NameColor(lightColor = 0xFFD00B2C.toInt(), darkColor = 0xFFF77389.toInt()),
|
||||
NameColor(lightColor = 0xFF2D7906.toInt(), darkColor = 0xFF42B309.toInt()),
|
||||
NameColor(lightColor = 0xFF0D59F2.toInt(), darkColor = 0xFF6495F7.toInt()),
|
||||
NameColor(lightColor = 0xFFD00B4D.toInt(), darkColor = 0xFFF76998.toInt()),
|
||||
NameColor(lightColor = 0xFFC72A0A.toInt(), darkColor = 0xFFF67055.toInt()),
|
||||
NameColor(lightColor = 0xFF067919.toInt(), darkColor = 0xFF0AB827.toInt()),
|
||||
NameColor(lightColor = 0xFF6447F5.toInt(), darkColor = 0xFF9986F9.toInt()),
|
||||
NameColor(lightColor = 0xFFAF0BD0.toInt(), darkColor = 0xFFE06EF7.toInt()),
|
||||
NameColor(lightColor = 0xFF32763E.toInt(), darkColor = 0xFF4BAF5C.toInt()),
|
||||
NameColor(lightColor = 0xFF2662D9.toInt(), darkColor = 0xFF7DA1E8.toInt()),
|
||||
NameColor(lightColor = 0xFF76681E.toInt(), darkColor = 0xFFB89B0A.toInt()),
|
||||
NameColor(lightColor = 0xFF067462.toInt(), darkColor = 0xFF09B397.toInt()),
|
||||
NameColor(lightColor = 0xFFAF0BD0.toInt(), darkColor = 0xFFE06EF7.toInt()),
|
||||
NameColor(lightColor = 0xFF3D7406.toInt(), darkColor = 0xFF5EB309.toInt()),
|
||||
NameColor(lightColor = 0xFF0A69C7.toInt(), darkColor = 0xFF429CF5.toInt()),
|
||||
NameColor(lightColor = 0xFFCB0B6B.toInt(), darkColor = 0xFFF76EB2.toInt()),
|
||||
NameColor(lightColor = 0xFF9C5711.toInt(), darkColor = 0xFFE97A0C.toInt()),
|
||||
NameColor(lightColor = 0xFF067940.toInt(), darkColor = 0xFF09B35E.toInt()),
|
||||
NameColor(lightColor = 0xFF8F2AF4.toInt(), darkColor = 0xFFBD81F8.toInt()),
|
||||
NameColor(lightColor = 0xFF6447F5.toInt(), darkColor = 0xFFA18FF9.toInt()),
|
||||
NameColor(lightColor = 0xFF5E6E0C.toInt(), darkColor = 0xFF8FAA09.toInt()),
|
||||
NameColor(lightColor = 0xFF077288.toInt(), darkColor = 0xFF0BABCB.toInt()),
|
||||
NameColor(lightColor = 0xFF077288.toInt(), darkColor = 0xFF00AED1.toInt()),
|
||||
NameColor(lightColor = 0xFFC20AA3.toInt(), darkColor = 0xFFF75FDD.toInt()),
|
||||
NameColor(lightColor = 0xFF1A7906.toInt(), darkColor = 0xFF27B80A.toInt()),
|
||||
NameColor(lightColor = 0xFF3454F4.toInt(), darkColor = 0xFF778DF8.toInt()),
|
||||
NameColor(lightColor = 0xFFD00B2C.toInt(), darkColor = 0xFFF76E85.toInt())
|
||||
NameColor(lightColor = 0xFF2D761E.toInt(), darkColor = 0xFF43B42D.toInt()),
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@ import androidx.core.content.ContextCompat
|
|||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import org.thoughtcrime.securesms.R
|
||||
import org.thoughtcrime.securesms.conversation.colors.ui.ChatColorPreviewView
|
||||
import org.thoughtcrime.securesms.recipients.Recipient
|
||||
import org.thoughtcrime.securesms.recipients.RecipientId
|
||||
import org.thoughtcrime.securesms.util.Projection
|
||||
|
@ -22,6 +23,7 @@ import org.thoughtcrime.securesms.util.Projection
|
|||
*/
|
||||
class Colorizer(private val colorizerView: ColorizerView) : RecyclerView.OnScrollListener(), View.OnLayoutChangeListener {
|
||||
|
||||
private var colorsHaveBeenSet = false
|
||||
private val groupSenderColors: MutableMap<RecipientId, NameColor> = mutableMapOf()
|
||||
|
||||
@ColorInt
|
||||
|
@ -40,7 +42,7 @@ class Colorizer(private val colorizerView: ColorizerView) : RecyclerView.OnScrol
|
|||
}
|
||||
|
||||
@ColorInt
|
||||
fun getIncomingGroupSenderColor(context: Context, recipient: Recipient): Int = groupSenderColors[recipient.id]?.getColor(context) ?: Color.TRANSPARENT
|
||||
fun getIncomingGroupSenderColor(context: Context, recipient: Recipient): Int = groupSenderColors[recipient.id]?.getColor(context) ?: getDefaultColor(context, recipient.id)
|
||||
|
||||
fun attachToRecyclerView(recyclerView: RecyclerView) {
|
||||
recyclerView.addOnScrollListener(this)
|
||||
|
@ -50,6 +52,7 @@ class Colorizer(private val colorizerView: ColorizerView) : RecyclerView.OnScrol
|
|||
fun onNameColorsChanged(nameColorMap: Map<RecipientId, NameColor>) {
|
||||
groupSenderColors.clear()
|
||||
groupSenderColors.putAll(nameColorMap)
|
||||
colorsHaveBeenSet = true
|
||||
}
|
||||
|
||||
fun onChatColorsChanged(chatColors: ChatColors) {
|
||||
|
@ -89,4 +92,15 @@ class Colorizer(private val colorizerView: ColorizerView) : RecyclerView.OnScrol
|
|||
colorizerView.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
|
||||
@ColorInt
|
||||
private fun getDefaultColor(context: Context, recipientId: RecipientId): Int {
|
||||
return if (colorsHaveBeenSet) {
|
||||
val color = ChatColorsPalette.Names.all[groupSenderColors.size % ChatColorsPalette.Names.all.size]
|
||||
groupSenderColors[recipientId] = color
|
||||
return color.getColor(context)
|
||||
} else {
|
||||
Color.TRANSPARENT
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue