| Index: chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
| index 906c9cd63662c43bf6565f08b8acd53482d1ed2a..75383a75843cf4a6292b01f945222a7227828f39 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
| @@ -76,7 +76,7 @@
|
| import org.chromium.chrome.browser.download.DownloadUtils;
|
| import org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager;
|
| import org.chromium.chrome.browser.gsa.ContextReporter;
|
| -import org.chromium.chrome.browser.gsa.GSAAccountChangeListener;
|
| +import org.chromium.chrome.browser.gsa.GSAServiceClient;
|
| import org.chromium.chrome.browser.gsa.GSAState;
|
| import org.chromium.chrome.browser.help.HelpAndFeedback;
|
| import org.chromium.chrome.browser.infobar.InfoBarContainer;
|
| @@ -183,6 +183,7 @@
|
| private TabContentManager mTabContentManager;
|
| private UmaSessionStats mUmaSessionStats;
|
| private ContextReporter mContextReporter;
|
| + protected GSAServiceClient mGSAServiceClient;
|
|
|
| private boolean mPartnerBrowserRefreshNeeded;
|
|
|
| @@ -583,7 +584,8 @@
|
| ChromeActivitySessionTracker.getInstance().onStartWithNative();
|
|
|
| if (GSAState.getInstance(this).isGsaAvailable()) {
|
| - GSAAccountChangeListener.getInstance().connect();
|
| + mGSAServiceClient = new GSAServiceClient(this);
|
| + mGSAServiceClient.connect();
|
| createContextReporterIfNeeded();
|
| } else {
|
| ContextReporter.reportStatus(ContextReporter.STATUS_GSA_NOT_AVAILABLE);
|
| @@ -685,9 +687,9 @@
|
| Tab tab = getActivityTab();
|
| if (tab != null && !hasWindowFocus()) tab.onActivityHidden();
|
| if (mAppMenuHandler != null) mAppMenuHandler.hideAppMenu();
|
| -
|
| - if (GSAState.getInstance(this).isGsaAvailable()) {
|
| - GSAAccountChangeListener.getInstance().disconnect();
|
| + if (mGSAServiceClient != null) {
|
| + mGSAServiceClient.disconnect();
|
| + mGSAServiceClient = null;
|
| if (mSyncStateChangedListener != null) {
|
| ProfileSyncService syncService = ProfileSyncService.get();
|
| if (syncService != null) {
|
|
|