Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 59c06278 authored by Android (Google) Code Review's avatar Android (Google) Code Review
Browse files

Merge change I721361f1 into eclair

* changes:
  Add a new priority for Auto Connection of A2DP. DO NOT MERGE.
parents 525bfe89 721361f1
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -74,9 +74,12 @@ public final class BluetoothA2dp {
    /** Playing implies connected */
    public static final int STATE_PLAYING    = 4;

    /** Default priority for a2dp devices that we try to auto-connect
     * and allow incoming connections */
    public static final int PRIORITY_AUTO_CONNECT = 1000;
    /** Default priority for a2dp devices that should allow incoming
     * connections */
    public static final int PRIORITY_AUTO = 100;
    public static final int PRIORITY_ON = 100;
    /** Default priority for a2dp devices that should not allow incoming
     * connections */
    public static final int PRIORITY_OFF = 0;
+8 −3
Original line number Diff line number Diff line
@@ -100,9 +100,14 @@ public final class BluetoothHeadset {
    /** Connection canceled before completetion. */
    public static final int RESULT_CANCELED = 2;

    /** Default priority for headsets that should be auto-connected */
    public static final int PRIORITY_AUTO = 100;
    /** Default priority for headsets that should not be auto-connected */
    /** Default priority for headsets that  for which we will accept
     * inconing connections and auto-connect */
    public static final int PRIORITY_AUTO_CONNECT = 1000;
    /** Default priority for headsets that  for which we will accept
     * inconing connections but not auto-connect */
    public static final int PRIORITY_ON = 100;
    /** Default priority for headsets that should not be auto-connected
     * and not allow incoming connections. */
    public static final int PRIORITY_OFF = 0;

    /** The voice dialer 'works' but the user experience is poor. The voice
+11 −3
Original line number Diff line number Diff line
@@ -96,7 +96,7 @@ public class BluetoothA2dpService extends IBluetoothA2dp.Stub {
                                                   BluetoothDevice.ERROR);
                switch(bondState) {
                case BluetoothDevice.BOND_BONDED:
                    setSinkPriority(device, BluetoothA2dp.PRIORITY_AUTO);
                    setSinkPriority(device, BluetoothA2dp.PRIORITY_ON);
                    break;
                case BluetoothDevice.BOND_BONDING:
                case BluetoothDevice.BOND_NONE:
@@ -104,7 +104,7 @@ public class BluetoothA2dpService extends IBluetoothA2dp.Stub {
                    break;
                }
            } else if (action.equals(BluetoothDevice.ACTION_ACL_CONNECTED)) {
                if (getSinkPriority(device) > BluetoothA2dp.PRIORITY_OFF &&
                if (getSinkPriority(device) == BluetoothA2dp.PRIORITY_AUTO_CONNECT &&
                        isSinkDevice(device)) {
                    // This device is a preferred sink. Make an A2DP connection
                    // after a delay. We delay to avoid connection collisions,
@@ -171,7 +171,7 @@ public class BluetoothA2dpService extends IBluetoothA2dp.Stub {
                // check bluetooth is still on, device is still preferred, and
                // nothing is currently connected
                if (mBluetoothService.isEnabled() &&
                        getSinkPriority(device) > BluetoothA2dp.PRIORITY_OFF &&
                        getSinkPriority(device) == BluetoothA2dp.PRIORITY_AUTO_CONNECT &&
                        lookupSinksMatchingStates(new int[] {
                            BluetoothA2dp.STATE_CONNECTING,
                            BluetoothA2dp.STATE_CONNECTED,
@@ -450,6 +450,14 @@ public class BluetoothA2dpService extends IBluetoothA2dp.Stub {
            if (state == BluetoothA2dp.STATE_CONNECTING) {
                mAudioManager.setParameters("A2dpSuspended=false");
            }

            if (state == BluetoothA2dp.STATE_CONNECTING ||
                    state == BluetoothA2dp.STATE_CONNECTED) {
                // We have connected or attempting to connect.
                // Bump priority
                setSinkPriority(device, BluetoothA2dp.PRIORITY_AUTO_CONNECT);
            }

            Intent intent = new Intent(BluetoothA2dp.ACTION_SINK_STATE_CHANGED);
            intent.putExtra(BluetoothDevice.EXTRA_DEVICE, device);
            intent.putExtra(BluetoothA2dp.EXTRA_PREVIOUS_SINK_STATE, prevState);