There is a bug in <scale>, but this works around it for now. Removes
the previous fix, which broke the initial state due to the level not
propagating when the current drawable was swapped out.
Bug: 19269656
Change-Id: Ibe586ef4ea326a7ce7516ca42a369c5386c24359
FULL and LIMITED is allowed to advertise [0,0], which indicates that the
exposure compensation is not supported.
Bug: 19219128
Change-Id: I6020a771201d754351f76617f68c06363fac78e8
We were using an approximation to determine where to send a pair of down
and up events to click on the view that has accessibility focus. We were
doing reverse computation to figuring out which portion of the view is
not covered by interactive views and get a point in this region. However,
determining whether a view is interactive is not feasible in general since
for example may override onTouchEvent. This results in views not being
activated or which is worse wrong views being activated.
This change swithes to a new approach to activate views in accessibility
mode which is guaranteed to always work except the very rare case of a
view that overrides dispatchTouchEvent (which developers shouldn't be
doing). The new approach is to flag the down and up events pair sent
by the touch explorer as targeting the accessibility focused view. Such
events are dispatched such that views predecessors of the accessibility
focus do not handle them guaranteeing that these events reach the accessibiliy
focused view. Once the accessibiliy focused view gets such an event it clears
the flag and the event is dispatched following the normal event dispatch
semantics.
The new approach is semantically equivalent to requesting the view to perform
a click accessiblitiy action but is more generic as it is not affected by
views not implementing click action support correctly.
bug:18986806
bug:18889611
Change-Id: Id4b7b886c9fd34f7eb11e606636d8e3bab122869
If a property name gets truncated, make sure it doesn't end in a '.'
since that makes the name illegal.
Bug: 19196358
Bug: https://code.google.com/p/android/issues/detail?id=82947
(cherry picked from commit e32df45fe1)
Change-Id: I126a40ffae76ee6a06926e770ca015fb063a334b
All supported locales use only U+2025 and U+2026 to represent
ellipses, and it will unlikely change in future. Given translated
resources are inconsistent and often use three dots it is safer
to use constants instead of resources.
(cherry-pick of ed0daa93e48d38e54a7ad1c99c461510a4c07599.)
Bug: 18542179
Change-Id: I51a6cb903f62f739fbadd6b78e5765c0028d641a
Previously any fontFamily value on a TextView would override a typeface
value, even if the fontFamily is from a TextAppearance (for example,
from the theme) and the typeface is explicitly set. This patch changes
the resolution order to fontFamily set directly on the TextView,
typeface set directly on the TextView, fontFamily from TextAppearance,
typeface from TextAppearance.
Bug: 16154223
Change-Id: I45c1e511fba8f64eb236200e3fa2e885c02b59dc
Address more cases where calls to getPanelState may cause a crash when the
options panel is disabled on a platform.
Bug: 19178531
Bug: 18780696
Change-Id: Ib72bb8483e636181788ed3919c4cb9e99a94b7b1
- Added a config entry in velues-television to disable the options panel
feature for TVs.
- Fixed parts of the code in PhoneWindow that assumed this feature is supposed
to always be available, which was causing exceptions when it was turned off.
Bug: 18780696
Change-Id: I923bd4b5019d634e5352a6e893005133edb475f6
Bug 19105460
When an Activity Transition was receiving an exit call
immediately after the enter, the transition for the enter
was still in progress. TransitionManager does not allow
multiple transitions to work at once, so the enter transition
would run, but the exit did not. This CL detects when the
enter transition is still pending and tells the
ActivityTransitionState to delay one frame so that the
enter can finish its required work prior to starting the
exit transition.
Change-Id: I1b40f1e41d61a67da3fd672419ea321e7d0496da
Also prevents the selector from jumping between the inner and outer
circle during touch exploration in 24-hour mode.
Bug: 19101918
Change-Id: If342056b378927397f8651dad5e8d806bcda03a6
bug:19113359
Ensures that ViewOutlineProvider#PADDED_BOUNDS is always kept up to
date with the view's padding.
Change-Id: I5e090bd8272e89d6b8b9055dbe95ef3d45333fcb
Avoids unnecessary changes to pressed state. Ensures hotspot propagates
to both the list view and the list item view since both receive the
pressed state.
Bug: 19134424
Change-Id: If2496ce2042e43fe1c1efd527eeca10dc53e1f4a
To click a view we were computing a click location by ignoring overlapping
views that are actionable. However, detection whether a view is actionable
is not always possible as the view may handle touch events directly. This
leads to unhandled edge cases. We are taking a conservative approach and
ignore all overlapping siblings regardless if clickable. This is also has
limitations but hopefully less frequent edge cases.
bug:18889611
Change-Id: Icea0b7b3e2d4ed53e50e01cb6a99b880be560b14
In K and earlier, we would connect to a network where the gateway
was not covered by the subnet mask of the IP address. This is an
invalid configuration, but it used to work, and other OSes appear
to accept it too, so support it.
Bug: 19067207
Change-Id: I822e1d754b336691b675438eefa959a3d75fd07b
This simplifies the code, and also makes it possible for
users to point multicast routes at the VPN. The LinkAddress
objects we were previously using to construct the RouteInfo do
not accept these, but IpPrefix objects do.
Bug: 18485968
Change-Id: Ie914a2eb359b78161810ee473df725059f944f4e
In accessibility mode we calculate a point where to click in the accessibility
focused view as a bridge-gap solution before switching to accessibility click
actions. We cannot detect whether a view is covered by another one that consumes
all touch events, and therefore we may click on the wrong target. This was the
case with the toolbar. As a result a partially scrolled view in a scrollable
container covered by a toolbar cannot be activated and this is not an edge case.
bug:18986806
Change-Id: Ib41470c39806cec13e9b00b319879cd7f3412ab5
A recent change to ValueAnimator caused infinitely repeating animators with
duration 0 to be ended immediately. BatterySaver mode can cause animators
to have 0 duration, which means that apps depending on animator update events
no longer receive those events due to this behavior change.
The fix is to restore the previous behavior of allowing repeating animators
to continue, regardless of duration.
Issue #19113776 Fix infinite-repeating, zero-duration animator behavior
Change-Id: I4d1c7afb6d06ca45ef41db73c160f6a6d5754e24
This CL introduces a logic that, upon receiving <Inactive Source>
from the active source or a corresponding MHL subcommand, lets
the service return to one of internal inputs.
Introduced to handle it is a new type for HdmiDevice (INACTIVE)
that will be passed to input change listeners. The callback
is expected to transform to other mechanism such as intent,
to let TV app to decide which input to switch to, which will
be one of non-HDMI input that was viewed previously.
Bug: 19008579
Change-Id: I1922f4cd20e9220411061bb9d9fbe5fbc5676d48