mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-26 19:56:02 +01:00
Allow generic links to be sent as stories.
This commit is contained in:
committed by
Cody Henthorne
parent
65835606cc
commit
c4817ac017
@@ -136,7 +136,7 @@ class TextStoryPostCreationViewModel : ViewModel() {
|
||||
store.update { it.copy(backgroundColor = TextStoryBackgroundColors.cycleBackgroundColor(it.backgroundColor)) }
|
||||
}
|
||||
|
||||
fun setLinkPreview(url: String) {
|
||||
fun setLinkPreview(url: String?) {
|
||||
store.update { it.copy(linkPreviewUri = url) }
|
||||
}
|
||||
|
||||
|
||||
@@ -55,8 +55,10 @@ class TextStoryPostLinkEntryFragment : KeyboardEntryDialogFragment(
|
||||
)
|
||||
|
||||
confirmButton.setOnClickListener {
|
||||
if (linkPreviewViewModel.hasLinkPreview()) {
|
||||
viewModel.setLinkPreview(linkPreviewViewModel.linkPreviewState.value!!.linkPreview.get().url)
|
||||
val linkPreviewState = linkPreviewViewModel.linkPreviewState.value
|
||||
if (linkPreviewState != null) {
|
||||
val url = linkPreviewState.linkPreview.map { it.url }.orElseGet { linkPreviewState.activeUrlForError }
|
||||
viewModel.setLinkPreview(url)
|
||||
}
|
||||
|
||||
dismissAllowingStateLoss()
|
||||
@@ -64,8 +66,8 @@ class TextStoryPostLinkEntryFragment : KeyboardEntryDialogFragment(
|
||||
|
||||
linkPreviewViewModel.linkPreviewState.observe(viewLifecycleOwner) { state ->
|
||||
linkPreview.bind(state)
|
||||
shareALinkGroup.visible = !state.isLoading && !state.linkPreview.isPresent && state.error == null
|
||||
confirmButton.isEnabled = state.linkPreview.isPresent
|
||||
shareALinkGroup.visible = !state.isLoading && !state.linkPreview.isPresent && (state.error == null && state.activeUrlForError == null)
|
||||
confirmButton.isEnabled = state.linkPreview.isPresent || state.activeUrlForError != null
|
||||
progress.visible = state.isLoading
|
||||
}
|
||||
}
|
||||
|
||||
@@ -160,7 +160,11 @@ class TextStoryPostSendFragment : Fragment(R.layout.stories_send_text_post_fragm
|
||||
|
||||
val textStoryPostCreationState = creationViewModel.state.value
|
||||
|
||||
viewModel.onSend(contactSearchMediator.getSelectedContacts(), textStoryPostCreationState!!, linkPreviewViewModel.onSend().firstOrNull())
|
||||
viewModel.onSend(
|
||||
contactSearchMediator.getSelectedContacts(),
|
||||
textStoryPostCreationState!!,
|
||||
linkPreviewViewModel.onSendWithErrorUrl().firstOrNull()
|
||||
)
|
||||
}
|
||||
|
||||
private fun animateInSelection() {
|
||||
|
||||
Reference in New Issue
Block a user