Commit Graph

218 Commits

Author SHA1 Message Date
Alex Chau 8a7617f168 Merge "Fix slow page animations on large devices" into tm-dev 2022-05-12 19:08:41 +00:00
Andras Kloczl c2bd15fd2a Fix slow page animations on large devices
- Change non-fling page snap animation duration
- Change fling gesture related minVelocity

Test: Scroll between home pages, allapps, folder pages
Bug: 229073876
Change-Id: Ib39187ec9c832e65dd0b71f8f4a00e1b636423a4
Merge "Hide web settings, if web suggestions is disabled" into tm-dev

Change-Id: Ib39187ec9c832e65dd0b71f8f4a00e1b636423a4
2022-05-12 12:56:41 +01:00
Sunny Goyal f0ff70a2a5 Adding support for easily extending Launcher DragAndDrop support
Bug: 232165524
Test: Verified locally
Change-Id: I3b4f37bc9914de55330662edd678e6fdd0eafece
2022-05-11 21:34:08 +00:00
Sunny Goyal 6bc4257d86 Separating refresh rate tracking to a separate class
Bug: 221961069
Test: Presubmit
Change-Id: I04091ebc9f3d88d2dbbde1bf0d5390c815e026d1
2022-02-28 17:13:00 -08:00
Tony Wickham c07fb08a1e Make taskbar focusable when folder is open to get IME input
- Remove ActivityContext#supportsIme(), as it's always true now
- Add OnFolderStateChangedListener, which we register when clicking on a taskbar folder icon to set the window focusable/not.
- Also remove Folder.STATE_NONE and instead default to STATE_CLOSED (renamed from STATE_SMALL).

TODO: make sure back button is visible above IME (followup CL)

Test: Open a folder from taskbar while in an app, no animation jump and can change folder name
Bug: 180051157
Change-Id: I7c7847657d462c16677d66b9ffa8b6fe5f164084
2022-01-12 14:22:31 -08:00
Benno Lin 5261776d3a Update TAPL to operate on folder icons.
The change updates features listed as follow:

1. Create a new class for folder icon.
2. Implement function to drag a icon to the other.
   (create a folder)
3. Find folders in a workspace.

Bug: 199120092
Test: Launcher3Tests:com.android.launcher3.ui.TaplTestsLauncher3#testDragToFolder
Change-Id: I3044025f8297f6e442446d70238f4b56f38a798a
2021-10-25 11:08:44 +00:00
Tony Wickham d345751849 Disable FolderNameEditText on Taskbar
Test: Can rename folder on home screen, but tapping folder name in taskbar does nothing
Bug: 180051157
Change-Id: Ief19805683f754995baf24d7f41f3979841d5bd3
2021-09-03 12:50:15 -07:00
Sunny Goyal 711c596c86 Binding Taskbar directly from Launcher model
This allows taskbar to be loaded even in case of 3P Launchers
and removes dependency on LauncherActivity lifecycle

Bug: 187353581
Bug: 188788621
Test: Manual
Change-Id: I5a0988e0697b41677d4c58f0213aef14ec0c0972
2021-07-15 12:43:11 -07:00
Samuel Fufa d04a92d1ed Refactor FolderInsetAnimationCallback to be used with any view
- Update ic_corp_off icon to outline
- Remove shadow from work toggle
- Translate work fab when keyboard is shown

Screenshot: https://screenshot.googleplex.com/593tEg7bE4kSS4y

Bug: 191251404
Bug: 191250785
Test: local
Change-Id: Ie7dddfd17eb90575a1e1f67e281070dd8d268f8d
2021-06-16 17:25:53 -05:00
Jon Miranda 5688010306 Folder polish - update color extraction, fix contrast issues.
- Also fixes open/close animation when items were not getting clipped
  due to folder not being measured yet.

Bug: 190210234
Bug: 190164147
Test: manual
Change-Id: I230c33d7e4e1871d8d702737c56c79ce46504b8f
Merged-In: I230c33d7e4e1871d8d702737c56c79ce46504b8f
2021-06-14 17:54:19 +00:00
Jon Miranda f564b65f2a Folder preview polish.
- Fixes notification dot not aligning in 4x5 grid
- Fixes clipping issues with large folders
- Fixes clipping issues with preview item animations

