From 38bd760b589d405db9a2e6bf304f07d1b0bae342 Mon Sep 17 00:00:00 2001 From: Dees_Troy Date: Fri, 14 Sep 2012 13:33:53 -0400 Subject: Add wipe functions, compiles in CM7, text shows in UI, zips install Zip install works, had to move mincrypt code into TWRP to prevent a crash when checking the zip signature. Added wipe functions Made it compile in CM7 Made text show up in console and logging --- data.cpp | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) (limited to 'data.cpp') diff --git a/data.cpp b/data.cpp index 8b717f517..896bb1bc6 100644 --- a/data.cpp +++ b/data.cpp @@ -50,8 +50,6 @@ extern "C" void gui_notifyVarChange(const char *name, const char* value); - int get_battery_level(void); - int __system(const char *command); } @@ -761,8 +759,36 @@ int DataManager::GetMagicValue(const string varName, string& value) if (varName == "tw_battery") { char tmp[16]; + static char charging = ' '; + static int lastVal = -1; + static time_t nextSecCheck = 0; + + struct timeval curTime; + gettimeofday(&curTime, NULL); + if (curTime.tv_sec > nextSecCheck) + { + char cap_s[4]; + FILE * cap = fopen("/sys/class/power_supply/battery/capacity","rt"); + if (cap){ + fgets(cap_s, 4, cap); + fclose(cap); + lastVal = atoi(cap_s); + if (lastVal > 100) lastVal = 101; + if (lastVal < 0) lastVal = 0; + } + cap = fopen("/sys/class/power_supply/battery/status","rt"); + if (cap) { + fgets(cap_s, 2, cap); + fclose(cap); + if (cap_s[0] == 'C') + charging = '+'; + else + charging = ' '; + } + nextSecCheck = curTime.tv_sec + 60; + } - sprintf(tmp, "%i%%", get_battery_level()); + sprintf(tmp, "%i%%%c", lastVal, charging); value = tmp; return 0; } -- cgit v1.2.3