Commit Graph

557 Commits

Author SHA1 Message Date
bigbiff
ad58e1bfae repack: move sbin to /system ramdisk and update repacking
for android-10

This will support updating the ramdisk to a different
compression format and co-exist with magisk.

We are also cleaning up and removing non android-10
api makefile actions.

We are also moving twrp repacking to its own class. We
check the new ramdisk format and if it's different
we have magisk compress using the new ramdisk format.

Change-Id: I770030aae7797e75817178b2f0fccd9f39dc23af
2020-09-08 10:08:33 -04:00
4ndyZ
af1e585f3a lang: Updated German language strings
* Added all missing strings
* Translated some English strings in the German language file
* Changed ZIP notation to "ZIP" to be consistent in the translation

Change-Id: I27812c7f79c95258363772481f71253b8b505e28
(cherry picked from commit 6c70991a72820b390185b6de923a3694dce3cf44)
2020-09-05 20:26:33 +00:00
bigbiff
25d25b9e67 log storage: change AB device log storage to /data/recovery
This patchset is now exlcuding /data/cache from backup, and removing it
from the wipe exclusion list to prevent errors on restore and wiping
/data.

This patchset changes the directory from /data/cache to /data/recovery for TWRP
to store logs and other file information. This will help with AB
devices that don't want recovery to mess with /data/cache.

This patchset will make ORS use /data/cache for AB devices.

Remove policy code because we don't need to set a policy for the
recovery directory.

Change-Id: I1d140276314fd34804a72297d6e25a52e58210a0
2020-07-07 00:55:42 +00:00
bigbiff
1f780663cf minuitwrp ev_init: delay start if specified in board
This setting in the board will help if it takes longer
for the touchscreen driver to initialize.

Use TW_DELAY_TOUCH_INIT_MS := nnnn where nnnn is in MS.

Change-Id: I0a5c602edfe1214d64adadc980921a7bc0aa2bc5
(cherry picked from commit c6e2cfecce019d70ed5de74611761a2546e34828)
2020-06-29 15:50:54 +00:00
bigbiff
7ba7500953 decrypt: AOSP 10 requires the use of fscrypt
fscrypt aosp doc: https://source.android.com/security/encryption/file-based
kernel fscrypt doc: https://www.kernel.org/doc/html/v4.18/filesystems/fscrypt.html

This commit implements the ability for TWRP to use fscrypt to decrypt
files on the fscrypt implementation. It has been implemented mostly
in a new successor library to e4crypt called libtwrpfscrypt. Most of the
code was ported from AOSP vold.

Notable updates include:
 - updated policy storage by libtar
 - lookup of fbe policies by libtwrpfscrypt
 - threaded keystore operations

Big thanks to Dees_Troy for the initial trailblazing
of encryption in TWRP.

Change-Id: I69cd2eba3693a9914e00213d4943229635d0cdae
2020-06-22 12:17:22 +02:00
mauronofrio
6d3bf891c4 Add ozip decryption for Oppo/Realme device
This function will automatically decrypt .ozip file in a .zip and it will
save the .zip in the same folder of the .ozip and with the same name.
After the decryption, the flash will start.

To enable this function you have to set a Boardconfig flag with the
decryption key like i did here:

a30625f80a

Original projects:
https://github.com/sabpprook/ozip2zip
https://github.com/bkerler/oppo_ozip_decrypt

Change-Id: Ic93243a565008c442bcf2992069b2801532ac7c1
(cherry picked from commit 0ff59845f2f8dddedb4cee9a9faf86a6294cce66)
2020-06-10 22:31:49 +00:00
mauronofrio
38ed6a7e82 Allow Gui File Selector filter to check among more extensions
For example now in Install menu we are seeing all files with .zip
extension, after this commit we can see also files with .ZIP extension.
Just add the extension between ";" separator.

Change-Id: I6ddd2a812a182570af3d76711b1e3e13740a466b
(cherry picked from commit 27020944c2472c28b12ceccf676d58c2709af890)
2020-06-10 15:34:28 +00:00
Patrick Zacharias
0edce1a2a4 gui: Repair OEM build
Building with TW_OEM_BUILD results in errors during compilation:

error: unused label 'error' [-Werror,-Wunused-label]
error: unused parameter 'allow_commands' [-Werror,-Wunused-parameter]

These changes are required to allow compilation to complete.

