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
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
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
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
* TODO: Landscape/seascape support,
Separate nav spacing out into
separate class/add tests
Bug: 219035565
Change-Id: I8f5c007f04ea4d6df15962772806356181d764ff
- 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
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
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
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
- 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
* 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
- 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
Fix: 239963678
Test: Making sure the reorder preview is being drawn when moving a widget
Test: atest ReorderWidgets
Change-Id: Id32919821ac9177b3428261354d361c52b8f9e2d
- 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
> 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
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