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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java

Issue 2768663002: [Bookmarks] Refactor search view to use SelectableListLayout paradigm (Closed)
Patch Set: Fix spelling error Created 3 years, 9 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.bookmarks; 5 package org.chromium.chrome.browser.bookmarks;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 import android.content.SharedPreferences; 8 import android.content.SharedPreferences;
9 import android.support.v7.widget.RecyclerView; 9 import android.support.v7.widget.RecyclerView;
10 import android.support.v7.widget.RecyclerView.ViewHolder; 10 import android.support.v7.widget.RecyclerView.ViewHolder;
11 import android.view.ViewGroup; 11 import android.view.ViewGroup;
12 12
13 import org.chromium.base.ContextUtils; 13 import org.chromium.base.ContextUtils;
14 import org.chromium.base.VisibleForTesting;
14 import org.chromium.base.metrics.RecordUserAction; 15 import org.chromium.base.metrics.RecordUserAction;
15 import org.chromium.chrome.browser.signin.SigninAccessPoint; 16 import org.chromium.chrome.browser.signin.SigninAccessPoint;
16 import org.chromium.chrome.browser.signin.SigninAndSyncView; 17 import org.chromium.chrome.browser.signin.SigninAndSyncView;
17 import org.chromium.chrome.browser.signin.SigninManager; 18 import org.chromium.chrome.browser.signin.SigninManager;
18 import org.chromium.chrome.browser.signin.SigninManager.SignInStateObserver; 19 import org.chromium.chrome.browser.signin.SigninManager.SignInStateObserver;
19 import org.chromium.components.sync.AndroidSyncSettings; 20 import org.chromium.components.sync.AndroidSyncSettings;
20 import org.chromium.components.sync.AndroidSyncSettings.AndroidSyncSettingsObser ver; 21 import org.chromium.components.sync.AndroidSyncSettings.AndroidSyncSettingsObser ver;
21 22
22 /** 23 /**
23 * Class that manages all the logic and UI behind the signin promo header in the bookmark 24 * Class that manages all the logic and UI behind the signin promo header in the bookmark
(...skipping 12 matching lines...) Expand all
36 void onPromoHeaderShowingChanged(boolean isShowing); 37 void onPromoHeaderShowingChanged(boolean isShowing);
37 } 38 }
38 39
39 private static final String PREF_SIGNIN_PROMO_DECLINED = 40 private static final String PREF_SIGNIN_PROMO_DECLINED =
40 "enhanced_bookmark_signin_promo_declined"; 41 "enhanced_bookmark_signin_promo_declined";
41 private static final String PREF_SIGNIN_PROMO_SHOW_COUNT = 42 private static final String PREF_SIGNIN_PROMO_SHOW_COUNT =
42 "enhanced_bookmark_signin_promo_show_count"; 43 "enhanced_bookmark_signin_promo_show_count";
43 // TODO(kkimlabs): Figure out the optimal number based on UMA data. 44 // TODO(kkimlabs): Figure out the optimal number based on UMA data.
44 private static final int MAX_SIGNIN_PROMO_SHOW_COUNT = 5; 45 private static final int MAX_SIGNIN_PROMO_SHOW_COUNT = 5;
45 46
47 private static boolean sShouldShowForTests;
48
46 private Context mContext; 49 private Context mContext;
47 private SigninManager mSignInManager; 50 private SigninManager mSignInManager;
48 private boolean mShouldShow; 51 private boolean mShouldShow;
49 private PromoHeaderShowingChangeListener mShowingChangeListener; 52 private PromoHeaderShowingChangeListener mShowingChangeListener;
50 53
51 /** 54 /**
52 * Initializes the class. Note that this will start listening to signin rela ted events and 55 * Initializes the class. Note that this will start listening to signin rela ted events and
53 * update itself if needed. 56 * update itself if needed.
54 */ 57 */
55 BookmarkPromoHeader(Context context, 58 BookmarkPromoHeader(Context context,
(...skipping 23 matching lines...) Expand all
79 AndroidSyncSettings.unregisterObserver(mContext, this); 82 AndroidSyncSettings.unregisterObserver(mContext, this);
80 83
81 mSignInManager.removeSignInStateObserver(this); 84 mSignInManager.removeSignInStateObserver(this);
82 mSignInManager = null; 85 mSignInManager = null;
83 } 86 }
84 87
85 /** 88 /**
86 * @return Whether it should be showing. 89 * @return Whether it should be showing.
87 */ 90 */
88 boolean shouldShow() { 91 boolean shouldShow() {
89 return mShouldShow; 92 return mShouldShow || sShouldShowForTests;
90 } 93 }
91 94
92 /** 95 /**
93 * @return Signin promo header {@link ViewHolder} instance that can be used with 96 * @return Signin promo header {@link ViewHolder} instance that can be used with
94 * {@link RecyclerView}. 97 * {@link RecyclerView}.
95 */ 98 */
96 ViewHolder createHolder(ViewGroup parent) { 99 ViewHolder createHolder(ViewGroup parent) {
97 SigninAndSyncView.Listener listener = new SigninAndSyncView.Listener() { 100 SigninAndSyncView.Listener listener = new SigninAndSyncView.Listener() {
98 @Override 101 @Override
99 public void onViewDismissed() { 102 public void onViewDismissed() {
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 150
148 @Override 151 @Override
149 public void onSignedIn() { 152 public void onSignedIn() {
150 updateShouldShow(true); 153 updateShouldShow(true);
151 } 154 }
152 155
153 @Override 156 @Override
154 public void onSignedOut() { 157 public void onSignedOut() {
155 updateShouldShow(true); 158 updateShouldShow(true);
156 } 159 }
160
161 /**
162 * Forces the promo to show for testing purposes.
163 */
164 @VisibleForTesting
165 public static void setShouldShowForTests() {
166 sShouldShowForTests = true;
167 }
157 } 168 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698