- Unround interior corners
- Update colors (shortcuts are gray when next to
notifications, notifications always white)
- Clean up animation to animate entire popup with
simple reveal instead of individual items
animating with reveal and icon scale
Bug: 35766387
Bug: 36110804
Change-Id: I33685d53e2db3904731676123dc230be4dabb5d4
> Removing the code for LIGHT_STATUS_BAR as that will be controlled by the theme
> Updating icon cache to always use transparent background for low-res, as the
theme can change the bg color
Change-Id: Iab64ec29cab629ee515af22ec15b95d3f40a9df5
The textview on top was consuming the clicks, so we set it to
not be focusable (clicks are handled by the parent).
This regression was caused by a TextView bug introduced in
ag/2247666, which set clickable=true if focusable=true.
Bug: 38385679
Change-Id: I0a946073919dabcd19b47cd7df2a1fcac6946cd5
* changes:
Merge commit '18c4aa458ea5c9ee5513fa756da4f5492bb7c5b8' into am-103e12ab-e4f5-4f1e-a8f6-6b164b13e8de
Update accessibility for popup
Update accessibility for popup
> Removing rounded rect and cylinder
> Adding tear drop shape
> Updating the label for default setting
Bug: 38216026
Change-Id: Ie31baef1171a78e2d95c617ef8fa8c669dd7c817
drawn below the top padding.
Also adding callback for getting the all-apps vertical pull range
so that it can be controlled by SearchUiManager
Bug: 37616877
Change-Id: Ib4642073f3e92f6676caede3bddd652fda89c86f
- Content description includes count of notifications.
- Notifications have a dismiss action.
- All icons that support shortcuts will have action to show
shortcut menu, since there will be system shortcuts even if
there are no deep shortcuts.
Bug: 36564782
Change-Id: I51b085fa26754f2dcd93c7db6548f2edf054f494
- Content description includes count of notifications.
- Notifications have a dismiss action.
- All icons that support shortcuts will have action to show
shortcut menu, since there will be system shortcuts even if
there are no deep shortcuts.
Bug: 36564782
Change-Id: I51b085fa26754f2dcd93c7db6548f2edf054f494
- Update some dimens
- Increase left padding for shortcuts
- Adjust arrow and notification ellipsis offset accordingly
- Align shortcut dividers to be same width as text
- Notification text 14sp instead of 15sp
- Increase width of popup by 12dp
- Shortcuts text 87% black instead of 54%
- Arrow has same color as attached side, so takes on header
gray instead of white when appropriate
Bug: 37753827
Change-Id: I0844b85995f22218a3b7e605e1653cceaed6cda1
Adding a schema file for handling DB downgrade. This schema file is part of
the backup/restore set, and hence is available on a device with lower app version.
Bug: 37257575
Change-Id: I69c8ef5f28d5209be6e6679412c7459d4eeda5d0
Changing the apps-search layout to use theme attribute instead of hard
coded layout id
Bug: 37616877
Change-Id: Iae601758303f83a2774635f0d88f74d99fc643c3
This will allow derivative projects to easily change the search behavior
by simply overriding the xml file
Bug: 37616877
Change-Id: Ib8d6a2dab06819a52611e9a3d97c70c5a49bbf97
By default, the BubbleTextView sets the display to Workspace
mode, which sets the text size to be 0 in MW mode.
Bug: 37898830
Change-Id: I665611b9986f1025d54b7ddb80746d4016003313
Also updated folder badge (dot) color to light gray,
added notification header back (with same number as
before, where each notification counts as >= 1),
and increased shadow opacity for the dots.
Change-Id: I53a3e0d94f23f482b55b3c10a922939ebb381314
> Fixing DrapTargetBar set to visible (with alpha = 0) in the start
causing unnecessary draw
Bug: 37616877
Change-Id: Iaaff96099910f504f6e2f81c9376ddacde50ff6a
- Size defined as percentage of app icon size
- Width changes when there are 2 or 3 digits (round rect)
- Offset slightly away from the app icon
- Had to move drawing to BubbleTextView instead of
FastBitmapDrawable
- Hide badge when dragging and while popup is open
- Tweaks for some color/text parameters
Bug: 35744066
Change-Id: Ibb15ca634abaa0729aea637c904c4c6889a58c7c
- Remove "Configurable shortcuts" row, and put all widgets in one row
- Update some sizes and colors and text
- Center widget row if only one widget
Bug: 35766387
Change-Id: Ic3850feadee1cbbbdd68a772f597741d54949703
- Also changed opacities of the system shortcut icons to match spec
(38% black in header, 54% when expanded view is shown)
Bug: 35766387
Change-Id: I73881bf1c72c98d78a38d82c632c4954b02eff4e
- Update specs in dimens.xml and colors.xml
- Move notification count to top right, and keep "Notifications" in left
- Also removed NotificationHeaderView and instead use FrameLayout
- Limit to 2 shortcuts instead of 3 if there are notifications
- Use SP instead of DP for text (b/35869307)
Bug: 35766387
Change-Id: I892640933ad6351946af3df6c805b98bb4e7cb50
> This would allow developers to verify their icon designs on different
device configurations
> This settings is only visible when developer settings is enabled
Change-Id: I7e32abfede001c134f23390734dcd39c93b68b9a
- Currently the system shortcuts are just widgets and app info
- As shortcuts, they live in ShortcutsItemView
- They are populated either as icons only (if there are deep
shortcuts) or as icons + text
- Widgets are disabled until binding them is complete (we request for
them to be bound on long-press now). We should revisit this.
Bug: 34940468
Change-Id: Ia51d002c3b3ede87658bdab57abfc3eeca1ed242
- Contains two rows, one for widgets, and one for "configurable
shortcuts" that have customization activities
- Extends AbstractFloatingView and uses VerticalPullDetector for
touch interactions
- No way to show this currently; will add options to popup in followup
Bug: 34940468
Change-Id: Iab62c2cb89428f91119c9c86f9db886496c321fd
1. Start preview item animations later opening
2. Finish item animations sooner when closing
3. 1 & 2 allow the preview items to move as part of
the Folder and allows for a smoother animation
4. Remove setCurrentPlayTime as it is O API.
Bug: 36522198
Bug: 35064148
Change-Id: If63d4d032078ff4e28b72a09e35da3a71f1d0e27
> Disabling Install shortcut broadcast for O and above
> Adding a preference to control automatic icon addition on homescreen
> Adding icons on homescreen for new installs based on the above preference
Bug: 32920609
Bug: 27967412
Change-Id: I92e5cb7c841fb445dc8bc058d975f212ee54f8d1
With larger folders, we want the preview items to reach their final positions faster
(when opening) and later (when closing) so that they appear aligned with the rest of
the folder items when they are both visible.
Bug: 35064148
Change-Id: I170ac2db36a3a20ebe5505711ea59e625050bc1b
Added FolderAnimationManager, which manages the opening
and closing animations.
All of the animations are done in the Folder.
ie. When the users taps on the FolderIcon, we immediately hide the
FolderIcon and show the Folder inits place before starting the animation.
Bug: 35064148
Change-Id: Icacdbbf78a25489f2eab4fd352f2c6ed71eb710b
This is the basis for app discovery integration while searching in all apps.
This does NOT include binding to the actual service and retrieving results,
but instead provides all the UI to show suggested instant apps and apps
from a store with star rating and pricing.
Change-Id: I1605b52848491acee4ac1d15c0112e6a768363f6
- Background is now white, and color beneath and divider color
updated accordingly (not from color extraction)
- Removed overflow text ("+6") and added it to a header
("6 Notifications"). Use "..." instead if there is an overflow.
- Even spaced out icons in notification footer between the
far right icon and the ellipsis
- Remove code to change arrow tint, since it is always white
now. This also fixes the issue where it was drawn as a rect.
Bug: 35766387
Change-Id: I03bfda4ff029f23dd8b3dd1b72f534ea0e2c0816
- DeepShortcutViews are added to ShortcutsItemView, which
is in PopupContainerWithArrow
- Moved some shortcut-specific logic to ShortcutsItemView
(namely, touch/long-click handling for draggin shortcuts)
- Moved round-rect clipping to PopupItemView
- Removed collapseToIcon() logic, including
PillWidthRevealOutlineProvider, which was only used for
that purpose. It isn't necessary now that the deep
shortcuts have no background themselves.
- Replaced focus pill drawable with ripple effect on
shortcuts and notification view.
Bug: 35766387
Change-Id: I6bc09f1851cfbb806df4bf75a6e435b0f1900c9c
- Use smaller radius for notifications round rect background
- Remove "Notifications" header, and clip children to round rect path
- Flip main notification so that icon shows on the right instead of
left; footer is also flipped so animation makes sense
- Clean up animations to animate view outline instead of height
Bug: 32410600
Change-Id: I6bd1e1f8395b3703f28c3b0056a89e67672368ab
> For Fast scrolling, using state list animator defined in xml
> For Pressed state, using onState change method in a drawable
Change-Id: Ia608690f593938cf0f77e00afcc2a3076e48d8f4
wallpaper
> Using HomeScreenElementTheme for workspace items
> Fixing view inflation where wrong layout inflater was being used
Change-Id: I92e278dbfb609ad7af9c2f47351f23f03cf12049
This reverts commit d27b65d4d0.
Also added boolean to values/ and values-v25/ and values-v26/
to enabled/disable the listener by API version.
Bug: 35443111
Bug: 33553066
Change-Id: I69465c720f3b3eca7ae2025e01c315720862bec8
> Replacing some colors with theme attributes
> Simplifying styles definition by removing unnecessary inheritance and inlining some definitions
Change-Id: Ifa167515cae6a7fd3720f1a52ff9ce11abb4495f
Drawing a shortcut icon on a white round-rect with shadow
Also center aligning the preview
Bug: 34819119
Change-Id: Ic25be6bf301aeb11315a5050f009259b26c6134a
Using standard theme attributes rather than custom color codes, so
that it plays nice with system theme changes.
Bug: 34819119
Bug: 34897402
Bug: 21446746
Change-Id: I265fba3ceae8873650fd09e4704838d313155e83
We draw a while round rect box which is divided into the cells to
represent the widget size. The app icon is drawn in the center
for this white box.
Bug: 34819119
Change-Id: Ie4d83712577f21b276c6744a55993f71da368398
- When notifications update, add the NotificationInfo to the
BadgeInfo if there is only one for an app. BadgeRenderer
will use the NotificationInfo to get the icon to draw.
- When retrieving the icon from the NotificationInfo, we draw
it into a shader (similar to MaskableIconDrawable), which is
rendered by BadgeRenderer.
- For now, we only use the notification icon if it is large.
Bug: 34839959
Bug: 32410600
Bug: 33553066
Change-Id: I31851804008dd15bab75d2759441187830c3265e
> The drawable gets the path from MaskIconDrawable path, instead of
using a circle
> The progress changes are animated as well
Bug: 34831873
Change-Id: I4e7f0b610f4fd94de8e0cfcf8b179b775cf0b4d8
This CL will bake the legacy icons inside a grey background
Note: There will be follow up CL to change the color and shadow of the
legacy icon. The idea of this CL is to first test if MaskableIconDrawable
methods and class work properly.
Bug: 32063838
Bug: 33553066
Change-Id: I3d02e619fcb0cd9879baa22a025b5d95c829f26c
This uses the same color calculations as the system, except that
we use the extracted notification background instead of assuming
it is white.
Bug: 32410600
Change-Id: I7be8b9459ca38d01a6780758898541e69ec42576
- Next secondary icon animates up to replace dismissed main notification
- Add padding around main notification so it always aligns with the
straight edges of the view (not the rounded corners); looks more
dismissable
- Notification view collapses as notifications are dismissed
- To mimic system notification behavior, we copy SwipeHelper,
FlingAnimationUtils, and Interpolators. We also apply elevation
to notifications and reveal a darker color beneath when dismissing.
Bug: 32410600
Change-Id: I9fbf10e73bb4996f17ef061c856efb013967d972
- Also added PopupItemView, which takes animation logic from
DeepShortcutView, and which DeepShortcutView now extends.
- Renamed ShortcutFilter to PopupPopulator, which has support
for new item types (not yet used). Also moved populating
logic (e.g. UpdateShortcutChild Runnable) to PopupPopulator.
Bug: 32410600
Change-Id: Ib6e444ac7ca99c80ba438801c26e62d9542e0ad9
Instead drawing badge in the view directly.
This will allow us to reuse the same preview when we do not want to draw
badges. This also simplified badging of shortcut config activities.
Change-Id: I9c07c33bf9c2b8ef81a00026b1d42587868c906f
on screen rotation.
The fix is by applying a "different" transparent (transparent
white instead of transparent black) for the hint color in focus
state. The root problem lies in DynamicDrawableSpan and restoring
state in EditText if hint color is #000000.
Bug: b/34259116
Change-Id: Id3c46b2af4d5cdb18c0510504f2fe66dece7056f
- Added BadgeInfo to contain data to be shown in a badge
(currently just notification count).
- Added BadgeRenderer in DeviceProfile to contain things
relevant to drawing the badge, such as size and Paint's.
- Added IconPalette to compute colors for the badge based
on a dominant color (will also be used for notifications)
- FastBitmapDrawable uses these classes to draw the badge.
Bug: 32410600
Change-Id: I6595a4879943357590f7d20c22594691a573ecaf
not only over the hotseat.
The tricky part handling with scrollable widgets is solved by
setting requestDisallowInterceptTouchEvent from within the
widget view host (and resetting it upon performing long click).
Change-Id: I8b60e7ea2c1e8ae830b4737e94ed2d796265fa24
This logic was dependent on key-value based backup. Since we are
using full-backup, the appropriate flags are never set.
Bug: 18764649
Change-Id: I95a93eee63ac9c82acfb66abfdd1a5407974df46
* Vertically centers workspace icons.
* New iconDisplay value so shortcut text is not overriden.
Bug: 32176631
Change-Id: I86753bab5b24aafc417e0f77d8c471fc4c0dc7f0
A widget can potentially bypass binder size limit with remote views when
using partual updates (as the merging happens on the system service). In
such a case, show the widget in error state.
Bug: 32365088
Change-Id: Id1c4425958a06463273731464e31f05908c35ec7
The number of folder cols/rows are set in InvariantDeviceProfile.
Because of this, we may need to scale down the folder cells in
multi-window mode.
Bug: 32176631
Change-Id: I925d5ac9d29439c5d61cf089e7784065a8cb5ebd
Padding was only on the end to account for the scrollbar. Adding
padding to the left allows the icons on AllApps to align with the icons
on the workspace.
Bug: 32640697
Change-Id: Iced9287979a11afda98bc6bfc926fe87182bee68
> Moving all QSB widget handling code in a separate package
> QSB is handled on a separate host, independent of the main
host. This allows us to safely reset either of the two hosts
> Also removing the logic around closeSystemDialog:
Launcher does not use any panels which need closing
System sends an onActivityResult(RESULT_CANCELLED), we do
not need special handling for waitingForResult
> Fixing bug when auto-generated qsb widget id was not being saved
Change-Id: I2d889b7b1c80b14785d14f35624142a4b78452de
This was an exploration for an alternative UI in all apps, where we
show section headers before every section. This was never released.
Change-Id: I2d36f1d078cc9a6f3ba6f0ec9655412182c9b016
> Using a separate view for drawing the popup. This allows us to use elevation
property instead of drawing the shadow as bitmap.
> During the thumb animation, invalidating the full track width, instead of
invalidating the track and thumb separately.
> The thumb path is calculated at 0,0 and drawn using canvas.translate().
This avoids recalculating the path on every scroll.
Change-Id: I48741e5b4432df0d939016db284d7aaf52cc2aa6
> Creating a base view for floating panels with some common methods
> Moving the getOpen method to individual classes
> Moving the folder icon animation logic to folder icon
> Moving all the logic related for opening folder to Folder class
Change-Id: I898dfb6870b857cb921d2729b89618bc43ff2e88
- First of all, deferred drag has been renamed to pre-drag
to avoid confusion with the existing deferred end drag.
- For normal drags, the cycle is still startDrag -->
onDragStart --> onDrop --> onDropComplete --> onDragEnd.
- Pre-drags have two additional callbacks: onPreDragStart
and onPreDragEnd. onPreDragStart is called between
startDrag and onDragStart, and onPreDragEnd is called
at the same time as onDragStart or onDragEnd.
- If the pre-drag has not transitioned to a full drag before
onDragEnd, onDragStart and onDropComplete are skipped
(onDrop is still called to allow the DragView to animate).
Change-Id: Icd7a8f75d5fcc159f9a52758c22ab6eae3edb9e2
Otherwise it looks like we are aggressively truncating the
text even though there is plenty of room to show it.
Bug: 31790418
Change-Id: Ia1cdc232f05815732d4cb95b954e935724a200fd
- Instead of creating our own drag view within the container, and
handling logic to determine when to start a real drag, we start
the drag immediately and just defer onDragStart().
- To determine when the deferred drag should start, we add a
DeferDragCondition to DragOptions. The default DeferDragCondition
never defers a drag, but is overridden for apps with shortcuts
to defer until the icon is dragged a given distance.
- Because the drag is handled in DragController, including checking
when to start the deferred drag, DeepShortcutsContainer no longer
needs to handle touch events and ShortcutsContainerListener has
been removed.
This change has several immediate benefits:
- The code is much cleaner, because it allows touch handling to be
done by the DragController through the normal drag flow, without
recreating logic in ShortcutsContainerListener/DeepShortcutContainer.
- The janky second haptic feedback has been removed (now it vibrates
when you long press, like everywhere else, but not again when the
shortcuts close after dragging a distance).
- Drops are animated, instead of just popping the icon back into place.
Bug: 30769920
Bug: 30465972
Bug: 31533078
Change-Id: I679b412b72fbf6c3895d76963311eb5010c8e8db
Keyboard shortcuts:
ctrl+A => Open all apps
ctrl+S => shows deep shortcuts
ctrl+O => shows custom actions popup
This also removes the direct delete/uninstall key shortcuts, making
actidental icon removal less likely
Bug: 24065447
Change-Id: Iae63370c0f33620628567cffd4df024064d4d02e
Using center vertical alogn with a fixed height, overrides
the custom drawable padding and divides the available space
proportionally between padding and drawable padding
Change-Id: I4523543ab3007ef40eac69d878d2afbca13b483a
Animate open:
- Stagger-fade shortcuts as they open
- Become fully opaque before fully open, at which point the
arrow animates in (scale). This way there is no overlap of
a translucent shortcut over an opaque arrow.
Animate close:
- Stagger-fade shortcuts as they close
- Delay fade until arrow animation is finished, to ensure
there is no overlapping of translucent and opaque.
This is much less visually jarring when quickly dragging
and dropping apps with shortcuts.
Bug: 31533078
Change-Id: I8673ee64e92414c718233ea89b70362187e53696
The widget row contents were being clipped, which made it seem like
the horizontal scroll was broken.
Bug: 30023607
Change-Id: I00b0c334bbb0faf166d4cd168392cc494ed732e0
> Updating overall padding for the cell and adding drawable padding
> Ensuring that the folder cell is always rendered properly based
on available vertical space
Bug: 30605958
Change-Id: I8ceb9fea5a25052b0d7461f52edca0e6a33fa085
b/30400751
1) This also fixes the issue of apps drawer sliding up when page is swiped
horizontally immediately above the hotseat area.
2) Disclaimer: this should be cp'ed to calgary.
Hence, I tried to keep the diff small. Ideally, CaretDrawable animation
handling should move to AllAppsHandleImageView via refactoring in
follow up CL.
Change-Id: I4d808ee2eeca53b40c0b4e4e0e364fef056e26c3
(cherry picked from commit 016eaeea99)
b/30400751
1) This also fixes the issue of apps drawer sliding up when page is swiped
horizontally immediately above the hotseat area.
2) Disclaimer: this should be cp'ed to calgary.
Hence, I tried to keep the diff small. Ideally, CaretDrawable animation
handling should move to AllAppsHandleImageView via refactoring in
follow up CL.
Change-Id: I4d808ee2eeca53b40c0b4e4e0e364fef056e26c3
> This causes the scrim to animate with the content on first launch
> Also removing the logic to disable scrim based on state. That
logic was only executing onResume which could lead to an invalid state
Bug: 30972956
Bug: 30576826
Change-Id: Ia8386b303ce260f69e3b3b93041226f409301a01
AllApps UI on tablets includes the extra gray bottom bar at the bottom
for nav-bar background protection, and should overlay the nav bar
Change-Id: Idb138b714c34de5510eb9aedfcefb22c9189eee4
When touching down within the drag handle's bounds, we remove the
onClickListener temporarily (restored when touching down outside
of the drag handle's bounds). Long clicks still start the drag.
Also increased drag threshold from 12dp to 16dp.
Bug: 30816665
Change-Id: I0b33dc34bf95c0532376f2f7cf50865fa50093de
This change makes the padding consistent regardless of where the app
is (e.g. folder vs workspace vs all apps) by ignoring the app's
padding and adding our own to the shortcuts container.
Also note that this padding is relative to the icon, excluding the
text beneath it. So we also hide the text when the container opens
downwards, and re-show it when the container closes.
Bug: 30604007
Change-Id: I6e51c4983a8b5d495833f86e483ebaa229ed2099
Setting a touch delegate makes a view to become accessible, if its set to auto.
This was making drayLayer accessible causing Talkback to speak out every item
on the draglayer when window focus changes
Bug: 30670702
Change-Id: Ifcba4c02b124166f9ca69c4244b9d20d7a7acaa5
> The shortcut container closes with an animation
> When opening/closing the animation only the icon scales
and not the title and drag handle
> When dragging the icon, it starts from the original icon position and
moves under the user finger. The container grows to follow the drag view.
Bug: 28980830
Change-Id: Ic0353c30b682d1f018cbf4d62e8a6e8e7d7d4664
- Align shortcut icons with original icon.
- Drag handle is lighter and smaller.
- Shortcut pills are slightly wider to accommodate long text.
Bug: 28980830
Change-Id: I8e9709e3cbdb9df86a805a4b63a696975c61df5a
- We create a trangular path, which we use as the view's
outline (for the shadow) and as its PathShape background.
- We scale up the arrow as the container opens.
Bug: 28980830
Change-Id: I71e566552f063dfdb69067bb7e3cee659988f934
This makes the icon part of the hint text, and removes any need for
custom focus event handling.
Also the icon will now appear at the start of the text based on the
direction of the text and not the direction of the layout
Change-Id: I06c5cf99492d75b1005c69ec7c521cde0fdab010
b/30221381
> Will not support landscape case. If the user knows how to enable
rotation, it's very unlikely they don't know how to bring up apps drawer
> If unlocked using finger unlock immediately after screen is turned
off, bounce is not shown due to delay in ACTION_SCREEN_OFF broadcast
Change-Id: Ia8b7e572eaa4aeab8b1add1e5660fee3a63ba21c