From 83c3b64ff7235e1382712a899ab0a269ce8a28d6 Mon Sep 17 00:00:00 2001 From: Erik Ljungberg Date: Thu, 19 Aug 2010 17:47:44 +0200 Subject: BT: The Phone doesn't "wake up" when trying to pair with it. To improve the pairing request usability: - In the case where a notification shall be used the standard notification sound is added - When the screen is off notification is always used. Change-Id: I751a7913517c64de5d7ba06d7c17358197d002c5 --- .../android/settings/bluetooth/BluetoothPairingRequest.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/com/android/settings/bluetooth/BluetoothPairingRequest.java b/src/com/android/settings/bluetooth/BluetoothPairingRequest.java index 4253c5d..55f492e 100644 --- a/src/com/android/settings/bluetooth/BluetoothPairingRequest.java +++ b/src/com/android/settings/bluetooth/BluetoothPairingRequest.java @@ -27,6 +27,7 @@ import android.content.Context; import android.content.Intent; import android.content.res.Resources; import android.text.TextUtils; +import android.os.PowerManager; /** * BluetoothPairingRequest is a receiver for any Bluetooth pairing request. It @@ -61,9 +62,13 @@ public class BluetoothPairingRequest extends BroadcastReceiver { pairingIntent.setAction(BluetoothDevice.ACTION_PAIRING_REQUEST); pairingIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + PowerManager powerManager = + (PowerManager)context.getSystemService(Context.POWER_SERVICE); String deviceAddress = device != null ? device.getAddress() : null; - if (localManager.shouldShowDialogInForeground(deviceAddress)) { - // Since the BT-related activity is in the foreground, just open the dialog + if (powerManager.isScreenOn() && + localManager.shouldShowDialogInForeground(deviceAddress)) { + // Since the screen is on and the BT-related activity is in the foreground, + // just open the dialog context.startActivity(pairingIntent); } else { @@ -88,6 +93,7 @@ public class BluetoothPairingRequest extends BroadcastReceiver { res.getString(R.string.bluetooth_notif_message) + name, pending); notification.flags |= Notification.FLAG_AUTO_CANCEL; + notification.defaults |= Notification.DEFAULT_SOUND; NotificationManager manager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); -- cgit v1.1