Fix NPE Exception in Double Col View During Notification Swtiching
continuous-integration/drone/pr Build is running Details
continuous-integration/drone/push Build is pending Details

This commit is contained in:
Sarah Jamie Lewis 2022-12-11 09:18:18 -08:00
parent be26d40176
commit f585122f57
1 changed files with 6 additions and 4 deletions

View File

@ -18,6 +18,7 @@ class _DoubleColumnViewState extends State<DoubleColumnView> {
@override
Widget build(BuildContext context) {
var flwtch = Provider.of<AppState>(context);
var selectedConversation = flwtch.selectedConversation;
var cols = Provider.of<Settings>(context).uiColumns(true);
return Flex(
direction: Axis.horizontal,
@ -30,7 +31,7 @@ class _DoubleColumnViewState extends State<DoubleColumnView> {
),
Flexible(
flex: cols[1],
child: flwtch.selectedConversation == null
child: selectedConversation == null
? Container(
color: Provider.of<Settings>(context).theme.backgroundMainColor,
child: Card(
@ -40,9 +41,10 @@ class _DoubleColumnViewState extends State<DoubleColumnView> {
: //dev
MultiProvider(providers: [
ChangeNotifierProvider.value(value: Provider.of<ProfileInfoState>(context)),
ChangeNotifierProvider.value(
value: flwtch.selectedConversation != null ? Provider.of<ProfileInfoState>(context).contactList.getContact(flwtch.selectedConversation!)! : ContactInfoState("", -1, "")),
], child: Container(key: Key(flwtch.selectedConversation!.toString()), child: MessageView())),
// there is a potential timing issue here where selectConversation is changes as we move profiles, this will result
// in getContact being null, in that case we replace with an empty Contact Info State
ChangeNotifierProvider.value(value: Provider.of<ProfileInfoState>(context).contactList.getContact(selectedConversation) ?? ContactInfoState("", -1, "")),
], child: Container(key: Key(selectedConversation.toString()), child: MessageView())),
),
],
);