Bug: 188095988
Test: manual

Change-Id: I6821b3cb3c65e5928c7be1cddd7f292a37842698
2021-06-09 10:04:39 -07:00
Jon Miranda e41dd483e6 New folder icon style (uncropped icons).
- Switch Circle to PathShape as it allows for more flexibility on
  choosing what gets cropped.
- Remove shadows, and stroke.

Bug: 188095988
Test: manual
Change-Id: I602b3efcd35c2c11dc3461f49099c2f2a56eae59
2021-06-04 18:32:10 -07:00
Jon Miranda e3104682fb Folder polish
- Update folder hint text to ensure enough contrast.
- Clamp down on alpha when animating to local color extraction
- Update colors to new spec.

Bug: 179209484
Bug: 175329686
Test: manual
Change-Id: I9471504e10f02630ae13b2c478ced1ee05bd5220
2021-05-19 14:03:09 +00:00
Jon Miranda 7bbd03160f Fix contrast issue with folder background and text colors.
Bug: 187797251
Test: dark wallpaper, light wallpaper, toggle dark theme on both
Change-Id: I57ddfc91878d68735d5ae5ec5ab78222fda101ca
2021-05-11 17:01:53 -07:00
Sunny Goyal 5996937798 Removing Launcher dependency from Folders
This allows opening/closing folders without a Launcher context

Bug: 187353581
Test: Manual
Change-Id: Id73a40445a23004eb554f0422d286aa0ff6b3c41
2021-05-10 14:01:43 -07:00
Jon Miranda 0b6fa71deb Add local wallpaper color extraction to folder backgrounds.
- Starts listening to local wallpaper colors as soon as folder
  is positioned.
- The folder open animation already has a background color
  animator.
- For simplicity, folder open animation always starts
  first, and then we cancel its background color animator,
  and start a new animator to the extracted color.
- setAutoCancel would be handy here, but it does not work, will
  track in a separate bug.
- Since folders are reused, we clear our the color extractor on
  folder close.

Bug: 175329686
Test: multiple folders on rainbow background
      open each folder, ensure bg animates to proper color
Change-Id: Ie0f2c0632fa2361f7710ba247d74f882620dec16
2021-05-07 16:16:36 -07:00
Andras Kloczl 7a1ca0b299 Launcher home currentpage refactoring
Calling cancelLongPress on all the visible pages when needed
and enabling hardware acceleration on them when a folder
animation is in progress.

Test: manual
Bug: 174464691
Change-Id: Ib11265abfd184fed41acc9a6347a32aec12895f2
2021-04-09 11:22:14 +02:00
Jonathan Miranda 1536248f3d Merge "Snap to destination page before animating folder close." into sc-dev 2021-03-31 19:14:56 +00:00
Jon Miranda 0369cd5470 Folder updates.
- 3 item folder preview has the first item on top of the other 2
- Skip first frame of the folder open animation as there is no
  visual change in that first frame.

Bug: 175329686
Test: visual
Change-Id: Ida9a55ee5093c49f230cdf22d7943b2a6a7ed42d
2021-03-19 12:07:19 -04:00
Jon Miranda 01554536a9 Snap to destination page before animating folder close.
This ensures the X page animation runs in the preview.

Bug: 175329686
Test: Scroll to 2nd page, and close folder before scroll finishes
Change-Id: Id4820a212dcc945b0134b79f3d42c68954b17275
2021-03-17 12:15:48 -04:00
Jon Miranda e126d72fa8 More grid changes, closer to final specs.
* 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
2021-02-25 17:34:56 -05:00
Tony Wickham 7ba547cd2d Folder support in Taskbar
- Add TaskbarActivityContext which allows shared Launcher elements to
  "just work" using existing generic ActivityContext.
- TaskbarContainerView extends BaseDragLayer<TaskbarActivityContext>.
- Inflate FolderIcon and Folder using TaskbarActivityContext to be
  shown in TaskbarContainerView.
