mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-24 02:39:55 +01:00
Guard first time on add to my story.
This commit is contained in:
committed by
Cody Henthorne
parent
945c308cf5
commit
7edef20f4f
@@ -46,7 +46,7 @@ class TextStoryPostSendFragment : Fragment(R.layout.stories_send_text_post_fragm
|
||||
|
||||
private val viewModel: TextStoryPostSendViewModel by viewModels(
|
||||
factoryProducer = {
|
||||
TextStoryPostSendViewModel.Factory(TextStoryPostSendRepository(requireContext()))
|
||||
TextStoryPostSendViewModel.Factory(TextStoryPostSendRepository())
|
||||
}
|
||||
)
|
||||
|
||||
@@ -83,21 +83,19 @@ class TextStoryPostSendFragment : Fragment(R.layout.stories_send_text_post_fragm
|
||||
}
|
||||
|
||||
shareConfirmButton.setOnClickListener {
|
||||
if (viewModel.isFirstSendToAStory(contactSearchMediator.getSelectedContacts())) {
|
||||
StoryDialogs.guardWithAddToYourStoryDialog(
|
||||
context = requireContext(),
|
||||
onAddToStory = { send() },
|
||||
onEditViewers = {
|
||||
viewModel.onSendCancelled()
|
||||
HideStoryFromDialogFragment().show(childFragmentManager, null)
|
||||
},
|
||||
onCancel = {
|
||||
viewModel.onSendCancelled()
|
||||
}
|
||||
)
|
||||
} else {
|
||||
send()
|
||||
}
|
||||
viewModel.onSending()
|
||||
StoryDialogs.guardWithAddToYourStoryDialog(
|
||||
contacts = contactSearchMediator.getSelectedContacts(),
|
||||
context = requireContext(),
|
||||
onAddToStory = { send() },
|
||||
onEditViewers = {
|
||||
viewModel.onSendCancelled()
|
||||
HideStoryFromDialogFragment().show(childFragmentManager, null)
|
||||
},
|
||||
onCancel = {
|
||||
viewModel.onSendCancelled()
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
disposables += viewModel.untrustedIdentities.subscribe {
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package org.thoughtcrime.securesms.mediasend.v2.text.send
|
||||
|
||||
import android.content.Context
|
||||
import io.reactivex.rxjava3.core.Completable
|
||||
import io.reactivex.rxjava3.core.Single
|
||||
import org.signal.core.util.ThreadUtil
|
||||
@@ -11,7 +10,6 @@ import org.thoughtcrime.securesms.database.ThreadDatabase
|
||||
import org.thoughtcrime.securesms.database.model.StoryType
|
||||
import org.thoughtcrime.securesms.database.model.databaseprotos.StoryTextPost
|
||||
import org.thoughtcrime.securesms.fonts.TextFont
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore
|
||||
import org.thoughtcrime.securesms.linkpreview.LinkPreview
|
||||
import org.thoughtcrime.securesms.mediasend.v2.UntrustedRecords
|
||||
import org.thoughtcrime.securesms.mediasend.v2.text.TextStoryPostCreationState
|
||||
@@ -21,17 +19,7 @@ import org.thoughtcrime.securesms.recipients.Recipient
|
||||
import org.thoughtcrime.securesms.stories.Stories
|
||||
import org.thoughtcrime.securesms.util.Base64
|
||||
|
||||
class TextStoryPostSendRepository(context: Context) {
|
||||
|
||||
private val context = context.applicationContext
|
||||
|
||||
fun isFirstSendToStory(shareContacts: Set<ContactSearchKey>): Boolean {
|
||||
if (SignalStore.storyValues().userHasAddedToAStory) {
|
||||
return false
|
||||
}
|
||||
|
||||
return shareContacts.any { it is ContactSearchKey.Story }
|
||||
}
|
||||
class TextStoryPostSendRepository {
|
||||
|
||||
fun send(contactSearchKey: Set<ContactSearchKey>, textStoryPostCreationState: TextStoryPostCreationState, linkPreview: LinkPreview?): Single<TextStoryPostSendResult> {
|
||||
return UntrustedRecords
|
||||
|
||||
@@ -27,12 +27,10 @@ class TextStoryPostSendViewModel(private val repository: TextStoryPostSendReposi
|
||||
disposables.clear()
|
||||
}
|
||||
|
||||
fun isFirstSendToAStory(contactSearchKeys: Set<ContactSearchKey>): Boolean {
|
||||
fun onSending() {
|
||||
store.update {
|
||||
TextStoryPostSendState.SENDING
|
||||
}
|
||||
|
||||
return repository.isFirstSendToStory(contactSearchKeys)
|
||||
}
|
||||
|
||||
fun onSendCancelled() {
|
||||
|
||||
Reference in New Issue
Block a user