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

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

Issue 2439443002: [NTP Client] Make the SignInPromo update on SignInAllowed changes (Closed)
Patch Set: 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 cf1b3deab9ed86a94638bb9d668add9820de97ea..cff73cb5ad143b837741a4e8412a190be5fc0a1d 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,8 +60,6 @@
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;
@@ -154,7 +152,7 @@
private boolean mIsDestroyed;
/** Used by {@link #mNewTabPageManager}. Observer tracked for de-registration purposes. */
- private SignInStateObserver mSignInStateObserver;
+ private SelfRegistrable mSelfRegistrable;
Michael van Ouwerkerk 2016/10/19 12:09:18 Maybe rename to mSignInStateObserver or something
dgn 2016/10/19 17:03:41 renamed to mDestructionObserver. The NTP does not
/**
* Allows clients to listen for updates to the scroll changes of the search box on the
@@ -173,6 +171,16 @@
}
/**
+ * Object that can be registered when received by the {@link NewTabPageManager}, and that will
+ * be unregistered when the {@link NewTabPage} is destroyed.
Bernhard Bauer 2016/10/19 12:15:27 If this interface is for being notified about the
dgn 2016/10/19 17:03:41 Good point. Done.
+ * @see NewTabPageManager#addSelfRegistrable(SelfRegistrable)
+ */
+ public interface SelfRegistrable {
+ void register();
Bernhard Bauer 2016/10/19 12:15:27 Does this even need to be part of the interface? I
dgn 2016/10/19 17:03:41 Done.
+ void unregister();
+ }
+
+ /**
* Handles user interaction with the fakebox (the URL bar in the NTP).
*/
public interface FakeboxDelegate {
@@ -661,11 +669,11 @@ public SuggestionsSource getSuggestionsSource() {
}
@Override
- public void registerSignInStateObserver(SignInStateObserver signInStateObserver) {
+ public void addSelfRegistrable(SelfRegistrable selfRegistrable) {
if (mIsDestroyed) return;
- assert mSignInStateObserver == null;
- mSignInStateObserver = signInStateObserver;
- SigninManager.get(mActivity).addSignInStateObserver(mSignInStateObserver);
+ assert mSelfRegistrable == null;
+ mSelfRegistrable = selfRegistrable;
+ selfRegistrable.register();
}
@Override
@@ -972,8 +980,8 @@ public void destroy() {
if (mMostVisitedItemRemovedController != null) {
mTab.getSnackbarManager().dismissSnackbars(mMostVisitedItemRemovedController);
}
- if (mSignInStateObserver != null) {
- SigninManager.get(mActivity).removeSignInStateObserver(mSignInStateObserver);
+ if (mSelfRegistrable != null) {
+ mSelfRegistrable.unregister();
}
TemplateUrlService.getInstance().removeObserver(this);
mTab.removeObserver(mTabObserver);

Powered by Google App Engine
This is Rietveld 408576698