remove Action Properties
PiperOrigin-RevId: 251648468
Change-Id: I05c6499f3c15d3cfa91209061ccda1c8bd252e35
diff --git a/src/main/java/com/google/android/libraries/feed/api/client/scope/ProcessScopeBuilder.java b/src/main/java/com/google/android/libraries/feed/api/client/scope/ProcessScopeBuilder.java
index 1a7604f..caaf868 100644
--- a/src/main/java/com/google/android/libraries/feed/api/client/scope/ProcessScopeBuilder.java
+++ b/src/main/java/com/google/android/libraries/feed/api/client/scope/ProcessScopeBuilder.java
@@ -250,7 +250,6 @@
extensionRegistry,
taskQueue,
threadUtils,
- actionReader,
store,
clock);
FeedSessionManagerFactory fsmFactory =
diff --git a/src/main/java/com/google/android/libraries/feed/api/internal/actionmanager/ActionReader.java b/src/main/java/com/google/android/libraries/feed/api/internal/actionmanager/ActionReader.java
index 9a6776b..7e1be1d 100644
--- a/src/main/java/com/google/android/libraries/feed/api/internal/actionmanager/ActionReader.java
+++ b/src/main/java/com/google/android/libraries/feed/api/internal/actionmanager/ActionReader.java
@@ -14,7 +14,6 @@
package com.google.android.libraries.feed.api.internal.actionmanager;
-import com.google.android.libraries.feed.api.internal.common.ActionPropertiesWithId;
import com.google.android.libraries.feed.api.internal.common.DismissActionWithSemanticProperties;
import com.google.android.libraries.feed.common.Result;
import java.util.List;
@@ -24,6 +23,4 @@
/** Retrieves list of {@link DismissActionWithSemanticProperties} for all valid dismiss actions */
Result<List<DismissActionWithSemanticProperties>> getDismissActionsWithSemanticProperties();
- /** Retrieves list of {@link ActionProperties} for the corresponding contentId */
- Result<List<ActionPropertiesWithId>> getActionProperties(List<String> contentIds);
}
diff --git a/src/main/java/com/google/android/libraries/feed/api/internal/common/ActionPropertiesWithId.java b/src/main/java/com/google/android/libraries/feed/api/internal/common/ActionPropertiesWithId.java
deleted file mode 100644
index 39b0370..0000000
--- a/src/main/java/com/google/android/libraries/feed/api/internal/common/ActionPropertiesWithId.java
+++ /dev/null
@@ -1,55 +0,0 @@
-// 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.api.internal.common;
-
-import com.google.search.now.wire.feed.OpaqueActionDataProto.OpaqueActionData;
-import java.util.Arrays;
-
-/**
- * Structure style class which binds a String contentId with the action properties data for that
- * contentId. The class is immutable and provides access to the fields directly.
- */
-public final class ActionPropertiesWithId {
-
- public final String contentId;
- public final OpaqueActionData actionData;
-
- public ActionPropertiesWithId(String contentId, OpaqueActionData actionData) {
- this.contentId = contentId;
- this.actionData = actionData;
- }
-
- @Override
- public boolean equals(/*@Nullable*/ Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
-
- ActionPropertiesWithId that = (ActionPropertiesWithId) o;
-
- return contentId.equals(that.contentId)
- && Arrays.equals(actionData.toByteArray(), that.actionData.toByteArray());
- }
-
- @Override
- public int hashCode() {
- int result = contentId.hashCode();
- result = 31 * result + actionData.hashCode();
- return result;
- }
-}
diff --git a/src/main/java/com/google/android/libraries/feed/api/internal/store/ActionPropertiesMutation.java b/src/main/java/com/google/android/libraries/feed/api/internal/store/ActionPropertiesMutation.java
deleted file mode 100644
index 97eb72b..0000000
--- a/src/main/java/com/google/android/libraries/feed/api/internal/store/ActionPropertiesMutation.java
+++ /dev/null
@@ -1,27 +0,0 @@
-// 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.api.internal.store;
-
-import com.google.android.libraries.feed.api.host.storage.CommitResult;
-import com.google.search.now.wire.feed.OpaqueActionDataProto.OpaqueActionData;
-
-/** Used to commit mutations to Action properties data within the {@link Store} */
-public interface ActionPropertiesMutation {
- /** Add a new Action properties mutation */
- ActionPropertiesMutation add(String contentId, OpaqueActionData actionData);
-
- /** Commit the current mutations */
- CommitResult commit();
-}
diff --git a/src/main/java/com/google/android/libraries/feed/api/internal/store/BUILD b/src/main/java/com/google/android/libraries/feed/api/internal/store/BUILD
index 857456b..0aa97de 100644
--- a/src/main/java/com/google/android/libraries/feed/api/internal/store/BUILD
+++ b/src/main/java/com/google/android/libraries/feed/api/internal/store/BUILD
@@ -12,7 +12,6 @@
"//src/main/java/com/google/android/libraries/feed/common/feedobservable",
"//src/main/java/com/google/android/libraries/feed/common/functional",
"//src/main/proto/com/google/android/libraries/feed/api/internal/proto:client_feed_java_proto_lite",
- "//src/main/proto/search/now/wire/feed:feed_java_proto_lite",
"@com_google_protobuf_javalite//:protobuf_java_lite",
"@maven//:com_android_support_support_annotations",
],
diff --git a/src/main/java/com/google/android/libraries/feed/api/internal/store/Store.java b/src/main/java/com/google/android/libraries/feed/api/internal/store/Store.java
index 240a733..3bb0b70 100644
--- a/src/main/java/com/google/android/libraries/feed/api/internal/store/Store.java
+++ b/src/main/java/com/google/android/libraries/feed/api/internal/store/Store.java
@@ -14,7 +14,6 @@
package com.google.android.libraries.feed.api.internal.store;
-import com.google.android.libraries.feed.api.internal.common.ActionPropertiesWithId;
import com.google.android.libraries.feed.api.internal.common.PayloadWithId;
import com.google.android.libraries.feed.api.internal.common.SemanticPropertiesWithId;
import com.google.android.libraries.feed.common.Result;
@@ -64,9 +63,6 @@
/** Gets all semantic properties objects associated with a given list of contentIds */
Result<List<SemanticPropertiesWithId>> getSemanticProperties(List<String> contentIds);
- /** Gets all action properties objects associated with a given list of contentIds */
- Result<List<ActionPropertiesWithId>> getActionProperties(List<String> contentIds);
-
/** Gets an set of ALL {@link UploadableStreamAction}. Note that this includes expired actions. */
Result<Set<StreamUploadableAction>> getAllUploadableActions();
@@ -101,9 +97,6 @@
/** Returns a semantic properties mutation used to modify the properties in the store */
SemanticPropertiesMutation editSemanticProperties();
- /** Returns a action properties mutation used to modify the properties in the store */
- ActionPropertiesMutation editActionProperties();
-
/** Returns an action mutation used to modify actions in the store */
LocalActionMutation editLocalActions();
diff --git a/src/main/java/com/google/android/libraries/feed/common/testing/ResponseBuilder.java b/src/main/java/com/google/android/libraries/feed/common/testing/ResponseBuilder.java
index fb28e5d..e800d5a 100644
--- a/src/main/java/com/google/android/libraries/feed/common/testing/ResponseBuilder.java
+++ b/src/main/java/com/google/android/libraries/feed/common/testing/ResponseBuilder.java
@@ -18,14 +18,12 @@
import com.google.search.now.ui.piet.PietProto.PietSharedState;
import com.google.search.now.ui.stream.StreamStructureProto.Content;
import com.google.search.now.ui.stream.StreamStructureProto.PietContent;
-import com.google.search.now.wire.feed.ActionPropertiesProto.ActionProperties;
import com.google.search.now.wire.feed.ContentIdProto.ContentId;
import com.google.search.now.wire.feed.DataOperationProto.DataOperation;
import com.google.search.now.wire.feed.DataOperationProto.DataOperation.Operation;
import com.google.search.now.wire.feed.FeatureProto.Feature;
import com.google.search.now.wire.feed.FeatureProto.Feature.RenderableUnit;
import com.google.search.now.wire.feed.FeedResponseProto.FeedResponse;
-import com.google.search.now.wire.feed.OpaqueActionDataProto.OpaqueActionData;
import com.google.search.now.wire.feed.PayloadMetadataProto.PayloadMetadata;
import com.google.search.now.wire.feed.ResponseProto.Response;
import com.google.search.now.wire.feed.SemanticPropertiesProto.SemanticProperties;
@@ -191,19 +189,6 @@
return this;
}
- public ResponseBuilder addCardWithActionData(ContentId contentId, OpaqueActionData actionData) {
- feedResponseBuilder.addDataOperation(
- DataOperation.newBuilder()
- .setOperation(Operation.UPDATE_OR_APPEND)
- .setFeature(Feature.newBuilder().setRenderableUnit(RenderableUnit.CARD))
- .setMetadata(
- PayloadMetadata.newBuilder()
- .setContentId(contentId)
- .setActionProperties(ActionProperties.newBuilder().setActionData(actionData))));
- wireProtocolInfo.featuresAdded.add(contentId);
- return this;
- }
-
public ResponseBuilder removeFeature(ContentId contentId, ContentId parentId) {
PayloadMetadata payloadMetadata = PayloadMetadata.newBuilder().setContentId(contentId).build();
Feature feature =
diff --git a/src/main/java/com/google/android/libraries/feed/feedactionreader/FeedActionReader.java b/src/main/java/com/google/android/libraries/feed/feedactionreader/FeedActionReader.java
index 902cd9c..f1a51a1 100644
--- a/src/main/java/com/google/android/libraries/feed/feedactionreader/FeedActionReader.java
+++ b/src/main/java/com/google/android/libraries/feed/feedactionreader/FeedActionReader.java
@@ -18,7 +18,6 @@
import com.google.android.libraries.feed.api.host.config.Configuration.ConfigKey;
import com.google.android.libraries.feed.api.host.logging.Task;
import com.google.android.libraries.feed.api.internal.actionmanager.ActionReader;
-import com.google.android.libraries.feed.api.internal.common.ActionPropertiesWithId;
import com.google.android.libraries.feed.api.internal.common.DismissActionWithSemanticProperties;
import com.google.android.libraries.feed.api.internal.common.SemanticPropertiesWithId;
import com.google.android.libraries.feed.api.internal.protocoladapter.ProtocolAdapter;
@@ -65,11 +64,6 @@
}
@Override
- public Result<List<ActionPropertiesWithId>> getActionProperties(List<String> contentIds) {
- return store.getActionProperties(contentIds);
- }
-
- @Override
public Result<List<DismissActionWithSemanticProperties>>
getDismissActionsWithSemanticProperties() {
Result<List<StreamLocalAction>> dismissActionsResult = store.getAllDismissLocalActions();
diff --git a/src/main/java/com/google/android/libraries/feed/feedprotocoladapter/FeedProtocolAdapter.java b/src/main/java/com/google/android/libraries/feed/feedprotocoladapter/FeedProtocolAdapter.java
index 5f45e79..2cd21f7 100644
--- a/src/main/java/com/google/android/libraries/feed/feedprotocoladapter/FeedProtocolAdapter.java
+++ b/src/main/java/com/google/android/libraries/feed/feedprotocoladapter/FeedProtocolAdapter.java
@@ -42,7 +42,6 @@
import com.google.search.now.wire.feed.FeatureProto.Feature.RenderableUnit;
import com.google.search.now.wire.feed.FeedResponseProto.FeedResponse;
import com.google.search.now.wire.feed.FeedResponseProto.FeedResponseMetadata;
-import com.google.search.now.wire.feed.OpaqueActionDataProto.OpaqueActionData;
import com.google.search.now.wire.feed.PietSharedStateItemProto.PietSharedStateItem;
import com.google.search.now.wire.feed.ResponseProto.Response;
import com.google.search.now.wire.feed.TokenProto.Token;
@@ -188,12 +187,6 @@
operation.getMetadata().getSemanticProperties().getSemanticPropertiesData())
.build());
}
- if (operation.getMetadata().getActionProperties().hasActionData()) {
- streamDataOperations.add(
- createActionDataOperation(
- contentId, operation.getMetadata().getActionProperties().getActionData())
- .build());
- }
}
for (ContentId requiredContentId : requiredContentIds) {
@@ -330,16 +323,6 @@
.setOperation(Operation.UPDATE_OR_APPEND));
}
- private StreamDataOperation.Builder createActionDataOperation(
- String contentId, OpaqueActionData actionData) {
- return StreamDataOperation.newBuilder()
- .setStreamPayload(StreamPayload.newBuilder().setActionData(actionData))
- .setStreamStructure(
- StreamStructure.newBuilder()
- .setContentId(contentId)
- .setOperation(Operation.UPDATE_OR_APPEND));
- }
-
private String createContentId(ContentId contentId) {
// Using String concat for performance reasons. This is called a lot for large feed responses.
return contentId.getTable()
diff --git a/src/main/java/com/google/android/libraries/feed/feedrequestmanager/FeedActionUploadRequestManager.java b/src/main/java/com/google/android/libraries/feed/feedrequestmanager/FeedActionUploadRequestManager.java
index 8a17b90..0a035fe 100644
--- a/src/main/java/com/google/android/libraries/feed/feedrequestmanager/FeedActionUploadRequestManager.java
+++ b/src/main/java/com/google/android/libraries/feed/feedrequestmanager/FeedActionUploadRequestManager.java
@@ -21,7 +21,6 @@
import com.google.android.libraries.feed.api.host.network.HttpRequest.HttpMethod;
import com.google.android.libraries.feed.api.host.network.NetworkClient;
import com.google.android.libraries.feed.api.host.storage.CommitResult;
-import com.google.android.libraries.feed.api.internal.actionmanager.ActionReader;
import com.google.android.libraries.feed.api.internal.common.ThreadUtils;
import com.google.android.libraries.feed.api.internal.protocoladapter.ProtocolAdapter;
import com.google.android.libraries.feed.api.internal.requestmanager.ActionUploadRequestManager;
@@ -54,7 +53,6 @@
private final FeedExtensionRegistry extensionRegistry;
private final TaskQueue taskQueue;
private final ThreadUtils threadUtils;
- private final ActionReader actionReader;
private final Store store;
private final Clock clock;
private final long maxActionUploadAttempts;
@@ -71,7 +69,6 @@
FeedExtensionRegistry extensionRegistry,
TaskQueue taskQueue,
ThreadUtils threadUtils,
- ActionReader actionReader,
Store store,
Clock clock) {
this.configuration = configuration;
@@ -80,7 +77,6 @@
this.extensionRegistry = extensionRegistry;
this.taskQueue = taskQueue;
this.threadUtils = threadUtils;
- this.actionReader = actionReader;
this.store = store;
this.clock = clock;
maxBytesPerRequest =
@@ -118,7 +114,7 @@
return;
}
UploadableActionsRequestBuilder requestBuilder =
- new UploadableActionsRequestBuilder(actionReader, protocolAdapter);
+ new UploadableActionsRequestBuilder(protocolAdapter);
int actionPayloadBytes = 0;
Set<StreamUploadableAction> actionsToUpload = new HashSet<>();
for (StreamUploadableAction action : actions) {
diff --git a/src/main/java/com/google/android/libraries/feed/feedrequestmanager/UploadableActionsRequestBuilder.java b/src/main/java/com/google/android/libraries/feed/feedrequestmanager/UploadableActionsRequestBuilder.java
index eae7f88..cb46e29 100644
--- a/src/main/java/com/google/android/libraries/feed/feedrequestmanager/UploadableActionsRequestBuilder.java
+++ b/src/main/java/com/google/android/libraries/feed/feedrequestmanager/UploadableActionsRequestBuilder.java
@@ -14,33 +14,24 @@
package com.google.android.libraries.feed.feedrequestmanager;
-import com.google.android.libraries.feed.api.internal.actionmanager.ActionReader;
-import com.google.android.libraries.feed.api.internal.common.ActionPropertiesWithId;
import com.google.android.libraries.feed.api.internal.protocoladapter.ProtocolAdapter;
import com.google.android.libraries.feed.common.Result;
import com.google.search.now.feed.client.StreamDataProto.StreamUploadableAction;
import com.google.search.now.wire.feed.ActionPayloadProto.ActionPayload;
-import com.google.search.now.wire.feed.ActionPropertiesProto.ActionProperties;
import com.google.search.now.wire.feed.ActionRequestProto.ActionRequest;
import com.google.search.now.wire.feed.ConsistencyTokenProto.ConsistencyToken;
import com.google.search.now.wire.feed.ContentIdProto.ContentId;
import com.google.search.now.wire.feed.FeedActionProto.FeedAction;
import com.google.search.now.wire.feed.FeedActionRequestProto.FeedActionRequest;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
import java.util.Set;
// A class that creates an ActionsRequest for uploading actions
final class UploadableActionsRequestBuilder {
private Set<StreamUploadableAction> uploadableActions;
private ConsistencyToken token;
- private final ActionReader actionReader;
private final ProtocolAdapter protocolAdapter;
- UploadableActionsRequestBuilder(ActionReader actionReader, ProtocolAdapter protocolAdapter) {
- this.actionReader = actionReader;
+ UploadableActionsRequestBuilder(ProtocolAdapter protocolAdapter) {
this.protocolAdapter = protocolAdapter;
}
@@ -64,17 +55,6 @@
.setRequestVersion(ActionRequest.RequestVersion.FEED_UPLOAD_ACTION);
FeedActionRequest.Builder feedActionRequestBuilder = FeedActionRequest.newBuilder();
if (uploadableActions != null) {
- Map<String, ActionProperties> actionPropertyMap = new HashMap<>();
- List<String> contentIds = new ArrayList<>(uploadableActions.size());
- for (StreamUploadableAction action : uploadableActions) {
- contentIds.add(action.getFeatureContentId());
- }
- List<ActionPropertiesWithId> actionProperties = getActionPropertiesForIds(contentIds);
- for (ActionPropertiesWithId property : actionProperties) {
- actionPropertyMap.put(
- property.contentId,
- ActionProperties.newBuilder().setActionData(property.actionData).build());
- }
for (StreamUploadableAction action : uploadableActions) {
String contentId = action.getFeatureContentId();
ActionPayload payload = action.getPayload();
@@ -85,10 +65,6 @@
FeedAction.ClientData.newBuilder()
.setTimestampSeconds(action.getTimestampSeconds())
.build());
- ActionProperties properties = actionPropertyMap.get(contentId);
- if (properties != null) {
- feedAction.setActionProperties(properties);
- }
Result<ContentId> contentIdResult = protocolAdapter.getWireContentId(contentId);
if (contentIdResult.isSuccessful()) {
feedAction.setContentId(contentIdResult.getValue());
@@ -104,12 +80,4 @@
return requestBuilder.build();
}
-
- private List<ActionPropertiesWithId> getActionPropertiesForIds(List<String> ids) {
- Result<List<ActionPropertiesWithId>> actionResult = actionReader.getActionProperties(ids);
- if (actionResult.isSuccessful()) {
- return actionResult.getValue();
- }
- return new ArrayList<>();
- }
}
diff --git a/src/main/java/com/google/android/libraries/feed/feedsessionmanager/internal/SessionManagerMutation.java b/src/main/java/com/google/android/libraries/feed/feedsessionmanager/internal/SessionManagerMutation.java
index 905c696..d6777be 100644
--- a/src/main/java/com/google/android/libraries/feed/feedsessionmanager/internal/SessionManagerMutation.java
+++ b/src/main/java/com/google/android/libraries/feed/feedsessionmanager/internal/SessionManagerMutation.java
@@ -27,7 +27,6 @@
import com.google.android.libraries.feed.api.internal.modelprovider.ModelError.ErrorType;
import com.google.android.libraries.feed.api.internal.modelprovider.ModelProvider;
import com.google.android.libraries.feed.api.internal.modelprovider.ModelProvider.State;
-import com.google.android.libraries.feed.api.internal.store.ActionPropertiesMutation;
import com.google.android.libraries.feed.api.internal.store.ContentMutation;
import com.google.android.libraries.feed.api.internal.store.SemanticPropertiesMutation;
import com.google.android.libraries.feed.api.internal.store.Store;
@@ -76,7 +75,6 @@
private int errorCount = 0;
private int contentCommitErrorCount = 0;
private int semanticPropertiesCommitErrorCount = 0;
- private int actionPropertiesCommitErrorCount = 0;
/** Listens for errors which need to be reported to a ModelProvider. */
public interface ModelErrorObserver {
@@ -137,10 +135,6 @@
.forKey("semanticPropertiesCommitErrorCount")
.value(semanticPropertiesCommitErrorCount)
.compactPrevious();
- dumper
- .forKey("actionPropertiesCommitErrorCount")
- .value(actionPropertiesCommitErrorCount)
- .compactPrevious();
}
public static boolean validDataOperation(StreamDataOperation dataOperation) {
@@ -301,7 +295,6 @@
contentCache.startMutation();
ContentMutation contentMutation = store.editContent();
SemanticPropertiesMutation semanticPropertiesMutation = store.editSemanticProperties();
- ActionPropertiesMutation actionPropertiesMutation = store.editActionProperties();
for (StreamDataOperation dataOperation : model.streamDataOperations) {
Operation operation = dataOperation.getStreamStructure().getOperation();
if (operation == Operation.CLEAR_ALL) {
@@ -327,8 +320,6 @@
} else if (dataOperation.getStreamPayload().hasSemanticData()) {
semanticPropertiesMutation.add(
contentId, dataOperation.getStreamPayload().getSemanticData());
- } else if (payload.hasActionData()) {
- actionPropertiesMutation.add(contentId, payload.getActionData());
} else {
Logger.e(TAG, "Unsupported UPDATE_OR_APPEND payload");
}
@@ -362,10 +353,6 @@
semanticPropertiesCommitErrorCount++;
Logger.e(TAG, "semanticPropertiesMutation failed");
}
- if (actionPropertiesMutation.commit().getResult() == CommitResult.Result.FAILURE) {
- actionPropertiesCommitErrorCount++;
- Logger.e(TAG, "actionPropertiesMutation failed");
- }
contentCache.finishMutation();
});
timeTracker.stop("", "contentUpdate", "items", model.streamDataOperations.size());
diff --git a/src/main/java/com/google/android/libraries/feed/feedstore/FeedStore.java b/src/main/java/com/google/android/libraries/feed/feedstore/FeedStore.java
index aa5b444..9574229 100644
--- a/src/main/java/com/google/android/libraries/feed/feedstore/FeedStore.java
+++ b/src/main/java/com/google/android/libraries/feed/feedstore/FeedStore.java
@@ -20,12 +20,10 @@
import com.google.android.libraries.feed.api.host.storage.CommitResult;
import com.google.android.libraries.feed.api.host.storage.ContentStorageDirect;
import com.google.android.libraries.feed.api.host.storage.JournalStorageDirect;
-import com.google.android.libraries.feed.api.internal.common.ActionPropertiesWithId;
import com.google.android.libraries.feed.api.internal.common.PayloadWithId;
import com.google.android.libraries.feed.api.internal.common.SemanticPropertiesWithId;
import com.google.android.libraries.feed.api.internal.common.ThreadUtils;
import com.google.android.libraries.feed.api.internal.lifecycle.Resettable;
-import com.google.android.libraries.feed.api.internal.store.ActionPropertiesMutation;
import com.google.android.libraries.feed.api.internal.store.ContentMutation;
import com.google.android.libraries.feed.api.internal.store.LocalActionMutation;
import com.google.android.libraries.feed.api.internal.store.SemanticPropertiesMutation;
@@ -144,11 +142,6 @@
}
@Override
- public Result<List<ActionPropertiesWithId>> getActionProperties(List<String> contentIds) {
- return delegate.getActionProperties(contentIds);
- }
-
- @Override
public Result<List<StreamLocalAction>> getAllDismissLocalActions() {
return delegate.getAllDismissLocalActions();
}
@@ -189,11 +182,6 @@
}
@Override
- public ActionPropertiesMutation editActionProperties() {
- return delegate.editActionProperties();
- }
-
- @Override
public LocalActionMutation editLocalActions() {
return delegate.editLocalActions();
}
diff --git a/src/main/java/com/google/android/libraries/feed/feedstore/internal/BUILD b/src/main/java/com/google/android/libraries/feed/feedstore/internal/BUILD
index 139db66..c3d4749 100644
--- a/src/main/java/com/google/android/libraries/feed/feedstore/internal/BUILD
+++ b/src/main/java/com/google/android/libraries/feed/feedstore/internal/BUILD
@@ -16,7 +16,6 @@
"//src/main/java/com/google/android/libraries/feed/common/protoextensions",
"//src/main/java/com/google/android/libraries/feed/common/time",
"//src/main/proto/com/google/android/libraries/feed/api/internal/proto:client_feed_java_proto_lite",
- "//src/main/proto/search/now/wire/feed:feed_java_proto_lite",
"@com_google_code_findbugs_jsr305//jar",
"@com_google_protobuf_javalite//:protobuf_java_lite",
],
diff --git a/src/main/java/com/google/android/libraries/feed/feedstore/internal/ContentGc.java b/src/main/java/com/google/android/libraries/feed/feedstore/internal/ContentGc.java
index 75ab2c4..425e9d1 100644
--- a/src/main/java/com/google/android/libraries/feed/feedstore/internal/ContentGc.java
+++ b/src/main/java/com/google/android/libraries/feed/feedstore/internal/ContentGc.java
@@ -14,9 +14,9 @@
package com.google.android.libraries.feed.feedstore.internal;
-import static com.google.android.libraries.feed.feedstore.internal.FeedStoreConstants.ACTION_PROPERTIES_PREFIX;
import static com.google.android.libraries.feed.feedstore.internal.FeedStoreConstants.SEMANTIC_PROPERTIES_PREFIX;
import static com.google.android.libraries.feed.feedstore.internal.FeedStoreConstants.SHARED_STATE_PREFIX;
+import static com.google.android.libraries.feed.feedstore.internal.FeedStoreConstants.UPLOADABLE_ACTION_PREFIX;
import com.google.android.libraries.feed.api.host.storage.CommitResult;
import com.google.android.libraries.feed.api.host.storage.ContentMutation;
@@ -27,7 +27,6 @@
import com.google.android.libraries.feed.common.time.TimingUtils;
import com.google.android.libraries.feed.common.time.TimingUtils.ElapsedTimeTracker;
import com.google.search.now.feed.client.StreamDataProto.StreamLocalAction;
-import com.google.search.now.feed.client.StreamDataProto.StreamUploadableAction;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
@@ -40,7 +39,6 @@
private final Supplier<Set<String>> accessibleContentSupplier;
private final Set<String> reservedContentIds;
private final Supplier<Set<StreamLocalAction>> actionsSupplier;
- private final Supplier<Set<StreamUploadableAction>> uploadableActionsSupplier;
private final ContentStorageDirect contentStorageDirect;
private final TimingUtils timingUtils;
private final boolean keepSharedStates;
@@ -49,14 +47,12 @@
Supplier<Set<String>> accessibleContentSupplier,
Set<String> reservedContentIds,
Supplier<Set<StreamLocalAction>> actionsSupplier,
- Supplier<Set<StreamUploadableAction>> uploadableActionsSupplier,
ContentStorageDirect contentStorageDirect,
TimingUtils timingUtils,
boolean keepSharedStates) {
this.accessibleContentSupplier = accessibleContentSupplier;
this.reservedContentIds = reservedContentIds;
this.actionsSupplier = actionsSupplier;
- this.uploadableActionsSupplier = uploadableActionsSupplier;
this.contentStorageDirect = contentStorageDirect;
this.timingUtils = timingUtils;
this.keepSharedStates = keepSharedStates;
@@ -72,8 +68,7 @@
population.removeAll(reservedContentIds);
population.removeAll(getAccessibleSemanticProperties(accessibleContent));
population.removeAll(getLocalActionSemanticProperties(getLocalActions()));
- population.removeAll(getAccessibleActionProperties(accessibleContent));
- population.removeAll(getUploadableActionProperties(getUploadableActions()));
+ filterUploadableActions(population);
if (keepSharedStates) {
filterSharedStates(population);
} else {
@@ -100,16 +95,24 @@
}
private void filterSharedStates(Set<String> population) {
+ filterPrefix(population, SHARED_STATE_PREFIX);
+ }
+
+ private void filterUploadableActions(Set<String> population) {
+ filterPrefix(population, UPLOADABLE_ACTION_PREFIX);
+ }
+
+ private void filterPrefix(Set<String> population, String prefix) {
int size = population.size();
ElapsedTimeTracker tracker = timingUtils.getElapsedTimeTracker(TAG);
Iterator<String> i = population.iterator();
while (i.hasNext()) {
String key = i.next();
- if (key.startsWith(SHARED_STATE_PREFIX)) {
+ if (key.startsWith(prefix)) {
i.remove();
}
}
- tracker.stop("", "filterSharedStates", population.size() - size);
+ tracker.stop("", "filterPrefix " + prefix, population.size() - size);
}
private Set<String> getAccessible() {
@@ -126,13 +129,6 @@
return actions;
}
- private Set<StreamUploadableAction> getUploadableActions() {
- ElapsedTimeTracker tracker = timingUtils.getElapsedTimeTracker(TAG);
- Set<StreamUploadableAction> actions = uploadableActionsSupplier.get();
- tracker.stop("", "geUploadableActions", "actionCount", actions.size());
- return actions;
- }
-
private Set<String> getPopulation() {
ElapsedTimeTracker tracker = timingUtils.getElapsedTimeTracker(TAG);
Set<String> population = new HashSet<>();
@@ -146,21 +142,6 @@
return population;
}
- private Set<String> getAccessibleActionProperties(Set<String> accessibleContent) {
- ElapsedTimeTracker tracker = timingUtils.getElapsedTimeTracker(TAG);
- Set<String> actionPropertiesKeys = new HashSet<>();
- for (String accessibleContentId : accessibleContent) {
- String actionPropertyKey = ACTION_PROPERTIES_PREFIX + accessibleContentId;
- actionPropertiesKeys.add(actionPropertyKey);
- }
- tracker.stop(
- "",
- "getAccessibleActionProperties",
- "accessibleActionPropertiesSize",
- actionPropertiesKeys.size());
- return actionPropertiesKeys;
- }
-
private Set<String> getAccessibleSemanticProperties(Set<String> accessibleContent) {
ElapsedTimeTracker tracker = timingUtils.getElapsedTimeTracker(TAG);
Set<String> semanticPropertiesKeys = new HashSet<>();
@@ -202,19 +183,4 @@
semanticPropertiesKeys.size());
return semanticPropertiesKeys;
}
-
- private Set<String> getUploadableActionProperties(Set<StreamUploadableAction> actions) {
- ElapsedTimeTracker tracker = timingUtils.getElapsedTimeTracker(TAG);
- Set<String> actionPropertiesKeys = new HashSet<>();
- for (StreamUploadableAction action : actions) {
- String actionPropertyKey = ACTION_PROPERTIES_PREFIX + action.getFeatureContentId();
- actionPropertiesKeys.add(actionPropertyKey);
- }
- tracker.stop(
- "",
- "getLocalActionActionProperties",
- "actionActopmPropertiesSize",
- actionPropertiesKeys.size());
- return actionPropertiesKeys;
- }
}
diff --git a/src/main/java/com/google/android/libraries/feed/feedstore/internal/EphemeralFeedStore.java b/src/main/java/com/google/android/libraries/feed/feedstore/internal/EphemeralFeedStore.java
index 80b70e4..2771e20 100644
--- a/src/main/java/com/google/android/libraries/feed/feedstore/internal/EphemeralFeedStore.java
+++ b/src/main/java/com/google/android/libraries/feed/feedstore/internal/EphemeralFeedStore.java
@@ -15,10 +15,8 @@
package com.google.android.libraries.feed.feedstore.internal;
import com.google.android.libraries.feed.api.host.storage.CommitResult;
-import com.google.android.libraries.feed.api.internal.common.ActionPropertiesWithId;
import com.google.android.libraries.feed.api.internal.common.PayloadWithId;
import com.google.android.libraries.feed.api.internal.common.SemanticPropertiesWithId;
-import com.google.android.libraries.feed.api.internal.store.ActionPropertiesMutation;
import com.google.android.libraries.feed.api.internal.store.ContentMutation;
import com.google.android.libraries.feed.api.internal.store.LocalActionMutation;
import com.google.android.libraries.feed.api.internal.store.LocalActionMutation.ActionType;
@@ -36,7 +34,6 @@
import com.google.search.now.feed.client.StreamDataProto.StreamSharedState;
import com.google.search.now.feed.client.StreamDataProto.StreamStructure;
import com.google.search.now.feed.client.StreamDataProto.StreamUploadableAction;
-import com.google.search.now.wire.feed.OpaqueActionDataProto.OpaqueActionData;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
@@ -59,7 +56,6 @@
private final Map<String, PayloadWithId> payloadWithIdMap = new HashMap<>();
private final Map<String, StreamSharedState> sharedStateMap = new HashMap<>();
private final Map<String, ByteString> semanticPropertiesMap = new HashMap<>();
- private final Map<String, OpaqueActionData> actionPropertiesMap = new HashMap<>();
private final Map<Integer, List<StreamLocalAction>> actionsMap = new HashMap<>();
private final Map<String, Set<StreamUploadableAction>> uploadableActionsMap = new HashMap<>();
private final Map<String, List<StreamStructure>> sessionsMap = new HashMap<>();
@@ -109,18 +105,6 @@
}
@Override
- public Result<List<ActionPropertiesWithId>> getActionProperties(List<String> contentIds) {
- List<ActionPropertiesWithId> actionPropertiesWithIds = new ArrayList<>(contentIds.size());
- for (String contentId : contentIds) {
- OpaqueActionData actionProperties = actionPropertiesMap.get(contentId);
- if (actionProperties != null) {
- actionPropertiesWithIds.add(new ActionPropertiesWithId(contentId, actionProperties));
- }
- }
- return Result.success(actionPropertiesWithIds);
- }
-
- @Override
public Result<List<SemanticPropertiesWithId>> getSemanticProperties(List<String> contentIds) {
List<SemanticPropertiesWithId> semanticPropertiesWithIds = new ArrayList<>(contentIds.size());
for (String contentId : contentIds) {
@@ -232,19 +216,6 @@
}
@Override
- public ActionPropertiesMutation editActionProperties() {
- return new FeedActionPropertiesMutation(this::commitActionPropertiesMutation);
- }
-
- private CommitResult commitActionPropertiesMutation(
- Map<String, OpaqueActionData> actionPropertiesMap) {
- ElapsedTimeTracker tracker = timingUtils.getElapsedTimeTracker(TAG);
- this.actionPropertiesMap.putAll(actionPropertiesMap);
- tracker.stop("", "commitActionPropertiesMutation", "mutations", actionPropertiesMap.size());
- return CommitResult.SUCCESS;
- }
-
- @Override
public UploadableActionMutation editUploadableActions() {
return new FeedUploadableActionMutation(this::commitUploadableActionMutation);
}
@@ -342,7 +313,6 @@
payloadWithIdMap.clear();
actionsMap.clear();
semanticPropertiesMap.clear();
- actionPropertiesMap.clear();
sessionsMap.clear();
sharedStateMap.clear();
return true;
diff --git a/src/main/java/com/google/android/libraries/feed/feedstore/internal/FeedActionPropertiesMutation.java b/src/main/java/com/google/android/libraries/feed/feedstore/internal/FeedActionPropertiesMutation.java
deleted file mode 100644
index 6bcd772..0000000
--- a/src/main/java/com/google/android/libraries/feed/feedstore/internal/FeedActionPropertiesMutation.java
+++ /dev/null
@@ -1,43 +0,0 @@
-// 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.feedstore.internal;
-
-import com.google.android.libraries.feed.api.host.storage.CommitResult;
-import com.google.android.libraries.feed.api.internal.store.ActionPropertiesMutation;
-import com.google.android.libraries.feed.common.functional.Committer;
-import com.google.search.now.wire.feed.OpaqueActionDataProto.OpaqueActionData;
-import java.util.HashMap;
-import java.util.Map;
-
-/** Implementation of the {@link ActionPropertiesMutation}. */
-public final class FeedActionPropertiesMutation implements ActionPropertiesMutation {
- private final Map<String, OpaqueActionData> actionPropertiesMap = new HashMap<>();
- private final Committer<CommitResult, Map<String, OpaqueActionData>> committer;
-
- FeedActionPropertiesMutation(Committer<CommitResult, Map<String, OpaqueActionData>> committer) {
- this.committer = committer;
- }
-
- @Override
- public ActionPropertiesMutation add(String contentId, OpaqueActionData actionData) {
- actionPropertiesMap.put(contentId, actionData);
- return this;
- }
-
- @Override
- public CommitResult commit() {
- return committer.commit(actionPropertiesMap);
- }
-}
diff --git a/src/main/java/com/google/android/libraries/feed/feedstore/internal/FeedStoreConstants.java b/src/main/java/com/google/android/libraries/feed/feedstore/internal/FeedStoreConstants.java
index b4962fa..d5b37d3 100644
--- a/src/main/java/com/google/android/libraries/feed/feedstore/internal/FeedStoreConstants.java
+++ b/src/main/java/com/google/android/libraries/feed/feedstore/internal/FeedStoreConstants.java
@@ -34,7 +34,4 @@
/** The name of the journal used to store dismiss actions */
public static final String DISMISS_ACTION_JOURNAL = "action-dismiss";
-
- /** Key used to prefix Feed action properties keys in {@link ContentStorage} */
- public static final String ACTION_PROPERTIES_PREFIX = "ap::";
}
diff --git a/src/main/java/com/google/android/libraries/feed/feedstore/internal/PersistentFeedStore.java b/src/main/java/com/google/android/libraries/feed/feedstore/internal/PersistentFeedStore.java
index 5faa658..b167147 100644
--- a/src/main/java/com/google/android/libraries/feed/feedstore/internal/PersistentFeedStore.java
+++ b/src/main/java/com/google/android/libraries/feed/feedstore/internal/PersistentFeedStore.java
@@ -14,7 +14,6 @@
package com.google.android.libraries.feed.feedstore.internal;
-import static com.google.android.libraries.feed.feedstore.internal.FeedStoreConstants.ACTION_PROPERTIES_PREFIX;
import static com.google.android.libraries.feed.feedstore.internal.FeedStoreConstants.DISMISS_ACTION_JOURNAL;
import static com.google.android.libraries.feed.feedstore.internal.FeedStoreConstants.SEMANTIC_PROPERTIES_PREFIX;
import static com.google.android.libraries.feed.feedstore.internal.FeedStoreConstants.SHARED_STATE_PREFIX;
@@ -28,11 +27,9 @@
import com.google.android.libraries.feed.api.host.storage.JournalMutation;
import com.google.android.libraries.feed.api.host.storage.JournalStorage;
import com.google.android.libraries.feed.api.host.storage.JournalStorageDirect;
-import com.google.android.libraries.feed.api.internal.common.ActionPropertiesWithId;
import com.google.android.libraries.feed.api.internal.common.PayloadWithId;
import com.google.android.libraries.feed.api.internal.common.SemanticPropertiesWithId;
import com.google.android.libraries.feed.api.internal.common.ThreadUtils;
-import com.google.android.libraries.feed.api.internal.store.ActionPropertiesMutation;
import com.google.android.libraries.feed.api.internal.store.ContentMutation;
import com.google.android.libraries.feed.api.internal.store.LocalActionMutation;
import com.google.android.libraries.feed.api.internal.store.LocalActionMutation.ActionType;
@@ -59,7 +56,6 @@
import com.google.search.now.feed.client.StreamDataProto.StreamSharedState;
import com.google.search.now.feed.client.StreamDataProto.StreamStructure;
import com.google.search.now.feed.client.StreamDataProto.StreamUploadableAction;
-import com.google.search.now.wire.feed.OpaqueActionDataProto.OpaqueActionData;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -249,43 +245,6 @@
}
@Override
- public Result<List<ActionPropertiesWithId>> getActionProperties(List<String> contentIds) {
- threadUtils.checkNotMainThread();
- ElapsedTimeTracker tracker = timingUtils.getElapsedTimeTracker(TAG);
- List<ActionPropertiesWithId> actionPropertiesWithIds = new ArrayList<>(contentIds.size());
- List<String> contentIdKeys = new ArrayList<>(contentIds.size());
- for (String contentId : contentIds) {
- contentIdKeys.add(ACTION_PROPERTIES_PREFIX + contentId);
- }
- Result<Map<String, byte[]>> mapResult = contentStorageDirect.get(contentIdKeys);
-
- if (mapResult.isSuccessful()) {
- for (Map.Entry<String, byte[]> entry : mapResult.getValue().entrySet()) {
- String contentId = entry.getKey().replace(ACTION_PROPERTIES_PREFIX, "");
- if (contentIds.contains(contentId)) {
- try {
- actionPropertiesWithIds.add(
- new ActionPropertiesWithId(
- contentId, OpaqueActionData.parseFrom(entry.getValue())));
- } catch (InvalidProtocolBufferException e) {
- Logger.e(
- TAG,
- e,
- "Error parsing OpaqueActionData for bytes: %s",
- Base64.encodeToString(entry.getValue(), Base64.DEFAULT));
- }
- }
- }
- } else {
- Logger.e(TAG, "Error fetching action properties for content ids %s", contentIds);
- tracker.stop("getActionProperties failed", contentIds);
- }
-
- tracker.stop("task", "getActionProperties", "size", actionPropertiesWithIds.size());
- return Result.success(actionPropertiesWithIds);
- }
-
- @Override
public Result<List<StreamLocalAction>> getAllDismissLocalActions() {
threadUtils.checkNotMainThread();
ElapsedTimeTracker tracker = timingUtils.getElapsedTimeTracker(TAG);
@@ -394,12 +353,6 @@
}
@Override
- public ActionPropertiesMutation editActionProperties() {
- threadUtils.checkNotMainThread();
- return new FeedActionPropertiesMutation(this::commitActionPropertiesMutation);
- }
-
- @Override
public LocalActionMutation editLocalActions() {
threadUtils.checkNotMainThread();
return new FeedLocalActionMutation(this::commitLocalActionMutation);
@@ -427,24 +380,11 @@
return new HashSet<>(dismissActionsResult.getValue());
}
};
- Supplier<Set<StreamUploadableAction>> uploadableActionSupplier =
- () -> {
- Result<Set<StreamUploadableAction>> uploadableActionsResult = getAllUploadableActions();
-
- if (!uploadableActionsResult.isSuccessful()) {
- // TODO: clean up error condition
- Logger.e(TAG, "Error retrieving uploadable actions for content garbage collection");
- return Collections.emptySet();
- } else {
- return uploadableActionsResult.getValue();
- }
- };
return new ContentGc(
accessibleContent,
reservedContentIds,
dismissActionSupplier,
- uploadableActionSupplier,
contentStorageDirect,
timingUtils,
keepSharedStates)
@@ -496,20 +436,6 @@
return commitResult;
}
- private CommitResult commitActionPropertiesMutation(
- Map<String, OpaqueActionData> actionPropertiesMap) {
- threadUtils.checkNotMainThread();
- ElapsedTimeTracker tracker = timingUtils.getElapsedTimeTracker(TAG);
- Builder mutationBuilder = new Builder();
- for (Map.Entry<String, OpaqueActionData> entry : actionPropertiesMap.entrySet()) {
- mutationBuilder.upsert(
- ACTION_PROPERTIES_PREFIX + entry.getKey(), entry.getValue().toByteArray());
- }
- CommitResult commitResult = contentStorageDirect.commit(mutationBuilder.build());
- tracker.stop("task", "commitActionPropertiesMutation", "mutations", actionPropertiesMap.size());
- return commitResult;
- }
-
private Boolean commitSessionMutation(String sessionId, List<StreamStructure> streamStructures) {
threadUtils.checkNotMainThread();
ElapsedTimeTracker tracker = timingUtils.getElapsedTimeTracker(TAG);
diff --git a/src/main/java/com/google/android/libraries/feed/feedstore/testing/AbstractClearableFeedStoreTest.java b/src/main/java/com/google/android/libraries/feed/feedstore/testing/AbstractClearableFeedStoreTest.java
index a95abe2..a027cd1 100644
--- a/src/main/java/com/google/android/libraries/feed/feedstore/testing/AbstractClearableFeedStoreTest.java
+++ b/src/main/java/com/google/android/libraries/feed/feedstore/testing/AbstractClearableFeedStoreTest.java
@@ -17,7 +17,6 @@
import static com.google.common.truth.Truth.assertThat;
import com.google.android.libraries.feed.api.host.storage.CommitResult;
-import com.google.android.libraries.feed.api.internal.common.ActionPropertiesWithId;
import com.google.android.libraries.feed.api.internal.common.PayloadWithId;
import com.google.android.libraries.feed.api.internal.common.SemanticPropertiesWithId;
import com.google.android.libraries.feed.api.internal.store.LocalActionMutation.ActionType;
@@ -30,8 +29,6 @@
import com.google.search.now.feed.client.StreamDataProto.StreamPayload;
import com.google.search.now.feed.client.StreamDataProto.StreamSharedState;
import com.google.search.now.feed.client.StreamDataProto.StreamStructure;
-import com.google.search.now.wire.feed.OpaqueActionDataForTestProto.OpaqueActionDataForTest;
-import com.google.search.now.wire.feed.OpaqueActionDataProto.OpaqueActionData;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -62,18 +59,6 @@
.build();
protected static final byte[] SEMANTIC_PROPERTIES = new byte[] {14, 23, 54, 7};
protected static final byte[] SEMANTIC_PROPERTIES_2 = new byte[] {12, 24, 18, 9};
- protected static final OpaqueActionData ACTION_PROPERTIES =
- OpaqueActionData.newBuilder()
- .setExtension(
- OpaqueActionDataForTest.opaqueActionDataForTestExtension,
- OpaqueActionDataForTest.newBuilder().setId(CONTENT_ID).build())
- .build();
- protected static final OpaqueActionData ACTION_PROPERTIES_2 =
- OpaqueActionData.newBuilder()
- .setExtension(
- OpaqueActionDataForTest.opaqueActionDataForTestExtension,
- OpaqueActionDataForTest.newBuilder().setId(CONTENT_ID_2).build())
- .build();
@Test
public void clearAll() {
@@ -97,20 +82,6 @@
assertThat(payloadsResult.isSuccessful()).isTrue();
assertThat(payloadsResult.getValue()).hasSize(2);
- // Action properties
- commitResult =
- store
- .editActionProperties()
- .add(CONTENT_ID, ACTION_PROPERTIES)
- .add(CONTENT_ID_2, ACTION_PROPERTIES_2)
- .commit();
- assertThat(commitResult).isEqualTo(CommitResult.SUCCESS);
-
- Result<List<ActionPropertiesWithId>> actionPropertiesResult =
- store.getActionProperties(Arrays.asList(CONTENT_ID, CONTENT_ID_2));
- assertThat(actionPropertiesResult.isSuccessful()).isTrue();
- assertThat(actionPropertiesResult.getValue()).hasSize(2);
-
// Semantic properties
commitResult =
store
@@ -189,11 +160,6 @@
assertThat(semanticPropertiesResult.isSuccessful()).isTrue();
assertThat(semanticPropertiesResult.getValue()).hasSize(0);
- // Action properties (should not be cleared)
- actionPropertiesResult = store.getActionProperties(Arrays.asList(CONTENT_ID, CONTENT_ID_2));
- assertThat(actionPropertiesResult.isSuccessful()).isTrue();
- assertThat(actionPropertiesResult.getValue()).isEmpty();
-
// Shared state
sharedStatesResult = store.getSharedStates();
assertThat(sharedStatesResult.isSuccessful()).isTrue();
diff --git a/src/main/java/com/google/android/libraries/feed/feedstore/testing/AbstractFeedStoreTest.java b/src/main/java/com/google/android/libraries/feed/feedstore/testing/AbstractFeedStoreTest.java
index 51db734..330c226 100644
--- a/src/main/java/com/google/android/libraries/feed/feedstore/testing/AbstractFeedStoreTest.java
+++ b/src/main/java/com/google/android/libraries/feed/feedstore/testing/AbstractFeedStoreTest.java
@@ -17,7 +17,6 @@
import static com.google.common.truth.Truth.assertThat;
import com.google.android.libraries.feed.api.host.storage.CommitResult;
-import com.google.android.libraries.feed.api.internal.common.ActionPropertiesWithId;
import com.google.android.libraries.feed.api.internal.common.PayloadWithId;
import com.google.android.libraries.feed.api.internal.common.SemanticPropertiesWithId;
import com.google.android.libraries.feed.api.internal.common.testing.ContentIdGenerators;
@@ -40,8 +39,6 @@
import com.google.search.now.feed.client.StreamDataProto.StreamSharedState;
import com.google.search.now.feed.client.StreamDataProto.StreamStructure;
import com.google.search.now.feed.client.StreamDataProto.StreamStructure.Operation;
-import com.google.search.now.wire.feed.OpaqueActionDataForTestProto.OpaqueActionDataForTest;
-import com.google.search.now.wire.feed.OpaqueActionDataProto.OpaqueActionData;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -278,57 +275,6 @@
}
@Test
- public void editActionProperties() {
- Store store = getStore(mainThreadRunner);
- assertThat(store.editSemanticProperties()).isNotNull();
- }
-
- @Test
- public void getActionProperties() {
- OpaqueActionData actionData =
- OpaqueActionData.newBuilder()
- .setExtension(
- OpaqueActionDataForTest.opaqueActionDataForTestExtension,
- OpaqueActionDataForTest.newBuilder().setId("").build())
- .build();
- Store store = getStore(mainThreadRunner);
- store.editActionProperties().add(PAYLOAD_CONTENT_ID, actionData).commit();
- Result<List<ActionPropertiesWithId>> actionPropertiesResult =
- store.getActionProperties(Collections.singletonList(PAYLOAD_CONTENT_ID));
- assertThat(actionPropertiesResult.isSuccessful()).isTrue();
- List<ActionPropertiesWithId> actionProperties = actionPropertiesResult.getValue();
- assertThat(actionProperties).hasSize(1);
- assertThat(actionProperties.get(0).contentId).isEqualTo(PAYLOAD_CONTENT_ID);
- }
-
- @Test
- public void getActionProperties_requestDifferentKey() {
- OpaqueActionData actionData =
- OpaqueActionData.newBuilder()
- .setExtension(
- OpaqueActionDataForTest.opaqueActionDataForTestExtension,
- OpaqueActionDataForTest.newBuilder().setId(PAYLOAD_CONTENT_ID).build())
- .build();
- Store store = getStore(mainThreadRunner);
- store.editActionProperties().add(PAYLOAD_CONTENT_ID, actionData).commit();
- Result<List<ActionPropertiesWithId>> actionPropertiesResult =
- store.getActionProperties(Collections.singletonList(OPERATION_CONTENT_ID));
- assertThat(actionPropertiesResult.isSuccessful()).isTrue();
- List<ActionPropertiesWithId> actionProperties = actionPropertiesResult.getValue();
- assertThat(actionProperties).isEmpty();
- }
-
- @Test
- public void getActionProperties_doesNotExist() {
- Store store = getStore(mainThreadRunner);
- Result<List<ActionPropertiesWithId>> actionPropertiesResult =
- store.getActionProperties(Collections.singletonList(PAYLOAD_CONTENT_ID));
- assertThat(actionPropertiesResult.isSuccessful()).isTrue();
- List<ActionPropertiesWithId> actionProperties = actionPropertiesResult.getValue();
- assertThat(actionProperties).isEmpty();
- }
-
- @Test
public void editSemanticProperties() {
Store store = getStore(mainThreadRunner);
assertThat(store.editSemanticProperties()).isNotNull();
diff --git a/src/main/java/com/google/android/libraries/feed/feedstore/testing/BUILD b/src/main/java/com/google/android/libraries/feed/feedstore/testing/BUILD
index 9014403..c20a3c3 100644
--- a/src/main/java/com/google/android/libraries/feed/feedstore/testing/BUILD
+++ b/src/main/java/com/google/android/libraries/feed/feedstore/testing/BUILD
@@ -20,8 +20,6 @@
"//src/main/java/com/google/android/libraries/feed/common/time/testing",
"//src/main/java/com/google/android/libraries/feed/feedstore/internal",
"//src/main/proto/com/google/android/libraries/feed/api/internal/proto:client_feed_java_proto_lite",
- "//src/main/proto/search/now/wire/feed:feed_java_proto_lite",
- "//src/test/proto/search/now/wire/feed:feed_test_java_proto_lite",
"@com_google_protobuf_javalite//:protobuf_java_lite",
"@maven//:com_google_truth_truth",
"@maven//:junit_junit",
diff --git a/src/main/java/com/google/android/libraries/feed/feedstore/testing/DelegatingStore.java b/src/main/java/com/google/android/libraries/feed/feedstore/testing/DelegatingStore.java
index fbcd3df..906ec62 100644
--- a/src/main/java/com/google/android/libraries/feed/feedstore/testing/DelegatingStore.java
+++ b/src/main/java/com/google/android/libraries/feed/feedstore/testing/DelegatingStore.java
@@ -14,10 +14,8 @@
package com.google.android.libraries.feed.feedstore.testing;
-import com.google.android.libraries.feed.api.internal.common.ActionPropertiesWithId;
import com.google.android.libraries.feed.api.internal.common.PayloadWithId;
import com.google.android.libraries.feed.api.internal.common.SemanticPropertiesWithId;
-import com.google.android.libraries.feed.api.internal.store.ActionPropertiesMutation;
import com.google.android.libraries.feed.api.internal.store.ContentMutation;
import com.google.android.libraries.feed.api.internal.store.LocalActionMutation;
import com.google.android.libraries.feed.api.internal.store.SemanticPropertiesMutation;
@@ -68,11 +66,6 @@
}
@Override
- public Result<List<ActionPropertiesWithId>> getActionProperties(List<String> contentIds) {
- return store.getActionProperties(contentIds);
- }
-
- @Override
public Result<List<StreamLocalAction>> getAllDismissLocalActions() {
return store.getAllDismissLocalActions();
}
@@ -113,11 +106,6 @@
}
@Override
- public ActionPropertiesMutation editActionProperties() {
- return store.editActionProperties();
- }
-
- @Override
public LocalActionMutation editLocalActions() {
return store.editLocalActions();
}
diff --git a/src/main/java/com/google/android/libraries/feed/testing/actionmanager/BUILD b/src/main/java/com/google/android/libraries/feed/testing/actionmanager/BUILD
index 1a5ebee..f1a32e1 100644
--- a/src/main/java/com/google/android/libraries/feed/testing/actionmanager/BUILD
+++ b/src/main/java/com/google/android/libraries/feed/testing/actionmanager/BUILD
@@ -10,6 +10,5 @@
"//src/main/java/com/google/android/libraries/feed/api/internal/actionmanager",
"//src/main/java/com/google/android/libraries/feed/api/internal/common",
"//src/main/java/com/google/android/libraries/feed/common",
- "//src/main/proto/search/now/wire/feed:feed_java_proto_lite",
],
)
diff --git a/src/main/java/com/google/android/libraries/feed/testing/actionmanager/FakeActionReader.java b/src/main/java/com/google/android/libraries/feed/testing/actionmanager/FakeActionReader.java
index 29c03e2..248b277 100644
--- a/src/main/java/com/google/android/libraries/feed/testing/actionmanager/FakeActionReader.java
+++ b/src/main/java/com/google/android/libraries/feed/testing/actionmanager/FakeActionReader.java
@@ -15,20 +15,15 @@
package com.google.android.libraries.feed.testing.actionmanager;
import com.google.android.libraries.feed.api.internal.actionmanager.ActionReader;
-import com.google.android.libraries.feed.api.internal.common.ActionPropertiesWithId;
import com.google.android.libraries.feed.api.internal.common.DismissActionWithSemanticProperties;
import com.google.android.libraries.feed.common.Result;
-import com.google.search.now.wire.feed.OpaqueActionDataProto.OpaqueActionData;
import java.util.ArrayList;
import java.util.Collections;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
/** Fake implementation of {@link ActionReader}. */
public final class FakeActionReader implements ActionReader {
private final ArrayList<DismissActionWithSemanticProperties> dismissActions = new ArrayList<>();
- private final Map<String, OpaqueActionData> actionProperties = new HashMap<>();
@Override
public Result<List<DismissActionWithSemanticProperties>>
@@ -36,28 +31,10 @@
return Result.success(dismissActions);
}
- @Override
- public Result<List<ActionPropertiesWithId>> getActionProperties(List<String> contentIds) {
- ArrayList<ActionPropertiesWithId> result = new ArrayList<>();
- for (String contentId : contentIds) {
- OpaqueActionData data = actionProperties.get(contentId);
- if (data != null) {
- result.add(new ActionPropertiesWithId(contentId, data));
- }
- }
- return Result.success(result);
- }
-
/** Adds a dismiss action with semantic properties. */
public FakeActionReader addDismissActionsWithSemanticProperties(
DismissActionWithSemanticProperties... dismissActionsToAdd) {
Collections.addAll(dismissActions, dismissActionsToAdd);
return this;
}
-
- /** Adds action properties for the {@code contentId}. */
- public FakeActionReader addActionProperties(String contentId, OpaqueActionData data) {
- actionProperties.put(contentId, data);
- return this;
- }
}
diff --git a/src/main/java/com/google/android/libraries/feed/testing/store/FakeStore.java b/src/main/java/com/google/android/libraries/feed/testing/store/FakeStore.java
index 6a4797f..3afc497 100644
--- a/src/main/java/com/google/android/libraries/feed/testing/store/FakeStore.java
+++ b/src/main/java/com/google/android/libraries/feed/testing/store/FakeStore.java
@@ -189,7 +189,6 @@
contentIds.add(contentId);
ArrayList<Object> result = new ArrayList<>();
result.addAll(getPayloads(contentIds).getValue());
- result.addAll(getActionProperties(contentIds).getValue());
result.addAll(getSemanticProperties(contentIds).getValue());
for (StreamUploadableAction action : getAllUploadableActions().getValue()) {
if (action.getFeatureContentId().equals(contentId)) {
diff --git a/src/main/proto/com/google/android/libraries/feed/api/internal/proto/stream_data.proto b/src/main/proto/com/google/android/libraries/feed/api/internal/proto/stream_data.proto
index 9b9d6f5..bc03bdd 100644
--- a/src/main/proto/com/google/android/libraries/feed/api/internal/proto/stream_data.proto
+++ b/src/main/proto/com/google/android/libraries/feed/api/internal/proto/stream_data.proto
@@ -21,7 +21,6 @@
import "src/main/proto/search/now/ui/stream/stream_structure.proto";
import "src/main/proto/search/now/wire/feed/action_payload.proto";
import "src/main/proto/search/now/wire/feed/consistency_token.proto";
-import "src/main/proto/search/now/wire/feed/opaque_action_data.proto";
import "src/main/proto/search/now/wire/feed/piet_shared_state_item.proto";
option java_package = "com.google.search.now.feed.client";
@@ -165,15 +164,11 @@
// FeedStoreConstants.SEMANTIC_PROPERTIES_PREFIX) allowing prefix queries.
bytes semantic_data = 7;
- // The action data associated with a Feature. These are stored as content
- // with a prefix added by the Store (see
- // FeedStoreConstants.ACTION_PROPERTIES_PREFIX) allowing prefix queries.
- wire.feed.OpaqueActionData action_data = 8;
-
// The consistency token used to ensure that we are recording actions to
// the same server store.
wire.feed.ConsistencyToken consistency_token = 9;
}
+ reserved 8;
}
// Allow the payload to contain Legacy Stream content.
diff --git a/src/main/proto/search/now/wire/feed/action_properties.proto b/src/main/proto/search/now/wire/feed/action_properties.proto
deleted file mode 100644
index 464c1f6..0000000
--- a/src/main/proto/search/now/wire/feed/action_properties.proto
+++ /dev/null
@@ -1,33 +0,0 @@
-// 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.
-
-syntax = "proto2";
-
-package search.now.wire.feed;
-
-option optimize_for=LITE_RUNTIME;
-
-import "src/main/proto/search/now/wire/feed/opaque_action_data.proto";
-
-option java_package = "com.google.search.now.wire.feed";
-option java_outer_classname = "ActionPropertiesProto";
-
-// ActionProperties hold information that we want to attach to
-// actions when they are sent to the server. For example, an action might be
-// associated with a specific topic.
-message ActionProperties {
- // This is kept opaque to Feed - we want to keep it and send it alongside
- // content ids in requests
- optional OpaqueActionData action_data = 1;
-}
diff --git a/src/main/proto/search/now/wire/feed/feed_action.proto b/src/main/proto/search/now/wire/feed/feed_action.proto
index 7fbe45d..406dbee 100644
--- a/src/main/proto/search/now/wire/feed/feed_action.proto
+++ b/src/main/proto/search/now/wire/feed/feed_action.proto
@@ -19,7 +19,6 @@
option optimize_for=LITE_RUNTIME;
import "src/main/proto/search/now/wire/feed/action_payload.proto";
-import "src/main/proto/search/now/wire/feed/action_properties.proto";
import "src/main/proto/search/now/wire/feed/content_id.proto";
option java_package = "com.google.search.now.wire.feed";
@@ -28,14 +27,12 @@
message FeedAction {
// The Id for the content that this action was triggered on.
optional ContentId content_id = 1;
- // Additional logging data that is roundtripped from the server
- optional ActionProperties action_properties = 3;
// Additional logging data that is on a per-action level
optional ActionPayload action_payload = 4;
// Client-generated data that pertains to the action.
optional ClientData client_data = 5;
// Next Id: 6
- reserved 2;
+ reserved 2, 3;
// The data the client provides to the server.
message ClientData {
diff --git a/src/main/proto/search/now/wire/feed/opaque_action_data.proto b/src/main/proto/search/now/wire/feed/opaque_action_data.proto
deleted file mode 100644
index 651d483..0000000
--- a/src/main/proto/search/now/wire/feed/opaque_action_data.proto
+++ /dev/null
@@ -1,34 +0,0 @@
-// 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.
-
-syntax = "proto2";
-
-package search.now.wire.feed;
-
-option optimize_for=LITE_RUNTIME;
-
-option java_package = "com.google.search.now.wire.feed";
-option java_outer_classname = "OpaqueActionDataProto";
-
-// The data needed by the server to handle action recording. This information is
-// opaque to the client and will be the information that is roundtripped so the
-// server can properly handle the action. For the Not Interested In action, this
-// data will contain the ids needed to record that the user is not interested
-// in that particular topic or source.
-// NOTE: it is important to keep this to a bare minimum amount of data.
-message OpaqueActionData {
- // Reserved fields for renderable unit extensions
- // Please use CL numbers you own for extension numbers.
- extensions 1 to 1;
-}
diff --git a/src/main/proto/search/now/wire/feed/payload_metadata.proto b/src/main/proto/search/now/wire/feed/payload_metadata.proto
index 1777f2d..587a4f9 100644
--- a/src/main/proto/search/now/wire/feed/payload_metadata.proto
+++ b/src/main/proto/search/now/wire/feed/payload_metadata.proto
@@ -18,7 +18,6 @@
option optimize_for=LITE_RUNTIME;
-import "src/main/proto/search/now/wire/feed/action_properties.proto";
import "src/main/proto/search/now/wire/feed/content_id.proto";
import "src/main/proto/search/now/wire/feed/semantic_properties.proto";
@@ -33,6 +32,5 @@
// Payload semantic properties
optional SemanticProperties semantic_properties = 2;
- // Data relevant for actions that can be taken on this content.
- optional ActionProperties action_properties = 3;
+ reserved 3;
}
diff --git a/src/test/java/com/google/android/libraries/feed/feedprotocoladapter/FeedProtocolAdapterTest.java b/src/test/java/com/google/android/libraries/feed/feedprotocoladapter/FeedProtocolAdapterTest.java
index 187a19e..fe8c7e3 100644
--- a/src/test/java/com/google/android/libraries/feed/feedprotocoladapter/FeedProtocolAdapterTest.java
+++ b/src/test/java/com/google/android/libraries/feed/feedprotocoladapter/FeedProtocolAdapterTest.java
@@ -32,7 +32,6 @@
import com.google.search.now.feed.client.StreamDataProto.StreamStructure;
import com.google.search.now.wire.feed.ContentIdProto.ContentId;
import com.google.search.now.wire.feed.DataOperationProto.DataOperation;
-import com.google.search.now.wire.feed.OpaqueActionDataProto.OpaqueActionData;
import com.google.search.now.wire.feed.ResponseProto.Response;
import java.nio.charset.Charset;
import java.util.List;
@@ -150,21 +149,6 @@
}
@Test
- public void testSimpleResponse_feature_actionProperties() {
- ContentId contentId = ResponseBuilder.createFeatureContentId(13);
- OpaqueActionData actionData = OpaqueActionData.getDefaultInstance();
- Response response = new ResponseBuilder().addCardWithActionData(contentId, actionData).build();
-
- Result<Model> results = protocolAdapter.createModel(response);
- assertThat(results.isSuccessful()).isTrue();
- // Note that 2 operations are created (the card and the action data). We want the latter.
- assertThat(results.getValue().streamDataOperations).hasSize(2);
- StreamDataOperation sdo = results.getValue().streamDataOperations.get(1);
- assertThat(sdo.getStreamPayload().hasActionData()).isTrue();
- assertThat(sdo.getStreamPayload().getActionData()).isEqualTo(actionData);
- }
-
- @Test
public void testResponse_rootClusterCardContent() {
ContentId rootId = ContentId.newBuilder().setId(1).build();
ContentId clusterId = ContentId.newBuilder().setId(2).build();
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 96ab241..6eb3e31 100644
--- a/src/test/java/com/google/android/libraries/feed/feedrequestmanager/BUILD
+++ b/src/test/java/com/google/android/libraries/feed/feedrequestmanager/BUILD
@@ -18,13 +18,11 @@
"//src/main/java/com/google/android/libraries/feed/common/testing",
"//src/main/java/com/google/android/libraries/feed/common/time/testing",
"//src/main/java/com/google/android/libraries/feed/feedrequestmanager",
- "//src/main/java/com/google/android/libraries/feed/testing/actionmanager",
"//src/main/java/com/google/android/libraries/feed/testing/network",
"//src/main/java/com/google/android/libraries/feed/testing/protocoladapter",
"//src/main/java/com/google/android/libraries/feed/testing/store",
"//src/main/proto/com/google/android/libraries/feed/api/internal/proto:client_feed_java_proto_lite",
"//src/main/proto/search/now/wire/feed:feed_java_proto_lite",
- "//src/test/proto/search/now/wire/feed:feed_test_java_proto_lite",
"//third_party:robolectric",
"@com_google_protobuf_javalite//:protobuf_java_lite",
"@maven//:com_google_truth_truth",
@@ -104,7 +102,6 @@
manifest_values = DEFAULT_ANDROID_LOCAL_TEST_MANIFEST,
deps = [
"//src/main/java/com/google/android/libraries/feed/feedrequestmanager",
- "//src/main/java/com/google/android/libraries/feed/testing/actionmanager",
"//src/main/java/com/google/android/libraries/feed/testing/protocoladapter",
"//src/main/proto/com/google/android/libraries/feed/api/internal/proto:client_feed_java_proto_lite",
"//src/main/proto/search/now/wire/feed:feed_java_proto_lite",
diff --git a/src/test/java/com/google/android/libraries/feed/feedrequestmanager/FeedActionUploadRequestManagerTest.java b/src/test/java/com/google/android/libraries/feed/feedrequestmanager/FeedActionUploadRequestManagerTest.java
index 853b708..771a021 100644
--- a/src/test/java/com/google/android/libraries/feed/feedrequestmanager/FeedActionUploadRequestManagerTest.java
+++ b/src/test/java/com/google/android/libraries/feed/feedrequestmanager/FeedActionUploadRequestManagerTest.java
@@ -31,7 +31,6 @@
import com.google.android.libraries.feed.common.protoextensions.FeedExtensionRegistry;
import com.google.android.libraries.feed.common.testing.RequiredConsumer;
import com.google.android.libraries.feed.common.time.testing.FakeClock;
-import com.google.android.libraries.feed.testing.actionmanager.FakeActionReader;
import com.google.android.libraries.feed.testing.network.FakeNetworkClient;
import com.google.android.libraries.feed.testing.protocoladapter.FakeProtocolAdapter;
import com.google.android.libraries.feed.testing.store.FakeStore;
@@ -43,8 +42,6 @@
import com.google.search.now.wire.feed.ConsistencyTokenProto.ConsistencyToken;
import com.google.search.now.wire.feed.FeedActionResponseProto.FeedActionResponse;
import com.google.search.now.wire.feed.FeedRequestProto.FeedRequest;
-import com.google.search.now.wire.feed.OpaqueActionDataForTestProto.OpaqueActionDataForTest;
-import com.google.search.now.wire.feed.OpaqueActionDataProto.OpaqueActionData;
import com.google.search.now.wire.feed.ResponseProto.Response;
import java.io.IOException;
import java.nio.ByteBuffer;
@@ -88,7 +85,6 @@
private final FakeClock fakeClock = new FakeClock();
private ExtensionRegistryLite registry;
- private FakeActionReader fakeActionReader;
private FakeNetworkClient fakeNetworkClient;
private FakeProtocolAdapter fakeProtocolAdapter;
private FakeStore fakeStore;
@@ -102,7 +98,6 @@
initMocks(this);
registry = ExtensionRegistryLite.newInstance();
registry.add(FeedRequest.feedRequest);
- fakeActionReader = new FakeActionReader();
fakeThreadUtils = FakeThreadUtils.withThreadChecks();
fakeNetworkClient = new FakeNetworkClient(fakeThreadUtils);
fakeTaskQueue = new FakeTaskQueue(fakeClock, fakeThreadUtils);
@@ -138,7 +133,6 @@
.setTimestampSeconds(1L)
.setFeatureContentId(CONTENT_ID)
.build();
- fakeActionReader.addActionProperties(CONTENT_ID, createOpaqueActionData(CONTENT_ID));
fakeStore.setStreamUploadableActions(action);
fakeClock.set(5000L);
fakeNetworkClient.addResponse(
@@ -164,7 +158,6 @@
.setUploadAttempts(2)
.setFeatureContentId(CONTENT_ID)
.build();
- fakeActionReader.addActionProperties(CONTENT_ID, createOpaqueActionData(CONTENT_ID));
fakeNetworkClient.addResponse(
createHttpResponse(/* responseCode= */ 200, Response.getDefaultInstance()));
requestManager.triggerUploadActions(
@@ -197,9 +190,6 @@
assertThat(input.isSuccessful()).isTrue();
assertThat(input.getValue().toByteArray()).isEqualTo(TOKEN_3.toByteArray());
});
- fakeActionReader
- .addActionProperties(CONTENT_ID, createOpaqueActionData(CONTENT_ID))
- .addActionProperties(CONTENT_ID_2, createOpaqueActionData(CONTENT_ID_2));
fakeNetworkClient
.addResponse(createHttpResponse(/* responseCode= */ 200, RESPONSE_1))
.addResponse(createHttpResponse(/* responseCode= */ 200, RESPONSE_2));
@@ -229,9 +219,6 @@
fakeThreadUtils.checkNotMainThread();
assertThat(input.isSuccessful()).isFalse();
});
- fakeActionReader
- .addActionProperties(CONTENT_ID, createOpaqueActionData(CONTENT_ID))
- .addActionProperties(CONTENT_ID_2, createOpaqueActionData(CONTENT_ID_2));
fakeNetworkClient.addResponse(createHttpResponse(/* responseCode= */ 500, RESPONSE_1));
requestManager.triggerUploadActions(actionSet, TOKEN_1, consumer);
@@ -260,9 +247,6 @@
assertThat(input.isSuccessful()).isTrue();
assertThat(input.getValue().toByteArray()).isEqualTo(TOKEN_2.toByteArray());
});
- fakeActionReader
- .addActionProperties(CONTENT_ID, createOpaqueActionData(CONTENT_ID))
- .addActionProperties(CONTENT_ID_2, createOpaqueActionData(CONTENT_ID_2));
fakeNetworkClient
.addResponse(createHttpResponse(/* responseCode= */ 200, RESPONSE_1))
.addResponse(createHttpResponse(/* responseCode= */ 500, RESPONSE_2));
@@ -293,9 +277,6 @@
assertThat(input.isSuccessful()).isTrue();
assertThat(input.getValue().toByteArray()).isEqualTo(TOKEN_2.toByteArray());
});
- fakeActionReader
- .addActionProperties(CONTENT_ID, createOpaqueActionData(CONTENT_ID))
- .addActionProperties(CONTENT_ID_2, createOpaqueActionData(CONTENT_ID_2));
fakeNetworkClient.addResponse(createHttpResponse(/* responseCode= */ 200, RESPONSE_1));
requestManager.triggerUploadActions(actionSet, TOKEN_1, consumer);
@@ -314,7 +295,6 @@
StreamUploadableAction action =
StreamUploadableAction.newBuilder().setFeatureContentId(CONTENT_ID).build();
Set<StreamUploadableAction> actionSet = setOf(action);
- fakeActionReader.addActionProperties(CONTENT_ID, createOpaqueActionData(CONTENT_ID));
fakeNetworkClient.addResponse(
createHttpResponse(/* responseCode= */ 200, Response.getDefaultInstance()));
requestManager.triggerUploadActions(actionSet, ConsistencyToken.getDefaultInstance(), consumer);
@@ -324,7 +304,7 @@
ActionRequest request = getActionRequestFromHttpRequest(httpRequest);
UploadableActionsRequestBuilder builder =
- new UploadableActionsRequestBuilder(fakeActionReader, fakeProtocolAdapter);
+ new UploadableActionsRequestBuilder(fakeProtocolAdapter);
ActionRequest expectedRequest =
builder
.setConsistencyToken(ConsistencyToken.getDefaultInstance())
@@ -344,7 +324,6 @@
public void testTriggerUploadActions_defaultMethod() throws Exception {
Set<StreamUploadableAction> actionSet =
setOf(StreamUploadableAction.newBuilder().setFeatureContentId(CONTENT_ID).build());
- fakeActionReader.addActionProperties(CONTENT_ID, createOpaqueActionData(CONTENT_ID));
fakeNetworkClient.addResponse(
createHttpResponse(/* responseCode= */ 200, Response.getDefaultInstance()));
requestManager.triggerUploadActions(actionSet, ConsistencyToken.getDefaultInstance(), consumer);
@@ -353,7 +332,7 @@
ActionRequest request = getActionRequestFromHttpRequestBody(httpRequest);
UploadableActionsRequestBuilder builder =
- new UploadableActionsRequestBuilder(fakeActionReader, fakeProtocolAdapter);
+ new UploadableActionsRequestBuilder(fakeProtocolAdapter);
ActionRequest expectedRequest =
builder
.setConsistencyToken(ConsistencyToken.getDefaultInstance())
@@ -404,19 +383,10 @@
new FeedExtensionRegistry(ArrayList::new),
fakeTaskQueue,
fakeThreadUtils,
- fakeActionReader,
fakeStore,
fakeClock);
}
- private static OpaqueActionData createOpaqueActionData(String contentId) {
- return OpaqueActionData.newBuilder()
- .setExtension(
- OpaqueActionDataForTest.opaqueActionDataForTestExtension,
- OpaqueActionDataForTest.newBuilder().setId(contentId).build())
- .build();
- }
-
private static <T> Set<T> setOf(T... items) {
Set<T> result = new HashSet<>();
Collections.addAll(result, items);
diff --git a/src/test/java/com/google/android/libraries/feed/feedrequestmanager/UploadableActionsRequestBuilderTest.java b/src/test/java/com/google/android/libraries/feed/feedrequestmanager/UploadableActionsRequestBuilderTest.java
index 6affa74..d7cac77 100644
--- a/src/test/java/com/google/android/libraries/feed/feedrequestmanager/UploadableActionsRequestBuilderTest.java
+++ b/src/test/java/com/google/android/libraries/feed/feedrequestmanager/UploadableActionsRequestBuilderTest.java
@@ -17,20 +17,16 @@
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.MockitoAnnotations.initMocks;
-import com.google.android.libraries.feed.testing.actionmanager.FakeActionReader;
import com.google.android.libraries.feed.testing.protocoladapter.FakeProtocolAdapter;
import com.google.protobuf.ByteString;
import com.google.search.now.feed.client.StreamDataProto.StreamUploadableAction;
import com.google.search.now.wire.feed.ActionPayloadForTestProto.ActionPayloadForTest;
import com.google.search.now.wire.feed.ActionPayloadProto.ActionPayload;
-import com.google.search.now.wire.feed.ActionPropertiesProto.ActionProperties;
import com.google.search.now.wire.feed.ActionRequestProto.ActionRequest;
import com.google.search.now.wire.feed.ConsistencyTokenProto.ConsistencyToken;
import com.google.search.now.wire.feed.ContentIdProto.ContentId;
import com.google.search.now.wire.feed.FeedActionProto.FeedAction;
import com.google.search.now.wire.feed.FeedActionRequestProto.FeedActionRequest;
-import com.google.search.now.wire.feed.OpaqueActionDataForTestProto.OpaqueActionDataForTest;
-import com.google.search.now.wire.feed.OpaqueActionDataProto.OpaqueActionData;
import java.util.HashSet;
import org.junit.Before;
import org.junit.Test;
@@ -54,24 +50,14 @@
ConsistencyToken.newBuilder().setToken(ByteString.copyFrom(new byte[] {0x1, 0xf})).build();
private ActionRequest.Builder requestBuilder;
private FeedActionRequest.Builder feedActionRequestBuilder;
- private OpaqueActionData data;
private FakeProtocolAdapter fakeProtocolAdapter;
- private FakeActionReader fakeActionReader;
@Before
public void setUp() {
initMocks(this);
fakeProtocolAdapter = new FakeProtocolAdapter();
- fakeActionReader = new FakeActionReader();
- data =
- OpaqueActionData.newBuilder()
- .setExtension(
- OpaqueActionDataForTest.opaqueActionDataForTestExtension,
- OpaqueActionDataForTest.newBuilder().setId(CONTENT_ID).build())
- .build();
- fakeActionReader.addActionProperties(CONTENT_ID, data);
fakeProtocolAdapter.addContentId(CONTENT_ID, ContentId.getDefaultInstance());
- builder = new UploadableActionsRequestBuilder(fakeActionReader, fakeProtocolAdapter);
+ builder = new UploadableActionsRequestBuilder(fakeProtocolAdapter);
actionSet.add(
StreamUploadableAction.newBuilder()
.setFeatureContentId(CONTENT_ID)
@@ -87,13 +73,12 @@
@Test
public void testUploadableActionsRequest_noToken() throws Exception {
- FeedAction.Builder feedAction =
+ FeedAction feedAction =
FeedAction.newBuilder()
- .setActionProperties(ActionProperties.newBuilder().setActionData(data).build());
- feedAction.setContentId(ContentId.getDefaultInstance());
- feedAction.setActionPayload(payload);
-
- feedAction.setClientData(FeedAction.ClientData.newBuilder().setTimestampSeconds(TIME).build());
+ .setContentId(ContentId.getDefaultInstance())
+ .setActionPayload(payload)
+ .setClientData(FeedAction.ClientData.newBuilder().setTimestampSeconds(TIME).build())
+ .build();
feedActionRequestBuilder.addFeedAction(feedAction);
requestBuilder.setExtension(
FeedActionRequest.feedActionRequest, feedActionRequestBuilder.build());
@@ -116,12 +101,12 @@
@Test
public void testUploadableActionsRequest() throws Exception {
- FeedAction.Builder feedAction =
+ FeedAction feedAction =
FeedAction.newBuilder()
- .setActionProperties(ActionProperties.newBuilder().setActionData(data).build());
- feedAction.setContentId(ContentId.getDefaultInstance());
- feedAction.setActionPayload(payload);
- feedAction.setClientData(FeedAction.ClientData.newBuilder().setTimestampSeconds(TIME).build());
+ .setContentId(ContentId.getDefaultInstance())
+ .setActionPayload(payload)
+ .setClientData(FeedAction.ClientData.newBuilder().setTimestampSeconds(TIME).build())
+ .build();
feedActionRequestBuilder.addFeedAction(feedAction);
feedActionRequestBuilder.setConsistencyToken(token);
requestBuilder.setExtension(
diff --git a/src/test/java/com/google/android/libraries/feed/feedsessionmanager/BUILD b/src/test/java/com/google/android/libraries/feed/feedsessionmanager/BUILD
index aba4e26..9b03cee 100644
--- a/src/test/java/com/google/android/libraries/feed/feedsessionmanager/BUILD
+++ b/src/test/java/com/google/android/libraries/feed/feedsessionmanager/BUILD
@@ -36,7 +36,6 @@
"//src/main/proto/com/google/android/libraries/feed/testing/proto:ui_refresh_reason_java_proto_lite",
"//src/main/proto/search/now/ui/piet:piet_java_proto_lite",
"//src/main/proto/search/now/wire/feed:feed_java_proto_lite",
- "//src/test/proto/search/now/wire/feed:feed_test_java_proto_lite",
"//third_party:robolectric",
"@com_google_code_findbugs_jsr305//jar",
"@com_google_protobuf_javalite//:protobuf_java_lite",
diff --git a/src/test/java/com/google/android/libraries/feed/feedsessionmanager/FeedSessionManagerImplTest.java b/src/test/java/com/google/android/libraries/feed/feedsessionmanager/FeedSessionManagerImplTest.java
index 9e006a8..64e3458 100644
--- a/src/test/java/com/google/android/libraries/feed/feedsessionmanager/FeedSessionManagerImplTest.java
+++ b/src/test/java/com/google/android/libraries/feed/feedsessionmanager/FeedSessionManagerImplTest.java
@@ -29,7 +29,6 @@
import com.google.android.libraries.feed.api.host.scheduler.SchedulerApi;
import com.google.android.libraries.feed.api.host.scheduler.SchedulerApi.RequestBehavior;
import com.google.android.libraries.feed.api.host.scheduler.SchedulerApi.SessionState;
-import com.google.android.libraries.feed.api.internal.common.ActionPropertiesWithId;
import com.google.android.libraries.feed.api.internal.common.Model;
import com.google.android.libraries.feed.api.internal.common.SemanticPropertiesWithId;
import com.google.android.libraries.feed.api.internal.common.testing.ContentIdGenerators;
@@ -78,8 +77,6 @@
import com.google.search.now.ui.piet.PietProto.Template;
import com.google.search.now.wire.feed.ConsistencyTokenProto.ConsistencyToken;
import com.google.search.now.wire.feed.ContentIdProto.ContentId;
-import com.google.search.now.wire.feed.OpaqueActionDataForTestProto.OpaqueActionDataForTest;
-import com.google.search.now.wire.feed.OpaqueActionDataProto.OpaqueActionData;
import com.google.search.now.wire.feed.PietSharedStateItemProto.PietSharedStateItem;
import com.google.search.now.wire.feed.ResponseProto.Response;
import java.nio.charset.Charset;
@@ -486,33 +483,6 @@
}
@Test
- public void testEdit_actionProperties() {
- FeedSessionManagerImpl sessionManager = getInitializedSessionManager();
-
- OpaqueActionData actionData =
- OpaqueActionData.newBuilder()
- .setExtension(
- OpaqueActionDataForTest.opaqueActionDataForTestExtension,
- OpaqueActionDataForTest.newBuilder().setId("id").build())
- .build();
- StreamDataOperation streamDataOperation =
- StreamDataOperation.newBuilder()
- .setStreamPayload(StreamPayload.newBuilder().setActionData(actionData))
- .setStreamStructure(
- StreamStructure.newBuilder()
- .setContentId(rootContentId)
- .setOperation(Operation.UPDATE_OR_APPEND))
- .build();
-
- Consumer<Result<Model>> updateConsumer = sessionManager.getUpdateConsumer(EMPTY_MUTATION);
- Result<Model> result = Result.success(Model.of(ImmutableList.of(streamDataOperation)));
- updateConsumer.accept(result);
-
- assertThat(fakeStore.getContentById(rootContentId))
- .contains(new ActionPropertiesWithId(rootContentId, actionData));
- }
-
- @Test
public void testEdit_semanticProperties() {
FeedSessionManagerImpl sessionManager = getInitializedSessionManager();
diff --git a/src/test/java/com/google/android/libraries/feed/feedsessionmanager/internal/BUILD b/src/test/java/com/google/android/libraries/feed/feedsessionmanager/internal/BUILD
index b66b251..cbc7dda 100644
--- a/src/test/java/com/google/android/libraries/feed/feedsessionmanager/internal/BUILD
+++ b/src/test/java/com/google/android/libraries/feed/feedsessionmanager/internal/BUILD
@@ -100,8 +100,6 @@
"//src/main/java/com/google/android/libraries/feed/hostimpl/storage",
"//src/main/java/com/google/android/libraries/feed/testing/host/logging",
"//src/main/proto/com/google/android/libraries/feed/api/internal/proto:client_feed_java_proto_lite",
- "//src/main/proto/search/now/wire/feed:feed_java_proto_lite",
- "//src/test/proto/search/now/wire/feed:feed_test_java_proto_lite",
"//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/feedsessionmanager/internal/SessionManagerMutationTest.java b/src/test/java/com/google/android/libraries/feed/feedsessionmanager/internal/SessionManagerMutationTest.java
index 8c4af39..b70a7ba 100644
--- a/src/test/java/com/google/android/libraries/feed/feedsessionmanager/internal/SessionManagerMutationTest.java
+++ b/src/test/java/com/google/android/libraries/feed/feedsessionmanager/internal/SessionManagerMutationTest.java
@@ -30,7 +30,6 @@
import com.google.android.libraries.feed.api.host.config.Configuration;
import com.google.android.libraries.feed.api.host.scheduler.SchedulerApi;
import com.google.android.libraries.feed.api.host.storage.ContentStorageDirect;
-import com.google.android.libraries.feed.api.internal.common.ActionPropertiesWithId;
import com.google.android.libraries.feed.api.internal.common.Model;
import com.google.android.libraries.feed.api.internal.common.PayloadWithId;
import com.google.android.libraries.feed.api.internal.common.SemanticPropertiesWithId;
@@ -62,8 +61,6 @@
import com.google.search.now.feed.client.StreamDataProto.StreamStructure;
import com.google.search.now.feed.client.StreamDataProto.StreamStructure.Operation;
import com.google.search.now.feed.client.StreamDataProto.StreamToken;
-import com.google.search.now.wire.feed.OpaqueActionDataForTestProto.OpaqueActionDataForTest;
-import com.google.search.now.wire.feed.OpaqueActionDataProto.OpaqueActionData;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;
@@ -242,32 +239,6 @@
}
@Test
- public void testActionData() {
- List<String> contentIds = getContentIds(2);
- OpaqueActionData data =
- OpaqueActionData.newBuilder()
- .setExtension(
- OpaqueActionDataForTest.opaqueActionDataForTestExtension,
- OpaqueActionDataForTest.newBuilder().setId("id").build())
- .build();
- List<Pair<StreamStructure, StreamPayload>> features =
- getFeatures(contentIds, () -> StreamPayload.newBuilder().setActionData(data).build());
- List<StreamDataOperation> dataOperations = new ArrayList<>();
- for (Pair<StreamStructure, StreamPayload> feature : features) {
- dataOperations.add(getStreamDataOperation(feature.first, feature.second));
- }
- MutationCommitter mutationCommitter = getMutationCommitter(EMPTY_CONTEXT);
- mutationCommitter.accept(Result.success(Model.of(dataOperations)));
-
- Result<List<ActionPropertiesWithId>> result = storeSpy.getActionProperties(contentIds);
- assertThat(result.isSuccessful()).isTrue();
- assertThat(result.getValue()).hasSize(contentIds.size());
- for (ActionPropertiesWithId payload : result.getValue()) {
- assertThat(contentIds).contains(payload.contentId);
- }
- }
-
- @Test
public void testValidDataOperation() {
StreamDataOperation operation = StreamDataOperation.getDefaultInstance();
assertThat(SessionManagerMutation.validDataOperation(operation)).isFalse();
diff --git a/src/test/java/com/google/android/libraries/feed/feedstore/internal/BUILD b/src/test/java/com/google/android/libraries/feed/feedstore/internal/BUILD
index cef1fbe..c174cb6 100644
--- a/src/test/java/com/google/android/libraries/feed/feedstore/internal/BUILD
+++ b/src/test/java/com/google/android/libraries/feed/feedstore/internal/BUILD
@@ -84,8 +84,6 @@
"//src/main/java/com/google/android/libraries/feed/feedstore/testing",
"//src/main/java/com/google/android/libraries/feed/hostimpl/storage",
"//src/main/proto/com/google/android/libraries/feed/api/internal/proto:client_feed_java_proto_lite",
- "//src/main/proto/search/now/wire/feed:feed_java_proto_lite",
- "//src/test/proto/search/now/wire/feed:feed_test_java_proto_lite",
"//third_party:robolectric",
"@com_google_protobuf_javalite//:protobuf_java_lite",
"@maven//:com_google_truth_truth",
diff --git a/src/test/java/com/google/android/libraries/feed/feedstore/internal/ContentGcTest.java b/src/test/java/com/google/android/libraries/feed/feedstore/internal/ContentGcTest.java
index f0a3949..5f76786 100644
--- a/src/test/java/com/google/android/libraries/feed/feedstore/internal/ContentGcTest.java
+++ b/src/test/java/com/google/android/libraries/feed/feedstore/internal/ContentGcTest.java
@@ -13,9 +13,9 @@
// limitations under the License.
package com.google.android.libraries.feed.feedstore.internal;
-import static com.google.android.libraries.feed.feedstore.internal.FeedStoreConstants.ACTION_PROPERTIES_PREFIX;
import static com.google.android.libraries.feed.feedstore.internal.FeedStoreConstants.SEMANTIC_PROPERTIES_PREFIX;
import static com.google.android.libraries.feed.feedstore.internal.FeedStoreConstants.SHARED_STATE_PREFIX;
+import static com.google.android.libraries.feed.feedstore.internal.FeedStoreConstants.UPLOADABLE_ACTION_PREFIX;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.verify;
@@ -32,7 +32,6 @@
import com.google.android.libraries.feed.common.time.TimingUtils;
import com.google.common.collect.ImmutableSet;
import com.google.search.now.feed.client.StreamDataProto.StreamLocalAction;
-import com.google.search.now.feed.client.StreamDataProto.StreamUploadableAction;
import java.util.ArrayList;
import java.util.List;
import org.junit.Before;
@@ -52,8 +51,7 @@
private static final String CONTENT_ID_2 = "contentId2";
private static final String SEMANTIC_PROPERTIES_1 = SEMANTIC_PROPERTIES_PREFIX + CONTENT_ID_1;
private static final String SEMANTIC_PROPERTIES_2 = SEMANTIC_PROPERTIES_PREFIX + CONTENT_ID_2;
- private static final String ACTION_PROPERTIES_1 = ACTION_PROPERTIES_PREFIX + CONTENT_ID_1;
- private static final String ACTION_PROPERTIES_2 = ACTION_PROPERTIES_PREFIX + CONTENT_ID_2;
+ private static final String ACTION_1 = UPLOADABLE_ACTION_PREFIX + CONTENT_ID_1;
private final TimingUtils timingUtils = new TimingUtils();
@@ -73,7 +71,6 @@
ImmutableSet::of,
ImmutableSet.of(),
ImmutableSet::of,
- ImmutableSet::of,
contentStorage,
timingUtils,
/* keepSharedStates= */ true);
@@ -98,7 +95,6 @@
() -> ImmutableSet.of(CONTENT_ID_1),
ImmutableSet.of(),
ImmutableSet::of,
- ImmutableSet::of,
contentStorage,
timingUtils,
/* keepSharedStates= */ true);
@@ -123,7 +119,6 @@
ImmutableSet::of,
ImmutableSet.of(CONTENT_ID_1),
ImmutableSet::of,
- ImmutableSet::of,
contentStorage,
timingUtils,
/* keepSharedStates= */ true);
@@ -138,17 +133,15 @@
}
@Test
- public void gc_actionProperties_noAction() {
+ public void gc_actionUploads_validAction() {
List<String> contentKeys = new ArrayList<>();
- contentKeys.add(ACTION_PROPERTIES_1);
- contentKeys.add(ACTION_PROPERTIES_2);
+ contentKeys.add(ACTION_1);
mockContentStorageWithContents(contentKeys);
ContentGc contentGc =
new ContentGc(
ImmutableSet::of,
ImmutableSet.of(),
ImmutableSet::of,
- ImmutableSet::of,
contentStorage,
timingUtils,
/* keepSharedStates= */ true);
@@ -156,71 +149,12 @@
ArgumentCaptor<ContentMutation> contentMutationCaptor =
ArgumentCaptor.forClass(ContentMutation.class);
verify(contentStorage).commit(contentMutationCaptor.capture());
- List<ContentOperation> expectedOperations =
- new Builder()
- .delete(ACTION_PROPERTIES_1)
- .delete(ACTION_PROPERTIES_2)
- .build()
- .getOperations();
+ List<ContentOperation> expectedOperations = new Builder().build().getOperations();
List<ContentOperation> resultOperations = contentMutationCaptor.getValue().getOperations();
assertListsContainSameElements(expectedOperations, resultOperations);
}
- @Test
- public void gc_actionProperties_validAction() {
- List<String> contentKeys = new ArrayList<>();
- contentKeys.add(ACTION_PROPERTIES_1);
- contentKeys.add(ACTION_PROPERTIES_2);
- mockContentStorageWithContents(contentKeys);
- ContentGc contentGc =
- new ContentGc(
- ImmutableSet::of,
- ImmutableSet.of(),
- ImmutableSet::of,
- () ->
- ImmutableSet.of(
- StreamUploadableAction.newBuilder()
- .setUploadAttempts(1)
- .setFeatureContentId(CONTENT_ID_1)
- .build()),
- contentStorage,
- timingUtils,
- /* keepSharedStates= */ true);
- contentGc.gc();
- ArgumentCaptor<ContentMutation> contentMutationCaptor =
- ArgumentCaptor.forClass(ContentMutation.class);
- verify(contentStorage).commit(contentMutationCaptor.capture());
- List<ContentOperation> expectedOperations =
- new Builder().delete(ACTION_PROPERTIES_2).build().getOperations();
- List<ContentOperation> resultOperations = contentMutationCaptor.getValue().getOperations();
- assertListsContainSameElements(expectedOperations, resultOperations);
- }
- @Test
- public void gc_actionProperties_accessibleContent() {
- List<String> contentKeys = new ArrayList<>();
- contentKeys.add(CONTENT_ID_1);
- contentKeys.add(ACTION_PROPERTIES_1);
- contentKeys.add(ACTION_PROPERTIES_2);
- mockContentStorageWithContents(contentKeys);
- ContentGc contentGc =
- new ContentGc(
- () -> ImmutableSet.of(CONTENT_ID_1),
- ImmutableSet.of(),
- ImmutableSet::of,
- ImmutableSet::of,
- contentStorage,
- timingUtils,
- /* keepSharedStates= */ true);
- contentGc.gc();
- ArgumentCaptor<ContentMutation> contentMutationCaptor =
- ArgumentCaptor.forClass(ContentMutation.class);
- verify(contentStorage).commit(contentMutationCaptor.capture());
- List<ContentOperation> expectedOperations =
- new Builder().delete(ACTION_PROPERTIES_2).build().getOperations();
- List<ContentOperation> resultOperations = contentMutationCaptor.getValue().getOperations();
- assertListsContainSameElements(expectedOperations, resultOperations);
- }
@Test
public void gc_semanticProperties_noAction() {
@@ -233,7 +167,6 @@
ImmutableSet::of,
ImmutableSet.of(),
ImmutableSet::of,
- ImmutableSet::of,
contentStorage,
timingUtils,
/* keepSharedStates= */ true);
@@ -267,7 +200,6 @@
.setAction(ActionType.DISMISS)
.setFeatureContentId(CONTENT_ID_1)
.build()),
- ImmutableSet::of,
contentStorage,
timingUtils,
/* keepSharedStates= */ true);
@@ -293,7 +225,6 @@
() -> ImmutableSet.of(CONTENT_ID_1),
ImmutableSet.of(),
ImmutableSet::of,
- ImmutableSet::of,
contentStorage,
timingUtils,
/* keepSharedStates= */ true);
@@ -318,7 +249,6 @@
ImmutableSet::of,
ImmutableSet.of(),
ImmutableSet::of,
- ImmutableSet::of,
contentStorage,
timingUtils,
/* keepSharedStates= */ true);
@@ -343,7 +273,6 @@
ImmutableSet::of,
ImmutableSet.of(),
ImmutableSet::of,
- ImmutableSet::of,
contentStorage,
timingUtils,
/* keepSharedStates= */ false);
@@ -372,7 +301,6 @@
() -> ImmutableSet.of(CONTENT_ID_1),
ImmutableSet.of(),
ImmutableSet::of,
- ImmutableSet::of,
contentStorage,
timingUtils,
/* keepSharedStates= */ false);
diff --git a/src/test/java/com/google/android/libraries/feed/feedstore/internal/PersistentFeedStoreTest.java b/src/test/java/com/google/android/libraries/feed/feedstore/internal/PersistentFeedStoreTest.java
index 37c6c3c..969448e 100644
--- a/src/test/java/com/google/android/libraries/feed/feedstore/internal/PersistentFeedStoreTest.java
+++ b/src/test/java/com/google/android/libraries/feed/feedstore/internal/PersistentFeedStoreTest.java
@@ -26,7 +26,6 @@
import com.google.android.libraries.feed.api.host.storage.ContentStorageDirect;
import com.google.android.libraries.feed.api.host.storage.JournalMutation;
import com.google.android.libraries.feed.api.host.storage.JournalStorageDirect;
-import com.google.android.libraries.feed.api.internal.common.ActionPropertiesWithId;
import com.google.android.libraries.feed.api.internal.common.PayloadWithId;
import com.google.android.libraries.feed.api.internal.common.SemanticPropertiesWithId;
import com.google.android.libraries.feed.api.internal.common.ThreadUtils;
@@ -46,8 +45,6 @@
import com.google.search.now.feed.client.StreamDataProto.StreamSharedState;
import com.google.search.now.feed.client.StreamDataProto.StreamStructure;
import com.google.search.now.feed.client.StreamDataProto.StreamUploadableAction;
-import com.google.search.now.wire.feed.OpaqueActionDataForTestProto.OpaqueActionDataForTest;
-import com.google.search.now.wire.feed.OpaqueActionDataProto.OpaqueActionData;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -224,32 +221,6 @@
assertThat(semanticPropertiesResult.isSuccessful()).isTrue();
assertThat(semanticPropertiesResult.getValue()).hasSize(2);
- // Action properties
- OpaqueActionData data1 =
- OpaqueActionData.newBuilder()
- .setExtension(
- OpaqueActionDataForTest.opaqueActionDataForTestExtension,
- OpaqueActionDataForTest.newBuilder().setId(CONTENT_ID).build())
- .build();
- OpaqueActionData data2 =
- OpaqueActionData.newBuilder()
- .setExtension(
- OpaqueActionDataForTest.opaqueActionDataForTestExtension,
- OpaqueActionDataForTest.newBuilder().setId(CONTENT_ID_2).build())
- .build();
- commitResult =
- store.editActionProperties().add(CONTENT_ID, data1).add(CONTENT_ID_2, data2).commit();
- assertThat(commitResult).isEqualTo(CommitResult.SUCCESS);
-
- Result<List<ActionPropertiesWithId>> actionPropertiesResult =
- store.getActionProperties(Arrays.asList(CONTENT_ID, CONTENT_ID_2));
- assertThat(actionPropertiesResult.isSuccessful()).isTrue();
- assertThat(actionPropertiesResult.getValue()).hasSize(2);
- assertThat(actionPropertiesResult.getValue())
- .containsExactly(
- new ActionPropertiesWithId(CONTENT_ID, data1),
- new ActionPropertiesWithId(CONTENT_ID_2, data2));
-
// Shared State
commitResult =
store
@@ -334,11 +305,6 @@
new SemanticPropertiesWithId(CONTENT_ID, SEMANTIC_PROPERTIES),
new SemanticPropertiesWithId(CONTENT_ID_2, SEMANTIC_PROPERTIES_2));
- // Action properties
- actionPropertiesResult = store.getActionProperties(Arrays.asList(CONTENT_ID, CONTENT_ID_2));
- assertThat(actionPropertiesResult.isSuccessful()).isTrue();
- assertThat(actionPropertiesResult.getValue()).hasSize(0);
-
// Shared state
sharedStatesResult = store.getSharedStates();
assertThat(sharedStatesResult.isSuccessful()).isTrue();
diff --git a/src/test/proto/search/now/wire/feed/opaque_action_data_for_test.proto b/src/test/proto/search/now/wire/feed/opaque_action_data_for_test.proto
deleted file mode 100644
index 49abb99..0000000
--- a/src/test/proto/search/now/wire/feed/opaque_action_data_for_test.proto
+++ /dev/null
@@ -1,35 +0,0 @@
-// 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.
-
-syntax = "proto2";
-
-package search.now.wire.feed;
-
-option optimize_for=LITE_RUNTIME;
-
-import "src/main/proto/search/now/wire/feed/opaque_action_data.proto";
-
-option java_package = "com.google.search.now.wire.feed";
-option java_outer_classname = "OpaqueActionDataForTestProto";
-
-// A proto that extends feed_action.OpaqueActionData and carries data associated
-// with the not interested in action.
-message OpaqueActionDataForTest {
- // The mid that represents the topic of the story on the card
- optional string id = 1;
-
- extend search.now.wire.feed.OpaqueActionData {
- optional OpaqueActionDataForTest opaque_action_data_for_test_extension = 1;
- }
-}