Provide IME insets with insetsSizeOverrides

The frameworks extended the API to let window provide insets to given
typed window with insetsSizeOverrides. Migrate to the method to
provide insets for IME.

Test: build
Test: the IME can receive correct insets
Bug: 225200928
Change-Id: Ic8eab5198221bc8de6eca432e8b3e11067c83d57
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt b/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt
index e4f82d2..dc5c22d 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt
@@ -17,9 +17,11 @@
 
 import android.graphics.Insets
 import android.graphics.Region
+import android.view.InsetsFrameProvider
 import android.view.InsetsState.ITYPE_BOTTOM_MANDATORY_GESTURES
 import android.view.InsetsState
 import android.view.WindowManager
+import android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD
 import com.android.launcher3.AbstractFloatingView
 import com.android.launcher3.AbstractFloatingView.TYPE_TASKBAR_ALL_APPS
 import com.android.launcher3.DeviceProfile
@@ -87,8 +89,14 @@
         }
 
         var imeInsetsSize = Insets.of(0, 0, 0, taskbarHeightForIme)
+        var insetsSizeOverride = arrayOf(
+            InsetsFrameProvider.InsetsSizeOverride(
+                TYPE_INPUT_METHOD,
+                imeInsetsSize
+            )
+        )
         for (provider in windowLayoutParams.providedInsets) {
-            provider.imeInsetsSize = imeInsetsSize
+            provider.insetsSizeOverrides = insetsSizeOverride
         }
     }
 
@@ -141,9 +149,16 @@
         pw.println(prefix + "TaskbarInsetsController:")
         pw.println("$prefix\twindowHeight=${windowLayoutParams.height}")
         for (provider in windowLayoutParams.providedInsets) {
-            pw.println("$prefix\tprovidedInsets: (type=" + InsetsState.typeToString(provider.type)
-                    + " insetsSize=" + provider.insetsSize
-                    + " imeInsetsSize=" + provider.imeInsetsSize + ")")
+            pw.print("$prefix\tprovidedInsets: (type=" + InsetsState.typeToString(provider.type)
+                    + " insetsSize=" + provider.insetsSize)
+            if (provider.insetsSizeOverrides != null) {
+                pw.print(" insetsSizeOverrides={")
+                for (overrideSize in provider.insetsSizeOverrides) {
+                    pw.print(overrideSize)
+                }
+                pw.print("})")
+            }
+            pw.println()
         }
     }
 }