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..e247a14957e08bffd2ebd088476e83fa50a15c95 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 |
@@ -18,7 +18,7 @@ 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 +28,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 +46,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 +54,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(); |
} |
@@ -101,16 +104,15 @@ public class AutofillPreferences extends PreferenceFragment |
// Add an item on the current page... |
PreferenceScreen screen = getPreferenceManager().createPreferenceScreen(getActivity()); |
newt (away)
2015/03/18 04:31:45
Does this need to be a PreferenceScreen? Seems lik
Evan Stade
2015/03/19 00:24:22
I don't know why it was a screen. Normal pref seem
|
screen.setTitle(profile.getFullName()); |
+ screen.setSummary(profile.getLabel()); |
- // 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 += "..."; |
+ if (profile.getIsLocal()) { |
+ screen.setFragment(AutofillProfileEditor.class.getName()); |
+ } else { |
+ screen.setWidgetLayoutResource(R.layout.autofill_server_data_label); |
+ screen.setFragment(AutofillServerProfilePreferences.class.getName()); |
} |
- screen.setSummary(summary); |
- screen.setFragment(AutofillProfileEditor.class.getName()); |
Bundle args = screen.getExtras(); |
args.putString(AUTOFILL_GUID, profile.getGUID()); |
profileCategory.addPreference(screen); |
@@ -124,9 +126,16 @@ public class AutofillPreferences extends PreferenceFragment |
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()); |
+ screen.setTitle(card.getObfuscatedNumber()); |
+ screen.setSummary(card.getMonth() + "/" + card.getYear()); |
+ |
+ if (card.getIsLocal()) { |
+ screen.setFragment(AutofillCreditCardEditor.class.getName()); |
+ } else { |
+ screen.setWidgetLayoutResource(R.layout.autofill_server_data_label); |
+ screen.setFragment(AutofillServerCardPreferences.class.getName()); |
+ } |
+ |
Bundle args = screen.getExtras(); |
args.putString(AUTOFILL_GUID, card.getGUID()); |
profileCategory.addPreference(screen); |
@@ -136,6 +145,7 @@ public class AutofillPreferences extends PreferenceFragment |
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 +153,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()); |
} |
} |