Fix: 235358918
Test: Manual
1. Rebooted the device and verified that widgets are still updating properly
2. Changed the theme from dark to daylight, then from daylight back to dark and verified that widgets are working
3. Kept the device on for several days and verified that widgets are still updating
4. Turn on auto-rotate for the launcher, open any app then exit, verified that widgets will not vanish and reappear
5. Add & remove widgets from the screen, added widgets are still updating
Change-Id: I98ee902f7d16b47bd77626201a4fefc897ba17a0
Due to design changes, we are no longer going to use the changes guarded under the flag SHOW_DELIIGHTFUL_PAGINATION, so we remove the flag and the code that was guarded by that flag
Bug: 261904707
Test: verify flag SHOW_DELIGHTFUL_PAGINATION no longer exists and that the regular pagination works without issues after removing all this code
Change-Id: I244b88b98df0357aa99a325a11988e8248a03206
Desktop mode prototypes enable freeform tasks on top of launcher.
Launcher is still partially visible in the back which means that
launcher will disable back gesture for the freeform tasks.
When desktop mode prototype 1 or 2 is enabled, skip disabling the back
gesture on launcher.
Bug: 259280363
Test: manual, enable desktop mode and launch an app, try back gesture
from edge
Change-Id: I1d5eb81c7b28fb452c9566e358d77a5b2c19d450
Instead using a poll method similar to other touch controllers
Bug: 259447608
Test: Verified on device
Change-Id: I5c29c7c1b87acb668ea93e9f44fb685379de54fb
With keyboard sync, the dismissal is handled by the animator. Calling
hideKeyboard() on top of that causes the two signals to conflict with
each other, resulting in the visible flicker and extra delayed hiding
animation.
Fixes: 251185052
Test: manual, see videos in the bug
Change-Id: Ic12ad304ef9e4b6a51279ce18d6c09ba93bd59be
The wrapper class is created for further changes that will run the wrapped host in the background.
Test: N/A
Bug: 235358918
Change-Id: I9bd6fc2749c5d4a4d3391fb75d0c3ff1e13d17bf
Here we add dot pagination (the same as the one in folders) to the workspace.
Bug: 254769710
Test: Turn on the flag SHOW_DOT_PAGINATION and check out the workspace
Change-Id: Ia1e9ec78eae661aa5e7c37b2b2f1ded38b138ce8
Bug: 234812580
Test: followed the existing pattern and tested by manually setting and
unsetting the flag through command line - `adb shell device_config put
launcher enable_web_suggest_on_default_browser <true|false>`
Change-Id: Idd479e93b628b78fdf55d826c56f69c5cfdaf46e
Before the flag name would only fit 'delightful pagination' for folders, but now we're adding that feature to workspace also, hence the flag rename.
The flag is now also used in launcher to show the new XML file that uses PageIndicatorDots rather than WorkspacePageIndicator
Bug: 249773534
Test: manual
Change-Id: I6cf6d52e76ad1ec60ecb54c5cca204e9ac35cc39
There are specific scenarios when you can force an extra empty
workspace after changing the grid, fortunately there is a
function that removes empty workspaces.
Fix:229349287
Test: Add a widget in a new empty workspace page, change the
grid then remove the widget in the new grid size then return
to the previous grid and it shouldn't have an empty workspace.
Change-Id: I7b73ae2ca058bc84b3b361930e3dc856c045281b
In order to have all the activities in Launcher get
the same OnBackInvoked behavior, the logic is moved to BaseActivity.
Test: Manual, Tapl
Bug: 238475344
Change-Id: I3f49091397e31fe1f183596f7fba3bf514697468
> Updating the LayoutManager's scroll calculation instead of a separate
implementation to better support recyclerView's calculations
> Caching the view sizes during layout to avoid view-inflation for
unknown types
> Fixing scrollbar jump during scroll when widget list is expanded
> Fixing scrollbar never reaching end when onboarding card is displayed
in work tab
Bug: 240343082
Test: Verified on device that new views are not inflated
Change-Id: Ied11ccf65b053691c5c126c4bf8de306ec24786d
Back button is only animation in 2-button UI which is not supported anymore
Bug: 246006580
Test: Presubmit
Change-Id: I7385b07272e44c1f9f0488c158e1b4ee67060120
storing duplicate strings
Also starting the dump process early to avoid timeouts
Bug: 242868825
Test: Verified on web-hv UI tool
Change-Id: I9943e41426f820c9ab70d39b9f01896ed060cab4
Doing view capture in two passes
1) UI thread: creating a flat copy of the full view tree. Since
view structure can change on the UI thread, this needs to be
captured synchronously on UI thread.
2) BG thread: We capture the properties of the View on background
thread using the flat tree created in the previous step. Since
reading the properties is atomic, there is no synchronization
issued.
One down side of this approach is that the properties might change
while the background-tep is underway. So all the properties of a
of a node may not represent the frame-state. But for the purpose
of animations, we can just refer a few continous frames.
Bug: 242095405
Test: Verified on device, frame capture reduced by at least 5x
every time.
Change-Id: I0a61fb24669940b3b3533c0471e42e476709da55
- Follow-up of http://ag/19559863 as Config diff on windowConfiguration does not work on 3P Launcher, so diff WindowManagerProxy.getRotation instead
- Also centralized Configuration diff logic into StatefulActivity
Bug: 240730723
Test: manual on 90/180 degree rotation in Launcher, RecentsActivity and 3P Launcher
Change-Id: Ib368ed5d749841a6873a03e2644608ff68885922
- Invoke onConfiguration when receiving inset changes
- In Laucnher/RecentsActivity onConfiguration, additionally detect for windowConfiguration's rotation change; if Configuration stays the same, it'll be ignored.
Bug: 240730723
Test: manual on 90/180 degree rotation in Launcher and RecentsActivity
Change-Id: I7087878af847d62e1c715a4f52a18818d1a6c258
- Added roundPxValueFromFloat when converting dp/sp to px to deterministically round up values around .5
Fix: 240133465
Bug: 237542518
Test: DeviceProfileTest.kt
Change-Id: If4239f714487fe5bf2ef44274e2ce415bd75c86d