- Use TaskbarActivityContext's DeviceProfile to determine icon size
  instead of overriding in styles. This also ensures that normal
  BubbleTextView icons have the same size as FolderIcons.

Test: Place a folder in home screen hotseat, ensure it shows up in
taskbar and can be opened, and that apps inside it can be launched
or dragged.
Bug: 171917176

Change-Id: Ic25d2f84bcd7e3399c88989305ea565497c030d9
2021-02-16 15:07:01 -08:00
Tony Wickham 1906cc33f9 Refactor Folder to use ActivityContext and BaseDragLayer
These are the more generic versions of Launcher and DragLayer, so
that Folders can be used in other surfaces.

Test: Open and close Folders on home screen, ensure works properly
Bug: 171917176
Change-Id: I39b9aedbd8319ca61ea0e776bc95eab585e023d5
2021-02-16 15:06:50 -08:00
thiruram 03f8dcb8a4 Add instanceId to LAUNCHER_FOLDER_CONVERTED_TO_ICON log event.
Bug: 179534152
Change-Id: I0e4cedbfc2310258ec83f5dd756f8eb71189206b
2021-02-10 10:31:24 -08:00
Sunny Goyal bfc0c38157 Updating ItemInfoMatcher to work with java streams
Adding support for bulk removing items from a folder icon.
This fixes workspace item removal when a folder gets replaced
to an icon during the delete operation.

- Lets say user has a folder with the same app twice.
- User disables that app.
- Launcher removes all shorcuts of that app

However, because we call "replaceFolderWithFinalItem" during
this removal, we end up creating a new shortcut that does
not get tracked by the removal, so the user is left with
an enabled icon of the disabled app.

Bug: 162378169
Test: manual test, repo steps in bug
Change-Id: Iaf6550894c156b3b5ec2a5aa58bab76a4a28819e
2021-01-27 15:19:56 -08:00
Winson Chung f99351888c Revert "Revert "Merge commit '8d14dbe041199d611839140f1c9285fd4174e9f4' ...""
This reverts commit 087a9e39b6.

Change-Id: I05b17a6e4aaaef6de3c2fa26aad45a39eb2833f9
2020-10-23 09:27:48 -07:00
Alistair Delva 087a9e39b6 Revert "Merge commit '8d14dbe041199d611839140f1c9285fd4174e9f4' ..."
Revert "Merging from ub-launcher3-master @ build 6877130"

Revert "Merging from ub-launcher3-master @ build 6877130"

Revert "Merging from ub-launcher3-master @ build 6877130"

Revert submission 12738409-merge_ub-launcher3-master_6877130

Reason for revert: Introduced crashes to global presubmit

Reverted Changes:
I624658ce6:Merge commit '8d14dbe041199d611839140f1c9285fd4174...
Iccd2f1e3a:Merging from ub-launcher3-master @ build 6877130
I791d64951:Merging from ub-launcher3-master @ build 6877130
Icdd32ab01:Merging from ub-launcher3-master @ build 6877130

Bug: 169963211
Change-Id: I77a4ae59e823147beae8dd7cb9b54ccdace2c7f4
2020-10-05 14:46:26 +00:00
Hyunyoung Song 95786e077d Good riddance UserEventDispatcher
Bug: 165675920
Bug: 161381246

TL;DR;;
- nano -> lite proto
- add all the missing logs to WW
- pin item related logging fix
- Removed logging for assistant

sgrep "com.android.launcher3.userevent.nano." | cut -f1 -d: | xargs sed -i -e 's/userevent\.nano\./userevent\./g'

Change-Id: Ie2a49fdd891cacbd7ef40a1dc9e41ff0574c7517
2020-09-27 13:41:49 -07:00
Schneider Victor-tulias c238e1d71a Fix folder close animation.
Closing a folder at the same time as the keyboard closes causes the
folder close animation to jump. Fixed the animation.

Test: manual
Change-Id: I0785260f280ffc2932cd92d40073009a8c032b1d
2020-09-16 11:24:18 -07:00
Schneider Victor-tulias 8a35c76427 Add folder UI animation.
Test: manual

