| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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.locale; | 5 package org.chromium.chrome.browser.locale; |
| 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.support.annotation.IntDef; | 10 import android.support.annotation.IntDef; |
| 11 import android.support.annotation.Nullable; | 11 import android.support.annotation.Nullable; |
| 12 | 12 |
| 13 import org.chromium.base.Callback; | 13 import org.chromium.base.Callback; |
| 14 import org.chromium.base.ContextUtils; | 14 import org.chromium.base.ContextUtils; |
| 15 import org.chromium.base.ThreadUtils; | 15 import org.chromium.base.ThreadUtils; |
| 16 import org.chromium.base.VisibleForTesting; | 16 import org.chromium.base.VisibleForTesting; |
| 17 import org.chromium.base.annotations.CalledByNative; |
| 17 import org.chromium.chrome.R; | 18 import org.chromium.chrome.R; |
| 18 import org.chromium.chrome.browser.AppHooks; | 19 import org.chromium.chrome.browser.AppHooks; |
| 19 import org.chromium.chrome.browser.ChromeFeatureList; | 20 import org.chromium.chrome.browser.ChromeFeatureList; |
| 20 import org.chromium.chrome.browser.preferences.PreferencesLauncher; | 21 import org.chromium.chrome.browser.preferences.PreferencesLauncher; |
| 21 import org.chromium.chrome.browser.preferences.SearchEnginePreference; | 22 import org.chromium.chrome.browser.preferences.SearchEnginePreference; |
| 22 import org.chromium.chrome.browser.search_engines.TemplateUrlService; | 23 import org.chromium.chrome.browser.search_engines.TemplateUrlService; |
| 23 import org.chromium.chrome.browser.search_engines.TemplateUrlService.TemplateUrl
; | 24 import org.chromium.chrome.browser.search_engines.TemplateUrlService.TemplateUrl
; |
| 24 import org.chromium.chrome.browser.snackbar.Snackbar; | 25 import org.chromium.chrome.browser.snackbar.Snackbar; |
| 25 import org.chromium.chrome.browser.snackbar.SnackbarManager; | 26 import org.chromium.chrome.browser.snackbar.SnackbarManager; |
| 26 import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarController; | 27 import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarController; |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 80 Context context = ContextUtils.getApplicationContext(); | 81 Context context = ContextUtils.getApplicationContext(); |
| 81 Intent intent = PreferencesLauncher.createIntentForSettingsPage(cont
ext, | 82 Intent intent = PreferencesLauncher.createIntentForSettingsPage(cont
ext, |
| 82 SearchEnginePreference.class.getName()); | 83 SearchEnginePreference.class.getName()); |
| 83 context.startActivity(intent); | 84 context.startActivity(intent); |
| 84 } | 85 } |
| 85 }; | 86 }; |
| 86 | 87 |
| 87 /** | 88 /** |
| 88 * @return An instance of the {@link LocaleManager}. This should only be cal
led on UI thread. | 89 * @return An instance of the {@link LocaleManager}. This should only be cal
led on UI thread. |
| 89 */ | 90 */ |
| 91 @CalledByNative |
| 90 public static LocaleManager getInstance() { | 92 public static LocaleManager getInstance() { |
| 91 assert ThreadUtils.runningOnUiThread(); | 93 assert ThreadUtils.runningOnUiThread(); |
| 92 if (sInstance == null) { | 94 if (sInstance == null) { |
| 93 sInstance = AppHooks.get().createLocaleManager(); | 95 sInstance = AppHooks.get().createLocaleManager(); |
| 94 } | 96 } |
| 95 return sInstance; | 97 return sInstance; |
| 96 } | 98 } |
| 97 | 99 |
| 98 /** | 100 /** |
| 99 * Starts listening to state changes of the phone. | 101 * Starts listening to state changes of the phone. |
| (...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 267 public int getSearchEnginePromoShowType() { | 269 public int getSearchEnginePromoShowType() { |
| 268 if (!isSpecialLocaleEnabled()) return SEARCH_ENGINE_PROMO_DONT_SHOW; | 270 if (!isSpecialLocaleEnabled()) return SEARCH_ENGINE_PROMO_DONT_SHOW; |
| 269 SharedPreferences preferences = ContextUtils.getAppSharedPreferences(); | 271 SharedPreferences preferences = ContextUtils.getAppSharedPreferences(); |
| 270 if (preferences.getBoolean(PREF_PROMO_SHOWN, false)) { | 272 if (preferences.getBoolean(PREF_PROMO_SHOWN, false)) { |
| 271 return SEARCH_ENGINE_PROMO_DONT_SHOW; | 273 return SEARCH_ENGINE_PROMO_DONT_SHOW; |
| 272 } | 274 } |
| 273 return SEARCH_ENGINE_PROMO_SHOW_SOGOU; | 275 return SEARCH_ENGINE_PROMO_SHOW_SOGOU; |
| 274 } | 276 } |
| 275 | 277 |
| 276 /** | 278 /** |
| 279 * @return The referral ID to be passed when searching with Yandex as the DS
E. |
| 280 */ |
| 281 @CalledByNative |
| 282 protected String getYandexReferralId() { |
| 283 return ""; |
| 284 } |
| 285 |
| 286 /** |
| 277 * To be called after the user has made a selection from a search engine pro
mo dialog. | 287 * To be called after the user has made a selection from a search engine pro
mo dialog. |
| 278 * @param type The type of search engine promo dialog that was shown. | 288 * @param type The type of search engine promo dialog that was shown. |
| 279 * @param keyword The keyword for the search engine chosen. | 289 * @param keyword The keyword for the search engine chosen. |
| 280 */ | 290 */ |
| 281 protected void onUserSearchEngineChoiceFromPromoDialog( | 291 protected void onUserSearchEngineChoiceFromPromoDialog( |
| 282 @SearchEnginePromoType int type, String keyword) { | 292 @SearchEnginePromoType int type, String keyword) { |
| 283 TemplateUrlService.getInstance().setSearchEngine(keyword); | 293 TemplateUrlService.getInstance().setSearchEngine(keyword); |
| 284 ContextUtils.getAppSharedPreferences() | 294 ContextUtils.getAppSharedPreferences() |
| 285 .edit() | 295 .edit() |
| 286 .putInt(KEY_SEARCH_ENGINE_PROMO_SHOW_STATE, SEARCH_ENGINE_PROMO_
CHECKED_AND_SHOWN) | 296 .putInt(KEY_SEARCH_ENGINE_PROMO_SHOW_STATE, SEARCH_ENGINE_PROMO_
CHECKED_AND_SHOWN) |
| (...skipping 16 matching lines...) Expand all Loading... |
| 303 return instance.getSearchEngines(); | 313 return instance.getSearchEngines(); |
| 304 } | 314 } |
| 305 | 315 |
| 306 /** Set a LocaleManager to be used for testing. */ | 316 /** Set a LocaleManager to be used for testing. */ |
| 307 @VisibleForTesting | 317 @VisibleForTesting |
| 308 public static void setInstanceForTest(LocaleManager instance) { | 318 public static void setInstanceForTest(LocaleManager instance) { |
| 309 assert sInstance == null; | 319 assert sInstance == null; |
| 310 sInstance = instance; | 320 sInstance = instance; |
| 311 } | 321 } |
| 312 } | 322 } |
| OLD | NEW |