| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 package org.chromium.sync; | 5 package org.chromium.components.sync; |
| 6 | 6 |
| 7 import com.google.ipc.invalidation.external.client.types.ObjectId; | 7 import com.google.ipc.invalidation.external.client.types.ObjectId; |
| 8 import com.google.protos.ipc.invalidation.Types; | 8 import com.google.protos.ipc.invalidation.Types; |
| 9 | 9 |
| 10 import org.chromium.base.VisibleForTesting; | 10 import org.chromium.base.VisibleForTesting; |
| 11 import org.chromium.base.annotations.JNINamespace; | 11 import org.chromium.base.annotations.JNINamespace; |
| 12 | 12 |
| 13 import java.util.Collection; | 13 import java.util.Collection; |
| 14 import java.util.HashSet; | 14 import java.util.HashSet; |
| 15 import java.util.Set; | 15 import java.util.Set; |
| 16 | 16 |
| 17 /** | 17 /** |
| 18 * Helper methods for dealing with ModelTypes. | 18 * Helper methods for dealing with ModelTypes. |
| 19 * | 19 * |
| 20 * This class deals primarily with converting ModelTypes into notification types
(string | 20 * This class deals primarily with converting ModelTypes into notification types
(string |
| 21 * representations that are used to register for invalidations) and converting n
otification | 21 * representations that are used to register for invalidations) and converting n
otification |
| 22 * types into the actual ObjectIds used for invalidations. | 22 * types into the actual ObjectIds used for invalidations. |
| 23 * | 23 * |
| 24 */ | 24 */ |
| 25 @JNINamespace("syncer") | 25 @JNINamespace("syncer") |
| 26 public class ModelTypeHelper { | 26 public class ModelTypeHelper { |
| 27 /** | 27 /** |
| 28 * Implement this class to override the behavior of | 28 * Implement this class to override the behavior of |
| 29 * {@link ModelTypeHelper#toNotificationType()} for tests. | 29 * {@link ModelTypeHelper#toNotificationType()} for tests. |
| 30 */ | 30 */ |
| 31 public interface TestDelegate { | 31 public interface TestDelegate { public String toNotificationType(int modelTy
pe); } |
| 32 public String toNotificationType(int modelType); | |
| 33 } | |
| 34 | 32 |
| 35 private static final String TAG = "ModelTypeHelper"; | 33 private static final String TAG = "ModelTypeHelper"; |
| 36 | 34 |
| 37 private static final Object sLock = new Object(); | 35 private static final Object sLock = new Object(); |
| 38 | 36 |
| 39 private static final int[] NON_INVALIDATION_TYPES_ARRAY = new int[] { | 37 private static final int[] NON_INVALIDATION_TYPES_ARRAY = new int[] {ModelTy
pe.PROXY_TABS}; |
| 40 ModelType.PROXY_TABS | |
| 41 }; | |
| 42 | 38 |
| 43 private static TestDelegate sDelegate = null; | 39 private static TestDelegate sDelegate = null; |
| 44 | 40 |
| 45 // Convenience sets for checking whether a type can have invalidations. Some
ModelTypes | 41 // Convenience sets for checking whether a type can have invalidations. Some
ModelTypes |
| 46 // such as PROXY_TABS are not real types and can't be registered. Initializi
ng these | 42 // such as PROXY_TABS are not real types and can't be registered. Initializi
ng these |
| 47 // once reduces toNotificationType() calls in the isInvalidationType() metho
d. | 43 // once reduces toNotificationType() calls in the isInvalidationType() metho
d. |
| 48 private static Set<String> sNonInvalidationTypes = null; | 44 private static Set<String> sNonInvalidationTypes = null; |
| 49 | 45 |
| 50 /** | 46 /** |
| 51 * Initializes the non-invalidation sets. Called lazily the first time they'
re needed. | 47 * Initializes the non-invalidation sets. Called lazily the first time they'
re needed. |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 122 return objectIds; | 118 return objectIds; |
| 123 } | 119 } |
| 124 | 120 |
| 125 @VisibleForTesting | 121 @VisibleForTesting |
| 126 public static void setTestDelegate(TestDelegate delegate) { | 122 public static void setTestDelegate(TestDelegate delegate) { |
| 127 sDelegate = delegate; | 123 sDelegate = delegate; |
| 128 } | 124 } |
| 129 | 125 |
| 130 private static native String nativeModelTypeToNotificationType(int modelType
); | 126 private static native String nativeModelTypeToNotificationType(int modelType
); |
| 131 } | 127 } |
| OLD | NEW |