Remove the use of ReplacementSpan. It turns out this span type is incompatible with spans that occupy more than one line, and the result is that a longer diff can run off the end of the screen. The alternative means that the diff'd text doesn't have additional padding and rounded corners, but it's better than not being visible. Display the most recent version of the status with larger text. Again, consistent with the thread view. Display the avatar, name, and username of the poster in a pinned header at the top of the screen, instead of duplicating the information on every edit. This reduces the amount of redundant information on the screen.
119 lines
5.3 KiB
XML
119 lines
5.3 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
xmlns:tools="http://schemas.android.com/tools"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:gravity="center_vertical"
|
|
android:orientation="horizontal"
|
|
android:paddingLeft="16dp"
|
|
android:paddingRight="16dp"
|
|
android:paddingBottom="8dp">
|
|
|
|
<TextView
|
|
android:id="@+id/status_edit_info"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="8dp"
|
|
android:ellipsize="end"
|
|
android:maxLines="2"
|
|
android:textColor="?android:textColorPrimary"
|
|
android:textSize="?attr/status_text_medium"
|
|
android:textStyle="bold"
|
|
app:layout_constraintEnd_toEndOf="parent"
|
|
app:layout_constraintTop_toTopOf="parent"
|
|
tools:text="\@Tusky edited 18th December 2022" />
|
|
|
|
<com.keylesspalace.tusky.view.ClickableSpanTextView
|
|
android:id="@+id/status_edit_content_warning_description"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="8dp"
|
|
android:hyphenationFrequency="full"
|
|
android:importantForAccessibility="no"
|
|
android:lineSpacingMultiplier="1.1"
|
|
android:textColor="?android:textColorPrimary"
|
|
android:textSize="?attr/status_text_medium"
|
|
android:visibility="gone"
|
|
app:layout_constraintEnd_toEndOf="@+id/status_edit_info"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toBottomOf="@+id/status_edit_info"
|
|
tools:text="content warning which is very long and it doesn't fit"
|
|
tools:visibility="visible" />
|
|
|
|
<View
|
|
android:id="@+id/status_edit_content_warning_separator"
|
|
android:layout_width="0dp"
|
|
android:layout_height="1dp"
|
|
android:layout_marginTop="4dp"
|
|
android:background="?android:textColorPrimary"
|
|
android:importantForAccessibility="no"
|
|
app:layout_constraintEnd_toEndOf="@+id/status_edit_content_warning_description"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toBottomOf="@id/status_edit_content_warning_description" />
|
|
|
|
<TextView
|
|
android:id="@+id/status_edit_content"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="4dp"
|
|
android:focusable="true"
|
|
android:hyphenationFrequency="full"
|
|
android:importantForAccessibility="no"
|
|
android:lineSpacingMultiplier="1.1"
|
|
android:textColor="?android:textColorPrimary"
|
|
android:textSize="?attr/status_text_medium"
|
|
app:layout_constraintEnd_toEndOf="@+id/status_edit_info"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toBottomOf="@id/status_edit_content_warning_separator"
|
|
tools:text="This is an edited status" />
|
|
|
|
<com.keylesspalace.tusky.view.MediaPreviewLayout
|
|
android:id="@+id/status_edit_media_preview"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="4dp"
|
|
android:background="@drawable/media_preview_outline"
|
|
android:importantForAccessibility="noHideDescendants"
|
|
app:layout_constraintEnd_toEndOf="@id/status_edit_info"
|
|
app:layout_constraintStart_toStartOf="@+id/status_edit_content_warning_description"
|
|
app:layout_constraintTop_toBottomOf="@id/status_edit_content" />
|
|
|
|
<TextView
|
|
android:id="@+id/status_edit_media_sensitivity"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="4dp"
|
|
android:text="@string/post_sensitive_media_title"
|
|
android:textColor="?android:attr/textColorTertiary"
|
|
android:textSize="?attr/status_text_medium"
|
|
app:layout_constraintEnd_toEndOf="@+id/status_edit_info"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toBottomOf="@id/status_edit_media_preview" />
|
|
|
|
<!-- hidden because as of Mastodon 4.0.2 we don't get this info via the api -->
|
|
<androidx.recyclerview.widget.RecyclerView
|
|
android:id="@+id/status_edit_poll_options"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="4dp"
|
|
android:nestedScrollingEnabled="false"
|
|
app:layout_constraintEnd_toEndOf="@+id/status_edit_info"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toBottomOf="@id/status_edit_media_sensitivity" />
|
|
|
|
<TextView
|
|
android:id="@+id/status_edit_poll_description"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginStart="14dp"
|
|
android:layout_marginTop="6dp"
|
|
android:layout_marginEnd="14dp"
|
|
android:textSize="?attr/status_text_medium"
|
|
android:visibility="gone"
|
|
app:layout_constraintEnd_toEndOf="parent"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toBottomOf="@id/status_edit_poll_options"
|
|
tools:text="ends at 12:30" />
|
|
|
|
</androidx.constraintlayout.widget.ConstraintLayout>
|