Fix shade flicker & touch absorption
Intercept MOVE events for closed shade (with no HUNs) and call startExpandMotion when appropriate. ---------------------------------------------------- Fixes: 188249360 (shade flicker to full height on swipe open) This bug happened because ag/13733252 introduced a new behavior (reverted here) where PVC intercepts only if PanelView is hidden. This means: => PanelView initially shows onIntercept(down), so we do NOT intercept and onTouch(down) does NOT run. => PanelView is then hidden onIntercept(move), so we intercept and onTouch(move) runs. When onTouch(down) does NOT run and onTouch(move) runs, we are MISSING the following: => onTouch(down): mGestureWaitForTouchSlop = true for closed shade => onTouch(move) calls startExpandMotion => startExpandMotion: mInitialOffsetOnTouch = 0 => onTouch(move): newHeight = mInitialOffsetOnTouch = 0 Instead, newHeight = full shade height from previous shade open. This causes the shade to jump to full height on swipe start. ---------------------------------------------------- Bug: 178277858 (touch absorption / shade not opening on swipe) This bug happened because onIntercept(move) did not intercept and call startExpandMotion when we swipe open from closed shade, resulting in the shade staying closed while child views silently eat the event. ------------------------------------------------ Test: open/close shade with varying drag speeds and flings => shade consistently opens with no flicker to full height Test: swipe-to-dismiss hun, expand hun, swipe down for hun-to-shade => no regressions Change-Id: I26ada34ed173393ee08a96aefd37b1935702bb90
Loading
Please register or sign in to comment