1. Implemented the advanced printer options integration. Now a print service
may declare an advanced print options activity which may be launched by
the user if the current printer supports advanced print options. These options
are visible only to the print service that added them and it is the only party
that will interpret the options.
2. Fixed a couple of bugs in the saved print jobs parsing. One was that if there
are more than one page range, a half of the print job properties was not
properly parsed. The other was that the media size constructor was using
incorrect argument order, thus creating a media size with wring width.
3. Fixed and edge case where old print jobs and their docs can get stuck in
the spooler. If the app did not write the requested pages we were not showing
an error message, rather just finish the activity without canceling the print
job and this print job is stuck in the spooler. Now we show an error message
and the user may retry, cancel. If the user cancels the print job is also
cancelled, thus no leftover in the spooler.
4. Fixed the background color of the print dialog to meet UX spec.
bug:11241800
Change-Id: I352440bc86aec824a805883fc9579d96a06d11e6
With the new tuned vsync offset, vsyncs are likely to occur shortly
after the input is received, meaning we will empty the input queue,
and thus won't schedule input consumption until more input is
received. If an application then speculatively posts draw commands to
the main looper faster than 60 hz, it will eventually end up blocking
in eglSwapBuffers. Since we're blocking in eglSwapBuffers, we won't
even schedule consumption until after the current frame (8-16ms), and
it's entirely likely we won't actually get around to consuming input
until after the next frame (another 16 ms of latency). This means we
can often go 16-32ms without processing any input events, causing
very noticeable amounts of jank.
Rather than waiting for the next input event to schedule input
consumption, speculatively schedule it every frame as long as we've
consumed some motion batch during this frame.
Bug: 11398045
Change-Id: I25e46308e00e9f9de00a1d8906f6b0e0f2e845b4
Also always lower-case extension to extract MIME type correctly,
we may want to fix in MimeUtils at some point.
Bug: 11354402
Change-Id: I77d0c06a663cd0c4320c41553ff1980b6f9a7778
If the remote side of PFD has already written a status message, then
they've also closed their end of the comm FD, and we're going to
EPIPE if we try sending our own status. So, skip writing status if
a remote status is present.
Only one end of the openFile() comm socket needs to be blocking,
otherwise detachFd() would end up blocking forever.
Bug: 11385467
Change-Id: I346d40cc1ca4a6683cec4c2d2b7db2b32ac94a55
It turns out that copy constructors do not respect NoCopySpan. Using
SpannedStringBuilder addresses this oversight.
Bug: 11326070
Change-Id: I949ef4f477d65cf645f3b1b2651f8ce423995237
This prevents Keep from being selected automatically when shown in the Share dialog
if Keep was previously chosen by the user as Always use for a send action.
This was a regression introduced by the new intent disambig behavior.
Bug: 11294904
Change-Id: I6745060a8ee0a6d680e657b55ee46aaec27bbacb
The current tracking of scene objects in a static ThreadLocal is
problematic as it leaks the Context associated with the SceneRoot and
returns the wrong Scene object if the same layout ID is used across
different scene roots.
Track Scene objects on the scene root view instead to avoid these
issues.
Change-Id: I891986897f757f2666897c937b5ebb0ed1d531c1
The android package is now a special case, not being added to the package list
when creating a multi-process component. There is no need, since this package
is actually the framework itself which must be loaded in every process.
Also cleaned up some of the procstats dump output to help see what is going
on here.
Change-Id: If65d35ecd562f3154bdebfded69c454af6ce8c96
Transitions, when started, add an OnPreDrawListener to the current
ViewTreeObserver (which is global to the view hierarchy). This listener
is removed when the listener is called.
It is possible to add this listener and then remove the view from
the hierarchy before the listener is called. This could result in
either the listener not getting called at all (since there was no
drawing event) or (in the case of this bug) the listener getting called
when the sceneRoot had no AttachInfo (which is the case when that
root has been removed from the hierarchy). This results in the listener
trying to remove itself from a *different* ViewTreeObserver than the one
it added itself to, leaving the actual listener still sitting on a list
of listeners in that original VTO. This can result in a growing list of
listeners and a growing amount of work that gets done on every frame.
It can also lead to a serious memory leak, since the objects referred to
by the transition may be non-trivial (as in the case of this bug).
The fix is to add another mechanism for the listener to get removed.
Specifically, we now listen for detach events on the sceneRoot. If that
view gets detached before the listener is called, then we have a chance to
remove it from the correct VTO before the AttachInfo becomes null.
Issue #11307391 keyguard is slow after updating to krt16c and playing music
Change-Id: I108413ea2f18f5351df0a11d4ae56fec0b4aa154
Because CompoundButton freezes text inside onSaveInstanceState, the text
can't be changed automatically after locale of device changed.
Bug from such a case reported via url below:
https://code.google.com/p/android/issues/detail?id=24013
It would be better to don't freeze text for default case and let users
to freeze text if they need manually.
Change-Id: I2d6a192b6ff05a95b21487c2362cbc14691c68cf
Signed-off-by: SeongJae Park <sj38.park@gmail.com>
The APIs are createBond, setPin, setPairingConfirmation
The intent is ACTION_PAIRING_REQUEST
bug 11101076
Change-Id: I3a314efd973b3ce078ab5347159c336f222d9f15