When we dispatch input events into the actual application, make sure
the input invariants we rely on haven't changed. If they have, we
drop the event and log why.
Bug: 11399505
Change-Id: Id772e41ca41dc332bb02725ab486e3b10a73c220
Move the logic for managing dimming the navigation bar
elements on the lockscreen into BarTransitions.
Replace search light + camera assets with new
versions at full brightness, and apply 50% dimming
at runtime, including the IME dismiss button.
Remove unused StatusBarManager _NOP hints.
Improve choreography between camera button +
password security (w/ IME). Fix a few found bugs
in PagedView.
Improve password security unlock transition, manually
fade in back along with the rest of the icons.
Bug:11221659
Change-Id: Ifd1f8c9f400d90542f0ca858b9a4deacabbd518a
A view may be temporary detached. While in this state the view
state may change for which we fire accessibility events. Clients
use them to know when the view changed and what the change is.
However, detached views do not fire accessibility events.
Hence, a client may hold a stale AccessibilityNodeInfo since
the changes to its source view happened in a temporary detached
state.
bug:11388752
Change-Id: I9052700ca9195841cc2881b65c17f5615e6f71fb
When a client of a UiAutomationConnection is set it remembers its UID
and allows subsequent operations only from this UID. The connection
If the connection was not used, i.e. its client is not set, and an
attempt to destroy it is made the connection enforces the caller UID
to be that of the owner but it does not have an owner yet. Now if the
destroy method is called on a connection that is never used (has no
client) we do not enforce caller UID.
bug:11465888
Change-Id: I739dfc45e772ea970b6ab384e4420184724333a3
Use ContentProvider.enforceWritePermissionInner() to handle all edge
cases around checking if caller has write permissions. This fixes
bug where call() would throw if caller and provider were the same app.
Bug: 11464234
Change-Id: Iace8e0e4243d56ed1cdcc9680383103975107036
Layout and write may take some time during which the user can
cancel printing. Currently we wait for the last operation,
being write or layout, to complete before closing the print
dialog. Now in such a scenario we request a cancellation of
the ongoing operation.
bug:11329523
Change-Id: Ia9d747163cc73509369a86c8b5afc83b7ee54859
A static map in TransitionInflater keyed off of Context instances,
which could cause contexts/activities to leak over time. This
fix removes that map and simply creates a new inflater each time.
The savings of the cached inflater was minimal an unnecessary, and the
intended sharing is in the context embedded in the inflater anyway.
Issue #11436919 leak in TransitionInflator
Change-Id: Ic05ca47f57723bd572bb6143df4035d66eedf5ad
This was found by a bug in Firefox where it expects the addresses from a
ProxySelector to be unresolved. Since ProxySelectorImpl returns unresolved
addresses the PAC version should as well to avoid breaking apps.
The ProxyServer also needed to be updated to reflect this change as it was
expecting a resolved InetSocketAddress.
Bug: 11443853
Change-Id: I3a4e9e248d22d7808603c147660df708e01cdf82
bug:11351836
Because SeekBar's thumb Drawable (among others) is positioned without
padding offset baked in, include that offset when invalidating.
This revert fixes invalidate positioning in the system volume SeekBar,
where the original CL broke full redrawing of the thumb Drawable when
it switched states.
This reverts commit e9018f7716.
Change-Id: I5b3b07e47f466269f8d349e9a63dc29bf213120b
Malformed locale objects will throw MissingResourceException
from getISO3Country() and getISO3Language() methods.
This change guard against the case where device default locale is
malformed and user tries to get TTS default locale (b/10814409)
and case where user tries to pass bad locale as argument to
TextToSpeech.getFeatures method (b/10494193).
Bug:11429552
Bug:10494193
Bug:10814409
Change-Id: Ie54d5d30bb042324da0c0d19b77c3a932c5642f7
(cherry picked from commit 58f1665372)
These exceptions are normal when an app has cancelled an outstanding
thumbnail request.
Bug: 11385378
Change-Id: I8aed5721b447cda5baf447ac7afd627aa1062863
Target the two biggest offenders:
- Coalesce keyguard setHidden(false) calls during unlock.
- Make sysui->WM call async.
Found during investigation into b/11221659.
Bug: 11221659
Change-Id: Icab48376bc356a933e0f9940bc2f924e2e77ab22
The ActivityChooserModel keeps a history of the last fifty
share targets and based on past usage orders the targets in
the UI. The soring implementation is using a map for improving
performance. However, the activities in this map were keyed
on the package name but there maybe more that one share
target per package. Thus, the sorting was generating bad
results. Now the unique component name is used.
bug:11195578
Change-Id: I8c7018fea168b7253ddbe57b477028368726e75e
This changes filters out share targets that we cannot start
because the target does not properly implement the SEND protocol
and has either share target activity hidden or requires a
permission to launch it. Also the code that launches the share
target activity catches the runtime exception and shows an error
message. Note that being able to launch an activity in a moment
of time is not a guarantee that one can do that latter. Hence,
being able to launch an activity while building the share UI
does not guarantee that one can launch it when selecting the
share target.
bug:11402139
Change-Id: Id35732510755b2eeb9eccacc046d289c2f2ee856
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