SkiaCanvasProxy was being created with an identity transform, ignoring
any transform that may have been applied in Java (or C++) to the
android graphics Canvas it was proxy for. This CL makes sure the
DisplayListCanvas transform is propagated to the Proxy every time
asSkCanvas() is called.
We could instead move the code to the SkiaCanvasProxy constructor
if we got rid of the cached proxy on DisplayListCanvas; nobody's
using the proxy heavily enough that that should be a performance
hit at this time.
BUG:21945972
R=djsollen@google.com
Change-Id: I99ed1563802a2449bb9939cb67976cd60dd8611c
Currently, when connecting to a network that has a captive portal
or has no Internet access, we display a regular notification.
Because this notification is easy to miss, switch to using a
heads-up notification if the user just manually selected the
network. If the system connects automatically, continue to use a
regular notification.
Bug: 20081183
Change-Id: I7a988b2bddfe898a0d2607ad85a04b227d678469
When switched to a different user (e.g. Restricted profile), the
TvInputManagerService continues to use the TV storage of the previous
user for logging, resulting in failure of the FOREIGN KEY constraint
since channel data for the current user don’t match to the logging data.
This change ensures that the system service uses the proper
ContentResolver when the user is switched.
Bug: 22047202
Change-Id: I870b5bd921e37a5f1219ea66c7a51314c77ddb01
This CL ensures that Android Keystore framework code complies with
signedness of keymaster tags. In particular:
* INT tags are unsigned 32-bit numbers, and
* LONG and DATE tags are unsigned 64-bit numbers.
The ensure compliance, KeymasterArguments and KeyCharacteristics
classes through which Android Keystore interacts with Keymaster tags
have been modified as follows:
* ENUM and INT tags which used to be conflated are now added/queried
via separate methods, because ENUM can remain represented as an int
data type whereas INT is now represented as a long data type with
permitted range being [0; 2^32).
* Methods for adding/quering LONG tags have been switched from the long
data type to the BigInteger data type and now ensure that the value
is in the permitted [0; 2^63).
* Methods for adding/querying DATE tags now ensure the Date value is
in the permitted range [0; 2^63) ms since Unix epoch.
* Methods for adding tags throw an IllegalArgumentException if the tag
type is unsuitable for the method. This is to ensure that tags with
invalid values cannot be added through similar methods (e.g., INT tag
added via an ENUM tag addition method invoked with a negative value).
Bug: 22008538
Change-Id: I6eefd5cbb561cc52d27de952691af4d9d5e1af1e
reading the wrong title.
We get a title from DocumentProvider with an async task, and by the time we
get it, it's *usually* too late and talkback end up reading the default title.
Bug 20041072
Change-Id: I7686fe4ae4c157ebfc07bd8b895c4cfdf99c057a
Crash immediately so that we can track down the cause. If we let it
through, we'll hit an ISE later in dispatchVsync() and never know why.
Bug: 21948478
Change-Id: I84edf93cdf09d755419e18a7606b7b6cbd059956
Added audio.safemedia.bypass system property to bypass SafeMedia logic on
CTS tests which require guaranteed access to full range of volume levels.
bug: 21779099
Change-Id: I76815a995f08d426218206af7aade491c5debd9e
If a volume benchmark operation times out, we don't want to show
a cryptic toast message. Instead, we return a very large integer
[eg Long.MAX_INT]. The storage wizard can then use this value
to show an appropriate dialog if it chooses.
Bug: 21376364
Change-Id: I3d97336e19c93511cfff2cbdb2f07ab033a1143d
Need public api constant to create an intent to open voicemail settings.
This is used for visual voicemail.
Bug: 21086059
Change-Id: I1a11712ead2941d5322cde6be6c3f41652bc36d8