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
diff --git a/src/com/android/settings/bluetooth/BluetoothPermissionRequest.java b/src/com/android/settings/bluetooth/BluetoothPermissionRequest.java
index 372f9a5..074e0bd 100644
--- a/src/com/android/settings/bluetooth/BluetoothPermissionRequest.java
+++ b/src/com/android/settings/bluetooth/BluetoothPermissionRequest.java
@@ -117,6 +117,13 @@
                             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 @@
 
                 notificationManager.notify(getNotificationTag(mRequestType), NOTIFICATION_ID,
                         notification);
+                wakeLock.release();
             }
         } else if (action.equals(BluetoothDevice.ACTION_CONNECTION_ACCESS_CANCEL)) {
             // Remove the notification