| Index: content/browser/bluetooth/bluetooth_device_chooser_controller.cc
|
| diff --git a/content/browser/bluetooth/bluetooth_device_chooser_controller.cc b/content/browser/bluetooth/bluetooth_device_chooser_controller.cc
|
| index 95315cdf512aedaaef0d8f4415258688de7d0eda..809f3a15c4dae9f7ac5979aa7245be9cae87508d 100644
|
| --- a/content/browser/bluetooth/bluetooth_device_chooser_controller.cc
|
| +++ b/content/browser/bluetooth/bluetooth_device_chooser_controller.cc
|
| @@ -35,6 +35,13 @@ const int kMaxRSSI = -55;
|
| // Number of RSSI levels used in the signal strength image.
|
| const int kNumSignalStrengthLevels = 5;
|
|
|
| +const content::UMARSSISignalStrengthLevel kRSSISignalStrengthEnumTable[] = {
|
| + content::UMARSSISignalStrengthLevel::LEVEL_0,
|
| + content::UMARSSISignalStrengthLevel::LEVEL_1,
|
| + content::UMARSSISignalStrengthLevel::LEVEL_2,
|
| + content::UMARSSISignalStrengthLevel::LEVEL_3,
|
| + content::UMARSSISignalStrengthLevel::LEVEL_4};
|
| +
|
| } // namespace
|
|
|
| namespace content {
|
| @@ -384,15 +391,26 @@ void BluetoothDeviceChooserController::AdapterPoweredChanged(bool powered) {
|
|
|
| int BluetoothDeviceChooserController::CalculateSignalStrengthLevel(
|
| int8_t rssi) {
|
| - if (rssi <= kMinRSSI)
|
| + RecordRSSISignalStrength(rssi);
|
| +
|
| + if (rssi <= kMinRSSI) {
|
| + RecordRSSISignalStrengthLevel(
|
| + UMARSSISignalStrengthLevel::LESS_THAN_OR_EQUAL_TO_MIN_RSSI);
|
| return 0;
|
| + }
|
|
|
| - if (rssi >= kMaxRSSI)
|
| + if (rssi >= kMaxRSSI) {
|
| + RecordRSSISignalStrengthLevel(
|
| + UMARSSISignalStrengthLevel::GREATER_THAN_OR_EQUAL_TO_MAX_RSSI);
|
| return kNumSignalStrengthLevels - 1;
|
| + }
|
|
|
| double input_range = kMaxRSSI - kMinRSSI;
|
| double output_range = kNumSignalStrengthLevels - 1;
|
| - return static_cast<int>((rssi - kMinRSSI) * output_range / input_range);
|
| + int level = static_cast<int>((rssi - kMinRSSI) * output_range / input_range);
|
| + DCHECK(kNumSignalStrengthLevels == arraysize(kRSSISignalStrengthEnumTable));
|
| + RecordRSSISignalStrengthLevel(kRSSISignalStrengthEnumTable[level]);
|
| + return level;
|
| }
|
|
|
| void BluetoothDeviceChooserController::SetTestScanDurationForTesting() {
|
|
|