Index: chrome/android/java/src/org/chromium/chrome/browser/payments/ContactEditor.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/ContactEditor.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/ContactEditor.java |
index 8f9d16e6e4df65a747ab22c87bca0461b54dce43..7950bf6f8e0731894d1ea8efaf05db547b650a21 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/payments/ContactEditor.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/ContactEditor.java |
@@ -4,7 +4,6 @@ |
package org.chromium.chrome.browser.payments; |
-import android.support.annotation.IntDef; |
import android.telephony.PhoneNumberUtils; |
import android.text.TextUtils; |
import android.util.Patterns; |
@@ -17,8 +16,6 @@ import org.chromium.chrome.browser.payments.ui.EditorFieldModel; |
import org.chromium.chrome.browser.payments.ui.EditorFieldModel.EditorFieldValidator; |
import org.chromium.chrome.browser.payments.ui.EditorModel; |
-import java.lang.annotation.Retention; |
-import java.lang.annotation.RetentionPolicy; |
import java.util.HashSet; |
import java.util.Set; |
@@ -28,19 +25,15 @@ import javax.annotation.Nullable; |
* Contact information editor. |
*/ |
public class ContactEditor extends EditorBase<AutofillContact> { |
- @IntDef({INVALID_NAME, INVALID_EMAIL, INVALID_PHONE_NUMBER, INVALID_MULTIPLE_FIELDS}) |
- @Retention(RetentionPolicy.SOURCE) |
public @interface CompletionStatus {} |
/** Can be sent to the merchant as-is without editing first. */ |
public static final int COMPLETE = 0; |
/** The contact name is missing. */ |
- public static final int INVALID_NAME = 1; |
+ public static final int INVALID_NAME = 1 << 0; |
/** The contact email is invalid or missing. */ |
- public static final int INVALID_EMAIL = 2; |
+ public static final int INVALID_EMAIL = 1 << 1; |
/** The contact phone number is invalid or missing. */ |
- public static final int INVALID_PHONE_NUMBER = 3; |
- /** Multiple fields are invalid or missing. */ |
- public static final int INVALID_MULTIPLE_FIELDS = 4; |
+ public static final int INVALID_PHONE_NUMBER = 1 << 2; |
private final boolean mRequestPayerName; |
private final boolean mRequestPayerPhone; |
@@ -80,26 +73,18 @@ public class ContactEditor extends EditorBase<AutofillContact> { |
@CompletionStatus |
public int checkContactCompletionStatus( |
@Nullable String name, @Nullable String phone, @Nullable String email) { |
- int invalidFieldCount = 0; |
int completionStatus = COMPLETE; |
if (mRequestPayerName && TextUtils.isEmpty(name)) { |
- invalidFieldCount++; |
- completionStatus = INVALID_NAME; |
+ completionStatus |= INVALID_NAME; |
} |
if (mRequestPayerPhone && !getPhoneValidator().isValid(phone)) { |
- invalidFieldCount++; |
- completionStatus = INVALID_PHONE_NUMBER; |
+ completionStatus |= INVALID_PHONE_NUMBER; |
} |
if (mRequestPayerEmail && !getEmailValidator().isValid(email)) { |
- invalidFieldCount++; |
- completionStatus = INVALID_EMAIL; |
- } |
- |
- if (invalidFieldCount > 1) { |
- completionStatus = INVALID_MULTIPLE_FIELDS; |
+ completionStatus |= INVALID_EMAIL; |
} |
return completionStatus; |
@@ -139,7 +124,8 @@ public class ContactEditor extends EditorBase<AutofillContact> { |
final AutofillContact contact = toEdit == null |
? new AutofillContact(mContext, new AutofillProfile(), null, null, null, |
- INVALID_MULTIPLE_FIELDS) |
+ INVALID_NAME | INVALID_PHONE_NUMBER | INVALID_EMAIL, mRequestPayerName, |
+ mRequestPayerPhone, mRequestPayerEmail) |
: toEdit; |
final EditorFieldModel nameField = mRequestPayerName |