Commit graph

681 commits

Author SHA1 Message Date
Daniel Leung
f766396d99 Support BGRA framebuffer
The re-designed recovery graphics code only supports RGB{_,X,A}
framebuffer, and this patch adds support for BGRA framebuffer.

Change-Id: I3780c8288088f497fa248f3492c54f43834a8598
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Reviewed-by: Jovanovic, Radivoje <radivoje.jovanovic@intel.com>
Reviewed-by: Parkinson, TimothyX L <timothyx.l.parkinson@intel.com>
Tested-by: Parkinson, TimothyX L <timothyx.l.parkinson@intel.com>
Reviewed-by: Boie, Andrew P <andrew.p.boie@intel.com>
Reviewed-by: Gumbel, Matthew K <matthew.k.gumbel@intel.com>
2014-05-13 15:00:40 -07:00
Doug Zongker
74b90b309f Merge "screen_ui: Initialize text buffer" 2014-05-13 17:25:52 +00:00
Greg Hackmann
1c2cf1db0d Merge "recovery: minui: add adf backend" 2014-05-02 23:15:54 +00:00
Greg Hackmann
41909ddefb recovery: minui: add adf backend
Change-Id: I1ad97b5b62bddbcb1104fa0b4e54415b793a4194
Signed-off-by: Greg Hackmann <ghackmann@google.com>
2014-04-25 15:47:34 -07:00
Sasha Levitskiy
558f2700e1 Merge "Change filesystem add entry API call." 2014-04-11 23:54:14 +00:00
Sasha Levitskiy
85ef47dd84 Change filesystem add entry API call.
Needs fs_mgr matching change from: Icf23e659265d71d5226d527c2b40cfbc132320ee

Change-Id: I9adb470b04e4301989d128c9c3097b21b4dea431
Signed-off-by: Sasha Levitskiy <sanek@google.com>
2014-04-11 21:13:26 +00:00
Doug Zongker
aa4545b5ae Merge "restore minui support for paletted images with < 8 bits" 2014-03-20 15:28:32 +00:00
Doug Zongker
577a130435 restore minui support for paletted images with < 8 bits
The PNG image loaders should support images that use palettes
requiring fewer than 8 bits.

Change-Id: Ibcb0ff6f04aea8de54b03c0efa7a79e9b3635146
2014-03-20 08:27:01 -07:00
Doug Zongker
708aa23801 Merge "add --shutdown_after option to recovery" 2014-03-18 17:39:10 +00:00
Doug Zongker
b1d1263453 add --shutdown_after option to recovery
The "--shutdown_after" option causes recovery to power down the device
on completion rather than rebooting.

Removes the last vestiges of the "--previous_runs" argument, which
doesn't seem to be used for anything.

Change-Id: I465eda2ef59d367e2b1c79a8dc69831263c69a4d
2014-03-18 10:32:12 -07:00
Doug Zongker
130a798538 Merge "fix error log statement" 2014-03-17 23:52:35 +00:00
Doug Zongker
a388a76976 fix error log statement
We were printing the address of channels instead of the value there.

Change-Id: I652340c7c1a0abaf01af555e54d2c0366d21ad78
2014-03-17 16:51:47 -07:00
Doug Zongker
d90da13076 Merge "refactor image resource loading code in minui" 2014-03-17 22:56:47 +00:00
Doug Zongker
a418aa7dd5 refactor image resource loading code in minui
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
2014-03-17 12:27:08 -07:00
Mark Salyzyn
026ebe0214 Merge "Recovery 64-bit compile issues" 2014-03-14 20:53:41 +00:00
Mark Salyzyn
f3bb31c32f Recovery 64-bit compile issues
Change-Id: I92d5abd1a628feab3b0246924fab7f97ba3b9d34
2014-03-14 13:51:39 -07:00
Doug Zongker
a7266ef0b1 Merge "separate fbdev-specific code out from minui" 2014-03-11 23:02:49 +00:00
Doug Zongker
5290f2087a separate fbdev-specific code out from minui
Isolate the code that interacts with fbdev, in preparation for adding
a new backend.

