The way it should have been, and with the new recents enter animation
the way it must be.
Added a new method to retrieve this thumbnail, since it would be less
efficient to use the existing API (which always returns the "base"
thumbnail). Probably at some point that existing API should be tweaked
to always return the top thumbnail instead, but that is for a later time.
Also removed code that would clear the thumbnail associated with an
activity when it is resumed. I don't think there should ever be a
reason to clear a thumbnail -- it's much better to have *something*
for the task, even if it is a little out of date.
Change-Id: I83e6ca6403eb2df5e4de3009dfe8c210e8cf8d5b
- Checking for found wallpaper to match either mWallpaperTarget
or mLowerWallpaperTarget keeps from swapping the layers while
transitioning between two wallpaper activities.
- Fade out RecentsActivity while bringing up selected activity. This
keeps the RecentsActivity from showing through a launching wallpaper
activity.
- When moving a starting window from one activity to another clear
the startingDisplayed flag in the old activity.
- When moving a starting window from one activity to another assign
the new activity's mAppAnimator to the starting window's mWinAnimator.
- Only treat a wallpaper transition as entering if the mWallpaperTarget
is visible and not being hidden. Keeps from assigning the wrong
animation when activities are launched back to back and the
mWallpaperTarget is still animating away.
Fixes bug 7148089.
Change-Id: Idd405b1ba113f3345ca2116d141b474abe5bd4c0
This fixes a bug introduced in I085c5ec8 where keyguard attempts to emulate
slippery windows with views. In order to do so, the code was overloading
dispatchTouchEvent(). It would allow the super (a ViewGroup) to dispatch
the events and then would dispatch them itself to sub views. In the case
where an event overlaps an actual child view, it would result in 2 copies of the event
per window layer (there are 2). This results in 2 events per layer for the
top two views in the hierarchy. So each actual pattern attempt would count as 4
attempts to the system.
The solution is to overload onTouchEvent() at each level in the view hierarchy,
which means that we ignore events that were already handled by a child window
of the parent.
This change also disables slippery windows for keyguard because it causes
vertical patterns to be ignored.
Fixes bug 7191277
Change-Id: I4df217f2bf382134d93113b8d55b0d71e0e23677
Process any pending menu invalidations on the animation tick, before
traversals are performed. Collapse multiple menu invalidations
together.
Bug 7189372
Change-Id: I7a33ae9813980eb8fbcc958804de2c03328ecca8
This feature means that a device has at least one camera, facing in
some direction, so it matches devices that:
- Have just a back-facing camera
- Have just a front-facing camera
- Have both
In the future, it could also be used for devices that have a camera
that's neither front- or back-facing, such as a webcam or other
flexibly-pointed device.
Hidden for now.
Bug: 6847310
Change-Id: I51ea3b4db2020b0f056d77e10629a6b5f2daebe1
Library projects in the SDK are built using --non-constant-id
to generate a temporary R.java class.
When the library is packaged with the application to generate an
apk, the R class is recreated with the proper IDs due to all the
resources coming from the app and all the libraries.
However for large apps with many libraries (each with their own
R class in their package), this means a lot of unnecessary IDs:
all R classes contains all the IDs including for resources from
by projects they don't have access through the dependency graph.
For really large apps (X,000 resources), with lots of libraries
(10+), this can generate tens of thousands of resources, which
can trigger dalvik's limit of 65K fields and methods per dex
files.
This changes lets aapt generate not only the R class but a simple
text file containing the list of all those IDs so that it is
easier to parse back. The SDK build system will not ask aapt
to generate the R class of the libraries (through the
--extra-packages option), instead it will then read this
file to know what IDs are needed for each library and generate
a much smaller R class for each library (using the same text
file output from compiling all the resources to get the final
integer value).
Chery-picked from f5de650ff1e161ea135c828e43515895343d2c0f
Change-Id: I0e08ceb6e4ceb3feb169ce17df21dd35a2505e7f