Bluetooth A2DP suspend/resume functionality

Change-Id: I8366852fa9b6ff9dacf18db00ea1c2be0c00ff34
diff --git a/core/java/android/bluetooth/BluetoothA2dp.java b/core/java/android/bluetooth/BluetoothA2dp.java
index 2e9612a..a736ad1 100644
--- a/core/java/android/bluetooth/BluetoothA2dp.java
+++ b/core/java/android/bluetooth/BluetoothA2dp.java
@@ -133,6 +133,38 @@
         }
     }
 
+    /** Initiate suspend from an A2DP sink.
+     *  Listen for SINK_STATE_CHANGED_ACTION to find out when
+     *  suspend is completed.
+     *  @param device Remote BT device.
+     *  @return false on immediate error, true otherwise
+     *  @hide
+     */
+    public int suspendSink(BluetoothDevice device) {
+        try {
+            return mService.suspendSink(device);
+        } catch (RemoteException e) {
+            Log.e(TAG, "", e);
+            return false;
+        }
+    }
+
+    /** Initiate resume from an suspended A2DP sink.
+     *  Listen for SINK_STATE_CHANGED_ACTION to find out when
+     *  resume is completed.
+     *  @param device Remote BT device.
+     *  @return false on immediate error, true otherwise
+     *  @hide
+     */
+    public int resumeSink(BluetoothDevice device) {
+        try {
+            return mService.resumeSink(device);
+        } catch (RemoteException e) {
+            Log.e(TAG, "", e);
+            return false;
+        }
+    }
+
     /** Check if a specified A2DP sink is connected.
      *  @param device Remote BT device.
      *  @return True if connected (or playing), false otherwise and on error.