From 0e55012ef9c47d31e41cec5e80a62c0fb6408767 Mon Sep 17 00:00:00 2001 From: Andreas Blaesius Date: Sun, 26 Apr 2015 02:28:14 +0200 Subject: [PATCH] recovery: Allow devices to reboot to download mode Change-Id: Ib6ccf98ed68efacbb3b8c8238945da60b23a20d7 --- Android.mk | 4 ++++ device.cpp | 4 ++++ recovery.cpp | 5 +++++ 3 files changed, 13 insertions(+) diff --git a/Android.mk b/Android.mk index 15bcbad94..3d9c68e4d 100644 --- a/Android.mk +++ b/Android.mk @@ -128,6 +128,10 @@ ifeq ($(TARGET_USE_MDTP), true) LOCAL_CFLAGS += -DUSE_MDTP endif +ifeq ($(BOARD_HAS_DOWNLOAD_MODE), true) + LOCAL_CFLAGS += -DDOWNLOAD_MODE +endif + ifneq ($(BOARD_RECOVERY_BLDRMSG_OFFSET),) LOCAL_CFLAGS += -DBOARD_RECOVERY_BLDRMSG_OFFSET=$(BOARD_RECOVERY_BLDRMSG_OFFSET) endif diff --git a/device.cpp b/device.cpp index 14f2733e2..354ae4bc4 100644 --- a/device.cpp +++ b/device.cpp @@ -18,7 +18,11 @@ static const char* MENU_ITEMS[] = { "Reboot system now", +#ifdef DOWNLOAD_MODE + "Reboot to download mode", +#else "Reboot to bootloader", +#endif "Apply update", "Wipe data/factory reset", "Wipe cache partition", diff --git a/recovery.cpp b/recovery.cpp index a82a7239d..cba28ad43 100644 --- a/recovery.cpp +++ b/recovery.cpp @@ -1915,8 +1915,13 @@ int main(int argc, char **argv) { break; case Device::REBOOT_BOOTLOADER: +#ifdef DOWNLOAD_MODE + ui->Print("Rebooting to download mode...\n"); + property_set(ANDROID_RB_PROPERTY, "reboot,download"); +#else ui->Print("Rebooting to bootloader...\n"); property_set(ANDROID_RB_PROPERTY, "reboot,bootloader"); +#endif break; default: