Commit d6006e1b authored by sczs's avatar sczs Committed by Commit Bot

[ios] Moves FeedView KVO to setter.

This way we make sure to stop/start observing whenever a new FeedView
has been set, making sure the calls are balanced for all FeedViews.

Bug: 1122031
Change-Id: If6392e5b3e9692141b441162665aebd95ddd4b06
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2490024Reviewed-by: default avatarGanggui Tang <gogerald@chromium.org>
Commit-Queue: Sergio Collazos <sczs@chromium.org>
Cr-Commit-Position: refs/heads/master@{#819522}
parent 92b179c4
......@@ -436,10 +436,9 @@ NSString* const kContentSuggestionsMostVisitedAccessibilityIdentifierPrefix =
UIViewController* newFeedViewController = discoverFeedItem.discoverFeed;
if (newFeedViewController != self.discoverFeedVC) {
// If previous VC is not nil, remove it from the view hierarchy and stop
// osberving its feedView.
// If previous VC is not nil, remove it from the view hierarchy.
if (self.discoverFeedVC) {
[self removeContentSizeKVO];
self.feedView = nil;
[self.discoverFeedVC willMoveToParentViewController:nil];
[self.discoverFeedVC.view removeFromSuperview];
[self.discoverFeedVC removeFromParentViewController];
......@@ -458,7 +457,6 @@ NSString* const kContentSuggestionsMostVisitedAccessibilityIdentifierPrefix =
self.feedView = static_cast<UICollectionView*>(view);
}
}
[self addContentSizeKVO];
self.discoverFeedVC = newFeedViewController;
return cell;
}
......@@ -833,6 +831,15 @@ NSString* const kContentSuggestionsMostVisitedAccessibilityIdentifierPrefix =
#pragma mark - Private
// |self.feedView| setter.
- (void)setFeedView:(UICollectionView*)feedView {
if (feedView != _feedView) {
[self removeContentSizeKVO];
_feedView = feedView;
[self addContentSizeKVO];
}
}
// Adds KVO observing for the feedView contentSize if there is not one already.
- (void)addContentSizeKVO {
if (!self.observingDiscoverFeedHeight) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment