In draglayer, we always dispatch touch events to child views. If the
touch originated from gesture area, when we dont route it through touch
controllers.
The proxy events are only send to touch controller. If any controller consumes
the event, then we cancel the view touch (pilferPointers)
This allows the controllers to work outside the dragView area, and prevents normal
view interaction when there is a window on top (like keyboard) while keeping our
activity focused
Bug: 131088901
Bug: 130618737
Change-Id: If033dde3a0f9cb6a6e449c9586c1fa050af5bdcb
More specifically, any window (e.g. qsb search) or AbstractFloatingView.
NavBarToHomeTouchController now implements TouchController directly instead
of AbstractStateChangeTouchController, as it not only dealing with
launcher states. This makes it easier to override intercept logic to
handle cases like not having window focus, for example.
AbstractFloatingViews can createHintCloseAnim() to play an animation
hinting that it is about to be closed by swiping up. Widgets sheets use
this to pull back similar to the all apps transition to home.
Bug: 129976669
Change-Id: Ie157b978d9f1ee36d5fd32cea72ec02ce40878c0
This will reduce confusion with the other "badging" concept we use for,
e.g. work profiles. It is also consistent with the external name
"notification dots".
Change-Id: I2a2c9d96dc0d6284eb0c48adc78a856271caad4d
Change to only keep the per Activity shortcut count in memory, not
the list of ids.
The full shortcuts are loaded at long press time so saves memory.
Bug:117239104
Test:Manual and ran instrumentation tests
Change-Id: Iee974ecba2c977216be4f078396ceed22b931f5d
> Using common logic for announcing a floating view for widgets and folders
Bug: 79091095
Bug: 79748886
Change-Id: Ibb3fe48e68e724f50d69f51a03d3b35ad0baf625
> Extracting common methods from Launcher & DragLauncher to base classes
> Remoting some dependencies on Launcher and using the base class instead
Change-Id: I121cacf8a14190b4703cda60bdeb4f79eee69ded
System shortcuts used to be a child of the popup, so we were
telling the parent to close; now the popup should just close
itself.
Bug: 71517074
Change-Id: I5c359f1169fee155790a30b6ed4a0464ef8fc043
> Calculating extracted color during icon generation and storing it in model and DB
> Removing unused logic avoid various types of badge rendering
> Icons are badged with extracted colors, while folder is badged with theme color
Bug: 35428783
Change-Id: I93e30c52fbded7515c3ae1778422e84672eafb56
- Arrow did not line up with the icon when right aligned
- Popup was always centered horizontally in RTL instead
of aligning with the icon
Change-Id: I90e065d0b0c1c59166e5c2e5de5e6cff9126ee6f
> Using a single linearLayout instead of multiple nested views
> Using clipToOutline for rounded corners instead of using canvas.saveLayer
> Removing nested view elevations and overdraw
> Using LayoutTransition for animating layout changes, instead of manually creating animators
Change-Id: I8e57092f52ca5a032a2756594fdd39788acc5a0d
When the drag is started, the UI automatically goes into spring loaded mode. On a successful
drop, it is the responsibility of the {@link DropTarget} to exit out of the spring loaded
mode. If the drop was cancelled for some reason, the UI will automatically exit out of this mode.
Bug: 34692289
Change-Id: Ic611739a43bb8d9279b587aaee3039326c143e8b
even when the touch is started from outside the panel
Removing various instanceOf checks in onNewIntent and onBackPress
and moving all the corresponding logging in the FloatingView
This simplifies handling of panel specific log and avoids
missing a particular panel type in the if-else statement.
Bug: 64751884
Bug: 64751923
Change-Id: I98f5aae18560a64be73c9efcf495479740d49a00
- Reduce main notification height
- Increase header height and center "Notifications"
- Footer has short height when empty to serve as padding
Bug: 65215656
Change-Id: I691d176628b0b51e8d9af030084b8c29837778dc
Test: see attached screenshot in the bug
Bug: 63721807
the horizontal gravity enforcement has to be done on (left+translateX) value
and not just translateX. Hence that enforcement has been moved to onLayout.
Change-Id: I9b6502dc55d59e04a406ebe71ac3b649b31d6088
- Remove divider between system shortcut header and shortcuts
- Slightly reduce padding between popup and icon
- Fix gravity to center in drag layer using x and y calculations since
we use the y value to position the popup when removing notifications
Change-Id: I1cb10ed953d11cc0924d8ee70881a434cb748317
- Decrease duration
- Add alpha fade in and out
- Remove arrow scale when closing, so that
the reversal happens immediately
These changes help the popup feel snappier while also reducing
visual jank when moving icons (as the animation accelerates in
later and the alpha stays close to 0).
Bug: 62738635
Change-Id: Ic8af4e0e5bc00913ea713853997069e8b9c8f953
- Don't remove elevation during animation (b/62905720)
- Other adjustments (b/35766387)
- Add "gutter" between notification and shortcuts
- Change shortcuts to always be primary color (e.g. white)
- Scale down shortcut icons when notifications present
- Apply icon extracted color to "Notifications" header
Change-Id: Idf791dc76d15d05d246000ad73810916d7cd1750
- Increase main notification height and pad text/icon bottom
- Reduce shortcuts height when there are notifications to 48dp
- When the last notification is dismissed, animate back to 56dp
Bug: 35766387
Change-Id: I84f843c042137fdf93fa720802eb2f19337197b4
We currently only show 2 shortcuts when notifications are
present, but support up to 4 otherwise. With this change,
the hidden shortcuts are added back after dismissing the
notifications, instead of only after closing and reopening
the container.
To ensure the transition is as elegant as possible, we also
separated the shortcuts header from the rest of the shortcuts.
That way we can reveal the new shortcuts without removing the
header (the shortcuts come out from behind the header).
Bug: 38036250
Change-Id: Ie9ab35f9be57cec1d5345e9e70e84e09ea52c9fc
Changing the badge_color in colors.xml to transparent
will cause them to be color extracted.
When an extracted color is used in the IconPalette, we
desaturate the background. Otherwise we respect the
exact color specified in colors.xml.
Change-Id: Ie82d0c5335fa5f24d4cc47766e4c1719c4916f8b