refactor: change the call logos in control messages

This commit is contained in:
jubb
2021-11-25 17:23:48 +11:00
parent e8400c375b
commit 787fefc237
4 changed files with 43 additions and 1 deletions

View File

@@ -1,10 +1,12 @@
package org.thoughtcrime.securesms.conversation.v2.messages package org.thoughtcrime.securesms.conversation.v2.messages
import android.content.Context import android.content.Context
import android.content.res.ColorStateList
import android.util.AttributeSet import android.util.AttributeSet
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.widget.LinearLayout import android.widget.LinearLayout
import androidx.core.content.ContextCompat
import androidx.core.content.res.ResourcesCompat import androidx.core.content.res.ResourcesCompat
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import kotlinx.android.synthetic.main.view_control_message.view.* import kotlinx.android.synthetic.main.view_control_message.view.*
@@ -27,6 +29,8 @@ class ControlMessageView : LinearLayout {
// region Updating // region Updating
fun bind(message: MessageRecord) { fun bind(message: MessageRecord) {
iconImageView.visibility = View.GONE iconImageView.visibility = View.GONE
val tintColor = if (message.isMissedCall) R.color.destructive else R.color.text
iconImageView.imageTintList = ColorStateList.valueOf(ContextCompat.getColor(context,tintColor))
if (message.isExpirationTimerUpdate) { if (message.isExpirationTimerUpdate) {
iconImageView.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.ic_timer, context.theme)) iconImageView.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.ic_timer, context.theme))
iconImageView.visibility = View.VISIBLE iconImageView.visibility = View.VISIBLE
@@ -34,7 +38,12 @@ class ControlMessageView : LinearLayout {
iconImageView.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.ic_file_download_white_36dp, context.theme)) iconImageView.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.ic_file_download_white_36dp, context.theme))
iconImageView.visibility = View.VISIBLE iconImageView.visibility = View.VISIBLE
} else if (message.isCallLog) { } else if (message.isCallLog) {
iconImageView.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.ic_baseline_call_24, context.theme)) val drawable = when {
message.isIncomingCall -> R.drawable.ic_baseline_call_received_24
message.isOutgoingCall -> R.drawable.ic_baseline_call_made_24
else -> R.drawable.ic_baseline_call_missed_24
}
iconImageView.setImageDrawable(ResourcesCompat.getDrawable(resources, drawable, context.theme))
iconImageView.visibility = View.VISIBLE iconImageView.visibility = View.VISIBLE
} }
textView.text = message.getDisplayBody(context) textView.text = message.getDisplayBody(context)

View File

@@ -0,0 +1,11 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal"
android:autoMirrored="true">
<path
android:fillColor="@android:color/white"
android:pathData="M9,5v2h6.59L4,18.59 5.41,20 17,8.41V15h2V5z"/>
</vector>

View File

@@ -0,0 +1,11 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal"
android:autoMirrored="true">
<path
android:fillColor="@android:color/white"
android:pathData="M19.59,7L12,14.59 6.41,9H11V7H3v8h2v-4.59l7,7 9,-9z"/>
</vector>

View File

@@ -0,0 +1,11 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal"
android:autoMirrored="true">
<path
android:fillColor="@android:color/white"
android:pathData="M20,5.41L18.59,4 7,15.59V9H5v10h10v-2H8.41z"/>
</vector>