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