Intent.getIntExtra(BluetoothAdapter.EXTRA_STATE,
+ * BluetoothAdapter.ERROR)
+ */
+ public static final int ERROR = -1;
+
/**
* Broadcast Action: The state of the local Bluetooth adapter has been
* changed.
diff --git a/core/java/android/bluetooth/BluetoothDevice.java b/core/java/android/bluetooth/BluetoothDevice.java
index 7086557a574e7..1ab4389b4350b 100644
--- a/core/java/android/bluetooth/BluetoothDevice.java
+++ b/core/java/android/bluetooth/BluetoothDevice.java
@@ -44,6 +44,15 @@ import java.io.UnsupportedEncodingException;
public final class BluetoothDevice implements Parcelable {
private static final String TAG = "BluetoothDevice";
+ /**
+ * Sentinel error value for this class. Guaranteed to not equal any other
+ * integer constant in this class. Provided as a convenience for functions
+ * that require a sentinel error value, for example:
+ *
Intent.getIntExtra(BluetoothAdapter.EXTRA_STATE,
+ * BluetoothAdapter.ERROR)
+ */
+ public static final int ERROR = -1;
+
/** We do not have a link key for the remote device, and are therefore not
* bonded
* @hide*/
@@ -65,7 +74,9 @@ public final class BluetoothDevice implements Parcelable {
* @hide */
public static final int DEVICE_PICKER_FILTER_TYPE_TRANSFER = 2;
- //TODO: Unify these result codes in BluetoothResult or BluetoothError
+ /** A bond attempt succeeded
+ * @hide */
+ public static final int BOND_SUCCESS = 0;
/** A bond attempt failed because pins did not match, or remote device did
* not respond to pin request in time
* @hide */
@@ -252,8 +263,8 @@ public final class BluetoothDevice implements Parcelable {
* Get the bonding state of a remote device.
*
* Result is one of:
- * BluetoothError.*
* BOND_*
+ * ERROR
*
* @param address Bluetooth hardware address of the remote device to check.
* @return Result code
@@ -263,7 +274,7 @@ public final class BluetoothDevice implements Parcelable {
try {
return sService.getBondState(mAddress);
} catch (RemoteException e) {Log.e(TAG, "", e);}
- return BluetoothError.ERROR_IPC;
+ return BluetoothDevice.ERROR;
}
/**
@@ -298,7 +309,7 @@ public final class BluetoothDevice implements Parcelable {
try {
return sService.getRemoteClass(mAddress);
} catch (RemoteException e) {Log.e(TAG, "", e);}
- return BluetoothError.ERROR_IPC;
+ return BluetoothDevice.ERROR;
}
/** @hide */
@@ -314,7 +325,7 @@ public final class BluetoothDevice implements Parcelable {
try {
return sService.getRemoteServiceChannel(mAddress, uuid);
} catch (RemoteException e) {Log.e(TAG, "", e);}
- return BluetoothError.ERROR_IPC;
+ return BluetoothDevice.ERROR;
}
/** @hide */
diff --git a/core/java/android/bluetooth/BluetoothError.java b/core/java/android/bluetooth/BluetoothError.java
deleted file mode 100644
index 81c1ce9dee7e8..0000000000000
--- a/core/java/android/bluetooth/BluetoothError.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.bluetooth;
-
-/**
- * Bluetooth API error codes.
- *
- * Errors are always negative.
- *
- * TODO: Deprecate this class.
- *
- * @hide
- */
-public class BluetoothError {
- /** No error */
- public static final int SUCCESS = 0;
-
- /** Generic error */
- public static final int ERROR = -1000;
-
- /** Bluetooth currently disabled */
- public static final int ERROR_DISABLED = -1001;
-
- /** IPC is not ready, for example service is not yet bound */
- public static final int ERROR_IPC_NOT_READY = -1011;
-
- /** Some other IPC error, for example a RemoteException */
- public static final int ERROR_IPC = -1012;
-
-}
diff --git a/core/java/android/bluetooth/IBluetoothA2dp.aidl b/core/java/android/bluetooth/IBluetoothA2dp.aidl
index e6c6be2594f1a..2df7f238552db 100644
--- a/core/java/android/bluetooth/IBluetoothA2dp.aidl
+++ b/core/java/android/bluetooth/IBluetoothA2dp.aidl
@@ -24,10 +24,10 @@ import android.bluetooth.BluetoothDevice;
* {@hide}
*/
interface IBluetoothA2dp {
- int connectSink(in BluetoothDevice device);
- int disconnectSink(in BluetoothDevice device);
+ boolean connectSink(in BluetoothDevice device);
+ boolean disconnectSink(in BluetoothDevice device);
BluetoothDevice[] getConnectedSinks(); // change to Set<> once AIDL supports
int getSinkState(in BluetoothDevice device);
- int setSinkPriority(in BluetoothDevice device, int priority);
+ boolean setSinkPriority(in BluetoothDevice device, int priority);
int getSinkPriority(in BluetoothDevice device);
}
diff --git a/core/java/android/server/BluetoothA2dpService.java b/core/java/android/server/BluetoothA2dpService.java
index 4fa81bb5856d3..a24e0d21bb409 100644
--- a/core/java/android/server/BluetoothA2dpService.java
+++ b/core/java/android/server/BluetoothA2dpService.java
@@ -25,7 +25,6 @@ package android.server;
import android.bluetooth.BluetoothA2dp;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
-import android.bluetooth.BluetoothError;
import android.bluetooth.BluetoothIntent;
import android.bluetooth.BluetoothUuid;
import android.bluetooth.IBluetoothA2dp;
@@ -83,7 +82,7 @@ public class BluetoothA2dpService extends IBluetoothA2dp.Stub {
intent.getParcelableExtra(BluetoothIntent.DEVICE);
if (action.equals(BluetoothAdapter.ACTION_STATE_CHANGED)) {
int state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE,
- BluetoothError.ERROR);
+ BluetoothAdapter.ERROR);
switch (state) {
case BluetoothAdapter.STATE_ON:
onBluetoothEnable();
@@ -94,7 +93,7 @@ public class BluetoothA2dpService extends IBluetoothA2dp.Stub {
}
} else if (action.equals(BluetoothIntent.BOND_STATE_CHANGED_ACTION)) {
int bondState = intent.getIntExtra(BluetoothIntent.BOND_STATE,
- BluetoothError.ERROR);
+ BluetoothDevice.ERROR);
switch(bondState) {
case BluetoothDevice.BOND_BONDED:
setSinkPriority(device, BluetoothA2dp.PRIORITY_AUTO);
@@ -273,7 +272,7 @@ public class BluetoothA2dpService extends IBluetoothA2dp.Stub {
mAudioManager.setParameters(BLUETOOTH_ENABLED + "=false");
}
- public synchronized int connectSink(BluetoothDevice device) {
+ public synchronized boolean connectSink(BluetoothDevice device) {
mContext.enforceCallingOrSelfPermission(BLUETOOTH_ADMIN_PERM,
"Need BLUETOOTH_ADMIN permission");
if (DBG) log("connectSink(" + device + ")");
@@ -284,11 +283,11 @@ public class BluetoothA2dpService extends IBluetoothA2dp.Stub {
BluetoothA2dp.STATE_CONNECTED,
BluetoothA2dp.STATE_PLAYING,
BluetoothA2dp.STATE_DISCONNECTING}).size() != 0) {
- return BluetoothError.ERROR;
+ return false;
}
if (mAudioDevices.get(device) == null && !addAudioSink(device))
- return BluetoothError.ERROR;
+ return false;
int state = mAudioDevices.get(device);
@@ -296,44 +295,44 @@ public class BluetoothA2dpService extends IBluetoothA2dp.Stub {
case BluetoothA2dp.STATE_CONNECTED:
case BluetoothA2dp.STATE_PLAYING:
case BluetoothA2dp.STATE_DISCONNECTING:
- return BluetoothError.ERROR;
+ return false;
case BluetoothA2dp.STATE_CONNECTING:
- return BluetoothError.SUCCESS;
+ return true;
}
String path = mBluetoothService.getObjectPathFromAddress(device.getAddress());
if (path == null)
- return BluetoothError.ERROR;
+ return false;
// State is DISCONNECTED
if (!connectSinkNative(path)) {
- return BluetoothError.ERROR;
+ return false;
}
- return BluetoothError.SUCCESS;
+ return true;
}
- public synchronized int disconnectSink(BluetoothDevice device) {
+ public synchronized boolean disconnectSink(BluetoothDevice device) {
mContext.enforceCallingOrSelfPermission(BLUETOOTH_ADMIN_PERM,
"Need BLUETOOTH_ADMIN permission");
if (DBG) log("disconnectSink(" + device + ")");
String path = mBluetoothService.getObjectPathFromAddress(device.getAddress());
if (path == null) {
- return BluetoothError.ERROR;
+ return false;
}
switch (getSinkState(device)) {
case BluetoothA2dp.STATE_DISCONNECTED:
- return BluetoothError.ERROR;
+ return false;
case BluetoothA2dp.STATE_DISCONNECTING:
- return BluetoothError.SUCCESS;
+ return true;
}
// State is CONNECTING or CONNECTED or PLAYING
if (!disconnectSinkNative(path)) {
- return BluetoothError.ERROR;
+ return false;
} else {
- return BluetoothError.SUCCESS;
+ return true;
}
}
@@ -359,15 +358,14 @@ public class BluetoothA2dpService extends IBluetoothA2dp.Stub {
BluetoothA2dp.PRIORITY_OFF);
}
- public synchronized int setSinkPriority(BluetoothDevice device, int priority) {
+ public synchronized boolean setSinkPriority(BluetoothDevice device, int priority) {
mContext.enforceCallingOrSelfPermission(BLUETOOTH_ADMIN_PERM,
"Need BLUETOOTH_ADMIN permission");
if (!BluetoothDevice.checkBluetoothAddress(device.getAddress())) {
- return BluetoothError.ERROR;
+ return false;
}
return Settings.Secure.putInt(mContext.getContentResolver(),
- Settings.Secure.getBluetoothA2dpSinkPriorityKey(device.getAddress()), priority) ?
- BluetoothError.SUCCESS : BluetoothError.ERROR;
+ Settings.Secure.getBluetoothA2dpSinkPriorityKey(device.getAddress()), priority);
}
private synchronized void onSinkPropertyChanged(String path, String []propValues) {
diff --git a/core/java/android/server/BluetoothEventLoop.java b/core/java/android/server/BluetoothEventLoop.java
index 9f36f7ee666e2..b5eb9ac402d61 100644
--- a/core/java/android/server/BluetoothEventLoop.java
+++ b/core/java/android/server/BluetoothEventLoop.java
@@ -20,7 +20,6 @@ import android.bluetooth.BluetoothA2dp;
import android.bluetooth.BluetoothClass;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
-import android.bluetooth.BluetoothError;
import android.bluetooth.BluetoothIntent;
import android.bluetooth.BluetoothUuid;
import android.content.Context;
@@ -169,7 +168,7 @@ class BluetoothEventLoop {
private void onCreatePairedDeviceResult(String address, int result) {
address = address.toUpperCase();
- if (result == BluetoothError.SUCCESS) {
+ if (result == BluetoothDevice.BOND_SUCCESS) {
mBluetoothService.getBondState().setBondState(address, BluetoothDevice.BOND_BONDED);
if (mBluetoothService.getBondState().isAutoPairingAttemptsInProgress(address)) {
mBluetoothService.getBondState().clearPinAttempts(address);
diff --git a/core/java/android/server/BluetoothService.java b/core/java/android/server/BluetoothService.java
index 694007581944c..6482c4c8c4f83 100644
--- a/core/java/android/server/BluetoothService.java
+++ b/core/java/android/server/BluetoothService.java
@@ -27,7 +27,6 @@ package android.server;
import android.bluetooth.BluetoothClass;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
-import android.bluetooth.BluetoothError;
import android.bluetooth.BluetoothHeadset;
import android.bluetooth.BluetoothIntent;
import android.bluetooth.IBluetooth;
@@ -810,7 +809,7 @@ public class BluetoothService extends IBluetooth.Stub {
public synchronized int getBondState(String address) {
mContext.enforceCallingOrSelfPermission(BLUETOOTH_PERM, "Need BLUETOOTH permission");
if (!BluetoothDevice.checkBluetoothAddress(address)) {
- return BluetoothError.ERROR;
+ return BluetoothDevice.ERROR;
}
return mBondState.getBondState(address.toUpperCase());
}
@@ -984,7 +983,7 @@ public class BluetoothService extends IBluetooth.Stub {
public int getRemoteServiceChannel(String address, String uuid) {
mContext.enforceCallingOrSelfPermission(BLUETOOTH_PERM, "Need BLUETOOTH permission");
if (!BluetoothDevice.checkBluetoothAddress(address)) {
- return BluetoothError.ERROR_IPC;
+ return BluetoothDevice.ERROR;
}
return getDeviceServiceChannelNative(getObjectPathFromAddress(address), uuid, 0x0004);
}
diff --git a/services/java/com/android/server/status/StatusBarPolicy.java b/services/java/com/android/server/status/StatusBarPolicy.java
index c663e544b807a..f3127f3de028d 100644
--- a/services/java/com/android/server/status/StatusBarPolicy.java
+++ b/services/java/com/android/server/status/StatusBarPolicy.java
@@ -19,7 +19,6 @@ package com.android.server.status;
import android.app.AlertDialog;
import android.bluetooth.BluetoothA2dp;
import android.bluetooth.BluetoothAdapter;
-import android.bluetooth.BluetoothError;
import android.bluetooth.BluetoothHeadset;
import android.bluetooth.BluetoothIntent;
import android.bluetooth.BluetoothPbap;
@@ -1073,8 +1072,7 @@ public class StatusBarPolicy {
String action = intent.getAction();
if (action.equals(BluetoothAdapter.ACTION_STATE_CHANGED)) {
- int state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE,
- BluetoothError.ERROR);
+ int state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR);
mBluetoothEnabled = state == BluetoothAdapter.STATE_ON;
} else if (action.equals(BluetoothIntent.HEADSET_STATE_CHANGED_ACTION)) {
mBluetoothHeadsetState = intent.getIntExtra(BluetoothIntent.HEADSET_STATE,