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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/preferences/autofill/AutofillPreferences.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/AutofillPreferences.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/autofill/AutofillPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/autofill/AutofillPreferences.java
index b84dbdb1837b0d9b91f81061e5453747127dbd65..0bfb955cf5e41d098a4bb01fae090ffbf4290c76 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/autofill/AutofillPreferences.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/autofill/AutofillPreferences.java
@@ -12,13 +12,12 @@ import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.PreferenceFragment;
import android.preference.PreferenceGroup;
-import android.preference.PreferenceScreen;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.autofill.PersonalDataManager;
import org.chromium.chrome.browser.autofill.PersonalDataManager.AutofillProfile;
import org.chromium.chrome.browser.autofill.PersonalDataManager.CreditCard;
-import org.chromium.chrome.browser.preferences.ChromeBasePreference;
+import org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference;
import org.chromium.chrome.browser.preferences.ChromeSwitchPreference;
/**
@@ -28,16 +27,15 @@ public class AutofillPreferences extends PreferenceFragment
implements OnPreferenceChangeListener, PersonalDataManager.PersonalDataManagerObserver {
public static final String AUTOFILL_GUID = "guid";
- // Need to be in sync with kSettingsOrigin[] in
+ // Needs to be in sync with kSettingsOrigin[] in
// chrome/browser/ui/webui/options/autofill_options_handler.cc
public static final String SETTINGS_ORIGIN = "Chrome settings";
- private static final int SUMMARY_CHAR_LENGTH = 40;
private static final String PREF_AUTOFILL_SWITCH = "autofill_switch";
private static final String PREF_AUTOFILL_PROFILES = "autofill_profiles";
private static final String PREF_AUTOFILL_CREDIT_CARDS = "autofill_credit_cards";
private static final String PREF_AUTOFILL_WALLET = "autofill_wallet";
- ChromeBasePreference mWalletPref;
+ ChromeBaseCheckBoxPreference mWalletPref;
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -47,10 +45,6 @@ public class AutofillPreferences extends PreferenceFragment
ChromeSwitchPreference autofillSwitch =
(ChromeSwitchPreference) findPreference(PREF_AUTOFILL_SWITCH);
-
- boolean isAutofillEnabled = PersonalDataManager.isAutofillEnabled();
- autofillSwitch.setChecked(isAutofillEnabled);
-
autofillSwitch.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
@@ -59,7 +53,15 @@ public class AutofillPreferences extends PreferenceFragment
}
});
- mWalletPref = (ChromeBasePreference) findPreference(PREF_AUTOFILL_WALLET);
+ mWalletPref = (ChromeBaseCheckBoxPreference) findPreference(PREF_AUTOFILL_WALLET);
+ mWalletPref.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ PersonalDataManager.setWalletImportEnabled((boolean) newValue);
+ return true;
+ }
+ });
+
setPreferenceCategoryIcons();
}
@@ -99,21 +101,20 @@ public class AutofillPreferences extends PreferenceFragment
profileCategory.removeAll();
for (AutofillProfile profile : PersonalDataManager.getInstance().getProfiles()) {
// Add an item on the current page...
- PreferenceScreen screen = getPreferenceManager().createPreferenceScreen(getActivity());
- screen.setTitle(profile.getFullName());
-
- // TODO(aruslan): I18N and new UI style: http://crbug.com/178541.
- String summary = profile.getLabel();
- if (summary.length() > SUMMARY_CHAR_LENGTH) {
- summary = summary.substring(0, SUMMARY_CHAR_LENGTH);
- summary += "...";
+ Preference pref = new Preference(getActivity());
+ pref.setTitle(profile.getFullName());
+ pref.setSummary(profile.getLabel());
+
+ if (profile.getIsLocal()) {
+ pref.setFragment(AutofillProfileEditor.class.getName());
+ } else {
+ pref.setWidgetLayoutResource(R.layout.autofill_server_data_label);
+ pref.setFragment(AutofillServerProfilePreferences.class.getName());
}
- screen.setSummary(summary);
- screen.setFragment(AutofillProfileEditor.class.getName());
- Bundle args = screen.getExtras();
+ Bundle args = pref.getExtras();
args.putString(AUTOFILL_GUID, profile.getGUID());
- profileCategory.addPreference(screen);
+ profileCategory.addPreference(pref);
}
}
@@ -123,19 +124,27 @@ public class AutofillPreferences extends PreferenceFragment
profileCategory.removeAll();
for (CreditCard card : PersonalDataManager.getInstance().getCreditCards()) {
// Add an item on the current page...
- PreferenceScreen screen = getPreferenceManager().createPreferenceScreen(getActivity());
- screen.setTitle(card.getName());
- screen.setSummary(card.getObfuscatedNumber());
- screen.setFragment(AutofillCreditCardEditor.class.getName());
- Bundle args = screen.getExtras();
+ Preference pref = new Preference(getActivity());
+ pref.setTitle(card.getObfuscatedNumber());
+ pref.setSummary(card.getFormattedExpirationDate(getActivity()));
+
+ if (card.getIsLocal()) {
+ pref.setFragment(AutofillCreditCardEditor.class.getName());
+ } else {
+ pref.setWidgetLayoutResource(R.layout.autofill_server_data_label);
+ pref.setFragment(AutofillServerCardPreferences.class.getName());
+ }
+
+ Bundle args = pref.getExtras();
args.putString(AUTOFILL_GUID, card.getGUID());
- profileCategory.addPreference(screen);
+ profileCategory.addPreference(pref);
}
}
private void updateSummaries() {
ChromeSwitchPreference autofillSwitch =
(ChromeSwitchPreference) findPreference(PREF_AUTOFILL_SWITCH);
+ autofillSwitch.setChecked(PersonalDataManager.isAutofillEnabled());
if (!PersonalDataManager.isWalletImportFeatureAvailable()) {
getPreferenceScreen().removePreference(mWalletPref);
autofillSwitch.setDrawDivider(true);
@@ -143,11 +152,8 @@ public class AutofillPreferences extends PreferenceFragment
if (getPreferenceScreen().findPreference(PREF_AUTOFILL_WALLET) == null) {
getPreferenceScreen().addPreference(mWalletPref);
}
-
- mWalletPref.setSummary(getResources().getString(
- PersonalDataManager.isWalletImportEnabled() ? R.string.text_on
- : R.string.text_off));
autofillSwitch.setDrawDivider(false);
+ mWalletPref.setChecked(PersonalDataManager.isWalletImportEnabled());
}
}

Powered by Google App Engine
This is Rietveld 408576698