[merge-features] Fix voice messsage bubble layout + SC themes
Change-Id: Idd2dddc8c8f6333ca90fa5411c69e084e3a4cdcf
This commit is contained in:
parent
899168e84c
commit
3959a838d1
|
@ -18,6 +18,7 @@
|
|||
<attr name="message_highlight_bg_color" format="color" />
|
||||
<attr name="code_block_bg_color" format="color" />
|
||||
<attr name="quote_bar_color" format="color" />
|
||||
<attr name="voice_message_playback_background_color" format="color" />
|
||||
|
||||
<attr name="user_color_pl_100" format="color" />
|
||||
<attr name="user_color_pl_95" format="color" />
|
||||
|
|
|
@ -133,6 +133,7 @@
|
|||
<item name="user_color_pl_51">@color/user_color_element_pl_51</item>
|
||||
<item name="user_color_pl_95">@color/user_color_element_pl_95</item>
|
||||
<item name="user_color_pl_100">@color/user_color_element_pl_100</item>
|
||||
<item name="voice_message_playback_background_color">?vctr_content_quinary</item>
|
||||
|
||||
<item name="android:statusBarColor">@color/android_status_bar_background_dark</item>
|
||||
<item name="android:navigationBarColor">@color/android_navigation_bar_background_dark</item>
|
||||
|
|
|
@ -133,6 +133,7 @@
|
|||
<item name="user_color_pl_51">@color/user_color_element_pl_51</item>
|
||||
<item name="user_color_pl_95">@color/user_color_element_pl_95</item>
|
||||
<item name="user_color_pl_100">@color/user_color_element_pl_100</item>
|
||||
<item name="voice_message_playback_background_color">?vctr_content_quinary</item>
|
||||
|
||||
<!-- Use dark color, to have enough contrast with icons color. windowLightStatusBar is only available in API 23+ -->
|
||||
<item name="android:statusBarColor">@color/android_status_bar_background_dark</item>
|
||||
|
|
|
@ -94,6 +94,7 @@
|
|||
<item name="user_color_pl_51">@color/user_color_sc_pl_51</item>
|
||||
<item name="user_color_pl_95">@color/user_color_sc_pl_95</item>
|
||||
<item name="user_color_pl_100">@color/user_color_sc_pl_100</item>
|
||||
<item name="voice_message_playback_background_color">#1fffffff</item>
|
||||
|
||||
<item name="android:statusBarColor">@color/background_black_sc</item>
|
||||
<item name="android:navigationBarColor">@color/background_black_sc</item>
|
||||
|
|
|
@ -94,6 +94,7 @@
|
|||
<item name="user_color_pl_51">@color/user_color_sc_pl_51</item>
|
||||
<item name="user_color_pl_95">@color/user_color_sc_pl_95</item>
|
||||
<item name="user_color_pl_100">@color/user_color_sc_pl_100</item>
|
||||
<item name="voice_message_playback_background_color">#1f000000</item>
|
||||
|
||||
<item name="android:statusBarColor">@color/background_black_sc</item>
|
||||
<item name="android:navigationBarColor">@color/background_black_sc</item>
|
||||
|
|
|
@ -16,10 +16,12 @@
|
|||
|
||||
package im.vector.app.features.home.room.detail.timeline.item
|
||||
|
||||
import android.content.Context
|
||||
import android.text.format.DateUtils
|
||||
import android.view.ViewGroup
|
||||
import android.widget.ImageButton
|
||||
import android.widget.TextView
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import androidx.core.view.isVisible
|
||||
import com.airbnb.epoxy.EpoxyAttribute
|
||||
import com.airbnb.epoxy.EpoxyModelClass
|
||||
|
@ -29,6 +31,7 @@ import im.vector.app.core.epoxy.ClickListener
|
|||
import im.vector.app.features.home.room.detail.timeline.helper.ContentDownloadStateTrackerBinder
|
||||
import im.vector.app.features.home.room.detail.timeline.helper.ContentUploadStateTrackerBinder
|
||||
import im.vector.app.features.home.room.detail.timeline.helper.VoiceMessagePlaybackTracker
|
||||
import im.vector.app.features.themes.BubbleThemeUtils
|
||||
|
||||
@EpoxyModelClass(layout = R.layout.item_timeline_event_base)
|
||||
abstract class MessageVoiceItem : AbsMessageItem<MessageVoiceItem.Holder>() {
|
||||
|
@ -128,9 +131,24 @@ abstract class MessageVoiceItem : AbsMessageItem<MessageVoiceItem.Holder>() {
|
|||
val voicePlaybackTime by bind<TextView>(R.id.voicePlaybackTime)
|
||||
val voicePlaybackWaveform by bind<AudioRecordView>(R.id.voicePlaybackWaveform)
|
||||
val progressLayout by bind<ViewGroup>(R.id.messageFileUploadProgressLayout)
|
||||
val voicePlaybackLayout by bind<ConstraintLayout>(R.id.voicePlaybackLayout)
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val STUB_ID = R.id.messageContentVoiceStub
|
||||
}
|
||||
|
||||
override fun messageBubbleAllowed(context: Context): Boolean {
|
||||
return true
|
||||
}
|
||||
|
||||
override fun setBubbleLayout(holder: Holder, bubbleStyle: String, bubbleStyleSetting: String, reverseBubble: Boolean) {
|
||||
super.setBubbleLayout(holder, bubbleStyle, bubbleStyleSetting, reverseBubble)
|
||||
|
||||
if (BubbleThemeUtils.drawsActualBubbles(bubbleStyle)) {
|
||||
(holder.voiceLayout.layoutParams as ViewGroup.MarginLayoutParams).marginEnd = 0
|
||||
} else {
|
||||
(holder.voiceLayout.layoutParams as ViewGroup.MarginLayoutParams).marginEnd = holder.voiceLayout.resources.getDimensionPixelSize(R.dimen.no_bubble_margin_end)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -189,9 +189,8 @@
|
|||
<ViewStub
|
||||
android:id="@+id/messageContentVoiceStub"
|
||||
style="@style/TimelineContentStubBaseParams"
|
||||
android:layout_marginEnd="56dp"
|
||||
android:layout="@layout/item_timeline_event_voice_stub"
|
||||
tools:visibility="visible" />
|
||||
tools:visibility="gone" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/voiceLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:minWidth="999999dp"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
|
@ -11,7 +12,7 @@
|
|||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_voice_playback"
|
||||
android:backgroundTint="?vctr_content_quinary"
|
||||
android:backgroundTint="?voice_message_playback_background_color"
|
||||
android:minHeight="48dp"
|
||||
android:paddingStart="8dp"
|
||||
android:paddingTop="6dp"
|
||||
|
@ -77,4 +78,4 @@
|
|||
app:layout_constraintTop_toBottomOf="@+id/voicePlaybackLayout"
|
||||
tools:visibility="visible" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
|
|
@ -6,4 +6,7 @@
|
|||
<!-- messageAvatarImageView.marginStart -->
|
||||
<dimen name="dual_bubble_one_side_avatar_offset">8dp</dimen>
|
||||
|
||||
</resources>
|
||||
<!-- As found in various layout stubs in item_timeline_event_base.xml -->
|
||||
<dimen name="no_bubble_margin_end">56dp</dimen>
|
||||
|
||||
</resources>
|
||||
|
|
Loading…
Reference in New Issue