* Usage of fsck.exfat is already included in partition.cpp, but the
tool is missing.
* Update the path to mkexfatfs so the button is available when changing
filesystem.
Change-Id: I5f4e27357c6b5a8606043d1bdc2488cc83e55d90
This is similar to https://gerrit.omnirom.org/#/c/14014
A lot of the features built in the older patch set have been split
out into separate patches, most of which have already been merged.
The remaining functionality here should all be directly related to
language selection and loading. We always load English as a base
before loading other languages over the top of the base. The idea
is that if another language is missing a translation, then we will
still display the English.
Maybe still to do: read the /cache/recovery/last_locale file and
load a language based on that. For me, this file contains just:
en_US
We probably won't bother with region specific translations so we
would have to look at either trimming off the _US or using some
other method like perhaps a symlink or a combination of the two.
Thanks to _that for twmsg.cpp class
Change-Id: I9647a22e47883a3ddd2de1da51f64aab7c328f74
Tries to combine the current theme with a touch of material.
Page structure is untouched for the most part.
Layout grid is changed to achieve a "less random" placement of
objects on a page.
Change-Id: Icaf796be410431b17d5be6ccc1134d40912bef0b
* Version 3.0.28
* Update filenames in source
* Remove unnecessary symlink to fsck
* Commit "Recode short filenames from DOS codepage (default 437)." has
been reverted since we do not have access to iconv
* Commits cherry-picked on top of 3.0.28:
- mkfs.fat: fix incorrect int type
- Prevent out of bound array read in date_dos2unix()
Change-Id: I50310235c62ec2e6bc90afcd10f2814d3afb5113
Reloading the GUI while the GUI is running and rendering is very
dangerous as we may be deleting GUI resources before or while we
are trying to render those same items. This change will allow us
to safely load new resources and delete the old ones.
Fixed a double free situation that was causing a crash on every
other theme reload.
Clear parsed xml documents when we are done loading the theme
instead of keeping them in memory for the life of the theme to
help save a little memory.
Store starting page so that if we request a reload, we can enter
the theme at the same starting point, which may come in handy if
we allow for language selection on alternate starting pages such
as the decrypt prompt or the system read only prompt.
Change-Id: I45a7e3fb3daeefac56d70f8d4936938eb1244b99
This makes the touch target include both the text and the image
for buttons masquerading as a check box.
Change-Id: If8432c5863de136b1a215dabb3e06109ccce4410
The vendor partition is verity checked just like system so we
should treat vendor as read only same as system.
Change-Id: Ida65c9f44d8610e52fcdcef0b4a50faf5c7110d2
The GUI is initialized before DataManager loads the settings file,
so we need to update the checkboxes on page change too.
Change-Id: If4c694872608ec4014220364bd759c1399502994
Allows the GUI to create a scrollable text box for long text that
may not all fit on the screen. Also includes code to allow the
console to wrap on spaces and other such characters instead of
wrapping in the middle of a word.
To see an example of how to add a text box to the XML, see:
https://gerrit.omnirom.org/#/c/14183/
Change-Id: Ifd139172ede290046b58ea3fe526e2e06da1d4ef
This patch set removes support in TWRP for the old .dat file
format as well as support for the AOSP style fonts in header
files. We need TTF for scaling.
Note that the old AOSP style header font is still supported in
minui which is not used by TWRP.
Change-Id: I6124a3333d479f1fc668138f7e32c4be9b519552
In order to maintain compatibility with older trees, we now have
minadbd.old and minui.old. I had to use a TARGET_GLOBAL_CFLAG to
handle ifdef issues in minui/minui.d because healthd includes
minui/minui.h and there was no other alternative to make minui.h
compatible with older trees without having to modify healthd rules
which is outside of TWRP.
Note that the new minui does not currently have support for qcom
overlay graphics. Support for this graphics mode will likely be
added in a later patch set. If you are building in a 6.0 tree and
have a device that needs qcom overlay graphics, be warned, as off
mode charging may not work properly. A dead battery in this case
could potentially brick your device if it is unable to charge as
healthd handles charging duties.
Update rules for building toolbox and add rules for making toybox
Use permissive.sh in init.rc which will follow symlinks so we do
not have to worry about what binary is supplying the setenforce
functionality (toolbox, toybox, or busybox).
Fix a few warnings in the main recovery binary source code.
Fix a few includes that were missing that prevented compiling in
6.0
Change-Id: Ia67aa2107d260883da5e365475a19bea538e8b97
When AOSP recovery commands are processed, the GUI reports a failure
just before reboot even when all commands succeeded. Set op_status
before reboot to indicate success.
Change-Id: I09e9357b04cd81f418264bf00a75311f48357414
Initial value for tw_mount_system_ro is now 2. If the value of
tw_mount_system_ro is 2 during boot, then we will show the system
read only prompt and ignore the value from the lifetime writes
check.
Note: Changed the value of FILE_VERSION which will trigger the
data manager to throw out previous settings and start with default
values so that existing TWRP users will get the prompt at least
once.
Change-Id: I447767b64617f855156a19a5dc15c4ece6dff7b8
Also enable string insertion for list items.
Example how to make a menu item:
<listitem name="Lights on!">
<action>
<action function="setbrightness">255</action>
</action>
</listitem>
If no <data> element and no actions on any items exist, the list is
read only and no item selection is possible.
Change-Id: Ib2668a982df2514484d44faa0396dd17550f39f3
To position the longpress label:
<longpress font="..." textcolor="..." x="5" y="0"/>
x and y is the distance from the upper right corner.
- extract method GUIKeyboard::DrawKey
- clean up handling of currently pressed key
- integrate key highlighting into main key drawing loops
Change-Id: I80ccf2975d30cffa2a48627a74ab3693c84e4fa4
e.g. '<button ...>' instead of '<object type="button" ...>'
Also get rid of default parameters to make things more explicit.
Change-Id: Ie4d1231b725aeb6cbf0041622c9780c86cf8e1c1
LoadResources should only decide on the resource type,
everything else is handled by the resources themselves.
Change-Id: I30f68293960c23560979f650efc4393992cf5824
fgets reads up to one byte less than size then with \0 at the end
adding \n after \0 is useless too
Change-Id: I7758d7a8f885bdde2b491a9cb75800f831d77c1f
Note: Only works on ext2/3/4 partitions. Only tested on ext4.
We can use this in some cases to resize the data partition if an
incorrect fstab caused recovery to not reserve the 16KB for a
crypto footer.
Sometimes the BoardConfig for a custom ROM does not have the
correct size for the system partition and if the ROM flashes a
raw system image, that image will not take up the full block
device. Running resize2fs can fix the size and may allow more
room in the system partition for customizations like busybox or
a larger gapps package.
Sometimes flashing a factory image may flash userdata with an
image with a file system that does not take up the full size of
the block device (e.g. factory images for the Nexus 6 will flash
userdata with a ~24GB userdata image, wasting ~30GB of space).
Using resize2fs we can easily fix this issue without having to do
a full format data.
Change-Id: I631f5c6f567bbc6a9241e5dd95f1e435820a1b13
Mounting system as rw can prevent future OTA updates. The purpose
of this patch set is to prevent TWRP from mounting sytem as rw on
the first boot. Device maintainers should update their twrp.fstab
files on these devices to include an additional line:
/system_image emmc /dev/block/../system
This line will allow TWRP to create a raw system image backup to
ensure that the user can return to an original state for future
OTA updates.
Change-Id: I8929d85bc3a5b96cc564bc7f734b58d5612ec833
If a page is requested for overlay, ensure it doesn't already exist in
the stack of existing overlays. If it does, erase the existing page
and push_back the new one.
Change-Id: I9feeea06cf7aad2e08a8c3bc567aaa761db2c3bc
This should fix daylight saving time display for most users.
For fully correct time zones we need the tzdata database.
Change-Id: I7b7693ab0abaf20be217bd06d525f03fb89b7217
* Applicable to non-rooted devices running portrait mode only.
* Touching the button has no effect, supposed to reboot/poweroff.
Change-Id: If67649c4c83ddf549c833f94c66829e0877969c5
Also minor cleanups:
- move array limits from #defines to a protected enum
- zero fill layouts in ctor
Change-Id: I8fe0f8465ebc646ad3bf3cc3f8490dbdd384f43d
"_" was broken due to a bad XML attribute name, and the others
didn't produce the highlighted character in shift mode.
Change-Id: I271fbf4e083ccdb69c469cbdae44101afed4fd1e