diff --git a/res/values/strings.xml b/res/values/strings.xml index b126ec13e8a..7df151c602f 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -491,6 +491,10 @@ There was a problem pairing with %1$s. There was a problem pairing with %1$s because the typed PIN is incorrect. + + Cannot establish communication with %1$s. + + Pairing rejected by %1$s. There was a problem connecting to %1$s. diff --git a/src/com/android/settings/bluetooth/LocalBluetoothDeviceManager.java b/src/com/android/settings/bluetooth/LocalBluetoothDeviceManager.java index 9527980b5a5..9e46b4d3094 100644 --- a/src/com/android/settings/bluetooth/LocalBluetoothDeviceManager.java +++ b/src/com/android/settings/bluetooth/LocalBluetoothDeviceManager.java @@ -181,10 +181,22 @@ public class LocalBluetoothDeviceManager { * BluetoothDevice.UNBOND_REASON_* */ public synchronized void onBondingError(String address, int reason) { - mLocalManager.showError(address, R.string.bluetooth_error_title, - (reason == BluetoothDevice.UNBOND_REASON_AUTH_FAILED) ? - R.string.bluetooth_pairing_pin_error_message : - R.string.bluetooth_pairing_error_message); + int errorMsg; + + switch(reason) { + case BluetoothDevice.UNBOND_REASON_AUTH_FAILED: + errorMsg = R.string.bluetooth_pairing_pin_error_message; + break; + case BluetoothDevice.UNBOND_REASON_AUTH_REJECTED: + errorMsg = R.string.bluetooth_pairing_rejected_error_message; + break; + case BluetoothDevice.UNBOND_REASON_REMOTE_DEVICE_DOWN: + errorMsg = R.string.bluetooth_pairing_device_down_error_message; + break; + default: + errorMsg = R.string.bluetooth_pairing_error_message; + } + mLocalManager.showError(address, R.string.bluetooth_error_title, errorMsg); } public synchronized void onProfileStateChanged(String address, boolean transientState) {