Fixing b/144948355. The entire launcher was panning up when the user
would try to edit a folder name if that folder's name field would have
otherwise been obscured by the keyboard. This had the effect of
obscuring the smartspace. Added an animation to the folder UI to bring
it above the keyboard during text editing.

Change-Id: I0f95aae27fc7426f1025135ea6d4fa142a21cf43
2020-09-03 18:19:06 -07:00
Hyunyoung Song 516da83f62 Merge "Good riddance UserEventDispatcher [1/n]" into ub-launcher3-master 2020-08-25 09:25:55 +00:00
Hyunyoung Song 6b670d62df Good riddance UserEventDispatcher [1/n]
Bug: 165675920
Change-Id: I237ed4243e1724b3c370c5660673bb3966bf4811
2020-08-24 21:19:09 -07:00
Sunny Goyal 0fc3d1275a Moving hotseat predictions to ModelDelegate
Bug: 160748731

Change-Id: I8db7856a17e0b6ca45b4d5ec3513f788f22db11a
2020-08-17 08:43:07 -07:00
Jon Miranda 447ea429cd Fix folder crash where view is added when it already has a parent.
The fix is to prevent re-arrangement if the views are already unbound.

This is caused when:
- Folder is open
- Item has deep shortcuts
- Long press on deep shortcut to create DragView that could land in the
  folder if the folder did not auto close. This is important because it
  starts a drag within the folder

The folder unbinds all views as part of the Folder close complete callback.
And then the folder exit alarm gets triggered (because we drag DragView
outside of the folder) which causes the folder items to get
rearranged and added back to the folder's CellLayout.

Bug: 161559911
Change-Id: I142589b2c541dc21c47a67c20a93e627732107ef
2020-07-20 16:54:17 -07:00
Andy Wickham f865551ff0 Focuses on folder container for Accessibility when no contents to focus on.
This happens when you drag an app into a folder when the current page is
already full. The new page has no apps in it until you drop the one you
want to add.

Fixes: 161040039
Change-Id: Iaa857e7a114e859fa7e6a0653028856a3a8a94a6
2020-07-13 20:56:38 -07:00
Hyunyoung Song 37bda2bcc9 Disable auto correct/suggest on folder edit text
Bug: 160075575

TL;DR;; displayCompletions still work

Change-Id: I0a7cd06d25ae3976371be0707a2783702b92e8cc
2020-06-29 00:26:14 -07:00
thiruram ec75cbd85a Adds additional folder label states (UNLABELED & EMPTY_LABEL)
UNLABELED -> title==null and EMPTY_LABEL -> title=="". When adding new items for the folder if the folder is in UNLABELED state, auto-labeling will be enabled.
This change also addresses auto-labeling issue due to false edit from UNLABELED to EMPTY.

Bug: 159164315

Change-Id: Ia17cd27b4afb60420dc15c544f544061fc46ad33
2020-06-22 13:24:07 -07:00
Jayaprakash Sundararaj 1d96ba03ab Refactor FolderNameInfos.
Bug: 159508969

Change-Id: I984e7a4fc321392d06157c705392c1ba5672f348
2020-06-19 23:12:22 -07:00
thiruram b53764bd4b Fixes folder logging.
Only LAUNCHER_FOLDER_LABEL_UPDATED events will have FromState, ToState
and FolderLabelInfo. Other folder events such as OPEN, DRAG etc will have
basic fields only populated.

Sample Log: https://paste.googleplex.com/5468394805526528
Screencast: http://rcll/hSUQjtQXfQM5i9DjjAQTf2/Zn5FeiVDONaQj0mK1JNjg

Bug: 159164315
Change-Id: I903fc7b62bcee748aa3ef695453be3e14d388712
2020-06-19 17:06:46 -07:00
Hyunyoung Song d98d5ebedc Fix a potential concurrency issue for loading CDB file
Bug: 158919530

