Skip to content

Commit

Permalink
Adjust media caption height, fix rail visibility.
Browse files Browse the repository at this point in the history
  • Loading branch information
nicholas-signal authored and greyson-signal committed Jan 27, 2023
1 parent 958c52a commit ca46804
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -337,7 +337,12 @@ class MediaPreviewV2Fragment : LoggingFragment(R.layout.fragment_media_preview_v
albumRail.alpha = 0f
}
val railItems = albumThumbnailMedia.map { MediaRailAdapter.MediaRailItem(it, it.uri == currentItem.attachment?.uri) }
albumRailAdapter.submitList(railItems) { albumRail.post { scrollAlbumRailToCurrentAdapterPosition(!firstRailDisplay) } }
albumRailAdapter.submitList(railItems) {
albumRail.post {
scrollAlbumRailToCurrentAdapterPosition(!firstRailDisplay)
crossfadeViewIn(albumRail)
}
}
} else {
albumRail.visibility = View.GONE
albumRailAdapter.submitList(emptyList())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import android.text.method.ScrollingMovementMethod
import android.util.AttributeSet
import android.view.ViewGroup
import androidx.core.view.updateLayoutParams
import org.signal.core.util.logging.Log
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.components.emoji.EmojiTextView

Expand All @@ -23,40 +22,49 @@ class ExpandingCaptionView @JvmOverloads constructor(
set(value) {
field = value
expanded = false
updateExpansionState()
updateExpansionState(expanded)
}

init {
setOnClickListener { toggleExpansion() }
}

fun toggleExpansion() {
expanded = !expanded
updateExpansionState()
private fun toggleExpansion() {
expanded = if (isExpandable()) {
!expanded
} else {
false
}
updateExpansionState(expanded)
}

private fun updateExpansionState() {
if (expanded) {
Log.d(TAG, "The view should be expanded now.")
private fun updateExpansionState(expand: Boolean) {
if (expand) {
text = fullCaptionText
movementMethod = ScrollingMovementMethod()
scrollTo(0, 0)
updateLayoutParams { height = expandedHeight }
} else {
Log.d(TAG, "The view should be collapsed now.")
text = if (fullCaptionText.length <= CHAR_LIMIT_MESSAGE_PREVIEW) {
fullCaptionText
} else {
text = if (isExpandable()) {
context.getString(R.string.MediaPreviewFragment_see_more, fullCaptionText.substring(0, CHAR_LIMIT_MESSAGE_PREVIEW))
} else {
fullCaptionText
}
movementMethod = null
updateLayoutParams { height = ViewGroup.LayoutParams.WRAP_CONTENT }
}
setOnClickListener { toggleExpansion() }
if (isExpandable()) {
setOnClickListener { toggleExpansion() }
} else {
setOnClickListener(null)
}
}

private fun isExpandable(): Boolean {
return fullCaptionText.length > CHAR_LIMIT_MESSAGE_PREVIEW
}

companion object {
private val TAG = Log.tag(ExpandingCaptionView::class.java)
const val CHAR_LIMIT_MESSAGE_PREVIEW = 280
}
}
1 change: 1 addition & 0 deletions app/src/main/res/layout/fragment_media_preview_v2.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="bottom"
android:paddingTop="16dp"
android:paddingStart="16dp"
android:paddingEnd="16dp"
android:paddingBottom="8dp"
Expand Down

0 comments on commit ca46804

Please sign in to comment.