| Index: sync/android/java/src/org/chromium/sync/internal_api/pub/SyncDecryptionPassphraseType.java
|
| diff --git a/sync/android/java/src/org/chromium/sync/internal_api/pub/SyncDecryptionPassphraseType.java b/sync/android/java/src/org/chromium/sync/internal_api/pub/SyncDecryptionPassphraseType.java
|
| index 3010c1a1def8d67a384c01a7a0af42dccf3ba27a..27de932d2dabe35eb349d792a142106fa466b5f1 100644
|
| --- a/sync/android/java/src/org/chromium/sync/internal_api/pub/SyncDecryptionPassphraseType.java
|
| +++ b/sync/android/java/src/org/chromium/sync/internal_api/pub/SyncDecryptionPassphraseType.java
|
| @@ -7,6 +7,9 @@ package org.chromium.sync.internal_api.pub;
|
| import android.os.Parcel;
|
| import android.os.Parcelable;
|
|
|
| +import java.util.HashSet;
|
| +import java.util.Set;
|
| +
|
| /**
|
| * This enum describes the type of passphrase required, if any, to decrypt synced data.
|
| *
|
| @@ -51,6 +54,50 @@ public enum SyncDecryptionPassphraseType implements Parcelable {
|
| mNativeValue = nativeValue;
|
| }
|
|
|
| +
|
| + public Set<SyncDecryptionPassphraseType> getVisibleTypes() {
|
| + Set<SyncDecryptionPassphraseType> visibleTypes = new HashSet<>();
|
| + switch (this) {
|
| + case NONE: // Intentional fall through.
|
| + case IMPLICIT_PASSPHRASE: // Intentional fall through.
|
| + case KEYSTORE_PASSPHRASE:
|
| + visibleTypes.add(this);
|
| + visibleTypes.add(CUSTOM_PASSPHRASE);
|
| + break;
|
| + case FROZEN_IMPLICIT_PASSPHRASE:
|
| + visibleTypes.add(KEYSTORE_PASSPHRASE);
|
| + visibleTypes.add(FROZEN_IMPLICIT_PASSPHRASE);
|
| + break;
|
| + case CUSTOM_PASSPHRASE:
|
| + visibleTypes.add(KEYSTORE_PASSPHRASE);
|
| + visibleTypes.add(CUSTOM_PASSPHRASE);
|
| + break;
|
| + case INVALID: // Intentional fall through.
|
| + default:
|
| + visibleTypes.add(this);
|
| + break;
|
| + }
|
| + return visibleTypes;
|
| + }
|
| +
|
| + public Set<SyncDecryptionPassphraseType> getAllowedTypes() {
|
| + Set<SyncDecryptionPassphraseType> allowedTypes = new HashSet<>();
|
| + switch (this) {
|
| + case NONE: // Intentional fall through.
|
| + case IMPLICIT_PASSPHRASE: // Intentional fall through.
|
| + case KEYSTORE_PASSPHRASE:
|
| + allowedTypes.add(this);
|
| + allowedTypes.add(CUSTOM_PASSPHRASE);
|
| + break;
|
| + case FROZEN_IMPLICIT_PASSPHRASE: // Intentional fall through.
|
| + case CUSTOM_PASSPHRASE: // Intentional fall through.
|
| + case INVALID: // Intentional fall through.
|
| + default:
|
| + break;
|
| + }
|
| + return allowedTypes;
|
| + }
|
| +
|
| public int internalValue() {
|
| // Since the values in this enums are constant and very small, this cast is safe.
|
| return mNativeValue;
|
|
|