Test: runtest systemui, and post and dismiss notifications, checking that they
are grouped (or not) appropriately.
Change-Id: I8f3ec497cebcb14a7853fac98b844a3fd4503141
onCaptureQueueEmpty indicates that the non-repeating
capture request queue of camera device is empty, and
is ready to process a new request.
Test: testMultipleCapture in PerformanceTest.java
Bug: 29006447
Change-Id: If245ff6abf352548ca13a10fcfbd1550b92c1224
Add the CarrierConfig key
KEY_SMS_REQUIRES_DESTINATION_NUMBER_CONVERSION_BOOL
and remove the old configs. Note that this value no longer needs to be a
string-array, as CarrierConfigManager handles gid.
Bug: 29873049
Change-Id: I3edbcf5329177f6b370d08a09318c35c55e5e052
For N the Camera used ROTATION_ANIMATION_JUMPCUT
which was reinterpreted as seamless rotation if possible.
However this ended up being non ideal in app transition
scenarios where the rotation animation replaces the app
transition. Here we also can't seamlessly rotate, so the
window just suddenly appears with jumpcut. In fact we want
crossfade as a fallback animation and this is what distinguishes
ROTATION_ANIMATION_JUMPCUT and SEAMLESS. The problem was patched
over in N by having double-tap gestures fire camera intents
with a SEAMLESS ActivityOptions.rotationAnimationHint,
but it was too late to un-hide for consumption by apps. While here,
clean up some documentation that doesn't really parse.
Test: Manual, try the RotationAnimation activity in ApiDemos sample.
Bug: 28838855
Bug: 28823590
Change-Id: I17b5e9fa967df8ade0943337cd7b6c3956d3a499
Now that WebView can be loaded from one out of a set of packages we
provide an API for fetching information about this package.
Such API is especially useful for debugging crashes.
Bug: 30597460
Change-Id: I13dd746f7efcf2917b517053010b73ea35241325
Test: Manual testing with modified experimental print service and new
CTS test for the new API
Fixes: 27746841
Change-Id: I4ef728e54679271a01397d9f04d3b8ac804ffcf3
To a notification listener, snoozing will appear as a cancel
(with reason snoozed) followed by a post (when the snooze period
ends).
Apps can repost a snoozed notification, but the updates will not be shown
to the user until the snooze period ends.
Snoozing is canceled if the posting app or a notification listener
cancels the notification.
Any notification listener can snooze a notification. Technically apps
can snooze their own notifications also, though that's not public.
In this iteration snoozed notifications will be lost on device reboot.
Test: included. Also, various post, snooze, update, cancel tests with
a listener.
Bug: 30997603
Change-Id: I568a6448196f0992a17d20a4dac296321ec5092b
The classes there add a way for the platform to write out
protocol buffers that doesn't require lots of small objects,
generate code, and extra copying.
Includes the plugin for protoc to generate the constants.
Test: proto cts tests
Change-Id: I6385c198cecda9ac6fa533151609e3ace341af01
Add the key to CarrierConfigManager and remove the old configs which are
no longer needed.
Test: ran "make checkbuild" locally
Bug: 29873049
Change-Id: I2197cabca2addbbbe15f0f13985a6f5d8794d64a
Animators can be scaled to have zero duration globally in any device.
This can happen either via Developer Options (an uncommon path) or
Battery Saver mode (much more common for real users).
In general, this works fine; it just causes app animations to be jump-cuts
instead (which is the desired effect, either to make transitions faster
(Developer Options setting) or to optimize battery usage by rendering
fewer frames (Battery Saver mode).
But sometimes, choreographed animations can have undesired artifacts. For
example, an animation that calls an end listener to restart itself
will end up doing this almost constantly due to this effect. Other artifacts
can also occur, such as intermediate results in a complex choreography of
multiple animations can show several intermediate results in a way that is
confusing to the user.
For these cases, there is nothing that the platform can do to automatically
determine how to best handle the result. Instead, we surface this new
API to help developers discover this behavior and compensate accordingly.
Bug: 31052471 Animation playback is abnormally fast during Battery saver mode
Test: unit tests, CTS test upcoming
Change-Id: Id7ef1a9652ac5c6cdaca0c126756e82582d49b1c
Bug 30502032
Bug 20068723
Fragments in a transaction can now indicate when they are ready
and the transaction should complete. Postponed transactions will
have new views in the fragments created and added to the hierarchy
INVISIBLE. When all postponed fragments are ready, the transitions
and animations will start. INVISIBLE views will be made VISIBLE
and removed views will be taken out of the View hierarchy
Test: Id72daf16a62658227ee21a1aaf18a9b7657b6ba1
Change-Id: Ie42034629fee73299f8f82f44506aabf89970c3f
Bug 29631389
When multiple operations are executed at once, they sometimes
cancel each other. For example, if the following transactions
are queued:
Transaction 1: add A
Transaction 2: replace with B
This can be trimmed down to add B.
This CL optimizes fragments in both add and pop directions.
Developers can choose not to allow optimization by
using FragmentTransaction#setAllowOptimization
Test: If6637e9f1c2a414bebaff6404efc45dd828378ad
Change-Id: Iab75be3e0aa388fc79b794e647ac6893165bebd7
ProgressBar, AbsSeekBar, and SeekBar now support min attributes for the
lower range of the progress bar. It used to be 0 by default.
Change-Id: I3308eff80f4c7f58a940dec9cc517dcdff4a1d83
Add getWebViewClient and getWebChromeClient to WebView and WebViewProvider.
These APIs both return null if the client is not yet set.
Change-Id: I22044713a43ab09a9a5a63138247bfecb60f2522
Test: N/A
Bug: 31843416