recovery: Update recovery from CM.

Change-Id: Ibda5ba8bbfc93ef6ff565128b63adc2991218a70
diff --git a/default_recovery_ui.c b/default_recovery_ui.c
index 9c192a2..6d61581 100644
--- a/default_recovery_ui.c
+++ b/default_recovery_ui.c
@@ -30,6 +30,7 @@
                        "backup and restore",
                        "mounts and storage",
                        "advanced",
+                       "power off",
                        NULL };
 
 int device_recovery_start() {
@@ -42,7 +43,8 @@
         return 1;
     // allow toggling of the display if the correct key is pressed, and the display toggle is allowed or the display is currently off
     if (ui_get_showing_back_button()) {
-        return get_allow_toggle_display() && (key_code == KEY_HOME || key_code == KEY_MENU || key_code == KEY_END);
+        return 0;
+        //return get_allow_toggle_display() && (key_code == KEY_HOME || key_code == KEY_MENU || key_code == KEY_END);
     }
     return get_allow_toggle_display() && (key_code == KEY_HOME || key_code == KEY_MENU || key_code == KEY_POWER || key_code == KEY_END);
 }
@@ -57,11 +59,13 @@
             case KEY_CAPSLOCK:
             case KEY_DOWN:
             case KEY_VOLUMEDOWN:
+            case KEY_MENU:
                 return HIGHLIGHT_DOWN;
 
             case KEY_LEFTSHIFT:
             case KEY_UP:
             case KEY_VOLUMEUP:
+            case KEY_HOME:
                 return HIGHLIGHT_UP;
 
             case KEY_POWER:
@@ -82,9 +86,14 @@
             
             case KEY_END:
             case KEY_BACKSPACE:
-            case KEY_BACK:
+            case KEY_SEARCH:
+                if (ui_get_showing_back_button()) {
+                    return SELECT_ITEM;
+                }
                 if (!get_allow_toggle_display())
                     return GO_BACK;
+            case KEY_BACK:
+                return GO_BACK;
         }
     }