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 = ...@@ -436,10 +436,9 @@ NSString* const kContentSuggestionsMostVisitedAccessibilityIdentifierPrefix =
UIViewController* newFeedViewController = discoverFeedItem.discoverFeed; UIViewController* newFeedViewController = discoverFeedItem.discoverFeed;
if (newFeedViewController != self.discoverFeedVC) { if (newFeedViewController != self.discoverFeedVC) {
// If previous VC is not nil, remove it from the view hierarchy and stop // If previous VC is not nil, remove it from the view hierarchy.
// osberving its feedView.
if (self.discoverFeedVC) { if (self.discoverFeedVC) {
[self removeContentSizeKVO]; self.feedView = nil;
[self.discoverFeedVC willMoveToParentViewController:nil]; [self.discoverFeedVC willMoveToParentViewController:nil];
[self.discoverFeedVC.view removeFromSuperview]; [self.discoverFeedVC.view removeFromSuperview];
[self.discoverFeedVC removeFromParentViewController]; [self.discoverFeedVC removeFromParentViewController];
...@@ -458,7 +457,6 @@ NSString* const kContentSuggestionsMostVisitedAccessibilityIdentifierPrefix = ...@@ -458,7 +457,6 @@ NSString* const kContentSuggestionsMostVisitedAccessibilityIdentifierPrefix =
self.feedView = static_cast<UICollectionView*>(view); self.feedView = static_cast<UICollectionView*>(view);
} }
} }
[self addContentSizeKVO];
self.discoverFeedVC = newFeedViewController; self.discoverFeedVC = newFeedViewController;
return cell; return cell;
} }
...@@ -833,6 +831,15 @@ NSString* const kContentSuggestionsMostVisitedAccessibilityIdentifierPrefix = ...@@ -833,6 +831,15 @@ NSString* const kContentSuggestionsMostVisitedAccessibilityIdentifierPrefix =
#pragma mark - Private #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. // Adds KVO observing for the feedView contentSize if there is not one already.
- (void)addContentSizeKVO { - (void)addContentSizeKVO {
if (!self.observingDiscoverFeedHeight) { 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