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>
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
Merge "adbd: switch to su domain when running as root"
minadbd: remove dead code

Change-Id: Ia1f34a17ae582575f8cd3514ed7bc015b0a5006e
Merge "minadbd: remove dead code"
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
Merge "recovery: fix building with pointer-to-int errors turned on"
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
Merge "recovery: Fix adb with linux 3.10"
Merge "ADB sideload command not work"
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
Merge "change how recovery animation is implemented"
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
Merge "allow CheckKey to request mounting /system"
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
Merge "update tools for making recovery images"
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
Merge "remove pixelflinger from recovery"
separate fbdev-specific code out from minui

Isolate the code that interacts with fbdev, in preparation for adding
a new backend.

Change-Id: I19105e9da1ca6408cebc110f7e2bb5abfb481ee9
Merge "separate fbdev-specific code out from minui"