From b0c3f6ffebded0bc9a55e593456ff5e30e17201e Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Mon, 23 May 2016 17:43:41 -0700 Subject: [PATCH] Disable the meaningless parts of the UI for A/B. Bug: http://b/28748484 Test: mmma bootable/recovery Change-Id: Ie86a265f4699503471e7c717d65677a916dbd25b (cherry picked from commit 01fcbe160bd49891c0680b80c5688cd4feb2adbc) --- Android.mk | 4 ++++ device.cpp | 54 ++++++++++++++++++++++++++++++++++++++++-------------- 2 files changed, 44 insertions(+), 14 deletions(-) diff --git a/Android.mk b/Android.mk index 7fa98b04..15e281cf 100644 --- a/Android.mk +++ b/Android.mk @@ -101,6 +101,10 @@ LOCAL_HAL_STATIC_LIBRARIES := libhealthd LOCAL_C_INCLUDES += system/extras/ext4_utils LOCAL_STATIC_LIBRARIES += libext4_utils_static libz +ifeq ($(AB_OTA_UPDATER),true) + LOCAL_CFLAGS += -DAB_OTA_UPDATER=1 +endif + LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin ifeq ($(TARGET_RECOVERY_UI_LIB),) diff --git a/device.cpp b/device.cpp index 2465b077..f8fbb8a4 100644 --- a/device.cpp +++ b/device.cpp @@ -16,6 +16,29 @@ #include "device.h" +#if defined(AB_OTA_UPDATER) + +static const char* MENU_ITEMS[] = { + "Reboot system now", + "Reboot to bootloader", + "Wipe data/factory reset", + "Mount /system", + "Run graphics test", + "Power off", + NULL, +}; + +static const Device::BuiltinAction MENU_ACTIONS[] = { + Device::REBOOT, + Device::REBOOT_BOOTLOADER, + Device::WIPE_DATA, + Device::MOUNT_SYSTEM, + Device::RUN_GRAPHICS_TEST, + Device::SHUTDOWN, +}; + +#else + static const char* MENU_ITEMS[] = { "Reboot system now", "Reboot to bootloader", @@ -27,27 +50,30 @@ static const char* MENU_ITEMS[] = { "View recovery logs", "Run graphics test", "Power off", - NULL + NULL, }; +static const Device::BuiltinAction MENU_ACTIONS[] = { + Device::REBOOT, + Device::REBOOT_BOOTLOADER, + Device::APPLY_ADB_SIDELOAD, + Device::APPLY_SDCARD, + Device::WIPE_DATA, + Device::WIPE_CACHE, + Device::MOUNT_SYSTEM, + Device::VIEW_RECOVERY_LOGS, + Device::RUN_GRAPHICS_TEST, + Device::SHUTDOWN, +}; + +#endif + const char* const* Device::GetMenuItems() { return MENU_ITEMS; } Device::BuiltinAction Device::InvokeMenuItem(int menu_position) { - switch (menu_position) { - case 0: return REBOOT; - case 1: return REBOOT_BOOTLOADER; - case 2: return APPLY_ADB_SIDELOAD; - case 3: return APPLY_SDCARD; - case 4: return WIPE_DATA; - case 5: return WIPE_CACHE; - case 6: return MOUNT_SYSTEM; - case 7: return VIEW_RECOVERY_LOGS; - case 8: return RUN_GRAPHICS_TEST; - case 9: return SHUTDOWN; - default: return NO_ACTION; - } + return menu_position < 0 ? NO_ACTION : MENU_ACTIONS[menu_position]; } int Device::HandleMenuKey(int key, int visible) {