From ce55d289d2b5e1c444e05349d13b03f980de74c6 Mon Sep 17 00:00:00 2001 From: David Sinclair Date: Mon, 24 Jan 2022 21:39:26 -0800 Subject: [PATCH] #1334 (modern widget) - Fixed crash when selecting some feeds in the Widget prefs. - Now updates the widget after updating the Widget prefs. --- .../ios/Classes/FeedChooserViewController.m | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/clients/ios/Classes/FeedChooserViewController.m b/clients/ios/Classes/FeedChooserViewController.m index 3a408d6e3..42ba2a9a3 100644 --- a/clients/ios/Classes/FeedChooserViewController.m +++ b/clients/ios/Classes/FeedChooserViewController.m @@ -396,7 +396,20 @@ static const CGFloat kFolderTitleHeight = 36.0; } - (NSDictionary *)widgetFeedForItem:(FeedChooserItem *)item { - return @{@"id" : item.identifierString, @"feed_title" : item.title, @"favicon_fade" : item.info[@"favicon_fade"], @"favicon_color" : item.info[@"favicon_color"]}; + NSMutableDictionary *dict = [NSMutableDictionary dictionary]; + + dict[@"id"] = item.identifierString; + dict[@"feed_title"] = item.title; + + if (item.info[@"favicon_fade"] != [NSNull null]) { + dict[@"favicon_fade"] = item.info[@"favicon_fade"]; + } + + if (item.info[@"favicon_color"] != [NSNull null]) { + dict[@"favicon_color"] = item.info[@"favicon_color"]; + } + + return dict; } - (NSInteger)widgetIndexOfFeed:(NSString *)feedId { @@ -690,6 +703,10 @@ static const CGFloat kFolderTitleHeight = 36.0; if (self.operation == FeedChooserOperationMuteSites && [self didChangeActiveFeeds]) { [self performSaveActiveFeeds]; } else { + if (self.operation == FeedChooserOperationWidgetSites) { + [self.appDelegate.storyPagesViewController reloadWidget]; + } + [self dismissViewControllerAnimated:YES completion:nil]; } }