This includes following changes for performance
1. Passes the key events directly between the windows instead of using
dummy Views and OnFocusChangeListener to prevent main thread from
handling unnecessary focus changes.
2. Limits the window size for PIP controls to reduce unnecessary draw.
Here's the test result. Test is performed with paused PIP video
1. 5 visible recents task
Focus down: 48.14 fps -> 85.396 fps (+77.39%)
Focus up: 24.67 fps -> 45.33 fps (+83.77%)
2. 3 visible recents task
Focus down: 51.98 fps -> 132.72 fps (+155.34%)
Focus up: 30.91 fps -> 53.38 fps (+72.69%)
Bug: 28042495
Change-Id: I363232176975b160e122748c9997ef4b46b73a28
Scrim will fade in after the PIP control's focus losing animation,
and will be gone immediately when PIP control gets focus.
Bug: 28041690
Change-Id: Ibb7fa0ce15ba1af13781a1bd5e87609fefa95cc0
This includes following animation.
- Fix focus change animation duration among the PIP control buttons
- Apply ripple animation for PIP control buttons
- PIP menu enter/exit animation.
Bug: 27677096
Change-Id: I2f992416efc8a0994eeb56d5dec00201fd08a7aa
Add a callback to TaskStackChangeListener which gets fired when the system
might need to inform the user that a specific app might not work in
multi-window.
Use that callback in SysUI to show a translucent activity which scrims the
activity behind to inform that it might not be resizable.
Debounce the information to once per multi-window session, to not make it
annoying.
Introduce launchTaskId to start an activity in an existing task, and protect
that with START_TASKS_FROM_RECENTS permission.
Bug: 27327287
Bug: 27431869
Change-Id: I89e8d653872ab01ba3c1e252b426e5481da0e6ca
- Fixing issue where the animation props was not applied to the progress
and callback animations correctly
- Ensuring that all tasks animate the same distance on enter/exit, and
not just to the edge of the screen
- Removing unused styles and animation resources
Change-Id: I88bd0f79f386304373fe63b49e92f02eeb882e55
Status bar will also show a different badge icon when managed profile
is in quiet mode i.e. work mode is off. The tile is invisible for now
until the full feature lands.
Bug: 22541941
Change-Id: I53f33ea346cd9215ecee2ca42de137af61e4c8a2
- Scrims: When dismissing Keyguard, don't wait until the next frame
to start the animation. Saves 16ms
- Scrims: Skip first frame, because it's completely black anyways.
Saves 16ms.
- Don't wait with navigation bar to show until the screen has turned
on. Window manager is blocked on DisplayPowerController anyways, so
the animation will exactly be started when the screen turns on. Fixes
some jank as well.
- Window manager: Don't wait for the window below Keyguard for draw
completion until turning on screen. Saves a lot of time depending on
how the app is behaving.
Bug: 23401557
Change-Id: I9734f9a12143f0e3c0647e9aa066831a29a6de63
- Add callback to inform SysUI when the screen has been unblocked
and turned on.
- Cleanup inconsistent messaging about device interactive/screen on
and off.
- Add callbacks to inform SysUI about screen states
- Implement a quick fade for the scrim after touch, wake, and unlock.
First, start with a black scrim on top of everything, and then fade
it out.
- Make sure we play the normal unlock animation when device is pulsing
- Override navigation bar animations for touch, wake and unlock: Fade
in the same manner as the scrim.
Bug: 22571198
Bug: 21855614
Change-Id: I8ff08d72cced1e0f03c78d71ff710d8a4f6b848c
Now that AnimatedVectorDrawables can use themed animations, SysUI no longer
needs to track separate AVDs for the carrier network change icons.
Bug: 21118142
Change-Id: Ifb6d7b5e7e3de85c10bc13183b4142fd2e6714b6
- Make error state animation faster.
- Add animation for
-- Draw on when turning on the screen
-- Draw off when unlocking
-- Error state -> normal state
Bug: 21269675
Change-Id: If09c0a35ce194fbeeb86151d45b4cfa81c9999c5
- Put lock icon logic in a separate class.
- Add animation when switching between fingerprint scanning and
fingerprint error.
Change-Id: I87c3f101d645a990d5397b82a797c9ee40a63da2
- Listen for new PhoneStateListener.CARRIER_NETWORK_CHANGE events.
- Show/hide a new unique animated icon in status bar and quick settings during
Carrier Network Change events if we are instructed by PhoneStateListener
and it's during a period without connectivity.
- ObjectAnimator doesn't let you animate colors between themed colors, so
there's quite a bit of boilerplate duplication in the animation xml.
- Add a new demo mode command to toggle it on/off.
Change-Id: Ic5bb2aa7444303c6b7f2456526a9c25325c6e1f4
- New VolumeDialog (presentation) + VolumeDialogController (state)
to implement a volume dialog that keeps track of multiple audio
streams, including all remote streams.
- The dialog starts out with a single stream, with more detail available
behind an expand chevron.
- Existing zen options reorganized under a master switch bar
named "Block interruptions", with "None" renamed to "No interruptions"
and "Priority" renamed to "Priority only".
- Combined "Block interruptions" icon replaces the now-obsolete star/no-smoking
icons in the status bar.
- New icons for all sliders.
- All sliders present a continuous facade, mapped to discrete integer units
under the hood.
- All interesting volume events and state changes piped through one central
helper for future routing.
- VolumePanel is obsolete, still accessible via a sysprop if needed.
Complete removal / garbage collection deferred until all needed
functionality is ported over.
Bug: 19260237
Change-Id: I6689de3e4d14ae666d3e8da302cc9da2d4d77b9b
- Use shape drawable for pin background instead of asset.
- Includes fix for scrolling regression when task stack scroller was not reset.
Change-Id: I11eec1f3b0386b4354c8c5e3deca2b17cff83be1
Added an AVD to the icon and changed the order
to be from bottom to the top.
Bug: 17903685
Bug: 17007783
Change-Id: Ia1509e2d4e02c87782285e05b7b7fb6a11854f95
- Add icon above text to all three zen mode states, update text style.
- Remove zentoast.
- Update shared borderless rect background, masks now support shapes.
- Update size of volume stream icons.
- Ensure all volume icons are expressions of white.
- Make volume icons testable via new demo mode command.
- Add a divider + secondary icon to access the notification slider.
- Animate the transition when accessing notification slider.
Bug: 18206097
Bug: 16303068
Bug: 18102850
Change-Id: I5eb6f820dc317e89be272cc78f6c80ed969ad5e9
If the user selects a new zen mode, display a quick toast
with the mode icon + text to aid in association.
Also fix a recent regression in the zen subhead alignment.
Bug:16215680
Bug:17641211
Change-Id: I4ead88d81be4d9c26459aed82c47b8c2fb32eafa
The previous card animation is removed and replaced by a animating
circle with a shadow. Also fixes several cases where the card could
either get stuck and the affordance was not launched.
Bug: 17457300
Bug: 17444236
Change-Id: I005313a1dbe63d338490e6100dd3bd01e35687ba
- Reverting changes to the existing thumbnail transition to prevent breaking applications
that currently depend on that transition. As a result, we need to create a new, hidden,
aspect-scaled thumbnail transition, and instead use that thumbnail to animate the
recents header so that we don't have to wait to do that inside the Recents activity.
In order for this to work, we also have to ensure that the thumbnail surface destruction
is synchronized with the application that is currently closing (when going down to
recents) or opening (when coming back up). The current thumbnail is destroyed when the
animation ends, but that can be at least 1 frame before the surface for the animating
window is destroyed. We change this by deferring destruction of this thumbnail window
to the animation that is being closed.
Especially on the way up, not having to wait for us to hide the header before doing the
transition up can save us the duration of that first animation (> 100ms).
- Other optimizations:
* No longer creating a new stack view on each transition to calculate the target rect
* Removing unnecessary call to get the thumbnail when transitioning up/down (the actual
window does its own animation.
* We reduced numerous system calls per task by adding a flag to ignore home-stack tasks
and caching the activity label and icon (and task description icon). These caches
follow the same eviction schemes as the thumbnail and icon cache.
- Also tweaked the touch slop for the nav bar swiping gesture to prevent conflicting with
tapping on home (Bug 17109581)
Change-Id: Ica697aad788051a9203edd9351c583e1cb038a71
- refactored hwlayers and change view property animations to use a reference counted trigger
- cleaned up RecentsConfiguration, and move it into classes using it
- moved task bar animations back into TaskBarView
- refactoring enter/exit animations to use an animation context
Change-Id: Ia66b622b094f22145c2fab07c2a9bdfd62344be2