The icons now animate in and out of the shelf nicer.
Also fixed that the regular animation was played when in the shelf.
Test: Add notifications, observe animation in statusbar
Bug: 32437839
Change-Id: Id003fee1508b8c18a933d38faf93541be21baffd
The overflowing icons are now represented as dots and
animate in and out nicer.
The shelf also animates much nicer from the regular statusbar
size if there are a lot of notifications.
Test: Add a lot of notifications, observe them nicely overflowing into dots
Bug: 32437839
Change-Id: I5906c076bbf5d48cbabdbacfd21234bed55c6caa
A viewstate can now animate its X value.
This also refactors the animation logic such that
an application when an animation is running will
update the existing animation nicely.
Test: manual, observe views animating in X
Bug: 32437839
Change-Id: Ic091d87e530af793281ca3f2b1e9370ff5dac236
When dragging down, the shelf is now hidden behind the notification
until it was fully revealed once.
Test: Add heads-up, drag down on it.
Bug: 32437839
Change-Id: I85133855428777a606a3039e26acf53e6e63a3bb
Notifications with a GONE parent broke the whole scrolling model.
The shelf is now always placed at the end instead and the number
of GONE views are measured.
Test: Add a group with a single notification and see that nothing jumps
Bug: 32437839
Change-Id: I27a8c0b46eb8f329f23ad46c3995a19fb839caff
The background and the shelf now animate properly on
the lockscreen when going to the full shade.
Test: Go to lockscreen from keyguard
Bug: 32437839
Change-Id: Idd7e8325cc91464ed9c943c5ae311576d8aaaebc
The notification was wrongly pushed up on the lockscreen
if there was only a single notification.
Test: Add a single notification, observe that it's not pushed in.
Bug: 32437839
Change-Id: Ica6275d0efb18a0a39d943e874d464a86593d5b3
Heads up notifications were completely broken before
with the shelf, but work better now.
Test: Add heads-up observe that it's visible
Bug: 32437839
Change-Id: I9ac08f4ea54a912efd53bb849b3223f534b76915
The transformation was based on the intrinsic height but that doesn't
work since it can suddenly jump, i.e when swiping away the top notification.
Test: Add tall notifications, swipe top one away, observe no jumping.
Bug: 32437839
Change-Id: I68f83e167f73ca6c87a5838000b11029214e4ca3
The icon animation has now a different interpolator when
expanding compared to when fully expanded. this makes sure
that its moving nicely linear when fully expanded, but in
an accelerate decelerated manner when not.
Test: Add notifications, observe interpolators
Bug: 32437839
Change-Id: I3efcaf54e012f8462bc21ff819903c22d8a1af21
Animations are now also applicable to normal views
and are more modularly applied to specific stack
view states.
Test: Add notifications, observe animations
Bug: 32437839
Change-Id: I75ebf98657749b50d43c88c4c39c5d4c302b1280
The shelf positions are now applied in each frame if there
is an animation in order to not have weird transitions
when a notifications moves in / out of the shelf.
Test: Add notifications, swipe one away see animation out of the shelf
Bug: 32437839
Change-Id: Ie50362c85ec2fb2a9822de6a387167913d7a58dd
When expanding, the shelf now transforms into
the statusbar, providing a more seemless transition.
This also modifies the panel peeking:
previously the panel was always peeking right after a tap timeout
which would take the panel away from the users finger.
The panel is now only peeking when the user clicked on the bar instead.
Test: Add some notification and collapse the panel. Observe nicer transition
Bug: 32437839
Change-Id: I772f6684e1cee2004e9b366d203a5c5188af4a93
Previously the shelf algorithm wasn't applied properly
on the lockscreen.
Test: Add notifications, observe shelf on the lockscreen when collapsing
Bug: 32437839
Change-Id: I7c768e1450a86b5a8731c998ef58212550dfb4bc
Started the implementation of a new notification
scrolling model that dynamically transforms notifications
into a new icon shelf.
Test: Add notifications, scroll!
Bug: 32437839
Change-Id: Ic28cc1c82f2cda2ffa7a312648903b5bc2408820
Viewstates are now much more independent of the
Stack scroller and can be used on their own.
Test: Add notification, everything still works
Bug: 32437839
Change-Id: I535ea9200dcaafef9eb833c2f0301cb09731542f
Data returned via ParceledListSlice is a snapshot of data from the
system, and should not be mutated directly.
In particular, this can cause developer confusion if they call
Collection.remove(), which doesn't actually mutate the value in the
system. There are other mutation APIs that developers should be
using instead, such as JobScheduler.cancel().
Test: builds, boots, common operations work
Bug: 27856974
Change-Id: I72528dee4d79e483aa295bd91d1ed80d0d72d21c
Each CurrentUserTracker has one receiver per one object.
This could cause unnecessary transaction as Tracker counts
increases. The idea of redcuing receiver is creating
one static receiver for CurrentUserTracker and share it
with all object.
Test: Check if Quicksetting order is changed properly
after switching user.
Change-Id: I8404829826391f8b315b42bbd0f50e77b783eeab
The issue is that QSPanel get touch event while brightness mirros
is showing after density changes. This is because StatusBarWindowView
keeps the reference of detached brightness mirror view. We can refresh
it at onViewAdded function.
Test: manual(change device density > Check if can click QuickSettings
while dragging brightness slider.)
Change-Id: I646092abbc23b24bb91fc5c8525b12a143364b84
This matches the newest mocks better than the previous version.
Bug: 32101881
Test: Locally on local Ryu device
Change-Id: I85769215a48b7a4f1e7b52bd7572eb48ca333471