InputDispatcher: Fix support for INPUT_FEATURE_NO_INPUT_CHANNEL

In preparation for an occlusion detection fix, we are going to begin
sending windows with NO_INPUT_CHANNEL to InputFlinger. There are 3
obstacles we address here:
   1. InputDispatcher ignores windows with no InputChannel when updating
      input windows. We modify the code to allow such windows if they have
      INPUT_FEATURE_NO_INPUT_CHANNEL.
   2. The parcelling code currently has an optimization to avoid sending the rest
      of the fields if token is null. We rebase this optimization on
      whether or not a name is set.
   3. InputWindowHandle::getName checks if there is a token to consider the window
      invalid. We instead check if a name is set.

Bug: 152064592
Test: Existing tests pass
Change-Id: I8a85f46b6c44866c7f73daafa5e8ff4c9251c366
3 files changed