Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(83)

Unified Diff: ios/chrome/browser/ui/bookmarks/bookmark_collection_view.mm

Issue 2942923002: Implementing sign-in promo histograms for bookmark (Closed)
Patch Set: Renaming histograms Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ios/chrome/browser/ui/bookmarks/bookmark_collection_view.mm
diff --git a/ios/chrome/browser/ui/bookmarks/bookmark_collection_view.mm b/ios/chrome/browser/ui/bookmarks/bookmark_collection_view.mm
index 28cc755dbb44cc7bc27c3d588966e6491437fb92..11e140ddd099b8b89a8188d5654f99d3e7c94e88 100644
--- a/ios/chrome/browser/ui/bookmarks/bookmark_collection_view.mm
+++ b/ios/chrome/browser/ui/bookmarks/bookmark_collection_view.mm
@@ -19,10 +19,12 @@
#include "components/favicon/core/large_icon_service.h"
#include "components/favicon_base/fallback_icon_style.h"
#include "components/favicon_base/favicon_types.h"
+#include "components/pref_registry/pref_registry_syncable.h"
#include "ios/chrome/browser/bookmarks/bookmark_model_factory.h"
#include "ios/chrome/browser/bookmarks/bookmarks_utils.h"
#include "ios/chrome/browser/experimental_flags.h"
#include "ios/chrome/browser/favicon/ios_chrome_large_icon_service_factory.h"
+#include "ios/chrome/browser/pref_names.h"
#import "ios/chrome/browser/ui/authentication/signin_promo_view.h"
#import "ios/chrome/browser/ui/authentication/signin_promo_view_configurator.h"
#import "ios/chrome/browser/ui/authentication/signin_promo_view_consumer.h"
@@ -142,6 +144,11 @@ const NSTimeInterval kShowEmptyBookmarksBackgroundRefreshDelay = 1.0;
@synthesize browserState = _browserState;
@synthesize shadow = _shadow;
++ (void)registerBrowserStatePrefs:(user_prefs::PrefRegistrySyncable*)registry {
+ registry->RegisterIntegerPref(prefs::kIosBookmarkSigninPromoDisplayedCount,
+ 0);
+}
+
#pragma mark - Initialization
- (void)setupViews {
@@ -335,16 +342,32 @@ const NSTimeInterval kShowEmptyBookmarksBackgroundRefreshDelay = 1.0;
_signinPromoViewMediator.consumer = nil;
_signinPromoViewMediator = nil;
} else {
- _signinPromoViewMediator = [[SigninPromoViewMediator alloc] init];
+ _signinPromoViewMediator = [[SigninPromoViewMediator alloc]
+ initWithBrowserState:_browserState];
_signinPromoViewMediator.consumer = self;
+ _signinPromoViewMediator.displayedCountPreferenceKey =
+ prefs::kIosBookmarkSigninPromoDisplayedCount;
+ _signinPromoViewMediator.alreadySeenSigninViewPreferenceKey =
+ prefs::kIosBookmarkPromoAlreadySeen;
+ _signinPromoViewMediator.histograms =
+ ios::SigninPromoViewHistograms::Bookmarks;
_signinPromoViewMediator.accessPoint =
signin_metrics::AccessPoint::ACCESS_POINT_BOOKMARK_MANAGER;
+ [_signinPromoViewMediator signinPromoViewVisible];
}
}
[self.collectionView reloadData];
}
}
+- (void)wasShown {
+ [_signinPromoViewMediator signinPromoViewVisible];
+}
+
+- (void)wasHidden {
+ [_signinPromoViewMediator signinPromoViewHidden];
+}
+
#pragma mark - Sections
- (NSInteger)promoSection {
@@ -773,7 +796,7 @@ const NSTimeInterval kShowEmptyBookmarksBackgroundRefreshDelay = 1.0;
configureSigninPromoView:signinPromoCell.signinPromoView];
__weak BookmarkCollectionView* weakSelf = self;
signinPromoCell.closeButtonAction = ^() {
- [weakSelf.delegate bookmarkCollectionViewDismissPromo:self];
+ [weakSelf signinPromoCloseButtonAction];
};
return signinPromoCell;
} else {
@@ -794,6 +817,12 @@ const NSTimeInterval kShowEmptyBookmarksBackgroundRefreshDelay = 1.0;
return cell;
}
+// Removes the sign-in promo view.
+- (void)signinPromoCloseButtonAction {
+ [_signinPromoViewMediator signinPromoViewDismissed];
+ [_delegate bookmarkCollectionViewDismissPromo:self];
+}
+
// Create a header view for the element at |indexPath|.
- (UICollectionReusableView*)headerAtIndexPath:(NSIndexPath*)indexPath {
if (![self needsSectionHeaderForSection:indexPath.section])

Powered by Google App Engine
This is Rietveld 408576698