Commit Graph

15 Commits

Author SHA1 Message Date
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
bigbiff bigbiff 56cf564658 twrpDigest refactor
This patch is to refactor twrpDigest using polymorphism
and inheritance to use the same call patterns for creating and
reading a digest. Now a library.
Use SHA2 from libcrypto. SHA2 is default if device has libcrypto.

Change string MD5 everywhere to use digest or Digest instead. Updated
string tags to digest. Translation will be required.

Switch out digest code into a driver class from partitionmanager.

SHA2 is better for digest creation due to decreased collision space
compared to MD5 and SHA1.

See https://en.wikipedia.org/wiki/SHA-2

Change-Id: I74b5546789990b12aa4ce2e389d25f80a3fe213f
2017-06-17 07:05:45 -05:00
that 74bff7f73f gui: bump theme version to 2
Commit 9472ba1d introduced new behavior for KEY_POWER which
needs a corresponding change in the theme to call the
setbacklight action whenever the power button is pressed.

Change-Id: Iacd46436b04aba1ecb1adbb684c56c3ef994bfe0
2017-01-18 22:32:36 +01:00
Matt Mower 9472ba1d39 gui: Actions: Toggle backlight on power key
Create GUIAction to handle KEY_POWER with a screen backlight toggle.

Change-Id: Iad0a7923b4a776e0336722db74d6fc46cd0107a2
2017-01-18 19:55:33 +01:00
James Christopher Adduono c81de8c6c0 Optimize and reduce size of PNG files
Done using:
find -type f -name *.png -exec optipng -o7 -nc -fix {} +
(-nc is required as TWRP png lib can't handle color type changes)
find -type f -name *.png -exec advdef -4 -z {} +
(use Zopfli compressor on insane prefix to reduce size even more)

Total amount of bytes saved: 317,491

Change-Id: I545c678f71942e6ceb95acb631841ea7ef82a049
2016-08-04 17:40:42 +02:00
Matt Mower 64ffe730a6 Unix file endings and remove execute permission
Change-Id: Iceaae3f7f20c3c6f23da807786b4cf4739c887c9
2016-02-29 17:14:17 +01:00
that da31ac481a Remove execute permissions from source files
Change-Id: I5deef665ab374491c0f498b498971abd525d1111
2016-01-29 22:11:48 +01:00
Ethan Yonker e95c4868b9 ifdef and comment out libjpeg
Chances are there are not many themes in widespread use that are
using jpeg images, but this will be easy to revert back or even
just temporarily modify if we need jpeg support in a pinch.

Change-Id: If17b05ce3ebccce724fd74b26ed8ea91b287c3cf
2016-01-27 10:58:02 -06:00
that 235c648a68 gui: use XML-based page for splash screen instead of a static jpg
For devices with an unusual aspect ratio, stretching a bitmap to
the screen resolution is sub-optimal. So let's reuse our XML engine
that allows assembling the splash screen from individual parts.

The splash page is loaded from a separate XML file for quick loading.

Change-Id: I2d3dad26e42fcefaf563dacdf0ffa61f209dada1
2016-01-25 19:25:34 +01:00
z31s1g faa4377e40 gui: make tw_show_kb non-persistent
Change-Id: Icb3dd2342cc3bdc349aaf933d306b9f5315d1e98
Signed-off-by: z31s1g <z31s1g@googlemail.com>
2016-01-18 09:57:45 -06:00
Ethan Yonker 1308d53e24 Add theme version checking
Add a themeversion value to the ui.xml details section. Check this
value against a define during early theme loading. If we are
loading a custom theme, then reject the custom theme if the
version does not match (or not defined) and load the stock theme.
If it is the stock theme, show a warning but continue loading.

Also fix an issue with changing overlays. Not sure how it ever
worked before, but it works now.

TLDR: Use the stock theme if the custom theme version does not
match.

Change-Id: I0277cbe035cbec7e16b6327500762dadf9c1c5c8
2016-01-16 08:19:51 -06:00
z31s1g 5618952043 gui: theme changes for terminal
Done:

Portrait HDPI, MDPI
Landscape HDPI, MDPI
Watch

Also still includes ugly changes for the old portrait theme to test the
terminal emulator.

Change-Id: If32af1c69b85417522a8a2fb9c20be515b4d70fc
2016-01-13 22:38:54 +01:00
Aleksa Sarai b25a18395e gui: PatternPassword: allow any N*N grid
Rather than only supporting a 3x3 grid, allow for multiple grid sizes
(using the CyanogenMod method of generating passphrases for non-3x3
grids). Also fix the detection of touches, as the old code was far too
sensitive for larger grids (and also didn't make much sense).

Change-Id: I343ef654e6d29ce0cb790a28281be7c7c9b171d9
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2016-01-02 19:44:48 +01:00
Ethan Yonker 74db157b94 Multiple Language Support
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
2015-12-19 08:31:01 -06:00
z31s1g 28f0a92bb2 gui: stock theme rework
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
2015-12-19 08:28:11 -06:00