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

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

Issue 2092723002: Redirect users without sync passphrase to passwords.google.com (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix presubmit errors Created 4 years, 5 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/MainPreferences.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java
index ff2012db779815eddf0704128642e861eeedefb9..4e818500012fee1e1e5f8f608e09fcc79644a4b3 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java
@@ -4,24 +4,32 @@
package org.chromium.chrome.browser.preferences;
+import android.content.Intent;
+import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.preference.Preference;
import android.preference.PreferenceFragment;
+import org.chromium.base.VisibleForTesting;
import org.chromium.chrome.R;
+import org.chromium.chrome.browser.ChromeFeatureList;
import org.chromium.chrome.browser.PasswordUIView;
import org.chromium.chrome.browser.autofill.PersonalDataManager;
import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
import org.chromium.chrome.browser.partnercustomizations.HomepageManager;
import org.chromium.chrome.browser.preferences.datareduction.DataReductionPreferences;
+import org.chromium.chrome.browser.preferences.password.SavePasswordsPreferences;
import org.chromium.chrome.browser.signin.SigninManager;
import org.chromium.chrome.browser.signin.SigninManager.SignInStateObserver;
+import org.chromium.chrome.browser.sync.ProfileSyncService;
+import org.chromium.sync.AndroidSyncSettings;
/**
* The main settings screen, shown when the user first opens Settings.
*/
-public class MainPreferences extends PreferenceFragment implements SignInStateObserver {
+public class MainPreferences extends PreferenceFragment implements SignInStateObserver,
+ Preference.OnPreferenceClickListener {
public static final String PREF_SIGN_IN = "sign_in";
public static final String PREF_SEARCH_ENGINE = "search_engine";
@@ -34,6 +42,11 @@ public class MainPreferences extends PreferenceFragment implements SignInStateOb
public static final String ACCOUNT_PICKER_DIALOG_TAG = "account_picker_dialog_tag";
public static final String EXTRA_SHOW_SEARCH_ENGINE_PICKER = "show_search_engine_picker";
+ public static final String PREF_MANAGE_ACCOUNT_LINK = "manage_account_link";
+
+ @VisibleForTesting
+ public static final String VIEW_PASSWORDS = "view-passwords";
+
private SignInPreference mSignInPreference;
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
@@ -77,6 +90,16 @@ public class MainPreferences extends PreferenceFragment implements SignInStateOb
clearSignInPref();
}
+ @Override
+ public boolean onPreferenceClick(Preference preference) {
+ Intent intent = new Intent(
+ Intent.ACTION_VIEW,
+ Uri.parse(PasswordUIView.getAccountDashboardURL()));
+ intent.setPackage(getActivity().getPackageName());
+ getActivity().startActivity(intent);
+ return true;
+ }
+
private void updatePreferences() {
if (getPreferenceScreen() != null) getPreferenceScreen().removeAll();
addPreferencesFromResource(R.xml.main_preferences);
@@ -88,13 +111,31 @@ public class MainPreferences extends PreferenceFragment implements SignInStateOb
ChromeBasePreference passwordsPref =
(ChromeBasePreference) findPreference(PREF_SAVED_PASSWORDS);
- if (PasswordUIView.shouldUseSmartLockBranding()) {
- passwordsPref.setTitle(getResources().getString(
- R.string.prefs_smart_lock_for_passwords));
+
+ ProfileSyncService syncService = ProfileSyncService.get();
+
+ if (AndroidSyncSettings.isSyncEnabled(getActivity().getApplicationContext())
+ && syncService.isBackendInitialized()
+ && !syncService.isUsingSecondaryPassphrase()
+ && ChromeFeatureList.isEnabled(VIEW_PASSWORDS)) {
+ passwordsPref.setKey(PREF_MANAGE_ACCOUNT_LINK);
+ passwordsPref.setTitle(R.string.redirect_to_passwords_text);
+ passwordsPref.setSummary(R.string.redirect_to_passwords_link);
+ passwordsPref.setOnPreferenceClickListener(this);
+ passwordsPref.setManagedPreferenceDelegate(null);
+ } else {
+ if (PasswordUIView.shouldUseSmartLockBranding()) {
+ passwordsPref.setTitle(getResources().getString(
+ R.string.prefs_smart_lock_for_passwords));
+ } else {
+ passwordsPref.setTitle(getResources().getString(
+ R.string.prefs_saved_passwords));
+ }
+ passwordsPref.setFragment(SavePasswordsPreferences.class.getCanonicalName());
+ setOnOffSummary(passwordsPref,
+ PrefServiceBridge.getInstance().isRememberPasswordsEnabled());
+ passwordsPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
}
- setOnOffSummary(passwordsPref,
- PrefServiceBridge.getInstance().isRememberPasswordsEnabled());
- passwordsPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
Preference homepagePref = findPreference(PREF_HOMEPAGE);
if (HomepageManager.shouldShowHomepageSetting()) {
« no previous file with comments | « chrome/android/java/res/xml/main_preferences.xml ('k') | chrome/android/java/strings/android_chrome_strings.grd » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698