diff --git a/vector/src/main/java/im/vector/app/core/extensions/ViewExtensions.kt b/vector/src/main/java/im/vector/app/core/extensions/ViewExtensions.kt index f07b4d7633..713d95b977 100644 --- a/vector/src/main/java/im/vector/app/core/extensions/ViewExtensions.kt +++ b/vector/src/main/java/im/vector/app/core/extensions/ViewExtensions.kt @@ -71,6 +71,12 @@ fun View.setAttributeTintedBackground(@DrawableRes drawableRes: Int, @AttrRes ti background = drawable } +fun ImageView.setAttributeTintedImageResource(@DrawableRes drawableRes: Int, @AttrRes tint: Int) { + val drawable = ContextCompat.getDrawable(context, drawableRes)!! + DrawableCompat.setTint(drawable, context.fetchThemeColor(tint)) + setImageDrawable(drawable) +} + fun View.setAttributeBackground(@AttrRes attributeId: Int) { val typedValue = TypedValue() context.theme.resolveAttribute(attributeId, typedValue, true) diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/composer/VoiceMessageRecorderView.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/composer/VoiceMessageRecorderView.kt index ed48f18f8d..1749c955c9 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/composer/VoiceMessageRecorderView.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/composer/VoiceMessageRecorderView.kt @@ -29,6 +29,7 @@ import im.vector.app.BuildConfig import im.vector.app.R import im.vector.app.core.extensions.setAttributeBackground import im.vector.app.core.extensions.setAttributeTintedBackground +import im.vector.app.core.extensions.setAttributeTintedImageResource import im.vector.app.core.hardware.vibrate import im.vector.app.core.utils.CountUpTimer import im.vector.app.core.utils.DimensionConverter @@ -219,7 +220,7 @@ class VoiceMessageRecorderView: ConstraintLayout, VoiceMessagePlaybackTracker.Li views.voiceMessageLockArrow.translationY = 0F } RecordingState.LOCKING -> { - views.voiceMessageLockImage.setImageResource(R.drawable.ic_voice_message_locked) + views.voiceMessageLockImage.setAttributeTintedImageResource(R.drawable.ic_voice_message_locked, R.attr.colorPrimary) val translationAmount = -distanceY.coerceIn(0F, distanceToLock) views.voiceMessageMicButton.translationY = translationAmount views.voiceMessageLockArrow.translationY = translationAmount diff --git a/vector/src/main/res/drawable/ic_voice_message_locked.xml b/vector/src/main/res/drawable/ic_voice_message_locked.xml index 2b92d9d5e0..a396f684b1 100644 --- a/vector/src/main/res/drawable/ic_voice_message_locked.xml +++ b/vector/src/main/res/drawable/ic_voice_message_locked.xml @@ -1,5 +1,5 @@ - +