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 80b63549e85a9473375a5010bbacb7b439caa072..bb7adc63e9f13d4424e89610a6b1f0b4fc387fa8 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 |
@@ -8,6 +8,7 @@ import android.content.Context; |
import android.util.Log; |
import com.google.common.annotations.VisibleForTesting; |
+import com.google.common.base.Joiner; |
import org.chromium.base.CalledByNative; |
import org.chromium.base.ThreadUtils; |
@@ -18,6 +19,8 @@ import org.chromium.sync.internal_api.pub.base.ModelType; |
import java.util.HashSet; |
import java.util.List; |
import java.util.Set; |
+import java.util.SortedSet; |
+import java.util.TreeSet; |
import java.util.concurrent.CopyOnWriteArrayList; |
/** |
@@ -345,6 +348,11 @@ public class ProfileSyncService { |
public Set<ModelType> getPreferredDataTypes() { |
long modelTypeSelection = |
nativeGetEnabledDataTypes(mNativeProfileSyncServiceAndroid); |
+ return modelTypeSelectionToSet(modelTypeSelection); |
+ } |
+ |
+ @VisibleForTesting |
+ public static Set<ModelType> modelTypeSelectionToSet(long modelTypeSelection) { |
Set<ModelType> syncTypes = new HashSet<ModelType>(); |
if ((modelTypeSelection & ModelTypeSelection.AUTOFILL) != 0) { |
syncTypes.add(ModelType.AUTOFILL); |
@@ -385,6 +393,9 @@ public class ProfileSyncService { |
if ((modelTypeSelection & ModelTypeSelection.FAVICON_TRACKING) != 0) { |
syncTypes.add(ModelType.FAVICON_TRACKING); |
} |
+ if ((modelTypeSelection & ModelTypeSelection.SUPERVISED_USER_SETTING) != 0) { |
+ syncTypes.add(ModelType.MANAGED_USER_SETTING); |
+ } |
return syncTypes; |
} |
@@ -513,6 +524,17 @@ 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()); |
+ } |
+ return Joiner.on(", ").join(set); |
+ } |
+ |
// Native methods |
private native void nativeNudgeSyncer( |
long nativeProfileSyncServiceAndroid, int objectSource, String objectId, long version, |