Loading android/app/src/com/android/bluetooth/a2dp/A2dpService.java +5 −4 Original line number Diff line number Diff line Loading @@ -40,6 +40,7 @@ import com.android.bluetooth.btservice.ProfileService; import com.android.bluetooth.btservice.ServiceFactory; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.ArrayUtils; import java.util.ArrayList; import java.util.List; Loading Loading @@ -233,8 +234,8 @@ public class A2dpService extends ProfileService { Log.e(TAG, "Cannot connect to " + device + " : CONNECTION_POLICY_FORBIDDEN"); return false; } if (!BluetoothUuid.isUuidPresent(mAdapterService.getRemoteUuids(device), BluetoothUuid.AudioSink)) { if (!ArrayUtils.contains(mAdapterService.getRemoteUuids(device), BluetoothUuid.A2DP_SINK)) { Log.e(TAG, "Cannot connect to " + device + " : Remote does not have A2DP Sink UUID"); return false; } Loading Loading @@ -385,8 +386,8 @@ public class A2dpService extends ProfileService { } synchronized (mStateMachines) { for (BluetoothDevice device : bondedDevices) { if (!BluetoothUuid.isUuidPresent(mAdapterService.getRemoteUuids(device), BluetoothUuid.AudioSink)) { if (!ArrayUtils.contains(mAdapterService.getRemoteUuids(device), BluetoothUuid.A2DP_SINK)) { continue; } int connectionState = BluetoothProfile.STATE_DISCONNECTED; Loading android/app/src/com/android/bluetooth/btservice/AdapterService.java +19 −18 Original line number Diff line number Diff line Loading @@ -98,6 +98,7 @@ import com.android.bluetooth.sdp.SdpManager; import com.android.internal.R; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.app.IBatteryStats; import com.android.internal.util.ArrayUtils; import com.google.protobuf.InvalidProtocolBufferException; Loading Loading @@ -811,36 +812,36 @@ public class AdapterService extends Service { } if (profile == BluetoothProfile.HEADSET) { return (BluetoothUuid.isUuidPresent(localDeviceUuids, BluetoothUuid.HSP_AG) && BluetoothUuid.isUuidPresent(remoteDeviceUuids, BluetoothUuid.HSP)) || (BluetoothUuid.isUuidPresent(localDeviceUuids, BluetoothUuid.Handsfree_AG) && BluetoothUuid.isUuidPresent(remoteDeviceUuids, BluetoothUuid.Handsfree)); return (ArrayUtils.contains(localDeviceUuids, BluetoothUuid.HSP_AG) && ArrayUtils.contains(remoteDeviceUuids, BluetoothUuid.HSP)) || (ArrayUtils.contains(localDeviceUuids, BluetoothUuid.HFP_AG) && ArrayUtils.contains(remoteDeviceUuids, BluetoothUuid.HFP)); } if (profile == BluetoothProfile.HEADSET_CLIENT) { return BluetoothUuid.isUuidPresent(remoteDeviceUuids, BluetoothUuid.Handsfree_AG) && BluetoothUuid.isUuidPresent(localDeviceUuids, BluetoothUuid.Handsfree); return ArrayUtils.contains(remoteDeviceUuids, BluetoothUuid.HFP_AG) && ArrayUtils.contains(localDeviceUuids, BluetoothUuid.HFP); } if (profile == BluetoothProfile.A2DP) { return BluetoothUuid.isUuidPresent(remoteDeviceUuids, BluetoothUuid.AdvAudioDist) || BluetoothUuid.isUuidPresent(remoteDeviceUuids, BluetoothUuid.AudioSink); return ArrayUtils.contains(remoteDeviceUuids, BluetoothUuid.ADV_AUDIO_DIST) || ArrayUtils.contains(remoteDeviceUuids, BluetoothUuid.A2DP_SINK); } if (profile == BluetoothProfile.A2DP_SINK) { return BluetoothUuid.isUuidPresent(remoteDeviceUuids, BluetoothUuid.AdvAudioDist) || BluetoothUuid.isUuidPresent(remoteDeviceUuids, BluetoothUuid.AudioSource); return ArrayUtils.contains(remoteDeviceUuids, BluetoothUuid.ADV_AUDIO_DIST) || ArrayUtils.contains(remoteDeviceUuids, BluetoothUuid.A2DP_SOURCE); } if (profile == BluetoothProfile.OPP) { return BluetoothUuid.isUuidPresent(remoteDeviceUuids, BluetoothUuid.ObexObjectPush); return ArrayUtils.contains(remoteDeviceUuids, BluetoothUuid.OBEX_OBJECT_PUSH); } if (profile == BluetoothProfile.HID_HOST) { return BluetoothUuid.isUuidPresent(remoteDeviceUuids, BluetoothUuid.Hid) || BluetoothUuid.isUuidPresent(remoteDeviceUuids, BluetoothUuid.Hogp); return ArrayUtils.contains(remoteDeviceUuids, BluetoothUuid.HID) || ArrayUtils.contains(remoteDeviceUuids, BluetoothUuid.HOGP); } if (profile == BluetoothProfile.HID_DEVICE) { return mHidDeviceService.getConnectionState(device) == BluetoothProfile.STATE_DISCONNECTED; } if (profile == BluetoothProfile.PAN) { return BluetoothUuid.isUuidPresent(remoteDeviceUuids, BluetoothUuid.NAP); return ArrayUtils.contains(remoteDeviceUuids, BluetoothUuid.NAP); } if (profile == BluetoothProfile.MAP) { return mMapService.getConnectionState(device) == BluetoothProfile.STATE_CONNECTED; Loading @@ -852,14 +853,14 @@ public class AdapterService extends Service { return true; } if (profile == BluetoothProfile.PBAP_CLIENT) { return BluetoothUuid.isUuidPresent(localDeviceUuids, BluetoothUuid.PBAP_PCE) && BluetoothUuid.isUuidPresent(remoteDeviceUuids, BluetoothUuid.PBAP_PSE); return ArrayUtils.contains(localDeviceUuids, BluetoothUuid.PBAP_PCE) && ArrayUtils.contains(remoteDeviceUuids, BluetoothUuid.PBAP_PSE); } if (profile == BluetoothProfile.HEARING_AID) { return BluetoothUuid.isUuidPresent(remoteDeviceUuids, BluetoothUuid.HearingAid); return ArrayUtils.contains(remoteDeviceUuids, BluetoothUuid.HEARING_AID); } if (profile == BluetoothProfile.SAP) { return BluetoothUuid.isUuidPresent(remoteDeviceUuids, BluetoothUuid.SAP); return ArrayUtils.contains(remoteDeviceUuids, BluetoothUuid.SAP); } Log.e(TAG, "isSupported: Unexpected profile passed in to function: " + profile); Loading android/app/src/com/android/bluetooth/btservice/PhonePolicy.java +10 −9 Original line number Diff line number Diff line Loading @@ -40,6 +40,7 @@ import com.android.bluetooth.hid.HidHostService; import com.android.bluetooth.pan.PanService; import com.android.internal.R; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.ArrayUtils; import java.util.HashSet; import java.util.List; Loading Loading @@ -234,37 +235,37 @@ class PhonePolicy { // Set profile priorities only for the profiles discovered on the remote device. // This avoids needless auto-connect attempts to profiles non-existent on the remote device if ((hidService != null) && (BluetoothUuid.isUuidPresent(uuids, BluetoothUuid.Hid) || BluetoothUuid.isUuidPresent(uuids, BluetoothUuid.Hogp)) && ( if ((hidService != null) && (ArrayUtils.contains(uuids, BluetoothUuid.HID) || ArrayUtils.contains(uuids, BluetoothUuid.HOGP)) && ( hidService.getConnectionPolicy(device) == BluetoothProfile.CONNECTION_POLICY_UNKNOWN)) { hidService.setConnectionPolicy(device, BluetoothProfile.CONNECTION_POLICY_ALLOWED); } // If we do not have a stored priority for HFP/A2DP (all roles) then default to on. if ((headsetService != null) && ((BluetoothUuid.isUuidPresent(uuids, BluetoothUuid.HSP) || BluetoothUuid.isUuidPresent(uuids, BluetoothUuid.Handsfree)) && ( if ((headsetService != null) && ((ArrayUtils.contains(uuids, BluetoothUuid.HSP) || ArrayUtils.contains(uuids, BluetoothUuid.HFP)) && ( headsetService.getConnectionPolicy(device) == BluetoothProfile.CONNECTION_POLICY_UNKNOWN))) { headsetService.setConnectionPolicy(device, BluetoothProfile.CONNECTION_POLICY_ALLOWED); } if ((a2dpService != null) && (BluetoothUuid.isUuidPresent(uuids, BluetoothUuid.AudioSink) || BluetoothUuid.isUuidPresent(uuids, BluetoothUuid.AdvAudioDist)) && ( if ((a2dpService != null) && (ArrayUtils.contains(uuids, BluetoothUuid.A2DP_SINK) || ArrayUtils.contains(uuids, BluetoothUuid.ADV_AUDIO_DIST)) && ( a2dpService.getConnectionPolicy(device) == BluetoothProfile.CONNECTION_POLICY_UNKNOWN)) { a2dpService.setConnectionPolicy(device, BluetoothProfile.CONNECTION_POLICY_ALLOWED); } if ((panService != null) && (BluetoothUuid.isUuidPresent(uuids, BluetoothUuid.PANU) && ( if ((panService != null) && (ArrayUtils.contains(uuids, BluetoothUuid.PANU) && ( panService.getPriority(device) == BluetoothProfile.CONNECTION_POLICY_UNKNOWN) && mAdapterService.getResources() .getBoolean(R.bool.config_bluetooth_pan_enable_autoconnect))) { panService.setPriority(device, BluetoothProfile.CONNECTION_POLICY_ALLOWED); } if ((hearingAidService != null) && BluetoothUuid.isUuidPresent(uuids, BluetoothUuid.HearingAid) && (hearingAidService.getConnectionPolicy(device) if ((hearingAidService != null) && ArrayUtils.contains(uuids, BluetoothUuid.HEARING_AID) && (hearingAidService.getConnectionPolicy(device) == BluetoothProfile.CONNECTION_POLICY_UNKNOWN)) { debugLog("setting hearing aid profile priority for device " + device); hearingAidService.setConnectionPolicy(device, Loading android/app/src/com/android/bluetooth/hearingaid/HearingAidService.java +3 −2 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ import com.android.bluetooth.btservice.MetricsLogger; import com.android.bluetooth.btservice.ProfileService; import com.android.bluetooth.btservice.ServiceFactory; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.ArrayUtils; import java.util.ArrayList; import java.util.HashMap; Loading Loading @@ -239,7 +240,7 @@ public class HearingAidService extends ProfileService { return false; } ParcelUuid[] featureUuids = mAdapterService.getRemoteUuids(device); if (!BluetoothUuid.isUuidPresent(featureUuids, BluetoothUuid.HearingAid)) { if (!ArrayUtils.contains(featureUuids, BluetoothUuid.HEARING_AID)) { Log.e(TAG, "Cannot connect to " + device + " : Remote does not have Hearing Aid UUID"); return false; } Loading Loading @@ -396,7 +397,7 @@ public class HearingAidService extends ProfileService { synchronized (mStateMachines) { for (BluetoothDevice device : bondedDevices) { final ParcelUuid[] featureUuids = device.getUuids(); if (!BluetoothUuid.isUuidPresent(featureUuids, BluetoothUuid.HearingAid)) { if (!ArrayUtils.contains(featureUuids, BluetoothUuid.HEARING_AID)) { continue; } int connectionState = BluetoothProfile.STATE_DISCONNECTED; Loading android/app/src/com/android/bluetooth/hfp/HeadsetService.java +1 −1 Original line number Diff line number Diff line Loading @@ -87,7 +87,7 @@ public class HeadsetService extends ProfileService { private static final boolean DBG = false; private static final String DISABLE_INBAND_RINGING_PROPERTY = "persist.bluetooth.disableinbandringing"; private static final ParcelUuid[] HEADSET_UUIDS = {BluetoothUuid.HSP, BluetoothUuid.Handsfree}; private static final ParcelUuid[] HEADSET_UUIDS = {BluetoothUuid.HSP, BluetoothUuid.HFP}; private static final int[] CONNECTING_CONNECTED_STATES = {BluetoothProfile.STATE_CONNECTING, BluetoothProfile.STATE_CONNECTED}; private static final int DIALING_OUT_TIMEOUT_MS = 10000; Loading Loading
android/app/src/com/android/bluetooth/a2dp/A2dpService.java +5 −4 Original line number Diff line number Diff line Loading @@ -40,6 +40,7 @@ import com.android.bluetooth.btservice.ProfileService; import com.android.bluetooth.btservice.ServiceFactory; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.ArrayUtils; import java.util.ArrayList; import java.util.List; Loading Loading @@ -233,8 +234,8 @@ public class A2dpService extends ProfileService { Log.e(TAG, "Cannot connect to " + device + " : CONNECTION_POLICY_FORBIDDEN"); return false; } if (!BluetoothUuid.isUuidPresent(mAdapterService.getRemoteUuids(device), BluetoothUuid.AudioSink)) { if (!ArrayUtils.contains(mAdapterService.getRemoteUuids(device), BluetoothUuid.A2DP_SINK)) { Log.e(TAG, "Cannot connect to " + device + " : Remote does not have A2DP Sink UUID"); return false; } Loading Loading @@ -385,8 +386,8 @@ public class A2dpService extends ProfileService { } synchronized (mStateMachines) { for (BluetoothDevice device : bondedDevices) { if (!BluetoothUuid.isUuidPresent(mAdapterService.getRemoteUuids(device), BluetoothUuid.AudioSink)) { if (!ArrayUtils.contains(mAdapterService.getRemoteUuids(device), BluetoothUuid.A2DP_SINK)) { continue; } int connectionState = BluetoothProfile.STATE_DISCONNECTED; Loading
android/app/src/com/android/bluetooth/btservice/AdapterService.java +19 −18 Original line number Diff line number Diff line Loading @@ -98,6 +98,7 @@ import com.android.bluetooth.sdp.SdpManager; import com.android.internal.R; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.app.IBatteryStats; import com.android.internal.util.ArrayUtils; import com.google.protobuf.InvalidProtocolBufferException; Loading Loading @@ -811,36 +812,36 @@ public class AdapterService extends Service { } if (profile == BluetoothProfile.HEADSET) { return (BluetoothUuid.isUuidPresent(localDeviceUuids, BluetoothUuid.HSP_AG) && BluetoothUuid.isUuidPresent(remoteDeviceUuids, BluetoothUuid.HSP)) || (BluetoothUuid.isUuidPresent(localDeviceUuids, BluetoothUuid.Handsfree_AG) && BluetoothUuid.isUuidPresent(remoteDeviceUuids, BluetoothUuid.Handsfree)); return (ArrayUtils.contains(localDeviceUuids, BluetoothUuid.HSP_AG) && ArrayUtils.contains(remoteDeviceUuids, BluetoothUuid.HSP)) || (ArrayUtils.contains(localDeviceUuids, BluetoothUuid.HFP_AG) && ArrayUtils.contains(remoteDeviceUuids, BluetoothUuid.HFP)); } if (profile == BluetoothProfile.HEADSET_CLIENT) { return BluetoothUuid.isUuidPresent(remoteDeviceUuids, BluetoothUuid.Handsfree_AG) && BluetoothUuid.isUuidPresent(localDeviceUuids, BluetoothUuid.Handsfree); return ArrayUtils.contains(remoteDeviceUuids, BluetoothUuid.HFP_AG) && ArrayUtils.contains(localDeviceUuids, BluetoothUuid.HFP); } if (profile == BluetoothProfile.A2DP) { return BluetoothUuid.isUuidPresent(remoteDeviceUuids, BluetoothUuid.AdvAudioDist) || BluetoothUuid.isUuidPresent(remoteDeviceUuids, BluetoothUuid.AudioSink); return ArrayUtils.contains(remoteDeviceUuids, BluetoothUuid.ADV_AUDIO_DIST) || ArrayUtils.contains(remoteDeviceUuids, BluetoothUuid.A2DP_SINK); } if (profile == BluetoothProfile.A2DP_SINK) { return BluetoothUuid.isUuidPresent(remoteDeviceUuids, BluetoothUuid.AdvAudioDist) || BluetoothUuid.isUuidPresent(remoteDeviceUuids, BluetoothUuid.AudioSource); return ArrayUtils.contains(remoteDeviceUuids, BluetoothUuid.ADV_AUDIO_DIST) || ArrayUtils.contains(remoteDeviceUuids, BluetoothUuid.A2DP_SOURCE); } if (profile == BluetoothProfile.OPP) { return BluetoothUuid.isUuidPresent(remoteDeviceUuids, BluetoothUuid.ObexObjectPush); return ArrayUtils.contains(remoteDeviceUuids, BluetoothUuid.OBEX_OBJECT_PUSH); } if (profile == BluetoothProfile.HID_HOST) { return BluetoothUuid.isUuidPresent(remoteDeviceUuids, BluetoothUuid.Hid) || BluetoothUuid.isUuidPresent(remoteDeviceUuids, BluetoothUuid.Hogp); return ArrayUtils.contains(remoteDeviceUuids, BluetoothUuid.HID) || ArrayUtils.contains(remoteDeviceUuids, BluetoothUuid.HOGP); } if (profile == BluetoothProfile.HID_DEVICE) { return mHidDeviceService.getConnectionState(device) == BluetoothProfile.STATE_DISCONNECTED; } if (profile == BluetoothProfile.PAN) { return BluetoothUuid.isUuidPresent(remoteDeviceUuids, BluetoothUuid.NAP); return ArrayUtils.contains(remoteDeviceUuids, BluetoothUuid.NAP); } if (profile == BluetoothProfile.MAP) { return mMapService.getConnectionState(device) == BluetoothProfile.STATE_CONNECTED; Loading @@ -852,14 +853,14 @@ public class AdapterService extends Service { return true; } if (profile == BluetoothProfile.PBAP_CLIENT) { return BluetoothUuid.isUuidPresent(localDeviceUuids, BluetoothUuid.PBAP_PCE) && BluetoothUuid.isUuidPresent(remoteDeviceUuids, BluetoothUuid.PBAP_PSE); return ArrayUtils.contains(localDeviceUuids, BluetoothUuid.PBAP_PCE) && ArrayUtils.contains(remoteDeviceUuids, BluetoothUuid.PBAP_PSE); } if (profile == BluetoothProfile.HEARING_AID) { return BluetoothUuid.isUuidPresent(remoteDeviceUuids, BluetoothUuid.HearingAid); return ArrayUtils.contains(remoteDeviceUuids, BluetoothUuid.HEARING_AID); } if (profile == BluetoothProfile.SAP) { return BluetoothUuid.isUuidPresent(remoteDeviceUuids, BluetoothUuid.SAP); return ArrayUtils.contains(remoteDeviceUuids, BluetoothUuid.SAP); } Log.e(TAG, "isSupported: Unexpected profile passed in to function: " + profile); Loading
android/app/src/com/android/bluetooth/btservice/PhonePolicy.java +10 −9 Original line number Diff line number Diff line Loading @@ -40,6 +40,7 @@ import com.android.bluetooth.hid.HidHostService; import com.android.bluetooth.pan.PanService; import com.android.internal.R; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.ArrayUtils; import java.util.HashSet; import java.util.List; Loading Loading @@ -234,37 +235,37 @@ class PhonePolicy { // Set profile priorities only for the profiles discovered on the remote device. // This avoids needless auto-connect attempts to profiles non-existent on the remote device if ((hidService != null) && (BluetoothUuid.isUuidPresent(uuids, BluetoothUuid.Hid) || BluetoothUuid.isUuidPresent(uuids, BluetoothUuid.Hogp)) && ( if ((hidService != null) && (ArrayUtils.contains(uuids, BluetoothUuid.HID) || ArrayUtils.contains(uuids, BluetoothUuid.HOGP)) && ( hidService.getConnectionPolicy(device) == BluetoothProfile.CONNECTION_POLICY_UNKNOWN)) { hidService.setConnectionPolicy(device, BluetoothProfile.CONNECTION_POLICY_ALLOWED); } // If we do not have a stored priority for HFP/A2DP (all roles) then default to on. if ((headsetService != null) && ((BluetoothUuid.isUuidPresent(uuids, BluetoothUuid.HSP) || BluetoothUuid.isUuidPresent(uuids, BluetoothUuid.Handsfree)) && ( if ((headsetService != null) && ((ArrayUtils.contains(uuids, BluetoothUuid.HSP) || ArrayUtils.contains(uuids, BluetoothUuid.HFP)) && ( headsetService.getConnectionPolicy(device) == BluetoothProfile.CONNECTION_POLICY_UNKNOWN))) { headsetService.setConnectionPolicy(device, BluetoothProfile.CONNECTION_POLICY_ALLOWED); } if ((a2dpService != null) && (BluetoothUuid.isUuidPresent(uuids, BluetoothUuid.AudioSink) || BluetoothUuid.isUuidPresent(uuids, BluetoothUuid.AdvAudioDist)) && ( if ((a2dpService != null) && (ArrayUtils.contains(uuids, BluetoothUuid.A2DP_SINK) || ArrayUtils.contains(uuids, BluetoothUuid.ADV_AUDIO_DIST)) && ( a2dpService.getConnectionPolicy(device) == BluetoothProfile.CONNECTION_POLICY_UNKNOWN)) { a2dpService.setConnectionPolicy(device, BluetoothProfile.CONNECTION_POLICY_ALLOWED); } if ((panService != null) && (BluetoothUuid.isUuidPresent(uuids, BluetoothUuid.PANU) && ( if ((panService != null) && (ArrayUtils.contains(uuids, BluetoothUuid.PANU) && ( panService.getPriority(device) == BluetoothProfile.CONNECTION_POLICY_UNKNOWN) && mAdapterService.getResources() .getBoolean(R.bool.config_bluetooth_pan_enable_autoconnect))) { panService.setPriority(device, BluetoothProfile.CONNECTION_POLICY_ALLOWED); } if ((hearingAidService != null) && BluetoothUuid.isUuidPresent(uuids, BluetoothUuid.HearingAid) && (hearingAidService.getConnectionPolicy(device) if ((hearingAidService != null) && ArrayUtils.contains(uuids, BluetoothUuid.HEARING_AID) && (hearingAidService.getConnectionPolicy(device) == BluetoothProfile.CONNECTION_POLICY_UNKNOWN)) { debugLog("setting hearing aid profile priority for device " + device); hearingAidService.setConnectionPolicy(device, Loading
android/app/src/com/android/bluetooth/hearingaid/HearingAidService.java +3 −2 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ import com.android.bluetooth.btservice.MetricsLogger; import com.android.bluetooth.btservice.ProfileService; import com.android.bluetooth.btservice.ServiceFactory; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.ArrayUtils; import java.util.ArrayList; import java.util.HashMap; Loading Loading @@ -239,7 +240,7 @@ public class HearingAidService extends ProfileService { return false; } ParcelUuid[] featureUuids = mAdapterService.getRemoteUuids(device); if (!BluetoothUuid.isUuidPresent(featureUuids, BluetoothUuid.HearingAid)) { if (!ArrayUtils.contains(featureUuids, BluetoothUuid.HEARING_AID)) { Log.e(TAG, "Cannot connect to " + device + " : Remote does not have Hearing Aid UUID"); return false; } Loading Loading @@ -396,7 +397,7 @@ public class HearingAidService extends ProfileService { synchronized (mStateMachines) { for (BluetoothDevice device : bondedDevices) { final ParcelUuid[] featureUuids = device.getUuids(); if (!BluetoothUuid.isUuidPresent(featureUuids, BluetoothUuid.HearingAid)) { if (!ArrayUtils.contains(featureUuids, BluetoothUuid.HEARING_AID)) { continue; } int connectionState = BluetoothProfile.STATE_DISCONNECTED; Loading
android/app/src/com/android/bluetooth/hfp/HeadsetService.java +1 −1 Original line number Diff line number Diff line Loading @@ -87,7 +87,7 @@ public class HeadsetService extends ProfileService { private static final boolean DBG = false; private static final String DISABLE_INBAND_RINGING_PROPERTY = "persist.bluetooth.disableinbandringing"; private static final ParcelUuid[] HEADSET_UUIDS = {BluetoothUuid.HSP, BluetoothUuid.Handsfree}; private static final ParcelUuid[] HEADSET_UUIDS = {BluetoothUuid.HSP, BluetoothUuid.HFP}; private static final int[] CONNECTING_CONNECTED_STATES = {BluetoothProfile.STATE_CONNECTING, BluetoothProfile.STATE_CONNECTED}; private static final int DIALING_OUT_TIMEOUT_MS = 10000; Loading