Disable the meaningless parts of the UI for A/B.

Bug: http://b/28748484
Change-Id: Ie86a265f4699503471e7c717d65677a916dbd25b
This commit is contained in:
Elliott Hughes 2016-05-23 17:43:41 -07:00
parent 3aabd770d9
commit 01fcbe160b
2 changed files with 44 additions and 14 deletions

View file

@ -93,6 +93,10 @@ ifeq ($(TARGET_USERIMAGES_USE_EXT4), true)
LOCAL_STATIC_LIBRARIES += libext4_utils_static libz LOCAL_STATIC_LIBRARIES += libext4_utils_static libz
endif endif
ifeq ($(AB_OTA_UPDATER),true)
LOCAL_CFLAGS += -DAB_OTA_UPDATER=1
endif
LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
ifeq ($(TARGET_RECOVERY_UI_LIB),) ifeq ($(TARGET_RECOVERY_UI_LIB),)

View file

@ -16,6 +16,29 @@
#include "device.h" #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[] = { static const char* MENU_ITEMS[] = {
"Reboot system now", "Reboot system now",
"Reboot to bootloader", "Reboot to bootloader",
@ -27,27 +50,30 @@ static const char* MENU_ITEMS[] = {
"View recovery logs", "View recovery logs",
"Run graphics test", "Run graphics test",
"Power off", "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() { const char* const* Device::GetMenuItems() {
return MENU_ITEMS; return MENU_ITEMS;
} }
Device::BuiltinAction Device::InvokeMenuItem(int menu_position) { Device::BuiltinAction Device::InvokeMenuItem(int menu_position) {
switch (menu_position) { return menu_position < 0 ? NO_ACTION : MENU_ACTIONS[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;
}
} }
int Device::HandleMenuKey(int key, int visible) { int Device::HandleMenuKey(int key, int visible) {