- 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
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