diff options
Diffstat (limited to '')
-rw-r--r-- | twrpTarMain/Android.mk | 13 | ||||
-rw-r--r-- | twrpTarMain/twrpTarMain.cpp | 50 |
2 files changed, 55 insertions, 8 deletions
diff --git a/twrpTarMain/Android.mk b/twrpTarMain/Android.mk index 5a1a4434f..c88351bd8 100644 --- a/twrpTarMain/Android.mk +++ b/twrpTarMain/Android.mk @@ -8,18 +8,21 @@ LOCAL_SRC_FILES:= \ ../twrp-functions.cpp \ ../twrpTar.cpp \ ../tarWrite.c \ - ../twrpDU.cpp + ../twrpDU.cpp \ + ../progresstracking.cpp \ + ../gui/twmsg.cpp LOCAL_CFLAGS:= -g -c -W -DBUILD_TWRPTAR_MAIN LOCAL_C_INCLUDES += bionic ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23; echo $$?),0) - LOCAL_C_INCLUDES += external/stlport/stlport + LOCAL_C_INCLUDES += external/stlport/stlport bionic/libstdc++/include endif -LOCAL_STATIC_LIBRARIES := libc libtar_static libstdc++ +LOCAL_STATIC_LIBRARIES := libc libtar_static ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23; echo $$?),0) LOCAL_STATIC_LIBRARIES += libstlport_static endif +LOCAL_STATIC_LIBRARIES += libstdc++ ifeq ($(TWHAVE_SELINUX), true) LOCAL_C_INCLUDES += external/libselinux/include @@ -51,7 +54,9 @@ LOCAL_SRC_FILES:= \ ../twrp-functions.cpp \ ../twrpTar.cpp \ ../tarWrite.c \ - ../twrpDU.cpp + ../twrpDU.cpp \ + ../progresstracking.cpp \ + ../gui/twmsg.cpp LOCAL_CFLAGS:= -g -c -W -DBUILD_TWRPTAR_MAIN LOCAL_C_INCLUDES += bionic external/stlport/stlport diff --git a/twrpTarMain/twrpTarMain.cpp b/twrpTarMain/twrpTarMain.cpp index 6cc629d7d..ff35f47ce 100644 --- a/twrpTarMain/twrpTarMain.cpp +++ b/twrpTarMain/twrpTarMain.cpp @@ -20,10 +20,52 @@ #include "../twrp-functions.hpp" #include "../twrpTar.hpp" #include "../twrpDU.hpp" +#include "../progresstracking.hpp" +#include "../gui/gui.hpp" +#include "../gui/twmsg.h" #include <string.h> twrpDU du; +void gui_msg(const char* text) +{ + if (text) { + Message msg = Msg(text); + gui_msg(msg); + } +} + +void gui_warn(const char* text) +{ + if (text) { + Message msg = Msg(msg::kWarning, text); + gui_msg(msg); + } +} + +void gui_err(const char* text) +{ + if (text) { + Message msg = Msg(msg::kError, text); + gui_msg(msg); + } +} + +void gui_highlight(const char* text) +{ + if (text) { + Message msg = Msg(msg::kHighlight, text); + gui_msg(msg); + } +} + +void gui_msg(Message msg) +{ + std::string output = msg; + output += "\n"; + fputs(output.c_str(), stdout); +} + void usage() { printf("twrpTar <action> [options]\n\n"); printf("actions: -c create\n"); @@ -34,7 +76,7 @@ void usage() { printf(" -z compress backup (/sbin/pigz must be present)\n"); #ifndef TW_EXCLUDE_ENCRYPTED_BACKUPS printf(" -e encrypt/decrypt backup followed by password (/sbin/openaes must be present)\n"); - printf(" -u encrypt using userdata encryption (must be used with -e\n"); + printf(" -u encrypt using userdata encryption (must be used with -e)\n"); #endif printf("\n\n"); printf("Example: twrpTar -c -d /cache -t /sdcard/test.tar\n"); @@ -47,7 +89,7 @@ int main(int argc, char **argv) { int i, action = 0; unsigned j; string Directory, Tar_Filename; - unsigned long long temp1 = 0, temp2 = 0; + ProgressTracking progress(1); pid_t tar_fork_pid = 0; #ifndef TW_EXCLUDE_ENCRYPTED_BACKUPS string Password; @@ -144,14 +186,14 @@ int main(int argc, char **argv) { } #endif if (action == 1) { - if (tar.createTarFork(&temp1, &temp2, tar_fork_pid) != 0) { + if (tar.createTarFork(&progress, tar_fork_pid) != 0) { sync(); return -1; } sync(); printf("\n\ntar created successfully.\n"); } else if (action == 2) { - if (tar.extractTarFork(&temp1, &temp2) != 0) { + if (tar.extractTarFork(&progress) != 0) { sync(); return -1; } |