| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -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
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
 
 |