Change-Id: Iddc5bf1b90120de19a472c48b21d3531b758cacf
(cherry picked from commit 0cd6be903b3129b30d5abe40d3a0f30545eef27d)
2020-06-10 14:38:39 +00:00
bigbiff
325e0a2cca ext4crypt: fix include location for recovery-twrp in lineage
Change-Id: Iefa73425fc13f41f5a267cce0c5d4047edc25e9e
(cherry picked from commit 186eb7002d95e28325f2d2e42637c989e08ac618)
2020-06-08 23:28:07 +00:00
bigbiff
ee7b7ffba4 super partition: mount super partitions using fs_mgr
We are now requiring fstab v2 for android-10+ trees. You can
specify twrp flags using /etc/twrp.flags to label and
annotate partitions.

This patchset uses fs_mgr to load the super partition and build
device mapper blocks off vendor and system depending on the slot
in use. These are mapped to partitions in TWRP and allowed to
be mounted read-only. The super partition is also mapped into a
TWRP partition in order to backup the entire partition. You cannot
backup individual device mapper blocks due to the device can only
be read-only. Therefore you cannot write back to the device mapper.

Change-Id: Icc1d895dcf96ad5ba03989c9bf759419d83673a3
2020-06-08 20:37:29 +00:00
Stefan Tauner
6ad1457332 Add and install permission file for Android 9+
Without this, installing the twrp app as system app leads to
reboot loops into recovery with log messages like:
java.lang.IllegalStateException: Signature|privileged permissions not in privapp-permissions whitelist: {me.twrp.twrpapp: android.permission.READ_PRECISE_PHONE_STATE, me.twrp.twrpapp: android.permission.BATTERY_STATS, me.twrp.twrpapp: android.permission.PACKAGE_USAGE_STATS}

Change-Id: I6156323ea0d23512b0d7eefbd03aa627f3002ae8
(cherry picked from commit 86a4370e6fe4bb20033b0de3a261aec4bf3573db)
2020-06-05 18:39:36 +00:00
Mohd Faraz
b98b4f7b96 partitionmanager: magisk update sytnax as per new binaries
Change-Id: I51994b991472cf103de067b9856ff3df1bf35a90
Signed-off-by: Mohd Faraz <androiabledroid@gmail.com>
(cherry picked from commit 5738e760646d67791e938954a8873da41209d58c)
2020-05-30 20:05:43 +00:00
bigbiff
adc599e005 Revert "Add support for multi-user decryption"
This reverts commit 0b25b1d79b.

Reason for revert: Changes need to be made to libtwrpfscrypt to include this patchset. Will cherry-pick this patch later and make necessary modifications.

Change-Id: I7601d7b820129709b05d9b4368573b6f1048de02
2020-05-28 19:36:30 +00:00
Noah Jacobson
0b25b1d79b Add support for multi-user decryption
* Add CLI support using the command "twrp decrypt <PASSWORD> [USER ID]"
* Add GUI support using the menu Advanced --> Decrypt User

Change-Id: Id2681bc2b1012a0571417f7a6e0b980b1b25c61c
(cherry picked from commit 5a79f67a1b1bd1bcadeca0a4896a871646652534)
2020-05-20 19:11:15 -04:00
Chaosmaster
d5364a0b21 Rework progressbar logic, implement scoped/split progressbar
Rework progressbar according to AOSP, this should fix various
issues with progressbar.

From AOSP:

   progress <frac> <secs>
       fill up the next <frac> part of of the progress bar over <secs> seconds. If <secs> is
       zero, use `set_progress` commands to manually control the progress of this segment of the
       bar.

   set_progress <frac>
       <frac> should be between 0.0 and 1.0; sets the progress bar within the segment defined by
       the most recent progress command.

Change-Id: I7f92359046288f3529cb2e98e6d54d410a248f1d
(cherry picked from commit ab16437de14fd9f1203b7e0ce82ea18eb56cae78)
2020-05-19 14:45:22 +00:00
Chaosmaster
7b66bf503f Replace "Reboot System" with "Reboot" for A/B devices
Users may want to reboot to recovery or bootloader after flashing
A/B zips to switch slots and install additional zips.

Change-Id: I128ceff6d0b361921c7ad7623eab93044e942d18
(cherry picked from commit 90df3de75ef05e014ba363d65a59421a04375e5a)
2020-05-19 14:27:39 +00:00
Chaosmaster
a6da6565a0 Add info that flashing AB zip will flash to the inactive slot
Also inform user, that a reboot is required to switch slots

