| Index: chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsBottomSheetContent.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsBottomSheetContent.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsBottomSheetContent.java
|
| index 7640b438f4289e71c0cb2e6c0b57c96cc1c76160..59f794c67ee34af41e6badf6049dc2653567c9b0 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsBottomSheetContent.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsBottomSheetContent.java
|
| @@ -12,6 +12,7 @@
|
| import android.view.View;
|
|
|
| import org.chromium.base.ApiCompatibilityUtils;
|
| +import org.chromium.base.metrics.RecordUserAction;
|
| import org.chromium.chrome.R;
|
| import org.chromium.chrome.browser.ChromeActivity;
|
| import org.chromium.chrome.browser.NativePageHost;
|
| @@ -30,7 +31,7 @@
|
| import org.chromium.chrome.browser.widget.bottomsheet.BottomSheet;
|
| import org.chromium.chrome.browser.widget.bottomsheet.BottomSheetContentController;
|
| import org.chromium.chrome.browser.widget.bottomsheet.BottomSheetObserver;
|
| -import org.chromium.chrome.browser.widget.bottomsheet.EmptyBottomSheetObserver;
|
| +import org.chromium.chrome.browser.widget.bottomsheet.SheetContentStateChangeObserver;
|
| import org.chromium.chrome.browser.widget.displaystyle.UiConfig;
|
|
|
| /**
|
| @@ -85,31 +86,45 @@ public void onDestroy() {
|
| mContextMenuManager, mTileGroupDelegate);
|
| mRecyclerView.init(uiConfig, mContextMenuManager, adapter);
|
|
|
| - mBottomSheetObserver = new EmptyBottomSheetObserver() {
|
| + mBottomSheet = activity.getBottomSheet();
|
| + mBottomSheetObserver = new SheetContentStateChangeObserver(this, mBottomSheet) {
|
| @Override
|
| - public void onSheetOpened() {
|
| + public void onContentShown() {
|
| + SuggestionsMetrics.recordSurfaceVisible();
|
| + mSuggestionsUiDelegate.getEventReporter().onSurfaceOpened();
|
| +
|
| mRecyclerView.scrollToPosition(0);
|
|
|
| adapter.refreshSuggestions();
|
| - mSuggestionsUiDelegate.getEventReporter().onSurfaceOpened();
|
| - SuggestionsMetrics.recordSurfaceVisible();
|
| }
|
|
|
| @Override
|
| - public void onSheetClosed() {
|
| + public void onContentHidden() {
|
| SuggestionsMetrics.recordSurfaceHidden();
|
| }
|
|
|
| + @Override
|
| + public void onContentStateChanged(int sheetState) {
|
| + if (sheetState == BottomSheet.SHEET_STATE_HALF) {
|
| + RecordUserAction.record("Suggestions.SurfaceHalfVisible");
|
| + } else if (sheetState == BottomSheet.SHEET_STATE_FULL) {
|
| + RecordUserAction.record("Suggestions.SurfaceFullyVisible");
|
| + }
|
| + }
|
| +
|
| + @Override
|
| + public void onSheetBackgrounded() {
|
| + onContentHidden();
|
| + }
|
| +
|
| + @Override
|
| + public void onSheetForegrounded() {
|
| + SuggestionsMetrics.recordSurfaceVisible();
|
| + onContentStateChanged(getCurrentState());
|
| + }
|
| };
|
| - mBottomSheet = activity.getBottomSheet();
|
| mBottomSheet.addObserver(mBottomSheetObserver);
|
|
|
| - if (mBottomSheet.isSheetOpen()) {
|
| - adapter.refreshSuggestions();
|
| - mSuggestionsUiDelegate.getEventReporter().onSurfaceOpened();
|
| - SuggestionsMetrics.recordSurfaceVisible();
|
| - }
|
| -
|
| mShadowView = (FadingShadowView) mView.findViewById(R.id.shadow);
|
| mShadowView.init(
|
| ApiCompatibilityUtils.getColor(mView.getResources(), R.color.toolbar_shadow_color),
|
|
|