Change-Id: I00ddbaeebaed3aa669948cde7fbac0cf4ad86301
2020-06-19 02:09:15 -07:00
thiruram c6a38ba5d8 Replaces StatsLogManager.log with StatsLogManager.logger()
Bug: 159170445
Change-Id: Ice6c8a9ae30d8e6b3843bfe42926053849bf9fe0
2020-06-17 17:32:54 +00:00
Hyunyoung Song 13c2bc7303 LAUNCHER_APP_LAUNCH_TAP should log correctly for icons inside folder
Bug: 137777105

Change-Id: I5c1552481fc1b788ba41c57bfe97f126f55e5b16
2020-06-11 23:51:17 -07:00
Andy Wickham bc83edbf4d Allows Accessibility to focus on specified view in AbstractFloatingView.
Here, the first item in an ArrowPopup or Folder are focused on.

Note: There's another pre-existing bug where it announces
"Home screen x of y" when the floating view appears; this
change doesn't address that.

Fixes: 147470419
Change-Id: I1dc70edc21ea7c19a5742208512738d6c4a94067
2020-06-10 12:03:43 -07:00
Hyunyoung Song 75dedacfc4 When tap on empty string edittext, and suggestion is made, select all the string
Bug: 157771174
Change-Id: I4a274333d897693bc214d50edcea30cf012ce859
2020-05-29 17:36:40 -07:00
thiruram f95f152971 Add LAUNCHER_FOLDER_LABEL_CHANGED events for folder label updates.
Sample Logs for all update combinations: https://docs.google.com/document/d/1CBP2yTcXdFhPdNG5ZmWFKSgd8mDbMevY-akVlUXPLDo/edit#bookmark=id.7y1p8n2dz8ge

Bug: 155410872
Bug: 152978018
Change-Id: I296b124b16aa07878f2cf7b74ab91f13b8e6cfbf
2020-05-13 17:36:10 -07:00
thiruram 6524cc7237 Adds LAUNCHER_FOLDER_LABEL_CHANGED event.
Sample Log: https://docs.google.com/document/d/1CBP2yTcXdFhPdNG5ZmWFKSgd8mDbMevY-akVlUXPLDo/edit#bookmark=id.qwjknn6acmx6

Bug: 155410872
Bug: 152978018

Change-Id: Ib7641d3d42a3f4fd002d1dbb36dc4b9ea0f885fc
2020-05-13 18:40:48 +00:00
thiruram 5a01f0ec51 Implements LAUNCHER_ITEM_DROP_FOLDER_CREATED event.
When item is dropped on a existing item resulting in new folder creation, triggers LAUNCHER_ITEM_DROP_FOLDER_CREATED event with details of the destination package.
This change also introduces new FolderIcon item to launcher_atom.proto to represent folder icon.

Screencast and sample logs: https://docs.google.com/document/d/1CBP2yTcXdFhPdNG5ZmWFKSgd8mDbMevY-akVlUXPLDo/edit#bookmark=id.tmbucd1f44qp

Bug: 152978018

Change-Id: Ib4d343ba9075aa8853652f128457c4638541ec59
2020-05-06 17:24:09 -07:00
thiruram f065fdf311 Updates folder creation logging.
After ag/11020901, folder creation process will not open gboard and hence drag and drop events resulting in folder creation should send additional folder creation event.

Fixes NPE with ItemInfo.java.

Bug: 153768241

Change-Id: I52c996a62dee52bf07feef4252aadc2a28c79752
(cherry picked from commit 9a3671e80e)
2020-04-22 17:36:07 +00:00
Jon Miranda a28e0f474a Fix NPE when closing folder.
There is a race condition where Folder is closing, it unbinds, and then
another call to AbstractFloatingView.closeAllOpenViews tries to close the
Folder again. But since the contents are unbound and removed from the folder,
it produces a NPE.

Bug: 153625271
Change-Id: Ia6c55f15cf7517e26af8f499bc0c1a4828737480
2020-04-17 15:03:33 -07:00
jayaprakashs 86932724e7 Don't open the Folder and IME when Folder is created.
Bug: 153751859
Change-Id: I8169d0890a43b614b293ca29f504e19c532b90ee
(cherry picked from commit 09066ffeb2)
2020-04-16 02:43:36 +00:00