Change-Id: I19105e9da1ca6408cebc110f7e2bb5abfb481ee9
2014-03-11 14:56:41 -07:00
Doug Zongker
c91612d466 Merge "remove pixelflinger from recovery" 2014-03-11 21:55:48 +00:00
Doug Zongker
16f97c3961 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
2014-03-11 14:40:04 -07:00
Doug Zongker
8f087d0246 Merge "update tools for making recovery images" 2014-03-11 21:34:32 +00:00
Doug Zongker
3ceeb580eb update tools for making recovery images
We no longer render animations as a base image with a
possibly-partially-transparent overlay drawn over it, so delete the
make-overlay.py tool.  Now we represent them as series of images that
are interlaced by row (with a special text chunk in the PNG file
specifying the number of frames) so add the interlace-frames.py tool
to make those.

Change-Id: I866db269107a21351c3df3b4683f233f72234334
2014-03-11 14:29:50 -07:00
Doug Zongker
5950899369 Merge "allow CheckKey to request mounting /system" 2014-03-11 21:21:33 +00:00
Doug Zongker
4db31d20c9 allow CheckKey to request mounting /system
Also provide a default implementation of CheckKey that's reasonable
for many devices (those that have power and volume keys).

Change-Id: Icf6c7746ebd866152d402059dbd27fd16bd51ff8
2014-03-11 14:19:48 -07:00
Doug Zongker
ea868b3846 Merge "change how recovery animation is implemented" 2014-03-11 21:18:56 +00:00
Doug Zongker
469954fe3d change how recovery animation is implemented
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
2014-03-11 14:06:35 -07:00
Doug Zongker
2f173bde65 Merge "ADB sideload command not work" 2014-02-26 22:17:57 +00:00
Benoit Goby
ac189bf645 Merge "recovery: Fix adb with linux 3.10" 2014-02-20 22:32:32 +00:00
Benoit Goby
1b9641127c recovery: Fix adb with linux 3.10
In kernel 3.10, f_adb has been removed and adbd can use functionfs
instead. Mount functionfs on boot for adbd. On older kernels, mount
will fail silently and adbd will revert to f_adb.

Change-Id: I5db57aaf35b35859ea88c7d0e0661d8c553e5811
2014-02-19 17:48:49 -08:00
Colin Cross
a5d105e239 Merge "recovery: fix building with pointer-to-int errors turned on" 2014-02-06 02:14:22 +00:00
Colin Cross
92cdf9c372 recovery: fix building with pointer-to-int errors turned on
Use intptr_t/uintptr_t to cast between pointer and int to allow
building with -Werror=pointer-to-int-cast and
Werror=int-to-pointer-cast turned on.

Cast to char* instead of unsigned int for pointer arithmetic.

Change-Id: Ia862306fdcca53866b330e8cf726f3d62f2248a0
2014-02-05 17:34:45 -08:00
Colin Cross
f353207298 Merge "minadbd: remove dead code" 2014-01-27 20:35:19 +00:00
Colin Cross
e787fee8f2 minadbd: remove dead code
Change-Id: Ia1f34a17ae582575f8cd3514ed7bc015b0a5006e
2014-01-24 14:51:54 -08:00
Nick Kralevich
295e74aa20 Merge "adbd: switch to su domain when running as root" 2014-01-24 17:59:52 +00:00
Nick Kralevich
c52c5b8e3d adbd: switch to su domain when running as root
When adbd runs as root, it should transition into the
su domain. This is needed to run the adbd and shell
domains in enforcing on userdebug / eng devices without
breaking developer workflows.

Use the new device_banner command line option.

