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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java

Issue 2378323002: 📰 Show the Sign In promo as a separate card from the section (Closed)
Patch Set: fix compilation Created 4 years, 2 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: chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
index 2b130a550d227660d2977378a17dbe872935b4b6..40f69d92f6b5e1c56420dbe00a64e05f44e3276f 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
@@ -60,6 +60,8 @@
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.search_engines.TemplateUrlService;
import org.chromium.chrome.browser.search_engines.TemplateUrlService.TemplateUrlServiceObserver;
+import org.chromium.chrome.browser.signin.SigninManager;
+import org.chromium.chrome.browser.signin.SigninManager.SignInStateObserver;
import org.chromium.chrome.browser.snackbar.Snackbar;
import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarController;
import org.chromium.chrome.browser.sync.SyncSessionsMetrics;
@@ -151,6 +153,9 @@
// Whether destroy() has been called.
private boolean mIsDestroyed;
+ /** Used by {@link #mNewTabPageManager}. Observer tracked for de-registration purposes. */
+ private SignInStateObserver mSignInStateObserver;
+
/**
* Allows clients to listen for updates to the scroll changes of the search box on the
* NTP.
@@ -652,6 +657,14 @@ public void closeContextMenu() {
public SuggestionsSource getSuggestionsSource() {
return mSnippetsBridge;
}
+
+ @Override
+ public void registerSignInStateObserver(SignInStateObserver signInStateObserver) {
+ if (mIsDestroyed) return;
+ assert mSignInStateObserver == null;
+ mSignInStateObserver = signInStateObserver;
+ SigninManager.get(mActivity).addSignInStateObserver(mSignInStateObserver);
+ }
};
/**
@@ -950,6 +963,9 @@ public void destroy() {
if (mMostVisitedItemRemovedController != null) {
mTab.getSnackbarManager().dismissSnackbars(mMostVisitedItemRemovedController);
}
+ if (mSignInStateObserver != null) {
+ SigninManager.get(mActivity).removeSignInStateObserver(mSignInStateObserver);
+ }
TemplateUrlService.getInstance().removeObserver(this);
mTab.removeObserver(mTabObserver);
mTabObserver = null;
« no previous file with comments | « chrome/android/java/res/values/dimens.xml ('k') | chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698