Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 package org.chromium.chrome.browser.preferences; | 5 package org.chromium.chrome.browser.preferences; |
| 6 | 6 |
| 7 import android.content.Intent; | |
| 8 import android.net.Uri; | |
| 7 import android.os.Bundle; | 9 import android.os.Bundle; |
| 8 import android.os.Handler; | 10 import android.os.Handler; |
| 9 import android.preference.Preference; | 11 import android.preference.Preference; |
| 10 import android.preference.PreferenceFragment; | 12 import android.preference.PreferenceFragment; |
| 13 import android.text.SpannableString; | |
| 14 import android.text.style.ForegroundColorSpan; | |
| 11 | 15 |
| 16 import org.chromium.base.ApiCompatibilityUtils; | |
| 12 import org.chromium.chrome.R; | 17 import org.chromium.chrome.R; |
| 13 import org.chromium.chrome.browser.PasswordUIView; | 18 import org.chromium.chrome.browser.PasswordUIView; |
| 14 import org.chromium.chrome.browser.autofill.PersonalDataManager; | 19 import org.chromium.chrome.browser.autofill.PersonalDataManager; |
| 15 import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings; | 20 import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings; |
| 16 import org.chromium.chrome.browser.partnercustomizations.HomepageManager; | 21 import org.chromium.chrome.browser.partnercustomizations.HomepageManager; |
| 17 import org.chromium.chrome.browser.preferences.datareduction.DataReductionPrefer ences; | 22 import org.chromium.chrome.browser.preferences.datareduction.DataReductionPrefer ences; |
| 18 import org.chromium.chrome.browser.signin.SigninManager; | 23 import org.chromium.chrome.browser.signin.SigninManager; |
| 19 import org.chromium.chrome.browser.signin.SigninManager.SignInStateObserver; | 24 import org.chromium.chrome.browser.signin.SigninManager.SignInStateObserver; |
| 25 import org.chromium.chrome.browser.sync.ProfileSyncService; | |
| 26 import org.chromium.sync.AndroidSyncSettings; | |
| 27 import org.chromium.ui.text.SpanApplier; | |
| 20 | 28 |
| 21 /** | 29 /** |
| 22 * The main settings screen, shown when the user first opens Settings. | 30 * The main settings screen, shown when the user first opens Settings. |
| 23 */ | 31 */ |
| 24 public class MainPreferences extends PreferenceFragment implements SignInStateOb server { | 32 public class MainPreferences extends PreferenceFragment implements SignInStateOb server, |
| 33 Preference.OnPreferenceClickListener { | |
| 25 | 34 |
| 26 public static final String PREF_SIGN_IN = "sign_in"; | 35 public static final String PREF_SIGN_IN = "sign_in"; |
| 27 public static final String PREF_SEARCH_ENGINE = "search_engine"; | 36 public static final String PREF_SEARCH_ENGINE = "search_engine"; |
| 28 public static final String PREF_DOCUMENT_MODE = "document_mode"; | 37 public static final String PREF_DOCUMENT_MODE = "document_mode"; |
| 29 public static final String PREF_AUTOFILL_SETTINGS = "autofill_settings"; | 38 public static final String PREF_AUTOFILL_SETTINGS = "autofill_settings"; |
| 30 public static final String PREF_SAVED_PASSWORDS = "saved_passwords"; | 39 public static final String PREF_SAVED_PASSWORDS = "saved_passwords"; |
| 31 public static final String PREF_HOMEPAGE = "homepage"; | 40 public static final String PREF_HOMEPAGE = "homepage"; |
| 32 public static final String PREF_DATA_REDUCTION = "data_reduction"; | 41 public static final String PREF_DATA_REDUCTION = "data_reduction"; |
| 33 | |
| 34 public static final String ACCOUNT_PICKER_DIALOG_TAG = "account_picker_dialo g_tag"; | 42 public static final String ACCOUNT_PICKER_DIALOG_TAG = "account_picker_dialo g_tag"; |
| 35 public static final String EXTRA_SHOW_SEARCH_ENGINE_PICKER = "show_search_en gine_picker"; | 43 public static final String EXTRA_SHOW_SEARCH_ENGINE_PICKER = "show_search_en gine_picker"; |
| 36 | 44 |
| 45 private static final String PREF_MANAGE_ACCOUNT_LINK = "manage_account_link" ; | |
| 46 | |
| 47 private static final int ORDER_MANAGE_ACCOUNT_LINK = 2; | |
| 48 | |
| 37 private SignInPreference mSignInPreference; | 49 private SignInPreference mSignInPreference; |
| 38 private ManagedPreferenceDelegate mManagedPreferenceDelegate; | 50 private ManagedPreferenceDelegate mManagedPreferenceDelegate; |
| 39 | 51 |
| 40 private boolean mShowSearchEnginePicker; | 52 private boolean mShowSearchEnginePicker; |
| 41 | 53 |
| 54 private Preference mPasswordsPref; | |
| 55 | |
| 42 public MainPreferences() { | 56 public MainPreferences() { |
| 43 setHasOptionsMenu(true); | 57 setHasOptionsMenu(true); |
| 44 mManagedPreferenceDelegate = createManagedPreferenceDelegate(); | 58 mManagedPreferenceDelegate = createManagedPreferenceDelegate(); |
| 45 } | 59 } |
| 46 | 60 |
| 47 @Override | 61 @Override |
| 48 public void onCreate(Bundle savedInstanceState) { | 62 public void onCreate(Bundle savedInstanceState) { |
| 49 super.onCreate(savedInstanceState); | 63 super.onCreate(savedInstanceState); |
| 50 | 64 |
| 51 if (savedInstanceState == null && getArguments() != null | 65 if (savedInstanceState == null && getArguments() != null |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 70 } | 84 } |
| 71 } | 85 } |
| 72 | 86 |
| 73 @Override | 87 @Override |
| 74 public void onPause() { | 88 public void onPause() { |
| 75 super.onPause(); | 89 super.onPause(); |
| 76 SigninManager.get(getActivity()).removeSignInStateObserver(this); | 90 SigninManager.get(getActivity()).removeSignInStateObserver(this); |
| 77 clearSignInPref(); | 91 clearSignInPref(); |
| 78 } | 92 } |
| 79 | 93 |
| 94 @Override | |
| 95 public boolean onPreferenceClick(Preference preference) { | |
| 96 Intent intent = new Intent( | |
| 97 Intent.ACTION_VIEW, | |
| 98 Uri.parse(PasswordUIView.getAccountDashboardURL())); | |
| 99 intent.setPackage(getActivity().getPackageName()); | |
| 100 getActivity().startActivity(intent); | |
| 101 return true; | |
| 102 } | |
| 103 | |
| 80 private void updatePreferences() { | 104 private void updatePreferences() { |
| 81 if (getPreferenceScreen() != null) getPreferenceScreen().removeAll(); | 105 if (getPreferenceScreen() != null) getPreferenceScreen().removeAll(); |
| 82 addPreferencesFromResource(R.xml.main_preferences); | 106 addPreferencesFromResource(R.xml.main_preferences); |
| 83 | 107 |
| 84 ChromeBasePreference autofillPref = | 108 ChromeBasePreference autofillPref = |
| 85 (ChromeBasePreference) findPreference(PREF_AUTOFILL_SETTINGS); | 109 (ChromeBasePreference) findPreference(PREF_AUTOFILL_SETTINGS); |
| 86 setOnOffSummary(autofillPref, PersonalDataManager.isAutofillEnabled()); | 110 setOnOffSummary(autofillPref, PersonalDataManager.isAutofillEnabled()); |
| 87 autofillPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate); | 111 autofillPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate); |
| 88 | 112 |
| 89 ChromeBasePreference passwordsPref = | 113 ChromeBasePreference mPasswordsPref = |
| 90 (ChromeBasePreference) findPreference(PREF_SAVED_PASSWORDS); | 114 (ChromeBasePreference) findPreference(PREF_SAVED_PASSWORDS); |
| 91 if (PasswordUIView.shouldUseSmartLockBranding()) { | 115 |
| 92 passwordsPref.setTitle(getResources().getString( | 116 ProfileSyncService syncService = ProfileSyncService.get(); |
| 93 R.string.prefs_smart_lock_for_passwords)); | 117 |
| 118 if (AndroidSyncSettings.isSyncEnabled(getActivity().getApplicationContex t()) | |
| 119 && !syncService.isUsingSecondaryPassphrase()) { | |
| 120 ForegroundColorSpan colorSpan = new ForegroundColorSpan( | |
| 121 ApiCompatibilityUtils.getColor(getResources(), R.color.pref_ accent_color)); | |
| 122 SpannableString title = SpanApplier.applySpans( | |
| 123 getString(R.string.manage_passwords_text), | |
| 124 new SpanApplier.SpanInfo("<link>", "</link>", colorSpan)); | |
| 125 mPasswordsPref.setKey(PREF_MANAGE_ACCOUNT_LINK); | |
| 126 mPasswordsPref.setTitle(title); | |
| 127 mPasswordsPref.setOnPreferenceClickListener(this); | |
| 128 } else { | |
| 129 if (PasswordUIView.shouldUseSmartLockBranding()) { | |
| 130 mPasswordsPref.setTitle(getResources().getString( | |
| 131 R.string.prefs_smart_lock_for_passwords)); | |
| 132 } else { | |
| 133 mPasswordsPref.setTitle(getResources().getString( | |
|
vabr (Chromium)
2016/06/27 15:23:44
Just curious -- why is this necessary now and not
dozsa
2016/06/28 09:53:23
The title used to be hardcoded in the xml file, an
vabr (Chromium)
2016/06/28 11:51:38
Acknowledged, this makes sense, thanks for the exp
| |
| 134 R.string.prefs_saved_passwords)); | |
| 135 mPasswordsPref.setFragment( | |
| 136 "org.chromium.chrome.browser.preferences." | |
| 137 + "password.SavePasswordsPreferences"); | |
| 138 } | |
| 139 setOnOffSummary(mPasswordsPref, | |
| 140 PrefServiceBridge.getInstance().isRememberPasswordsEnabled() ); | |
| 141 mPasswordsPref.setManagedPreferenceDelegate(mManagedPreferenceDelega te); | |
| 94 } | 142 } |
| 95 setOnOffSummary(passwordsPref, | |
| 96 PrefServiceBridge.getInstance().isRememberPasswordsEnabled()); | |
| 97 passwordsPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate); | |
| 98 | 143 |
| 99 Preference homepagePref = findPreference(PREF_HOMEPAGE); | 144 Preference homepagePref = findPreference(PREF_HOMEPAGE); |
| 100 if (HomepageManager.shouldShowHomepageSetting()) { | 145 if (HomepageManager.shouldShowHomepageSetting()) { |
| 101 setOnOffSummary(homepagePref, | 146 setOnOffSummary(homepagePref, |
| 102 HomepageManager.getInstance(getActivity()).getPrefHomepageEn abled()); | 147 HomepageManager.getInstance(getActivity()).getPrefHomepageEn abled()); |
| 103 } else { | 148 } else { |
| 104 getPreferenceScreen().removePreference(homepagePref); | 149 getPreferenceScreen().removePreference(homepagePref); |
| 105 } | 150 } |
| 106 | 151 |
| 107 ChromeBasePreference dataReduction = | 152 ChromeBasePreference dataReduction = |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 181 if (PREF_DATA_REDUCTION.equals(preference.getKey())) { | 226 if (PREF_DATA_REDUCTION.equals(preference.getKey())) { |
| 182 DataReductionProxySettings settings = DataReductionProxySett ings.getInstance(); | 227 DataReductionProxySettings settings = DataReductionProxySett ings.getInstance(); |
| 183 return settings.isDataReductionProxyManaged() | 228 return settings.isDataReductionProxyManaged() |
| 184 && !settings.isDataReductionProxyEnabled(); | 229 && !settings.isDataReductionProxyEnabled(); |
| 185 } | 230 } |
| 186 return super.isPreferenceClickDisabledByPolicy(preference); | 231 return super.isPreferenceClickDisabledByPolicy(preference); |
| 187 } | 232 } |
| 188 }; | 233 }; |
| 189 } | 234 } |
| 190 } | 235 } |
| OLD | NEW |