Fix squished hotseat due to bubbles
Hotseat supports adjusting its layout to make room for bubbles when needed. There are 2 events that trigger this: 1. When Hotseat's layout is reset, it checks for whether bubbles are showing. 2. When Bubble Bar visibility changes it notifies hotseat so that it can update itself. Folding the device is recreated triggers both hotseat layout reset and recreation of taskbar, but the order in which these happen is not guaranteed. Sometimes hotseat checks for the status of bubble bar which may be visible if taskbar hasn't been recreated yet. This change makes sure that hotseat updates itself after taskbar is recreated and the ui controller is set, so that it cleans up any adjustments it may have if bubbles are not visible. This change also updates the way QSB adjusts itself for bubbles. Previously it always animated from the same start value to a target value. Now the animation starts from its current width to the target, so that if the current width is already equal to the target width, there is no visible change. Flag: com.android.wm.shell.enable_bubble_bar Fixes: 349430356 Test: manual - unfold the device - create bubbles - observe hotseat adjusts itself for the bubble bar - fold the device - observe bubble bar is gone and hotseat shows correctly Test: manual - start a youtube video in full screen - swipe from the edge of the screen to show the gesture nav - swipe on the gesture nav to go home - observe that the QSB does not animate Change-Id: Ia0267ec518d6af9c3c3b68f17bb20ea67a49e5fd
Loading
Please register or sign in to comment