Change-Id: I7d609ee3d231e5d38d9145962e979e012d9a0ac8
(cherry picked from commit 5343a3ca2afcdd895677c5c3ff16a83af372c7b7)
2020-05-19 10:03:54 -04:00
bigbiff
437b93a087 Merge remote-tracking branch 'origin/android-9.0' into android-10.0
Change-Id: Ie850f431f0d2c39c86b9c10701676a24770ab447
2020-05-10 20:06:41 -04:00
Chaosmaster
ff4f958182 Add option to automatically unmount system before installing ZIP
This adds the option to automatically unmount the system partition
before installing a ZIP-file.
This option is enabled by default, This is usefull on SAR-devices
where system is mounted as system_root and ZIPs (i.e. Magisk)
try to unmount system instead of system_root and fail to install.

Change-Id: Id94ae658964679e23aa7fa137e07edf74ee073df
2020-05-10 15:43:55 -04:00
bigbiff
d58ba18272 AOSP10 TWRP Merge: fix conflicts and update libraries needed
This allows flame to boot TWRP. Still will need to work on
super partition for vendor and system access.

The plan will be to cherry-pick any updates to android-9.0
through gerrit.twrp.me to this branch as a WIP.
2020-03-23 11:18:29 -04:00
Fatih Fırıncı
901141c2eb language: turkish update
Change-Id: I9dab6ea9378f87879384e43dafb2e3ae4f733f68
2020-03-14 17:21:30 -04:00
Ian Macdonald
f9156eaaab Complete overhaul of Dutch translation:
* All missing strings added (ref: en.xml).
* Many strings clarified and ambiguity removed.
* Inconsistent use of language reconciled.
* XML validated by xmllint(1).
* String length validated on device (G975F).

Change-Id: I4a4c3dc5a1147a62b8c141286fc7ac432678a322
2019-12-23 00:50:53 +00:00
big biff
e078e9cf7b Merge "Update Portuguese (Portugal) translation" into android-9.0 2019-10-19 00:21:45 +02:00
VDavid003
2034a41934 Fix typo in comment
Change-Id: I9b24d324fd61f2f0d2e85a9d123778557e14d63c
Signed-off-by: VDavid003 <virag.david003@gmail.com>
2019-10-18 22:43:20 +02:00
Vasco Machado
bdb20a9d2d Update Portuguese (Portugal) translation
Change-Id: I2adff8a76f210048edc29264652d072139d594f9
2019-10-17 16:45:59 +01:00
Ethan Yonker
76bbd3a11a Add option to uninstall TWRP app from /system
Change-Id: Ibe372a372333c357810be2afcb3796723ca370cb
2019-05-16 19:07:06 +02:00
betaxab
c23f00b90d language: update Chinese translations
Change-Id: Id34055262b7c711a2ee71d97d27503a887d35b76
Signed-off-by: betaxab <betaxab@gmail.com>
2019-05-11 03:45:59 +08:00
bigbiff bigbiff
3f20a85c03 English language: Remove duplicate value.
Change-Id: I849acef3e19519bfe6b8dc5fdd9a50eda3f03e2a
2019-05-05 13:53:25 -04:00
f2065
e605f1c087 Updated Russian localization, bugs fixed (letter Ё, cities in time zones are correct, correct checksum, and other minor fixes).
Change-Id: Id1fd250c69cdc91e8b3e76d056fb1a5935457cdd
2019-04-16 11:50:39 +01:00
Mauronofrio Matarrese
1ecb6df370 Change slot name position
This is need to avoid overlapping between the third row of buttons and 
the current active slot, actually if you enable edl button, the active 
slot will overlap the button.

Change-Id: I6cfc945c2d0be0530dad7b4ce0f0e2ca29c297c4
2019-04-05 16:19:25 +02:00
Ethan Yonker
b150276a43 Prevent having to double-tap some check boxes
Check boxes that do not have a default value set usually required
you to tap them twice to toggle them on the very first time. This
patch checks the return value from GetValue and sets a default of
0 if the variable does not already exist in the Data Manager.

Change-Id: I1ff26e756764ed2a00b10102f13a5bce0119771a
2019-04-04 04:26:53 +02:00
Ethan Yonker
53796e7333 Use magiskboot to repack the boot partition
Set TW_INCLUDE_REPACKTOOLS := true

Must also have:
AB_OTA_UPDATER := true

Use magiskboot and provide GUI options to allow users to repack
their existing boot image to install TWRP (or kernels) so we can
stop having to provide installation zips for AB devices. There is
also an option to try to fix a recovery bootloop if the kernel
has been patched to always boot the ramdisk for root, etc.

You will need to pull the below repo into external/magisk-prebuilt
https://github.com/TeamWin/external_magisk-prebuilt

Change-Id: I74196cc6f095a7576d61886dc96cbc18deba9b04
2019-04-03 16:44:00 -05:00
Ethan Yonker
64e0a6525f Use listbox for device-specific advanced menu items
This patch allows items to have more than one action surrounded
by the <actions> tags like other GUI elements. The patch also
adds new twrp command line options that let you reload the theme
and switch to a specific page from the command line:

