Support non-rectangular input regions.

This enables the system bar to carve out a region through which
events will be sent to the IME behind it.

Bug: 3238092
Change-Id: I69b855a8d9b5b3ee525266c0861826e53e5b5028
diff --git a/services/java/com/android/server/InputWindow.java b/services/java/com/android/server/InputWindow.java
index 1515290..2c2cdfe 100644
--- a/services/java/com/android/server/InputWindow.java
+++ b/services/java/com/android/server/InputWindow.java
@@ -16,6 +16,7 @@
 
 package com.android.server;
 
+import android.graphics.Region;
 import android.view.InputChannel;
 
 /**
@@ -39,23 +40,14 @@
     // Dispatching timeout.
     public long dispatchingTimeoutNanos;
 
-    // Window frame area.
+    // Window frame.
     public int frameLeft;
     public int frameTop;
     public int frameRight;
     public int frameBottom;
 
-    // Window visible frame area.
-    public int visibleFrameLeft;
-    public int visibleFrameTop;
-    public int visibleFrameRight;
-    public int visibleFrameBottom;
-
-    // Window touchable area.
-    public int touchableAreaLeft;
-    public int touchableAreaTop;
-    public int touchableAreaRight;
-    public int touchableAreaBottom;
+    // Window touchable region.
+    public final Region touchableRegion = new Region();
 
     // Window is visible.
     public boolean visible;