Commit Graph

14111 Commits

Author SHA1 Message Date
Luca Zuccarini 78c6e3f2a4 Set the default for keyboard sync to IS_STUDIO_BUILD.
As discussed offline, I will send out an announcement in the Sysui-studio and #sysui-debug Chat Spaces to solicit bug reports.

Bug: 234812580
Test: manual
Change-Id: Id693e8ebd990b804da247d4639a2dd2d6fbdd01f
2022-08-19 19:09:15 +00:00
Sihua Ma 2d675e8ab0 Merge "Resize preview for correct clipping" into tm-qpr-dev 2022-08-16 00:15:06 +00:00
Jeremy Sim cf03d04469 Merge "Update animations for TM-QPR: Overview > OverviewSplitSelect transition" into tm-qpr-dev 2022-08-15 21:19:21 +00:00
Jeremy Sim a50bb39048 Update animations for TM-QPR: Overview > OverviewSplitSelect transition
The animation from Overview to OverviewSplitSelect is now updated to the latest spec. See bug for details.
- New timings
- Task thumbnails slide in with a new spring animation
- Icons fade out and fade in appropriately
- SplitInstructionsView has a new compound "unfold" animation

Bug: 236760307
Test: Manual on tablet and phone. Looks good on both true and fake orientations.
Change-Id: If98d4464aa51c876d79bee9672279992a2cf9026
2022-08-14 10:34:51 -07:00
Sunny Goyal ee3ef1e991 Merge "Optimizing View capture logic" into tm-qpr-dev 2022-08-12 17:27:22 +00:00
Thales Lima f1b88dcb85 Merge "Tune display options for non-default display sizes" into tm-qpr-dev 2022-08-11 14:47:43 +00:00
Sunny Goyal a38aa060eb Optimizing View capture logic
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
2022-08-10 15:49:36 -07:00
Alex Chau 5d9625b865 Merge "Use WindowManagerProxy.getRotation to determine if rotation has changed" into tm-qpr-dev 2022-08-10 22:32:51 +00:00
Luca Zuccarini 2e126f985e Merge "Introduce a new flag to guard keyboard synchronization." into tm-qpr-dev 2022-08-10 17:37:05 +00:00
Alex Chau 360ec033ac Use WindowManagerProxy.getRotation to determine if rotation has changed
- 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
2022-08-10 18:14:06 +01:00
Thales Lima 1fb075de3b Tune display options for non-default display sizes
Fix: 241382721
Test: manual
Change-Id: I05379c359dabad6931ee897455aa847a7a9b470c
2022-08-10 10:47:50 +01:00
Alex Chau 16b6511e14 Merge "Detect potential WindowConfiguration change at onApplyWindowInsets" into tm-qpr-dev 2022-08-10 09:14:11 +00:00
András Klöczl 00d27d25da Merge "Fix widget jump bug when moved to invalid place" into tm-qpr-dev 2022-08-10 08:07:30 +00:00
Vinit Nayak 89be3a4c6d Merge "Show 3 button nav on phone in Taskbar (1/2)" into tm-qpr-dev 2022-08-10 03:06:53 +00:00
Sihua Ma e04aa207f2 Resize preview for correct clipping
Before, the remote view for the widget in launcher is reused to generate a new preview. However, measuring the view without changing the scale would cause strange clippings. This CL sets the scale of the widget views by manually computing the size ratio.

Change ag/19572297 is necessary before a complete clean-up.

Test: Create a weather widget on first screen -> go to Wallpaper & style -> App grid -> tap on a different grid and verify that the clipping is correct
Fix: 228328759
Change-Id: I8242d3bcfcf30ec924552c1320e22f8a3592f1c1
2022-08-09 23:57:41 +00:00
Vinit Nayak 8a3d05587e Show 3 button nav on phone in Taskbar (1/2)
* TODO: Landscape/seascape support,
        Separate nav spacing out into
        separate class/add tests

Bug: 219035565
Change-Id: I8f5c007f04ea4d6df15962772806356181d764ff
2022-08-09 13:25:50 -07:00
Alex Chau ccc430e2c1 Detect potential WindowConfiguration change at onApplyWindowInsets
- 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
2022-08-09 19:09:42 +01:00
Andras Kloczl eb6a154230 Fix widget jump bug when moved to invalid place
When dropTargetLayout is null we don't need to
animate the widget to the closest location but
move it back to its original position.
Test: manual
Bug: 236135424

