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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/sync/ProfileSyncService.java

Issue 1247853007: [Sync] Add auto-generated ModelType in Java. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add SYNC_EXPORT and rebase. Created 5 years, 5 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: chrome/android/java/src/org/chromium/chrome/browser/sync/ProfileSyncService.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/ProfileSyncService.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/ProfileSyncService.java
index 1213efcbbed184dd1670ec9d738333dcc4edce99..e7f5e91a6048c90d022d47042e05c67a96b35743 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/sync/ProfileSyncService.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/ProfileSyncService.java
@@ -16,17 +16,14 @@ import org.chromium.base.ThreadUtils;
import org.chromium.base.VisibleForTesting;
import org.chromium.base.annotations.SuppressFBWarnings;
import org.chromium.chrome.browser.identity.UniqueIdentificationGenerator;
+import org.chromium.sync.ModelType;
import org.chromium.sync.internal_api.pub.PassphraseType;
-import org.chromium.sync.internal_api.pub.base.ModelType;
import org.json.JSONArray;
import org.json.JSONException;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.List;
import java.util.Set;
-import java.util.SortedSet;
-import java.util.TreeSet;
import java.util.concurrent.CopyOnWriteArrayList;
/**
@@ -73,6 +70,15 @@ public class ProfileSyncService {
@VisibleForTesting
public static final String SESSION_TAG_PREFIX = "session_sync";
+ private static final int[] ALL_SELECTABLE_TYPES = new int[] {
Nicolas Zea 2015/07/30 01:02:04 Where was this previously?
maxbogue 2015/07/30 21:15:15 It was implicit in the implementation of setPrefer
+ ModelType.AUTOFILL,
+ ModelType.BOOKMARKS,
+ ModelType.PASSWORDS,
+ ModelType.PREFERENCES,
+ ModelType.PROXY_TABS,
+ ModelType.TYPED_URLS
+ };
+
private static ProfileSyncService sProfileSyncService;
@VisibleForTesting
@@ -348,9 +354,9 @@ public class ProfileSyncService {
*
* @return Set of active data types.
*/
- public Set<ModelType> getActiveDataTypes() {
- long modelTypeSelection = nativeGetActiveDataTypes(mNativeProfileSyncServiceAndroid);
- return modelTypeSelectionToSet(modelTypeSelection);
+ public Set<Integer> getActiveDataTypes() {
+ int[] activeDataTypes = nativeGetActiveDataTypes(mNativeProfileSyncServiceAndroid);
+ return modelTypeArrayToSet(activeDataTypes);
}
/**
@@ -360,72 +366,30 @@ public class ProfileSyncService {
*
* @return Set of preferred types.
*/
- public Set<ModelType> getPreferredDataTypes() {
- long modelTypeSelection = nativeGetPreferredDataTypes(mNativeProfileSyncServiceAndroid);
- return modelTypeSelectionToSet(modelTypeSelection);
+ public Set<Integer> getPreferredDataTypes() {
+ int[] modelTypeArray = nativeGetPreferredDataTypes(mNativeProfileSyncServiceAndroid);
+ return modelTypeArrayToSet(modelTypeArray);
}
@VisibleForTesting
- public static Set<ModelType> modelTypeSelectionToSet(long modelTypeSelection) {
- Set<ModelType> syncTypes = new HashSet<ModelType>();
- if ((modelTypeSelection & ModelTypeSelection.AUTOFILL) != 0) {
- syncTypes.add(ModelType.AUTOFILL);
- }
- if ((modelTypeSelection & ModelTypeSelection.AUTOFILL_PROFILE) != 0) {
- syncTypes.add(ModelType.AUTOFILL_PROFILE);
- }
- if ((modelTypeSelection & ModelTypeSelection.AUTOFILL_WALLET) != 0) {
- syncTypes.add(ModelType.AUTOFILL_WALLET);
- }
- if ((modelTypeSelection & ModelTypeSelection.AUTOFILL_WALLET_METADATA) != 0) {
- syncTypes.add(ModelType.AUTOFILL_WALLET_METADATA);
- }
- if ((modelTypeSelection & ModelTypeSelection.BOOKMARK) != 0) {
- syncTypes.add(ModelType.BOOKMARK);
- }
- if ((modelTypeSelection & ModelTypeSelection.DEVICE_INFO) != 0) {
- syncTypes.add(ModelType.DEVICE_INFO);
- }
- if ((modelTypeSelection & ModelTypeSelection.EXPERIMENTS) != 0) {
- syncTypes.add(ModelType.EXPERIMENTS);
- }
- if ((modelTypeSelection & ModelTypeSelection.FAVICON_IMAGE) != 0) {
- syncTypes.add(ModelType.FAVICON_IMAGE);
- }
- if ((modelTypeSelection & ModelTypeSelection.FAVICON_TRACKING) != 0) {
- syncTypes.add(ModelType.FAVICON_TRACKING);
- }
- if ((modelTypeSelection & ModelTypeSelection.HISTORY_DELETE_DIRECTIVE) != 0) {
- syncTypes.add(ModelType.HISTORY_DELETE_DIRECTIVE);
- }
- if ((modelTypeSelection & ModelTypeSelection.NIGORI) != 0) {
- syncTypes.add(ModelType.NIGORI);
- }
- if ((modelTypeSelection & ModelTypeSelection.PASSWORD) != 0) {
- syncTypes.add(ModelType.PASSWORD);
- }
- if ((modelTypeSelection & ModelTypeSelection.PREFERENCE) != 0) {
- syncTypes.add(ModelType.PREFERENCE);
- }
- if ((modelTypeSelection & ModelTypeSelection.PRIORITY_PREFERENCE) != 0) {
- syncTypes.add(ModelType.PRIORITY_PREFERENCE);
- }
- if ((modelTypeSelection & ModelTypeSelection.PROXY_TABS) != 0) {
- syncTypes.add(ModelType.PROXY_TABS);
- }
- if ((modelTypeSelection & ModelTypeSelection.SESSION) != 0) {
- syncTypes.add(ModelType.SESSION);
+ public static Set<Integer> modelTypeArrayToSet(int[] modelTypeArray) {
+ Set<Integer> modelTypeSet = new HashSet<Integer>();
+ for (int i = 0; i < modelTypeArray.length; i++) {
+ modelTypeSet.add(modelTypeArray[i]);
}
- if ((modelTypeSelection & ModelTypeSelection.SUPERVISED_USER_SETTING) != 0) {
- syncTypes.add(ModelType.MANAGED_USER_SETTING);
- }
- if ((modelTypeSelection & ModelTypeSelection.SUPERVISED_USER_WHITELIST) != 0) {
- syncTypes.add(ModelType.MANAGED_USER_WHITELIST);
+ return modelTypeSet;
+ }
+
+ public static int[] modelTypeSetToArray(Set<Integer> modelTypeSet) {
+ if (modelTypeSet == null) {
+ return new int[0];
}
- if ((modelTypeSelection & ModelTypeSelection.TYPED_URL) != 0) {
- syncTypes.add(ModelType.TYPED_URL);
+ int[] modelTypeArray = new int[modelTypeSet.size()];
Nicolas Zea 2015/07/30 01:02:04 Is the order of the elements int he array defined?
maxbogue 2015/07/30 21:15:15 The array only exists for the JNI conversion and i
+ int i = 0;
+ for (int modelType : modelTypeSet) {
+ modelTypeArray[i++] = modelType;
}
- return syncTypes;
+ return modelTypeArray;
}
public boolean hasKeepEverythingSynced() {
@@ -440,28 +404,9 @@ public class ProfileSyncService {
* @param enabledTypes The set of types to enable. Ignored (can be null) if
* syncEverything is true.
*/
- public void setPreferredDataTypes(boolean syncEverything, Set<ModelType> enabledTypes) {
- long modelTypeSelection = 0;
- if (syncEverything || enabledTypes.contains(ModelType.AUTOFILL)) {
- modelTypeSelection |= ModelTypeSelection.AUTOFILL;
- }
- if (syncEverything || enabledTypes.contains(ModelType.BOOKMARK)) {
- modelTypeSelection |= ModelTypeSelection.BOOKMARK;
- }
- if (syncEverything || enabledTypes.contains(ModelType.PASSWORD)) {
- modelTypeSelection |= ModelTypeSelection.PASSWORD;
- }
- if (syncEverything || enabledTypes.contains(ModelType.PREFERENCE)) {
- modelTypeSelection |= ModelTypeSelection.PREFERENCE;
- }
- if (syncEverything || enabledTypes.contains(ModelType.PROXY_TABS)) {
- modelTypeSelection |= ModelTypeSelection.PROXY_TABS;
- }
- if (syncEverything || enabledTypes.contains(ModelType.TYPED_URL)) {
- modelTypeSelection |= ModelTypeSelection.TYPED_URL;
- }
- nativeSetPreferredDataTypes(
- mNativeProfileSyncServiceAndroid, syncEverything, modelTypeSelection);
+ public void setPreferredDataTypes(boolean syncEverything, Set<Integer> enabledTypes) {
+ nativeSetPreferredDataTypes(mNativeProfileSyncServiceAndroid, syncEverything, syncEverything
+ ? ALL_SELECTABLE_TYPES : modelTypeSetToArray(enabledTypes));
}
public void setSyncSetupCompleted() {
@@ -570,32 +515,12 @@ public class ProfileSyncService {
nativeOverrideNetworkResourcesForTest(mNativeProfileSyncServiceAndroid, networkResources);
}
- @CalledByNative
- private static String modelTypeSelectionToStringForTest(long modelTypeSelection) {
- SortedSet<String> set = new TreeSet<String>();
- Set<ModelType> filteredTypes = ModelType.filterOutNonInvalidationTypes(
- modelTypeSelectionToSet(modelTypeSelection));
- for (ModelType type : filteredTypes) {
- set.add(type.toString());
- }
- StringBuilder sb = new StringBuilder();
- Iterator<String> it = set.iterator();
- if (it.hasNext()) {
- sb.append(it.next());
- while (it.hasNext()) {
- sb.append(", ");
- sb.append(it.next());
- }
- }
- return sb.toString();
- }
-
/**
* @return Whether sync is enabled to sync urls or open tabs with a non custom passphrase.
*/
public boolean isSyncingUrlsWithKeystorePassphrase() {
return isSyncInitialized()
- && getPreferredDataTypes().contains(ModelType.TYPED_URL)
+ && getPreferredDataTypes().contains(ModelType.TYPED_URLS)
&& getPassphraseType().equals(PassphraseType.KEYSTORE_PASSPHRASE);
}
@@ -677,10 +602,10 @@ public class ProfileSyncService {
private native String nativeGetSyncEnterCustomPassphraseBodyText(
long nativeProfileSyncServiceAndroid);
private native boolean nativeIsSyncKeystoreMigrationDone(long nativeProfileSyncServiceAndroid);
- private native long nativeGetActiveDataTypes(long nativeProfileSyncServiceAndroid);
- private native long nativeGetPreferredDataTypes(long nativeProfileSyncServiceAndroid);
+ private native int[] nativeGetActiveDataTypes(long nativeProfileSyncServiceAndroid);
+ private native int[] nativeGetPreferredDataTypes(long nativeProfileSyncServiceAndroid);
private native void nativeSetPreferredDataTypes(
- long nativeProfileSyncServiceAndroid, boolean syncEverything, long modelTypeSelection);
+ long nativeProfileSyncServiceAndroid, boolean syncEverything, int[] modelTypeArray);
private native void nativeSetSetupInProgress(
long nativeProfileSyncServiceAndroid, boolean inProgress);
private native void nativeSetSyncSetupCompleted(long nativeProfileSyncServiceAndroid);

Powered by Google App Engine
This is Rietveld 408576698