This is the API part needed to implement support for custom print
options by a print service. Some printers have quite fancy options
and we want users to benefit using them.
bug:11241800
Change-Id: I3a9df771c0ded559b61c597c686795840d702b27
Currently it's possible for the home application to suggest new
wallpaper dimensions and the WallpaperService to request the bitmap
between when the new dimensions have been propagated and the old
bitmap has been forgotten. This leads to the WallpaperService
drawing a Bitmap with the old dimensions into a Surface with the new
dimensions.
By forcing the WallpaperManager to forget the old Bitmap immediately
before we reload it, we can ensure that we always have a Bitmap of
the correct size.
Bug: 10853302
Change-Id: I298ac5f3f8bcde54eeb1e45d21bf2ba3cbb618c9
Changes included in this CL:
- remove the WAR for face detect mode null case.
- make the sanity check assert to warnings.
- make number of faces to be the minimal length of face metadata array length to
avoid out of bound access, since we relax the sanity check.
Bug: 11206459
Change-Id: Ifd9f7f79617039c1b3ad631f202b48076d775e09
Delete all the Java classes used only by the old WebView implementation,
and also sections of common classes that were only needed for the old
WebView.
Bug: 10427705
Change-Id: I02549a71104b35d86d99058c71f43e054730ec7d
WebViewFactory remains as an abstraction layer, but will now always
creates Chromium WebView instances.
Bug: 10427705
Change-Id: I045e43eb35462567fecd29d04e7b61902baef547
- Faces are reported differently from other rectangles, so the mapping
has to be specialized for them
- Use Key.equals for key comparison.
Bug: 11206459
Change-Id: I9a2a408dad981c2911048191ec30977020953146
IMEs recently gained the ability to layout out under the nav bar,
but our core measuring logic does not give height=WRAP_CONTENT windows
the entire screen height when computing desired window height.
Since IMEs can be identified by type, let them use the entire screen
height for measuring purposes, to properly handle the cases where
space is constrained, making that unaccounted-for nav bar height
important.
Bug:11215678
Change-Id: I1d0b73454c0c629e7d669b9de70641c7e8c4d333
...bad cleanup of crashing processes
We now have a special path for crashing processes, to silently
clean up their state.
Also some tweaks to Log/Slog.wtf to get better stack crawl
summaries in APR.
Change-Id: Ieced26989907a6e7615b6fa033813fced78d7474
getCropAndSetWallpaperIntent should only accept URIs with
the content:// scheme, so that the receiving application
doesn't crash opening a file it can't access.
bug:11173560
Change-Id: I855496633b646373db757e9d8e6e425568103b8b
AssetFileDescriptor augments a ParcelFileDescriptor with details
about how it should be interpreted, so extend it to support a Bundle
of extras. Then use these extras to share thumbnail orientation
metadata.
The raw image data of EXIF thumbnails matches the orientation of
the enclosing image, but the thumbnail data doesn't repeat the EXIF
flags. This meant that receivers of openDocumentThumbnail() would
get an image that needed to be transformed, but without enough
context to actually transform it.
Instead of transforming and recompressing the image on the fly on
the provider side, send a transformation hint that the receiver
side can interpret.
Bug: 11205688
Change-Id: Ibc5a7ad002377a55e6ffcb5ac5c8829841002e06
A measurement optimization has exposed some apps that are relying
on incidental layout requests to have themselves update. With the
optimization enabled, these apps break.
Apps targetted at older versions of Android should not
break due to this optimization.
bug:11192311
Change-Id: Id5fc7f83ec2cb1541d3d0d16f951cd57c0afaccd
Migrate transient bar mode to IMMERSIVE_STICKY, and
introduce new behavior for IMMERSIVE: namely the
opaque bars are revealed by clearing the flags on swipe.
Remove low-profile optimization that confuses api demos
and other apps using low-profile as a signal.
TransientNavigationConfirmation renamed to
ImmersiveModeConfirmation, and its associated resources,
since the confirmation is now shown when the nav bar is
shown in either of the two immersive modes.
Remove unused Toast.makeBar and associated hidden framework
bits now that the confirmation uses a cling instead.
Bug:11062108
Change-Id: Iae49d31973940b9bee9f5b1827756db5eaa76aa3
Only looking for old/new count changes is incomplete with the current
state of things. The observer's onChanged method will update this in
some cases, stomping the different values needed to trigger a fast
scroller update. Also update the fast scroller if the data change flag
is set.
Also fix the positioning of the legacy text overlay.
Bug 11188512
Change-Id: I35b3915ce49f8494c6d82f6be6d6df7169deddd7
We have become too aggressive about not allowing windows to draw while windw
animations are running, basically not allowing any drawing in any window when
there is any window animation. So if you did a relayout while the status bars
were being animated, your window would stop drawing until that status bar
animation was complete.
This change relaxes those rules in two ways:
- A particular window will only be told to stop updating when *it* is
currently involved in a window animation. So animations in status bars
will not stop app windows from update, and vice versa.
- If a window receives input events while it is in the "do not update"
state, we will immediately terminate that state and start allowing it to
draw. If the user is actually interacting with a window, we don't want
to wait to show feedback.
Change-Id: I72574eec048aee53115b46a78686cf27f42c42f7
1. The getActivePrintJobs() method in print service is designed to return
the active print job i.e. ones scheduled to be processed by the print
service. Now the correct list is returned.
2. The listeners for observing the state of print jobs may be called even
after being unregistered. Ex: state change occurs and we schedule a
message on the app's main thread to make the notificaion. Now the app
unregisretes the callback and on the next loop the notification message
is handled.
bug:11200258
Change-Id: I4a497b5c9a7287a22023cafe41ce966d14300ca6
We persist ongoing print jobs so they can be restarted if the device
dies. The data size of the printed document was not persisted to disc.
bug:11199352
Change-Id: I53ef1ee285aa4808917dd6a5c7335226aba1ef0a
When a print service is disabled we assume all print jobs for it failed as we have
no way to know what happens to them. However we are also failing created print jobs,
i.e. ones not given to the service. Such jobs are in process of construction and
the print dialog is up. We should not fail such jobs as the dialog can still modify
their state and potentially select a print from a different service. Therefore, we
leave them alone and they will be failed if when constructed are passed to a
disabled/uninstalled service.
bug:11197432
Change-Id: Ie4fe54327e3e25776b1dd572be2dfafdd700c2e5