Commit Graph

14 Commits

Author SHA1 Message Date
Nitin Srivastava
b0b9855e80 Bluetooth: Multi HF support
1. The connected sinks are not disconnected from
HeadsetProfile when new sink is connecting.
2. Also return correct connection status for
specific HS.
3. Sets priority for specific HS while disconnecting.
bug 16519158

Change-Id: I62c6629cf11129733aab8a835adcd51e014b3860
2014-08-03 17:12:50 -07:00
Jake Hamby
18c4317b93 Show correct A2DP connection status in Bluetooth settings.
When BluetoothSettings is entered via QuickSettings while an A2DP
device is connected, we aren't showing the device connection
status in the UI, because the device list is created before we've
connected to the A2DP and Headset profile services, and we weren't
refreshing the device list UI after getting the callback for
onServiceConnected() and retrieving the list of connected devices.

Add a line to HeadsetServiceListener.onServiceConnected() to call
device.refresh() after we call device.onProfileStateChanged() to
refresh the device list UI. Also copy the logic into A2dpProfile's
onServiceConnected() callback so it will refresh the UI for any
connected A2DP devices.

The reason this bug doesn't show up when entering BT settings
from the main Settings screen is because the onServiceConnected()
callbacks happen before the device list is initialized, so the
UI items are created with the correct connection status. For the
same reason, the bug doesn't occur if the Settings app is already
running and we re-enter it via Bluetooth QuickSettings.

Bug: 8724247
Change-Id: I1a993636ecab18dd6e980e3b4d2485bbed256d74
2013-04-30 13:51:38 -07:00
Ganesh Ganapathi Batta
0654b71534 Remove Profile Auto connection specific logic
Remove  profile auto connection specific logic as it is not implemented in
Bluetooth app
Disconnect PBAP server connection  when user initiates device level disconnection

Change-Id: I381ed96f6b57f414bbaccd694f55d2b992e330a4
2012-08-06 23:27:27 -07:00
Ravi Nagarajan
c70f548355 Reset the priority on unbond
Change-Id: I67b68bd70b947177218e0b908b79ebb9de9f45a8
2012-08-01 00:25:24 -07:00
Matthew Xie
b5f144af8e Clean up codes, fix long lines, improve readability, etc
Update copyright date, remove unused variable, import

Change-Id: I731c48c8e5b16cbee5230f1d02109f249b8bab5d
2012-07-16 15:38:38 -07:00
Ravi Nagarajan
d1889ed4bd Headset connection status is displayed incorrectly, as the boolean mIsProfileReady is not initalized properly. Make sure mIsProfileReady is initialized always when onServiceConnected is received
Change-Id: I968ce6900121a6140256b3181c792d421bdb7cf6
2012-07-16 15:38:38 -07:00
fredc
afedeacd57 Fixed null pointer exception when BT is enabled from settings screen with previously bonded devices
Change-Id: Ia0cf763920fd99897994ea15445aec1dcd48853e
2012-07-16 15:38:38 -07:00
Swaminatha Balaji
00ec05985d Auto connect hf/a2dp when any one of them gets connected and timeout happens
Change-Id: I6249c2fceab87f91c6629d19f72268d000ecf61c
2012-07-16 15:38:37 -07:00
fredc
654a3ab77d Fixed settings crash fix when profile is connected, Bluetooth turned off/of and phone is rebooted
Change-Id: I8738569c24a3c6cc9166b38719c1e918d990242c
2012-07-16 15:38:37 -07:00
Swaminatha Balaji
2ac143fff7 Auto connect hf/a2dp
Change-Id: I4cb260a1f794c2e094a0b19bdc1df919c4287232
2012-07-16 15:38:37 -07:00
Jake Hamby
79be0b3e6b Fix multiple BT settings bugs.
- Change Bluetooth profiles screen to match ICS wireframes
- Remove BluetoothProfilePreference.java (no longer used)
- Remove "Pair with this device" summary below every unpaired device
- Remove "Paired but not connected" summary below unconnected paired devices
- Fix auto connection after pairing (reuse existing CachedBluetoothDevice)
- Add "Connected (no phone/media)" summaries based on ICS wireframes
- Fix visibility timeout strings.
- Fix crash when starting Bluetooth from Settings shortcut widget.

