Loading adb_install.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -178,11 +178,15 @@ void stop_sideload() { } int wait_sideload() { set_perf_mode(true); pthread_join(sideload_thread, NULL); ui->FlushKeys(); maybe_restart_adbd(); set_perf_mode(false); return sideload_data.result; } install.cpp +20 −5 Original line number Diff line number Diff line Loading @@ -37,6 +37,8 @@ #include "verifier.h" #include "ui.h" #include "cutils/properties.h" extern RecoveryUI* ui; #define ASSUMED_UPDATE_BINARY_NAME "META-INF/com/google/android/update-binary" Loading Loading @@ -262,6 +264,8 @@ mdtp_update() static int really_install_package(const char *path, bool* wipe_cache, bool needs_mount) { int ret = 0; ui->SetBackground(RecoveryUI::INSTALLING_UPDATE); ui->Print("Finding update package...\n"); // Give verification half the progress bar... Loading Loading @@ -315,6 +319,8 @@ really_install_package(const char *path, bool* wipe_cache, bool needs_mount) } LOGI("%d key(s) loaded from %s\n", numKeys, PUBLIC_KEYS_FILE); set_perf_mode(true); ui->Print("Verifying update package...\n"); int err; Loading @@ -336,7 +342,8 @@ really_install_package(const char *path, bool* wipe_cache, bool needs_mount) if (err != VERIFY_SUCCESS) { LOGE("signature verification failed\n"); sysReleaseMap(&map); return INSTALL_CORRUPT; ret = INSTALL_CORRUPT; goto out; } /* Try to open the package. Loading @@ -346,14 +353,15 @@ really_install_package(const char *path, bool* wipe_cache, bool needs_mount) if (err != 0) { LOGE("Can't open %s\n(%s)\n", path, err != -1 ? strerror(err) : "bad"); sysReleaseMap(&map); return INSTALL_CORRUPT; ret = INSTALL_CORRUPT; goto out; } /* Verify and install the contents of the package. */ ui->Print("Installing update...\n"); ui->SetEnableReboot(false); int result = try_update_binary(path, &zip, wipe_cache); ret = try_update_binary(path, &zip, wipe_cache); ui->SetEnableReboot(true); ui->Print("\n"); Loading @@ -361,7 +369,7 @@ really_install_package(const char *path, bool* wipe_cache, bool needs_mount) #ifdef USE_MDTP /* If MDTP update failed, return an error such that recovery will not finish. */ if (result == INSTALL_SUCCESS) { if (ret == INSTALL_SUCCESS) { if (!mdtp_update()) { ui->Print("Unable to verify integrity of /system for MDTP, update aborted.\n"); return INSTALL_ERROR; Loading @@ -370,7 +378,9 @@ really_install_package(const char *path, bool* wipe_cache, bool needs_mount) } #endif /* USE_MDTP */ return result; out: set_perf_mode(false); return ret; } int Loading Loading @@ -400,3 +410,8 @@ install_package(const char* path, bool* wipe_cache, const char* install_file, } return result; } void set_perf_mode(bool enable) { property_set("recovery.perf.mode", enable ? "1" : "0"); } install.h +2 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,8 @@ enum { INSTALL_SUCCESS, INSTALL_ERROR, INSTALL_CORRUPT, INSTALL_NONE }; int install_package(const char* root_path, bool* wipe_cache, const char* install_file, bool needs_mount); void set_perf_mode(bool enable); #ifdef __cplusplus } #endif Loading Loading
adb_install.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -178,11 +178,15 @@ void stop_sideload() { } int wait_sideload() { set_perf_mode(true); pthread_join(sideload_thread, NULL); ui->FlushKeys(); maybe_restart_adbd(); set_perf_mode(false); return sideload_data.result; }
install.cpp +20 −5 Original line number Diff line number Diff line Loading @@ -37,6 +37,8 @@ #include "verifier.h" #include "ui.h" #include "cutils/properties.h" extern RecoveryUI* ui; #define ASSUMED_UPDATE_BINARY_NAME "META-INF/com/google/android/update-binary" Loading Loading @@ -262,6 +264,8 @@ mdtp_update() static int really_install_package(const char *path, bool* wipe_cache, bool needs_mount) { int ret = 0; ui->SetBackground(RecoveryUI::INSTALLING_UPDATE); ui->Print("Finding update package...\n"); // Give verification half the progress bar... Loading Loading @@ -315,6 +319,8 @@ really_install_package(const char *path, bool* wipe_cache, bool needs_mount) } LOGI("%d key(s) loaded from %s\n", numKeys, PUBLIC_KEYS_FILE); set_perf_mode(true); ui->Print("Verifying update package...\n"); int err; Loading @@ -336,7 +342,8 @@ really_install_package(const char *path, bool* wipe_cache, bool needs_mount) if (err != VERIFY_SUCCESS) { LOGE("signature verification failed\n"); sysReleaseMap(&map); return INSTALL_CORRUPT; ret = INSTALL_CORRUPT; goto out; } /* Try to open the package. Loading @@ -346,14 +353,15 @@ really_install_package(const char *path, bool* wipe_cache, bool needs_mount) if (err != 0) { LOGE("Can't open %s\n(%s)\n", path, err != -1 ? strerror(err) : "bad"); sysReleaseMap(&map); return INSTALL_CORRUPT; ret = INSTALL_CORRUPT; goto out; } /* Verify and install the contents of the package. */ ui->Print("Installing update...\n"); ui->SetEnableReboot(false); int result = try_update_binary(path, &zip, wipe_cache); ret = try_update_binary(path, &zip, wipe_cache); ui->SetEnableReboot(true); ui->Print("\n"); Loading @@ -361,7 +369,7 @@ really_install_package(const char *path, bool* wipe_cache, bool needs_mount) #ifdef USE_MDTP /* If MDTP update failed, return an error such that recovery will not finish. */ if (result == INSTALL_SUCCESS) { if (ret == INSTALL_SUCCESS) { if (!mdtp_update()) { ui->Print("Unable to verify integrity of /system for MDTP, update aborted.\n"); return INSTALL_ERROR; Loading @@ -370,7 +378,9 @@ really_install_package(const char *path, bool* wipe_cache, bool needs_mount) } #endif /* USE_MDTP */ return result; out: set_perf_mode(false); return ret; } int Loading Loading @@ -400,3 +410,8 @@ install_package(const char* path, bool* wipe_cache, const char* install_file, } return result; } void set_perf_mode(bool enable) { property_set("recovery.perf.mode", enable ? "1" : "0"); }
install.h +2 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,8 @@ enum { INSTALL_SUCCESS, INSTALL_ERROR, INSTALL_CORRUPT, INSTALL_NONE }; int install_package(const char* root_path, bool* wipe_cache, const char* install_file, bool needs_mount); void set_perf_mode(bool enable); #ifdef __cplusplus } #endif Loading