If the button has a conditional, the image render function will
return a 0 which indicated that an image was present even if it
was not if the condition was not being met during boot. When the
condition is met, mButtonImg was not set to NULL causing a render
request failure.
Change-Id: I32be0ddcdc1bf7ad22440d66018ef09484280afa
In order to support multi-stage recovery packages, we add the
set_stage() and get_stage() functions, which store a short string
somewhere it can be accessed across invocations of recovery. We also
add reboot_now() which updater can invoke to immediately reboot the
device, without doing normal recovery cleanup. (It can also choose
whether to boot off the boot or recovery partition.)
If the stage string is of the form "#/#", recovery's UI will be
augmented with a simple indicator of what stage you're in, so it
doesn't look like a reboot loop.
Change-Id: I62f7ff0bc802b549c9bcf3cc154a6bad99f94603
A system/core change made in Mar 26 2012 6ebf12f "init: Change umask
of forked processes to 077" changed the default umask of services
forked from init.
Because recovery is forked from init, it has a umask of 077. Therefore
when update-binary is forked from recovery, it too has a umask of 077.
This umask is overly restrictive and can cause problems for scripts
relying on minzip to extract binaries directly into the target
filesystem. Any directories updated by minzip will have their
permissions reset to r-x------ and created files will have similarly
restrictive permissions.
As it seems unlikely this security measure was intended to have this
side effect on legacy sideloads that do not have chmods to repair
the damage done by minzip, this change reverts the umask to 022 in
the fork made for update-binary.
Change-Id: Ib1a3fc83aa4ecc7480b5d0c00f3c7d0d040d4887
Because backgroundIcon[] is not initialized by the ScreenRecoveryUI
constructor, it should be initialized explicitly to NULL in Init().
If it is not initialized, ScreenRecoveryUI::SetBackground() can fail
for the NONE icon because the NULL test can fail and junk will be
dereferenced.
Change-Id: I4e3738d2e241ed90df43c984fb41e0072933f50a
* commit '40dfc474c457f5be24e204e6a0c657c97acb8f3c':
Enable incremental builder to find files that moved, and try to process them via patch + rename, instead of delete + add.
* commit 'c64e76c75088b951f61a7f7bacf8af6eccd2ccfa':
Enable incremental builder to find files that moved, and try to process them via patch + rename, instead of delete + add.
Fix building all applypatch items
Fix building verifier_test (probably will not work right as-is)
but at least it builds without errors.
Change-Id: I7ab0c04d7d3d2c2e14b57480627e594f89a68b0b
Make a copy of libmincrypt in TWRP source so we do not have to
ifdef verifier.cpp for various versions of mincrypt.
Remove reboot tool from toolbox (it was removed from 4.4 and did
not compile properly on some devices in older trees)
Make sure that we add the root folder itself to get the perms and
SELinux contexts before splitting to a second archive.
Change-Id: Id93a9f9b4767b61bba38eb0cf7306c81a8540a3c
Make sure that we add the root folder itself to get the perms and
SELinux contexts before splitting to a second archive.
Change-Id: Id93a9f9b4767b61bba38eb0cf7306c81a8540a3c