Use actual navigation bar insets info to determine position

The navigation bar position is currently only used to extend the ime
size when needed and determine whether IME can draw the color of the
navigation bar area. The only usage is to check whether it is at bottom
and the simulated display frame will not need the information.

This change make use of the actual insets size to determine whether the
navigation bar is at bottom and only update the information when the
navigation bar is layout. As the new way won't use the layout params
directly, the mismatch between the layout result and the method will no
longer happen.

Test: 3-button nav on landscape and launch IME. The bar should has
      content.
Test: DisplayPolicyTests
Test: TestDisplayContent
Flag: EXEMPT bugfix
Bug: 372835756
Change-Id: Ie763f164c7072c4a6fdbfbdbce6bdc8df9571b8e
3 files changed