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

Side by Side Diff: chrome/browser/ui/webui/options/chromeos/system_options_handler.cc

Issue 8137003: Add display of available bluetooth devices, and mechanism for retrieving the list. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Remove addition of animated spinner in favour of reusing an existing throbber class. Created 9 years, 2 months 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/ui/webui/options/chromeos/system_options_handler.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #include "chrome/browser/ui/webui/options/chromeos/system_options_handler.h" 5 #include "chrome/browser/ui/webui/options/chromeos/system_options_handler.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 localized_strings->SetString("sensitivityMore", 67 localized_strings->SetString("sensitivityMore",
68 l10n_util::GetStringUTF16( 68 l10n_util::GetStringUTF16(
69 IDS_OPTIONS_SETTINGS_SENSITIVITY_MORE_DESCRIPTION)); 69 IDS_OPTIONS_SETTINGS_SENSITIVITY_MORE_DESCRIPTION));
70 70
71 localized_strings->SetString("bluetooth", 71 localized_strings->SetString("bluetooth",
72 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_SECTION_TITLE_BLUETOOTH)); 72 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_SECTION_TITLE_BLUETOOTH));
73 localized_strings->SetString("enableBluetooth", 73 localized_strings->SetString("enableBluetooth",
74 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_BLUETOOTH_ENABLE)); 74 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_BLUETOOTH_ENABLE));
75 localized_strings->SetString("findBluetoothDevices", 75 localized_strings->SetString("findBluetoothDevices",
76 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_FIND_BLUETOOTH_DEVICES)); 76 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_FIND_BLUETOOTH_DEVICES));
77 localized_strings->SetString("bluetoothScanning",
78 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_BLUETOOTH_SCANNING));
79 localized_strings->SetString("bluetoothDeviceConnected",
80 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_BLUETOOTH_CONNECTED));
81 localized_strings->SetString("bluetoothDeviceNotPaired",
82 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_BLUETOOTH_NOT_PAIRED));
77 83
78 localized_strings->SetString("language", 84 localized_strings->SetString("language",
79 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_SECTION_TITLE_LANGUAGE)); 85 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_SECTION_TITLE_LANGUAGE));
80 localized_strings->SetString("languageCustomize", 86 localized_strings->SetString("languageCustomize",
81 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_LANGUAGES_CUSTOMIZE)); 87 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_LANGUAGES_CUSTOMIZE));
82 localized_strings->SetString("modifierKeysCustomize", 88 localized_strings->SetString("modifierKeysCustomize",
83 l10n_util::GetStringUTF16( 89 l10n_util::GetStringUTF16(
84 IDS_OPTIONS_SETTINGS_LANGUAGES_MODIFIER_KEYS_CUSTOMIZE)); 90 IDS_OPTIONS_SETTINGS_LANGUAGES_MODIFIER_KEYS_CUSTOMIZE));
85 91
86 localized_strings->SetString("accessibilityTitle", 92 localized_strings->SetString("accessibilityTitle",
(...skipping 15 matching lines...) Expand all
102 base::FundamentalValue checked(acc_enabled); 108 base::FundamentalValue checked(acc_enabled);
103 web_ui_->CallJavascriptFunction( 109 web_ui_->CallJavascriptFunction(
104 "options.SystemOptions.SetAccessibilityCheckboxState", checked); 110 "options.SystemOptions.SetAccessibilityCheckboxState", checked);
105 111
106 // Bluetooth support is a work in progress. Supress the feature unless 112 // Bluetooth support is a work in progress. Supress the feature unless
107 // explicitly enabled via a command line flag. 113 // explicitly enabled via a command line flag.
108 // TODO (kevers) - Test for presence of bluetooth hardware. 114 // TODO (kevers) - Test for presence of bluetooth hardware.
109 if (CommandLine::ForCurrentProcess() 115 if (CommandLine::ForCurrentProcess()
110 ->HasSwitch(switches::kEnableBluetooth)) { 116 ->HasSwitch(switches::kEnableBluetooth)) {
111 web_ui_->CallJavascriptFunction( 117 web_ui_->CallJavascriptFunction(
112 "options.SystemOptions.ShowBluetoothSettings"); 118 "options.SystemOptions.showBluetoothSettings");
113 } 119 }
114 } 120 }
115 121
116 void SystemOptionsHandler::RegisterMessages() { 122 void SystemOptionsHandler::RegisterMessages() {
117 DCHECK(web_ui_); 123 DCHECK(web_ui_);
118 web_ui_->RegisterMessageCallback("accessibilityChange", 124 web_ui_->RegisterMessageCallback("accessibilityChange",
119 base::Bind(&SystemOptionsHandler::AccessibilityChangeCallback, 125 base::Bind(&SystemOptionsHandler::AccessibilityChangeCallback,
120 base::Unretained(this))); 126 base::Unretained(this)));
127 web_ui_->RegisterMessageCallback("bluetoothEnableChange",
128 NewCallback(this, &SystemOptionsHandler::BluetoothEnableChangeCallback));
129 web_ui_->RegisterMessageCallback("findBluetoothDevices",
130 NewCallback(this, &SystemOptionsHandler::FindBluetoothDevicesCallback));
121 } 131 }
122 132
123 void SystemOptionsHandler::AccessibilityChangeCallback(const ListValue* args) { 133 void SystemOptionsHandler::AccessibilityChangeCallback(const ListValue* args) {
124 std::string checked_str; 134 std::string checked_str;
125 args->GetString(0, &checked_str); 135 args->GetString(0, &checked_str);
126 bool accessibility_enabled = (checked_str == "true"); 136 bool accessibility_enabled = (checked_str == "true");
127 137
128 chromeos::accessibility::EnableAccessibility(accessibility_enabled, NULL); 138 chromeos::accessibility::EnableAccessibility(accessibility_enabled, NULL);
129 } 139 }
140
141 void SystemOptionsHandler::BluetoothEnableChangeCallback(
142 const ListValue* args) {
143 // TODO (kevers) - Call Bluetooth API to enable or disable.
144 }
145
146 void SystemOptionsHandler::FindBluetoothDevicesCallback(
147 const ListValue* args) {
148 // TODO (kevers) - Call Bluetooth API to fetch devices.
149 // Generate a fake list until the bluetooth API is ready.
150 // Afterwards keep fake list only for cases where emulating
151 // ChromeOS from the desktop launch.
152 GenerateFakeDeviceList();
153 }
154
155 void SystemOptionsHandler::BluetoothDeviceNotification(
156 const DictionaryValue& device) {
157 web_ui_->CallJavascriptFunction(
158 "options.SystemOptions.addBluetoothDevice", device);
159 }
160
161 void SystemOptionsHandler::GenerateFakeDeviceList() {
162 // TODO (kevers) - Send notifications asynchronously simulating that the
163 // process of discovering bluetooth devices takes time.
164 // Fire each notification using OneShotTimer with a
165 // varying delay.
166 std::string data[9] = {
167 "Fake Wireless Keyboard", "01-02-03-04-05", "keyboard",
168 "Fake Wireless Mouse", "02-03-04-05-01", "mouse",
169 "Fake Wireless Headset", "03-04-05-01-02", "headset"};
170
171 for (int i = 0; i < 3; i++) {
172 DictionaryValue device;
173 device.SetString("deviceName", data[3*i]);
174 device.SetString("deviceId", data[3*i+1]);
175 device.SetString("deviceType", data[3*i+2]);
176 device.SetString("deviceStatus", "bluetoothDeviceNotPaired");
177 web_ui_->CallJavascriptFunction(
178 "options.SystemOptions.addBluetoothDevice", device);
179 }
180 web_ui_->CallJavascriptFunction(
181 "options.SystemOptions.notifyBluetoothSearchComplete");
182 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/options/chromeos/system_options_handler.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698