From b8df8a29bf26a500d2f83a79bc09e78c8811041b Mon Sep 17 00:00:00 2001 From: Hemant Gupta Date: Thu, 17 Apr 2014 20:10:28 +0530 Subject: [PATCH] Bluetooth: Acquire wakelock to turn on LCD for MAP authorization This patch acquires a wakelock to turn on the LCD display if the screen is off during an access request for MAP. Without this patch it was observed that if the screen was off, the LCD remained off for incoming connection access request from remote devices and the user only heard the notification sound without the LDC being lit up. Change-Id: I87c296fce4cd8e0c133f74169d991eee263fed08 --- .../settings/bluetooth/BluetoothPermissionRequest.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/com/android/settings/bluetooth/BluetoothPermissionRequest.java b/src/com/android/settings/bluetooth/BluetoothPermissionRequest.java index 372f9a5da13..074e0bd0fe5 100644 --- a/src/com/android/settings/bluetooth/BluetoothPermissionRequest.java +++ b/src/com/android/settings/bluetooth/BluetoothPermissionRequest.java @@ -117,6 +117,13 @@ public final class BluetoothPermissionRequest extends BroadcastReceiver { context, deviceAddress)) { context.startActivity(connectionAccessIntent); } else { + // Acquire wakelock so that LCD comes up since screen is off + PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK | + PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE, + "ConnectionAccessActivity"); + wakeLock.setReferenceCounted(false); + wakeLock.acquire(); + // Put up a notification that leads to the dialog // Create an intent triggered by clicking on the @@ -173,6 +180,7 @@ public final class BluetoothPermissionRequest extends BroadcastReceiver { notificationManager.notify(getNotificationTag(mRequestType), NOTIFICATION_ID, notification); + wakeLock.release(); } } else if (action.equals(BluetoothDevice.ACTION_CONNECTION_ACCESS_CANCEL)) { // Remove the notification