Remove inset for non-freeform tasks when desktop mode is enabled

The desktop windowing caption for non-fullscreen tasks (i.e. tasks in
fullscreen and split) is the same height as the status bar which means
that we are reporting the same inset twice, once as a status bar inset
and once as a caption bar inset.

When a task enters immersive mode the status bar and its inset is
removed. When the desktop window decor gets notified of the status bar
inset being removed, the caption bar is hiden and the caption bar is
removed. The issue with this is that this causes two
onWindowInsetsChanged calls which is very costly.

To fix this, this change only reports the caption bar inset if the task
is in freeform (and therefore has a caption bar inset equal to the
status bar inset).

Bug: 368359962
Test: Manual testing
Flag: EXEMPT bugfix

Change-Id: I82b5cde47349d3f8c782d7ca561e4ad9ee10ea2d
2 files changed