Move methods not used by client to new internal RequestManager
PiperOrigin-RevId: 243994362
Change-Id: I2e2732709294f5fc1024e1ed75f7040a7350761b
diff --git a/src/main/java/com/google/android/libraries/feed/api/requestmanager/RequestManager.java b/src/main/java/com/google/android/libraries/feed/api/requestmanager/RequestManager.java
index ab0e5f9..eed5265 100644
--- a/src/main/java/com/google/android/libraries/feed/api/requestmanager/RequestManager.java
+++ b/src/main/java/com/google/android/libraries/feed/api/requestmanager/RequestManager.java
@@ -16,26 +16,18 @@
import com.google.android.libraries.feed.common.Result;
import com.google.android.libraries.feed.common.functional.Consumer;
-import com.google.android.libraries.feed.common.functional.Supplier;
import com.google.android.libraries.feed.host.logging.RequestReason;
import com.google.search.now.feed.client.StreamDataProto.StreamDataOperation;
-import com.google.search.now.feed.client.StreamDataProto.StreamToken;
-import com.google.search.now.wire.feed.ConsistencyTokenProto.ConsistencyToken;
import java.util.List;
/** Creates and issues requests to the server. */
public interface RequestManager {
-
/**
- * Issues a request for the next page of data. The {@code streamToken} described to the server
- * what the next page means. The{@code token} is used by the server for consistent data across
- * requests. The response will be sent to a {@link Consumer} a set of {@link StreamDataOperation}
- * created by the ProtocolAdapter.
+ * Issues a request to refresh the entire feed.
+ *
+ * @param reason The reason for this refresh.
*/
- void loadMore(
- StreamToken streamToken,
- ConsistencyToken token,
- Consumer<Result<List<StreamDataOperation>>> consumer);
+ void triggerRefresh(@RequestReason int reason);
/**
* Issues a request to refresh the entire feed, with the consumer being called back with the
@@ -45,32 +37,4 @@
*/
void triggerRefresh(
@RequestReason int reason, Consumer<Result<List<StreamDataOperation>>> consumer);
-
- /**
- * Issues a request to refresh the entire feed, with the consumer being called back with the
- * resulting {@link StreamDataOperation}s.
- *
- * @param reason The reason for this refresh.
- * @param token Used by the server for consistent data across requests.
- * @param consumer The consumer called after the refresh is performed.
- */
- void triggerRefresh(
- @RequestReason int reason,
- ConsistencyToken token,
- Consumer<Result<List<StreamDataOperation>>> consumer);
- /**
- * Issues a request to refresh the entire feed.
- *
- * @param reason The reason for this refresh.
- * @throws IllegalStateException if {@link #setDefaultTriggerRefreshConsumerSupplier} has not been
- * called.
- */
- void triggerRefresh(@RequestReason int reason);
-
- /**
- * Sets a supplier that will generate a consumer to be used for the {@link
- * #triggerRefresh(RequestReason)} method call
- */
- void setDefaultTriggerRefreshConsumerSupplier(
- Supplier<Consumer<Result<List<StreamDataOperation>>>> consumer);
}
diff --git a/src/main/java/com/google/android/libraries/feed/api/scope/BUILD b/src/main/java/com/google/android/libraries/feed/api/scope/BUILD
index a98da82..058c818 100644
--- a/src/main/java/com/google/android/libraries/feed/api/scope/BUILD
+++ b/src/main/java/com/google/android/libraries/feed/api/scope/BUILD
@@ -46,6 +46,7 @@
"//src/main/java/com/google/android/libraries/feed/internalapi/actionparser",
"//src/main/java/com/google/android/libraries/feed/internalapi/modelprovider",
"//src/main/java/com/google/android/libraries/feed/internalapi/protocoladapter",
+ "//src/main/java/com/google/android/libraries/feed/internalapi/requestmanager",
"//src/main/java/com/google/android/libraries/feed/internalapi/store",
"//src/main/java/com/google/android/libraries/feed/piet/host",
"//src/main/proto/com/google/android/libraries/feed/internalapi/proto:client_feed_java_proto_lite",
diff --git a/src/main/java/com/google/android/libraries/feed/api/scope/FeedProcessScope.java b/src/main/java/com/google/android/libraries/feed/api/scope/FeedProcessScope.java
index a7f9b3b..c435ac6 100644
--- a/src/main/java/com/google/android/libraries/feed/api/scope/FeedProcessScope.java
+++ b/src/main/java/com/google/android/libraries/feed/api/scope/FeedProcessScope.java
@@ -39,7 +39,8 @@
import com.google.android.libraries.feed.feedknowncontent.FeedKnownContentApi;
import com.google.android.libraries.feed.feedprotocoladapter.FeedProtocolAdapter;
import com.google.android.libraries.feed.feedrequestmanager.FeedActionUploadRequestManager;
-import com.google.android.libraries.feed.feedrequestmanager.FeedRequestManager;
+import com.google.android.libraries.feed.feedrequestmanager.FeedRequestManagerImpl;
+import com.google.android.libraries.feed.feedrequestmanager.RequestManagerImpl;
import com.google.android.libraries.feed.feedsessionmanager.FeedSessionManagerFactory;
import com.google.android.libraries.feed.feedstore.ContentStorageDirectImpl;
import com.google.android.libraries.feed.feedstore.FeedStore;
@@ -71,6 +72,7 @@
import com.google.android.libraries.feed.internalapi.actionmanager.ActionManager;
import com.google.android.libraries.feed.internalapi.actionmanager.ActionReader;
import com.google.android.libraries.feed.internalapi.protocoladapter.ProtocolAdapter;
+import com.google.android.libraries.feed.internalapi.requestmanager.FeedRequestManager;
import com.google.android.libraries.feed.internalapi.store.Store;
import java.util.ArrayList;
import java.util.concurrent.ExecutorService;
@@ -281,7 +283,7 @@
private final ApplicationInfo applicationInfo;
// Optional fields - if they are not provided, we will use default implementations.
- /*@MonotonicNonNull*/ private RequestManager requestManager = null;
+ /*@MonotonicNonNull*/ private FeedRequestManager feedRequestManager = null;
/*@MonotonicNonNull*/ private ActionUploadRequestManager actionUploadRequestManager = null;
/*@MonotonicNonNull*/ private SessionManager sessionManager = null;
/*@MonotonicNonNull*/ private ProtocolAdapter protocolAdapter = null;
@@ -324,8 +326,8 @@
return this;
}
- public Builder setRequestManager(RequestManager requestManager) {
- this.requestManager = requestManager;
+ public Builder setFeedRequestManager(FeedRequestManager feedRequestManager) {
+ this.feedRequestManager = feedRequestManager;
return this;
}
@@ -480,9 +482,9 @@
}
ActionReader actionReader =
new FeedActionReader(store, clock, protocolAdapter, taskQueue, configuration);
- if (requestManager == null) {
- requestManager =
- new FeedRequestManager(
+ if (feedRequestManager == null) {
+ feedRequestManager =
+ new FeedRequestManagerImpl(
configuration,
networkClient,
protocolAdapter,
@@ -519,7 +521,7 @@
timingUtils,
threadUtils,
protocolAdapter,
- requestManager,
+ feedRequestManager,
actionUploadRequestManager,
schedulerApi,
configuration,
@@ -527,8 +529,8 @@
lifecycleListener);
sessionManager = fsmFactory.create();
}
- requestManager.setDefaultTriggerRefreshConsumerSupplier(
- sessionManager.getTriggerRefreshConsumer());
+ RequestManagerImpl clientRequestManager =
+ new RequestManagerImpl(feedRequestManager, sessionManager);
ActionManager actionManager =
new FeedActionManagerImpl(
sessionManager, store, threadUtils, taskQueue, getOrCreateMainThreadRunner());
@@ -544,7 +546,7 @@
basicLoggingApi,
networkClient,
Validators.checkNotNull(protocolAdapter),
- Validators.checkNotNull(requestManager),
+ Validators.checkNotNull(clientRequestManager),
Validators.checkNotNull(actionUploadRequestManager),
Validators.checkNotNull(sessionManager),
store,
diff --git a/src/main/java/com/google/android/libraries/feed/api/sessionmanager/SessionManager.java b/src/main/java/com/google/android/libraries/feed/api/sessionmanager/SessionManager.java
index fb0229c..470bfe1 100644
--- a/src/main/java/com/google/android/libraries/feed/api/sessionmanager/SessionManager.java
+++ b/src/main/java/com/google/android/libraries/feed/api/sessionmanager/SessionManager.java
@@ -21,7 +21,6 @@
import com.google.android.libraries.feed.common.Result;
import com.google.android.libraries.feed.common.functional.Consumer;
import com.google.android.libraries.feed.common.functional.Function;
-import com.google.android.libraries.feed.common.functional.Supplier;
import com.google.android.libraries.feed.host.logging.RequestReason;
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProvider;
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProvider.ViewDepthProvider;
@@ -114,12 +113,6 @@
Consumer<Result<List<StreamDataOperation>>> getUpdateConsumer(MutationContext mutationContext);
/**
- * Returns a consumer that can be used as the default consumer for doing a TriggerRefresh on the
- * {@link com.google.android.libraries.feed.api.requestmanager.RequestManager}.
- */
- Supplier<Consumer<Result<List<StreamDataOperation>>>> getTriggerRefreshConsumer();
-
- /**
* Create a filtered {@link List} of {@code T} objects and return it through the {@link Consumer}.
* The {@code filterPredicate} function will be applied to each node in the structured tree
* defined by $HEAD. The method acts as both a transformer to create type {@code T} and as a
diff --git a/src/main/java/com/google/android/libraries/feed/common/testing/InfraIntegrationScope.java b/src/main/java/com/google/android/libraries/feed/common/testing/InfraIntegrationScope.java
index b5d606f..51ae620 100644
--- a/src/main/java/com/google/android/libraries/feed/common/testing/InfraIntegrationScope.java
+++ b/src/main/java/com/google/android/libraries/feed/common/testing/InfraIntegrationScope.java
@@ -43,7 +43,7 @@
import com.google.android.libraries.feed.testing.host.logging.FakeBasicLoggingApi;
import com.google.android.libraries.feed.testing.host.scheduler.FakeSchedulerApi;
import com.google.android.libraries.feed.testing.requestmanager.FakeActionUploadRequestManager;
-import com.google.android.libraries.feed.testing.requestmanager.FakeRequestManager;
+import com.google.android.libraries.feed.testing.requestmanager.FakeFeedRequestManager;
import com.google.protobuf.GeneratedMessageLite.GeneratedExtension;
import java.util.ArrayList;
import java.util.List;
@@ -68,7 +68,7 @@
private final Executor executor;
private final FakeClock fakeClock;
private final FakeMainThreadRunner fakeMainThreadRunner;
- private final FakeRequestManager fakeRequestManager;
+ private final FakeFeedRequestManager fakeFeedRequestManager;
private final FakeThreadUtils fakeThreadUtils;
private final FeedAppLifecycleListener appLifecycleListener;
private final FeedModelProviderFactory modelProviderFactory;
@@ -114,8 +114,8 @@
fakeBasicLoggingApi,
fakeMainThreadRunner);
feedProtocolAdapter = new FeedProtocolAdapter(timingUtils);
- fakeRequestManager =
- new FakeRequestManager(
+ fakeFeedRequestManager =
+ new FakeFeedRequestManager(
fakeThreadUtils, fakeMainThreadRunner, feedProtocolAdapter, taskQueue);
FakeActionUploadRequestManager fakeActionUploadRequestManager =
new FakeActionUploadRequestManager(FakeThreadUtils.withThreadChecks());
@@ -126,7 +126,7 @@
timingUtils,
fakeThreadUtils,
feedProtocolAdapter,
- fakeRequestManager,
+ fakeFeedRequestManager,
fakeActionUploadRequestManager,
schedulerApi,
configuration,
@@ -178,8 +178,8 @@
return taskQueue;
}
- public FakeRequestManager getRequestManager() {
- return fakeRequestManager;
+ public FakeFeedRequestManager getFakeFeedRequestManager() {
+ return fakeFeedRequestManager;
}
public AppLifecycleListener getAppLifecycleListener() {
diff --git a/src/main/java/com/google/android/libraries/feed/common/testing/SessionTestUtils.java b/src/main/java/com/google/android/libraries/feed/common/testing/SessionTestUtils.java
index 15bf30d..11ddb67 100644
--- a/src/main/java/com/google/android/libraries/feed/common/testing/SessionTestUtils.java
+++ b/src/main/java/com/google/android/libraries/feed/common/testing/SessionTestUtils.java
@@ -84,7 +84,7 @@
/** Populates HEAD with data. */
public void populateHead() {
scope
- .getRequestManager()
+ .getFakeFeedRequestManager()
.queueResponse(ResponseBuilder.forClearAllWithCards(REQUEST_1).build())
.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
@@ -93,14 +93,14 @@
/** Enqueues an error response and returns the delay in milliseconds. */
public long queueError() {
- scope.getRequestManager().queueError(currentDelay);
+ scope.getFakeFeedRequestManager().queueError(currentDelay);
return currentDelay;
}
/** Enqueues a response and returns the delay in milliseconds. */
public long queueRequest() {
scope
- .getRequestManager()
+ .getFakeFeedRequestManager()
.queueResponse(ResponseBuilder.forClearAllWithCards(REQUEST_2).build(), currentDelay);
return currentDelay;
}
@@ -109,7 +109,7 @@
public long startOutstandingRequestWithError() {
long delayMs = queueError();
scope
- .getRequestManager()
+ .getFakeFeedRequestManager()
.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
scope.getSessionManager().getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
@@ -120,7 +120,7 @@
public long startOutstandingRequest() {
long delayMs = queueRequest();
scope
- .getRequestManager()
+ .getFakeFeedRequestManager()
.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
scope.getSessionManager().getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
diff --git a/src/main/java/com/google/android/libraries/feed/feedrequestmanager/BUILD b/src/main/java/com/google/android/libraries/feed/feedrequestmanager/BUILD
index 13e2836..39b4361 100644
--- a/src/main/java/com/google/android/libraries/feed/feedrequestmanager/BUILD
+++ b/src/main/java/com/google/android/libraries/feed/feedrequestmanager/BUILD
@@ -8,6 +8,7 @@
deps = [
"//src/main/java/com/google/android/libraries/feed/api/common",
"//src/main/java/com/google/android/libraries/feed/api/requestmanager",
+ "//src/main/java/com/google/android/libraries/feed/api/sessionmanager",
"//src/main/java/com/google/android/libraries/feed/common",
"//src/main/java/com/google/android/libraries/feed/common/concurrent",
"//src/main/java/com/google/android/libraries/feed/common/functional",
@@ -24,6 +25,7 @@
"//src/main/java/com/google/android/libraries/feed/host/stream",
"//src/main/java/com/google/android/libraries/feed/internalapi/actionmanager",
"//src/main/java/com/google/android/libraries/feed/internalapi/protocoladapter",
+ "//src/main/java/com/google/android/libraries/feed/internalapi/requestmanager",
"//src/main/java/com/google/android/libraries/feed/internalapi/store",
"//src/main/proto/com/google/android/libraries/feed/internalapi/proto:client_feed_java_proto_lite",
"//src/main/proto/search/now/wire/feed:feed_java_proto_lite",
diff --git a/src/main/java/com/google/android/libraries/feed/feedrequestmanager/FeedRequestManager.java b/src/main/java/com/google/android/libraries/feed/feedrequestmanager/FeedRequestManagerImpl.java
similarity index 94%
rename from src/main/java/com/google/android/libraries/feed/feedrequestmanager/FeedRequestManager.java
rename to src/main/java/com/google/android/libraries/feed/feedrequestmanager/FeedRequestManagerImpl.java
index ef76f0a..366084a 100644
--- a/src/main/java/com/google/android/libraries/feed/feedrequestmanager/FeedRequestManager.java
+++ b/src/main/java/com/google/android/libraries/feed/feedrequestmanager/FeedRequestManagerImpl.java
@@ -19,13 +19,11 @@
import android.util.DisplayMetrics;
import com.google.android.libraries.feed.api.common.DismissActionWithSemanticProperties;
import com.google.android.libraries.feed.api.common.ThreadUtils;
-import com.google.android.libraries.feed.api.requestmanager.RequestManager;
import com.google.android.libraries.feed.common.Result;
import com.google.android.libraries.feed.common.concurrent.MainThreadRunner;
import com.google.android.libraries.feed.common.concurrent.TaskQueue;
import com.google.android.libraries.feed.common.concurrent.TaskQueue.TaskType;
import com.google.android.libraries.feed.common.functional.Consumer;
-import com.google.android.libraries.feed.common.functional.Supplier;
import com.google.android.libraries.feed.common.locale.LocaleUtils;
import com.google.android.libraries.feed.common.logging.Logger;
import com.google.android.libraries.feed.common.protoextensions.FeedExtensionRegistry;
@@ -46,6 +44,7 @@
import com.google.android.libraries.feed.host.stream.TooltipSupportedApi;
import com.google.android.libraries.feed.internalapi.actionmanager.ActionReader;
import com.google.android.libraries.feed.internalapi.protocoladapter.ProtocolAdapter;
+import com.google.android.libraries.feed.internalapi.requestmanager.FeedRequestManager;
import com.google.android.libraries.feed.internalapi.store.LocalActionMutation.ActionType;
import com.google.protobuf.ByteString;
import com.google.search.now.feed.client.StreamDataProto.StreamDataOperation;
@@ -77,9 +76,9 @@
import java.util.List;
import java.util.Map;
-/** Default implementation of RequestManager. */
-public final class FeedRequestManager implements RequestManager {
- private static final String TAG = "FeedRequestManager";
+/** Default implementation of FeedRequestManager. */
+public final class FeedRequestManagerImpl implements FeedRequestManager {
+ private static final String TAG = "FeedRequestManagerImpl";
private final Configuration configuration;
private final NetworkClient networkClient;
@@ -96,11 +95,7 @@
private final TooltipSupportedApi tooltipSupportedApi;
private final ApplicationInfo applicationInfo;
- /*@Nullable*/
- private Supplier<Consumer<Result<List<StreamDataOperation>>>>
- defaultTriggerRefreshConsumerSupplier;
-
- public FeedRequestManager(
+ public FeedRequestManagerImpl(
Configuration configuration,
NetworkClient networkClient,
ProtocolAdapter protocolAdapter,
@@ -138,7 +133,7 @@
Consumer<Result<List<StreamDataOperation>>> consumer) {
threadUtils.checkNotMainThread();
- Logger.i(TAG, "Task: FeedRequestManager LoadMore");
+ Logger.i(TAG, "Task: FeedRequestManagerImpl LoadMore");
ElapsedTimeTracker timeTracker = timingUtils.getElapsedTimeTracker(TAG);
RequestBuilder request =
newDefaultRequest(RequestReason.MANUAL_CONTINUATION)
@@ -146,7 +141,7 @@
.setConsistencyToken(token);
executeRequest(request, consumer);
timeTracker.stop(
- "task", "FeedRequestManager LoadMore", "token", streamToken.getNextPageToken());
+ "task", "FeedRequestManagerImpl LoadMore", "token", streamToken.getNextPageToken());
}
@Override
@@ -175,22 +170,6 @@
}
}
- @Override
- public void triggerRefresh(@RequestReason int reason) {
- if (defaultTriggerRefreshConsumerSupplier == null) {
- throw new IllegalStateException(
- "Must set defaultTriggerRefreshConsumerSupplier before calling "
- + "triggerRefresh(RequestReason).");
- }
- triggerRefresh(reason, defaultTriggerRefreshConsumerSupplier.get());
- }
-
- @Override
- public void setDefaultTriggerRefreshConsumerSupplier(
- Supplier<Consumer<Result<List<StreamDataOperation>>>> consumerSupplier) {
- this.defaultTriggerRefreshConsumerSupplier = consumerSupplier;
- }
-
private RequestBuilder newDefaultRequest(@RequestReason int requestReason) {
return new RequestBuilder(context, applicationInfo, configuration, requestReason);
}
@@ -327,7 +306,7 @@
contextResult = Result.failure();
}
mainThreadRunner.execute(
- "FeedRequestManager consumer", () -> consumer.accept(contextResult));
+ "FeedRequestManagerImpl consumer", () -> consumer.accept(contextResult));
});
}
diff --git a/src/main/java/com/google/android/libraries/feed/feedrequestmanager/RequestManagerImpl.java b/src/main/java/com/google/android/libraries/feed/feedrequestmanager/RequestManagerImpl.java
new file mode 100644
index 0000000..2615dab
--- /dev/null
+++ b/src/main/java/com/google/android/libraries/feed/feedrequestmanager/RequestManagerImpl.java
@@ -0,0 +1,50 @@
+// Copyright 2019 The Feed Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package com.google.android.libraries.feed.feedrequestmanager;
+
+import com.google.android.libraries.feed.api.common.MutationContext;
+import com.google.android.libraries.feed.api.requestmanager.RequestManager;
+import com.google.android.libraries.feed.api.sessionmanager.SessionManager;
+import com.google.android.libraries.feed.common.Result;
+import com.google.android.libraries.feed.common.functional.Consumer;
+import com.google.android.libraries.feed.host.logging.RequestReason;
+import com.google.android.libraries.feed.internalapi.requestmanager.FeedRequestManager;
+import com.google.search.now.feed.client.StreamDataProto.StreamDataOperation;
+import java.util.List;
+
+/** Implementation of Client-visible RequestManagerApi. */
+public final class RequestManagerImpl implements RequestManager {
+ private static final String TAG = "RequestManagerImpl";
+
+ private final FeedRequestManager feedRequestManager;
+ private final SessionManager sessionManager;
+
+ public RequestManagerImpl(FeedRequestManager feedRequestManager, SessionManager sessionManager) {
+ this.feedRequestManager = feedRequestManager;
+ this.sessionManager = sessionManager;
+ }
+
+ @Override
+ public void triggerRefresh(
+ @RequestReason int reason, Consumer<Result<List<StreamDataOperation>>> consumer) {
+ feedRequestManager.triggerRefresh(reason, consumer);
+ }
+
+ @Override
+ public void triggerRefresh(@RequestReason int reason) {
+ feedRequestManager.triggerRefresh(
+ reason, sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
+ }
+}
diff --git a/src/main/java/com/google/android/libraries/feed/feedsessionmanager/BUILD b/src/main/java/com/google/android/libraries/feed/feedsessionmanager/BUILD
index 46180b8..1ab9108 100644
--- a/src/main/java/com/google/android/libraries/feed/feedsessionmanager/BUILD
+++ b/src/main/java/com/google/android/libraries/feed/feedsessionmanager/BUILD
@@ -24,6 +24,7 @@
"//src/main/java/com/google/android/libraries/feed/host/scheduler",
"//src/main/java/com/google/android/libraries/feed/internalapi/modelprovider",
"//src/main/java/com/google/android/libraries/feed/internalapi/protocoladapter",
+ "//src/main/java/com/google/android/libraries/feed/internalapi/requestmanager",
"//src/main/java/com/google/android/libraries/feed/internalapi/store",
"//src/main/proto/com/google/android/libraries/feed/internalapi/proto:client_feed_java_proto_lite",
"//src/main/proto/search/now/wire/feed:feed_java_proto_lite",
diff --git a/src/main/java/com/google/android/libraries/feed/feedsessionmanager/FeedSessionManager.java b/src/main/java/com/google/android/libraries/feed/feedsessionmanager/FeedSessionManager.java
index 82eac31..88302e4 100644
--- a/src/main/java/com/google/android/libraries/feed/feedsessionmanager/FeedSessionManager.java
+++ b/src/main/java/com/google/android/libraries/feed/feedsessionmanager/FeedSessionManager.java
@@ -20,7 +20,6 @@
import com.google.android.libraries.feed.api.common.ThreadUtils;
import com.google.android.libraries.feed.api.knowncontent.KnownContentApi.KnownContentListener;
import com.google.android.libraries.feed.api.requestmanager.ActionUploadRequestManager;
-import com.google.android.libraries.feed.api.requestmanager.RequestManager;
import com.google.android.libraries.feed.api.sessionmanager.SessionManager;
import com.google.android.libraries.feed.common.Result;
import com.google.android.libraries.feed.common.Validators;
@@ -29,7 +28,6 @@
import com.google.android.libraries.feed.common.feedobservable.FeedObservable;
import com.google.android.libraries.feed.common.functional.Consumer;
import com.google.android.libraries.feed.common.functional.Function;
-import com.google.android.libraries.feed.common.functional.Supplier;
import com.google.android.libraries.feed.common.intern.HashPoolInterner;
import com.google.android.libraries.feed.common.intern.InternedMap;
import com.google.android.libraries.feed.common.intern.Interner;
@@ -62,6 +60,7 @@
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProvider;
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProvider.ViewDepthProvider;
import com.google.android.libraries.feed.internalapi.protocoladapter.ProtocolAdapter;
+import com.google.android.libraries.feed.internalapi.requestmanager.FeedRequestManager;
import com.google.android.libraries.feed.internalapi.store.Store;
import com.google.android.libraries.feed.internalapi.store.StoreListener;
import com.google.search.now.feed.client.StreamDataProto.StreamDataOperation;
@@ -129,7 +128,7 @@
private final ThreadUtils threadUtils;
private final TimingUtils timingUtils;
private final ProtocolAdapter protocolAdapter;
- private final RequestManager requestManager;
+ private final FeedRequestManager feedRequestManager;
private final ActionUploadRequestManager actionUploadRequestManager;
private final SchedulerApi schedulerApi;
private final TaskQueue taskQueue;
@@ -156,7 +155,7 @@
TimingUtils timingUtils,
ThreadUtils threadUtils,
ProtocolAdapter protocolAdapter,
- RequestManager requestManager,
+ FeedRequestManager feedRequestManager,
ActionUploadRequestManager actionUploadRequestManager,
SchedulerApi schedulerApi,
Configuration configuration,
@@ -172,7 +171,7 @@
this.timingUtils = timingUtils;
this.threadUtils = threadUtils;
this.protocolAdapter = protocolAdapter;
- this.requestManager = requestManager;
+ this.feedRequestManager = feedRequestManager;
this.actionUploadRequestManager = actionUploadRequestManager;
this.schedulerApi = schedulerApi;
this.clock = clock;
@@ -200,11 +199,6 @@
taskQueue.initialize(this::initializationTask);
}
- @Override
- public Supplier<Consumer<Result<List<StreamDataOperation>>>> getTriggerRefreshConsumer() {
- return () -> getCommitter("triggerRefresh", MutationContext.EMPTY_CONTEXT);
- }
-
// Task which initializes the Session Manager. This must be the first task run on the
// Session Manager thread so it's complete before we create any sessions.
private void initializationTask() {
@@ -522,7 +516,7 @@
getConsistencyToken(),
result -> {
ConsistencyToken token = handleUpdateConsistencyToken(result);
- requestManager.loadMore(
+ feedRequestManager.loadMore(
streamToken, token, getCommitter("handleToken", mutationContext));
});
});
@@ -574,7 +568,7 @@
getConsistencyToken(),
result -> {
ConsistencyToken consistencyToken = handleUpdateConsistencyToken(result);
- requestManager.triggerRefresh(
+ feedRequestManager.triggerRefresh(
requestReason,
consistencyToken,
getCommitter(
diff --git a/src/main/java/com/google/android/libraries/feed/feedsessionmanager/FeedSessionManagerFactory.java b/src/main/java/com/google/android/libraries/feed/feedsessionmanager/FeedSessionManagerFactory.java
index c826997..828274b 100644
--- a/src/main/java/com/google/android/libraries/feed/feedsessionmanager/FeedSessionManagerFactory.java
+++ b/src/main/java/com/google/android/libraries/feed/feedsessionmanager/FeedSessionManagerFactory.java
@@ -16,7 +16,6 @@
import com.google.android.libraries.feed.api.common.ThreadUtils;
import com.google.android.libraries.feed.api.requestmanager.ActionUploadRequestManager;
-import com.google.android.libraries.feed.api.requestmanager.RequestManager;
import com.google.android.libraries.feed.common.concurrent.TaskQueue;
import com.google.android.libraries.feed.common.feedobservable.FeedObservable;
import com.google.android.libraries.feed.common.time.Clock;
@@ -30,6 +29,7 @@
import com.google.android.libraries.feed.host.config.Configuration.ConfigKey;
import com.google.android.libraries.feed.host.scheduler.SchedulerApi;
import com.google.android.libraries.feed.internalapi.protocoladapter.ProtocolAdapter;
+import com.google.android.libraries.feed.internalapi.requestmanager.FeedRequestManager;
import com.google.android.libraries.feed.internalapi.store.Store;
import java.util.concurrent.TimeUnit;
@@ -46,7 +46,7 @@
private final TimingUtils timingUtils;
private final ThreadUtils threadUtils;
private final ProtocolAdapter protocolAdapter;
- private final RequestManager requestManager;
+ private final FeedRequestManager feedRequestManager;
private final ActionUploadRequestManager actionUploadRequestManager;
private final SchedulerApi schedulerApi;
private final Configuration configuration;
@@ -59,7 +59,7 @@
TimingUtils timingUtils,
ThreadUtils threadUtils,
ProtocolAdapter protocolAdapter,
- RequestManager requestManager,
+ FeedRequestManager feedRequestManager,
ActionUploadRequestManager actionUploadRequestManager,
SchedulerApi schedulerApi,
Configuration configuration,
@@ -70,7 +70,7 @@
this.timingUtils = timingUtils;
this.threadUtils = threadUtils;
this.protocolAdapter = protocolAdapter;
- this.requestManager = requestManager;
+ this.feedRequestManager = feedRequestManager;
this.actionUploadRequestManager = actionUploadRequestManager;
this.schedulerApi = schedulerApi;
this.configuration = configuration;
@@ -109,7 +109,7 @@
timingUtils,
threadUtils,
protocolAdapter,
- requestManager,
+ feedRequestManager,
actionUploadRequestManager,
schedulerApi,
configuration,
diff --git a/src/main/java/com/google/android/libraries/feed/internalapi/requestmanager/BUILD b/src/main/java/com/google/android/libraries/feed/internalapi/requestmanager/BUILD
new file mode 100644
index 0000000..550548c
--- /dev/null
+++ b/src/main/java/com/google/android/libraries/feed/internalapi/requestmanager/BUILD
@@ -0,0 +1,15 @@
+package(default_visibility = ["//visibility:public"])
+
+licenses(["notice"]) # Apache 2
+
+java_library(
+ name = "requestmanager",
+ srcs = glob(["*.java"]),
+ deps = [
+ "//src/main/java/com/google/android/libraries/feed/common",
+ "//src/main/java/com/google/android/libraries/feed/common/functional",
+ "//src/main/java/com/google/android/libraries/feed/host/logging",
+ "//src/main/proto/com/google/android/libraries/feed/internalapi/proto:client_feed_java_proto_lite",
+ "//src/main/proto/search/now/wire/feed:feed_java_proto_lite",
+ ],
+)
diff --git a/src/main/java/com/google/android/libraries/feed/internalapi/requestmanager/FeedRequestManager.java b/src/main/java/com/google/android/libraries/feed/internalapi/requestmanager/FeedRequestManager.java
new file mode 100644
index 0000000..8384793
--- /dev/null
+++ b/src/main/java/com/google/android/libraries/feed/internalapi/requestmanager/FeedRequestManager.java
@@ -0,0 +1,64 @@
+// Copyright 2018 The Feed Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package com.google.android.libraries.feed.internalapi.requestmanager;
+
+import com.google.android.libraries.feed.common.Result;
+import com.google.android.libraries.feed.common.functional.Consumer;
+import com.google.android.libraries.feed.host.logging.RequestReason;
+import com.google.search.now.feed.client.StreamDataProto.StreamDataOperation;
+import com.google.search.now.feed.client.StreamDataProto.StreamToken;
+import com.google.search.now.wire.feed.ConsistencyTokenProto.ConsistencyToken;
+import java.util.List;
+
+/**
+ * Creates and issues requests to the server.
+ *
+ * <p>Note: this is the internal version of FeedRequestManager. See {@link RequestManager} for the
+ * client version.
+ */
+public interface FeedRequestManager {
+ /**
+ * Issues a request for the next page of data. The {@code streamToken} described to the server
+ * what the next page means. The{@code token} is used by the server for consistent data across
+ * requests. The response will be sent to a {@link Consumer} a set of {@link StreamDataOperation}
+ * created by the ProtocolAdapter.
+ */
+ void loadMore(
+ StreamToken streamToken,
+ ConsistencyToken token,
+ Consumer<Result<List<StreamDataOperation>>> consumer);
+
+ /**
+ * Issues a request to refresh the entire feed, with the consumer being called back with the
+ * resulting {@link StreamDataOperation}s.
+ *
+ * @param reason The reason for this refresh.
+ */
+ void triggerRefresh(
+ @RequestReason int reason, Consumer<Result<List<StreamDataOperation>>> consumer);
+
+ /**
+ * Issues a request to refresh the entire feed, with the consumer being called back with the
+ * resulting {@link StreamDataOperation}s.
+ *
+ * @param reason The reason for this refresh.
+ * @param token Used by the server for consistent data across requests.
+ * @param consumer The consumer called after the refresh is performed.
+ */
+ void triggerRefresh(
+ @RequestReason int reason,
+ ConsistencyToken token,
+ Consumer<Result<List<StreamDataOperation>>> consumer);
+}
diff --git a/src/main/java/com/google/android/libraries/feed/testing/requestmanager/BUILD b/src/main/java/com/google/android/libraries/feed/testing/requestmanager/BUILD
index a5af09f..aaa3bb5 100644
--- a/src/main/java/com/google/android/libraries/feed/testing/requestmanager/BUILD
+++ b/src/main/java/com/google/android/libraries/feed/testing/requestmanager/BUILD
@@ -14,6 +14,7 @@
"//src/main/java/com/google/android/libraries/feed/common/functional",
"//src/main/java/com/google/android/libraries/feed/host/logging",
"//src/main/java/com/google/android/libraries/feed/internalapi/protocoladapter",
+ "//src/main/java/com/google/android/libraries/feed/internalapi/requestmanager",
"//src/main/proto/com/google/android/libraries/feed/internalapi/proto:client_feed_java_proto_lite",
"//src/main/proto/search/now/wire/feed:feed_java_proto_lite",
"@com_google_code_findbugs_jsr305//jar",
diff --git a/src/main/java/com/google/android/libraries/feed/testing/requestmanager/FakeRequestManager.java b/src/main/java/com/google/android/libraries/feed/testing/requestmanager/FakeFeedRequestManager.java
similarity index 80%
rename from src/main/java/com/google/android/libraries/feed/testing/requestmanager/FakeRequestManager.java
rename to src/main/java/com/google/android/libraries/feed/testing/requestmanager/FakeFeedRequestManager.java
index 86e67bfc..fa2ad82 100644
--- a/src/main/java/com/google/android/libraries/feed/testing/requestmanager/FakeRequestManager.java
+++ b/src/main/java/com/google/android/libraries/feed/testing/requestmanager/FakeFeedRequestManager.java
@@ -14,17 +14,16 @@
package com.google.android.libraries.feed.testing.requestmanager;
-import com.google.android.libraries.feed.api.requestmanager.RequestManager;
import com.google.android.libraries.feed.common.Result;
import com.google.android.libraries.feed.common.concurrent.MainThreadRunner;
import com.google.android.libraries.feed.common.concurrent.TaskQueue;
import com.google.android.libraries.feed.common.concurrent.TaskQueue.TaskType;
import com.google.android.libraries.feed.common.concurrent.testing.FakeThreadUtils;
import com.google.android.libraries.feed.common.functional.Consumer;
-import com.google.android.libraries.feed.common.functional.Supplier;
import com.google.android.libraries.feed.host.logging.RequestReason;
import com.google.android.libraries.feed.host.logging.Task;
import com.google.android.libraries.feed.internalapi.protocoladapter.ProtocolAdapter;
+import com.google.android.libraries.feed.internalapi.requestmanager.FeedRequestManager;
import com.google.search.now.feed.client.StreamDataProto.StreamDataOperation;
import com.google.search.now.feed.client.StreamDataProto.StreamToken;
import com.google.search.now.wire.feed.ConsistencyTokenProto.ConsistencyToken;
@@ -34,11 +33,11 @@
import java.util.Queue;
/**
- * Fake implementation of a {@link RequestManager}. This acts a Queue of responses which will be
+ * Fake implementation of a {@link FeedRequestManager}. This acts a Queue of responses which will be
* sent through the {@link ProtocolAdapter} to create the {@code List<StreamDataOperation>} which is
* then returned as a {@link Result} to the {@link Consumer}.
*/
-public class FakeRequestManager implements RequestManager {
+public class FakeFeedRequestManager implements FeedRequestManager {
private final FakeThreadUtils fakeThreadUtils;
private final MainThreadRunner mainThreadRunner;
private final ProtocolAdapter protocolAdapter;
@@ -47,11 +46,7 @@
/*@Nullable*/ private StreamToken latestStreamToken = null;
@RequestReason private int latestRequestReason = RequestReason.UNKNOWN;
- /*@Nullable*/
- private Supplier<Consumer<Result<List<StreamDataOperation>>>>
- defaultTriggerRefreshConsumerSupplier;
-
- public FakeRequestManager(
+ public FakeFeedRequestManager(
FakeThreadUtils fakeThreadUtils,
MainThreadRunner mainThreadRunner,
ProtocolAdapter protocolAdapter,
@@ -64,23 +59,23 @@
// TODO: queue responses for action uploads
/** Adds a Response to the queue. */
- public FakeRequestManager queueResponse(Response response) {
+ public FakeFeedRequestManager queueResponse(Response response) {
return queueResponse(response, /* delayMs= */ 0);
}
/** Adds a Response to the queue with a delay. */
- public FakeRequestManager queueResponse(Response response, long delayMs) {
+ public FakeFeedRequestManager queueResponse(Response response, long delayMs) {
responses.add(new ResponseWithDelay(response, delayMs));
return this;
}
/** Adds an error to the queue. */
- public FakeRequestManager queueError() {
+ public FakeFeedRequestManager queueError() {
return queueError(/* delayMs= */ 0);
}
/** Adds an error to the queue with a delay. */
- public FakeRequestManager queueError(long delayMs) {
+ public FakeFeedRequestManager queueError(long delayMs) {
responses.add(new ResponseWithDelay(delayMs));
return this;
}
@@ -120,7 +115,7 @@
ResponseWithDelay responseWithDelay, Consumer<Result<List<StreamDataOperation>>> consumer) {
if (responseWithDelay.delayMs > 0) {
mainThreadRunner.executeWithDelay(
- "FakeRequestManager#consumer",
+ "FakeFeedRequestManager#consumer",
() -> {
invokeConsumer(responseWithDelay, consumer);
},
@@ -141,30 +136,14 @@
fakeThreadUtils.enforceMainThread(policy);
}
- @Override
- public void triggerRefresh(@RequestReason int reason) {
- if (defaultTriggerRefreshConsumerSupplier == null) {
- throw new IllegalStateException(
- "Must set defaultTriggerRefreshConsumerSupplier before calling"
- + " triggerRefresh(RequestReason).");
- }
- triggerRefresh(reason, defaultTriggerRefreshConsumerSupplier.get());
- }
-
- @Override
- public void setDefaultTriggerRefreshConsumerSupplier(
- Supplier<Consumer<Result<List<StreamDataOperation>>>> consumerSupplier) {
- this.defaultTriggerRefreshConsumerSupplier = consumerSupplier;
- }
-
- /** Returns the latest {@link StreamToken} passed in to the {@link RequestManager}. */
+ /** Returns the latest {@link StreamToken} passed in to the {@link FeedRequestManager}. */
/*@Nullable*/
public StreamToken getLatestStreamToken() {
return latestStreamToken;
}
/**
- * Returns the latest {@link RequestReason} passed in to the {@link RequestManager}. Returns
+ * Returns the latest {@link RequestReason} passed in to the {@link FeedRequestManager}. Returns
* {@literal RequestReason.UNKNOWN} if the request manager has not been invoked.
*/
@RequestReason
diff --git a/src/test/java/com/google/android/libraries/feed/api/scope/BUILD b/src/test/java/com/google/android/libraries/feed/api/scope/BUILD
index 4f770a1..3f8e839 100644
--- a/src/test/java/com/google/android/libraries/feed/api/scope/BUILD
+++ b/src/test/java/com/google/android/libraries/feed/api/scope/BUILD
@@ -35,7 +35,6 @@
manifest_values = DEFAULT_ANDROID_LOCAL_TEST_MANIFEST,
deps = [
"//src/main/java/com/google/android/libraries/feed/api/common",
- "//src/main/java/com/google/android/libraries/feed/api/requestmanager",
"//src/main/java/com/google/android/libraries/feed/api/scope",
"//src/main/java/com/google/android/libraries/feed/api/sessionmanager",
"//src/main/java/com/google/android/libraries/feed/common/time/testing",
@@ -47,6 +46,7 @@
"//src/main/java/com/google/android/libraries/feed/host/storage",
"//src/main/java/com/google/android/libraries/feed/host/stream",
"//src/main/java/com/google/android/libraries/feed/internalapi/protocoladapter",
+ "//src/main/java/com/google/android/libraries/feed/internalapi/requestmanager",
"//third_party:robolectric",
"@com_google_protobuf_javalite//:protobuf_java_lite",
"@maven//:com_google_guava_guava",
diff --git a/src/test/java/com/google/android/libraries/feed/api/scope/FeedProcessScopeTest.java b/src/test/java/com/google/android/libraries/feed/api/scope/FeedProcessScopeTest.java
index 5819352..6357be6 100644
--- a/src/test/java/com/google/android/libraries/feed/api/scope/FeedProcessScopeTest.java
+++ b/src/test/java/com/google/android/libraries/feed/api/scope/FeedProcessScopeTest.java
@@ -23,7 +23,6 @@
import android.app.Activity;
import android.content.Context;
import com.google.android.libraries.feed.api.common.ThreadUtils;
-import com.google.android.libraries.feed.api.requestmanager.RequestManager;
import com.google.android.libraries.feed.api.scope.FeedProcessScope.Builder;
import com.google.android.libraries.feed.api.sessionmanager.SessionManager;
import com.google.android.libraries.feed.common.time.testing.FakeClock;
@@ -41,6 +40,7 @@
import com.google.android.libraries.feed.host.storage.JournalStorageDirect;
import com.google.android.libraries.feed.host.stream.TooltipSupportedApi;
import com.google.android.libraries.feed.internalapi.protocoladapter.ProtocolAdapter;
+import com.google.android.libraries.feed.internalapi.requestmanager.FeedRequestManager;
import com.google.common.util.concurrent.MoreExecutors;
import java.util.ArrayList;
import org.junit.Before;
@@ -63,7 +63,7 @@
// Mocks for optional fields
@Mock private ProtocolAdapter protocolAdapter;
- @Mock private RequestManager requestManager;
+ @Mock private FeedRequestManager feedRequestManager;
@Mock private SessionManager sessionManager;
@Mock private ThreadUtils threadUtils;
@@ -125,14 +125,14 @@
applicationInfo,
tooltipSupportedApi)
.setProtocolAdapter(protocolAdapter)
- .setRequestManager(requestManager)
+ .setFeedRequestManager(feedRequestManager)
.setSessionManager(sessionManager)
.setProtoExtensionProvider(protoExtensionProvider)
.setClock(fakeClock)
.build();
assertThat(processScope.getProtocolAdapter()).isEqualTo(protocolAdapter);
- assertThat(processScope.getRequestManager()).isEqualTo(requestManager);
+ assertThat(processScope.getRequestManager()).isNotNull();
assertThat(processScope.getSessionManager()).isEqualTo(sessionManager);
assertThat(processScope.getClock()).isEqualTo(fakeClock);
assertThat(processScope.getAppLifecycleListener()).isNotNull();
diff --git a/src/test/java/com/google/android/libraries/feed/feedrequestmanager/BUILD b/src/test/java/com/google/android/libraries/feed/feedrequestmanager/BUILD
index cdfc7c9..e25b279 100644
--- a/src/test/java/com/google/android/libraries/feed/feedrequestmanager/BUILD
+++ b/src/test/java/com/google/android/libraries/feed/feedrequestmanager/BUILD
@@ -34,10 +34,33 @@
)
android_local_test(
- name = "FeedRequestManagerTest",
+ name = "RequestManagerImplTest",
size = "small",
timeout = "moderate",
- srcs = ["FeedRequestManagerTest.java"],
+ srcs = ["RequestManagerImplTest.java"],
+ aapt_version = "aapt2",
+ manifest_values = DEFAULT_ANDROID_LOCAL_TEST_MANIFEST,
+ deps = [
+ "//src/main/java/com/google/android/libraries/feed/api/common",
+ "//src/main/java/com/google/android/libraries/feed/api/sessionmanager",
+ "//src/main/java/com/google/android/libraries/feed/common",
+ "//src/main/java/com/google/android/libraries/feed/common/functional",
+ "//src/main/java/com/google/android/libraries/feed/feedrequestmanager",
+ "//src/main/java/com/google/android/libraries/feed/host/logging",
+ "//src/main/java/com/google/android/libraries/feed/internalapi/requestmanager",
+ "//src/main/proto/com/google/android/libraries/feed/internalapi/proto:client_feed_java_proto_lite",
+ "//third_party:robolectric",
+ "@com_google_protobuf_javalite//:protobuf_java_lite",
+ "@maven//:org_mockito_mockito_core",
+ "@robolectric//bazel:android-all",
+ ],
+)
+
+android_local_test(
+ name = "FeedRequestManagerImplTest",
+ size = "small",
+ timeout = "moderate",
+ srcs = ["FeedRequestManagerImplTest.java"],
aapt_version = "aapt2",
manifest_values = DEFAULT_ANDROID_LOCAL_TEST_MANIFEST,
deps = [
diff --git a/src/test/java/com/google/android/libraries/feed/feedrequestmanager/FeedRequestManagerTest.java b/src/test/java/com/google/android/libraries/feed/feedrequestmanager/FeedRequestManagerImplTest.java
similarity index 96%
rename from src/test/java/com/google/android/libraries/feed/feedrequestmanager/FeedRequestManagerTest.java
rename to src/test/java/com/google/android/libraries/feed/feedrequestmanager/FeedRequestManagerImplTest.java
index 21ae5ec..a9bf9ce 100644
--- a/src/test/java/com/google/android/libraries/feed/feedrequestmanager/FeedRequestManagerTest.java
+++ b/src/test/java/com/google/android/libraries/feed/feedrequestmanager/FeedRequestManagerImplTest.java
@@ -94,9 +94,9 @@
import org.robolectric.annotation.Config;
import org.robolectric.util.ReflectionHelpers;
-/** Test of the {@link FeedRequestManager} class. */
+/** Test of the {@link FeedRequestManagerImpl} class. */
@RunWith(RobolectricTestRunner.class)
-public class FeedRequestManagerTest {
+public class FeedRequestManagerImplTest {
private static final int NOT_FOUND = 404;
private static final String TABLE = "table";
@@ -116,7 +116,7 @@
private Context context;
private ExtensionRegistryLite registry;
- private FeedRequestManager requestManager;
+ private FeedRequestManagerImpl requestManager;
private FakeActionReader fakeActionReader;
private FakeMainThreadRunner fakeMainThreadRunner;
private FakeProtocolAdapter fakeProtocolAdapter;
@@ -165,7 +165,7 @@
when(applicationInfo.getBuildType()).thenReturn(ApplicationInfo.BuildType.DEV);
when(applicationInfo.getVersionString()).thenReturn(APP_VERSION_STRING);
requestManager =
- new FeedRequestManager(
+ new FeedRequestManagerImpl(
configuration,
fakeNetworkClient,
fakeProtocolAdapter,
@@ -247,32 +247,6 @@
}
@Test
- public void testTriggerRefresh_defaultConsumer() throws Exception {
- RequiredConsumer<Result<List<StreamDataOperation>>> consumer =
- new RequiredConsumer<>(input -> {});
- requestManager.setDefaultTriggerRefreshConsumerSupplier(() -> consumer);
- requestManager.triggerRefresh(RequestReason.HOST_REQUESTED);
-
- HttpRequest httpRequest = fakeNetworkClient.getLatestRequest();
- assertHttpRequestFormattedCorrectly(httpRequest, context);
-
- Request request = getRequestFromHttpRequest(httpRequest);
- Request expectedRequest =
- Request.newBuilder()
- .setRequestVersion(RequestVersion.FEED_QUERY)
- .setExtension(
- FeedRequest.feedRequest,
- getTestFeedRequestBuilder()
- .setFeedQuery(
- FeedQuery.newBuilder().setReason(FeedQuery.RequestReason.SCHEDULED_REFRESH))
- .addClientCapability(Capability.BASE_UI)
- .build())
- .build();
- assertThat(request).isEqualTo(expectedRequest);
- assertThat(consumer.isCalled()).isTrue();
- }
-
- @Test
public void testActionData_simpleDismiss() throws Exception {
fakeActionReader.addDismissActionsWithSemanticProperties(
buildDismissAction(ID, CONTENT_DOMAIN, TABLE, null));
@@ -877,7 +851,7 @@
private void testCapabilityAdded(String configKey, Capability capability) throws Exception {
Configuration configuration = new Configuration.Builder().put(configKey, true).build();
requestManager =
- new FeedRequestManager(
+ new FeedRequestManagerImpl(
configuration,
fakeNetworkClient,
fakeProtocolAdapter,
diff --git a/src/test/java/com/google/android/libraries/feed/feedrequestmanager/RequestManagerImplTest.java b/src/test/java/com/google/android/libraries/feed/feedrequestmanager/RequestManagerImplTest.java
new file mode 100644
index 0000000..2800148
--- /dev/null
+++ b/src/test/java/com/google/android/libraries/feed/feedrequestmanager/RequestManagerImplTest.java
@@ -0,0 +1,70 @@
+// Copyright 2019 The Feed Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package com.google.android.libraries.feed.feedrequestmanager;
+
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+import static org.mockito.MockitoAnnotations.initMocks;
+
+import com.google.android.libraries.feed.api.common.MutationContext;
+import com.google.android.libraries.feed.api.sessionmanager.SessionManager;
+import com.google.android.libraries.feed.common.Result;
+import com.google.android.libraries.feed.common.functional.Consumer;
+import com.google.android.libraries.feed.host.logging.RequestReason;
+import com.google.android.libraries.feed.internalapi.requestmanager.FeedRequestManager;
+import com.google.search.now.feed.client.StreamDataProto.StreamDataOperation;
+import java.util.List;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.robolectric.RobolectricTestRunner;
+
+/** Test of the {@link RequestManagerImpl} class. */
+@RunWith(RobolectricTestRunner.class)
+public final class RequestManagerImplTest {
+
+ @Mock private FeedRequestManager feedRequestManager;
+ @Mock private SessionManager sessionManager;
+ @Mock private Consumer<Result<List<StreamDataOperation>>> updateConsumer;
+
+ private RequestManagerImpl clientRequestManager;
+
+ @Before
+ public void createRequestManager() {
+ initMocks(this);
+ clientRequestManager = new RequestManagerImpl(feedRequestManager, sessionManager);
+ }
+
+ @Test
+ public void testTriggerRefresh_requestReason() {
+ when(sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT))
+ .thenReturn(updateConsumer);
+ @RequestReason int reason = RequestReason.HOST_REQUESTED;
+
+ clientRequestManager.triggerRefresh(reason);
+
+ verify(feedRequestManager).triggerRefresh(reason, updateConsumer);
+ }
+
+ @Test
+ public void testTriggerRefresh_requestReasonAndConsumer() {
+ @RequestReason int reason = RequestReason.HOST_REQUESTED;
+
+ clientRequestManager.triggerRefresh(reason, updateConsumer);
+
+ verify(feedRequestManager).triggerRefresh(reason, updateConsumer);
+ }
+}
diff --git a/src/test/java/com/google/android/libraries/feed/feedsessionmanager/FeedSessionManagerTest.java b/src/test/java/com/google/android/libraries/feed/feedsessionmanager/FeedSessionManagerTest.java
index e297da3..ecda686 100644
--- a/src/test/java/com/google/android/libraries/feed/feedsessionmanager/FeedSessionManagerTest.java
+++ b/src/test/java/com/google/android/libraries/feed/feedsessionmanager/FeedSessionManagerTest.java
@@ -58,7 +58,7 @@
import com.google.android.libraries.feed.testing.proto.UiContextForTestProto.UiContextForTest;
import com.google.android.libraries.feed.testing.protocoladapter.FakeProtocolAdapter;
import com.google.android.libraries.feed.testing.requestmanager.FakeActionUploadRequestManager;
-import com.google.android.libraries.feed.testing.requestmanager.FakeRequestManager;
+import com.google.android.libraries.feed.testing.requestmanager.FakeFeedRequestManager;
import com.google.android.libraries.feed.testing.store.FakeStore;
import com.google.protobuf.ByteString;
import com.google.search.now.feed.client.StreamDataProto.StreamDataOperation;
@@ -115,7 +115,7 @@
private FakeActionUploadRequestManager fakeActionUploadRequestManager;
private FakeMainThreadRunner fakeMainThreadRunner;
private FakeProtocolAdapter fakeProtocolAdapter;
- private FakeRequestManager fakeRequestManager;
+ private FakeFeedRequestManager fakeFeedRequestManager;
private FakeStore fakeStore;
private FakeTaskQueue fakeTaskQueue;
private FakeThreadUtils fakeThreadUtils;
@@ -133,10 +133,10 @@
fakeActionUploadRequestManager = new FakeActionUploadRequestManager(fakeThreadUtils);
fakeStore = new FakeStore(fakeThreadUtils, fakeTaskQueue, fakeClock);
fakeProtocolAdapter = new FakeProtocolAdapter();
- fakeRequestManager =
- new FakeRequestManager(
+ fakeFeedRequestManager =
+ new FakeFeedRequestManager(
fakeThreadUtils, fakeMainThreadRunner, fakeProtocolAdapter, fakeTaskQueue);
- fakeRequestManager.queueResponse(Response.getDefaultInstance());
+ fakeFeedRequestManager.queueResponse(Response.getDefaultInstance());
when(schedulerApi.shouldSessionRequestData(any(SessionManagerState.class)))
.thenReturn(RequestBehavior.NO_REQUEST_WITH_CONTENT);
}
@@ -162,7 +162,7 @@
timingUtils,
fakeThreadUtils,
fakeProtocolAdapter,
- fakeRequestManager,
+ fakeFeedRequestManager,
fakeActionUploadRequestManager,
schedulerApi,
configuration,
@@ -234,7 +234,7 @@
timingUtils,
fakeThreadUtils,
fakeProtocolAdapter,
- fakeRequestManager,
+ fakeFeedRequestManager,
fakeActionUploadRequestManager,
schedulerApi,
configuration,
@@ -267,7 +267,7 @@
timingUtils,
fakeThreadUtils,
fakeProtocolAdapter,
- fakeRequestManager,
+ fakeFeedRequestManager,
fakeActionUploadRequestManager,
schedulerApi,
configuration,
@@ -448,7 +448,7 @@
FeedSessionManager sessionManager = getInitializedSessionManager();
sessionManager.handleToken(SESSION_ID, streamToken);
- assertThat(fakeRequestManager.getLatestStreamToken()).isEqualTo(streamToken);
+ assertThat(fakeFeedRequestManager.getLatestStreamToken()).isEqualTo(streamToken);
}
@Test
@@ -457,7 +457,7 @@
sessionManager.triggerRefresh(
SESSION_ID, RequestReason.ZERO_STATE, UiContext.getDefaultInstance());
- assertThat(fakeRequestManager.getLatestRequestReason()).isEqualTo(RequestReason.ZERO_STATE);
+ assertThat(fakeFeedRequestManager.getLatestRequestReason()).isEqualTo(RequestReason.ZERO_STATE);
}
@Test
@@ -466,7 +466,8 @@
sessionManager.triggerRefresh(
SESSION_ID, RequestReason.HOST_REQUESTED, UiContext.getDefaultInstance());
- assertThat(fakeRequestManager.getLatestRequestReason()).isEqualTo(RequestReason.HOST_REQUESTED);
+ assertThat(fakeFeedRequestManager.getLatestRequestReason())
+ .isEqualTo(RequestReason.HOST_REQUESTED);
}
@Test
@@ -544,7 +545,7 @@
timingUtils,
fakeThreadUtils,
fakeProtocolAdapter,
- fakeRequestManager,
+ fakeFeedRequestManager,
fakeActionUploadRequestManager,
schedulerApi,
configuration,
@@ -586,7 +587,7 @@
timingUtils,
fakeThreadUtils,
fakeProtocolAdapter,
- fakeRequestManager,
+ fakeFeedRequestManager,
fakeActionUploadRequestManager,
schedulerApi,
configuration,
@@ -883,7 +884,7 @@
timingUtils,
fakeThreadUtils,
fakeProtocolAdapter,
- fakeRequestManager,
+ fakeFeedRequestManager,
fakeActionUploadRequestManager,
schedulerApi,
config,
@@ -901,7 +902,7 @@
timingUtils,
fakeThreadUtils,
fakeProtocolAdapter,
- fakeRequestManager,
+ fakeFeedRequestManager,
fakeActionUploadRequestManager,
schedulerApi,
configuration,
diff --git a/src/test/java/com/google/android/libraries/feed/infraintegration/ClearAllTest.java b/src/test/java/com/google/android/libraries/feed/infraintegration/ClearAllTest.java
index e5e3ff1..09c0f7b 100644
--- a/src/test/java/com/google/android/libraries/feed/infraintegration/ClearAllTest.java
+++ b/src/test/java/com/google/android/libraries/feed/infraintegration/ClearAllTest.java
@@ -29,7 +29,7 @@
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProvider;
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProvider.State;
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProviderFactory;
-import com.google.android.libraries.feed.testing.requestmanager.FakeRequestManager;
+import com.google.android.libraries.feed.testing.requestmanager.FakeFeedRequestManager;
import com.google.search.now.feed.client.StreamDataProto.UiContext;
import com.google.search.now.wire.feed.ContentIdProto.ContentId;
import org.junit.Before;
@@ -40,7 +40,7 @@
/** This will test the behavior of clear all. */
@RunWith(RobolectricTestRunner.class)
public class ClearAllTest {
- private FakeRequestManager requestManager;
+ private FakeFeedRequestManager fakeFeedRequestManager;
private SessionManager sessionManager;
private ModelProviderFactory modelProviderFactory;
private ModelProviderValidator modelValidator;
@@ -53,7 +53,7 @@
new Configuration.Builder().put(ConfigKey.LIMIT_PAGE_UPDATES, false).build();
InfraIntegrationScope scope =
new InfraIntegrationScope.Builder().setConfiguration(configuration).build();
- requestManager = scope.getRequestManager();
+ fakeFeedRequestManager = scope.getFakeFeedRequestManager();
sessionManager = scope.getSessionManager();
modelProviderFactory = scope.getModelProviderFactory();
appLifecycleListener = scope.getAppLifecycleListener();
@@ -72,8 +72,8 @@
ResponseBuilder.createFeatureContentId(2),
ResponseBuilder.createFeatureContentId(3)
};
- requestManager.queueResponse(ResponseBuilder.forClearAllWithCards(cards).build());
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.queueResponse(ResponseBuilder.forClearAllWithCards(cards).build());
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
ModelProvider modelProvider1 =
@@ -101,8 +101,8 @@
ResponseBuilder.createFeatureContentId(2),
ResponseBuilder.createFeatureContentId(3)
};
- requestManager.queueResponse(ResponseBuilder.forClearAllWithCards(cards).build());
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.queueResponse(ResponseBuilder.forClearAllWithCards(cards).build());
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
ModelProvider modelProvider =
diff --git a/src/test/java/com/google/android/libraries/feed/infraintegration/ContentRemoveTest.java b/src/test/java/com/google/android/libraries/feed/infraintegration/ContentRemoveTest.java
index 77dc1f7..03fa8cc 100644
--- a/src/test/java/com/google/android/libraries/feed/infraintegration/ContentRemoveTest.java
+++ b/src/test/java/com/google/android/libraries/feed/infraintegration/ContentRemoveTest.java
@@ -32,7 +32,7 @@
import com.google.android.libraries.feed.internalapi.modelprovider.ModelFeature;
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProvider;
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProviderFactory;
-import com.google.android.libraries.feed.testing.requestmanager.FakeRequestManager;
+import com.google.android.libraries.feed.testing.requestmanager.FakeFeedRequestManager;
import com.google.search.now.feed.client.StreamDataProto.StreamToken;
import com.google.search.now.feed.client.StreamDataProto.UiContext;
import com.google.search.now.wire.feed.ConsistencyTokenProto.ConsistencyToken;
@@ -47,7 +47,7 @@
@RunWith(RobolectricTestRunner.class)
public class ContentRemoveTest {
private final InfraIntegrationScope scope = new InfraIntegrationScope.Builder().build();
- private final FakeRequestManager requestManager = scope.getRequestManager();
+ private final FakeFeedRequestManager fakeFeedRequestManager = scope.getFakeFeedRequestManager();
private final FakeThreadUtils fakeThreadUtils = scope.getFakeThreadUtils();
private final SessionManager sessionManager = scope.getSessionManager();
private final ModelProviderFactory modelProviderFactory = scope.getModelProviderFactory();
@@ -64,8 +64,8 @@
ResponseBuilder.createFeatureContentId(3),
ResponseBuilder.createFeatureContentId(4)
};
- requestManager.queueResponse(ResponseBuilder.forClearAllWithCards(cards).build());
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.queueResponse(ResponseBuilder.forClearAllWithCards(cards).build());
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
@@ -84,11 +84,11 @@
ModelCursor advancedCursor3 = advanceCursor(rootFeature.getCursor(), 3);
ModelCursor advancedCursor4 = advanceCursor(rootFeature.getCursor(), 4);
- requestManager.queueResponse(
+ fakeFeedRequestManager.queueResponse(
ResponseBuilder.builder().removeFeature(cards[1], ROOT_CONTENT_ID).build());
// TODO: sessions reject removes without a CLEAR_ALL or paging with a different token.
fakeThreadUtils.enforceMainThread(false);
- requestManager.loadMore(
+ fakeFeedRequestManager.loadMore(
StreamToken.getDefaultInstance(),
ConsistencyToken.getDefaultInstance(),
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
diff --git a/src/test/java/com/google/android/libraries/feed/infraintegration/ContentUpdateTest.java b/src/test/java/com/google/android/libraries/feed/infraintegration/ContentUpdateTest.java
index e4e8867..274d391 100644
--- a/src/test/java/com/google/android/libraries/feed/infraintegration/ContentUpdateTest.java
+++ b/src/test/java/com/google/android/libraries/feed/infraintegration/ContentUpdateTest.java
@@ -33,7 +33,7 @@
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProvider;
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProviderFactory;
import com.google.android.libraries.feed.internalapi.protocoladapter.ProtocolAdapter;
-import com.google.android.libraries.feed.testing.requestmanager.FakeRequestManager;
+import com.google.android.libraries.feed.testing.requestmanager.FakeFeedRequestManager;
import com.google.search.now.feed.client.StreamDataProto.StreamToken;
import com.google.search.now.feed.client.StreamDataProto.UiContext;
import com.google.search.now.wire.feed.ConsistencyTokenProto.ConsistencyToken;
@@ -49,7 +49,7 @@
@RunWith(RobolectricTestRunner.class)
public class ContentUpdateTest {
private final InfraIntegrationScope scope = new InfraIntegrationScope.Builder().build();
- private final FakeRequestManager requestManager = scope.getRequestManager();
+ private final FakeFeedRequestManager fakeFeedRequestManager = scope.getFakeFeedRequestManager();
private final FakeThreadUtils fakeThreadUtils = scope.getFakeThreadUtils();
private final ModelProviderFactory modelProviderFactory = scope.getModelProviderFactory();
private final ModelProviderValidator modelValidator =
@@ -64,8 +64,8 @@
new ContentId[] {
ResponseBuilder.createFeatureContentId(1), ResponseBuilder.createFeatureContentId(2)
};
- requestManager.queueResponse(ResponseBuilder.forClearAllWithCards(cards).build());
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.queueResponse(ResponseBuilder.forClearAllWithCards(cards).build());
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
ModelProvider modelProvider =
@@ -99,10 +99,10 @@
assertThat(cursor.isAtEnd()).isTrue();
// Create an update response for the two content items
- requestManager.queueResponse(ResponseBuilder.builder().addCardsToRoot(cards).build());
+ fakeFeedRequestManager.queueResponse(ResponseBuilder.builder().addCardsToRoot(cards).build());
// TODO: sessions reject updates without a CLEAR_ALL or paging with a different token.
fakeThreadUtils.enforceMainThread(false);
- requestManager.loadMore(
+ fakeFeedRequestManager.loadMore(
StreamToken.getDefaultInstance(),
ConsistencyToken.getDefaultInstance(),
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
diff --git a/src/test/java/com/google/android/libraries/feed/infraintegration/DetachSessionTest.java b/src/test/java/com/google/android/libraries/feed/infraintegration/DetachSessionTest.java
index 23b2177..e0e8433 100644
--- a/src/test/java/com/google/android/libraries/feed/infraintegration/DetachSessionTest.java
+++ b/src/test/java/com/google/android/libraries/feed/infraintegration/DetachSessionTest.java
@@ -29,7 +29,7 @@
import com.google.android.libraries.feed.internalapi.modelprovider.ModelChild;
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProvider;
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProviderFactory;
-import com.google.android.libraries.feed.testing.requestmanager.FakeRequestManager;
+import com.google.android.libraries.feed.testing.requestmanager.FakeFeedRequestManager;
import com.google.search.now.feed.client.StreamDataProto.UiContext;
import com.google.search.now.wire.feed.ContentIdProto.ContentId;
import org.junit.Before;
@@ -54,7 +54,7 @@
ResponseBuilder.createFeatureContentId(6)
};
- private FakeRequestManager requestManager;
+ private FakeFeedRequestManager fakeFeedRequestManager;
private SessionManager sessionManager;
private ModelProviderFactory modelProviderFactory;
private ModelProviderValidator modelValidator;
@@ -68,7 +68,7 @@
new Configuration.Builder().put(ConfigKey.LIMIT_PAGE_UPDATES, false).build();
InfraIntegrationScope scope =
new InfraIntegrationScope.Builder().setConfiguration(configuration).build();
- requestManager = scope.getRequestManager();
+ fakeFeedRequestManager = scope.getFakeFeedRequestManager();
sessionManager = scope.getSessionManager();
modelProviderFactory = scope.getModelProviderFactory();
modelValidator = new ModelProviderValidator(scope.getProtocolAdapter());
@@ -90,8 +90,8 @@
public void testPagingDetachedSession() {
PagingState s1State = new PagingState(PAGE_1, PAGE_2, 1, contentIdGenerators);
- requestManager.queueResponse(s1State.initialResponse);
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.queueResponse(s1State.initialResponse);
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
@@ -113,7 +113,7 @@
modelValidator.assertCursorContentsWithToken(existingSession, PAGE_1);
// page the sessionTwo
- requestManager.queueResponse(s1State.pageResponse);
+ fakeFeedRequestManager.queueResponse(s1State.pageResponse);
sessionTwo.handleToken(tokenChild.getModelToken());
// verify that existingSession and sessionTwo match
@@ -140,8 +140,8 @@
public void testPagingDetachedSession_pageWhileDetached() {
PagingState s1State = new PagingState(PAGE_1, PAGE_2, 1, contentIdGenerators);
- requestManager.queueResponse(s1State.initialResponse);
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.queueResponse(s1State.initialResponse);
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
@@ -158,7 +158,7 @@
sessionOne.detachModelProvider();
// page the sessionTwo
- requestManager.queueResponse(s1State.pageResponse);
+ fakeFeedRequestManager.queueResponse(s1State.pageResponse);
sessionTwo.handleToken(tokenChild.getModelToken());
// recreate sessionOne as existingSession
diff --git a/src/test/java/com/google/android/libraries/feed/infraintegration/EmptyStreamTest.java b/src/test/java/com/google/android/libraries/feed/infraintegration/EmptyStreamTest.java
index bb16890..adcc424 100644
--- a/src/test/java/com/google/android/libraries/feed/infraintegration/EmptyStreamTest.java
+++ b/src/test/java/com/google/android/libraries/feed/infraintegration/EmptyStreamTest.java
@@ -33,7 +33,7 @@
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProviderFactory;
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProviderObserver;
import com.google.android.libraries.feed.testing.proto.UiContextForTestProto.UiContextForTest;
-import com.google.android.libraries.feed.testing.requestmanager.FakeRequestManager;
+import com.google.android.libraries.feed.testing.requestmanager.FakeFeedRequestManager;
import com.google.search.now.feed.client.StreamDataProto.UiContext;
import org.junit.Before;
import org.junit.Test;
@@ -45,7 +45,7 @@
public class EmptyStreamTest {
private FakeClock fakeClock;
- private FakeRequestManager requestManager;
+ private FakeFeedRequestManager fakeFeedRequestManager;
private SessionManager sessionManager;
private ModelProviderFactory modelProviderFactory;
@@ -54,7 +54,7 @@
initMocks(this);
InfraIntegrationScope scope = new InfraIntegrationScope.Builder().build();
fakeClock = scope.getFakeClock();
- requestManager = scope.getRequestManager();
+ fakeFeedRequestManager = scope.getFakeFeedRequestManager();
sessionManager = scope.getSessionManager();
modelProviderFactory = scope.getModelProviderFactory();
}
@@ -119,8 +119,8 @@
public void emptyStream_emptyResponse() {
// Create an empty stream through a response
ResponseBuilder responseBuilder = new ResponseBuilder();
- requestManager.queueResponse(responseBuilder.build());
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.queueResponse(responseBuilder.build());
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
diff --git a/src/test/java/com/google/android/libraries/feed/infraintegration/ExistingSessionTest.java b/src/test/java/com/google/android/libraries/feed/infraintegration/ExistingSessionTest.java
index 954f8e8..c09f149 100644
--- a/src/test/java/com/google/android/libraries/feed/infraintegration/ExistingSessionTest.java
+++ b/src/test/java/com/google/android/libraries/feed/infraintegration/ExistingSessionTest.java
@@ -53,7 +53,7 @@
public void setUp() {
// Create a simple stream with a root and three features
scope
- .getRequestManager()
+ .getFakeFeedRequestManager()
.queueResponse(ResponseBuilder.forClearAllWithCards(CARDS).build())
.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
@@ -117,7 +117,7 @@
// Start a request.
scope
- .getRequestManager()
+ .getFakeFeedRequestManager()
.queueResponse(ResponseBuilder.forClearAllWithCards(CARDS).build(), /* delayMs= */ 100)
.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
diff --git a/src/test/java/com/google/android/libraries/feed/infraintegration/FilterHeadTest.java b/src/test/java/com/google/android/libraries/feed/infraintegration/FilterHeadTest.java
index 1fd929b..6d4159e 100644
--- a/src/test/java/com/google/android/libraries/feed/infraintegration/FilterHeadTest.java
+++ b/src/test/java/com/google/android/libraries/feed/infraintegration/FilterHeadTest.java
@@ -24,7 +24,7 @@
import com.google.android.libraries.feed.common.testing.InfraIntegrationScope;
import com.google.android.libraries.feed.common.testing.ResponseBuilder;
import com.google.android.libraries.feed.host.logging.RequestReason;
-import com.google.android.libraries.feed.testing.requestmanager.FakeRequestManager;
+import com.google.android.libraries.feed.testing.requestmanager.FakeFeedRequestManager;
import com.google.search.now.feed.client.StreamDataProto.StreamFeature;
import com.google.search.now.feed.client.StreamDataProto.StreamPayload;
import com.google.search.now.wire.feed.ContentIdProto.ContentId;
@@ -36,14 +36,14 @@
/** Tests of the {@link SessionManager#getStreamFeaturesFromHead(Function, Consumer)} method. */
@RunWith(RobolectricTestRunner.class)
public class FilterHeadTest {
- private FakeRequestManager requestManager;
+ private FakeFeedRequestManager fakeFeedRequestManager;
private SessionManager sessionManager;
@Before
public void setUp() {
initMocks(this);
InfraIntegrationScope scope = new InfraIntegrationScope.Builder().build();
- requestManager = scope.getRequestManager();
+ fakeFeedRequestManager = scope.getFakeFeedRequestManager();
sessionManager = scope.getSessionManager();
}
@@ -58,8 +58,8 @@
ResponseBuilder.createFeatureContentId(5),
};
- requestManager.queueResponse(ResponseBuilder.forClearAllWithCards(cards).build());
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.queueResponse(ResponseBuilder.forClearAllWithCards(cards).build());
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
diff --git a/src/test/java/com/google/android/libraries/feed/infraintegration/GcTest.java b/src/test/java/com/google/android/libraries/feed/infraintegration/GcTest.java
index 3a244ea..e328d2c 100644
--- a/src/test/java/com/google/android/libraries/feed/infraintegration/GcTest.java
+++ b/src/test/java/com/google/android/libraries/feed/infraintegration/GcTest.java
@@ -57,7 +57,7 @@
@Test
public void testGc_contentInLiveSessionRetained() {
scope
- .getRequestManager()
+ .getFakeFeedRequestManager()
.queueResponse(createResponse(REQUEST_1))
.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
@@ -72,7 +72,7 @@
// Populate HEAD with new data.
scope
- .getRequestManager()
+ .getFakeFeedRequestManager()
.queueResponse(createResponse(REQUEST_2))
.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
@@ -88,7 +88,7 @@
@Test
public void testGc_contentInExpiredSessionDeleted() {
scope
- .getRequestManager()
+ .getFakeFeedRequestManager()
.queueResponse(createResponse(REQUEST_1))
.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
@@ -103,7 +103,7 @@
// Populate HEAD with new data.
scope
- .getRequestManager()
+ .getFakeFeedRequestManager()
.queueResponse(createResponse(REQUEST_2))
.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
diff --git a/src/test/java/com/google/android/libraries/feed/infraintegration/LimitedPagingTest.java b/src/test/java/com/google/android/libraries/feed/infraintegration/LimitedPagingTest.java
index 1ac940a..8c96f13 100644
--- a/src/test/java/com/google/android/libraries/feed/infraintegration/LimitedPagingTest.java
+++ b/src/test/java/com/google/android/libraries/feed/infraintegration/LimitedPagingTest.java
@@ -27,7 +27,7 @@
import com.google.android.libraries.feed.internalapi.modelprovider.ModelChild;
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProvider;
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProviderFactory;
-import com.google.android.libraries.feed.testing.requestmanager.FakeRequestManager;
+import com.google.android.libraries.feed.testing.requestmanager.FakeFeedRequestManager;
import com.google.search.now.feed.client.StreamDataProto.UiContext;
import com.google.search.now.wire.feed.ContentIdProto.ContentId;
import org.junit.Before;
@@ -52,7 +52,7 @@
ResponseBuilder.createFeatureContentId(6)
};
- private FakeRequestManager requestManager;
+ private FakeFeedRequestManager fakeFeedRequestManager;
private SessionManager sessionManager;
private ModelProviderFactory modelProviderFactory;
private ModelProviderValidator modelValidator;
@@ -63,7 +63,7 @@
public void setUp() {
initMocks(this);
InfraIntegrationScope scope = new InfraIntegrationScope.Builder().build();
- requestManager = scope.getRequestManager();
+ fakeFeedRequestManager = scope.getFakeFeedRequestManager();
sessionManager = scope.getSessionManager();
modelProviderFactory = scope.getModelProviderFactory();
modelValidator = new ModelProviderValidator(scope.getProtocolAdapter());
@@ -72,8 +72,8 @@
@Test
public void testPagingDetachedSession() {
PagingState s1State = new PagingState(PAGE_1, PAGE_2, 1, contentIdGenerators);
- requestManager.queueResponse(s1State.initialResponse);
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.queueResponse(s1State.initialResponse);
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
@@ -87,7 +87,7 @@
// Now Page session one and verify both session are as expected, only session one will contain
// the paged content
- requestManager.queueResponse(s1State.pageResponse);
+ fakeFeedRequestManager.queueResponse(s1State.pageResponse);
sessionOne.handleToken(tokenChild.getModelToken());
// Create the sessionOne from page1 and a token
@@ -102,7 +102,7 @@
sessionThree, PAGE_1[0], PAGE_1[1], PAGE_1[2], PAGE_2[0], PAGE_2[1], PAGE_2[2]);
// Page session two, this should not change anything else
- requestManager.queueResponse(s1State.pageResponse);
+ fakeFeedRequestManager.queueResponse(s1State.pageResponse);
sessionTwo.handleToken(tokenChild.getModelToken());
modelValidator.assertCursorContents(
sessionOne, PAGE_1[0], PAGE_1[1], PAGE_1[2], PAGE_2[0], PAGE_2[1], PAGE_2[2]);
diff --git a/src/test/java/com/google/android/libraries/feed/infraintegration/MultiSessionPagingTest.java b/src/test/java/com/google/android/libraries/feed/infraintegration/MultiSessionPagingTest.java
index 09c31a2..443f8e1 100644
--- a/src/test/java/com/google/android/libraries/feed/infraintegration/MultiSessionPagingTest.java
+++ b/src/test/java/com/google/android/libraries/feed/infraintegration/MultiSessionPagingTest.java
@@ -30,7 +30,7 @@
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProvider;
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProvider.State;
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProviderFactory;
-import com.google.android.libraries.feed.testing.requestmanager.FakeRequestManager;
+import com.google.android.libraries.feed.testing.requestmanager.FakeFeedRequestManager;
import com.google.protobuf.ByteString;
import com.google.search.now.feed.client.StreamDataProto.UiContext;
import com.google.search.now.wire.feed.ContentIdProto.ContentId;
@@ -61,7 +61,7 @@
*/
@RunWith(RobolectricTestRunner.class)
public class MultiSessionPagingTest {
- private FakeRequestManager requestManager;
+ private FakeFeedRequestManager fakeFeedRequestManager;
private SessionManager sessionManager;
private ModelProviderFactory modelProviderFactory;
private ModelProviderValidator modelValidator;
@@ -71,7 +71,7 @@
public void setUp() {
initMocks(this);
InfraIntegrationScope scope = new InfraIntegrationScope.Builder().build();
- requestManager = scope.getRequestManager();
+ fakeFeedRequestManager = scope.getFakeFeedRequestManager();
sessionManager = scope.getSessionManager();
modelProviderFactory = scope.getModelProviderFactory();
modelValidator = new ModelProviderValidator(scope.getProtocolAdapter());
@@ -104,8 +104,8 @@
PagingState s2State = new PagingState(s2Cards, s2PageCards, 2, contentIdGenerators);
// Create an initial S1 $HEAD session
- requestManager.queueResponse(s1State.initialResponse);
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.queueResponse(s1State.initialResponse);
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
@@ -122,8 +122,8 @@
modelValidator.assertCursorContentsWithToken(mp2, s1Cards);
// Refresh the Stream with the S2 initial response
- requestManager.queueResponse(s2State.initialResponse);
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.queueResponse(s2State.initialResponse);
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(
new MutationContext.Builder().setRequestingSessionId(mp2.getSessionId()).build()));
@@ -143,14 +143,14 @@
assertThat(mp1.getCurrentState()).isEqualTo(State.READY);
// now page S1
- requestManager.queueResponse(s1State.pageResponse);
+ fakeFeedRequestManager.queueResponse(s1State.pageResponse);
mp1.handleToken(mp1Token.getModelToken());
modelValidator.assertCursorContents(
mp1, s1Cards[0], s1Cards[1], s1PageCards[0], s1PageCards[1]);
modelValidator.assertCursorContentsWithToken(mp2, s2Cards);
// now page S2
- requestManager.queueResponse(s2State.pageResponse);
+ fakeFeedRequestManager.queueResponse(s2State.pageResponse);
mp2.handleToken(mp2Token.getModelToken());
modelValidator.assertCursorContents(
mp1, s1Cards[0], s1Cards[1], s1PageCards[0], s1PageCards[1]);
diff --git a/src/test/java/com/google/android/libraries/feed/infraintegration/RemoveTrackingBehaviorTest.java b/src/test/java/com/google/android/libraries/feed/infraintegration/RemoveTrackingBehaviorTest.java
index 8cf420e..6ee20d3 100644
--- a/src/test/java/com/google/android/libraries/feed/infraintegration/RemoveTrackingBehaviorTest.java
+++ b/src/test/java/com/google/android/libraries/feed/infraintegration/RemoveTrackingBehaviorTest.java
@@ -31,7 +31,7 @@
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProviderFactory;
import com.google.android.libraries.feed.internalapi.modelprovider.RemoveTracking;
import com.google.android.libraries.feed.internalapi.protocoladapter.ProtocolAdapter;
-import com.google.android.libraries.feed.testing.requestmanager.FakeRequestManager;
+import com.google.android.libraries.feed.testing.requestmanager.FakeFeedRequestManager;
import com.google.search.now.feed.client.StreamDataProto.StreamDataOperation;
import com.google.search.now.feed.client.StreamDataProto.StreamFeature;
import com.google.search.now.feed.client.StreamDataProto.UiContext;
@@ -56,7 +56,7 @@
ResponseBuilder.createFeatureContentId(5),
};
- private FakeRequestManager requestManager;
+ private FakeFeedRequestManager fakeFeedRequestManager;
private SessionManager sessionManager;
private ModelProviderFactory modelProviderFactory;
private ProtocolAdapter protocolAdapter;
@@ -65,7 +65,7 @@
public void setUp() {
initMocks(this);
InfraIntegrationScope scope = new InfraIntegrationScope.Builder().build();
- requestManager = scope.getRequestManager();
+ fakeFeedRequestManager = scope.getFakeFeedRequestManager();
sessionManager = scope.getSessionManager();
modelProviderFactory = scope.getModelProviderFactory();
protocolAdapter = scope.getProtocolAdapter();
@@ -185,8 +185,8 @@
}
private void loadInitialData() {
- requestManager.queueResponse(ResponseBuilder.forClearAllWithCards(CARDS).build());
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.queueResponse(ResponseBuilder.forClearAllWithCards(CARDS).build());
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
}
diff --git a/src/test/java/com/google/android/libraries/feed/infraintegration/RootOnlyTest.java b/src/test/java/com/google/android/libraries/feed/infraintegration/RootOnlyTest.java
index b74abbd..6cc9c6c 100644
--- a/src/test/java/com/google/android/libraries/feed/infraintegration/RootOnlyTest.java
+++ b/src/test/java/com/google/android/libraries/feed/infraintegration/RootOnlyTest.java
@@ -32,7 +32,7 @@
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProvider.State;
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProviderFactory;
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProviderObserver;
-import com.google.android.libraries.feed.testing.requestmanager.FakeRequestManager;
+import com.google.android.libraries.feed.testing.requestmanager.FakeFeedRequestManager;
import com.google.search.now.feed.client.StreamDataProto.StreamToken;
import com.google.search.now.feed.client.StreamDataProto.UiContext;
import com.google.search.now.wire.feed.ConsistencyTokenProto.ConsistencyToken;
@@ -45,7 +45,7 @@
@RunWith(RobolectricTestRunner.class)
public class RootOnlyTest {
private final InfraIntegrationScope scope = new InfraIntegrationScope.Builder().build();
- private final FakeRequestManager requestManager = scope.getRequestManager();
+ private final FakeFeedRequestManager fakeFeedRequestManager = scope.getFakeFeedRequestManager();
private final FakeThreadUtils fakeThreadUtils = scope.getFakeThreadUtils();
private final ModelProviderFactory modelProviderFactory = scope.getModelProviderFactory();
private final ModelProviderValidator modelValidator =
@@ -56,8 +56,8 @@
public void rootOnlyResponse_beforeSessionWithLifecycle() {
// ModelProvider is created from $HEAD containing content
ResponseBuilder responseBuilder = new ResponseBuilder().addClearOperation().addRootFeature();
- requestManager.queueResponse(responseBuilder.build());
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.queueResponse(responseBuilder.build());
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
ModelProvider modelProvider =
@@ -93,10 +93,10 @@
verify(changeObserver, never()).onSessionFinished(any(UiContext.class));
ResponseBuilder responseBuilder = new ResponseBuilder().addRootFeature();
- requestManager.queueResponse(responseBuilder.build());
+ fakeFeedRequestManager.queueResponse(responseBuilder.build());
// TODO: sessions reject updates without a CLEAR_ALL or paging with a different token.
fakeThreadUtils.enforceMainThread(false);
- requestManager.loadMore(
+ fakeFeedRequestManager.loadMore(
StreamToken.getDefaultInstance(),
ConsistencyToken.getDefaultInstance(),
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
@@ -121,8 +121,8 @@
// and the root is replaced
ModelProviderObserver changeObserver = mock(ModelProviderObserver.class);
ResponseBuilder responseBuilder = new ResponseBuilder().addClearOperation().addRootFeature();
- requestManager.queueResponse(responseBuilder.build());
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.queueResponse(responseBuilder.build());
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
ModelProvider modelProvider =
@@ -137,10 +137,10 @@
.setTable("feature")
.build();
responseBuilder = new ResponseBuilder().addRootFeature(anotherRoot);
- requestManager.queueResponse(responseBuilder.build());
+ fakeFeedRequestManager.queueResponse(responseBuilder.build());
// TODO: sessions reject updates without a CLEAR_ALL or paging with a different token.
fakeThreadUtils.enforceMainThread(false);
- requestManager.loadMore(
+ fakeFeedRequestManager.loadMore(
StreamToken.getDefaultInstance(),
ConsistencyToken.getDefaultInstance(),
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
diff --git a/src/test/java/com/google/android/libraries/feed/infraintegration/SemanticPropertiesTest.java b/src/test/java/com/google/android/libraries/feed/infraintegration/SemanticPropertiesTest.java
index 5c59a27..ffe663d 100644
--- a/src/test/java/com/google/android/libraries/feed/infraintegration/SemanticPropertiesTest.java
+++ b/src/test/java/com/google/android/libraries/feed/infraintegration/SemanticPropertiesTest.java
@@ -25,7 +25,7 @@
import com.google.android.libraries.feed.common.testing.ResponseBuilder;
import com.google.android.libraries.feed.host.logging.RequestReason;
import com.google.android.libraries.feed.internalapi.store.Store;
-import com.google.android.libraries.feed.testing.requestmanager.FakeRequestManager;
+import com.google.android.libraries.feed.testing.requestmanager.FakeFeedRequestManager;
import com.google.protobuf.ByteString;
import com.google.search.now.wire.feed.ContentIdProto.ContentId;
import com.google.search.now.wire.feed.ResponseProto.Response;
@@ -39,7 +39,7 @@
@RunWith(RobolectricTestRunner.class)
public class SemanticPropertiesTest {
private final InfraIntegrationScope scope = new InfraIntegrationScope.Builder().build();
- private final FakeRequestManager requestManager = scope.getRequestManager();
+ private final FakeFeedRequestManager fakeFeedRequestManager = scope.getFakeFeedRequestManager();
private final SessionManager sessionManager = scope.getSessionManager();
private final Store store = scope.getStore();
@@ -53,8 +53,8 @@
.addClearOperation()
.addCardWithSemanticData(contentId, semanticData)
.build();
- requestManager.queueResponse(response);
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.queueResponse(response);
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
diff --git a/src/test/java/com/google/android/libraries/feed/infraintegration/SharedStateTest.java b/src/test/java/com/google/android/libraries/feed/infraintegration/SharedStateTest.java
index 920194b..31c52d5 100644
--- a/src/test/java/com/google/android/libraries/feed/infraintegration/SharedStateTest.java
+++ b/src/test/java/com/google/android/libraries/feed/infraintegration/SharedStateTest.java
@@ -26,7 +26,7 @@
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProvider;
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProviderFactory;
import com.google.android.libraries.feed.internalapi.protocoladapter.ProtocolAdapter;
-import com.google.android.libraries.feed.testing.requestmanager.FakeRequestManager;
+import com.google.android.libraries.feed.testing.requestmanager.FakeFeedRequestManager;
import com.google.search.now.feed.client.StreamDataProto.StreamSharedState;
import com.google.search.now.feed.client.StreamDataProto.UiContext;
import org.junit.Before;
@@ -37,7 +37,7 @@
/** Tests of accessing shared state. */
@RunWith(RobolectricTestRunner.class)
public class SharedStateTest {
- private FakeRequestManager requestManager;
+ private FakeFeedRequestManager fakeFeedRequestManager;
private SessionManager sessionManager;
private ProtocolAdapter protocolAdapter;
private ModelProviderFactory modelProviderFactory;
@@ -47,7 +47,7 @@
public void setUp() {
initMocks(this);
InfraIntegrationScope scope = new InfraIntegrationScope.Builder().build();
- requestManager = scope.getRequestManager();
+ fakeFeedRequestManager = scope.getFakeFeedRequestManager();
sessionManager = scope.getSessionManager();
modelProviderFactory = scope.getModelProviderFactory();
protocolAdapter = scope.getProtocolAdapter();
@@ -59,8 +59,8 @@
// ModelProvider is created from $HEAD containing content, simple shared state added
ResponseBuilder responseBuilder =
new ResponseBuilder().addClearOperation().addPietSharedState().addRootFeature();
- requestManager.queueResponse(responseBuilder.build());
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.queueResponse(responseBuilder.build());
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
@@ -83,8 +83,8 @@
ResponseBuilder responseBuilder =
new ResponseBuilder().addClearOperation().addPietSharedState().addRootFeature();
- requestManager.queueResponse(responseBuilder.build());
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.queueResponse(responseBuilder.build());
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
diff --git a/src/test/java/com/google/android/libraries/feed/infraintegration/SimpleStreamTest.java b/src/test/java/com/google/android/libraries/feed/infraintegration/SimpleStreamTest.java
index 1f9ec39..07bbd75 100644
--- a/src/test/java/com/google/android/libraries/feed/infraintegration/SimpleStreamTest.java
+++ b/src/test/java/com/google/android/libraries/feed/infraintegration/SimpleStreamTest.java
@@ -30,7 +30,7 @@
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProvider;
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProviderFactory;
import com.google.android.libraries.feed.internalapi.protocoladapter.ProtocolAdapter;
-import com.google.android.libraries.feed.testing.requestmanager.FakeRequestManager;
+import com.google.android.libraries.feed.testing.requestmanager.FakeFeedRequestManager;
import com.google.search.now.feed.client.StreamDataProto.UiContext;
import com.google.search.now.wire.feed.ContentIdProto.ContentId;
import org.junit.Before;
@@ -41,7 +41,7 @@
/** Simple tests of a stream with multiple cards. */
@RunWith(RobolectricTestRunner.class)
public class SimpleStreamTest {
- private FakeRequestManager requestManager;
+ private FakeFeedRequestManager fakeFeedRequestManager;
private SessionManager sessionManager;
private ModelProviderFactory modelProviderFactory;
private ModelProviderValidator modelValidator;
@@ -51,7 +51,7 @@
public void setUp() {
initMocks(this);
InfraIntegrationScope scope = new InfraIntegrationScope.Builder().build();
- requestManager = scope.getRequestManager();
+ fakeFeedRequestManager = scope.getFakeFeedRequestManager();
sessionManager = scope.getSessionManager();
modelProviderFactory = scope.getModelProviderFactory();
protocolAdapter = scope.getProtocolAdapter();
@@ -65,8 +65,8 @@
ResponseBuilder responseBuilder =
ResponseBuilder.forClearAllWithCards(
new ContentId[] {ResponseBuilder.createFeatureContentId(1)});
- requestManager.queueResponse(responseBuilder.build());
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.queueResponse(responseBuilder.build());
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
ModelProvider modelProvider =
@@ -103,8 +103,8 @@
ResponseBuilder.createFeatureContentId(1), ResponseBuilder.createFeatureContentId(2)
};
ResponseBuilder responseBuilder = ResponseBuilder.forClearAllWithCards(cards);
- requestManager.queueResponse(responseBuilder.build());
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.queueResponse(responseBuilder.build());
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
ModelProvider modelProvider =
diff --git a/src/test/java/com/google/android/libraries/feed/infraintegration/StreamPagingTest.java b/src/test/java/com/google/android/libraries/feed/infraintegration/StreamPagingTest.java
index aad2de2..90dd50d 100644
--- a/src/test/java/com/google/android/libraries/feed/infraintegration/StreamPagingTest.java
+++ b/src/test/java/com/google/android/libraries/feed/infraintegration/StreamPagingTest.java
@@ -35,7 +35,7 @@
import com.google.android.libraries.feed.internalapi.modelprovider.ModelToken;
import com.google.android.libraries.feed.internalapi.modelprovider.TokenCompleted;
import com.google.android.libraries.feed.internalapi.modelprovider.TokenCompletedObserver;
-import com.google.android.libraries.feed.testing.requestmanager.FakeRequestManager;
+import com.google.android.libraries.feed.testing.requestmanager.FakeFeedRequestManager;
import com.google.search.now.feed.client.StreamDataProto.UiContext;
import com.google.search.now.wire.feed.ContentIdProto.ContentId;
import org.junit.Before;
@@ -47,7 +47,7 @@
/** Test of handling paging operations within the Stream. */
@RunWith(RobolectricTestRunner.class)
public class StreamPagingTest {
- private FakeRequestManager requestManager;
+ private FakeFeedRequestManager fakeFeedRequestManager;
private SessionManager sessionManager;
private ModelProviderFactory modelProviderFactory;
private ModelProviderValidator modelValidator;
@@ -57,7 +57,7 @@
public void setUp() {
initMocks(this);
InfraIntegrationScope scope = new InfraIntegrationScope.Builder().build();
- requestManager = scope.getRequestManager();
+ fakeFeedRequestManager = scope.getFakeFeedRequestManager();
sessionManager = scope.getSessionManager();
modelProviderFactory = scope.getModelProviderFactory();
modelValidator = new ModelProviderValidator(scope.getProtocolAdapter());
@@ -68,7 +68,7 @@
*
* <ol>
* <li>Setup the initial response and the paged response
- * <li>Setup the paging handling for the RequestManager
+ * <li>Setup the paging handling for the FeedRequestManager
* <li>Create the Initial $HEAD from the initial response
* <li>Create a Session/ModelProvider
* <li>Setup the MutationContext and the ModelToken observer
@@ -88,11 +88,11 @@
ResponseBuilder.createFeatureContentId(3), ResponseBuilder.createFeatureContentId(4)
};
PagingState state = new PagingState(cards, pageCards, 1, contentIdGenerators);
- requestManager.queueResponse(state.initialResponse);
- requestManager.queueResponse(state.pageResponse);
+ fakeFeedRequestManager.queueResponse(state.initialResponse);
+ fakeFeedRequestManager.queueResponse(state.pageResponse);
// Create an initial model
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
ModelProvider modelProvider =
@@ -134,7 +134,7 @@
*
* <ul>
* <li>Setup the initial response and the paged response
- * <li>Setup the paging handling for the RequestManager
+ * <li>Setup the paging handling for the FeedRequestManager
* <li>Create the Initial $HEAD from the initial response
* <li>Create a Session/ModelProvider
* <li>Page the Session/ModelProvider
@@ -153,11 +153,11 @@
ResponseBuilder.createFeatureContentId(3), ResponseBuilder.createFeatureContentId(4)
};
PagingState state = new PagingState(cards, pageCards, 1, contentIdGenerators);
- requestManager.queueResponse(state.initialResponse);
- requestManager.queueResponse(state.pageResponse);
+ fakeFeedRequestManager.queueResponse(state.initialResponse);
+ fakeFeedRequestManager.queueResponse(state.pageResponse);
// Create an initial model
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
ModelProvider modelProvider =
diff --git a/src/test/java/com/google/android/libraries/feed/infraintegration/StructureUpdateTest.java b/src/test/java/com/google/android/libraries/feed/infraintegration/StructureUpdateTest.java
index e6a3d50..61395ef 100644
--- a/src/test/java/com/google/android/libraries/feed/infraintegration/StructureUpdateTest.java
+++ b/src/test/java/com/google/android/libraries/feed/infraintegration/StructureUpdateTest.java
@@ -33,7 +33,7 @@
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProvider;
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProviderFactory;
import com.google.android.libraries.feed.internalapi.protocoladapter.ProtocolAdapter;
-import com.google.android.libraries.feed.testing.requestmanager.FakeRequestManager;
+import com.google.android.libraries.feed.testing.requestmanager.FakeFeedRequestManager;
import com.google.search.now.feed.client.StreamDataProto.StreamToken;
import com.google.search.now.feed.client.StreamDataProto.UiContext;
import com.google.search.now.wire.feed.ConsistencyTokenProto.ConsistencyToken;
@@ -48,7 +48,7 @@
@RunWith(RobolectricTestRunner.class)
public class StructureUpdateTest {
private final InfraIntegrationScope scope = new InfraIntegrationScope.Builder().build();
- private final FakeRequestManager requestManager = scope.getRequestManager();
+ private final FakeFeedRequestManager fakeFeedRequestManager = scope.getFakeFeedRequestManager();
private final FakeThreadUtils fakeThreadUtils = scope.getFakeThreadUtils();
private final ModelProviderFactory modelProviderFactory = scope.getModelProviderFactory();
private final ModelProviderValidator modelValidator =
@@ -69,8 +69,9 @@
ResponseBuilder.createFeatureContentId(3), ResponseBuilder.createFeatureContentId(4)
};
- requestManager.queueResponse(ResponseBuilder.forClearAllWithCards(startingCards).build());
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.queueResponse(
+ ResponseBuilder.forClearAllWithCards(startingCards).build());
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
ModelProvider modelProvider =
@@ -83,10 +84,11 @@
modelValidator.assertCursorSize(root.getCursor(), startingCards.length);
// Append new children to root
- requestManager.queueResponse(ResponseBuilder.builder().addCardsToRoot(appendedCards).build());
+ fakeFeedRequestManager.queueResponse(
+ ResponseBuilder.builder().addCardsToRoot(appendedCards).build());
// TODO: sessions reject updates without a CLEAR_ALL or paging with a different token.
fakeThreadUtils.enforceMainThread(false);
- requestManager.loadMore(
+ fakeFeedRequestManager.loadMore(
StreamToken.getDefaultInstance(),
ConsistencyToken.getDefaultInstance(),
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
@@ -122,8 +124,9 @@
ResponseBuilder.createFeatureContentId(3), ResponseBuilder.createFeatureContentId(4)
};
- requestManager.queueResponse(ResponseBuilder.forClearAllWithCards(startingCards).build());
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.queueResponse(
+ ResponseBuilder.forClearAllWithCards(startingCards).build());
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
ModelProvider modelProvider =
@@ -137,10 +140,11 @@
cursor.getNextItem();
// Now append additional children to the stream (and cursor)
- requestManager.queueResponse(ResponseBuilder.builder().addCardsToRoot(appendedCards).build());
+ fakeFeedRequestManager.queueResponse(
+ ResponseBuilder.builder().addCardsToRoot(appendedCards).build());
// TODO: sessions reject updates without a CLEAR_ALL or paging with a different token.
fakeThreadUtils.enforceMainThread(false);
- requestManager.loadMore(
+ fakeFeedRequestManager.loadMore(
StreamToken.getDefaultInstance(),
ConsistencyToken.getDefaultInstance(),
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
diff --git a/src/test/java/com/google/android/libraries/feed/infraintegration/SyntheticTokensTest.java b/src/test/java/com/google/android/libraries/feed/infraintegration/SyntheticTokensTest.java
index df4f566..c70c9f5 100644
--- a/src/test/java/com/google/android/libraries/feed/infraintegration/SyntheticTokensTest.java
+++ b/src/test/java/com/google/android/libraries/feed/infraintegration/SyntheticTokensTest.java
@@ -44,7 +44,7 @@
import com.google.android.libraries.feed.internalapi.modelprovider.TokenCompleted;
import com.google.android.libraries.feed.internalapi.modelprovider.TokenCompletedObserver;
import com.google.android.libraries.feed.internalapi.protocoladapter.ProtocolAdapter;
-import com.google.android.libraries.feed.testing.requestmanager.FakeRequestManager;
+import com.google.android.libraries.feed.testing.requestmanager.FakeFeedRequestManager;
import com.google.search.now.feed.client.StreamDataProto.StreamDataOperation;
import com.google.search.now.feed.client.StreamDataProto.UiContext;
import com.google.search.now.wire.feed.ContentIdProto.ContentId;
@@ -64,7 +64,7 @@
private static final int MIN_PAGE_SIZE = 2;
private FakeClock fakeClock;
- private FakeRequestManager requestManager;
+ private FakeFeedRequestManager fakeFeedRequestManager;
private SessionManager sessionManager;
private ModelProviderFactory modelProviderFactory;
private ModelProviderValidator modelValidator;
@@ -83,7 +83,7 @@
InfraIntegrationScope scope =
new InfraIntegrationScope.Builder().setConfiguration(configuration).build();
fakeClock = scope.getFakeClock();
- requestManager = scope.getRequestManager();
+ fakeFeedRequestManager = scope.getFakeFeedRequestManager();
sessionManager = scope.getSessionManager();
modelProviderFactory = scope.getModelProviderFactory();
protocolAdapter = scope.getProtocolAdapter();
@@ -124,8 +124,8 @@
// Create 13 cards (initial page size + page size + page size and slope of 1)
// Initial model will have all the cards
- requestManager.queueResponse(ResponseBuilder.forClearAllWithCards(cards).build());
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.queueResponse(ResponseBuilder.forClearAllWithCards(cards).build());
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
ModelProvider modelProvider =
@@ -221,8 +221,8 @@
// Create 13 cards (initial page size + page size + page size and slope of 1)
// Initial model will have all the cards
- requestManager.queueResponse(ResponseBuilder.forClearAllWithCards(cards).build());
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.queueResponse(ResponseBuilder.forClearAllWithCards(cards).build());
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
ModelProvider modelProvider =
@@ -315,9 +315,9 @@
};
PagingState state = new PagingState(cards, pageCards, 1, contentIdGenerators);
- requestManager.queueResponse(state.initialResponse);
- requestManager.queueResponse(state.pageResponse);
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.queueResponse(state.initialResponse);
+ fakeFeedRequestManager.queueResponse(state.pageResponse);
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
ModelProvider modelProvider =
@@ -385,9 +385,9 @@
};
PagingState state = new PagingState(cards, pageCards, 1, contentIdGenerators);
- requestManager.queueResponse(state.initialResponse);
- requestManager.queueResponse(state.pageResponse);
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.queueResponse(state.initialResponse);
+ fakeFeedRequestManager.queueResponse(state.pageResponse);
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
ModelProvider modelProvider =
@@ -461,8 +461,8 @@
};
// Create an initial root with a single item in it.
- requestManager.queueResponse(ResponseBuilder.forClearAllWithCards(cards).build());
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.queueResponse(ResponseBuilder.forClearAllWithCards(cards).build());
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
ModelProvider modelProvider =
@@ -519,8 +519,8 @@
private void clearSessionManagerContentCache() {
// This is a bit of hack, which will clear the content cache and indicate to the
// FeedSessionManager that we are in the non-cached mode.
- requestManager.queueResponse(new ResponseBuilder().build());
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.queueResponse(new ResponseBuilder().build());
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
fakeClock.advance(TaskQueue.STARVATION_TIMEOUT_MS);
diff --git a/src/test/java/com/google/android/libraries/feed/infraintegration/TimeoutSessionBaseTest.java b/src/test/java/com/google/android/libraries/feed/infraintegration/TimeoutSessionBaseTest.java
index a4e865e..e97a7bd 100644
--- a/src/test/java/com/google/android/libraries/feed/infraintegration/TimeoutSessionBaseTest.java
+++ b/src/test/java/com/google/android/libraries/feed/infraintegration/TimeoutSessionBaseTest.java
@@ -30,7 +30,7 @@
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProviderFactory;
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProviderObserver;
import com.google.android.libraries.feed.testing.host.scheduler.FakeSchedulerApi;
-import com.google.android.libraries.feed.testing.requestmanager.FakeRequestManager;
+import com.google.android.libraries.feed.testing.requestmanager.FakeFeedRequestManager;
import com.google.search.now.feed.client.StreamDataProto.UiContext;
import com.google.search.now.wire.feed.ContentIdProto.ContentId;
import java.util.concurrent.TimeoutException;
@@ -56,7 +56,7 @@
new FakeSchedulerApi(FakeThreadUtils.withoutThreadChecks());
private FakeClock fakeClock;
- private FakeRequestManager requestManager;
+ private FakeFeedRequestManager fakeFeedRequestManager;
private SessionManager sessionManager;
private ModelProviderFactory modelProviderFactory;
private ModelProviderValidator modelValidator;
@@ -71,7 +71,7 @@
.withTimeoutSessionConfiguration(2L)
.build();
fakeClock = scope.getFakeClock();
- requestManager = scope.getRequestManager();
+ fakeFeedRequestManager = scope.getFakeFeedRequestManager();
sessionManager = scope.getSessionManager();
modelProviderFactory = scope.getModelProviderFactory();
modelValidator = new ModelProviderValidator(scope.getProtocolAdapter());
@@ -97,7 +97,7 @@
};
// Load up the initial request
- requestManager.queueResponse(
+ fakeFeedRequestManager.queueResponse(
ResponseBuilder.forClearAllWithCards(requestOne).build(), /* delayMs= */ 100);
// Wait for the request to complete (REQUEST_WITH_WAIT). This will trigger the request and wait
diff --git a/src/test/java/com/google/android/libraries/feed/infraintegration/TimeoutSessionWithContentTest.java b/src/test/java/com/google/android/libraries/feed/infraintegration/TimeoutSessionWithContentTest.java
index 2914003..34cd2a8 100644
--- a/src/test/java/com/google/android/libraries/feed/infraintegration/TimeoutSessionWithContentTest.java
+++ b/src/test/java/com/google/android/libraries/feed/infraintegration/TimeoutSessionWithContentTest.java
@@ -32,7 +32,7 @@
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProviderObserver;
import com.google.android.libraries.feed.internalapi.protocoladapter.ProtocolAdapter;
import com.google.android.libraries.feed.testing.host.scheduler.FakeSchedulerApi;
-import com.google.android.libraries.feed.testing.requestmanager.FakeRequestManager;
+import com.google.android.libraries.feed.testing.requestmanager.FakeFeedRequestManager;
import com.google.search.now.feed.client.StreamDataProto.UiContext;
import com.google.search.now.wire.feed.ContentIdProto.ContentId;
import java.util.concurrent.TimeoutException;
@@ -70,7 +70,7 @@
new FakeSchedulerApi(FakeThreadUtils.withoutThreadChecks());
private FakeClock fakeClock;
- private FakeRequestManager requestManager;
+ private FakeFeedRequestManager fakeFeedRequestManager;
private ModelProviderFactory modelProviderFactory;
private ProtocolAdapter protocolAdapter;
private ModelProviderValidator modelValidator;
@@ -85,7 +85,7 @@
.withTimeoutSessionConfiguration(2L)
.build();
fakeClock = scope.getFakeClock();
- requestManager = scope.getRequestManager();
+ fakeFeedRequestManager = scope.getFakeFeedRequestManager();
modelProviderFactory = scope.getModelProviderFactory();
protocolAdapter = scope.getProtocolAdapter();
modelValidator = new ModelProviderValidator(scope.getProtocolAdapter());
@@ -97,7 +97,7 @@
* <ol>
* <li>Create the initial ModelProvider from $HEAD with a REQUEST_WITH_WAIT which makes the
* request before the session is populated.
- * <li>Load the second request into the RequestManager
+ * <li>Load the second request into the FeedRequestManager
* <li>Create a second ModelProvider using REQUEST_WITH_CONTENT which displays the initial $HEAD
* but makes a request. The second request will be appended to and update the ModelProvider.
* </ol>
@@ -106,7 +106,7 @@
public void testRequestWithWait() throws TimeoutException {
// Load up the initial request
- requestManager.queueResponse(
+ fakeFeedRequestManager.queueResponse(
ResponseBuilder.forClearAllWithCards(REQUEST_ONE).build(), /* delayMs= */ 100);
// Wait for the request to complete (REQUEST_WITH_CONTENT). This will trigger the request and
@@ -129,7 +129,7 @@
assertThat(fakeClock.currentTimeMillis() - startTimeMs).isAtLeast(100L);
// Create a new ModelProvider from HEAD (REQUEST_WITH_CONTENT)
- requestManager.queueResponse(
+ fakeFeedRequestManager.queueResponse(
ResponseBuilder.forClearAllWithCards(REQUEST_TWO).build(), /* delayMs= */ 100);
fakeSchedulerApi.setRequestBehavior(RequestBehavior.REQUEST_WITH_CONTENT);
// This will wait for the session to be created and validate the root cursor
diff --git a/src/test/java/com/google/android/libraries/feed/infraintegration/ViewDepthProviderTests.java b/src/test/java/com/google/android/libraries/feed/infraintegration/ViewDepthProviderTests.java
index bbb4690..17a2ded 100644
--- a/src/test/java/com/google/android/libraries/feed/infraintegration/ViewDepthProviderTests.java
+++ b/src/test/java/com/google/android/libraries/feed/infraintegration/ViewDepthProviderTests.java
@@ -33,7 +33,7 @@
import com.google.android.libraries.feed.internalapi.modelprovider.ModelProviderFactory;
import com.google.android.libraries.feed.internalapi.protocoladapter.ProtocolAdapter;
import com.google.android.libraries.feed.testing.modelprovider.FakeViewDepthProvider;
-import com.google.android.libraries.feed.testing.requestmanager.FakeRequestManager;
+import com.google.android.libraries.feed.testing.requestmanager.FakeFeedRequestManager;
import com.google.search.now.feed.client.StreamDataProto.StreamToken;
import com.google.search.now.feed.client.StreamDataProto.UiContext;
import com.google.search.now.wire.feed.ConsistencyTokenProto.ConsistencyToken;
@@ -79,7 +79,7 @@
@Mock private SchedulerApi schedulerApi;
- private FakeRequestManager requestManager;
+ private FakeFeedRequestManager fakeFeedRequestManager;
private FakeThreadUtils fakeThreadUtils;
private ModelProviderFactory modelProviderFactory;
private ProtocolAdapter protocolAdapter;
@@ -96,7 +96,7 @@
.withTimeoutSessionConfiguration(2L)
.build();
fakeThreadUtils = scope.getFakeThreadUtils();
- requestManager = scope.getRequestManager();
+ fakeFeedRequestManager = scope.getFakeFeedRequestManager();
modelProviderFactory = scope.getModelProviderFactory();
protocolAdapter = scope.getProtocolAdapter();
modelValidator = new ModelProviderValidator(scope.getProtocolAdapter());
@@ -110,11 +110,11 @@
public void baseDepthProviderTest() {
// Load up the initial request
- requestManager.queueResponse(ResponseBuilder.forClearAllWithCards(REQUEST_ONE).build());
+ fakeFeedRequestManager.queueResponse(ResponseBuilder.forClearAllWithCards(REQUEST_ONE).build());
// The REQUEST_ONE content will be added to head, this is then used to create the initial
// session.
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
@@ -122,7 +122,7 @@
// REQUEST_WITH_CONTENT
when(schedulerApi.shouldSessionRequestData(any(SessionManagerState.class)))
.thenReturn(RequestBehavior.REQUEST_WITH_CONTENT);
- requestManager.queueResponse(ResponseBuilder.forClearAllWithCards(REQUEST_TWO).build());
+ fakeFeedRequestManager.queueResponse(ResponseBuilder.forClearAllWithCards(REQUEST_TWO).build());
ModelProvider modelProvider =
modelProviderFactory.createNew(viewDepthProvider, UiContext.getDefaultInstance());
@@ -140,11 +140,11 @@
@Test
public void testDuplicateEntries() {
// Load up the initial request
- requestManager.queueResponse(ResponseBuilder.forClearAllWithCards(REQUEST_ONE).build());
+ fakeFeedRequestManager.queueResponse(ResponseBuilder.forClearAllWithCards(REQUEST_ONE).build());
// The REQUEST_ONE content will be added to head, this is then used to create the initial
// session.
- requestManager.triggerRefresh(
+ fakeFeedRequestManager.triggerRefresh(
RequestReason.OPEN_WITHOUT_CONTENT,
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
@@ -152,7 +152,7 @@
// REQUEST_WITH_CONTENT
when(schedulerApi.shouldSessionRequestData(any(SessionManagerState.class)))
.thenReturn(RequestBehavior.REQUEST_WITH_CONTENT);
- requestManager.queueResponse(
+ fakeFeedRequestManager.queueResponse(
ResponseBuilder.forClearAllWithCards(REQUEST_TWO_WITH_DUPLICATES).build());
ModelProvider modelProvider =
modelProviderFactory.createNew(viewDepthProvider, UiContext.getDefaultInstance());
@@ -168,11 +168,11 @@
REQUEST_TWO_WITH_DUPLICATES[2]);
// Now page in the same content, this should all be updates
- requestManager.queueResponse(
+ fakeFeedRequestManager.queueResponse(
ResponseBuilder.builder().addCardsToRoot(REQUEST_TWO_WITH_DUPLICATES_PAGE).build());
// TODO: sessions reject updates without a CLEAR_ALL or paging with a different token.
fakeThreadUtils.enforceMainThread(false);
- requestManager.loadMore(
+ fakeFeedRequestManager.loadMore(
StreamToken.getDefaultInstance(),
ConsistencyToken.getDefaultInstance(),
sessionManager.getUpdateConsumer(MutationContext.EMPTY_CONTEXT));
diff --git a/src/test/java/com/google/android/libraries/feed/mocknetworkclient/MockServerNetworkClientTest.java b/src/test/java/com/google/android/libraries/feed/mocknetworkclient/MockServerNetworkClientTest.java
index 9d6edeb..346592b 100644
--- a/src/test/java/com/google/android/libraries/feed/mocknetworkclient/MockServerNetworkClientTest.java
+++ b/src/test/java/com/google/android/libraries/feed/mocknetworkclient/MockServerNetworkClientTest.java
@@ -32,7 +32,7 @@
import com.google.android.libraries.feed.common.protoextensions.FeedExtensionRegistry;
import com.google.android.libraries.feed.common.time.TimingUtils;
import com.google.android.libraries.feed.common.time.testing.FakeClock;
-import com.google.android.libraries.feed.feedrequestmanager.FeedRequestManager;
+import com.google.android.libraries.feed.feedrequestmanager.FeedRequestManagerImpl;
import com.google.android.libraries.feed.host.config.ApplicationInfo;
import com.google.android.libraries.feed.host.config.Configuration;
import com.google.android.libraries.feed.host.network.HttpRequest;
@@ -169,8 +169,8 @@
MockServerNetworkClient networkClient =
new MockServerNetworkClient(
context, mockServerBuilder.build(), /* responseDelayMillis= */ 0L);
- FeedRequestManager feedRequestManager =
- new FeedRequestManager(
+ FeedRequestManagerImpl feedRequestManager =
+ new FeedRequestManagerImpl(
configuration,
networkClient,
protocolAdapter,
@@ -213,8 +213,8 @@
MockServerNetworkClient networkClient =
new MockServerNetworkClient(
context, mockServerBuilder.build(), /* responseDelayMillis= */ 0L);
- FeedRequestManager feedRequestManager =
- new FeedRequestManager(
+ FeedRequestManagerImpl feedRequestManager =
+ new FeedRequestManagerImpl(
configuration,
networkClient,
protocolAdapter,