| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
When calling ScreenRecoveryUI::ShowFile(), the only thing that gets
inadequately logged is the progress bar. Replace the call to
ScreenRecoveryUI::Print() with ScreenRecoveryUI::PrintOnScreenOnly() for
the progress bar, so we can avoid calling redirect_stdio().
Change-Id: I4d7c5d5b39bebe0d5880a99d7a72cee4f0b8f325
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Although stdout and stderr are both redirected to log file with no
buffering, we are seeing some outputs are mixed in random order.
This is because ui_print commands from the updater are passed to the
recovery binary via a pipe, which may interleave with other outputs
that go to stderr directly.
In recovery, adding ui::PrintOnScreenOnly() function to handle
ui_print command, which skips printing to stdout. Meanwhile, updater
prints the contents to stderr in addition to piping them to recovery.
Change-Id: Idda93ea940d2e23a0276bb8ead4aa70a3cb97700
|
|
|
|
|
|
|
|
|
| |
This makes it easier to go back and forth without losing current output.
Also make the display more like regular more(1).
Bug: http://b/20834540
Change-Id: Icc5703e9c8a378cc7072d8ebb79e34451267ee1b
|
|
|
|
|
|
| |
gr_surface was causing confusion for no good reason.
Change-Id: If7120187f9a00dd16297877fc49352185a4d4ea6
|
|
|
|
|
|
|
|
|
|
|
| |
This makes it easier for us to deal with arbitrary information at the
top, and means that headers added by specific commands don't overwrite
the default ones.
Add the fingerprint back, but broken up so it fits even on sprout's
display.
Change-Id: Id71da79ab1aa455a611d72756a3100a97ceb4c1c
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I76a042432aede08ceaf250319cf5eeb25d601150
|
|/
|
|
|
|
|
|
| |
Our long-press UI sends KEY_ENTER for long presses, which the long-press
UI treats as equivalent to KEY_POWER in the regular UI. So anywhere we accept
KEY_POWER we should accept KEY_ENTER too.
Change-Id: I99d376c961887043cf02037c26d000c8ba4d66f9
|
|
|
|
|
|
| |
Most importantly, this one no longer skips lines because of wrapping.
Change-Id: Ic1c1944682ab8cbf3d542418ee86d29819173fc9
|
|
|
|
|
|
|
|
| |
Currently fugu has a custom subclass to handle this. The default code
supports devices with trackballs but not all shipping Nexus devices?
That's just silly.
Change-Id: Id2779c91284899a26b4bb1af41e7033aa889df10
|
|
|
|
|
|
| |
This fixes the N9 performance problem.
Change-Id: I00c10d4162ff266a6243285e5a5e768217f6f799
|
|
|
|
|
|
| |
Dynamically allocate the text and menu arrays instead.
Change-Id: Idbfc3fe4e4b50db4fee62ac2b6a7323cad369749
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously most devices would lose the character before a line wrap.
The log's text rendering was starting at offset 4 but none of the
arithmetic was taking this into account. It just happened to work
on the Nexus 9's 1536-pixel wide display (1536/18=85.3) but not on
a device such as the Nexus 5 (1080/18=60).
The only active part of this change is the change from 4 to 0 in the
gr_text call. The rest is just a few bits of trivial cleanup while I
was working out what was going on.
Change-Id: I9279ae323c77bc8b6ea87dc0fe009aaaec6bfa0e
|
|
|
|
|
|
|
|
| |
The real problem is that the recovery UI is sluggish. But being able
to wrap off the top to the bottom halves the maximum distance you'll
have to go.
Change-Id: Ifebe5b818f9c9a1c4187d4ac609422da1f38537f
|
|
|
|
|
|
|
| |
Return to the recovery to the holo appearance.
Bug: 15424396
Change-Id: Id4d3f23e0a6251a12aa42f3793cff347f38b4243
|
|\
| |
| |
| |
| | |
* commit '48abd574cb1b7b0adbe1de36224fb974182aaa2d':
screen_ui: Initialize text buffer
|
| |\
| | |
| | |
| | |
| | | |
* commit '74b90b309f67dc3b8bb74e47c4eddf7ce511bc35':
screen_ui: Initialize text buffer
|
| | |\ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Zero initialize the text buffer to make recovery not
render garbage when showing the menu or messages.
Change-Id: I0dd0d357757f6b0fd52ad3b3617d42bb1b835245
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We met factory issue that some devices would crash in recovery mode
because the backgroundIcon array did not reset to NULL when initializing.
Bug: 9568624
Change-Id: I13c7a7cc1053a7ffdbadd71740c1a2b4a2af6bba
Signed-off-by: yetta_wu <yetta_wu@asus.com>
Signed-off-by: Iliyan Malchev <malchev@google.com>
|
| |\| |
| | | |
| | | |
| | | | |
Change-Id: I19f9f460145fdcf5cdc58ee4fa25ff3c9ba398f0
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
* commit 'c91612d4668688c5d7bf76c258c11010697a03d2':
remove pixelflinger from recovery
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Conflicts:
screen_ui.cpp
screen_ui.h
Change-Id: Iefe7dde04cc76639f56730a19238436073f18ffb
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Provide different recovery UI resources for different display
densities. Right now only the text images and the progress bars are
rescaled; the main icon will get scaled when it's updated for QP.
Lightly quantum-ify the rest of the recovery interface. (Light
background, progress bars, etc.)
Change-Id: Ia639c4ce8534b01bc843524efbc4b040c1cf38b3
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
* commit '80c1a386d3f614919708b37986919ecaf74ee738':
refactor image resource loading code in minui
|
| |\ \ \ \ \ \
| | | |_|_|/ /
| | |/| | | |
| | | | | | | |
Change-Id: Ib95b5bcd8d24014e1f2a956d2f31c99a471d3e30
|
| | | |_|/ /
| | |/| | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Reduce the number of copies of libpng boilerplate. Rename
res_create_* functions to be more clear. Make explicit the use of the
framebuffer pixel format for images, and handle more combinations of
input and output (eg, loading a grayscale image for display rather
than use as a text alpha channel).
Change-Id: I3d41c800a8f4c22b2f0167967ce6ee4d6b2b8846
|
| |\| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
* commit 'c91612d4668688c5d7bf76c258c11010697a03d2':
remove pixelflinger from recovery
|
| | | |/ /
| | |/| |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Recovery now draws directly to the framebuffer by rolling its own
graphics code, rather than depending on libpixelflinger.
The recovery UI is modified slightly to eliminate operations that are
slow with the software implementation: when the text display / menu is
turned on, it now appears on a black background instead of a dimmed
version of the recovery icon.
There's probably substantial room for optimization of the graphics
operations.
Bug: 12131110
Change-Id: Iab6520e0a7aaec39e2ce39377c10aef82ae0c595
Conflicts:
minui/resources.c
|
| |\| | |
| | |/ /
| |/| |
| | | | |
Change-Id: I8cc3b8101bccf7fd697f9a7b73732d1000dc27a1
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Instead of one 'base' installing image and a number of overlay images
that are drawn on top of it, we represent the installing animation
with one PNG that contains all the animation frames, interlaced by
row. The PNG is expected to have a text chunk with the keyword
'Frames' and a value that's the number of frames (as an ascii
string). This representation provides better compression, removes the
need to subclass ScreenRecoveryUI just to change the position of the
overlay or number of frames, and doesn't require gr_blit() to support
an alpha channel.
We also remove the 'indeterminate' progress bar used when wiping data
and/or cache. The main animation serves the same purpose (showing
that the device is still alive); the spinning progress bar has been
redundant for a while.
This changes the default recovery animation to include the
antenna-wiggling and gear-turning that's used in the Nexus 5 recovery
animation.
Change-Id: I51930a76035ac09969a25472f4e572b289418729
Conflicts:
screen_ui.cpp
screen_ui.h
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Recovery now draws directly to the framebuffer by rolling its own
graphics code, rather than depending on libpixelflinger.
The recovery UI is modified slightly to eliminate operations that are
slow with the software implementation: when the text display / menu is
turned on, it now appears on a black background instead of a dimmed
version of the recovery icon.
There's probably substantial room for optimization of the graphics
operations.
Bug: 12131110
Change-Id: Iab6520e0a7aaec39e2ce39377c10aef82ae0c595
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Instead of one 'base' installing image and a number of overlay images
that are drawn on top of it, we represent the installing animation
with one PNG that contains all the animation frames, interlaced by
row. The PNG is expected to have a text chunk with the keyword
'Frames' and a value that's the number of frames (as an ascii
string). This representation provides better compression, removes the
need to subclass ScreenRecoveryUI just to change the position of the
overlay or number of frames, and doesn't require gr_blit() to support
an alpha channel.
We also remove the 'indeterminate' progress bar used when wiping data
and/or cache. The main animation serves the same purpose (showing
that the device is still alive); the spinning progress bar has been
redundant for a while.
This changes the default recovery animation to include the
antenna-wiggling and gear-turning that's used in the Nexus 5 recovery
animation.
Change-Id: I51930a76035ac09969a25472f4e572b289418729
|
|\| | |
| | | |
| | | |
| | | |
| | | | |
* commit 'd327c63af691a36fbf53866a3ae7ad27a43ebe3b':
add the functions for multi-stage packages to updater
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When installing a package, we should have /tmp and /cache mounted and
nothing else. Ensure this is true by explicitly mounting them and
unmounting everything else as the first step of every install.
Also fix an error in the progress bar that crops up when you do
multiple package installs in one instance of recovery.
Change-Id: I4837ed707cb419ddd3d9f6188b6355ba1bcfe2b2
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Recovery changes:
- add a method to the UI class that is called when a key is held down
long enough to be a "long press" (but before it is released).
Device-specific subclasses can override this to indicate a long
press.
- do color selection for ScreenRecoveryUI's menu-and-log drawing
function. Subclasses can override this to customize the colors they
use for various elements.
- Include the value of ro.build.display.id in the menu headers, so you
can see on the screen what version of recovery you are running.
Change-Id: I426a6daf892b9011638e2035aebfa2831d4f596d
|
|/
|
|
|
|
|
|
|
|
| |
We met factory issue that some devices would crash in recovery mode
because the backgroundIcon array did not reset to NULL when initializing.
Bug: 9568624
Change-Id: I13c7a7cc1053a7ffdbadd71740c1a2b4a2af6bba
Signed-off-by: yetta_wu <yetta_wu@asus.com>
Signed-off-by: Iliyan Malchev <malchev@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Get rid of the notion of a font's "ascent"; the reference point for
drawing is the top-left corner of the character box rather than the
baseline. Add some more space between the menu entries and make the
highlight bar around the text.
Replace the default font.png with two images; the build system will
include one or the other based on the resolutions of the device.
Restore the original compiled-in bitmap font, to fall back on when
font.png can't be found (eg, in the charger binary).
Add support for bold text (when a font.png image is used).
Change-Id: I6d211a486a3636f20208502b1cd2aeae8b9f5b02
|
|
|
|
|
|
|
|
| |
Instead of representing the font used for menus and log messages in
the recovery binary, load it from a resource PNG image. This allows
different devices to substitute their own font images.
Change-Id: Ib36b86db3d01298aa7ae2b62a26ca29e6ef18014
|
|
|
|
|
| |
Bug: 7204420
Change-Id: I16d3346ce54b1aa5a0e6a02839ae9fbd4718fffa
|
|
|
|
|
|
|
|
| |
Center and fix the extents for those locales that have multiple lines
of text. Add Urdu as an RTL language.
Bug: 7064142
Change-Id: I4c1aa1198be29cab01129dabf2c4a026b93719a6
|
|
|
|
|
|
|
|
|
| |
Add images of text for all locales we support. Make the progress bar
fill the correct way for RTL languages. (Flip the direction the
spinner turns, too, just for good measure.)
Bug: 7064142
Change-Id: I5dddb26e02ee5275c57c4dc4a03c6d68432ac7ba
|
|
|
|
|
|
|
|
|
|
|
| |
- protect against missing/malformed bitmaps: fail to display them but
don't crash.
- don't draw animation overlays until the overlay offset is computed.
- logging cleanup
Change-Id: Ieb1c155cfbb11e643000bdb5d1a57900c8757739
|
|
|
|
|
|
| |
Also make writing the locale a bit more robust.
Change-Id: I803dd0aa0b9d6661fad74ea13fb085682402323c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- recovery takes a --locale argument, which will be passed by the main
system
- the locale is saved in cache, in case the --locale argument is
missing (eg, when recovery is started from fastboot)
- we include images that have prerendered text for many locales
- we split the background states into four (installing update,
erasing, no command, error) so that appropriate text can be shown.
Change-Id: I731b8108e83d5ccc09a4aacfc1dbf7e86b397aaf
|
|
|
|
|
|
|
| |
They're completely broken and have been for months because this code
makes no sense.
Change-Id: Ibabcd3dbe5a004a45b341e4a5215aa3df77e1861
|
|
|
|
|
|
|
|
|
| |
Move the key for handling keys from ScreenRecoveryUI to RecoveryUI, so
it can be used by devices without screens. Remove the UIParameters
struct and replace it with some new member variables in
ScreenRecoveryUI.
Change-Id: I70094ecbc4acbf76ce44d5b5ec2036c36bdc3414
|
|
|
|
|
|
|
|
|
|
| |
Replace the device-specific functions with a class. Move some of the
key handling (for log visibility toggling and rebooting) into the UI
class. Fix up the key handling so there is less crosstalk between the
immediate keys and the queued keys (an increasing annoyance on
button-limited devices).
Change-Id: I698f6fd21c67a1e55429312a0484b6c393cad46f
|
|
Move all the functions in ui.c to be members of a ScreenRecoveryUI
class, which is a subclass of an abstract RecoveryUI class. Recovery
then creates a global singleton instance of this class and then invoke
the methods to drive the UI. We use this to allow substitution of a
different RecoveryUI implementation for devices with radically
different form factors (eg, that don't have a screen).
Change-Id: I76bdd34eca506149f4cc07685df6a4890473f3d9
|