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.Context; | 7 import android.content.Context; |
| 8 import android.content.Intent; | 8 import android.content.Intent; |
| 9 import android.content.SharedPreferences; | 9 import android.content.SharedPreferences; |
| 10 import android.content.res.Resources; | 10 import android.content.res.Resources; |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 82 initEntries(); | 82 initEntries(); |
| 83 } | 83 } |
| 84 | 84 |
| 85 // Used for testing. | 85 // Used for testing. |
| 86 | 86 |
| 87 String getValueForTesting() { | 87 String getValueForTesting() { |
| 88 return Integer.toString(mSelectedSearchEnginePosition); | 88 return Integer.toString(mSelectedSearchEnginePosition); |
| 89 } | 89 } |
| 90 | 90 |
| 91 void setValueForTesting(String value) { | 91 void setValueForTesting(String value) { |
| 92 radioButtonClicked(Integer.parseInt(value)); | 92 searchEngineSelected(Integer.parseInt(value)); |
| 93 } | 93 } |
| 94 | 94 |
| 95 /** | 95 /** |
| 96 * Initialize the search engine list. | 96 * Initialize the search engine list. |
| 97 */ | 97 */ |
| 98 private void initEntries() { | 98 private void initEntries() { |
| 99 TemplateUrlService templateUrlService = TemplateUrlService.getInstance() ; | 99 TemplateUrlService templateUrlService = TemplateUrlService.getInstance() ; |
| 100 if (!templateUrlService.isLoaded()) { | 100 if (!templateUrlService.isLoaded()) { |
| 101 templateUrlService.registerLoadListener(this); | 101 templateUrlService.registerLoadListener(this); |
| 102 templateUrlService.load(); | 102 templateUrlService.load(); |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 157 return position; | 157 return position; |
| 158 } | 158 } |
| 159 | 159 |
| 160 @Override | 160 @Override |
| 161 public View getView(int position, View convertView, ViewGroup parent) { | 161 public View getView(int position, View convertView, ViewGroup parent) { |
| 162 View view = convertView; | 162 View view = convertView; |
| 163 if (convertView == null) { | 163 if (convertView == null) { |
| 164 view = mLayoutInflater.inflate(R.layout.search_engine, null); | 164 view = mLayoutInflater.inflate(R.layout.search_engine, null); |
| 165 } | 165 } |
| 166 | 166 |
| 167 view.setOnClickListener(this); | |
| 168 view.setTag(position); | |
| 169 | |
| 167 RadioButton radioButton = (RadioButton) view.findViewById(R.id.radiobutt on); | 170 RadioButton radioButton = (RadioButton) view.findViewById(R.id.radiobutt on); |
| 171 boolean selected = position == mSelectedSearchEnginePosition; | |
| 172 radioButton.setChecked(selected); | |
| 173 | |
| 168 TextView description = (TextView) view.findViewById(R.id.description); | 174 TextView description = (TextView) view.findViewById(R.id.description); |
| 169 TextView link = (TextView) view.findViewById(R.id.link); | |
| 170 | |
| 171 TemplateUrl templateUrl = mSearchEngines.get(position); | 175 TemplateUrl templateUrl = mSearchEngines.get(position); |
| 172 Resources resources = mContext.getResources(); | 176 Resources resources = mContext.getResources(); |
| 177 description.setText(getSearchEngineNameAndDomain(resources, templateUrl) ); | |
| 173 | 178 |
| 174 boolean selected = position == mSelectedSearchEnginePosition; | 179 TextView link = (TextView) view.findViewById(R.id.link); |
| 175 radioButton.setChecked(selected); | |
| 176 radioButton.setOnClickListener(this); | |
| 177 radioButton.setTag(position); | |
| 178 | |
| 179 description.setText(getSearchEngineNameAndDomain(resources, templateUrl) ); | |
| 180 description.setOnClickListener(this); | |
| 181 description.setTag(position); | |
|
Finnur
2015/04/29 09:55:13
Just to confirm... clicking on the description sti
newt (away)
2015/04/29 17:33:05
Yes. Click events are first sent to the deepest vi
| |
| 182 | |
| 183 link.setVisibility(selected ? View.VISIBLE : View.GONE); | 180 link.setVisibility(selected ? View.VISIBLE : View.GONE); |
| 184 if (selected) { | 181 if (selected) { |
| 185 ForegroundColorSpan linkSpan = new ForegroundColorSpan( | 182 ForegroundColorSpan linkSpan = new ForegroundColorSpan( |
| 186 resources.getColor(R.color.pref_accent_color)); | 183 resources.getColor(R.color.pref_accent_color)); |
| 187 if (LocationSettings.getInstance().isSystemLocationSettingEnabled()) { | 184 if (LocationSettings.getInstance().isSystemLocationSettingEnabled()) { |
| 188 String message = mContext.getString( | 185 String message = mContext.getString( |
| 189 locationEnabled(position) | 186 locationEnabled(position) |
| 190 ? R.string.search_engine_location_allowed | 187 ? R.string.search_engine_location_allowed |
| 191 : R.string.search_engine_location_blocked); | 188 : R.string.search_engine_location_blocked); |
| 192 SpannableString messageWithLink = new SpannableString(message); | 189 SpannableString messageWithLink = new SpannableString(message); |
| (...skipping 19 matching lines...) Expand all Loading... | |
| 212 initEntries(); | 209 initEntries(); |
| 213 } | 210 } |
| 214 | 211 |
| 215 // OnClickListener: | 212 // OnClickListener: |
| 216 | 213 |
| 217 @Override | 214 @Override |
| 218 public void onClick(View view) { | 215 public void onClick(View view) { |
| 219 if (view.getTag() == null) { | 216 if (view.getTag() == null) { |
| 220 onLocationLinkClicked(); | 217 onLocationLinkClicked(); |
| 221 } else { | 218 } else { |
| 222 radioButtonClicked((int) view.getTag()); | 219 searchEngineSelected((int) view.getTag()); |
| 223 } | 220 } |
| 224 } | 221 } |
| 225 | 222 |
| 226 private void radioButtonClicked(int position) { | 223 private void searchEngineSelected(int position) { |
| 227 // First clean up any automatically added permissions (if any) for the p reviously selected | 224 // First clean up any automatically added permissions (if any) for the p reviously selected |
| 228 // search engine. | 225 // search engine. |
| 229 SharedPreferences sharedPreferences = | 226 SharedPreferences sharedPreferences = |
| 230 PreferenceManager.getDefaultSharedPreferences(mContext); | 227 PreferenceManager.getDefaultSharedPreferences(mContext); |
| 231 if (sharedPreferences.getBoolean(PrefServiceBridge.LOCATION_AUTO_ALLOWED , false)) { | 228 if (sharedPreferences.getBoolean(PrefServiceBridge.LOCATION_AUTO_ALLOWED , false)) { |
| 232 if (locationEnabled(mSelectedSearchEnginePosition)) { | 229 if (locationEnabled(mSelectedSearchEnginePosition)) { |
| 233 TemplateUrl templateUrl = mSearchEngines.get(mSelectedSearchEngi nePosition); | |
|
newt (away)
2015/04/29 00:02:25
dead code
| |
| 234 | |
| 235 String url = TemplateUrlService.getInstance().getSearchEngineUrl FromTemplateUrl( | 230 String url = TemplateUrlService.getInstance().getSearchEngineUrl FromTemplateUrl( |
| 236 toIndex(mSelectedSearchEnginePosition)); | 231 toIndex(mSelectedSearchEnginePosition)); |
| 237 WebsitePreferenceBridge.nativeSetGeolocationSettingForOrigin( | 232 WebsitePreferenceBridge.nativeSetGeolocationSettingForOrigin( |
| 238 url, url, ContentSetting.DEFAULT.toInt()); | 233 url, url, ContentSetting.DEFAULT.toInt()); |
| 239 } | 234 } |
| 240 sharedPreferences.edit().remove(PrefServiceBridge.LOCATION_AUTO_ALLO WED).apply(); | 235 sharedPreferences.edit().remove(PrefServiceBridge.LOCATION_AUTO_ALLO WED).apply(); |
| 241 } | 236 } |
| 242 | 237 |
| 243 // Record the change in search engine. | 238 // Record the change in search engine. |
| 244 mSelectedSearchEnginePosition = position; | 239 mSelectedSearchEnginePosition = position; |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 277 private boolean locationEnabled(int position) { | 272 private boolean locationEnabled(int position) { |
| 278 if (position == -1) return false; | 273 if (position == -1) return false; |
| 279 | 274 |
| 280 String url = TemplateUrlService.getInstance().getSearchEngineUrlFromTemp lateUrl( | 275 String url = TemplateUrlService.getInstance().getSearchEngineUrlFromTemp lateUrl( |
| 281 toIndex(position)); | 276 toIndex(position)); |
| 282 GeolocationInfo locationSettings = new GeolocationInfo(url, null); | 277 GeolocationInfo locationSettings = new GeolocationInfo(url, null); |
| 283 ContentSetting locationPermission = locationSettings.getContentSetting() ; | 278 ContentSetting locationPermission = locationSettings.getContentSetting() ; |
| 284 return locationPermission == ContentSetting.ALLOW; | 279 return locationPermission == ContentSetting.ALLOW; |
| 285 } | 280 } |
| 286 } | 281 } |
| OLD | NEW |