Previously the code was adding a window based only on the tasks on
the stack belonging to the window being added. But if a window from
another stack was on top the window would be added out of order.
In particular when there was a dialog over the launcher app and the
device was rotated, the launcher window was being added over the
dialog. This caused the launcher icons to obscure the dialog and for
the dialog buttons to be untouchable.
Fixes bug 9984067.
Change-Id: I9a57eb641d118f4a90e98af8ca77127ab5364e79
The current stream wrapper returns a potentially incorrect
value for a call to getLength(), is typically copied into
another stream (not always in the same way), and doesn't
always take advantage of its underlying data (like when it
is an Asset). The overall goal of this CL is to provide the
caller with something that is ready to use, depending on
what is asked for. If a copy is desired, the copy is made
before being returned to the caller.
core/jni/android/graphics/Bitmap.cpp:
Include SkStream.h, since it is no longer included by
CreateJavaOutputStreamAdaptor's header file.
core/jni/android/graphics/BitmapFactory.cpp:
Pass an SkStreamRewindable to decoding functions, as Skia
decoders will be updated to only take an SkStreamRewindable
(which makes more sense because they require rewinding).
Call the more specific GetRewindableStream to get a
rewindable stream.
Remove copyAssetToStream which has been moved to Utils.
In nativeDecodeAsset, pass forcePurgeable as allowPurgeable
in doDecode. Technically the old code worked, but it checked
the BitmapOptions again.
Remove getFDSize, which is no longer used.
core/jni/android/graphics/BitmapRegionDecoder.cpp:
Remove redundant buildSkMemoryStream. nativeNewInstanceFromStream
now calls CopyJavaInputStream, which handles the copy.
Copy the Asset directly, using common code, rather than creating
an AssetStreamAdaptor to copy.
core/jni/android/graphics/CreateJavaOutputStreamAdaptor.cpp:
core/jni/android/graphics/CreateJavaOutputStreamAdaptor.h:
Provide new interfaces to access data from a Java InputStream.
The new interfaces are more specific about what type of stream
is desired.
Use forward declarations where possible.
Remove doSize, which gives a misleading answer to the question
of how long the entire stream is.
TODO: Only call FindClass etc once.
core/jni/android/graphics/Movie.cpp:
Check for an asset stream, and use it if possible. Then call
GetRewindableStream if there is not an asset.
Remove the memory leak. Call DeleteLocalRef to delete the
allocated memory.
core/jni/android/graphics/Picture.cpp:
Call the new interface.
core/jni/android/graphics/Utils.cpp:
core/jni/android/graphics/Utils.h:
Make AssetStreamAdaptor inherit from SkStreamRewindable so it
can be passed to Skia decoding functions once they require it.
Add CopyAssetToStream (moved from BitmapFactory.cpp) so it can
be used by multiple files.
graphics/java/android/graphics/BitmapFactory.java:
Remove the call to mark, which is now done natively.
Remove the BufferedInputStream. Mark/reset is now handled
by native code.
Allow decodeStream to handle a FileInputStream by using the
FileDescriptor, if it is seekable. In decodeFileDescriptor,
call nativeDecodeStream instead of decodeStream so this new
functionality will not loop.
Call setDensityFromOptions in decodeFileDescriptor.
graphics/java/android/graphics/BitmapRegionDecoder.java:
Remove the BufferedInputStream. Mark/reset is now handled
by native code.
TODO: ADD TESTS!
Requires https://googleplex-android-review.googlesource.com/#/c/344317/
BUG=https://b.corp.google.com/issue?id=8432093
Change-Id: I4419b70b3482325c98ecc673dbfc4613f1b18581
ViewGroup.setLayoutTransition() has logic to cancel a previously-running
transition and remove the ViewGroup's listener from that transition. However,
it is possible for the transition to be set to null on the ViewGroup on the
cancel() call, making the next call to remove the listener crash with an NPE.
The fix is to use a temporary variable to hold the old reference and
not depend on the class instance variable remaining valid/non-null across
the call to cancel().
Issue #10488932 Hangout NPE in ViewGroup.setLayoutTransition on initiating a new conversation
Issue #10509201 ViewGroup.setLayoutTransition(null) causes crash when being called in LayoutTransition.TransitionListener.endTransition()
Change-Id: I7c181b79e6601024c93a8dc246d32b751f78b216
1. Added scale to fit and scale to fill fitting modes.
2. Added APIs for a print app to specify which constraints imposed
by the print attributes were satsified during a layout so they
are not handled by the printer again, e.g. if the content is to
be in landscape the the app generated such content the printer
should rotate the content again.
3. Added some printer statuses.
4. Added a helper class that generates PDF documents with correct
size based on the passed in print attributes.
5. Exposed a ctor for PageRange which was hidden by mistake and apps
could not create page ranges. Added API for changing the printer
status.
Change-Id: If1334a61d2d931027b98075f653018d456b1b768
- Fix additional getInt() path, restores the location settings screen
functionality.
- Should fix "unresolved link" build breakages in
git_klp-dev-plus-aosp-without-vendor, which is much more persnickety than
klp-dev for some reason.
- Add warning that we may add additional location modes in the future.
- Finish fix for b/10461763 and b/10461474
Change-Id: Id7155e3a0d7526a377d446018ef3bdb057bad3a6
Previously it was constrained to displayInfo.appWidth/appHeight
which comes from PWM.getNonDecorDisplayWidth/Height, which includes
the nav bar.
Also adjust window layout to entire screen.
This allows wallpaper to extend into the navigation bar region,
important if the nav bar is hidden or transparent.
Bug:10505328
Change-Id: Ia6057b9c57b476a48f3b2d8b6368fd631e944a3e
Update to new system bar assets (ic_*, stat_*).
Update color resources driving style for battery meter + clock.
Add new xxhdpi versions.
Bug:10502089
Change-Id: Ic957ad9886fbb05ed0ca1765fb9e324bfd8ab609
Doesn't clear the global proxy when a deprecated one is not found because
there still may be a non-deprecated global proxy present.
Bug: 10457179
Change-Id: I68e6d5aee7b4940f9315484060c7d82cb8ccfa70
Previously, Visibility would determine whether a given view was
worthy of a transition by checking the visibility of that view's
parent hierarchy. This is done to avoid fading every view in
a hierarchy when only the top-most node should be faded.
However, the logic was flawed because it assumed the end scene
parent was stable between scenes, which is not the case with inflated
layout scenes, in which the parent views are not the same, even though they
may represent the same parents (via ids).
The new approach is to check information on both the start and end scene
parents, and to take ids into account when checking the state of these
parents in the start/end scenes. Also, avoid this logic altogether if the
transition is targeted at specific views (don't bother checking the
parents if the transition was told to fade specific views).
Issue #10442447 Transitions: Fades don't happen correctly in some situations
Change-Id: Icea24b892f2eff2d37c6436ccfe4e288aac84178
Integer doesn't seem to like number > 2 Gig; so converting all bits of
samples to long; and handling exceptions that may crash the service
Bug: 10459447
Change-Id: I1291e97ba6d0ab7304dc6a6e8ef819d17491e017