tree: 0f9733a30f33c704979a49cb2b64c4af2c285aae [path history] [tgz]
  1. hid_preserving_controller/
  2. bluetooth_detailed_view.cc
  3. bluetooth_detailed_view.h
  4. bluetooth_detailed_view_controller.cc
  5. bluetooth_detailed_view_controller.h
  6. bluetooth_detailed_view_controller_unittest.cc
  7. bluetooth_detailed_view_impl.cc
  8. bluetooth_detailed_view_impl.h
  9. bluetooth_detailed_view_impl_pixeltest.cc
  10. bluetooth_detailed_view_impl_unittest.cc
  11. bluetooth_device_list_controller.cc
  12. bluetooth_device_list_controller.h
  13. bluetooth_device_list_controller_impl.cc
  14. bluetooth_device_list_controller_impl.h
  15. bluetooth_device_list_controller_unittest.cc
  16. bluetooth_device_list_item_battery_view.cc
  17. bluetooth_device_list_item_battery_view.h
  18. bluetooth_device_list_item_battery_view_unittest.cc
  19. bluetooth_device_list_item_multiple_battery_view.cc
  20. bluetooth_device_list_item_multiple_battery_view.h
  21. bluetooth_device_list_item_multiple_battery_view_unittest.cc
  22. bluetooth_device_list_item_view.cc
  23. bluetooth_device_list_item_view.h
  24. bluetooth_device_list_item_view_unittest.cc
  25. bluetooth_device_status_ui_handler.cc
  26. bluetooth_device_status_ui_handler.h
  27. bluetooth_device_status_ui_handler_unittest.cc
  28. bluetooth_feature_pod_controller.cc
  29. bluetooth_feature_pod_controller.h
  30. bluetooth_feature_pod_controller_unittest.cc
  31. bluetooth_notification_controller.cc
  32. bluetooth_notification_controller.h
  33. bluetooth_notification_controller_unittest.cc
  34. bluetooth_state_cache.cc
  35. bluetooth_state_cache.h
  36. bluetooth_state_cache_unittest.cc
  37. DEPS
  38. DIR_METADATA
  39. fake_bluetooth_detailed_view.cc
  40. fake_bluetooth_detailed_view.h
  41. fake_bluetooth_device_list_controller.cc
  42. fake_bluetooth_device_list_controller.h
  43. OWNERS
  44. README.md
ash/system/bluetooth/README.md

Bluetooth Quick Settings UI

This directory contains Bluetooth system tray classes, used to display information about the current state of Bluetooth adapter, list Bluetooth devices that are currently paired, previously paired to and currently being paired to. It allows a user to interact with Bluetooth devices, triggers notifications (toast and system notifications) on the current status of a Bluetooth device and opens a dialog to pair with a Bluetooth device.

Underneath the hood, the classes use the CrosBluetoothConfig mojo API to fetch metadata about available Bluetooth devices.

BluetoothFeaturePodController

This class governs the Bluetooth feature tile, offering options to control Bluetooth status and access a detailed Bluetooth device list page.

BluetoothDetailedViewController

This class serves as the core logic for managing the detailed Bluetooth settings page within the quick settings panel. It translates user interactions into Bluetooth state changes and maintains the distinction between previously connected and currently connected devices. Additionally, it listens for Bluetooth device property changes and instructs the BluetoothDeviceListController to update the device list view accordingly.

BluetoothDeviceListController

This class governs the device list within the detailed Bluetooth settings page, enabling the addition, modification, and removal of devices. It manages the subheader views for connected, unconnected, and previously connected devices, and encompasses the factory method for generating instances of its implementations.

BluetoothDetailedView

This class serves as a central hub for managing the detailed Bluetooth settings page within the quick settings panel. It houses the device list view, establishes the delegate interface for handling user interactions, and provides a factory method for creating instances of its implementations.

BluetoothDeviceListItemView

This class encapsulates the logic of configuring the view shown for a single device in the detailed Bluetooth page within the quick settings.

BluetoothDeviceStatusUiHandler

This class monitors Bluetooth device connections and notifies the user through pop-up messages when a device is paired, connected, or disconnected.

BluetoothNotificationController

This class acts as an intermediary between the BluetoothAdapter and the user, handling incoming pairing requests, adapter state changes, and bonded device updates. It presents pairing requests as interactive notifications that allow users to accept or decline the pairing. These interactions are managed by the BluetoothPairingNotificationDelegate.