OSDN Git Service

Update to reflect new priorities for A2DP profile. DO NOT MERGE.
authorJaikumar Ganesh <jaikumar@google.com>
Tue, 24 Nov 2009 22:43:45 +0000 (14:43 -0800)
committerJaikumar Ganesh <jaikumar@google.com>
Wed, 2 Dec 2009 23:38:52 +0000 (15:38 -0800)
1. PRIORITY_OFF is when it is unchecked.
2. PRIORITY_ON is when it is checked.
3. PRIORITY_AUTO_CONNECT is when we want to auto connect.

When the box is checked, we want to auto connect,
so set the priority to AUTO_CONNECT.
When the user disconnects, we set the priority back
to PRIORITY_ON.

Change priority for Headset profile on the same lines as A2DP profile.

AUTO_CONNECT => we auto_connect.
ON => Settings app box is checked and we allow incoming connections.
OFF => Settings app check box is unchecked.

Dr no: Eastham
Bug: 2133530

src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java

index a6258e2..44e2be3 100644 (file)
@@ -176,6 +176,8 @@ public abstract class LocalBluetoothProfileManager {
 
         @Override
         public boolean disconnect(BluetoothDevice device) {
+            // Downgrade priority as user is disconnecting the sink.
+            mService.setSinkPriority(device, BluetoothA2dp.PRIORITY_ON);
             return mService.disconnectSink(device);
         }
 
@@ -203,7 +205,7 @@ public abstract class LocalBluetoothProfileManager {
         @Override
         public void setPreferred(BluetoothDevice device, boolean preferred) {
             mService.setSinkPriority(device,
-                    preferred ? BluetoothA2dp.PRIORITY_AUTO : BluetoothA2dp.PRIORITY_OFF);
+                    preferred ? BluetoothA2dp.PRIORITY_AUTO_CONNECT : BluetoothA2dp.PRIORITY_OFF);
         }
 
         @Override
@@ -269,6 +271,8 @@ public abstract class LocalBluetoothProfileManager {
         @Override
         public boolean disconnect(BluetoothDevice device) {
             if (mService.getCurrentHeadset().equals(device)) {
+                // Downgrade prority as user is disconnecting the headset.
+                mService.setPriority(device, BluetoothHeadset.PRIORITY_ON);
                 return mService.disconnectHeadset();
             } else {
                 return false;
@@ -302,7 +306,7 @@ public abstract class LocalBluetoothProfileManager {
         @Override
         public void setPreferred(BluetoothDevice device, boolean preferred) {
             mService.setPriority(device,
-                    preferred ? BluetoothHeadset.PRIORITY_AUTO : BluetoothHeadset.PRIORITY_OFF);
+                    preferred ? BluetoothHeadset.PRIORITY_AUTO_CONNECT : BluetoothHeadset.PRIORITY_OFF);
         }
 
         @Override