Add date break header

pull/619/head
nielsandriesse 4 years ago
parent e177fc4689
commit 3b18b0985b

@ -30,7 +30,6 @@ class ControlMessageView : LinearLayout {
// region Updating
fun bind(message: MessageRecord) {
// TODO: Make view look better
textView.text = message.getDisplayBody(context)
}

@ -57,13 +57,17 @@ class VisibleMessageView : LinearLayout {
profilePictureContainer.visibility = View.GONE
senderNameTextView.visibility = View.GONE
}
// Date break
dateBreakTextView.text = "The Ancient Past"
// Margins
val messageContentViewLayoutParams = messageContentView.layoutParams as LinearLayout.LayoutParams
messageContentViewLayoutParams.leftMargin = if (message.isOutgoing) resources.getDimension(R.dimen.very_large_spacing).toInt() else 0
messageContentViewLayoutParams.rightMargin = if (message.isOutgoing) 0 else resources.getDimension(R.dimen.very_large_spacing).toInt()
messageContentView.layoutParams = messageContentViewLayoutParams
// TODO: Inter-message spacing
// Gravity
gravity = if (message.isOutgoing) Gravity.RIGHT else Gravity.LEFT
val gravity = if (message.isOutgoing) Gravity.RIGHT else Gravity.LEFT
mainContainer.gravity = gravity or Gravity.BOTTOM
// Populate content view
messageContentView.bind(message)
}

@ -1,69 +1,86 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="bottom">
android:orientation="vertical" >
<!-- The linear layout below is marked as "useless", but this isn't the case. It's
convenient because it allows you to show or hide the profile picture plus the spacers
before and behind it in one go. -->
<TextView
android:id="@+id/dateBreakTextView"
android:layout_width="match_parent"
android:layout_height="40dp"
android:textColor="@color/text"
android:textSize="@dimen/small_font_size"
android:textStyle="bold"
android:gravity="center" />
<LinearLayout
android:id="@+id/profilePictureContainer"
android:layout_width="wrap_content"
android:id="@+id/mainContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
android:orientation="horizontal"
android:gravity="bottom">
<View
android:layout_width="12dp"
android:layout_height="0dp" />
<!-- The linear layout below is marked as "useless", but this isn't the case. It's
convenient because it allows you to show or hide the profile picture plus the spacers
before and behind it in one go. -->
<RelativeLayout
<LinearLayout
android:id="@+id/profilePictureContainer"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
android:layout_height="wrap_content"
android:orientation="horizontal">
<org.thoughtcrime.securesms.loki.views.ProfilePictureView
android:id="@+id/profilePictureView"
android:layout_width="@dimen/very_small_profile_picture_size"
android:layout_height="@dimen/very_small_profile_picture_size" />
<View
android:layout_width="12dp"
android:layout_height="0dp" />
<ImageView
android:id="@+id/moderatorIconImageView"
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/ic_crown"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true" />
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</RelativeLayout>
<org.thoughtcrime.securesms.loki.views.ProfilePictureView
android:id="@+id/profilePictureView"
android:layout_width="@dimen/very_small_profile_picture_size"
android:layout_height="@dimen/very_small_profile_picture_size" />
<View
android:layout_width="12dp"
android:layout_height="0dp" />
<ImageView
android:id="@+id/moderatorIconImageView"
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/ic_crown"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true" />
</LinearLayout>
</RelativeLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<View
android:layout_width="12dp"
android:layout_height="0dp" />
</LinearLayout>
<TextView
android:id="@+id/senderNameTextView"
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
android:textColor="@color/text"
android:textStyle="bold"
android:maxLines="1"
android:ellipsize="end" />
<org.thoughtcrime.securesms.conversation.v2.messages.VisibleMessageContentView
android:id="@+id/messageContentView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
android:orientation="vertical">
<TextView
android:id="@+id/senderNameTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
android:textColor="@color/text"
android:textStyle="bold"
android:maxLines="1"
android:ellipsize="end" />
<org.thoughtcrime.securesms.conversation.v2.messages.VisibleMessageContentView
android:id="@+id/messageContentView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>

@ -10,6 +10,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/text"
android:textSize="@dimen/small_font_size" />
android:textSize="@dimen/medium_font_size" />
</LinearLayout>
Loading…
Cancel
Save