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

Unified Diff: chrome/browser/ui/webui/options/browser_options_handler.cc

Issue 800523002: [Hotword] Sync Audio History pref every 24 hours, when opening chrome://settings and . . . (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Doing It Right Created 6 years 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/browser/ui/webui/options/browser_options_handler.cc
diff --git a/chrome/browser/ui/webui/options/browser_options_handler.cc b/chrome/browser/ui/webui/options/browser_options_handler.cc
index 6cd7245380864daf316a1121434b3a04fa3fa538..53d5c15e372ace432a7ee213e8ca643df1ef7273 100644
--- a/chrome/browser/ui/webui/options/browser_options_handler.cc
+++ b/chrome/browser/ui/webui/options/browser_options_handler.cc
@@ -44,6 +44,7 @@
#include "chrome/browser/profiles/profile_shortcut_manager.h"
#include "chrome/browser/profiles/profile_window.h"
#include "chrome/browser/profiles/profiles_state.h"
+#include "chrome/browser/search/hotword_audio_history_handler.h"
#include "chrome/browser/search/hotword_service.h"
#include "chrome/browser/search/hotword_service_factory.h"
#include "chrome/browser/search/search.h"
@@ -1674,6 +1675,16 @@ void BrowserOptionsHandler::ShowCloudPrintDevicesPage(
#endif
+void BrowserOptionsHandler::SetHotwordAudioHistorySectionVisible(
+ bool always_on, bool success, bool logging_enabled) {
+ web_ui()->CallJavascriptFunction(
+ "BrowserOptions.setAudioHistorySectionVisible",
+ base::FundamentalValue(always_on),
+ base::FundamentalValue(logging_enabled));
+
+ // TODO(rlp): Add version with error display if !success.
+}
+
void BrowserOptionsHandler::HandleRequestHotwordAvailable(
const base::ListValue* args) {
Profile* profile = Profile::FromWebUI(web_ui());
@@ -1707,10 +1718,16 @@ void BrowserOptionsHandler::HandleRequestHotwordAvailable(
// Audio history should be displayed if it's enabled regardless of the
// hotword error state. An additional message is displayed if always-on
// hotwording is enabled.
- if (profile->GetPrefs()->GetBoolean(prefs::kHotwordAudioLoggingEnabled) &&
- HotwordService::IsExperimentalHotwordingEnabled()) {
- web_ui()->CallJavascriptFunction("BrowserOptions.showAudioHistorySection",
- base::FundamentalValue(always_on));
+ if (HotwordService::IsExperimentalHotwordingEnabled()) {
+ HotwordService* hotword_service =
+ HotwordServiceFactory::GetForProfile(profile);
+ if (hotword_service) {
+ hotword_service->GetAudioHistoryHandler()->GetAudioHistoryEnabled(
+ base::Bind(
+ &BrowserOptionsHandler::SetHotwordAudioHistorySectionVisible,
+ weak_ptr_factory_.GetWeakPtr(),
+ always_on));
+ }
}
if (!error) {
@@ -1745,8 +1762,6 @@ void BrowserOptionsHandler::HandleLaunchHotwordAudioVerificationApp(
prefs::kHotwordAudioLoggingEnabled));
launch_mode = HotwordService::RETRAIN;
- // TODO(rlp): Make sure the Chrome Audio History pref is synced
- // to the account-level Audio History setting from footprints.
} else if (profile->GetPrefs()->GetBoolean(
prefs::kHotwordAudioLoggingEnabled)) {
DCHECK(!profile->GetPrefs()->GetBoolean(

Powered by Google App Engine
This is Rietveld 408576698