| Index: chrome/android/java/src/org/chromium/chrome/browser/preferences/password/SavePasswordsPreferences.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/password/SavePasswordsPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/password/SavePasswordsPreferences.java
|
| index 451af35816c79ce30e655bdc691f7a690ee1b697..59937dbd3331b681dafdd491bc9171e414273c17 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/password/SavePasswordsPreferences.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/password/SavePasswordsPreferences.java
|
| @@ -40,6 +40,7 @@ public class SavePasswordsPreferences extends PreferenceFragment
|
| // Keys for name/password dictionaries.
|
| public static final String PASSWORD_LIST_URL = "url";
|
| public static final String PASSWORD_LIST_NAME = "name";
|
| + public static final String PASSWORD_LIST_PASSWORD = "password";
|
|
|
| // Used to pass the password id into a new activity.
|
| public static final String PASSWORD_LIST_ID = "id";
|
| @@ -67,6 +68,21 @@ public class SavePasswordsPreferences extends PreferenceFragment
|
| private ChromeBaseCheckBoxPreference mAutoSignInSwitch;
|
| private TextMessagePreference mEmptyView;
|
|
|
| + // Used for verifying if 60 seconds have passed since last authenticating, its value is set in
|
| + // PasswordReauthentication using System.currentTimeMillis().
|
| + private static long sLastReauthTimeMillis;
|
| +
|
| + /**
|
| + * Stores the timestamp of last reauthentication of the user.
|
| + */
|
| + public static void setLastReauthTimeMillis(long value) {
|
| + sLastReauthTimeMillis = value;
|
| + }
|
| +
|
| + public static long getLastReauthTimeMillis() {
|
| + return sLastReauthTimeMillis;
|
| + }
|
| +
|
| @Override
|
| public void onCreate(Bundle savedInstanceState) {
|
| super.onCreate(savedInstanceState);
|
| @@ -92,6 +108,12 @@ public class SavePasswordsPreferences extends PreferenceFragment
|
| return true;
|
| }
|
|
|
| + @Override
|
| + public void onDetach() {
|
| + super.onDetach();
|
| + setLastReauthTimeMillis(0);
|
| + }
|
| +
|
| void rebuildPasswordLists() {
|
| mNoPasswords = false;
|
| mNoPasswordExceptions = false;
|
| @@ -134,12 +156,14 @@ public class SavePasswordsPreferences extends PreferenceFragment
|
| PreferenceScreen screen = getPreferenceManager().createPreferenceScreen(getActivity());
|
| String url = saved.getUrl();
|
| String name = saved.getUserName();
|
| + String password = saved.getPassword();
|
| screen.setTitle(url);
|
| screen.setOnPreferenceClickListener(this);
|
| screen.setSummary(name);
|
| Bundle args = screen.getExtras();
|
| args.putString(PASSWORD_LIST_NAME, name);
|
| args.putString(PASSWORD_LIST_URL, url);
|
| + args.putString(PASSWORD_LIST_PASSWORD, password);
|
| args.putInt(PASSWORD_LIST_ID, i);
|
| profileCategory.addPreference(screen);
|
| }
|
| @@ -195,17 +219,15 @@ public class SavePasswordsPreferences extends PreferenceFragment
|
| public boolean onPreferenceClick(Preference preference) {
|
| if (preference == mLinkPref) {
|
| Intent intent = new Intent(
|
| - Intent.ACTION_VIEW,
|
| - Uri.parse(PasswordUIView.getAccountDashboardURL()));
|
| + Intent.ACTION_VIEW, Uri.parse(PasswordUIView.getAccountDashboardURL()));
|
| intent.setPackage(getActivity().getPackageName());
|
| getActivity().startActivity(intent);
|
| } else {
|
| // Launch preference activity with PasswordEntryEditor fragment with
|
| // intent extras specifying the object.
|
| - Intent intent = PreferencesLauncher.createIntentForSettingsPage(getActivity(),
|
| - PasswordEntryEditor.class.getName());
|
| - intent.putExtra(Preferences.EXTRA_SHOW_FRAGMENT_ARGUMENTS,
|
| - preference.getExtras());
|
| + Intent intent = PreferencesLauncher.createIntentForSettingsPage(
|
| + getActivity(), PasswordEntryEditor.class.getName());
|
| + intent.putExtra(Preferences.EXTRA_SHOW_FRAGMENT_ARGUMENTS, preference.getExtras());
|
| startActivity(intent);
|
| }
|
| return true;
|
|
|