| Index: chrome/android/java/src/org/chromium/chrome/browser/preferences/autofill/AutofillServerCardEditor.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/autofill/AutofillServerCardEditor.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/autofill/AutofillServerCardEditor.java
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..daeac4aed7098d71a919c5981e8556c6ac3dec07
|
| --- /dev/null
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/autofill/AutofillServerCardEditor.java
|
| @@ -0,0 +1,108 @@
|
| +// 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.
|
| +
|
| +package org.chromium.chrome.browser.preferences.autofill;
|
| +
|
| +import android.os.Bundle;
|
| +import android.view.LayoutInflater;
|
| +import android.view.View;
|
| +import android.view.ViewGroup;
|
| +import android.widget.AdapterView;
|
| +import android.widget.Button;
|
| +import android.widget.TextView;
|
| +
|
| +import org.chromium.chrome.R;
|
| +import org.chromium.chrome.browser.EmbedContentViewActivity;
|
| +import org.chromium.chrome.browser.autofill.PersonalDataManager;
|
| +import org.chromium.chrome.browser.autofill.PersonalDataManager.AutofillProfile;
|
| +
|
| +/**
|
| + * Server credit card settings.
|
| + */
|
| +public class AutofillServerCardEditor extends AutofillCreditCardEditor {
|
| + private View mLocalCopyLabel;
|
| + private View mClearLocalCopy;
|
| +
|
| + @Override
|
| + public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
| + Bundle savedInstanceState) {
|
| + final View v = super.onCreateView(inflater, container, savedInstanceState);
|
| + if (mCard == null) {
|
| + getActivity().finish();
|
| + return v;
|
| + }
|
| +
|
| + ((TextView) v.findViewById(R.id.title)).setText(mCard.getObfuscatedNumber());
|
| + ((TextView) v.findViewById(R.id.summary)).setText(mCard.getFormattedExpirationDate(
|
| + getActivity()));
|
| + v.findViewById(R.id.edit_server_card).setOnClickListener(new View.OnClickListener() {
|
| + @Override
|
| + public void onClick(View v) {
|
| + EmbedContentViewActivity.show(getActivity(), R.string.autofill_edit_credit_card,
|
| + R.string.autofill_manage_wallet_cards_url);
|
| + }
|
| + });
|
| +
|
| +
|
| + mLocalCopyLabel = v.findViewById(R.id.local_copy_label);
|
| + mClearLocalCopy = v.findViewById(R.id.clear_local_copy);
|
| +
|
| + if (mCard.getIsCached()) {
|
| + mClearLocalCopy.setOnClickListener(new View.OnClickListener() {
|
| + @Override
|
| + public void onClick(View v) {
|
| + PersonalDataManager.getInstance().clearUnmaskedCache(mGUID);
|
| + removeLocalCopyViews();
|
| + }
|
| + });
|
| + } else {
|
| + removeLocalCopyViews();
|
| + }
|
| +
|
| + initializeButtons(v);
|
| + return v;
|
| + }
|
| +
|
| + private void removeLocalCopyViews() {
|
| + ViewGroup parent = (ViewGroup) mClearLocalCopy.getParent();
|
| + if (parent == null) return;
|
| +
|
| + parent.removeView(mLocalCopyLabel);
|
| + parent.removeView(mClearLocalCopy);
|
| + }
|
| +
|
| + @Override
|
| + protected int getLayoutId() {
|
| + return R.layout.autofill_server_card_editor;
|
| + }
|
| +
|
| + @Override
|
| + protected int getTitleResourceId(boolean isNewEntry) {
|
| + return R.string.autofill_edit_credit_card;
|
| + }
|
| +
|
| + @Override
|
| + public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
| + if (parent == mBillingAddress && position != mInitialBillingAddressPos) {
|
| + ((Button) getView().findViewById(R.id.button_primary)).setEnabled(true);
|
| + }
|
| + }
|
| +
|
| + @Override
|
| + protected void saveEntry() {
|
| + PersonalDataManager.getInstance().updateServerCardBillingAddress(mGUID,
|
| + ((AutofillProfile) mBillingAddress.getSelectedItem()).getGUID());
|
| + }
|
| +
|
| + @Override
|
| + protected boolean getIsDeletable() {
|
| + return false;
|
| + }
|
| +
|
| + @Override
|
| + protected void initializeButtons(View v) {
|
| + super.initializeButtons(v);
|
| + mBillingAddress.setOnItemSelectedListener(this);
|
| + }
|
| +}
|
|
|