summaryrefslogtreecommitdiffstats
path: root/data.cpp
diff options
context:
space:
mode:
authorDees_Troy <dees_troy@teamw.in>2012-10-01 15:01:03 +0200
committerDees_Troy <dees_troy@teamw.in>2012-10-01 15:01:03 +0200
commit01a9b7a7f88696d579eed5e55831267a6cb4220f (patch)
treeb11e5b808df1851830d5288b075d5c2d70fb3906 /data.cpp
parentFix some derps (diff)
downloadandroid_bootable_recovery-01a9b7a7f88696d579eed5e55831267a6cb4220f.tar
android_bootable_recovery-01a9b7a7f88696d579eed5e55831267a6cb4220f.tar.gz
android_bootable_recovery-01a9b7a7f88696d579eed5e55831267a6cb4220f.tar.bz2
android_bootable_recovery-01a9b7a7f88696d579eed5e55831267a6cb4220f.tar.lz
android_bootable_recovery-01a9b7a7f88696d579eed5e55831267a6cb4220f.tar.xz
android_bootable_recovery-01a9b7a7f88696d579eed5e55831267a6cb4220f.tar.zst
android_bootable_recovery-01a9b7a7f88696d579eed5e55831267a6cb4220f.zip
Diffstat (limited to '')
-rw-r--r--data.cpp30
1 files changed, 29 insertions, 1 deletions
diff --git a/data.cpp b/data.cpp
index ab240a7a4..f7ad57a79 100644
--- a/data.cpp
+++ b/data.cpp
@@ -39,6 +39,7 @@
#include "variables.h"
#include "data.hpp"
#include "partitions.hpp"
+#include "twrp-functions.hpp"
extern "C"
{
@@ -814,6 +815,32 @@ int DataManager::GetMagicValue(const string varName, string& value)
return -1;
}
+void DataManager::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", Path.c_str());
+ return;
+ }
+ Path += "/TWRP/.version";
+ if (TWFunc::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();
+ LOGI("Version number saved to '%s'\n", Path.c_str());
+}
+
void DataManager::ReadSettingsFile(void)
{
// Load up the values for TWRP - Sleep to let the card be ready
@@ -843,11 +870,12 @@ void DataManager::ReadSettingsFile(void)
LOGI("Attempt to load settings from settings file...\n");
LoadValues(settings_file);
+ Output_Version();
GetValue(TW_HAS_DUAL_STORAGE, has_dual);
GetValue(TW_USE_EXTERNAL_STORAGE, use_ext);
GetValue(TW_HAS_EXTERNAL, has_ext);
if (has_dual != 0 && use_ext == 1) {
- // Attempt to sdcard using external storage
+ // Attempt to switch to using external storage
if (!PartitionManager.Mount_Current_Storage(false)) {
LOGE("Failed to mount external storage, using internal storage.\n");
// Remount failed, default back to internal storage