Change-Id: Ib33c0dd2dd6172035230514ac84fcaed2ecf44d6
2014-01-18 09:22:50 -08:00
Da Zhou
65ad928602 ADB sideload command not work
In kernel(3.10) USB ADB gadget driver is removed.
Using Functionfs for USB adb gadget.

Android recovery uses a stripped down version
of adb command for sideload only. It's missing
the ffs function support, so add the ffs
support to allow sideload command to work

b/12608946

Change-Id: I4ad024723dfc5bdb544548391f99637c390b171e
Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
2014-01-17 14:23:48 -08:00
Doug Zongker
772f6e2a88 Merge "correctly mount tmpfs as /tmp in recovery" 2014-01-14 18:14:12 +00:00
Doug Zongker
075ef327d4 correctly mount tmpfs as /tmp in recovery
The syntax of init's mount command changed in April 2008 but
recovery's init.rc was never updated, so recovery's /tmp has been on
the root fs all this time.  Fix.

Also add /system/bin to the PATH in recovery, which is handy for
debugging.

Change-Id: I39f7ae435a8ce3bad691e4b7c307db0bd8de1302
2014-01-14 09:50:35 -08:00
Nick Kralevich
fc72951237 Merge "Set SELinux security contexts correctly for init and services." 2014-01-13 19:47:21 +00:00
Stephen Smalley
2c9d5b2839 Set SELinux security contexts correctly for init and services.
Otherwise everything is left running in the kernel domain when
booting recovery.

Change-Id: Ie3d86547d5be0b68dd1875a97afe1e00fc3e4da1
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2014-01-13 14:00:36 -05:00
Nick Kralevich
617d1cadc6 Merge "minui: do not use flexible array initialization" 2014-01-04 01:47:56 +00:00
synergy dev
a0ecc8c427 minui: do not use flexible array initialization
Avoiding the use of gnu extensions improves code portability

Change-Id: I441a49ce08b6ecb1d735ca453552fa92026c5016
2013-11-26 03:21:13 +00:00
Michael Runge
40dfc474c4 am c64e76c7: Merge "Enable incremental builder to find files that moved, and try to process them via patch + rename, instead of delete + add." into klp-dev
* commit 'c64e76c75088b951f61a7f7bacf8af6eccd2ccfa':
  Enable incremental builder to find files that moved, and try to process them via patch + rename, instead of delete + add.
2013-11-07 15:00:42 -08:00
Michael Runge
c64e76c750 Merge "Enable incremental builder to find files that moved, and try to process them via patch + rename, instead of delete + add." into klp-dev 2013-11-07 22:55:51 +00:00
Michael Runge
ce7ca7165b Enable incremental builder to find files that moved, and
try to process them via patch + rename, instead of
delete + add.

b/11437930

Change-Id: I984349fbc9a8dac4379e00c0d66fc7d22c4eb834
2013-11-07 12:29:14 -08:00
Ed Heyl
a370c0f7fe am 3966c571: merge in klp-release (no-op)
* commit '3966c571a0c36a40a8142e70b1aa6de547ea6ec3':
2013-10-16 17:44:12 -07:00
Ed Heyl
3966c571a0 merge in klp-release (no-op) 2013-10-16 17:34:54 -07:00
Kenny Root
fc7eab961f am f4a6ab27: Merge "Add support for ECDSA signatures"
* commit 'f4a6ab27b335b69fbc419a9c1ef263004b561265':
  Add support for ECDSA signatures
2013-10-14 14:08:21 -07:00
Kenny Root
f4a6ab27b3 Merge "Add support for ECDSA signatures" 2013-10-14 21:04:56 +00:00
Kenny Root
7a4adb5268 Add support for ECDSA signatures
This adds support for key version 5 which is an EC key using the NIST
P-256 curve parameters. OTAs may be signed with these keys using the
ECDSA signature algorithm with SHA-256.

Change-Id: Id88672a3deb70681c78d5ea0d739e10f839e4567
2013-10-10 14:19:19 -07:00