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

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

Issue 997713004: Redo Autofill wallet preferences on Android. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: more review Created 5 years, 9 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/AutofillServerCardPreferences.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/autofill/AutofillServerCardPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/autofill/AutofillServerCardPreferences.java
new file mode 100644
index 0000000000000000000000000000000000000000..3f85a6549d12ca7d0e4dac87f7b22b488e9e21c7
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/autofill/AutofillServerCardPreferences.java
@@ -0,0 +1,73 @@
+// Copyright 2015 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.preference.Preference;
+import android.preference.Preference.OnPreferenceClickListener;
+import android.preference.PreferenceFragment;
+
+import org.chromium.chrome.R;
+import org.chromium.chrome.browser.autofill.PersonalDataManager;
+import org.chromium.chrome.browser.autofill.PersonalDataManager.CreditCard;
+import org.chromium.chrome.browser.preferences.Preferences;
+
+/**
+ * Fragment for settings page that allows user to view and edit a single server-provided credit
+ * card.
+ */
+public class AutofillServerCardPreferences
+ extends PreferenceFragment implements OnPreferenceClickListener {
+ private String mGUID;
+
+ private static final String PREF_SERVER_CARD_DESCRIPTION = "server_card_description";
+ private static final String PREF_SERVER_CARD_EDIT_LINK = "server_card_edit_link";
+ private static final String PREF_SERVER_CARD_LOCAL_COPY = "server_card_local_copy_button";
+
+ @Override
+ public void onCreate(Bundle savedState) {
+ super.onCreate(savedState);
+ addPreferencesFromResource(R.xml.autofill_server_card_preferences);
+ getActivity().setTitle(R.string.autofill_edit_credit_card);
+
+ // We know which card to display based on the GUID stuffed in
+ // our extras by AutofillPreferences.
+ Bundle extras = getArguments();
+ if (extras != null) {
+ mGUID = extras.getString(AutofillPreferences.AUTOFILL_GUID);
+ }
+ assert mGUID != null;
+ CreditCard card = PersonalDataManager.getInstance().getCreditCard(mGUID);
+ assert !card.getIsLocal();
+
+ Preference cardDescription = findPreference(PREF_SERVER_CARD_DESCRIPTION);
+ cardDescription.setTitle(card.getObfuscatedNumber());
+ cardDescription.setSummary(card.getFormattedExpirationDate(getActivity()));
+
+ findPreference(PREF_SERVER_CARD_EDIT_LINK).setOnPreferenceClickListener(this);
+
+ Preference clearLocalCopy = findPreference(PREF_SERVER_CARD_LOCAL_COPY);
+ if (!card.getIsCached()) {
+ getPreferenceScreen().removePreference(clearLocalCopy);
+ } else {
+ clearLocalCopy.setOnPreferenceClickListener(this);
+ }
+ }
+
+ @Override
+ public boolean onPreferenceClick(Preference preference) {
+ if (preference.getKey().equals(PREF_SERVER_CARD_EDIT_LINK)) {
+ ((Preferences) preference.getContext())
+ .showUrl(R.string.autofill_edit_credit_card,
+ R.string.autofill_manage_wallet_cards_url);
+ } else {
+ assert preference.getKey().equals(PREF_SERVER_CARD_LOCAL_COPY);
+ PersonalDataManager.getInstance().clearUnmaskedCache(mGUID);
+ // It's no longer cached locally. Hide the clear button.
+ getPreferenceScreen().removePreference(preference);
+ }
+ return true;
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698