Fix blank screen issue when entering through a quote.
This commit is contained in:
parent
c8612d5502
commit
b9a225f6c6
5 changed files with 19 additions and 4 deletions
|
@ -1731,6 +1731,7 @@ public class ConversationFragment extends LoggingFragment implements Multiselect
|
|||
requireContext(),
|
||||
new StoryViewerArgs.Builder(messageRecord.getQuote().getAuthor(), Recipient.resolved(messageRecord.getQuote().getAuthor()).shouldHideStory())
|
||||
.withStoryId(messageRecord.getParentStoryId().asMessageId().getId())
|
||||
.isFromQuote(true)
|
||||
.build()));
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -21,7 +21,8 @@ data class StoryViewerArgs(
|
|||
val isFromNotification: Boolean = false,
|
||||
val groupReplyStartPosition: Int = -1,
|
||||
val isUnviewedOnly: Boolean = false,
|
||||
val isFromInfoContextMenuAction: Boolean = false
|
||||
val isFromInfoContextMenuAction: Boolean = false,
|
||||
val isFromQuote: Boolean = false
|
||||
) : Parcelable {
|
||||
|
||||
class Builder(private val recipientId: RecipientId, private val isInHiddenStoryMode: Boolean) {
|
||||
|
@ -35,6 +36,7 @@ data class StoryViewerArgs(
|
|||
private var groupReplyStartPosition: Int = -1
|
||||
private var isUnviewedOnly: Boolean = false
|
||||
private var isFromInfoContextMenuAction: Boolean = false
|
||||
private var isFromQuote: Boolean = false
|
||||
|
||||
fun withStoryId(storyId: Long): Builder {
|
||||
this.storyId = storyId
|
||||
|
@ -76,6 +78,11 @@ data class StoryViewerArgs(
|
|||
return this
|
||||
}
|
||||
|
||||
fun isFromQuote(isFromQuote: Boolean): Builder {
|
||||
this.isFromQuote = isFromQuote
|
||||
return this
|
||||
}
|
||||
|
||||
fun build(): StoryViewerArgs {
|
||||
return StoryViewerArgs(
|
||||
recipientId = recipientId,
|
||||
|
@ -88,7 +95,8 @@ data class StoryViewerArgs(
|
|||
isFromNotification = isFromNotification,
|
||||
groupReplyStartPosition = groupReplyStartPosition,
|
||||
isUnviewedOnly = isUnviewedOnly,
|
||||
isFromInfoContextMenuAction = isFromInfoContextMenuAction
|
||||
isFromInfoContextMenuAction = isFromInfoContextMenuAction,
|
||||
isFromQuote = isFromQuote
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -86,6 +86,10 @@ class StoryViewerFragment :
|
|||
requireActivity().supportStartPostponedEnterTransition()
|
||||
}
|
||||
|
||||
if (state.skipCrossfade) {
|
||||
viewModel.setCrossfaderIsReady(true)
|
||||
}
|
||||
|
||||
if (state.loadState.isReady()) {
|
||||
storyCrossfader.alpha = 0f
|
||||
}
|
||||
|
|
|
@ -12,7 +12,8 @@ data class StoryViewerState(
|
|||
val page: Int = -1,
|
||||
val crossfadeSource: CrossfadeSource,
|
||||
val crossfadeTarget: CrossfadeTarget? = null,
|
||||
val loadState: LoadState = LoadState()
|
||||
val loadState: LoadState = LoadState(),
|
||||
val skipCrossfade: Boolean = false
|
||||
) {
|
||||
sealed class CrossfadeSource {
|
||||
object None : CrossfadeSource()
|
||||
|
|
|
@ -29,7 +29,8 @@ class StoryViewerViewModel(
|
|||
storyViewerArgs.storyThumbTextModel != null -> StoryViewerState.CrossfadeSource.TextModel(storyViewerArgs.storyThumbTextModel)
|
||||
storyViewerArgs.storyThumbUri != null -> StoryViewerState.CrossfadeSource.ImageUri(storyViewerArgs.storyThumbUri, storyViewerArgs.storyThumbBlur)
|
||||
else -> StoryViewerState.CrossfadeSource.None
|
||||
}
|
||||
},
|
||||
skipCrossfade = storyViewerArgs.isFromNotification || storyViewerArgs.isFromQuote
|
||||
)
|
||||
)
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue