Don't play insets animation without a leash

This CL ensures that DisplayImeController always animates IME with a
leash by:
- ensuring the InsetsSourceControl of IME contains a leash before
  playing the animation, and
- accessing to a copy of the InsetsSourceControl while playing the
  animation so if the leash is revoked during the animation, the
  copied one will still be accessible.

Bug: 364178802
Flag: EXEMPT bugfix
Test: DisplayImeControllerTest
Change-Id: Ia5d475959a03713ba6c5fbe45f7988a8cd8029ab
1 file changed