Improve progress bar handling for backup / restore / image flash

The progress bar will now be updated during image backups, restores
and during image flashing (except for sparse images which will require
significant changes to libsparse, and except for mtd nand using
flash_utils).

The progress bar will now be updated mid-file for file systems (tar) so
the user will see changes even during large file backup / restore.

Add a new progress tracking class to simplify handling of progress bar
updates. The class will only update the progress bar 5 times a second to
reduce the CPU load from updating the GUI frequently which does affect
backup times.

Change-Id: Iff382faef3df1f86604af336c1a8ce8993cd12c5
19 files changed
tree: 42fadd5a29c3adba7b0632c3c7d4d3c5ef6d2d22
  1. .gitignore
  2. Android.mk
  3. CleanSpec.mk
  4. NOTICE
  5. README.md
  6. adb_install.cpp
  7. adb_install.h
  8. applypatch/
  9. asn1_decoder.cpp
  10. asn1_decoder.h
  11. bmlutils/
  12. bootloader.cpp
  13. bootloader.h
  14. common.h
  15. crypto/
  16. data.cpp
  17. data.hpp
  18. default_device.cpp
  19. device.cpp
  20. device.h
  21. digest/
  22. dosfstools/
  23. edify/
  24. etc/
  25. exfat/
  26. fb2png/
  27. find_file.cpp
  28. find_file.hpp
  29. fixContexts.cpp
  30. fixContexts.hpp
  31. flashutils/
  32. fonts/
  33. fuse.h
  34. fuse/
  35. fuse_sdcard_provider.c
  36. fuse_sdcard_provider.h
  37. fuse_sideload.c
  38. fuse_sideload.h
  39. gpt/
  40. gui/
  41. htcdumlock/
  42. infomanager.cpp
  43. infomanager.hpp
  44. injecttwrp/
  45. install.cpp
  46. install.h
  47. interlace-frames.py
  48. legacy_properties.h
  49. legacy_property_service.c
  50. legacy_property_service.h
  51. libblkid/
  52. libcrecovery/
  53. libmincrypt/
  54. libpixelflinger/
  55. libtar/
  56. minadbd.old/
  57. minadbd/
  58. minui.old/
  59. minui/
  60. minuitwrp/
  61. minzip/
  62. mmcutils/
  63. mounts.c
  64. mounts.h
  65. mtdutils/
  66. mtp/
  67. openaes/
  68. openrecoveryscript.cpp
  69. openrecoveryscript.hpp
  70. orscmd/
  71. partition.cpp
  72. partitionmanager.cpp
  73. partitions.hpp
  74. pigz/
  75. prebuilt/
  76. progresstracking.cpp
  77. progresstracking.hpp
  78. recovery.cpp
  79. recovery_ui.h
  80. res-hdpi/
  81. res-mdpi/
  82. res-xhdpi/
  83. res-xxhdpi/
  84. res-xxxhdpi/
  85. res/
  86. roots.cpp
  87. roots.h
  88. screen_ui.cpp
  89. screen_ui.h
  90. scripts/
  91. sepolicy/
  92. set_metadata.c
  93. set_metadata.h
  94. simg2img/
  95. tarWrite.c
  96. tarWrite.h
  97. testdata/
  98. tests/
  99. toolbox/
  100. tools/
  101. toybox/
  102. tw_atomic.cpp
  103. tw_atomic.hpp
  104. twcommon.h
  105. twinstall.cpp
  106. twinstall.h
  107. twrp-functions.cpp
  108. twrp-functions.hpp
  109. twrp.cpp
  110. twrpDU.cpp
  111. twrpDU.hpp
  112. twrpDigest.cpp
  113. twrpDigest.hpp
  114. twrpTar.cpp
  115. twrpTar.h
  116. twrpTar.hpp
  117. twrpTarMain/
  118. ui.cpp
  119. ui.h
  120. uncrypt/
  121. updater/
  122. variables.h
  123. verifier.cpp
  124. verifier.h
  125. verifier_test.cpp
  126. verifier_test.sh
README.md

Team Win Recovery Project (TWRP)

You can find a compiling guide here.