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

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: Revert change to testUserRedirect Created 4 years, 6 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..73547abbbf45b62485cadd834181b1fdae02c849 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,12 +4,19 @@
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 android.text.SpannableString;
+import android.text.style.ForegroundColorSpan;
+import org.chromium.base.ApiCompatibilityUtils;
+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;
@@ -17,11 +24,15 @@ import org.chromium.chrome.browser.partnercustomizations.HomepageManager;
import org.chromium.chrome.browser.preferences.datareduction.DataReductionPreferences;
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;
+import org.chromium.ui.text.SpanApplier;
/**
* 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";
@@ -30,15 +41,23 @@ public class MainPreferences extends PreferenceFragment implements SignInStateOb
public static final String PREF_SAVED_PASSWORDS = "saved_passwords";
public static final String PREF_HOMEPAGE = "homepage";
public static final String PREF_DATA_REDUCTION = "data_reduction";
-
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";
+ private static final String PREF_MANAGE_ACCOUNT_LINK = "manage_account_link";
+
+ @VisibleForTesting
+ public static final String VIEW_PASSWORDS = "ViewPasswords";
+
+ private static final int ORDER_MANAGE_ACCOUNT_LINK = 2;
Bernhard Bauer 2016/07/01 16:55:28 This is unused.
dozsa 2016/07/05 10:19:54 Done.
+
private SignInPreference mSignInPreference;
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
private boolean mShowSearchEnginePicker;
+ private Preference mPasswordsPref;
Bernhard Bauer 2016/07/01 16:55:28 This is also unused.
dozsa 2016/07/05 10:19:54 Done.
+
public MainPreferences() {
setHasOptionsMenu(true);
mManagedPreferenceDelegate = createManagedPreferenceDelegate();
@@ -77,6 +96,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 +117,37 @@ 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)) {
+ ForegroundColorSpan colorSpan = new ForegroundColorSpan(
+ ApiCompatibilityUtils.getColor(getResources(), R.color.pref_accent_color));
+ SpannableString title = SpanApplier.applySpans(
+ getString(R.string.manage_passwords_text),
+ new SpanApplier.SpanInfo("<link>", "</link>", colorSpan));
+ passwordsPref.setKey(PREF_MANAGE_ACCOUNT_LINK);
+ passwordsPref.setTitle(title);
+ 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(
+ "org.chromium.chrome.browser.preferences"
+ + ".password.SavePasswordsPreferences");
Bernhard Bauer 2016/07/01 16:55:28 Could you get this from the class?
dozsa 2016/07/05 10:19:54 Done.
+ setOnOffSummary(passwordsPref,
+ PrefServiceBridge.getInstance().isRememberPasswordsEnabled());
+ passwordsPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
}
- setOnOffSummary(passwordsPref,
- PrefServiceBridge.getInstance().isRememberPasswordsEnabled());
- passwordsPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
Preference homepagePref = findPreference(PREF_HOMEPAGE);
if (HomepageManager.shouldShowHomepageSetting()) {

Powered by Google App Engine
This is Rietveld 408576698