Don't return immediately from reboot commands.

The reboot commands return too fast, interfering with testing.
Add a pause(), which will allow the device time to complete the
reboot.

Change-Id: Ie9cc6eea67b7ff662ec71ea2329cbb94f8d55404
Bug: 11369303
Enable incremental builder to find files that moved, and
try to process them via patch + rename, instead of
delete + add.

b/11437930

Change-Id: I984349fbc9a8dac4379e00c0d66fc7d22c4eb834
Support recoveries without CONFIG_EXT4_FS_XATTR

If for some reason the recovery's kernel can't be replaced and has
no support for xattrs, use this. Chances are the system will break
unless you know what you're doing and compensate on the Android side

Change-Id: I09ff2cbd0ae68ec4f4b2a2e26acb6b0bc8b3569a
Remove redundant variable definition

The same Volume variable is defined with two names in the same scope.
Merge the names and remove one of the definitions.

Change-Id: I021697b42791bc6323c5fa0d9704d27ecfe2c8c1
(cherry picked from commit d98fabe2aa8df0e421a69130c1d787705209682d)
Do data/media checks first in format_device()

Wait to define a Volume variable until data/media checks are done
in case the Volume definition is unnecessary.

Change-Id: I6912b1b2a473ea8737ea3e415e9a0172bb35eff1
(cherry picked from commit dd812777f0bbb7075da8c3da6a18612fa90e100e)
Merge "Remove redundant variable definition" into cm-11.0
recovery: Add support for performance control

 * Recovery will now set "recovery.perf.mode" to 1 before a
   backup/restore operation begins, and will set it back to 0
   when the operation is complete. It will also do this during
   package installations.
 * This allows devices to boot into recovery in a low-power mode,
   and bring up more cores and adjust other settings. Pigz is
   multithreaded, and enabling all cores vastly improves performance of
   compressed backups.
 * Device maintainers who wish to use this should configure their
   init.recovery script to trigger off of this property.

Change-Id: I174e45215ad1cd34a34b1af4486a64fb6e54134b
Define paths for recovery settings files in a separate header

Also, use get_primary_storage_path() to define the locations of .no_confirm,
.many_confirm, and .hidenandroidprogress instead of hard-coding /sdcard/.

Change-Id: I50442a226af1d102786c833c0b53c25bf63c67a6
(cherry picked from commit bd0fe453f6ca242f0ed868b4c0934af29d499bba)
Bump recovery to 6.0.4.6

Change-Id: Id2b373e5a356e7eaa8694e5d0300dff860762061
Merge "Define paths for recovery settings files in a separate header" into cm-11.0
Hide install icon after success as it is done for regular zip installs

Change-Id: I932a6ecff0fb64913842c1ea4624021b476f7d46
Nandroid menu fixes:
- fix memory overflow bug if vold managed volumes reach MAX_NUM_MANAGED_VOLUMES.
- easier editing: this completes previous two commits to clean up Install Zip menu and Advanced menu

Change-Id: I349cc7b04878b92d902e1ee826d9b4c5bc77cf83
(cherry picked from commit a88b701ccb0733ca5cdd51490b86707c8d19a1f4)
Free up memory from file menu pointers

* Cleanup sub-filemenu pointers after their results are copied.
* Cleanup file pointers after all operations have been performed on
the file.

Change-Id: Ie6c482c5ffddd7ebebdc99bbe8ae856e53e1405f
(cherry picked from commit 5360b52dba6b120b6e0ba5c775e2a961504a34a3)
Do not modify original items pointer when filtering NULL entries

get_filtered_menu_selection currently modifies the items menu passed
to it. This can be problematic if the items menu is needed later without
any filtering of NULL entries. Instead, let's modify a copy of the items
menu, leaving the original intact.

Change-Id: Ief6f538441ea78fcd8eba3a815354f06bda849a0
Loki updates:

* update to v2.1 + sync to latest sources
* fix broken LG devices + add new ones
* proper code for recovery
* do not lokify after a failed adb install
* use original loki format sources for easier future updates
* fix all compiler warnings

Change-Id: I4f19edc492a1105c2b91c579f295876a4dc313b2
recovery: Fix the configuration of default_backup_format

I believe that this was missed (and therefore broken) in this commit:

commit a46e1bd7b32dc3ab660518a1aeab2f99d1ec518b
Author: philz-cwm6 <phytowardt@gmail.com>
Date:   Sun Dec 1 22:26:45 2013 +0100

    Define paths for recovery settings files in a separate header

    Also, use get_primary_storage_path() to define the locations of .no_conf
    .many_confirm, and .hidenandroidprogress instead of hard-coding /sdcard/

    Change-Id: I50442a226af1d102786c833c0b53c25bf63c67a6
    (cherry picked from commit bd0fe453f6ca242f0ed868b4c0934af29d499bba)

Change-Id: Idee6d712ac55cdd4b2690011a48226af2ed20d96
Clean up c formatting - 1

There are several inconsistent coding styles in CWM source from years of
contributions. I tried to find parameters for 'indent' which change the
least amount of code but outputs a style most will feel at home with.

Most of these formatting changes come from:
indent -br -brf -brs -cdw -ce -i4 -l160 -nbap -nbc -nbfda -ncs -npcs \
 -npsl -nut -ts4 file.c

Some manual modifications after running indent:
1) a()? b : c    --->    a() ? b : c
2) retain existing pointer definition styles
3) indentation of structs
4) change { } wrapping of cases in switch statements

Change-Id: I7f34a2e769a9a3f397ad36b8e25676424780aa00
su: Update for latest su daemon compatibility

Change-Id: I6d2f36d9f01d7bc6004724458875b3dce850d00e
Merge "Clean up c formatting - 1" into cm-11.0
minui: do not use flexible array initialization

Avoiding the use of gnu extensions improves code portability

Change-Id: I441a49ce08b6ecb1d735ca453552fa92026c5016