- Update color of Educational tip view contents. Background colorAccentSecondary
in NexusLauncher above S, colorAccent otherwise (b/185834169)
- Update widget picker search bar color and its text font and color. (b/186423026)
- Update button padding and text in pin widget picker. (b/182994384, b/183601584)
Bug: 185834169
Bug: 186423026
Bug: 182994384
Bug: 183601584
Test: Manually tested
Change-Id: I36cd3ed2285677d0c164db8f57f6c90a5f247982
=> Keep page backgrounds stable and only slightly modify the alpha + add stroke for active page
=> Don't shrink cell outlines to be too small (issue in hotseat on some devices)
=> Reduce cell radius to 22dp
Bug: 185163323
Test: manual
Change-Id: Ic17999f5672a3355dceeb25af923f02e960389d9
Make it possible to set the color of workspace scrim to a different color
per state. Motivated by making Overview Scrim and All Apps scrims different
colors.
Bug: 186253733
Test: Local build and flash
Change-Id: Id7c38ce3c9173308eedfcb7592ececa7bd6bf220
- We remove the fling completely
- We set damping to 1 for x/y springs so there is no
bounciness, and updated the stiffness and bounds to tighten
up the path to the final location.
- During the animation, we translate all launcher content
down
- When the x/y springs, and rect animator all finish,
we use a spring to bounce the launcher content back up
- Added AppCloseConfig so that the entire animation can
be defined in one location, with getter methods so that
all the involved parties of the animation can access the
current value.
- The animations are all defined linearly, and then
interpolated over using a 3 point curve.
Building behind feature flag as we tune the values.
Bug: 173107751
Test: manual, visual
Change-Id: I83ad0fa2c4234cf30004240d43e191354595adc8
Also update the way we compute shadow alpha so that it combines both text
alpha and shadow color alpha.
Test: Manually checked text appearances in launcher.
Bug: 185890335
Change-Id: I720a97bbaf21de86a5c446529109ce5b9ac5f6f7
- Removed All set screens altogether.
- Added "x" button to feedback view. This button now launches a dialog that allows the user to skip the tutorial.
- Added a progress tracker to the feedback view.
- Created a launch option to launch the back, home, then overview gesture tutorials in order.
- Added a button in the feedback view to progress through the tutorial.
- Updated tutorial animations to AnimatedVectorDrawables (with green accents).
Bug: 148542211
Test: manual
Change-Id: Icf3ec424141069895f97da74cd4ae881ff898d3f
- "All Set" screen doesn't show after Home/Overview/Back tutorials.
- X button in top left is hidden (we'll want to move this to the
feedback view).
- Feedback pops in and out from the top of the screen.
- Hand animation is replaced by video feedback at start and after
incorrect gesture.
- Back tutorial goes left then right, in order to match video.
- Updated strings and marked translatable (UX-reviewed already).
- Added Chinese translations.
- Many other things.
Test: Manual
Change-Id: I126a3ea0dad645014fab9cdee2ed19e06a8a56e9
=> Remove the bitmap-based icon outline
=> Add simple cell based location preview of drop location
=> Round corners of page outlines
=> Get rid of page background for focused page
=> Update colors to use system accent color
Bug: 185163323
Test: manual
Change-Id: Id604c59201536967e25236f305eeeb0aafc9c022
A tip is shown on the first widget/shortcut in the recommended table.
If there are no recommended widgets, a tip is shown on first widget
in an expanded header.
There is a delay of few milliseconds, to let the WidgetCells be
completely rendered on screen before getting their location.
Test: Manually tested
Bug: 184920163
Change-Id: I2637e84e7fc467b27888023434e3578a4b8ed4d6
Split InvariantDeviceProfile#numHotseatIcons into two variables:
numDatabaseHotseatIcons and numShownHotseatIcons. These are generally
the same, but different DisplayOptions within the same GridOption
can choose to show different numbers of hotseat icons while sharing
the same database.
numDatabaseHotseatIcons is used for all reading/writing/migrating
purposes, while numShownHotseatIcons determines how many Hotseat
icons to show in the UI.
Test: Existing tests pass, added two new migration tests
Bug: 184789479
Bug: 171917176
Change-Id: I54583504f61a47a4444b6a637ebb7e3ab31528b7
Bug: 184878454
Test: Open the full widget picker and observe the conversation widget
from SystemUi is listed under conversations.
Change-Id: I53cd74d80ce3c4ff77a92cd660ca9283416e9fd3
Adding new field for landscape icon text size and changing
the logic for when to use landscape sizes.
Test: manual
Bug: 182796672
Change-Id: I89833e8fd90f2606937c3b95ac10229a042213ec
1. Apps are feminine while widgets are masculine in some languages.
We should use a different set of strings to ensure strings are
translated with the right context.
2. We will be using a different theme for widget tabs. Let's keep
the layout separate.
Bug: 184613311
Test: manual
Change-Id: I88df8ca6091e4b6ddf81f34f180a6ce2cada16e3
Updated the Hime settings nav bar color to match that of the wallpaper picker app.
Test: manual
fixes: 183396026
Change-Id: Id2302a553c5ddf645d497cb832608efecb3e70ad
Preview video attached to BR
Key changes:
- SearchUiManager#getScrollRangeDelta is removed. AllApps initial vertical offset is now controlled by deviceProfile.allAppsOpenVerticalTranslate.
- ShelfScrimView is renamed to AllAppsScrimView. Scrim no longer does vertical translate with AllApps open. Shelf/overview related code removed.
- Scrim and AllApps content transition are animated with different interpolators. Scrim color is a blend of accentColor and allAppsScrim with proportion determined by progress*TINT_DECAY_MULTIPLIER
Bug: 183001675
Test: Manual
Change-Id: Id6bde7ee65c55c83c2973fe41f458b9364d39ecd
Due to the dogfood 4x5 grid using the wrong db, there may
be some rearranging of items.
The goal is to completely remove the old 4x4 and 4x5 grid,
but first we need to silently migrate users to the new grid.
We still need to keep the old grids in the device profile
so we hide them from the Styles & Wallpaper app.
We also need to reset and remove the ENABLE_FOUR_COLUMN feature
flag from the UI.
- Added TODO to remove this logic in the tracking doc
Bug: 183965808
Bug: 175329686
Test: have old 4x4 or 4x5 grid set up
install apk with these changes
confirm that we are now using the new grid and the
other grid options are inaccessible to the user
Change-Id: I81a91b8415effbe0bf7ba722f11ab44a4169e3df
- Fixes bug where devices with scaled grids were not
getting the correct deivce padding.
- Also fix bug where device padding was invalid.
Added validation check when processing paddings to prevent
this from happening again.
Bug: 175329686
Test: manual, enable debug flag,
run and verify no crash from validation check
Change-Id: I35b019c40667c08de4fad95ac4b05b2d8f8a0e74
- Grid scaling has problem that scales task icon and menu, which makes it hard to control icon size and text size in the manula
- Replaced the whole concept with dedicated Task size calculation in grid layout
- Support different icon size in TaskView in grid and removed task_thumbnail_top_margin
- Removed grid progress in TaskViewSimulator as well
- Refactored how ClearAllButton scroll and translations are calcualted to align clear all properly in grid
- Make page center calculation aware of PagedView pivot and scaling
Bug: 174464863
Test: Manual on two screens
Change-Id: I47b13ef6e55c6e16c52ea04225f5bde02ed82fc2
Adds dynamic sizing to margins around task view, also creates space in the
overview actions view in landscape to make space for the proactive chips if
needed.
Bug: 182529089
Test: Local build and run on two devices
Change-Id: I447de3564a3249ede4e8e8a4d3e5d1c177f6be61
The feature is controlled by the ENABLE_ENFORCED_ROUNDED_CORNERS flag
(currently set to false).
If does not yet handle P/H flags to control its behavior.
Bug: 183097166
Test: Manual tests with top 1P App Widgets (See bug for results)
Change-Id: I56fca1b717f37ad518588115409f2144a71d4b98
Only use the "app name" instead of "app name widgets" as title
Remove "Touch & hold to move a widget" subtitle.
Test: manual
Bug: 179797520
Change-Id: I7a5954af73aa5b480096e93ade3520cef6c93f17
Instead of recalculating the orientation after adding margins,
we account for the margins in the initial calls to orientAboutObject.
This ensures consistent mIsAboveIcon throughout calls to show the popup.
- Also updates the smaller radius to match the middle items.
Bug: 175329686
Test: long press on item where height and height without margins would
result in differing mIsAboveIcon values
eg. the 3rd item in a folder in the top middle of 5x5 workspace
Change-Id: I6132b544a89c7948339d17f219ad75c797233f55
Update the tapl test logic to scroll a smaller distance to avoid the
search bar blocking the target touch area.
Test: Open full widgets sheet and observe the widget recommendations
shown at the top.
Run AddConfigWidgetTest
Bug: 179797520
Change-Id: I6d53bbb46e2cb928ed7d015aaac604be17d33178
- Colors interpolate between the primary and secondary popup colors
- Removed condensed height and icon scale
Bug: 175329686
Test: visual, manual checking apps with different shortcut options
Change-Id: I064c329dc8ad3ae6f408056c74372cca3ce20b68
- Removed divider views, using margin to separate views
- Removed elevations
- Added a ViewGroup to hold all notification views, and applied an outline
Bug: 175329686
Test: visual
Change-Id: Iad70dcfdaeba6050c2b17c07f76bb7bfb728e544
SearchBarController
- Use Extended Edit Text to handle close keyboard action well.
- On press enter while search remove focus from bar and hide keyboard.
- On cancel button press hide keyboard and also reset search targets to empty so that on next search session the previous results dont flash (show for a short time before reflecting users query).
WidgetsFullSheet
- Make sure expanded header are reset when user leaves personal/work recycler views. Search recycler view resets its expanded header on every search already.
- Show 'no search results' view if no search result present.
- Update WidgetListBaseRowEntryComparator to show personal profile widgets first.
Test: Tested prototype locally.
Bug: b/157286785
Change-Id: Ibaa208c4091783e14ac0887caf559e867185df5a
- Pagespacing set to 0 to have similar design to figma
- Added padding to left side of left panel and right side of right panel to match figma
- getPageScrolls changed to support two page scrolling
- validateNewPage changed so that only even indexed pages can be switched to
- getPageWidthSize added for measurements, it returns half screen width when two panel is active
- onMeasure changed to use getPageWidthSize
- panelCount has been increased from 1 to 2 when two panel is active
- add feature flag for two panel home
- shouldConsumeTouch changed so not only currentpage is checked but currentpage+1 screen as well
- add one more extra check for setDropLayoutForDragObject for currentpage + 2, next to right panel
- using new grid option for two panel home screen
Test: manual
Bug: 174464115
Change-Id: I1bad7eecc67f65fb833608744a5aa5aca65373b4
TODO:
* Extract out common elements in TaskShortcutFactory.MultiWindowFactory
for commonalities between new and old way of
invoking split screen
* Integrate with WM APIs (b/182002789)
* Write tests for SplitSelectStateController
Bug: 181704764
Change-Id: Ice35adb4ea82897f5e2433dc9b93a549f3d511b5
Test: Expand and collapse apps in the widgets picker. Then, observe
the height of the fast scroller is correctly displayed.
Bug: 181629430
Change-Id: I9efcf902f8548fc5c8a398609758d43123228e5e
-Have a recycler view layout for search widgets list.
-Make WidgetsFullSheet implement interface- SearchModeListener to get notified when user is using search and also when search results are ready.
-Have a WidgetsListSearchHeaderViewHolderBinder for search result headers which shows subtext in header as concatenated string of widget/shortcut labels.
-Modify WidgetsListAdapter and WidgetsDiffReporter to work well with search recycler view.
Test: Tested prototype locally. Also added robolectric test.
Bug: b/157286785
Change-Id: Ie29d9f295fddb6d727b5fc26a360f514f2f4a763
Test: Remove all widgets from work profile using TestDpc. Observe
empty view is shown in the full widget tray. Add back some
widgets to work profile and observe widgets showing up in the
full widgets tray
Bug: 179797520
Change-Id: I2e1fcb5a0014568a4674e2bcc0a3ed3c6ec5a44a
Test: Tap on widgets and shortcuts in all widget tray and observe
correct string is shown.
Bug: 179797520
Change-Id: I0e274017d4af1de506afbb819ab91f6575d7bb8e
Screenshot: https://screenshot.googleplex.com/9Ds55rsFSNajLWN.png
Test: Open full widgets sheet and observe widgets and shortcuts
counts are correctly displayed.
Bug: 180725078
Change-Id: Ibf43c14cc06c0e9bf245c53f190095d0eaeace12
1. Show widget previews in their expected cell sizes.
2. Update the bottom picker to use a table layout rather than
a horizontal scrollbar.
3. Move the title and cell size description to the bottom of
the preview.
Test: Run AddConfigWidgetTest
Manually open full and bottom widgets picker and observe
widget previews.
Video: https://drive.google.com/file/d/1K8A8hK5B4FgPTsX3cb-Yt4a_VjI0pk-w/view?usp=sharing
Bug: 179797520
Change-Id: I938612cb2e2477ce4a3a2d6c8891a0a36fc0978c
A header container view will contain
1. A horizontal bar: for indicating the popup view can be dragged
to dismiss:
2. A title view: a title of the widgets full sheet popup view.
3. A search bar: for widgets / shortcut search. Since we will be
making the fallback search algorithm available in AOSP, the
search bar will now live in the Launcher3 codebase.
4. Recommended widgets (coming soon...)
This CL also added a scroll effect which gradually collapses the
title view when the user scrolls down the recycler view. The title
view will gradually restore its height when the user scroll to the
top of the recycler view.
Test: Manually test widgets pickers in work profile and non work
profile setup. Verified the fast scroll bar works well in
both setup.
With searchbar: https://drive.google.com/file/d/19grUHL_LspLhMD_5p6-i0CiMW1FpflmD/view?usp=sharing
Without searchbar: https://drive.google.com/file/d/1KRPgEAESHUhJDo1UJsQN80JO1c9Y8Nhl/view?usp=sharing
Bug: 179797520
Change-Id: If0016e3b3c693414897140e7912531ed9bd5deef
Adjusts layouts to accommodate more rounded dialogs, includes adding a
new rounded triangle drawable that can be clipped by a rounded rect.
Bug: 179922117
Test: checked all instances and RTL
Change-Id: I4c2f0ead0fd56eba14ffd9b82f0c100f7d92ef5b
* Added isScalable, minCellWidth, minCellHeight, and borderSpacing attrs
When isScalable is true, we use set workspace cell values to
minCellWidth/minCellHeight and then scale the cell values to
fit the available space. This allows us to have consistent
aspect ratios when two devices match the display/grid options.
This is different from the dynamic grid, which calculates
cell values based on iconSize/textSize/etc and then allows
the cell width to be as wide as space allows.
I adjusted some variables so that they will auto adjust
based on another value, indepenent from whether the
grid isScalable or not. An example of this is the folder
label text, where it's always set to be 1.14x of whatever
the workspace icon text size is. This is so we don't need
to add a bunch of more variables to DisplayOption/GridOption.
Bug: 175329686
Test: - switching between device profiles,
- testing folder open/close
- testing in multiwindow
- testing in landscape
Change-Id: Ia469ae0d65b518469ef264b726db46f4a3210056
Normally availableHeight excludes system insets, but taskbar is added
after availableHeight is calculated. This discrepency causes some bad
calculations such as TaskView size.
Test: touch nav bar when in an app with taskbar present, ensure the
task doesn't jump due to incorrect calculation
Fixes: 179478728
Bug: 171917176
Change-Id: I16d39d3e1d9708e2a64c81b1ac24466f9567d1b9
- Fix folder animation not lining up perfectly with foldericon.
Bug: 175329686
Test: manual check that the animation works as expected
Change-Id: I5c35525102e2ab7ca542bc08568706531e531890
These do not work well with gesture-nav and can potentially
block the Launcher UI.
Instead exposing on custom actions with keyboard accelerator and
using thee internal arrowPopup for resize options
Fixing SecondoryDropTarget not sending appropriate stats log
Bug: 179854703
Test: Verified on device
Change-Id: I268690f8a937896e4350496128a38959003f8939
Changes:
1. Add a WidgetListHeader view for showing icon, app name and a subtitle.
2. Only WidgetListHeaders are always visible to users in the full widget
picker.
3. Only one widgets list from an app is visible in the full widget picker
at any one time.
Test: Auto: run add robolectric tests under widget/picker
Manual: Open full widgets picker. Then, expand and collapse apps.
Video: https://drive.google.com/file/d/1gzfeEm5IOAu0qHsO77OTS2eMfU7CHJiL/view?usp=sharing
Bug: 179797520
Change-Id: Idac58be23dfeafcb79b3c61b4972d3addb462de1
- Border spacing is the spacing between the cells.
- Workspace cell height is now fixed, and we allocate
all the "extra" space to three different variable height
areas.
* Built behind ENABLE_FOUR_COLUMNS flag because it hinders the
default grid.
Bug: 175329686
Test: - set border spacing to 0 and confirm matches prior layout
- test drag and drop still worked
- test reordering
- test widgets
- test folders
- test multiwindow
Change-Id: Ic6f3dff577d28ff214bda4b0a787ec7fd08c108b
For keyboard DnD, we use Accessible DnD implementation.
A placeholder FloatingView draws the focus indicator
for the virtual views
Test: Visible
Bug: 178781566
Change-Id: I632fc7377dffa1e05e3f0a9c3ad18641deb5a1a4
- Make pop ups use system colors
- Text colors in dark theme should also use system colors
Test: visual
Bug: 179427049
Change-Id: I9c0eb2b6970ff9bf66fe1d5c0040b10bfa2087b0
- Currently supports WorkspaceItemInfo (e.g. normal app icons
including hotseat predictions and pinned deep shortcuts).
- Currently doesn't support Folders, Notification dots, or
long press.
Some technical details:
- Always allow HotseatPredictionController updates given the
Hotseat is always showing even when Launcher is stopped.
- Represent Taskbar Hotseat items as BubbleTextViews, to
allow for normal click handling etc. When the hotseat is
updated, we reuse the same BubbleTextViews that were
initially inflated, and just reapply the new info.
- Add new BubbleTextView iconDisplay for Taskbar, to allow
for different treatment such as icon size.
Bug: 171917176
Change-Id: I325eb39051f2dc69228b39b5c40ed0cbdad8e200
Talkback wasn't announcing the incremental download/install progress if the progress wasn't updated. Updated BubbleTextView to update the content description with the incremental download/install info if the progress bar should be shown.
Fixes: 149444435
Test: manual
Change-Id: I3efe6e31cec389da4119a2179a341aedd074a0b7
This way, changes on Theme.DeviceDefault will be reflected on launcher
as well.
Bug: 173561945
Test: visual
Change-Id: I297560253242476f34c47fcd845c44e96873a8b2
(cherry picked from commit fc82c5a92076116b16d0b1b6c4eb6acf5120b8bb)
Deep shortcut text can span two lines on certain languages. Set translation character limits and increased options popup width.
Fixes: 175698383
Test: manual
Screenshot: https://screenshot.googleplex.com/4BArwKVSFg3VbTc.png
Change-Id: I263b859246fa6475591a65f92189e41a920beefe
> Workspace snapshot is logged when the workspace loads (at most once a day)
> Removing unnecessary thread jumping when logging folders
> Preference snapshot is logged on process start and whenever something changes
Change-Id: I93767de89b11522d843c0e8300d1f108c78f6d90
SearchResultIcon will be able to render apps, shortcuts and remote actions. It can also handle its own focused state drawing.
Screenshot: https://screenshot.googleplex.com/C3KgjJtLQTBPgaf
Bug: 170752716
Test: Manual
Change-Id: I460a9c128ea3f5814784e342c5d5fa5b7e310882
Introduces PluginSearchPipeline class, a plugin listener for AllAppsSearchPlugin. Coverts from List<Bundle> results from callback to AdapterItems to be rendered in SearchController.
- Moves AdapterItem to AllAppsGridAdapter
Bug: 164699827
Test: Manual
Change-Id: I20ec147e6b3f4707cf69d62b4b4ac70a90196345
Predictions are loaded and managed by Launcher model and follow
the model lifecycle. They are then bound to the callback which
handles the UI
Bug: 160748731
Change-Id: I4a3ea0698d80fafe94afb4ce66ffa7f4a6a91c68
Search will recursively go into each preference group and set visibility of preferences based on title match. If a preference group (category) has no preferences, we will hide that preference group as well.
All queries and titles are sanitized by turning them to lower case and replacing underscores with spaces for convenience.
Change-Id: Ibdc689d74d0c872c92c1d523bbc0efdb9e31aecd
* Velocity should match the direction of the spring values.
(Swipe direction is upwards, but icons move downwards on screen).
* Remove additional conversion to pxPerS since getDimension already does that.
Bug: 160003774
Change-Id: I12912edb2354c4a30c538da6ca3789c46d82b94d
- Calculate work profile switch height and apply it as a padding to recyclerview instead of reading height from view.
- Add solid background to work_apps paused overlay for improved crossfade animation on pause/unpause
- Don't show work paused overlay text in landscape mode
Bug 151672365
Bug 153763804
Bug 151595687
Test: Manual
Change-Id: I6c14a8a1624455181d4998555bcc3ae2bb422efe
The "TaskView" morphs as you drag up from the
nav bar, and transforms into a "home icon" or
final "TaskView" when you release your finger.
If you cancel the gesture (e.g. drag back down),
the view simply fades out and provides a hint
to swipe straight up.
Demo: https://drive.google.com/open?id=1NXlO1W6IhLoX0k2K6b-QZ5IXp0o7OYqO
Bug: 148542211
Change-Id: I3d5e9a45fcadc6a498941ea17813b9487720a504
- create predictor from items in bgModel instead of scanning views
- Launcher no longer checks for duplicates before sending pin/unpin events
- sending cached items from last prediction to reduce UI shuffle
- Switch to using UserCache to persist and read ComponentKey
Bug: 148814143
Bug: 156413231
Bug: 156200931
Change-Id: Ide6330bed8eb7f0c6fbec1d1ac21e7f67a9b2be2
-> make dismiss_prediction_label and pin_prediction translatable
issue 155846260
-> use ' instead of ’ for work_apps_paused_body
issue 155639533
Test: Manual
Change-Id: Ibb291bb803f8fa8a39c7ddf81db5d8a253a26766
=> setCurrentPlayTime is bounded between [0, duration] by the animation framework
Instead using interpolator so that we can go outside the bounds
=> Tune spring stiffness and dampening for overview card dismiss animations
Bug: 154061408
Change-Id: Iaa31491fff499db916b36d9779ec159b8a89a2de
- Switch app label text color to #DE000000 in light mode
[screenshots attached to bug]
Bug: 151389610
Test: Manual
Change-Id: Ia027eaacd365498db0da3c25f7cc4ab75232c7f2
- Extracts abstract classes for common functionality
- Renames some layouts, etc. to not be back-specific
- Consolidates more logic in the controllers rather
than classes like BackGestureTutorialTypeInfo
- Removes redundant TutorialStep enum (combining it
with TutorialType)
Still considering removing additional layers of
abstraction like the Fragment itself (instead
keeping UI within the Activity, which would still
be controlled by a TutorialController).
Test: Built and went through the Back tutorial to
confirm existing funcitonality was not disrupted.
Bug: 148542211
Merged-In: Id893869cb59609141dcdbdca01744d0f5952b546
Change-Id: Id893869cb59609141dcdbdca01744d0f5952b546
- Change drawable to match specs, using ShadowDrawable to
add shadow when necessary based on workspace theme.
- New drawable is 18dp by 6dp; add support for different
width vs height, and decouple from workspace page
indicator (which is still 24dp tall).
Bug: 151768994
Change-Id: Icfd0eac197ebc4d1f5bb799f8538c4bd99d800cd
Add wallpaper changed broadcast receiver to BaseDragLayer, which
checks if the new wallpaper is blacklisted and relays that to
remove the scrims.
Bug: 150144115
Change-Id: I55b7b98fdd419cd76532492461a872367efed67b
Added behind FeatureFlag.KEYGUARD_ANIMATION due to dependency on
Ie94ab8ecd35e9dcc28d0b8f7aaeb058e15b0f80b.
Added dynamic resource unlock_staggered_velocity_dp_per_s so that the
animation can be tuned.
Bug: 151238866
Change-Id: I4d349d32cc7d86be3cdc582c2a7c565be2931444
- hide overlay icon in landscape mode
- don't show edu if user has already seen legacy work profile edu
- make sure personal tab is highlighted when work profile is reinstalled
- always go home after a work profile is added or removed
- add tests for work edu flow
Bug: 150122946
Test: Manual
Change-Id: I8f80ac763acf03ca31a534464f4ddfd84528d329
Enable preloading if config_enableTaskSnapshotPreloading instead of
assuming it should be off for all low ram devices. This allows it to be
configured via an overlay.
Test: TaskSnapshotCacheTest
Test: TaskSnapshotControllerTest
Test: TaskSnapshotPersisterLoaderTest
Test: TaskSnapshotSurfaceTest
Bug: 148099851
Change-Id: I9e3320dcff5b710e110cc7199c41c5a004991592
This includes
- Dismiss work edu on launcher state change
- Remove work tab flash on first setup
- Make edu bottom sheet adopt theme color
- Fix Work toggle bottom inset
Bug: 149200572
Bug: 149197172
Bug: 149199058
Bug: 149215103
Bug: 149198955
Bug: 145595763
Bug:149481723
Test: Manual
Change-Id: I39a30782b80fd3a66bede55754fa30a940d2caee
We'll have a db for each grid option and a db for back up / restore.
TODO(pinyaoting): support back up / restore using the new infrastructure, particularly calls to GridBackupTable should use different DBs when the feature flag (NEW_GRID_MIGRATION_ALGORITHM) is on.
Bug: 144052802
Test: N/A
Change-Id: I644a3e70148bd78204a747a337446a3c038f616f
This is done to avoid shortcuts being crowded when a predicted app is
long pressed.
Bug: 148707493
Test: Manual
Change-Id: I356a2cebfcc329478d96ee815fd641179359a572
import various resources from tips gesture tutorial
Bug: 146173041
Test: build and verify it passes
Change-Id: Iacea7ba1f2d15452e7442f2976633da7012fab35
Also adding support for grouping multiple plugins in same APK using process name
To customize resources update the defination of dymanic_resources in config.xml:
<array name="dynamic_resources">
<item>@color/delete_target_hover_tint</item>
<item>@integer/config_folderDelay</item>
<item>@dimen/all_apps_action_spacing</item>
<item>@fraction/container_margin</item>
</array>
Change-Id: I79c08845464510af96b16d375b424ad914657f39
Supports filling hotseat with predicted apps, pinning of predicted apps
and manages replacing predicted apps with user drag.
Bug:142753423
Test:Manual
Change-Id: I224294f9353a64c46d28c22263a72332a79fddf4
> Connect to a predefined content provider to get package specific action
> Add that action to shortcut menu and task menu
Change-Id: Ide5c09d04112e86c8e19c2f9e66c88c15b3fd04e
We build an IDP with no grid size override values. This
allows us to reference the profile measurements so that we can have a
consistent UI for areas that the grid size change should not affect.
Bug: 124967099
Change-Id: I6235862c95800d8f31dbf2de1d12b1fcf4dbd850
Test: Manual - Create unnamed folder and change system language. Folder
name should pickup new language.
Bug:78611156
Change-Id: Ie06baebe5b9a64e91630c581b75b674f363b9973
A previous change [1] introduced the material library as a static library
for the SecondaryDisplayLauncher. The material library defines a
resource "attr/iconSize" with format="dimension" while Launcher3 defines
a resource of the same name with format="float". The material resource
is being overriden by the Launcher3 resource and is preventing aapt2
from disallowing multiple definitions of the same attribute with
different formats.
This change renames the Launcher3 iconSize so it will not collide with
the material resource.
[1] If183dd35a1d197c4a9a8225a021e36c4f1662587
Bug: 129146717
Test: build success and inspection of generated apk
Change-Id: I5eb54ea606ddcfb47d5150b44906a8707203e905
This reverts commit 520d9133a3.
Reason for revert: b/130438597#6 outlines why we can't yet check this in.
Change-Id: Id7a00e926b16ca2ffc3396cbfae19c753b4b7ee9
If the ENABLE_HINTS_IN_OVERVIEW flag is enabled, pulls chip hint
data (currently from the NavBarHint plugin; eventually from AiAi)
and shows the chips between the task view screenshot and the QSB.
Screenshot: https://screenshot.googleplex.com/Ww05W13XjBv
BUG:124390101
Change-Id: I7686673b705257eca31f2fa40e2744e197153c7c
Device profiles are defined such that the grid size is fixed
and only the icon and text sizes change. For every grid size option
there are multiple display configurations.
Bug: 118758696
Change-Id: I54aac9106c576324b02530913c447e849b4ae1da
Creating a utility class which generates a launcher preview
for a provided InvariantDeviceProfile
Bug: 118758696
Change-Id: I0aebeb6eed37f72edd1cc305e58eece305aae3ff
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
Sometimes the deep shortcuts can take time to load, show an initial loading
state before any text is set.
Note: changed singleLine to lines=1 as the former causes issues with RTL
layout and is deprecated.
Bug: 78620208
Tested: manual test on pixel 3
Change-Id: I782addb8d64425a1a95cee4f104fc0bd44809815
> Combining both preference into a single screen
> Adding plugin preference screen so quickstep build
Change-Id: I3d2ff3ebdac3c774659e79ecb81be6f75f765eb0
- Clarify caching policy, we only cache the last N task snapshots
- Pull out necessary logic from RecentsTaskLoadPlan (deprecated) into
launcher class RecentTasksList which also manages the invalidation of
the last loaded list
- Pull out logic from task loading logic in the shared lib into separate
classes TaskThumbnailCache and TaskIconCache, and have each task view
manage the load request for data
Bug: 117603579
Test: Thumbnails still load
Change-Id: I938e4dea19e7f5d24724c32194d254ca003e89aa
- Use accent color for action
- Update font-family to use TextTitle style
- Reduce elevation to 3dp
- Inset snackbar left/right margins more, unless we need to increase the
width to fit the text
- For largest display/font size, fallback to 2 lines and smaller font if
necessary to not cut off the label
- Remove top/bottom padding on action (b/114084048)
- Allow up to 20 char for the action (b/114317987)
Change-Id: I833c102aaac3ba3db2283997c142926c3830336d
- Add methods to ModelWriter to prepareForUndoDelete, then
enqueueDeleteRunnable, followed by commitDelete or abortDelete.
- Add Snackbar floating view
- Show Undo snackbar when dropping or flinging to delete target; if the
undo action is clicked, we abort the delete, otherwise we commit it.
Bug: 24238108
Change-Id: I9997235e1f8525cbb8b1fa2338099609e7358426
- Clip the arrow that is overlapped by the popup, so that it doesn't
show when that part of the popup is highlighted
- Animate the arrow first instead of last. Now the animation feels
like one continuous motion as the arrow grows into the popup.
Bug: 111159923
Bug: 111006276
Change-Id: I22fb3037d950d55fe6c8ed4dc5345279874f0a3a
Hiding workspace from tests when in AllApps or Overview.
Also, we don’t need workspace_page_container.
Bug: 110103162
Test: Running TaplTests suite
Change-Id: I10875a1ce5d41a015c63034160676578f52d2e98
- Use consistent bounds for folders as other icons, to ensure dot
has a consistent placement (moved right+up a bit)
- Strengthen the ambient shadow to improve contrast
- Increased blur size and opacity
- Use a dark gray rather than black for dots on dark folders
Bug: 73331123
Change-Id: I888f4645d3a48465af93f5003dda8f8b7c3129f3
> Using {packageName} instead of hardcoding com.android.launcher3 in AndroidManifest.xml
for strings which are dependent on packageName
> Adding proguard rule to prevent obfuscating any overridable class
> Making it easier to extend SettingsActivity by overriding the fragment class
Change-Id: I5668c3f33b4cf20ad01d7f54b3d79cc0d268d391
* Extend page indicator so that its centered within the gap between
the workspace items and hotseat.
* Decrease the amount of extra space we allot to the hotseat.
* Add the extra space to the hotseat bottom padding so that the hotseat icons
are aligned to the top of the hotseat.
Bug: 78589630
Change-Id: I78c619a757d9d248874216e93376ad4ba18c8e50
Adding things that will be used by TAPL.
1. Adding Ctrl+W to open widgets
2. Marking a UI element with shortcuts_and_widgets
id. Example of usage: we want to be sure we are in all apps.
A somewhat paranoid way to check this is to check that
apps_view is on, and workspace and overview_panel are off.
However, workspace is always in the hierarchy. We use
shortcuts_and_widgets instead.
Bug: 110103162
Test: Manual
Change-Id: I2a851e16c477f7ee895b459530bc5a1ff19e32f8
> Using white scrim on adjescent tiles in overview
> Using a ligher scrim in dark-theme+dark-text
Bug: 80253867
Change-Id: I3f257d3addaca8bc5970a61722f5ae0e7af89382
> Using common logic for announcing a floating view for widgets and folders
Bug: 79091095
Bug: 79748886
Change-Id: Ibb3fe48e68e724f50d69f51a03d3b35ad0baf625
> PageIndicator is a 1dp indicator which does not contribute in any padding calculations
Bug: 79111591
Change-Id: I4d8be0149da2b3f14593ae71ca037ffe3885d9be
> Caret is only visible when the accessibility is enabled
> It is visible in NOTMAL and OVERVIEW state and moves out of the
scrim along with the scrim.
> Acts as an accessible target for various options
Bug: 78172350
Bug: 79215734
Change-Id: I8a968b67e36901859649546295f6491d49cc9ce9
> Converting the scrim to View, to better avoid overdraw
> Overview and Spring loaded state have different scrim alpha
> When going from overview to all-apps, there is a color scrim drawn over the overview panel.
The slef color is merged with this color to prevent overdraw, and the remaining screen is drawn
with a cut-out round rect path
Bug: 79111591
Change-Id: I26801fde13dd6adb4b06110bbe8087e35cc31847