diff options
author | Jaikumar Ganesh <jaikumarg@android.com> | 2011-04-26 11:27:53 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2011-04-26 11:27:53 -0700 |
commit | a96efa270cf215602b0ab1f3603c24aadff808da (patch) | |
tree | e14ae8dc02c742aa3ca7cde223ba84ba396feade | |
parent | 3c68bca80f40710b70e3f9173cea167b30a8dcb4 (diff) | |
parent | 16fc087dc9dea43c436b0f98995ba0afb75119fb (diff) | |
download | android_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.java | 6 | ||||
-rw-r--r-- | src/com/android/bluetooth/pbap/BluetoothPbapService.java | 9 |
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)) { |