Commit Graph

6 Commits

Author SHA1 Message Date
Nicolo' Mazzucato
74c3a0024b Cancel unfold animation when rotation changes
In DeviceFoldStateProvider.kt, FOLD_UPDATE_FINISH_HALF_OPEN is emitted if the rotation changes while the animation is in progress.

 This targets the case when the device goes to tabletop mode during the transition.

+ Using RotationChangeProvider to fix problems when the new orientation change was received in a background thread unexpectedly. This fixes: (1) wrong launcher icons movement after the rotation, and (2) wrong dark overlay scrim after rotation.

+ Minor formattig fixes by ktfmt

Bug: 241743859
Test: DeviceFoldStateProviderTest && NaturalRotationUnfoldProgressProviderTest && manual stress testing
Change-Id: Iee234e4b832cad8298b69356fce7c14d75e89ccc
2022-10-13 09:16:44 +00:00
Nick Chameyev
fe9ec740cc Do not run unfold taskbar animation when in portrait
Limits taskbar icons translation animation
only when the display is in natural orientation.

Bug: 219958588
Test: fold/unfold in portrait and landscape
Change-Id: I33e26829ae37f1df39e8c7234f98d20eb7993b93
2022-03-08 12:03:32 +00:00
Schneider Victor-tulias
fa0bfee97a Add log dumps for taskbar state
Test: created bugreport and checked logs
Bug: -
Change-Id: Ic0c2330b18c8daf181ae5b236e0c4b212d630fa3
2022-01-20 14:41:25 -08:00
Nick Chameyev
ae818dfe42 Do not animate statusbar unfold when in portrait orientation
Disables unfold animation for statusbar when it is
perpendicular to the screen fold.
Moves ScopedUnfoldTransitionProgressProvider from launcher
to shared SysUI/Launcher code

Bug: 201518277
Test: manual
Test: atest com.android.systemui.unfold.util.NaturalRotationUnfoldProgressProviderTest
Change-Id: I1417ee89b132b541d5a3ed0e5ddcbc56d827da96
2021-10-15 14:06:42 +01:00
Nick Chameyev
9e0d0ed0de [Taskbar icons unfold animation issue] Do not take into account initial translation
Removes taking into account initial translation in
move from center animation. Initially it was done
because in StatusBar items are aligned using translations
but we decided to use different approach there so it is
not necessary anymore.

Now move from center animator can only set translations
from positive/negative value when progress is 0 and sets
it to 0 when progress is 1 (previously it was 'capturing'
the initial translation and animated the translation to
its original value).

Taskbar icons are pre-aligned using translations when
user is on launcher. After several folds/unfolds these
translations were accumulating that led to incorrect
positioning of the icons.

Found one more issue that we didn't clear the animated
views list after finishing the animation in taskbar unfold
animation controller but it didn't affect the animation
itself.

Test: atest com.android.systemui.shared.animation.UnfoldMoveFromCenterAnimatorTest
Test: unfold on launcher and use gesture nav to swipe to an app
Fixes: 199126683
Change-Id: Icfb29d79fdd8f04eb5a9a369a3d01c15fd321c75
2021-09-08 16:39:15 +01:00
Nick Chameyev
4dd4159fdc Add taskbar icons unfold animation
Adds 'move from center' animation for taskbar icons when
unfolding foldable devices.

Moves unfold transition progress provider from quickstep
launcher activity to TouchInteractionService to widen
the scope when this provider is available to cover
both launcher activity and taskbar.

Launcher activity and taskbar get their own instances
of unfold transition progress provider using
ScopedUnfoldTransitionProgressProvider wrapper.
This wrapper allows to get transition progress provider
that emits events only when clients are ready to handle them.

Bug: 193794563
Test: manual
Change-Id: I27581bd4e145a74f526bf60f2a545e56ded322f9
2021-09-03 10:25:52 +01:00