| Index: sync/android/java/src/org/chromium/sync/internal_api/pub/base/ModelType.java
|
| diff --git a/sync/android/java/src/org/chromium/sync/internal_api/pub/base/ModelType.java b/sync/android/java/src/org/chromium/sync/internal_api/pub/base/ModelType.java
|
| index ad6b33cbf59d70988f36cf4830de19ec51a1e3fe..b2a6877624aa53c75282ae97b70202fb441a0af7 100644
|
| --- a/sync/android/java/src/org/chromium/sync/internal_api/pub/base/ModelType.java
|
| +++ b/sync/android/java/src/org/chromium/sync/internal_api/pub/base/ModelType.java
|
| @@ -10,6 +10,9 @@ import com.google.common.annotations.VisibleForTesting;
|
| import com.google.ipc.invalidation.external.client.types.ObjectId;
|
| import com.google.protos.ipc.invalidation.Types;
|
|
|
| +import org.chromium.base.FieldTrialList;
|
| +import org.chromium.base.library_loader.LibraryLoader;
|
| +
|
| import java.util.Collection;
|
| import java.util.EnumSet;
|
| import java.util.HashSet;
|
| @@ -90,6 +93,15 @@ public enum ModelType {
|
| this(modelType, false);
|
| }
|
|
|
| + private boolean isNonInvalidationType() {
|
| + if (this == SESSION && LibraryLoader.isInitialized()) {
|
| + return FieldTrialList
|
| + .findFullName("AndroidSessionNotifications")
|
| + .equals("Disabled");
|
| + }
|
| + return mNonInvalidationType;
|
| + }
|
| +
|
| /**
|
| * Returns the {@link ObjectId} representation of this {@link ModelType}.
|
| *
|
| @@ -155,7 +167,7 @@ public enum ModelType {
|
| public static Set<ObjectId> modelTypesToObjectIds(Set<ModelType> modelTypes) {
|
| Set<ObjectId> objectIds = new HashSet<ObjectId>(modelTypes.size());
|
| for (ModelType modelType : modelTypes) {
|
| - if (!modelType.mNonInvalidationType) {
|
| + if (!modelType.isNonInvalidationType()) {
|
| objectIds.add(modelType.toObjectId());
|
| }
|
| }
|
|
|