Display Cutout: Fix ActionBarOverlayLayout to properly dispatch cutout

ActionBarOverlayLayout used to drop WindowInsets, extract the content insets
as a rect, and then dispatch a modified rect to the content view; this because
there was no way to retarget the WindowInsets to the content view, and the
WindowInsets were not truly immutable. That means however, that other kinds of
insets than the content insets do not get dispatched, such as the display cutout.

To fix this, we add APIs to inset WindowInsets, make them immutable. Note that
a similar change is needed for the support lib.

Bug: 79733300
Test: atest ActionBarOverlayLayoutTest
Change-Id: I6a69d8462163ca5e66fdb53f83def6bc4063f8aa
diff --git a/config/hiddenapi-light-greylist.txt b/config/hiddenapi-light-greylist.txt
index cecd564..2663cdb 100644
--- a/config/hiddenapi-light-greylist.txt
+++ b/config/hiddenapi-light-greylist.txt
@@ -6175,6 +6175,7 @@
 Landroid/view/WindowInsets;-><init>(Landroid/graphics/Rect;)V
 Landroid/view/WindowInsets;->CONSUMED:Landroid/view/WindowInsets;
 Landroid/view/WindowInsets;->getSystemWindowInsets()Landroid/graphics/Rect;
+Landroid/view/WindowInsets;->inset(IIII)Landroid/view/WindowInsets;
 Landroid/view/WindowLeaked;-><init>(Ljava/lang/String;)V
 Landroid/view/WindowManager$LayoutParams;->backup()V
 Landroid/view/WindowManager$LayoutParams;->FLAG_SLIPPERY:I