adb shell twrp reloadtheme
adb shell twrp changepage=advanced

Change-Id: I838ea380a508be07b9fa617034d1954e116febd6
2019-03-20 15:42:49 -05:00
mauronofrio
e9a49efe75 Adding Edl button in reboot menu
Edl mode is available only on qualcomm devices and it used to fully
restore the bricked devices. I made the button available only if
TW_HAS_EDL_MODE := true like the download button. I set the edl
button to the right of the download button, so devices can support
edl button and download button. I also added the translation for
all languages.

Change-Id: I69d1058b8c050b722395c7b3da6dce1ccfbe7a91
2019-03-20 10:57:07 -05:00
bigbiff bigbiff
3157f121ad Full screen action: simplify by just hiding navbar
Change-Id: Iab770ee47420deae08cc3c20127f36f53036fbec
2019-03-18 21:54:20 +01:00
bigbiff bigbiff
19874f1469 AB/Non AB Devices: updates for moving cache
This patchset updates all the places we touch cache on AB devices
and non AB devices so that we can write to the appropriate
location. AB devices removed the cache partition and moved it to
/data/cache.

Change-Id: I485ec205a604f1f07ceb7700ae9c4e720fd55c3e
2019-03-18 04:49:38 +01:00
bigbiff bigbiff
3ed778ad63 Vibration: allow BoardConfig to disable vibration for a device.
Change-Id: Ibd2f67391ce6d7774498839829e0de9391508781
2019-03-17 22:39:00 -05:00
nijel8
a833939109 Hide navbar while running operations
-switch to full screen when user is not suppose to do
 anything but wait for current operation to finish

Change-Id: Ib54afc380a5cfe70e011e782cf3d7fe4c80958a4
2019-02-01 00:43:02 -05:00
Captain Throwback
9d6feb5311 twrp: use ANDROID_ROOT environment variable
instead of hard-coded /system path

I updated most of the references I found,
but there might be more

For devices that have to mount system at /system_root,
this allows system to be bind mounted to /system
and detected properly by TWRP

Change-Id: I9f142fd8cec392f5b88e95476258dab9c21a9aac
2018-08-24 12:47:45 -04:00
Ethan Yonker
58f2132bc3 Merge AOSP android-9.0.0_r3
Fix conflicts and make it build in 5.1, 6.0, 7.1, 8.1, and 9.0

Change-Id: Ida0a64c29ff27d339b7f42a18d820930964ac6e4
2018-08-24 11:17:39 -05:00
Sean hoyt
32aef7a2cf Remove remaining pieces of supersu
Change-Id: I8f92c19f9e947da29dc25f3b88f69413a13af64d
2018-07-30 10:29:46 +02:00
Humberto Borba
66ae80be89 language: italian: Fix SELinux support label
Thanks to David Viteri for this one.

Signed-off-by: Humberto Borba <humberos@omnirom.org>
Change-Id: I566179921ba1cdb3b79836eff2b78cd6289eff94
2018-07-25 08:15:41 -03:00
Ethan Yonker
fa67cbf18b Remove SuperSU
Change-Id: I2ca7580bbde5a8903b9ba5c1513ddba887e8d49e
2018-07-20 13:45:16 -05:00
bigbiff bigbiff
10533f74a6 Language: Add version info to copying_log in turkish lang.
Change-Id: If07b7655265c94ad6b7ffa06629252749b5616e9
2018-03-21 09:12:50 -04:00
Fatih Fırıncı
fe2f14235e Update Turkish translations.
Change-Id: Ib15052832c2b25465b8a1d5c30d4659653b99f09
2018-03-20 18:30:48 -04:00
Fatih Fırıncı
90765a20f5 Languages: Update Turkish translation.
Change-Id: Ib3a188f867330013069b7d443bcbad5dc3bc1e90
2018-02-26 18:51:14 -05:00
big biff
5c9889e855 Merge "Add Portuguese (Portugal) translation." into android-8.1 2018-01-25 01:14:42 +01:00
Vasco Machado
6a11843c7e Add Portuguese (Portugal) translation.
Change-Id: I3ea752697cc7f085541d961a6185194badb99015
2018-01-24 02:29:00 +01:00
big biff
4603e9d0f0 Merge "Fix typo in Micro SD to have a consistency" into android-8.1 2018-01-19 00:36:13 +01:00
big biff
306ec8853d Merge "Added missing translation in Turkish translation" into android-8.1 2018-01-19 00:34:43 +01:00