| Index: components/translate/core/browser/translate_prefs.cc
|
| diff --git a/components/translate/core/browser/translate_prefs.cc b/components/translate/core/browser/translate_prefs.cc
|
| index 0d13a31201d3445c6a28f7ee68e0d805ca9f0d20..ab49ae554f1649ab83b89a2766d118399f5b0689 100644
|
| --- a/components/translate/core/browser/translate_prefs.cc
|
| +++ b/components/translate/core/browser/translate_prefs.cc
|
| @@ -45,6 +45,13 @@ const char kTranslateUI2016Q2TrialName[] = "TranslateUI2016Q2";
|
| const char kAlwaysTranslateOfferThreshold[] =
|
| "always_translate_offer_threshold";
|
|
|
| +#if defined(OS_ANDROID)
|
| +const char TranslatePrefs::kPrefTranslateAutoAlwaysCount[] =
|
| + "translate_auto_always_count";
|
| +const char TranslatePrefs::kPrefTranslateAutoNeverCount[] =
|
| + "translate_auto_never_count";
|
| +#endif
|
| +
|
| // For reading ULP prefs.
|
| const char kConfidence[] = "confidence";
|
| const char kLanguage[] = "language";
|
| @@ -189,6 +196,10 @@ void TranslatePrefs::ResetToDefaults() {
|
| ResetTranslationDeniedCount(language);
|
| ResetTranslationIgnoredCount(language);
|
| }
|
| +#if defined(OS_ANDROID)
|
| + prefs_->ClearPref(kPrefTranslateAutoAlwaysCount);
|
| + prefs_->ClearPref(kPrefTranslateAutoNeverCount);
|
| +#endif
|
|
|
| prefs_->ClearPref(kPrefTranslateLastDeniedTimeForLanguage);
|
| prefs_->ClearPref(kPrefTranslateTooOftenDeniedForLanguage);
|
| @@ -362,6 +373,54 @@ void TranslatePrefs::ResetTranslationAcceptedCount(
|
| update.Get()->SetInteger(language, 0);
|
| }
|
|
|
| +#if defined(OS_ANDROID)
|
| +int TranslatePrefs::GetTranslationAutoAlwaysCount(
|
| + const std::string& language) const {
|
| + const base::DictionaryValue* dict =
|
| + prefs_->GetDictionary(kPrefTranslateAutoAlwaysCount);
|
| + int count = 0;
|
| + return dict->GetInteger(language, &count) ? count : 0;
|
| +}
|
| +
|
| +void TranslatePrefs::IncrementTranslationAutoAlwaysCount(
|
| + const std::string& language) {
|
| + DictionaryPrefUpdate update(prefs_, kPrefTranslateAutoAlwaysCount);
|
| + base::DictionaryValue* dict = update.Get();
|
| + int count = 0;
|
| + dict->GetInteger(language, &count);
|
| + dict->SetInteger(language, count + 1);
|
| +}
|
| +
|
| +void TranslatePrefs::ResetTranslationAutoAlwaysCount(
|
| + const std::string& language) {
|
| + DictionaryPrefUpdate update(prefs_, kPrefTranslateAutoAlwaysCount);
|
| + update.Get()->SetInteger(language, 0);
|
| +}
|
| +
|
| +int TranslatePrefs::GetTranslationAutoNeverCount(
|
| + const std::string& language) const {
|
| + const base::DictionaryValue* dict =
|
| + prefs_->GetDictionary(kPrefTranslateAutoNeverCount);
|
| + int count = 0;
|
| + return dict->GetInteger(language, &count) ? count : 0;
|
| +}
|
| +
|
| +void TranslatePrefs::IncrementTranslationAutoNeverCount(
|
| + const std::string& language) {
|
| + DictionaryPrefUpdate update(prefs_, kPrefTranslateAutoNeverCount);
|
| + base::DictionaryValue* dict = update.Get();
|
| + int count = 0;
|
| + dict->GetInteger(language, &count);
|
| + dict->SetInteger(language, count + 1);
|
| +}
|
| +
|
| +void TranslatePrefs::ResetTranslationAutoNeverCount(
|
| + const std::string& language) {
|
| + DictionaryPrefUpdate update(prefs_, kPrefTranslateAutoNeverCount);
|
| + update.Get()->SetInteger(language, 0);
|
| +}
|
| +#endif // defined(OS_ANDROID)
|
| +
|
| void TranslatePrefs::UpdateLastDeniedTime(const std::string& language) {
|
| if (IsTooOftenDenied(language))
|
| return;
|
| @@ -496,6 +555,14 @@ void TranslatePrefs::RegisterProfilePrefs(
|
| registry->RegisterDictionaryPref(
|
| kPrefLanguageProfile,
|
| user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
|
| +#if defined(OS_ANDROID)
|
| + registry->RegisterDictionaryPref(
|
| + kPrefTranslateAutoAlwaysCount,
|
| + user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
|
| + registry->RegisterDictionaryPref(
|
| + kPrefTranslateAutoNeverCount,
|
| + user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
|
| +#endif
|
| }
|
|
|
| // static
|
|
|