Commit e6fb5283 authored by Sky Malice's avatar Sky Malice Committed by Commit Bot

[Feed] Move FeedProcessScope into dedicated factory.

Bug: 831648
Change-Id: Ica8042c3d6fe629aabc24613e207ebbbf0a006f7
Reviewed-on: https://chromium-review.googlesource.com/1091698
Commit-Queue: Sky Malice <skym@chromium.org>
Reviewed-by: default avatarTheresa <twellington@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565747}
parent 92bfde3a
......@@ -14,11 +14,8 @@ import com.google.android.libraries.feed.api.scope.FeedProcessScope;
import com.google.android.libraries.feed.api.scope.FeedStreamScope;
import com.google.android.libraries.feed.api.stream.Stream;
import com.google.android.libraries.feed.host.config.Configuration;
import com.google.android.libraries.feed.host.config.Configuration.ConfigKey;
import com.google.android.libraries.feed.host.config.DebugBehavior;
import com.google.android.libraries.feed.host.stream.CardConfiguration;
import com.google.android.libraries.feed.host.stream.StreamConfiguration;
import com.google.android.libraries.feed.hostimpl.logging.LoggingApiImpl;
import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.chrome.R;
......@@ -31,14 +28,10 @@ import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.suggestions.SuggestionsNavigationDelegateImpl;
import org.chromium.chrome.browser.tabmodel.TabModelSelector;
import java.util.concurrent.Executors;
/**
* Provides a new tab page that displays an interest feed rendered list of content suggestions.
*/
public class FeedNewTabPage extends BasicNativePage {
private static FeedProcessScope sFeedProcessScope;
private FrameLayout mRootView;
private String mTitle;
private FeedImageLoader mImageLoader;
......@@ -115,33 +108,18 @@ public class FeedNewTabPage extends BasicNativePage {
super(activity, nativePageHost);
Profile profile = nativePageHost.getActiveTab().getProfile();
Configuration configHostApi =
new Configuration.Builder()
.put(ConfigKey.FEED_SERVER_HOST, "https://www.google.com")
.put(ConfigKey.FEED_SERVER_PATH_AND_PARAMS,
"/httpservice/noretry/NowStreamService/FeedQuery")
.put(ConfigKey.SESSION_LIFETIME_MS, 300000L)
.build();
if (sFeedProcessScope == null) {
sFeedProcessScope =
new FeedProcessScope
.Builder(configHostApi, Executors.newSingleThreadExecutor(),
new LoggingApiImpl(), new FeedNetworkBridge(profile),
new FeedSchedulerBridge(profile), DebugBehavior.SILENT)
.build();
}
FeedProcessScope feedProcessScope = FeedProcessScopeFactory.getFeedProcessScope();
mImageLoader = new FeedImageLoader(profile, activity);
SuggestionsNavigationDelegateImpl navigationDelegate =
new SuggestionsNavigationDelegateImpl(
activity, profile, nativePageHost, tabModelSelector);
FeedStreamScope streamScope =
sFeedProcessScope
feedProcessScope
.createFeedStreamScopeBuilder(activity, mImageLoader,
new FeedActionHandler(navigationDelegate),
new BasicStreamConfiguration(activity.getResources()),
new BasicCardConfiguration(activity.getResources()), configHostApi)
new BasicCardConfiguration(activity.getResources()),
new Configuration.Builder().build())
.build();
Stream stream = streamScope.getStream();
......
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.feed;
import com.google.android.libraries.feed.api.scope.FeedProcessScope;
import com.google.android.libraries.feed.host.config.Configuration;
import com.google.android.libraries.feed.host.config.Configuration.ConfigKey;
import com.google.android.libraries.feed.host.config.DebugBehavior;
import com.google.android.libraries.feed.hostimpl.logging.LoggingApiImpl;
import org.chromium.chrome.browser.profiles.Profile;
import java.util.concurrent.Executors;
/**
* Holds singleton {@link FeedProcessScope}.
*/
public class FeedProcessScopeFactory {
private static FeedProcessScope sFeedProcessScope;
/**
* @return The shared {@link FeedProcessScope} instance.
*/
public static FeedProcessScope getFeedProcessScope() {
if (sFeedProcessScope == null) {
Profile profile = Profile.getLastUsedProfile().getOriginalProfile();
Configuration configHostApi =
new Configuration.Builder()
.put(ConfigKey.FEED_SERVER_HOST, "https://www.google.com")
.put(ConfigKey.FEED_SERVER_PATH_AND_PARAMS,
"/httpservice/noretry/NowStreamService/FeedQuery")
.put(ConfigKey.SESSION_LIFETIME_MS, 300000L)
.build();
sFeedProcessScope =
new FeedProcessScope
.Builder(configHostApi, Executors.newSingleThreadExecutor(),
new LoggingApiImpl(), new FeedNetworkBridge(profile),
new FeedSchedulerBridge(profile), DebugBehavior.SILENT)
.build();
}
return sFeedProcessScope;
}
}
......@@ -13,6 +13,7 @@ if (enable_feed_in_chrome) {
"//chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedImageLoaderBridge.java",
"//chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedNetworkBridge.java",
"//chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedNewTabPage.java",
"//chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedProcessScopeFactory.java",
"//chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSchedulerBridge.java",
"//chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/action/FeedActionHandler.java",
]
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment