After breaking down the time we spend in rendering preview under a different grid setting, I found out that we spend a huge amount of time loading the workspace. It takes a long time in non preview case (launcher workspace init), so to optimize we should try to cut down things that are not necessary for preview. Widget model loading (widget and shortcut updates) takes half of the time, and can be optimized with minimal risks / code changes.
Bug: 160662425
Test: Manual
Change-Id: I89029d0ddf6e2517077a0ba3fbbcfdcd60b268d9
This ensures that the cell contents always fit.
Bug: 160716074
Change-Id: I3d85adec3e7e3652fe4a258bd659382a3e696211
(cherry picked from commit 3535944395)
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
There's currently a bug prevents Launcher release drag lock for two step
widgets. Supposedly, onDeferredResume should release the drag lock; However,
in 3-button navigation mode, the transition from Overview -> Normal is
triggered in Launcher#onNewIntent, which happens after onDeferredResume.
This issue is not reproducible with gesture navigation because its
transition from Overview -> Normal is handled in NavBarToHomeTouchController
Test: manual verified with following steps
1. Enable 3-button navigation
2. Long press in WorkSpace -> Widgets
3. Drag Settings Widget to WorkSpace
4. When the config activity is shown, press "recents" button to see Overview
5. press "home" button to go back to workspace
6. repeat 2 and 3, verify the widget can be dragged
Bug: 149659788
Change-Id: I396ffa8a7db44bf3872a10de4208340a99a7efe8
(cherry picked from commit 3bf889a02f)
Also fixed another bug where the wrong layout
orientation was being applied when overview rotated
when launcher was in fixed portrait orientation.
Fixes: 160182914
Test: Tested w/ PIP, split screen,
w/o split screen w/ and w/o home rotation
Change-Id: Iccffb637ae5c22d07745f2108facd4de716dc8d3
This would allow adding different source for model items without
modifying every model task
Bug: 160748731
Change-Id: I5a14dd761e2b8696c58dc8fec7b14077da0aced3
> Using a separate View as icon, instead of the taskView
> Updating swipe animation logic to abstract out FloatingIconView dependency
Change-Id: Ib466262afead11ebe4ca035d589f0382c37e3e97
There's currently a bug prevents Launcher release drag lock for two step
widgets. Supposedly, onDeferredResume should release the drag lock; However,
in 3-button navigation mode, the transition from Overview -> Normal is
triggered in Launcher#onNewIntent, which happens after onDeferredResume.
This issue is not reproducible with gesture navigation because its
transition from Overview -> Normal is handled in NavBarToHomeTouchController
Test: manual verified with following steps
1. Enable 3-button navigation
2. Long press in WorkSpace -> Widgets
3. Drag Settings Widget to WorkSpace
4. When the config activity is shown, press "recents" button to see Overview
5. press "home" button to go back to workspace
6. repeat 2 and 3, verify the widget can be dragged
Bug: 149659788
Change-Id: I396ffa8a7db44bf3872a10de4208340a99a7efe8
=> regressed in ag/10634216 which attemped to use onHoverListener
=> the problem is that onHoverListener is only triggered when the event is passed to the CellLayout, however, as with all dispatching, these events are handled depth first, and so in cases where a child handled the event, it would never bubble back up to the parent.
=> instead we have to continue to override dispatchHover event to always give presecedence to the delegate when it exists
Bug: 155956518
Change-Id: Ic3ecf1b422c1821456328035a66a2fc1277e6746
(cherry picked from commit 6e7c37a205)
Rootcause: FolderInfo was persisted into DB only when folder options are updated. Hence when folder was created (Folder option remains suggested) its title was not persisted into DB.
Fix: Persists folderInfo into DB always whenever title is updated
Bug: 159904890
Change-Id: If0d20b0d7fa6966dd7bb40a2c07bcb22bd0893e0
(cherry picked from commit 6ab4da8aa0)
=> regressed in ag/10634216 which attemped to use onHoverListener
=> the problem is that onHoverListener is only triggered when the event is passed to the CellLayout, however, as with all dispatching, these events are handled depth first, and so in cases where a child handled the event, it would never bubble back up to the parent.
=> instead we have to continue to override dispatchHover event to always give presecedence to the delegate when it exists
b/155956518
Change-Id: Ic3ecf1b422c1821456328035a66a2fc1277e6746
Rootcause: FolderInfo was persisted into DB only when folder options are updated. Hence when folder was created (Folder option remains suggested) its title was not persisted into DB.
Fix: Persists folderInfo into DB always whenever title is updated
Bug: 159904890
Change-Id: If0d20b0d7fa6966dd7bb40a2c07bcb22bd0893e0
Also remove USE_SURFACE_VIEW_FOR_PREVIEW flag
Fixes: 159755324
Test: manual
Change-Id: I6517c34911e217a69063226b01e4583194902f9c
(cherry picked from commit 633a4bdf57)
Also remove USE_SURFACE_VIEW_FOR_PREVIEW flag
Fixes: 159755324
Test: manual
Change-Id: I6517c34911e217a69063226b01e4583194902f9c
(cherry picked from commit 633a4bdf57)
Test: swipe up from an app in landscape, seascape, and portrait,
and verify the window tracks with the finger 1:1 until pullback
Bug: 149934536
Change-Id: Ia469877e7152c8135e0b9153f69c191ba86cbd14
While display is in landscape, and the launcher is transformed to
portrait, the display rotation from activity or application context
will get the rotation in portrait.
In order to transform the input event when the orientations are
different, the actual device rotation is still needed. By creating
the display context from application context, the resources of
the new context won't be affected by the activity/application level
display info adjustments. That provides the actual device states.
Additionally, DefaultDisplay#INSTANCE should only be used for the
operations related to physical orientation/size because it won't
contain the override information from activity.
Bug: 157456493
Test: Use a device which may switch refresh rate.
Open Maps and put device in landscape.
Use gesture navigation to swipe up.
The direction of movement should be consistent with UI.
Change-Id: I03108b1ab057e28727b6a6db3629d2c1c069e828