mirror of
https://github.com/oxen-io/session-android.git
synced 2025-04-19 01:51:30 +00:00
Hook up cancel link preview draft button
This commit is contained in:
parent
fe8b0c9798
commit
2132e53fb0
@ -12,6 +12,7 @@ import org.thoughtcrime.securesms.mms.GlideRequests
|
|||||||
import org.thoughtcrime.securesms.mms.ImageSlide
|
import org.thoughtcrime.securesms.mms.ImageSlide
|
||||||
|
|
||||||
class LinkPreviewDraftView : LinearLayout {
|
class LinkPreviewDraftView : LinearLayout {
|
||||||
|
var delegate: LinkPreviewDraftViewDelegate? = null
|
||||||
|
|
||||||
// region Lifecycle
|
// region Lifecycle
|
||||||
constructor(context: Context) : super(context) { initialize() }
|
constructor(context: Context) : super(context) { initialize() }
|
||||||
@ -22,6 +23,7 @@ class LinkPreviewDraftView : LinearLayout {
|
|||||||
LayoutInflater.from(context).inflate(R.layout.view_link_preview_draft, this)
|
LayoutInflater.from(context).inflate(R.layout.view_link_preview_draft, this)
|
||||||
linkPreviewDraftContainer.isVisible = false
|
linkPreviewDraftContainer.isVisible = false
|
||||||
thumbnailImageView.clipToOutline = true
|
thumbnailImageView.clipToOutline = true
|
||||||
|
linkPreviewDraftCancelButton.setOnClickListener { cancel() }
|
||||||
}
|
}
|
||||||
// endregion
|
// endregion
|
||||||
|
|
||||||
@ -35,4 +37,15 @@ class LinkPreviewDraftView : LinearLayout {
|
|||||||
linkPreviewDraftTitleTextView.text = linkPreview.title
|
linkPreviewDraftTitleTextView.text = linkPreview.title
|
||||||
}
|
}
|
||||||
// endregion
|
// endregion
|
||||||
|
|
||||||
|
// region Interaction
|
||||||
|
private fun cancel() {
|
||||||
|
delegate?.cancelLinkPreviewDraft()
|
||||||
|
}
|
||||||
|
// endregion
|
||||||
|
}
|
||||||
|
|
||||||
|
interface LinkPreviewDraftViewDelegate {
|
||||||
|
|
||||||
|
fun cancelLinkPreviewDraft()
|
||||||
}
|
}
|
@ -12,6 +12,7 @@ import kotlinx.android.synthetic.main.view_quote.view.*
|
|||||||
import network.loki.messenger.R
|
import network.loki.messenger.R
|
||||||
import org.session.libsession.messaging.sending_receiving.link_preview.LinkPreview
|
import org.session.libsession.messaging.sending_receiving.link_preview.LinkPreview
|
||||||
import org.thoughtcrime.securesms.conversation.v2.components.LinkPreviewDraftView
|
import org.thoughtcrime.securesms.conversation.v2.components.LinkPreviewDraftView
|
||||||
|
import org.thoughtcrime.securesms.conversation.v2.components.LinkPreviewDraftViewDelegate
|
||||||
import org.thoughtcrime.securesms.conversation.v2.messages.QuoteView
|
import org.thoughtcrime.securesms.conversation.v2.messages.QuoteView
|
||||||
import org.thoughtcrime.securesms.conversation.v2.messages.QuoteViewDelegate
|
import org.thoughtcrime.securesms.conversation.v2.messages.QuoteViewDelegate
|
||||||
import org.thoughtcrime.securesms.database.model.MessageRecord
|
import org.thoughtcrime.securesms.database.model.MessageRecord
|
||||||
@ -22,7 +23,7 @@ import org.thoughtcrime.securesms.mms.GlideRequests
|
|||||||
import kotlin.math.max
|
import kotlin.math.max
|
||||||
import kotlin.math.roundToInt
|
import kotlin.math.roundToInt
|
||||||
|
|
||||||
class InputBar : RelativeLayout, InputBarEditTextDelegate, QuoteViewDelegate {
|
class InputBar : RelativeLayout, InputBarEditTextDelegate, QuoteViewDelegate, LinkPreviewDraftViewDelegate {
|
||||||
private val screenWidth = Resources.getSystem().displayMetrics.widthPixels
|
private val screenWidth = Resources.getSystem().displayMetrics.widthPixels
|
||||||
private val vMargin by lazy { toDp(4, resources) }
|
private val vMargin by lazy { toDp(4, resources) }
|
||||||
private val minHeight by lazy { toPx(56, resources) }
|
private val minHeight by lazy { toPx(56, resources) }
|
||||||
@ -127,6 +128,7 @@ class InputBar : RelativeLayout, InputBarEditTextDelegate, QuoteViewDelegate {
|
|||||||
val linkPreviewDraftHeight = toPx(88, resources)
|
val linkPreviewDraftHeight = toPx(88, resources)
|
||||||
inputBarAdditionalContentContainer.removeAllViews()
|
inputBarAdditionalContentContainer.removeAllViews()
|
||||||
val linkPreviewDraftView = LinkPreviewDraftView(context)
|
val linkPreviewDraftView = LinkPreviewDraftView(context)
|
||||||
|
linkPreviewDraftView.delegate = this
|
||||||
this.linkPreviewDraftView = linkPreviewDraftView
|
this.linkPreviewDraftView = linkPreviewDraftView
|
||||||
inputBarAdditionalContentContainer.addView(linkPreviewDraftView)
|
inputBarAdditionalContentContainer.addView(linkPreviewDraftView)
|
||||||
val newHeight = max(inputBarEditText.height + 2 * vMargin, minHeight) + linkPreviewDraftHeight
|
val newHeight = max(inputBarEditText.height + 2 * vMargin, minHeight) + linkPreviewDraftHeight
|
||||||
@ -138,6 +140,13 @@ class InputBar : RelativeLayout, InputBarEditTextDelegate, QuoteViewDelegate {
|
|||||||
val linkPreviewDraftView = this.linkPreviewDraftView ?: return
|
val linkPreviewDraftView = this.linkPreviewDraftView ?: return
|
||||||
linkPreviewDraftView.update(glide, linkPreview)
|
linkPreviewDraftView.update(glide, linkPreview)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun cancelLinkPreviewDraft() {
|
||||||
|
inputBarAdditionalContentContainer.removeAllViews()
|
||||||
|
val newHeight = max(inputBarEditText.height + 2 * vMargin, minHeight)
|
||||||
|
additionalContentHeight = 0
|
||||||
|
setHeight(newHeight)
|
||||||
|
}
|
||||||
// endregion
|
// endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user