Bluetooth: Don't set a null alias before unpairing

* This causes the unpair action to throw a null pointer exception and
  bring down the Settings app. Don't do this.

Change-Id: I0c60437f5ea934385a037a464743e24c9d341aca
Bluetooth: GAP: Avoid adding device to cached device list

Change will ensure that devices will not be added to the cached
device list if profile connection state is STATE_DISCONNECTED
or STATE_DISCONNECTING. Otherwise, devices will be added to cached
list and while inquring device will not be listed in available
device list.

CRs-Fixed: 586975
Change-Id: I60bc01c0f2cb5ea87f3c633bcec2f04c90939d67
Bluetooth: HID: Use proper values of connection status

This patch fixes issue in retrieving correct connection status when
more than one hid device was connected to DUT. In such situation
current implementation was sending STATE_DISCONNECTED as connection
state because of wrong check of matching device as 1st device in
connected device list. Instead of this now actual connection state
device is retrieved from HidService.

Change-Id: I2c766e9fc6eb9e97c3745016e38fa5c374c16539
CRs-Fixed: 593065
Bluetooth: disable scan icon when BT state is off

Usually onScanningStateChanged function should take care
of disabling the scan icon when the scan is completed.

But When the BT scan is going on and try to switch of the
BT, as onScanningStateChanged function doesn't have the
reference for scan icon it will not disable it, so disabling
is taken care in BluetoothSettings on receiving BT Off state.

On receiving BT Off state, disable the scan progress icon only
when available device category is present.

CRs-Fixed: 543777,596214
Change-Id: Ib827903d4f5c80eeb6ac8a06fb1a945140dd20c9
Bluetooth: A2dp: Add A2dp Source UUID

Add A2dp source UUID to A2dp profile UUID list so that
once SDP is performed after pairing, A2dp profile is added
to the cached device instance if remote device supports
either A2dp source or sink role.

Change-Id: I67b16ac2c6fd7a6c2510c80c41dca27c35225a1b
CRs-Fixed: 593841
Bluetooth: Validate the device for A2dpSink

This change will check if remote device supports A2dpSink before
sending A2dp connection Request.

Change-Id: I141099f14b697debce59d094a388de344aad1df1
CRs-fixed: 590200
Bluetooth:GAP: Handle exception while unregistering the Receiver

Handle the IllegalArgumentException while unregistering the
Receiver.

Usually when user presses both cancel and okay for the disconnect
dialog, OnClickListener will be called twice for both options,
and for the second time it is expected that receiver would have
already unregistered.

Change-Id: I36e30d551df76b7cfd1754305a1087578fd4a275
CRs-Fixed: 595648