diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostCreationFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostCreationFragment.kt index b5800fe792..23918f07f2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostCreationFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostCreationFragment.kt @@ -120,6 +120,10 @@ class TextStoryPostCreationFragment : Fragment(R.layout.stories_text_post_creati viewModel.setLinkPreview("") } + binding.storyTextPost.setLinkPreviewClickListener { + TextStoryPostLinkEntryFragment(true).show(childFragmentManager, null) + } + val launcher = registerForActivityResult(StoriesMultiselectForwardActivity.SelectionContract()) { if (it.isNotEmpty()) { performSend(it.toSet()) diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostCreationViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostCreationViewModel.kt index 006890bc34..b3f648a4df 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostCreationViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostCreationViewModel.kt @@ -131,6 +131,10 @@ class TextStoryPostCreationViewModel(private val repository: TextStoryPostSendRe ) } + fun getLinkInputPreset(): String? { + return store.state.linkPreviewUri + } + class Factory(private val repository: TextStoryPostSendRepository) : ViewModelProvider.Factory { override fun create(modelClass: Class): T { return modelClass.cast(TextStoryPostCreationViewModel(repository)) as T diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostLinkEntryFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostLinkEntryFragment.kt index 1bb0c2c6f0..57ccdabb6a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostLinkEntryFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostLinkEntryFragment.kt @@ -21,7 +21,7 @@ import org.thoughtcrime.securesms.util.ViewUtil import org.thoughtcrime.securesms.util.setIncognitoKeyboardEnabled import org.thoughtcrime.securesms.util.visible -class TextStoryPostLinkEntryFragment : KeyboardEntryDialogFragment( +class TextStoryPostLinkEntryFragment(private val shouldPreset: Boolean = false) : KeyboardEntryDialogFragment( contentLayoutId = R.layout.stories_text_post_link_entry_fragment ) { @@ -35,6 +35,12 @@ class TextStoryPostLinkEntryFragment : KeyboardEntryDialogFragment( override fun onViewCreated(view: View, savedInstanceState: Bundle?) { input = view.findViewById(R.id.input) + if (shouldPreset) { + viewModel.getLinkInputPreset()?.let { + input.text.append(it) + linkPreviewViewModel.onTextChanged(it, 0, it.length - 1) + } + } val linkPreview: StoryLinkPreviewView = view.findViewById(R.id.link_preview) val confirmButton: View = view.findViewById(R.id.confirm_button)