Loading Android.mk +10 −4 Original line number Diff line number Diff line ifneq ($(TARGET_SIMULATOR),true) ifeq ($(TARGET_ARCH),arm) LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) commands_recovery_local_path := $(LOCAL_PATH) ifneq ($(TARGET_SIMULATOR),true) ifeq ($(TARGET_ARCH),arm) LOCAL_SRC_FILES := \ recovery.c \ bootloader.c \ Loading @@ -31,7 +31,13 @@ LOCAL_CFLAGS += -DRECOVERY_API_VERSION=$(RECOVERY_API_VERSION) LOCAL_MODULE_TAGS := eng LOCAL_STATIC_LIBRARIES := libminzip libunz libmtdutils libmincrypt LOCAL_STATIC_LIBRARIES := ifeq ($(TARGET_RECOVERY_UI_LIB),) LOCAL_SRC_FILES += default_recovery_ui.c else LOCAL_STATIC_LIBRARIES += $(TARGET_RECOVERY_UI_LIB) endif LOCAL_STATIC_LIBRARIES += libminzip libunz libmtdutils libmincrypt LOCAL_STATIC_LIBRARIES += libminui libpixelflinger_static libpng libcutils LOCAL_STATIC_LIBRARIES += libstdc++ libc Loading common.h +1 −1 Original line number Diff line number Diff line Loading @@ -68,7 +68,7 @@ void ui_set_progress(float fraction); // 0.0 - 1.0 within the defined scope // Default allocation of progress bar segments to operations static const int VERIFICATION_PROGRESS_TIME = 60; static const float VERIFICATION_PROGRESS_FRACTION = 0.5; static const float VERIFICATION_PROGRESS_FRACTION = 0.25; static const float DEFAULT_FILES_PROGRESS_FRACTION = 0.4; static const float DEFAULT_IMAGE_PROGRESS_FRACTION = 0.1; Loading default_recovery_ui.c 0 → 100644 +65 −0 Original line number Diff line number Diff line /* * Copyright (C) 2009 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include <linux/input.h> #include "recovery_ui.h" #include "common.h" char* MENU_HEADERS[] = { "Android system recovery utility", "", NULL }; char* MENU_ITEMS[] = { "reboot system now", "apply sdcard:update.zip", "wipe data/factory reset", "wipe cache partition", NULL }; int device_toggle_display(volatile char* key_pressed, int key_code) { return key_code == KEY_HOME; } int device_reboot_now(volatile char* key_pressed, int key_code) { return 0; } int device_handle_key(int key_code, int visible) { if (visible) { switch (key_code) { case KEY_DOWN: case KEY_VOLUMEDOWN: return HIGHLIGHT_DOWN; case KEY_UP: case KEY_VOLUMEUP: return HIGHLIGHT_UP; case KEY_ENTER: return SELECT_ITEM; } } return NO_ACTION; } int device_perform_action(int which) { return which; } int device_wipe_data() { return 0; } install.c +18 −16 Original line number Diff line number Diff line Loading @@ -234,20 +234,8 @@ try_update_binary(const char *path, ZipArchive *zip) { } static int handle_update_package(const char *path, ZipArchive *zip, const RSAPublicKey *keys, int numKeys) handle_update_package(const char *path, ZipArchive *zip) { // Give verification half the progress bar... ui_print("Verifying update package...\n"); ui_show_progress( VERIFICATION_PROGRESS_FRACTION, VERIFICATION_PROGRESS_TIME); if (!verify_jar_signature(zip, keys, numKeys)) { LOGE("Verification failed\n"); return INSTALL_CORRUPT; } // Update should take the rest of the progress bar. ui_print("Installing update...\n"); Loading Loading @@ -360,10 +348,25 @@ install_package(const char *root_path) } LOGI("%d key(s) loaded from %s\n", numKeys, PUBLIC_KEYS_FILE); // Give verification half the progress bar... ui_print("Verifying update package...\n"); ui_show_progress( VERIFICATION_PROGRESS_FRACTION, VERIFICATION_PROGRESS_TIME); int err; err = verify_file(path, loadedKeys, numKeys); free(loadedKeys); LOGI("verify_file returned %d\n", err); if (err != VERIFY_SUCCESS) { LOGE("signature verification failed\n"); return INSTALL_CORRUPT; } /* Try to open the package. */ ZipArchive zip; int err = mzOpenZipArchive(path, &zip); err = mzOpenZipArchive(path, &zip); if (err != 0) { LOGE("Can't open %s\n(%s)\n", path, err != -1 ? strerror(err) : "bad"); return INSTALL_CORRUPT; Loading @@ -371,8 +374,7 @@ install_package(const char *root_path) /* Verify and install the contents of the package. */ int status = handle_update_package(path, &zip, loadedKeys, numKeys); int status = handle_update_package(path, &zip); mzCloseZipArchive(&zip); free(loadedKeys); return status; } minui/graphics.c +1 −0 Original line number Diff line number Diff line Loading @@ -115,6 +115,7 @@ static void set_active_framebuffer(unsigned n) if (n > 1) return; vi.yres_virtual = vi.yres * 2; vi.yoffset = n * vi.yres; vi.bits_per_pixel = 16; if (ioctl(gr_fb_fd, FBIOPUT_VSCREENINFO, &vi) < 0) { perror("active fb swap failed"); } Loading Loading
Android.mk +10 −4 Original line number Diff line number Diff line ifneq ($(TARGET_SIMULATOR),true) ifeq ($(TARGET_ARCH),arm) LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) commands_recovery_local_path := $(LOCAL_PATH) ifneq ($(TARGET_SIMULATOR),true) ifeq ($(TARGET_ARCH),arm) LOCAL_SRC_FILES := \ recovery.c \ bootloader.c \ Loading @@ -31,7 +31,13 @@ LOCAL_CFLAGS += -DRECOVERY_API_VERSION=$(RECOVERY_API_VERSION) LOCAL_MODULE_TAGS := eng LOCAL_STATIC_LIBRARIES := libminzip libunz libmtdutils libmincrypt LOCAL_STATIC_LIBRARIES := ifeq ($(TARGET_RECOVERY_UI_LIB),) LOCAL_SRC_FILES += default_recovery_ui.c else LOCAL_STATIC_LIBRARIES += $(TARGET_RECOVERY_UI_LIB) endif LOCAL_STATIC_LIBRARIES += libminzip libunz libmtdutils libmincrypt LOCAL_STATIC_LIBRARIES += libminui libpixelflinger_static libpng libcutils LOCAL_STATIC_LIBRARIES += libstdc++ libc Loading
common.h +1 −1 Original line number Diff line number Diff line Loading @@ -68,7 +68,7 @@ void ui_set_progress(float fraction); // 0.0 - 1.0 within the defined scope // Default allocation of progress bar segments to operations static const int VERIFICATION_PROGRESS_TIME = 60; static const float VERIFICATION_PROGRESS_FRACTION = 0.5; static const float VERIFICATION_PROGRESS_FRACTION = 0.25; static const float DEFAULT_FILES_PROGRESS_FRACTION = 0.4; static const float DEFAULT_IMAGE_PROGRESS_FRACTION = 0.1; Loading
default_recovery_ui.c 0 → 100644 +65 −0 Original line number Diff line number Diff line /* * Copyright (C) 2009 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include <linux/input.h> #include "recovery_ui.h" #include "common.h" char* MENU_HEADERS[] = { "Android system recovery utility", "", NULL }; char* MENU_ITEMS[] = { "reboot system now", "apply sdcard:update.zip", "wipe data/factory reset", "wipe cache partition", NULL }; int device_toggle_display(volatile char* key_pressed, int key_code) { return key_code == KEY_HOME; } int device_reboot_now(volatile char* key_pressed, int key_code) { return 0; } int device_handle_key(int key_code, int visible) { if (visible) { switch (key_code) { case KEY_DOWN: case KEY_VOLUMEDOWN: return HIGHLIGHT_DOWN; case KEY_UP: case KEY_VOLUMEUP: return HIGHLIGHT_UP; case KEY_ENTER: return SELECT_ITEM; } } return NO_ACTION; } int device_perform_action(int which) { return which; } int device_wipe_data() { return 0; }
install.c +18 −16 Original line number Diff line number Diff line Loading @@ -234,20 +234,8 @@ try_update_binary(const char *path, ZipArchive *zip) { } static int handle_update_package(const char *path, ZipArchive *zip, const RSAPublicKey *keys, int numKeys) handle_update_package(const char *path, ZipArchive *zip) { // Give verification half the progress bar... ui_print("Verifying update package...\n"); ui_show_progress( VERIFICATION_PROGRESS_FRACTION, VERIFICATION_PROGRESS_TIME); if (!verify_jar_signature(zip, keys, numKeys)) { LOGE("Verification failed\n"); return INSTALL_CORRUPT; } // Update should take the rest of the progress bar. ui_print("Installing update...\n"); Loading Loading @@ -360,10 +348,25 @@ install_package(const char *root_path) } LOGI("%d key(s) loaded from %s\n", numKeys, PUBLIC_KEYS_FILE); // Give verification half the progress bar... ui_print("Verifying update package...\n"); ui_show_progress( VERIFICATION_PROGRESS_FRACTION, VERIFICATION_PROGRESS_TIME); int err; err = verify_file(path, loadedKeys, numKeys); free(loadedKeys); LOGI("verify_file returned %d\n", err); if (err != VERIFY_SUCCESS) { LOGE("signature verification failed\n"); return INSTALL_CORRUPT; } /* Try to open the package. */ ZipArchive zip; int err = mzOpenZipArchive(path, &zip); err = mzOpenZipArchive(path, &zip); if (err != 0) { LOGE("Can't open %s\n(%s)\n", path, err != -1 ? strerror(err) : "bad"); return INSTALL_CORRUPT; Loading @@ -371,8 +374,7 @@ install_package(const char *root_path) /* Verify and install the contents of the package. */ int status = handle_update_package(path, &zip, loadedKeys, numKeys); int status = handle_update_package(path, &zip); mzCloseZipArchive(&zip); free(loadedKeys); return status; }
minui/graphics.c +1 −0 Original line number Diff line number Diff line Loading @@ -115,6 +115,7 @@ static void set_active_framebuffer(unsigned n) if (n > 1) return; vi.yres_virtual = vi.yres * 2; vi.yoffset = n * vi.yres; vi.bits_per_pixel = 16; if (ioctl(gr_fb_fd, FBIOPUT_VSCREENINFO, &vi) < 0) { perror("active fb swap failed"); } Loading