Chromium Code Reviews| 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..ebb79e5f0f1be91d6513e7bf8be6ea7a6b21a4db |
| --- /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(); |
| + } |
| + }); |
|
gone
2016/06/30 17:26:37
I'd line up the }); with the start of mClearLocalC
please use gerrit instead
2016/06/30 18:36:27
Done.
|
| + } 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); |
| + } |
| +} |