Commit Graph

339 Commits

Author SHA1 Message Date
Adam Cohen 1d13c0bf13 Cleanup reorder animations to not require layout on every frame
=> Extending on previous CL to separate multiple translation properties
   and avoiding expensive layout pass

Test: manual

Change-Id: I058da7367fb320b9f432bef9482be2966d3a7d42
2020-04-24 01:28:39 +00: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
jayaprakashs 12cf1e5440 Add getScore() method to FolderNameInfo class.
getScore() is not used in launcher3 but exposed for testing purpose.

Change-Id: I22e674dabc3c24879c1c1b5881f9fc6005404998
2020-04-19 18:30:26 -07:00
Adam Cohen b212e28c62 Merge "Decouple the scaling / translation of widget views necessary in split-screen" into ub-launcher3-rvc-dev 2020-04-17 23:35:19 +00:00
Adam Cohen d916206271 Decouple the scaling / translation of widget views necessary in split-screen
=> We pull apart the scale and translation that are set in a fairly
   static way due to split-screen vs. the general translation and scale
   properties that might be used more dynamically, in this case
   for re-order animations
=> This allows removal of some code that breaks reorder animations
   due to the accrual of translations / scales in certain edge cases.
=> TODO in future CL: address other translation cases and make the throw
   case for calling base setTranslationX/Y for Workspace Items unconditional

issue 149438360

test: manual
Change-Id: Ic3fde172f669e215cd25db0fcd4e1c3c873d314f
2020-04-17 15:36:44 -07: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
Jon Miranda f8df99fd0a Fix bug where view stays invisible due to view recycling before it gets reset.
Repo steps:
* Drag item out of folder into a space where it won't fit (ie. full workspace)
* Drop item before folder finishes closing

The issue is that the drop completes and we unbind the folder contents
before the postDelayed callback runs to set the view back to visible.

Bug: 153267452
Change-Id: I0bd4e41cc6dda8b908eed3c8789ced54da4ac38a
2020-04-14 14:39:08 -07:00
Sunny Goyal e396abf502 Moving model data structures to a separate file
Change-Id: I77ad7a5219e72d2e0d6c1803de2ac3ed6a65a8f7
2020-04-09 13:20:39 -07:00
thiruram 73d0bb99fd Add new FolderLabelStates to better understand smart folder acceptance rate based on primary suggestion.
Bug: 153358870

Change-Id: I863536f0f2563aab33484d45e9bb518e08a9ebe5
2020-04-06 19:15:13 +00:00
thiruram 1de8b5cfe6 Fixes smart folder logging bug when creating new folder.
Bug: 153159419

Change-Id: I5d41bdf6d83b091ee641a8160b026c6bff919417
2020-04-06 01:49:19 +00:00
Sunny Goyal c4d3201538 Removing support for fake landscape
Bug: 111068105
Change-Id: If31d2f700ddee1d21541735de3a8006ee2a53c5c
2020-04-03 17:11:35 -07:00
Sunny Goyal 8b37c57804 Fixing widget sheet not scrolled using external mouse
> Fixing crash when some properties are not initialized if draw is not called
> Adding robolectic support for UI testing
> Adding robo tests to verify workspace, all-apps, widgets and folder scrolling

Bug: 147312357
Change-Id: Id7756e07f06396359e441cdff2e4f992bdcb97bb
2020-03-31 12:17:09 -07:00
Sunny Goyal 17feee8995 Merging stylus click logic in longpress helper for better state-management
Bug: 150825081
Change-Id: I7c507c41e67c09bff5a4ad3abc7a7a62fecf910e
2020-03-27 19:53:20 +00:00
Sunny Goyal 7fb01cc6b3 Restring the item rank to valid range since the folder contents
change during drag operation

Bug: 152193591
Change-Id: I71a3c44e84fe8c3bf787ad28c2f2fad48f0ad70a
2020-03-23 21:19:07 +00:00
Adam Cohen f946e0a5ee Merge "Refactor / Cleanup / Simplify a bunch of dnd related rendering / animation" into ub-launcher3-master 2020-03-21 01:27:08 +00:00
Adam Cohen 650869973a Refactor / Cleanup / Simplify a bunch of dnd related rendering / animation
Addresses:
=> Fix folder icon drop location mapping (was very far off)
=> Fix BubbleTextView drop animation shifted by a few pixels
=> Get rid multiple unnecessary calls to setDragMode(none), was breaking
   some of the reorder flow; still some issues to address here.
=> Fix folder icon parallax (didn't work when the folder had a dot)

Test: manual

Change-Id: I5959cf341996f75d30212353ec096ed25bf40ea5
2020-03-21 01:26:09 +00:00
Lucas Dupin e73d415bcc Merge "Add wallpaper zoom to areas that have blur" into ub-launcher3-master 2020-03-18 21:59:33 +00:00
TreeHugger Robot dfa091c0e9 Merge "Decoupling some drag and drop code handling" into ub-launcher3-master 2020-03-18 20:43:38 +00:00
Lucas Dupin 4918ed38d2 Add wallpaper zoom to areas that have blur
Whenever blurring, the wallpaper should also zoom out. This is the
mental model of our Depth System.

Test: manual
Bug: 149792636
Change-Id: I1783eb87fefeb6f917f0ba64f2c6ec8f1f2004fa
2020-03-18 13:29:58 -07:00
Sunny Goyal 9b18010990 Decoupling some drag and drop code handling
> Removing some special checks around accessibility drag
> Unifying folder alarm code path for accessible and normal DnD
> Maintaining mDragStartTime inside the dragDriver instead of the callers
> Simplifying some accessibility callbacks

Future cl will create a Accessibility DragDriver and unify it with
other DnD flow

Change-Id: I1919ef218de0174678110f271b450bcb9aaf4a5c
2020-03-18 12:41:42 -07:00
Jon Miranda 9794d4d52a Ensure current animation is cancelled before building new folder animation.
Fixes bug where folder clip padding gets stuck as false.

Bug: 146884730
Change-Id: I3a24e561d15fbc46837bb21cd8f97283e69f9ce1
2020-03-18 12:26:37 -07:00
jayaprakashs 9c05d2db04 Show IME suggestions while tapping on Folder EditText
Current behaviour doesn't show the suggestions in IME if the folder
name is non-empty (Shown only if the folder name is empty).

This change shows the IME suggestions always, but primary suggestions
are shown only if the folder name is empty (not overwritting the
current folder name with suggestion).

Bug: 151762006

Tested: on phone. (created a folder name, assigned custom name, added
    the third app to Folder, tap on Folder EditText and it shows IME
    suggestions)
Change-Id: Ic4d43660a371b8dd7d18acb42fe3dee06a730347
2020-03-17 16:20:05 -07:00
Hyunyoung Song f546e0599e Null check every ComponentName call inside FolderNameProvider
Bug: 150522230
Change-Id: I50007a3a781234797e16d830935a8b8585ac242b
2020-03-12 22:33:19 -07:00
Winson Chung f655f5cd16 Merge "Initial changes to support blur" into ub-launcher3-master 2020-03-06 23:33:26 +00:00
Winson Chung 8687bc2131 Initial changes to support blur
- Add a new controller to update the background blur on either the
  launcher or app surfaces based on state or transition

Bug: 149792636

Change-Id: I6103cd3d53a00c8025558dd49bb73137e2980014
2020-03-06 14:45:20 -08:00
Samuel Fufa a579ddc9c8 Refactor logging to capture Target hierarchy
Instead of creating a fixed number of targets, we now pass an ArrayList
of targets to. Any class implementing
LogContainerProviders#fillInLogContainerData can setup it's own target
and add it to the ArrayList, It can also pass the ArrayList to other
LogContainerProvider to capture full Target hierarchy.

Bug: 147305863
Change-Id: I0063c692120fb9e1cff2d8902c5da972d0623418
2020-03-06 13:49:19 -08:00
vadimt 5a07aadf86 Feature flag for using hardware optimization for folder animations
Bug: 144338174
Change-Id: I92cc399da077c4c4da8264c20136302ede25ed01
2020-03-04 18:34:07 -08:00
Vinit Nayak a406f727ad Add vertical layout support for Overview in portrait
WM is making changes which allows apps to maintain
their orientation independent of the orientation of
the foreground app. This allows recents to always start
in portrait even when the app currently running is in
landscape. This means we have to give the illusion of
a landscape oriented overview when user swipes up in
gesterual nav when launcher is started in portrait
configuration.

PagedOrientationHandler abstracts all coordinate specific
logic from Paged/RecentsView primarily, but also all
other dynamic calculations throughout launcher.
PagedViewOrientationState is the single point of exposure
to other classes that depend on those changes. The goal
is to also minimize holding state to allow for default
implementations of PagedOrientationHandler for all the
3p/Fallback classes. PagedViewOrientationState also
holds other data around rotation that isn't
specifically tied to view logic.

The fake landscape overview can be toggled with:
adb shell settings put global forced_rotation [0/1]

Fixes: 146176182
Change-Id: I65d8d4e9f92b93931cbe0053ccaf0cda8d2ffd6c
2020-03-02 18:02:35 -08:00
thiruram 15d79a9b85 Fixes incorrect FromFolderLabelState in clearcut log when updating folder label.
Bug description: When folder label is updated from a suggested label to a custom label,
EditFolderLabelEvent log expected to have FromFolderLabelState = FROM_SUGGESTED.
Currently FromFolderLabelState is logged as FROM_CUSTOM in such scenarios.

Root cause: Folder label state is decided based on whether IME has entered into compose mode while editing.
This works fine for initial folder creation and also updated to non-empty label(to both custom or suggested).
But when folder is edited from suggested to empty label, its internal state changes from SUGGESTED to CUSTOM as expected.
Later when empty label is updated to suggested again, its internal state remains custom forever.

Fix: Instead of setting folder's internal state based on IME's compose mode, comparing actual folder label with suggestions
and set it to SUGGESTED if any suggestion matches else CUSTOM.

Change-Id: Ieea572ee93fd5567e3128c9bbcea3b670f0f01d9
2020-02-21 16:24:21 -08:00
Hyunyoung Song 621c1a8be7 Merge "Update the suggestFolderName when items are added and deleted from folders" into ub-launcher3-master 2020-02-21 20:08:20 +00:00
thiruram 888b516a22 Fixes NPE when creating folder with null suggestedFolderNames.
Bug: 149993849

Change-Id: Ia2758b76aef1812dab225c8a95e7141fcdeefab4
2020-02-21 11:05:37 -08:00
Hyunyoung Song 6d3e5465e2 Update the suggestFolderName when items are added and deleted from folders
Bug: 149935239
Bug: 149967272
Bug: 148900990

Change-Id: I0ed27236ad22579a1f3dcfd35a32252c5b1f6691
2020-02-21 11:00:48 -08:00
jayaprakashs 9ac4b580a1 null check in showLableSuggestion().
It throws NPE when the data is missing for all the packages and all the suggestions are null.

Change-Id: I4aa36969e1aee00bcfc577a839d6da01d4e67a75
2020-02-19 13:00:01 -08:00
Hyunyoung Song 356a9f05c4 Fix folder UI open regression when tapping edit text / Fix NPE
Bug: 149835166
Bug: 149839789



Change-Id: I295cc72e4228249794eae11f177226179f2a175f
2020-02-19 11:15:12 -08:00
Hyunyoung Song 308faf8335 Move foldername and appinfo fetching to model thread
Bug: 149255695
Change-Id: I8377d4a06d4ae67b601f3e0ad9e722bd7b103a7a
2020-02-18 16:41:45 -08:00
Hyunyoung Song 0580b4a5c1 Change hint text on folders
Bug: 135182686

Change-Id: I8e21384242b9d890a0f698fdaaf722b205967349
2020-02-17 12:38:58 -08:00
Zak Cohen 3eeb41de9a Rename flag IS_DOGFOOD to IS_STUDIO.
The flag is only set when building from Android Studio... and is never
used for dogfood.

Test: local
Change-Id: I898d585f4558c2437f0152ef102bea59c351f80b
2020-02-14 14:19:59 -08:00
thiruram c1c2bfa7fb Initial draft of smart folder logging to clearcut pipeline.
* Adds additional fields to launcher_log.proto to capture smart folder related information.
* Uses ProtoLite to generate log object using builder pattern and converts to nano version before writing to clearcut. Hence not making drastic change to existing logging pattern.

Change-Id: I89b10da8d4e35e3abc7ddb553046946f91b43445
2020-02-13 13:32:21 -08:00
Hyunyoung Song 6e3120cf06 Merge "Introduce FolderNameInfo class." into ub-launcher3-master 2020-02-12 18:26:56 +00:00
jayaprakashs e534d3b5f9 Introduce FolderNameInfo class.
* Introduce FolderNameInfo class for passing down the folder name
suggestions from FolderNameProvider.
* Use FolderNameInfo for storing the serialized suggested names for
Folders. It is parsed and used in FolderEdit.

Bug: 148417030
Bug: 148916551
Bug: 148432151

Change-Id: Idaa81e203cc42889be15d0845230b4508521041c
2020-02-11 11:36:28 -08:00
Samuel Fufa 28c3e4553a Sync prediction client and folders
- Notifies prediction client when a folder is converted into workspace
item as a result of losing all items but one.
- Notifies predction client when a folder is created from an item in the
workspace with no duplicates.

Bug: 148749638
Test: Manual
Change-Id: Ifd51a6fe2a40c8baf4d88e2dba1e5bdc925e1608
2020-02-08 16:19:53 -08:00
Hyunyoung Song 1ae42423ca Load folder names during LoaderTask
Bug: 147359653

Change-Id: I4d1b53c3a72d0773d4bc8819ee8118fc719944ad
2020-01-28 22:06:05 -08:00
Hyunyoung Song 48e6489871 Introduce folder name type (auto vs manual).
Bug: 147769158

- Use both InputConnectionWrapper and TextWatcher to detect
manual input
- Also fix a bug in FolderNameProvider

Change-Id: I7bc0f380c6641481d934a53e9feb77caa19c674a
2020-01-26 22:34:31 -08:00
Hyunyoung Song 3fc86f4055 Remove FeatureFlag dependency from FolderNameProvider
Change-Id: If4ed2c953975f76947442959a2820ee72f1bd0ec
2020-01-24 11:23:15 -08:00
Sunny Goyal 94fa76fbeb Updating feature flags subclassing
> Preventing debug flags to get change listener on release device

Bug: 147913781
Change-Id: I2bd0456918c5d3224c714b153c4565b1ef41d7c0
2020-01-21 14:22:58 -08:00
Hyunyoung Song 54d1f88ae6 Show suggestion when user taps on folder's edit text
Also, enabled preloading of the folder name db
Bug: 147523650
Bug: 147359653

Change-Id: Ia77e12d2b2bc428263c2b2821a96894a6004d82e
2020-01-11 23:39:02 -08:00
Hyunyoung Song ced004fb71 Merge "Change the load logic of FolderNameProvider Work profile apps are suggested as "Work" folder name" into ub-launcher3-master 2020-01-09 17:38:37 +00:00
Hyunyoung Song 97253ec3ab Change the load logic of FolderNameProvider
Work profile apps are suggested as "Work" folder name

Bug: 147359653
Bug: 147359733

Change-Id: Idb2438de9c71c85cfeca6a6b0e116174ea2f3b62
2020-01-08 23:31:58 -08:00
Tracy Zhou 4d7b244f3f Render user's actual workspace in ThemePicker preview (Part 2)
With this change, we can also render folders in preview. It's built on top of part 1.

Test: Go to grid options, choose a different grid option, and see user's workspace rendered in the preview
Bug: 144052839
Change-Id: Iaf6d8af6b909ece4147ea250d95dec3d2c0019d3
2020-01-08 15:42:58 -08:00