summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaikumar Ganesh <jaikumarg@android.com>2011-04-26 11:27:53 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2011-04-26 11:27:53 -0700
commita96efa270cf215602b0ab1f3603c24aadff808da (patch)
treee14ae8dc02c742aa3ca7cde223ba84ba396feade
parent3c68bca80f40710b70e3f9173cea167b30a8dcb4 (diff)
parent16fc087dc9dea43c436b0f98995ba0afb75119fb (diff)
downloadandroid_packages_apps_Bluetooth-a96efa270cf215602b0ab1f3603c24aadff808da.tar.gz
android_packages_apps_Bluetooth-a96efa270cf215602b0ab1f3603c24aadff808da.tar.bz2
android_packages_apps_Bluetooth-a96efa270cf215602b0ab1f3603c24aadff808da.zip
am 16fc087d: Merge "Fixing crash in BluetoothPbapService."
* commit '16fc087dc9dea43c436b0f98995ba0afb75119fb': Fixing crash in BluetoothPbapService.
-rw-r--r--src/com/android/bluetooth/pbap/BluetoothPbapReceiver.java6
-rw-r--r--src/com/android/bluetooth/pbap/BluetoothPbapService.java9
2 files changed, 14 insertions, 1 deletions
diff --git a/src/com/android/bluetooth/pbap/BluetoothPbapReceiver.java b/src/com/android/bluetooth/pbap/BluetoothPbapReceiver.java
index b4503766a..55cb66c8e 100644
--- a/src/com/android/bluetooth/pbap/BluetoothPbapReceiver.java
+++ b/src/com/android/bluetooth/pbap/BluetoothPbapReceiver.java
@@ -61,6 +61,12 @@ public class BluetoothPbapReceiver extends BroadcastReceiver {
|| (state == BluetoothAdapter.STATE_TURNING_OFF)) {
startService = false;
}
+ } else {
+ // Don't forward intent unless device has bluetooth and bluetooth is enabled.
+ BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
+ if (adapter == null || !adapter.isEnabled()) {
+ startService = false;
+ }
}
if (startService) {
context.startService(in);
diff --git a/src/com/android/bluetooth/pbap/BluetoothPbapService.java b/src/com/android/bluetooth/pbap/BluetoothPbapService.java
index 3b1216e6f..a7225b260 100644
--- a/src/com/android/bluetooth/pbap/BluetoothPbapService.java
+++ b/src/com/android/bluetooth/pbap/BluetoothPbapService.java
@@ -245,10 +245,17 @@ public class BluetoothPbapService extends Service {
int state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR);
boolean removeTimeoutMsg = true;
if (action.equals(BluetoothAdapter.ACTION_STATE_CHANGED)) {
- removeTimeoutMsg = false;
if (state == BluetoothAdapter.STATE_OFF) {
+ // Send any pending timeout now, as this service will be destroyed.
+ if (mSessionStatusHandler.hasMessages(USER_TIMEOUT)) {
+ Intent timeoutIntent = new Intent(USER_CONFIRM_TIMEOUT_ACTION);
+ sendBroadcast(timeoutIntent);
+ removePbapNotification(NOTIFICATION_ID_ACCESS);
+ }
// Release all resources
closeService();
+ } else {
+ removeTimeoutMsg = false;
}
} else if (action.equals(ACCESS_ALLOWED_ACTION)) {
if (intent.getBooleanExtra(EXTRA_ALWAYS_ALLOWED, false)) {