| Index: chrome/browser/ui/webui/options/chromeos/bluetooth_options_handler.cc
|
| diff --git a/chrome/browser/ui/webui/options/chromeos/bluetooth_options_handler.cc b/chrome/browser/ui/webui/options/chromeos/bluetooth_options_handler.cc
|
| deleted file mode 100644
|
| index 310519fd29fc2237811074400bf8ab347a73d772..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/ui/webui/options/chromeos/bluetooth_options_handler.cc
|
| +++ /dev/null
|
| @@ -1,288 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "chrome/browser/ui/webui/options/chromeos/bluetooth_options_handler.h"
|
| -
|
| -#include "base/bind.h"
|
| -#include "base/command_line.h"
|
| -#include "base/utf_string_conversions.h"
|
| -#include "base/values.h"
|
| -#include "chrome/browser/chromeos/bluetooth/bluetooth_adapter.h"
|
| -#include "chrome/browser/chromeos/bluetooth/bluetooth_device.h"
|
| -#include "chrome/browser/ui/webui/options/chromeos/system_settings_provider.h"
|
| -#include "content/public/browser/web_ui.h"
|
| -#include "grit/chromium_strings.h"
|
| -#include "grit/generated_resources.h"
|
| -#include "third_party/cros_system_api/dbus/service_constants.h"
|
| -#include "ui/base/l10n/l10n_util.h"
|
| -
|
| -namespace {
|
| -
|
| -// |UpdateDeviceCallback| takes a variable length list as an argument. The
|
| -// value stored in each list element is indicated by the following constants.
|
| -const int kUpdateDeviceAddressIndex = 0;
|
| -const int kUpdateDeviceCommandIndex = 1;
|
| -const int kUpdateDevicePasskeyIndex = 2;
|
| -
|
| -} // namespace
|
| -
|
| -namespace chromeos {
|
| -
|
| -BluetoothOptionsHandler::BluetoothOptionsHandler() {
|
| -}
|
| -
|
| -BluetoothOptionsHandler::~BluetoothOptionsHandler() {
|
| - if (adapter_.get())
|
| - adapter_->RemoveObserver(this);
|
| -}
|
| -
|
| -void BluetoothOptionsHandler::GetLocalizedValues(
|
| - DictionaryValue* localized_strings) {
|
| - DCHECK(localized_strings);
|
| -
|
| - localized_strings->SetString("bluetooth",
|
| - l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_SECTION_TITLE_BLUETOOTH));
|
| - localized_strings->SetString("disableBluetooth",
|
| - l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_BLUETOOTH_DISABLE));
|
| - localized_strings->SetString("enableBluetooth",
|
| - l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_BLUETOOTH_ENABLE));
|
| - localized_strings->SetString("addBluetoothDevice",
|
| - l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_ADD_BLUETOOTH_DEVICE));
|
| - localized_strings->SetString("bluetoothAddDeviceTitle",
|
| - l10n_util::GetStringUTF16(
|
| - IDS_OPTIONS_SETTINGS_BLUETOOTH_ADD_DEVICE_TITLE));
|
| - localized_strings->SetString("bluetoothOptionsPageTabTitle",
|
| - l10n_util::GetStringUTF16(
|
| - IDS_OPTIONS_SETTINGS_BLUETOOTH_ADD_DEVICE_TITLE));
|
| - localized_strings->SetString("findBluetoothDevices",
|
| - l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_FIND_BLUETOOTH_DEVICES));
|
| - localized_strings->SetString("bluetoothNoDevices",
|
| - l10n_util::GetStringUTF16(
|
| - IDS_OPTIONS_SETTINGS_BLUETOOTH_NO_DEVICES));
|
| - localized_strings->SetString("bluetoothNoDevicesFound",
|
| - l10n_util::GetStringUTF16(
|
| - IDS_OPTIONS_SETTINGS_BLUETOOTH_NO_DEVICES_FOUND));
|
| - localized_strings->SetString("bluetoothScanning",
|
| - l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_BLUETOOTH_SCANNING));
|
| - localized_strings->SetString("bluetoothDeviceConnected",
|
| - l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_BLUETOOTH_CONNECTED));
|
| - localized_strings->SetString("bluetoothDeviceNotConnected",
|
| - l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_BLUETOOTH_NOT_CONNECTED));
|
| - localized_strings->SetString("bluetoothConnectDevice",
|
| - l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_BLUETOOTH_CONNECT));
|
| - localized_strings->SetString("bluetoothDisconnectDevice",
|
| - l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_BLUETOOTH_DISCONNECT));
|
| - localized_strings->SetString("bluetoothForgetDevice",
|
| - l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_BLUETOOTH_FORGET));
|
| - localized_strings->SetString("bluetoothCancel",
|
| - l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_BLUETOOTH_CANCEL));
|
| - localized_strings->SetString("bluetoothEnterKey",
|
| - l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_BLUETOOTH_ENTER_KEY));
|
| - localized_strings->SetString("bluetoothAcceptPasskey",
|
| - l10n_util::GetStringUTF16(
|
| - IDS_OPTIONS_SETTINGS_BLUETOOTH_ACCEPT_PASSKEY));
|
| - localized_strings->SetString("bluetoothRejectPasskey",
|
| - l10n_util::GetStringUTF16(
|
| - IDS_OPTIONS_SETTINGS_BLUETOOTH_REJECT_PASSKEY));
|
| - localized_strings->SetString("bluetoothConfirmPasskey",
|
| - l10n_util::GetStringUTF16(
|
| - IDS_OPTIONS_SETTINGS_BLUETOOTH_CONFIRM_PASSKEY_REQUEST));
|
| - localized_strings->SetString("bluetoothEnterPasskey",
|
| - l10n_util::GetStringUTF16(
|
| - IDS_OPTIONS_SETTINGS_BLUETOOTH_ENTER_PASSKEY_REQUEST));
|
| - localized_strings->SetString("bluetoothRemotePasskey",
|
| - l10n_util::GetStringUTF16(
|
| - IDS_OPTIONS_SETTINGS_BLUETOOTH_REMOTE_PASSKEY_REQUEST));
|
| - localized_strings->SetString("bluetoothDismissError",
|
| - l10n_util::GetStringUTF16(
|
| - IDS_OPTIONS_SETTINGS_BLUETOOTH_DISMISS_ERROR));
|
| -}
|
| -
|
| -void BluetoothOptionsHandler::InitializeHandler() {
|
| - adapter_.reset(BluetoothAdapter::CreateDefaultAdapter());
|
| - adapter_->AddObserver(this);
|
| -
|
| - // Show or hide the bluetooth settings and update the checkbox based
|
| - // on the current present/powered state.
|
| - AdapterPresentChanged(adapter_.get(), adapter_->IsPresent());
|
| -}
|
| -
|
| -void BluetoothOptionsHandler::AdapterPresentChanged(BluetoothAdapter* adapter,
|
| - bool present) {
|
| - DCHECK(adapter == adapter_.get());
|
| - if (present) {
|
| - web_ui()->CallJavascriptFunction(
|
| - "options.SystemOptions.showBluetoothSettings");
|
| -
|
| - // Update the checkbox and visibility based on the powered state of the
|
| - // new adapter.
|
| - AdapterPoweredChanged(adapter_.get(), adapter_->IsPowered());
|
| - }
|
| -}
|
| -
|
| -void BluetoothOptionsHandler::AdapterPoweredChanged(BluetoothAdapter* adapter,
|
| - bool powered) {
|
| - DCHECK(adapter == adapter_.get());
|
| - base::FundamentalValue checked(powered);
|
| - web_ui()->CallJavascriptFunction(
|
| - "options.SystemOptions.setBluetoothState", checked);
|
| -}
|
| -
|
| -void BluetoothOptionsHandler::RegisterMessages() {
|
| - web_ui()->RegisterMessageCallback("bluetoothEnableChange",
|
| - base::Bind(&BluetoothOptionsHandler::EnableChangeCallback,
|
| - base::Unretained(this)));
|
| - web_ui()->RegisterMessageCallback("findBluetoothDevices",
|
| - base::Bind(&BluetoothOptionsHandler::FindDevicesCallback,
|
| - base::Unretained(this)));
|
| - web_ui()->RegisterMessageCallback("updateBluetoothDevice",
|
| - base::Bind(&BluetoothOptionsHandler::UpdateDeviceCallback,
|
| - base::Unretained(this)));
|
| -}
|
| -
|
| -void BluetoothOptionsHandler::EnableChangeCallback(
|
| - const ListValue* args) {
|
| - bool bluetooth_enabled;
|
| - args->GetBoolean(0, &bluetooth_enabled);
|
| -
|
| - adapter_->SetPowered(bluetooth_enabled,
|
| - base::Bind(&BluetoothOptionsHandler::ErrorCallback,
|
| - base::Unretained(this)));
|
| -}
|
| -
|
| -void BluetoothOptionsHandler::FindDevicesCallback(
|
| - const ListValue* args) {
|
| - adapter_->SetDiscovering(true,
|
| - base::Bind(&BluetoothOptionsHandler::ErrorCallback,
|
| - base::Unretained(this)));
|
| -}
|
| -
|
| -void BluetoothOptionsHandler::UpdateDeviceCallback(
|
| - const ListValue* args) {
|
| - // TODO(kevers): Trigger connect/disconnect.
|
| - int size = args->GetSize();
|
| - std::string address;
|
| - std::string command;
|
| - args->GetString(kUpdateDeviceAddressIndex, &address);
|
| - args->GetString(kUpdateDeviceCommandIndex, &command);
|
| - if (size > kUpdateDevicePasskeyIndex) {
|
| - // Passkey confirmation as part of the pairing process.
|
| - std::string passkey;
|
| - args->GetString(kUpdateDevicePasskeyIndex, &passkey);
|
| - DVLOG(1) << "UpdateDeviceCallback: " << address << ": " << command
|
| - << " [" << passkey << "]";
|
| - } else {
|
| - // Initiating a device connection or disconnecting
|
| - DVLOG(1) << "UpdateDeviceCallback: " << address << ": " << command;
|
| - }
|
| -}
|
| -
|
| -void BluetoothOptionsHandler::SendDeviceNotification(
|
| - const BluetoothDevice* device,
|
| - base::DictionaryValue* params) {
|
| - base::DictionaryValue js_properties;
|
| - js_properties.SetString("name", device->GetName());
|
| - js_properties.SetString("address", device->address());
|
| - js_properties.SetBoolean("paired", device->IsPaired());
|
| - js_properties.SetBoolean("bonded", device->IsBonded());
|
| - js_properties.SetBoolean("connected", device->IsConnected());
|
| - if (params) {
|
| - js_properties.MergeDictionary(params);
|
| - }
|
| - web_ui()->CallJavascriptFunction(
|
| - "options.SystemOptions.addBluetoothDevice",
|
| - js_properties);
|
| -}
|
| -
|
| -void BluetoothOptionsHandler::RequestConfirmation(
|
| - const BluetoothDevice* device,
|
| - int passkey) {
|
| - DictionaryValue params;
|
| - params.SetString("pairing", "bluetoothConfirmPasskey");
|
| - params.SetInteger("passkey", passkey);
|
| - SendDeviceNotification(device, ¶ms);
|
| -}
|
| -
|
| -void BluetoothOptionsHandler::DisplayPasskey(
|
| - const BluetoothDevice* device,
|
| - int passkey,
|
| - int entered) {
|
| - DictionaryValue params;
|
| - params.SetString("pairing", "bluetoothRemotePasskey");
|
| - params.SetInteger("passkey", passkey);
|
| - params.SetInteger("entered", entered);
|
| - SendDeviceNotification(device, ¶ms);
|
| -}
|
| -
|
| -void BluetoothOptionsHandler::RequestPasskey(
|
| - const BluetoothDevice* device) {
|
| - DictionaryValue params;
|
| - params.SetString("pairing", "bluetoothEnterPasskey");
|
| - SendDeviceNotification(device, ¶ms);
|
| -}
|
| -
|
| -void BluetoothOptionsHandler::ReportError(
|
| - const BluetoothDevice* device,
|
| - ConnectionError error) {
|
| - std::string errorCode;
|
| - switch (error) {
|
| - case DEVICE_NOT_FOUND:
|
| - errorCode = "bluetoothErrorNoDevice";
|
| - break;
|
| - case INCORRECT_PIN:
|
| - errorCode = "bluetoothErrorIncorrectPin";
|
| - break;
|
| - case CONNECTION_TIMEOUT:
|
| - errorCode = "bluetoothErrorTimeout";
|
| - break;
|
| - case CONNECTION_REJECTED:
|
| - errorCode = "bluetoothErrorConnectionFailed";
|
| - break;
|
| - }
|
| - DictionaryValue params;
|
| - params.SetString("pairing", errorCode);
|
| - SendDeviceNotification(device, ¶ms);
|
| -}
|
| -
|
| -void BluetoothOptionsHandler::AdapterDiscoveringChanged(
|
| - BluetoothAdapter* adapter, bool discovering) {
|
| - DCHECK(adapter == adapter_.get());
|
| - if (!discovering) {
|
| - web_ui()->CallJavascriptFunction(
|
| - "options.SystemOptions.notifyBluetoothSearchComplete");
|
| -
|
| - // Stop the discovery session.
|
| - // TODO(vlaviano): We may want to expose DeviceDisappeared, remove the
|
| - // "Find devices" button, and let the discovery session continue throughout
|
| - // the time that the page is visible rather than just doing a single
|
| - // discovery cycle in response to a button click.
|
| - adapter_->SetDiscovering(false,
|
| - base::Bind(&BluetoothOptionsHandler::ErrorCallback,
|
| - base::Unretained(this)));
|
| - }
|
| -}
|
| -
|
| -void BluetoothOptionsHandler::DeviceAdded(BluetoothAdapter* adapter,
|
| - BluetoothDevice* device) {
|
| - DCHECK(adapter == adapter_.get());
|
| - DCHECK(device);
|
| - SendDeviceNotification(device, NULL);
|
| -}
|
| -
|
| -void BluetoothOptionsHandler::DeviceChanged(BluetoothAdapter* adapter,
|
| - BluetoothDevice* device) {
|
| - DCHECK(adapter == adapter_.get());
|
| - DCHECK(device);
|
| - SendDeviceNotification(device, NULL);
|
| -}
|
| -
|
| -void BluetoothOptionsHandler::ErrorCallback() {
|
| - // TODO(keybuk): we don't get any form of error response from dbus::
|
| - // yet, other than an error occurred. I'm going to fix that, then this
|
| - // gets replaced by genuine error information from the method which we
|
| - // can act on, rather than a debug log statement.
|
| - DVLOG(1) << "Failed.";
|
| -}
|
| -
|
| -} // namespace chromeos
|
|
|