Skip to content

Commit 627003d

Browse files
committed
msglist [nfc]: s/{r,maybeR}evealMutedMessagesOf
We'd like to make SenderRow public, for use where there isn't a MessageListPage ancestor and we don't want to show the "unrevealed" state.
1 parent c18ea48 commit 627003d

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

lib/widgets/action_sheet.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -927,7 +927,7 @@ class UnrevealMutedMessageButton extends MessageActionSheetMenuItemButton {
927927
@override
928928
void onPressed() {
929929
// The message should have been revealed in order to reach this action sheet.
930-
assert(MessageListPage.revealedMutedMessagesOf(pageContext)
930+
assert(MessageListPage.maybeRevealedMutedMessagesOf(pageContext)!
931931
.isMutedMessageRevealed(message.id));
932932
findMessageListPage().unrevealMutedMessage(message.id);
933933
}

lib/widgets/message_list.dart

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -175,19 +175,19 @@ class MessageListPage extends StatefulWidget {
175175
initNarrow: narrow, initAnchorMessageId: initAnchorMessageId));
176176
}
177177

178-
/// The "revealed" state of a message from a muted sender.
178+
/// The "revealed" state of a message from a muted sender,
179+
/// if there is a [MessageListPage] ancestor, else null.
179180
///
180181
/// This is updated via [MessageListPageState.revealMutedMessage]
181182
/// and [MessageListPageState.unrevealMutedMessage].
182183
///
183184
/// Uses the efficient [BuildContext.dependOnInheritedWidgetOfExactType],
184185
/// so this is safe to call in a build method.
185-
static RevealedMutedMessagesState revealedMutedMessagesOf(BuildContext context) {
186+
static RevealedMutedMessagesState? maybeRevealedMutedMessagesOf(BuildContext context) {
186187
final state =
187188
context.dependOnInheritedWidgetOfExactType<_RevealedMutedMessagesProvider>()
188189
?.state;
189-
assert(state != null, 'No MessageListPage ancestor');
190-
return state!;
190+
return state;
191191
}
192192

193193
/// The [MessageListPageState] above this context in the tree.
@@ -1893,8 +1893,12 @@ class _SenderRow extends StatelessWidget {
18931893
final message = this.message;
18941894
if (!store.isUserMuted(message.senderId)) return false;
18951895
if (message is! Message) return false; // i.e., if an outbox message
1896-
return !MessageListPage.revealedMutedMessagesOf(context)
1897-
.isMutedMessageRevealed(message.id);
1896+
final revealedMutedMessagesState =
1897+
MessageListPage.maybeRevealedMutedMessagesOf(context);
1898+
// The "unrevealed" state only exists in the message list,
1899+
// and we're about to start showing a sender row outside the message list.
1900+
if (revealedMutedMessagesState == null) return false;
1901+
return !revealedMutedMessagesState.isMutedMessageRevealed(message.id);
18981902
}
18991903

19001904
@override
@@ -2036,7 +2040,7 @@ class MessageWithPossibleSender extends StatelessWidget {
20362040
};
20372041

20382042
final showAsMuted = store.isUserMuted(message.senderId)
2039-
&& !MessageListPage.revealedMutedMessagesOf(context)
2043+
&& !MessageListPage.maybeRevealedMutedMessagesOf(context)!
20402044
.isMutedMessageRevealed(message.id);
20412045

20422046
return GestureDetector(

0 commit comments

Comments
 (0)