Fix Keyboard stays on while startSeamlessRotation
InsetsSourceProvider#startSemlessRotation will be called and cancel on-going insets animation to revoke the insets control. The idea is preventing the frame of insets animation will be drawn while the rotation is not yet stable, and re-apply the revoked control again once the rotation finished. However, since the IME insets control / control target / leash has been cleared after animation cancelled, there is no way to update the revoked IME control target again, and also cannot have a direct signal to request visible for client side after finished rotation, that will casue IME surface stays on and client can't control the IME inets visiblity. As the issue case which seamless rotation happens during launch fixed portrait rotation app from launcher in landscape mode, since seamless rotation animation doesn't well support the target window which controlled IME insets is animating, we should skip seamless rotation for this case. Fix: 158924696 Test: manual as below steps: 1. Enable "Allow Home screen rotation" from Launcher -> Home Settings and "Auto-rotate" from quick settings. 2. Open Snapchat in portrait > open a conversation > open keyboard. 3. Tap Home button > rotate device from portrait to landscape. 4. Tap Snapchat icon in landscape > the keyboard is automatically displayed 5. Tap the back key in the lower left corner of the device. 6. Expect keyboard should hide after the back key pressed. Change-Id: I7d4685a0b85ec3db9b7e1c266030817da3dde812
Loading
Please register or sign in to comment