Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2179)

Unified Diff: sync/android/javatests/src/org/chromium/sync/notifier/TestableInvalidationService.java

Issue 23643002: Enable invalidations for arbitrary objects on Android. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: sync/android/javatests/src/org/chromium/sync/notifier/TestableInvalidationService.java
diff --git a/sync/android/javatests/src/org/chromium/sync/notifier/TestableInvalidationService.java b/sync/android/javatests/src/org/chromium/sync/notifier/TestableInvalidationService.java
index 04eb6bab6576d473df5e8b6f7621e188f4d8a343..68bdacee4555711b66b837907318630a7f6f9d2f 100644
--- a/sync/android/javatests/src/org/chromium/sync/notifier/TestableInvalidationService.java
+++ b/sync/android/javatests/src/org/chromium/sync/notifier/TestableInvalidationService.java
@@ -14,7 +14,9 @@ import com.google.ipc.invalidation.external.client.types.ObjectId;
import org.chromium.base.CollectionUtil;
import java.util.ArrayList;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
/**
* Subclass of {@link InvalidationService} that captures events and allows controlling
@@ -29,6 +31,12 @@ public class TestableInvalidationService extends InvalidationService {
/** Object ids given to {@link #unregister}, one list element per call. */
final List<List<ObjectId>> mUnregistrations = new ArrayList<List<ObjectId>>();
+ /**
+ * Current registered based on the cumulative calls to {@link #register} and
+ * {@link #unregister}.
+ */
+ final Set<ObjectId> mCurrentRegistrations = new HashSet<ObjectId>();
+
/** Intents given to {@link #startService}. */
final List<Intent> mStartedServices = new ArrayList<Intent>();
@@ -53,13 +61,17 @@ public class TestableInvalidationService extends InvalidationService {
@Override
public void register(byte[] clientId, Iterable<ObjectId> objectIds) {
- mRegistrations.add(CollectionUtil.newArrayList(objectIds));
+ List<ObjectId> objectIdList = CollectionUtil.newArrayList(objectIds);
+ mRegistrations.add(objectIdList);
+ mCurrentRegistrations.addAll(objectIdList);
super.register(clientId, objectIds);
}
@Override
public void unregister(byte[] clientId, Iterable<ObjectId> objectIds) {
- mUnregistrations.add(CollectionUtil.newArrayList(objectIds));
+ List<ObjectId> objectIdList = CollectionUtil.newArrayList(objectIds);
+ mUnregistrations.add(objectIdList);
+ mCurrentRegistrations.removeAll(objectIdList);
super.unregister(clientId, objectIds);
}
« no previous file with comments | « sync/android/javatests/src/org/chromium/sync/notifier/InvalidationServiceTest.java ('k') | sync/sync_android.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698