Change-Id: I50a793732cd9656605fdc9908f71ff0efa7e69e9
2022-08-09 10:53:33 +02:00
Luca Zuccarini 96945fcc24 Merge "Update keyboard dismissal logic in the AllAppsTransitionController." into tm-qpr-dev 2022-08-08 14:34:51 +00:00
Thales Lima c92b40f10a Merge "Calculate hotseat width based on available width" into tm-qpr-dev 2022-08-08 08:57:20 +00:00
Sunny Goyal 68ef8bf37a Merge "Dumping view capture directly to file instead of loading it all in memory" into tm-qpr-dev 2022-08-06 05:14:16 +00:00
Sunny Goyal a30cf8b7e1 Dumping view capture directly to file instead of loading it
all in memory

This avoid OOM when processing large data

Bug: 241600398
Test: Verified on device
Change-Id: I76072d52e47bea3a2f9802ce3b23ddae58fe8d23
2022-08-05 16:30:01 -07:00
Luca Zuccarini 7e02d6845e Introduce a new flag to guard keyboard synchronization.
Bug: 234812580
Test: manual
Change-Id: I1c8714fa68cde06b95f6a7822075188c7dc2f71f
2022-08-05 12:20:14 +00:00
Luca Zuccarini c7114defc7 Update keyboard dismissal logic in the AllAppsTransitionController.
Dismissing the keyboard immediately interferes with the synchronized
keyboard animation. Instead, we wait until the end of the animation and
if it is successful (transition actually happened and wasn't
interrupted) we hide the keyboard. This call does nothing if the
keyboard was already hidden through the synchronized animation, and
hides it otherwise.

Bug: 234812580
Test: manual
Change-Id: Idabbc707dd0244bdf75316777e945624a8e8bdfc
2022-08-05 12:20:08 +00:00
Pat Manning 67fe05beaf Merge "Remove scaling from spring loaded y translation." into tm-qpr-dev 2022-08-05 10:34:30 +00:00
Thales Lima 9938c2f791 Calculate hotseat width based on available width
Navigation buttons take space on the hotseat, so hotseat width (qsb width and border space between icons) should be calculated instead of having a coded value.

Bug: 223724516
Bug: 228998463
Test: manual, changing display size
Test: manual, changing hotseatBarEndOffset value
Test: HotseatWidthCalculationTest
Change-Id: Ibd4f5ff2e06afda8e7420fb744db049d2e418e14
2022-08-04 15:21:06 +01:00
Alex Chau b0f42f03bf Merge "Adjust height of tablet AllApps base on row height" into tm-qpr-dev 2022-08-04 13:55:06 +00:00
Pat Manning 9fd69c0d42 Remove scaling from spring loaded y translation.
Fix: 239401465
Test: manual. To follow up with screenshot test: b/241386128
Change-Id: I916fcca22f5c827e1af38a50847585afcefc330d
2022-08-04 14:53:35 +01:00
Alex Chau 206ede9c1f Adjust height of tablet AllApps base on row height
- Also used hotseatQsbHeight for AllApps QSB height as they have to match to transform between each other

Fix: 232907846
Test: manual on different tablets
Test: atest DeviceProfileTest
Change-Id: I001d0e129db2a5de6c8ace4c3302381110da03f1
2022-08-03 15:29:22 +00:00
TreeHugger Robot 89b8f65277 Merge "Account for span greater than 1 in getReorderRadius" into tm-qpr-dev 2022-08-03 14:12:45 +00:00
Sunny Goyal 41321dfe71 Merge "Removing unused ShadowDrawable" into tm-qpr-dev 2022-08-03 14:08:52 +00:00
Sunny Goyal f28c428050 Merge "Create less number of dot-renderers at startup" into tm-qpr-dev 2022-08-03 14:08:07 +00:00
Sunny Goyal ea6d59fbd4 Removing unused ShadowDrawable
Bug: 241152608
Test: Presubmit
Change-Id: Iae3b3799959dfe3457791cfac88a2cb4ac5770a4
2022-08-02 14:58:25 -07:00
Sunny Goyal 65190aef37 Create less number of dot-renderers at startup
Bug: 235568943
Test: Launcher starts and shows dots normally
Change-Id: I6958b9b98efb43aa280e6ce31af9c0c936610dea
2022-08-02 14:43:31 -07:00
Vinit Nayak 7db37b3d94 Use Taskbar window for phones (only works on gesture nav) with flag
* Try to avoid re-creating TaskbarActivityContext to
avoid re-inflating taskbar views
* Toggle via Flipper App (key 1101)
OR adb shell setprop persist.wm.debug.hide_navbar_window 1 && adb reboot
TODOs
* Only works for gesture nav, not 3 button
* Sampling on phone doesn't always work.

Bug: 219035565
Change-Id: I2a015f99d5f1fe86d7261eec9fd898bd4480ff9f
2022-08-01 17:48:09 -07:00
Schneider Victor-tulias 4eec22f818 Merge "Add logging to help debug additional app infos being updated by CacheDataUpdatedTask" into tm-qpr-dev 2022-08-01 21:50:09 +00:00
TreeHugger Robot f47491bdf8 Merge "Remove unused logs" into tm-qpr-dev 2022-08-01 20:29:53 +00:00
Pat Manning 5f74bfd76d Refactor DeviceProfile tests based on dump() and use real device dimensions for tests.
- 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
2022-08-01 17:54:43 +00:00
Sebastian Franco 6e1024e161 Account for span greater than 1 in getReorderRadius
Fix: 239963678
Test: Making sure the reorder preview is being drawn when moving a widget
Test: atest ReorderWidgets
Change-Id: Id32919821ac9177b3428261354d361c52b8f9e2d
2022-07-29 13:47:33 -07:00
Schneider Victor-tulias 1dbffe0af7 Remove unused logs
Fixes: 240173459
Test: Started launcher
Change-Id: I853d9a50a0c34a7fdda87ea20d46a9f7ac7542e3
2022-07-29 13:06:24 -07:00
TreeHugger Robot 8157be497d Merge "Fixing search behavior in Launcher3" into tm-qpr-dev 2022-07-29 19:48:34 +00:00
Jeremy Sim b7a781b599 Merge "Update animations for TM-QPR: OverviewSplitSelect > Home transition" into tm-qpr-dev 2022-07-29 18:57:00 +00:00
Jeremy Sim fe5bccbf6f Merge "Update calculation method for Overview UI placement on tablets" into tm-qpr-dev 2022-07-29 18:56:40 +00:00
TreeHugger Robot f49287d627 Merge "Listen to DisplayController for ignoreAutoRotateSettings" into tm-qpr-dev 2022-07-29 18:05:17 +00:00
Sebastián Franco 33edba1006 Merge "[Cherry pick merge conflict] Updating visibility of some members for easier extensibility" into tm-qpr-dev 2022-07-29 17:23:46 +00:00
Alex Chau 6209af67d3 Listen to DisplayController for ignoreAutoRotateSettings
- Also skip most of initDeviceProfile/onIdpChanged if DeviceProfile didn't actually change to effectively skip the 2nd unexpected onConfigurationChangeded caused by setRequestedOrientation (b/211763738)

Test: Change display size while in app or at home screen
Fix: 240019605
Change-Id: If307742639bd269622140a7da0dc900887c67937
2022-07-29 13:09:17 +01:00
Sunny Goyal af95ddbadc Fixing search behavior in Launcher3
> Showing no-result found only when there are no results
> Removing unnecessary view inflation in RecyclerViewPool for
  various search vide types
> Removing unused market-search link and no-empty-result illustration

Bug: 240343082
Bug: 207573083
Test: Verified Launcher3
Change-Id: Ia44799cd2385ea5dc837ef25732ca237975abde7
2022-07-28 22:05:30 -07:00
Schneider Victor-tulias 62511de74e Add logging to help debug additional app infos being updated by CacheDataUpdatedTask
Bug: 239465630
Test: ran test locally.
Change-Id: I1b31cfaeb697f87acd99d787284f55d7e6b75b54
2022-07-28 23:09:39 +00:00
Jeremy Sim 1cfe6d490a Update calculation method for Overview UI placement on tablets
This update slightly changes the calculation method for Overview UI placement, in order to line up better with spec. (The previous calculation caused a small 30dp divergence on tablets.)

Bug: 236760307
Test: Manual by measuring pixels and comparing to spec
Change-Id: I94e9e7b5a6a24c37693425ac8ec71cd066003658
2022-07-28 14:05:24 -07:00
Andy Wickham f61e7bb4a2 Merge "Only bind fast scrollbar when attached if not already bound." into tm-qpr-dev 2022-07-27 22:27:25 +00:00