| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
* Some devices may want to react in new and innovative ways to the
invocation of rainbow mode. Allow for this deep integration.
Change-Id: I088487e42b71ebfa80ca3976be328f0336ec0805
|
|
|
|
|
|
|
|
| |
Most headers in recovery aren't very useful and so have historically
not been shown in the touch UI. But certain headers, such as those
shown by yes_no(), should be shown.
Change-Id: I8536c528d3b4b4fd6d506ecef25378149b4e9746
|
|
|
|
|
|
| |
text_ is rendered using the log font, so alloc appropriately.
Change-Id: If6306512978aff2f32bcee072a24cd6bdd042016
|
|
|
|
|
|
|
| |
Limit text output to 1/4 of screen height during installation, and
center icon and progress bar inside the remaining space.
Change-Id: I4b56db78d13931fdd79580b801260bdfca0e9726
|
|
|
|
|
|
|
|
|
| |
* Get rid of all the jank and flicker.
* Fix preserved backbuffer
* Simplify the code, all drawing happens on a
single thread now.
Change-Id: I36e1deee0663defd8aea1eba985e3ecbd408eac0
|
|
|
|
| |
Change-Id: I6b54bde65264aee99cb51a19436e82054b31fe74
|
|
|
|
|
|
|
|
| |
Reset menu_show_start_ if the selected item won't be visible. This
fixes the display after selecting an item from the second page in
the file list.
Change-Id: Iff2bef39ec294c47bcaadce4128adb6d14d9e4db
|
|
|
|
|
|
|
|
| |
* Fixes "View recovery logs"
This is probably not the best solution, perhaps find a different way?
Change-Id: Ibd901ce7f69ec05c4d26cdb027e51b7e5b826034
|
|
|
|
|
|
|
| |
* Remove extraneous menu update causing jank
* Use official colors
Change-Id: I5ca3faf54a51853fde8270edeee0fba778906659
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* The progress thread is running all the time, which causes the device
to heat up while in recovery. Start this thread only when the
progress mode is set to something other than EMPTY, and add a
terminating condition so that it exits when finished.
* Incorporate Tom's patch to keep it updated when visible, since
both are needed to get working progress indications without
killing batteries.
* Clear buffer in draw_progress_locked() and always call this in
update_progress_locked(). This is necessary to ensure that all
backing frames in the graphics implementation get updated because
we aren't guaranteed to have any particular number of backing
frames.
* Remove dialogs on wipe operations since we are using the progress
animation now.
* Set progress indicator after showing "Formatting" text to avoid
momentary flicker.
Change-Id: Ib70d2cb25f01d9920ffb698b5b5b47af827ef483
|
|
|
|
| |
Change-Id: I4ee87f3474aec0496c47bb561ddecc74e151cbbf
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement two types of dialogs: info and error. Info dialogs are intended
to show that an operation is in progress and cannot be interrupted. Error
dialogs are intended to show that an error occurred. The user must respond
by dismissing the dialog with any input (a swipe or keypress).
Dialogs may be initiated internally within the UI code or externally via a
named local socket. Dialogs created via socket are presumed to be info
and may not be dismissed. When the client socket is closed, the dialog
automatically dismisses.
Initial implementation shows dialogs for adb backup and restore. Future
work will show dialogs for all errors and lengthy operations.
Change-Id: Icefea12ec0fd70fb487d54aa2eb1cae9dd451355
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
No longer will we get bad reviews on CWM recovery for its lack
of rainbows! Originally design by gweedo767, this patch brings
back the wrap count mechanism from v2.0.2.4 to toggle Rainbow
Mode for the user. In the original design, every character has
a different color, but that method requires modifying graphics.c
which will cause breakage in devices with custom graphics.c.
This Rainbow Mode has a different color for each line, instead.
The wrap_count has been set to 5 instead of the previous 3 so
the toggle won't occur as often, if on accident.
(port to CM12.1 by cyanogen)
Change-Id: Ie9f6f1b6ed94ee69d4d8d9fe27f9a5417cc3f212
improve Rainbow Mode
* Require 5 consecutive menu "wraps" in the same direction to help
prevent accidental toggling
* Align colors into stripes (i.e. columns)
a) less prone to induce dizziness in some people when they change
b) better resembles a rainbow
* Move the stripes to the right when the selection moves up and
move the stripes to the left when the selection moves down
Change-Id: I3feae173b22f5703c554ca33e634881749ff54cf
|
|
|
|
|
|
|
|
|
| |
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
(cherry picked from commit c049163234003ef463bca018920622bc8269c69b)
|
|
|
|
|
|
| |
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
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
klp-modular-dev-plus-aosp
* 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
|