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); |
+ } |
+} |