summaryrefslogtreecommitdiffstats
path: root/core/java/android/bluetooth
diff options
context:
space:
mode:
authorZhu Lan <mtcb47@motorola.com>2009-06-24 10:51:57 +0800
committerNick Pelly <npelly@google.com>2009-09-29 20:50:02 -0700
commitf9bbe1e71a502fe7bd1f4a23ba5bbe4dde0d9d57 (patch)
tree977b54b1b64af47b68c1121a5085fa8356350209 /core/java/android/bluetooth
parent4c232c5b3f7fcbea73cd3cec2d3befe06e85c068 (diff)
downloadframeworks_base-f9bbe1e71a502fe7bd1f4a23ba5bbe4dde0d9d57.zip
frameworks_base-f9bbe1e71a502fe7bd1f4a23ba5bbe4dde0d9d57.tar.gz
frameworks_base-f9bbe1e71a502fe7bd1f4a23ba5bbe4dde0d9d57.tar.bz2
Bluetooth A2DP suspend/resume functionality
Change-Id: I8366852fa9b6ff9dacf18db00ea1c2be0c00ff34
Diffstat (limited to 'core/java/android/bluetooth')
-rw-r--r--core/java/android/bluetooth/BluetoothA2dp.java32
-rw-r--r--core/java/android/bluetooth/IBluetoothA2dp.aidl2
2 files changed, 34 insertions, 0 deletions
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 @@ public final class BluetoothA2dp {
}
}
+ /** 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.
diff --git a/core/java/android/bluetooth/IBluetoothA2dp.aidl b/core/java/android/bluetooth/IBluetoothA2dp.aidl
index 2df7f23..002cf4e 100644
--- a/core/java/android/bluetooth/IBluetoothA2dp.aidl
+++ b/core/java/android/bluetooth/IBluetoothA2dp.aidl
@@ -26,6 +26,8 @@ import android.bluetooth.BluetoothDevice;
interface IBluetoothA2dp {
boolean connectSink(in BluetoothDevice device);
boolean disconnectSink(in BluetoothDevice device);
+ boolean suspendSink(in BluetoothDevice device);
+ boolean resumeSink(in BluetoothDevice device);
BluetoothDevice[] getConnectedSinks(); // change to Set<> once AIDL supports
int getSinkState(in BluetoothDevice device);
boolean setSinkPriority(in BluetoothDevice device, int priority);