faft: Make the recovery mode switching in one method

To reflect the new change of recovery mode switching, i.e. pressing Power +
Esc + Refresh. Make it in one method to prevent calling wrong underlying
methods.

BUG=chrome-os-partner:11694
TEST=Run firmware_RecoveryButton on Snow passed.

Change-Id: I1a34fcb9b20562c2d6a107376f34902d01e2bd52
Reviewed-on: https://gerrit.chromium.org/gerrit/28901
Reviewed-by: Vic Yang <victoryang@chromium.org>
Commit-Ready: Tom Wai-Hong Tam <waihong@chromium.org>
Reviewed-by: Tom Wai-Hong Tam <waihong@chromium.org>
Tested-by: Tom Wai-Hong Tam <waihong@chromium.org>
diff --git a/server/cros/faftsequence.py b/server/cros/faftsequence.py
index 9b85c68..7a6042e 100644
--- a/server/cros/faftsequence.py
+++ b/server/cros/faftsequence.py
@@ -737,6 +737,19 @@
                 self.run_faft_step({})
 
 
+    def enable_rec_mode_and_reboot(self):
+        """Switch to rec mode and reboot.
+
+        This method emulates the behavior of the old physical recovery switch,
+        i.e. switch ON + reboot + switch OFF, and the new keyboard controlled
+        recovery mode, i.e. just press Power + Esc + Refresh.
+        """
+        self.servo.enable_recovery_mode()
+        self.cold_reboot()
+        time.sleep(self.EC_REBOOT_DELAY)
+        self.servo.disable_recovery_mode()
+
+
     def enable_dev_mode_and_reboot(self):
         """Switch to developer mode and reboot."""
         if self.client_attr.keyboard_dev:
@@ -777,10 +790,8 @@
         # Plug out USB disk for preventing recovery boot without warning
         self.servo.set('usb_mux_sel1', 'servo_sees_usbkey')
         # Rebooting EC with rec mode on. Should power on AP.
-        self.servo.enable_recovery_mode()
-        self.cold_reboot()
+        self.enable_rec_mode_and_reboot()
         self.wait_fw_screen_and_switch_keyboard_dev_mode(dev=True)
-        self.servo.disable_recovery_mode()
 
 
     def disable_keyboard_dev_mode(self):