Fix 2 issues related to hover event dispatching.

1) We should always keep the old hover window unless a hover event
changes it. Previously we resets mLastHoverWindowHandle unless it's an
event with ACTION_SCROLL, which is far from enough.
2) We shouldn't send duplicate HOVER_ENTER or HOVER_EXIT event if
InputReader sends HOVER_ENTER or HOVER_EXIT to InputDispatcher. Those
events can be sent from TouchInputMapper so it's a legitimate case.

Bug: 160251565
Test: Wrong HOVER_ENTER & HOVER_EXIT aren't sent anymore. HOVER_ENTER &
HOVER_EXIT still works when mouse cursor moves across window boundary.
Test: atest inputflinger_tests

Change-Id: Ie95bcb478d44c5fbcb988f20ccb3473121f75343
2 files changed