From 1deb9a22d80de8995b22d74299904172657026d3 Mon Sep 17 00:00:00 2001 From: samartnik Date: Fri, 9 Oct 2020 13:07:53 -0400 Subject: [PATCH] [Android] Changes in FeedSurfaceCoordinator Chromium change: https://chromium.googlesource.com/chromium/src/+/e274ab4bfbb68201b4c2cf36e8b7c0cf29981c17 Add enable_feed_v1 compile flag And restructure feed code so that we can use it. This flag pulls Feed v1 out of the build. It's a bit different that enable_feed_v2. enable_feed_v2 retains most of the v2 code in chromium -- only the internal code is actually removed when enable_feed_v2 is off. If both flags are ON (the default), we use the InterestFeedV2 feature to select which version to use. To facilitate this, only feed_feature_list.cc and FeedFeatures.java should inspect the state of this feature directly. If both build flags are OFF, we use the V2 UI classes as essentially a pass-through to a recycler view, but will not request any Feed content. The compile flag enable_feed_in_chrome was removed. Other changes: * I've moved some files around to make it more clear what code is for v1 only. * I've added FeedV1 and FeedV2 java classes to wrap access to version specific things, so that FeedV1 can be removed using the compile flag. Bug: 1129187 --- .../chrome/browser/feed/BraveFeedSurfaceCoordinator.java | 7 +++---- .../org/chromium/chrome/browser/ntp/BraveNewTabPage.java | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/android/feed/core/java/src/org/chromium/chrome/browser/feed/BraveFeedSurfaceCoordinator.java b/android/feed/core/java/src/org/chromium/chrome/browser/feed/BraveFeedSurfaceCoordinator.java index 56276e20f00d..3acc5b487531 100644 --- a/android/feed/core/java/src/org/chromium/chrome/browser/feed/BraveFeedSurfaceCoordinator.java +++ b/android/feed/core/java/src/org/chromium/chrome/browser/feed/BraveFeedSurfaceCoordinator.java @@ -15,7 +15,6 @@ import org.chromium.base.ApiCompatibilityUtils; import org.chromium.base.supplier.Supplier; import org.chromium.chrome.R; -import org.chromium.chrome.browser.feed.action.FeedActionHandler; import org.chromium.chrome.browser.feed.library.api.host.action.ActionApi; import org.chromium.chrome.browser.feed.shared.FeedSurfaceDelegate; import org.chromium.chrome.browser.native_page.NativePageNavigationDelegate; @@ -37,13 +36,13 @@ public class BraveFeedSurfaceCoordinator extends FeedSurfaceCoordinator { public BraveFeedSurfaceCoordinator(Activity activity, SnackbarManager snackbarManager, TabModelSelector tabModelSelector, Supplier tabProvider, @Nullable SnapScrollHelper snapScrollHelper, @Nullable View ntpHeader, - @Nullable SectionHeaderView sectionHeaderView, FeedActionHandler.Options actionOptions, + @Nullable SectionHeaderView sectionHeaderView, FeedV1ActionOptions actionOptions, boolean showDarkBackground, FeedSurfaceDelegate delegate, @Nullable NativePageNavigationDelegate pageNavigationDelegate, Profile profile, - boolean isPlaceholderShown, BottomSheetController bottomSheetController) { + boolean isPlaceholderRequested, BottomSheetController bottomSheetController) { super(activity, snackbarManager, tabModelSelector, tabProvider, snapScrollHelper, ntpHeader, sectionHeaderView, actionOptions, showDarkBackground, delegate, - pageNavigationDelegate, profile, isPlaceholderShown, bottomSheetController); + pageNavigationDelegate, profile, isPlaceholderRequested, bottomSheetController); } @Override diff --git a/android/java/org/chromium/chrome/browser/ntp/BraveNewTabPage.java b/android/java/org/chromium/chrome/browser/ntp/BraveNewTabPage.java index a2b96e9b54a2..bd866411ae05 100644 --- a/android/java/org/chromium/chrome/browser/ntp/BraveNewTabPage.java +++ b/android/java/org/chromium/chrome/browser/ntp/BraveNewTabPage.java @@ -13,7 +13,7 @@ import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider; import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior; import org.chromium.chrome.browser.feed.BraveFeedSurfaceCoordinator; -import org.chromium.chrome.browser.feed.FeedProcessScopeFactory; +import org.chromium.chrome.browser.feed.shared.FeedFeatures; import org.chromium.chrome.browser.feed.shared.FeedSurfaceProvider; import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher; import org.chromium.chrome.browser.profiles.Profile; @@ -52,7 +52,7 @@ protected void initializeMainView(Activity activity, Supplier tabProvider, // Override surface provider Profile profile = Profile.fromWebContents(mTab.getWebContents()); - assert !FeedProcessScopeFactory.isFeedProcessEnabled(); + assert !FeedFeatures.isFeedEnabled(); mFeedSurfaceProvider = new BraveFeedSurfaceCoordinator(activity, snackbarManager, tabModelSelector, tabProvider, new SnapScrollHelper(mNewTabPageManager, mNewTabPageLayout), mNewTabPageLayout,