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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/preferences/autofill/AutofillLocalCardEditor.java

Issue 2109643003: Add billing address to masked server credit cards. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add version_66.sql to the build file. Created 4 years, 6 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/preferences/autofill/AutofillLocalCardEditor.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/autofill/AutofillCreditCardEditor.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/autofill/AutofillLocalCardEditor.java
similarity index 77%
copy from chrome/android/java/src/org/chromium/chrome/browser/preferences/autofill/AutofillCreditCardEditor.java
copy to chrome/android/java/src/org/chromium/chrome/browser/preferences/autofill/AutofillLocalCardEditor.java
index ae2e59d3554dfca85117df4952e881a964d4c361..0015ea799651cdb39b21aeab6701d5334b3adda8 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/autofill/AutofillCreditCardEditor.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/autofill/AutofillLocalCardEditor.java
@@ -1,4 +1,4 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
+// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -25,24 +25,21 @@ import org.chromium.chrome.browser.widget.FloatLabelLayout;
import java.text.SimpleDateFormat;
import java.util.Calendar;
-import java.util.List;
import java.util.Locale;
/**
- * Provides the Java-ui for editing a Credit Card autofill entry.
+ * Local credit card settings.
*/
-public class AutofillCreditCardEditor extends AutofillEditorBase {
+public class AutofillLocalCardEditor extends AutofillCreditCardEditor {
private FloatLabelLayout mNameLabel;
private EditText mNameText;
private FloatLabelLayout mNumberLabel;
private EditText mNumberText;
private Spinner mExpirationMonth;
private Spinner mExpirationYear;
- private Spinner mBillingAddress;
private int mInitialExpirationMonthPos;
private int mInitialExpirationYearPos;
- private int mInitialBillingAddressPos;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
@@ -59,8 +56,6 @@ public class AutofillCreditCardEditor extends AutofillEditorBase {
mExpirationMonth = (Spinner) v.findViewById(R.id.autofill_credit_card_editor_month_spinner);
mExpirationYear = (Spinner) v.findViewById(R.id.autofill_credit_card_editor_year_spinner);
- mBillingAddress =
- (Spinner) v.findViewById(R.id.autofill_credit_card_editor_billing_address_spinner);
addSpinnerAdapters();
addCardDataToEditFields();
@@ -70,7 +65,7 @@ public class AutofillCreditCardEditor extends AutofillEditorBase {
@Override
protected int getLayoutId() {
- return R.layout.autofill_credit_card_editor;
+ return R.layout.autofill_local_card_editor;
}
@Override
@@ -118,59 +113,35 @@ public class AutofillCreditCardEditor extends AutofillEditorBase {
}
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mExpirationYear.setAdapter(adapter);
-
- // Populate the billing address dropdown.
- ArrayAdapter<AutofillProfile> profilesAdapter = new ArrayAdapter<AutofillProfile>(
- getActivity(), android.R.layout.simple_spinner_item);
- profilesAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
-
- AutofillProfile noSelection = new AutofillProfile();
- noSelection.setLabel(
- getActivity().getString(R.string.autofill_billing_address_select_prompt));
- profilesAdapter.add(noSelection);
-
- List<AutofillProfile> profiles = PersonalDataManager.getInstance().getProfilesForSettings();
- for (int i = 0; i < profiles.size(); i++) {
- AutofillProfile profile = profiles.get(i);
- if (profile.getIsLocal()) profilesAdapter.add(profile);
- }
-
- mBillingAddress.setAdapter(profilesAdapter);
- mInitialBillingAddressPos = 0;
- mBillingAddress.setSelection(0);
-
- // TODO(rouslan): Use an [+ ADD ADDRESS] button instead of disabling the dropdown.
- // http://crbug.com/623629
- if (profilesAdapter.getCount() == 1) mBillingAddress.setEnabled(false);
}
private void addCardDataToEditFields() {
- CreditCard card = PersonalDataManager.getInstance().getCreditCard(mGUID);
- if (card == null) {
+ if (mCard == null) {
mNameLabel.focusWithoutAnimation();
return;
}
- if (!TextUtils.isEmpty(card.getName())) {
- mNameLabel.setText(card.getName());
+ if (!TextUtils.isEmpty(mCard.getName())) {
+ mNameLabel.setText(mCard.getName());
}
- if (!TextUtils.isEmpty(card.getNumber())) {
- mNumberLabel.setText(card.getNumber());
+ if (!TextUtils.isEmpty(mCard.getNumber())) {
+ mNumberLabel.setText(mCard.getNumber());
}
// Make the name label focusable in touch mode so that mNameText doesn't get focused.
mNameLabel.getLabel().setFocusableInTouchMode(true);
int monthAsInt = 1;
- if (!card.getMonth().isEmpty()) {
- monthAsInt = Integer.parseInt(card.getMonth());
+ if (!mCard.getMonth().isEmpty()) {
+ monthAsInt = Integer.parseInt(mCard.getMonth());
}
- mExpirationMonth.setSelection(monthAsInt - 1);
+ mInitialExpirationMonthPos = monthAsInt - 1;
+ mExpirationMonth.setSelection(mInitialExpirationMonthPos);
mInitialExpirationYearPos = 0;
boolean foundYear = false;
for (int i = 0; i < mExpirationYear.getAdapter().getCount(); i++) {
- if (card.getYear().equals(mExpirationYear.getAdapter().getItem(i))) {
+ if (mCard.getYear().equals(mExpirationYear.getAdapter().getItem(i))) {
mInitialExpirationYearPos = i;
foundYear = true;
break;
@@ -178,29 +149,16 @@ public class AutofillCreditCardEditor extends AutofillEditorBase {
}
// Maybe your card expired years ago? Add the card's year
// to the spinner adapter if not found.
- if (!foundYear && !card.getYear().isEmpty()) {
+ if (!foundYear && !mCard.getYear().isEmpty()) {
@SuppressWarnings("unchecked")
ArrayAdapter<CharSequence> adapter =
(ArrayAdapter<CharSequence>) mExpirationYear.getAdapter();
- adapter.insert(card.getYear(), 0);
+ adapter.insert(mCard.getYear(), 0);
mInitialExpirationYearPos = 0;
}
mExpirationYear.setSelection(mInitialExpirationYearPos);
-
- if (!TextUtils.isEmpty(card.getBillingAddressId())) {
- for (int i = 0; i < mBillingAddress.getAdapter().getCount(); i++) {
- AutofillProfile profile = (AutofillProfile) mBillingAddress.getAdapter().getItem(i);
- if (TextUtils.equals(profile.getGUID(), card.getBillingAddressId())) {
- mInitialBillingAddressPos = i;
- mBillingAddress.setSelection(i);
- break;
- }
- }
- }
}
- // Read edited data; save in the associated Chrome profile.
- // Ignore empty fields.
@Override
protected void saveEntry() {
// Remove all spaces in editText.
@@ -212,7 +170,6 @@ public class AutofillCreditCardEditor extends AutofillEditorBase {
(String) mExpirationYear.getSelectedItem(), "" /* basicCardPaymentType */,
0 /* issuerIconDrawableId */,
((AutofillProfile) mBillingAddress.getSelectedItem()).getGUID() /* billing */);
-
PersonalDataManager.getInstance().setCreditCard(card);
}
@@ -238,8 +195,7 @@ public class AutofillCreditCardEditor extends AutofillEditorBase {
private void updateSaveButtonEnabled() {
boolean enabled = !TextUtils.isEmpty(mNameText.getText())
|| !TextUtils.isEmpty(mNumberText.getText());
- Button button = (Button) getView().findViewById(R.id.button_primary);
- button.setEnabled(enabled);
+ ((Button) getView().findViewById(R.id.button_primary)).setEnabled(enabled);
}
/**

Powered by Google App Engine
This is Rietveld 408576698