- 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
Creating a separate view for FastScrollBar and moving all the relavant logic in
the view.
For protrait, the touch handling is delegated by the recycler view just like before.
For landscape, the dcrollbar does not overlay with recyclerView and handles the touch
itself
Bug: 37015359
Change-Id: Ie1981326457ba739bdf0ac8063db1065f395f133
This is the just first CL to get eyes on the changes.
Next CL will update the All Apps to be full width.
Bug: 37015359
Change-Id: I2d7ec6851fdc13b8fa654e7e2be3152330243ccc
This allows better customization and reuse of the double shadow logic and simplified
various attribute management
Change-Id: I5e277d8399756385452d8bb8c0a0107234a76d34
- 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
> Adding scrollView so that the contents are accessible in multi-window
mode as well
> Updating the padding to be same as an alert-dialog
Bug: 36725328
Change-Id: I83d32156aa9cb751daf6589bc226d7cde69e9b53
> workspaceTextColor was not clearly defined to white and relied on HomeScreenElementTheme
> Not all attributes were defined in sw720dp. Created a interm style to avoid such errors
> Applying proper tint to resize frame
> Fixing shadow colors for homescreen icon
Change-Id: If8441011c968291de50b2fd8d7612ce3d5353b95
> Removing workspace state change listener. State change happens with hardware layer,
so children should not be calling invalidatge() during the animation
> Moving QSB inside the QSB and removing a floating layout
Bug: 37616877
Change-Id: I9af3522a05dafa5796586bb64f512d98688caf79
- 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
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
- 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
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
> Fixing DrapTargetBar set to visible (with alpha = 0) in the start
causing unnecessary draw
Bug: 37616877
Change-Id: Iaaff96099910f504f6e2f81c9376ddacde50ff6a
- 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
- 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
- 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
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
> Replacing some colors with theme attributes
> Simplifying styles definition by removing unnecessary inheritance and inlining some definitions
Change-Id: Ifa167515cae6a7fd3720f1a52ff9ce11abb4495f
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
- 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
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
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
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 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
> 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
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
- Adding DeviceProfile callback for when the launcher layout changes due
to insets. This is necessary since there are now different layouts
depending on which side the navigation bar is on
- Consolidating hotseat and other layout into the device profile
launcher layout logic
- Making the all apps icons match the workspace icon height
- Tweaking caret drawable to draw to the bounds specified to simplify
layout in each orientation
- Fixing minor issue with page indicator shifting in landscape
- Centering overview buttons to the workspace page
Bug: 30021487
Change-Id: I1866bce00b2948f3edd06168c0f88d81207e3f13
- Open animation: shortcuts reveal using modified circular reveal
(so that it reveals in the pill shape instead of a circle);
slight translation away from the original icon; scale icon and text.
- Hover animation: scale the shortcut pill and translate others away.
Bug: 28980830
Bug: 30127368
Change-Id: I8ed05c7a082f2c2a3f6c663da7259f6cd33e394f
Instead of expanding the edittext, using a separate textview
which is shown/hidden as the hint text
Change-Id: Ib4cedeaed9291f972be2ee407c06f4944c983e27
This allows better edge matching for the QSB. The QSB position
is kept synchronized with the page scroll and all-apps transition.
But its not visible in spring loaded and overview mode
Change-Id: I4e6723607ea966ee672273a9ca67c792fd6b5661
- Removing old logic which assumed that views were the same size,
especially now we can have variable dividers, etc.
- Simplifying old scroll position logic.
- Removing unnecessary prediction icon layout (same as normal icon)
Bug: 30023608
Change-Id: I39e1126fa586a76a9bdd3ff38cd6e360ac3021e6
Launcher clings are dead. Delete all the code and resources associated with
them.
* Did not delete the actual code the marks the cling as dismissed since it's
used in db upgrade and backup/restore paths. Figured we probably want to keep
that.
Change-Id: I28841b4a430187b62b239afeb64bee81a798e259
Fixes: 29461092
Used for widget headers and a few other places.
In order to support pre-API 25, an app-local version of colorSecondary
is created and used throughout the app. A new WidgetContainerTheme
sets colorSecondary to a canned value. On API 25+, colorSecondary
is set to the platform value.
Change-Id: Ie0dd66333052b7346eea5d82d1c88417c6a2cd00
Fixes: 28625102
- Add ShortcutsContainerListener to icons on workspace, folders, and
all apps. This handles long-press and forwards following touches to
the DeepShortcutsContainer that is created.
- Drag over shortcut before lifting finger to launch it.
- Shortcuts are rendered in pill-shaped DeepShortcutViews,
which are inside DeepShortcutContainer on DragLayer.
- The shortcut container orients above or below the icon, and left or
right-aligns with it. Biases for above + left-align.
- Long press a DeepShortcutPill to drag and pin it to the workspace.
Bug: 28980830
Change-Id: I08658d13ae51fe53064644e8d8f7b42f150fdd7d
Instead of using hard-coded variants of colors, use the theme color
that corresponds (colorAccent, colorPrimary, etc).
Updated:
- "Search for more apps" text
- App info drop target hover color
- PageIndicatorDots
- All apps & widget scroll bar & scroll popup colors
- All apps section text color
- widget picker background color
TODO:
- widget picker header color
BUG: 28625102
Change-Id: I74b543ff71b8caef8cd950c8183ac84c759cb4d5
Adding an abstract FocusIndicatorHelper based on FocusIndicatorView
which draws the background instead of using a dummy view.
Change-Id: Id560195323d2ddad8fcd77ba675cf3f4fd4a94ab
> Renaming it to simply DropTargetBar
> Moving AppInfo to the top bar as well
> The workspace pages will extend to the top edge (minus some padding).
Since the QSB is no longer displayed on top of every page, there is
no reason to reserve the space.
> In spring-loaded mode, the workspace cell layout will scale enough
to make room for the drop target bar at the top
Change-Id: I2baf607310335dd576c9d9fcbb75ab708f47ac03
> Instead of recreating the whole fragment, only recreating the views
when reinflating
> Binding the fragment in xml instead of in code
This prevents duplicate fragment binding
Bug: 29120662
Change-Id: I25b942f64d68f25e1358f15d8a919daeebdcff9c
The QSB will only be resent on the first screen of the workspace
covering the full width of the first row. If will not be movable.
The first screen of the workspace will not be movable.
The searchDropTargetBar no longer contains the QSB (it can be
renamed in aseparate cl).
Refactoring all QSB related logic by moving it to a custom view
inflated only using xml.
Change-Id: Icb4fd6eb855df1af15f685961c38351bf4fd4f4a
framework page indicator (used in quick settings)
The active page is indicated with the accent color. During scroll
the active indicator expands to 2 dots corresponding to the visible pages.
Change-Id: Iaf57836b642cf87e5eed98048ecca7dd8e7643a4
- The current PageIndicator has been renamed to PageIndicatorDots
and PageIndicatorMarker has been renamed to PageIndicatorDot.
- PageIndicatorDots and PageIndicatorLine implement PageIndicator.
- PageIndicatorLine uses scroll progress and number of pages to
draw a line of the correct size and position.
- All of these page indicator files are now in a pageindicators package.
Bug: 27227498
Change-Id: I9230d2e0600ce583989bd31d0b0e252b148d15c2
-> New RecyclerView handles wrap_content differently
-> Add mock set of suggested apps to the LauncherExtension
issue: 27581978
Change-Id: Id080e212e0425515fa66e821d116b95284bb3526