Save version number to storage

This commit is contained in:
Dees_Troy
2012-09-27 15:44:01 -04:00
parent 22ad2cc9f7
commit 3477d7163e
4 changed files with 32 additions and 8 deletions
+1
View File
@@ -981,6 +981,7 @@ int GUIAction::doAction(Action action, int isThreaded /* = 0 */)
DataManager::SetValue(TW_IS_ENCRYPTED, 0);
DataManager::ReadSettingsFile();
TWFunc::Output_Version();
if (OpenRecoveryScript::check_for_script_file()) {
ui_print("Processing OpenRecoveryScript file...\n");
if (OpenRecoveryScript::run_script_file() == 0) {
+1 -5
View File
@@ -809,11 +809,6 @@ main(int argc, char **argv) {
DataManager_LoadDefaults();
printf("Starting the UI...");
gui_init();
//printf("=> Installing busybox into /sbin\n");
//system("/sbin/bbinstall.sh"); // Let's install busybox
printf("Symlinking gzip to pigz\n");
system("ln -sf /sbin/pigz /sbin/gzip");
system("ln -sf /sbin/unpigz /sbin/gunzip");
printf("=> Linking mtab\n");
system("ln -s /proc/mounts /etc/mtab"); // And link mtab for mke2fs
printf("=> Processing recovery.fstab\n");
@@ -931,6 +926,7 @@ main(int argc, char **argv) {
finish_recovery(NULL);
DataManager_ReadSettingsFile();
if (DataManager_GetIntValue(TW_IS_ENCRYPTED) == 0 && OpenRecoveryScript::check_for_script_file()) {
TWFunc::Output_Version();
gui_console_only();
OpenRecoveryScript::run_script_file();
if (1 || OpenRecoveryScript::run_script_file() != 0) {
+26
View File
@@ -15,6 +15,7 @@
#include "common.h"
#include "data.hpp"
#include "bootloader.h"
#include "variables.h"
/* Checks md5 for a path
Return values:
@@ -385,4 +386,29 @@ void TWFunc::check_and_run_script(const char* script_file, const char* display_n
system(script_file);
ui_print("\nFinished running %s script.\n", display_name);
}
}
void TWFunc::Output_Version(void) {
string Path, Command;
char version[255];
Path = DataManager::GetSettingsStoragePath();
if (!PartitionManager.Mount_By_Path(Path, false)) {
LOGI("Unable to mount '%s' to write version number.\n");
return;
}
Path += "/TWRP/.version";
if (Path_Exists(Path)) {
Command = "rm -f " + Path;
system(Command.c_str());
}
FILE *fp = fopen(Path.c_str(), "w");
if (fp == NULL) {
LOGE("Unable to open '%s'.\n", Path.c_str());
return;
}
strcpy(version, TW_VERSION_STR);
fwrite(version, sizeof(version[0]), strlen(version) / sizeof(version[0]), fp);
fclose(fp);
sync();
}
+4 -3
View File
@@ -33,9 +33,10 @@ public:
static void GUI_Operation_Text(string Read_Value, string Default_Text); // Updates text for display in the GUI, e.g. Backing up %partition name%
static void GUI_Operation_Text(string Read_Value, string Partition_Name, string Default_Text); // Same as above but includes partition name
static unsigned long Get_File_Size(string Path); // Returns the size of a file
static void twfinish_recovery(const char *send_intent);
static int tw_reboot(RebootCommand command);
static void check_and_run_script(const char* script_file, const char* display_name);
static void twfinish_recovery(const char *send_intent); // Writes the log to last_log
static int tw_reboot(RebootCommand command); // Prepares the device for rebooting
static void check_and_run_script(const char* script_file, const char* display_name); // checks for the existence of a script, chmods it to 755, then runs it
static void Output_Version(void); // Outputs the version to a file in the TWRP folder
private:
static void check_and_fclose(FILE *fp, const char *name);