From ae28df901fff18bcbcf21be00f564f627d937068 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Wed, 30 Mar 2022 10:20:08 -0300 Subject: [PATCH] Hide view once for story first sending. --- .../securesms/mediasend/v2/MediaSelectionActivity.kt | 2 +- .../securesms/mediasend/v2/MediaSelectionState.kt | 3 ++- .../securesms/mediasend/v2/MediaSelectionViewModel.kt | 7 +++++-- .../securesms/mediasend/v2/review/MediaReviewFragment.kt | 2 +- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionActivity.kt index b9ffd8f78..ff830fd03 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionActivity.kt @@ -77,7 +77,7 @@ class MediaSelectionActivity : val message: CharSequence? = intent.getCharSequenceExtra(MESSAGE) val isReply: Boolean = intent.getBooleanExtra(IS_REPLY, false) - val factory = MediaSelectionViewModel.Factory(destination, transportOption, initialMedia, message, isReply, MediaSelectionRepository(this)) + val factory = MediaSelectionViewModel.Factory(destination, transportOption, initialMedia, message, isReply, isStory, MediaSelectionRepository(this)) viewModel = ViewModelProvider(this, factory)[MediaSelectionViewModel::class.java] val textStoryToggle: ConstraintLayout = findViewById(R.id.switch_widget) diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionState.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionState.kt index 168ae2456..73d421036 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionState.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionState.kt @@ -21,7 +21,8 @@ data class MediaSelectionState( val isPreUploadEnabled: Boolean = false, val isMeteredConnection: Boolean = false, val editorStateMap: Map = mapOf(), - val cameraFirstCapture: Media? = null + val cameraFirstCapture: Media? = null, + val isStory: Boolean ) { val maxSelection = if (transportOption.isSms) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionViewModel.kt index 5e3faefe8..de5e55b80 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionViewModel.kt @@ -34,13 +34,15 @@ class MediaSelectionViewModel( initialMedia: List, initialMessage: CharSequence?, val isReply: Boolean, + isStory: Boolean, private val repository: MediaSelectionRepository ) : ViewModel() { private val store: Store = Store( MediaSelectionState( transportOption = transportOption, - message = initialMessage + message = initialMessage, + isStory = isStory ) ) @@ -420,10 +422,11 @@ class MediaSelectionViewModel( private val initialMedia: List, private val initialMessage: CharSequence?, private val isReply: Boolean, + private val isStory: Boolean, private val repository: MediaSelectionRepository ) : ViewModelProvider.Factory { override fun create(modelClass: Class): T { - return requireNotNull(modelClass.cast(MediaSelectionViewModel(destination, transportOption, initialMedia, initialMessage, isReply, repository))) + return requireNotNull(modelClass.cast(MediaSelectionViewModel(destination, transportOption, initialMedia, initialMessage, isReply, isStory, repository))) } } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewFragment.kt index b8a2313f8..8ac3b1f32 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewFragment.kt @@ -367,7 +367,7 @@ class MediaReviewFragment : Fragment(R.layout.v2_media_review_fragment) { } private fun computeViewOnceButtonAnimators(state: MediaSelectionState): List { - return if (state.isTouchEnabled && state.selectedMedia.size == 1) { + return if (state.isTouchEnabled && state.selectedMedia.size == 1 && !state.isStory) { listOf(MediaReviewAnimatorController.getFadeInAnimator(viewOnceButton)) } else { listOf(MediaReviewAnimatorController.getFadeOutAnimator(viewOnceButton))