Merge edf601aec3da7a6a0ec786f387adf83a02e6a6da on remote branch

Change-Id: I7c43fa5c81a8da7a47fcc7d360da3716e19fa406
diff --git a/PMC/src/com/android/pmc/A2dpReceiver.java b/PMC/src/com/android/pmc/A2dpReceiver.java
index 843f7ae..162d864 100644
--- a/PMC/src/com/android/pmc/A2dpReceiver.java
+++ b/PMC/src/com/android/pmc/A2dpReceiver.java
@@ -403,7 +403,12 @@
         BluetoothCodecConfig[] codecsSelectableCapabilities = null;
 
         if (mBluetoothA2dp != null) {
-            codecStatus = mBluetoothA2dp.getCodecStatus(null);  // Use current active device
+            BluetoothDevice activeDevice = mBluetoothA2dp.getActiveDevice();
+            if (activeDevice == null) {
+                Log.e(TAG, "getCodecValue: Active device is null");
+                return null;
+            }
+            codecStatus = mBluetoothA2dp.getCodecStatus(activeDevice);
             if (codecStatus != null) {
                 codecConfig = codecStatus.getCodecConfig();
                 codecsLocalCapabilities = codecStatus.getCodecsLocalCapabilities();
@@ -465,8 +470,13 @@
         }
 
         if (mBluetoothA2dp != null) {
+            BluetoothDevice activeDevice = mBluetoothA2dp.getActiveDevice();
+            if (activeDevice == null) {
+                Log.e(TAG, "setCodecValue: Active device is null. Codec is not set.");
+                return false;
+            }
             Log.d(TAG, "setCodecConfigPreference()");
-            mBluetoothA2dp.setCodecConfigPreference(null, codecConfig); // Use current active device
+            mBluetoothA2dp.setCodecConfigPreference(mBluetoothA2dp.getActiveDevice(), codecConfig);
         } else {
             Log.e(TAG, "mBluetoothA2dp is null. Codec is not set");
             return false;