Bug: 5064139
Bug: 5064324
Bug: 5080404
Bug: 5093513
Bug: 5104485
Change-Id: Ie87103e183ce414c86cb1831a38ef0178b1b1292
2011-08-03 17:55:27 -07:00
Jake Hamby
c777ee29c8 Improve Bluetooth tethering UI usability.
- Updated hint text for BT tethering checkbox to
  "[Sharing|not sharing] this [tablet|phone]'s mobile data connection".
- Show correct hint text when user enters tethering screen.
- Show correct status after user enables tethering when Bluetooth is off.
  When BluetoothPan.setBluetoothTethering(true) is called with BT off,
  BluetoothPanProfileHandler will add a broadcast receiver to enable
  tethering after BT turns on. This happens too late to show the correct
  status when TetherSettings gets the adapter state changed event, so set
  a flag (mBluetoothEnableForTether) instead, and call setBluetoothTethering
  ourselves after the state changes to ON. Also, clear the flag if the
  adapter state changes to OFF or ERROR.
- Show correct status when user enables tethering, then disables Bluetooth,
  then returns to the tethering screen. Previously it would show
  Bluetooth tethering enabled, even though adapter state was OFF.
- Show the number of connected devices in tethering preference screen.
- Distinguish between PANU and NAP in device profiles screen, and show
  appropriate text to clarify the direction of tethering.
- Remove profiles from device profiles list when the device removes the UUID
  (e.g. Mac OS X turning NAP on/off) and after a NAP disconnection when the
  remote device only supports PANU.

Bug: 3414575
Change-Id: I2c0830876d5b9bddb293e57c4d3ca74f105911b8
2011-03-09 14:56:56 -08:00
Jaikumar Ganesh
37bf3353d1 Return profile state disconnected when not yet bound to service.
Bug: 4007080

There is a another bug open to handle service object being null
and a connect / disconnect call being made.

Change-Id: I30f6923323532b5756338b350ec4ce0e1a31d1ff
2011-03-08 18:04:25 -08:00
Jake Hamby
436b29e68e Refactor Bluetooth settings for readability and performance.
Major refactoring of Bluetooth settings classes.
- Moved all functionality from LocalBluetoothManager into new
  LocalBluetoothAdapter and LocalBluetoothPreferences, and into
  existing classes.
- Refactored functionality from BluetoothEventRedirector into new
  BluetoothEventManager class, deleting the original version. New
  version uses a HashMap from action Strings to implementers of the
  BluetoothEventManager.Handler interface.
- Created new BluetoothDiscoveryReceiver to update shared preferences
  timestamp for Bluetooth discovery start/finish. This is the only event
  handling we need to do when the settings app is not visible, so it has
  its own receiver entry in AndroidManifest.xml. Edits are written using
  QueuedWork.singleThreadExecutor(), which BroadcastReceiver knows about
  and will wait for completion, eliminating the need for PendingResult.
- Miscellaneous cleanups to code style and logic for readability.
- Pulled some large switch statement code blocks into new methods.
- Changed all Bluetooth state references to the new BluetoothProfile
  constants.
- Changed use of deprecated Notification constructor in
  BluetoothPairingRequest to use Notification.Builder.
- Moved Utf8ByteLengthFilter helper function from BluetoothNamePreference
  into its own class, and moved test cases into the same package.
- Moved all LocalBluetoothProfileManager functionality related to
  specific profiles into new top-level classes (A2dpProfile, etc.), all
  implementing the LocalBluetoothProfile interface.
- Moved all UI-related methods from CachedBluetoothDevice into the class
  that uses the method, or into the static Utils class for shared methods.

Change-Id: I6d49b7f4ae0c7d7dcf62551ee40b51ecb5fe4f47
2011-03-01 18:44:36 -08:00