Fix app target list footer

Fix: 324011248
Test: manual testing (launching chooser while a keyboard is shown)
Flag: ACONFIG com.android.intentresolver.fix_target_list_footer
 DEVELOPMENT
Change-Id: I6bbadde2535cd9a6a43563021b37658fc566d19f
diff --git a/aconfig/FeatureFlags.aconfig b/aconfig/FeatureFlags.aconfig
index 0da543a..04883ba 100644
--- a/aconfig/FeatureFlags.aconfig
+++ b/aconfig/FeatureFlags.aconfig
@@ -6,6 +6,16 @@
 # bug: "Feature_Bug_#" or "<none>"
 
 flag {
+  name: "fix_target_list_footer"
+  namespace: "intentresolver"
+  description: "Update app target grid footer on window insets change"
+  bug: "324011248"
+  metadata {
+    purpose: PURPOSE_BUGFIX
+  }
+}
+
+flag {
   name: "scrollable_preview"
   namespace: "intentresolver"
   description: "Makes preview scrollable with multiple profiles"
diff --git a/java/src/com/android/intentresolver/grid/ChooserGridAdapter.java b/java/src/com/android/intentresolver/grid/ChooserGridAdapter.java
index 5ed3e67..036b686 100644
--- a/java/src/com/android/intentresolver/grid/ChooserGridAdapter.java
+++ b/java/src/com/android/intentresolver/grid/ChooserGridAdapter.java
@@ -162,7 +162,14 @@
     }
 
     public void setFooterHeight(int height) {
-        mFooterHeight = height;
+        if (mFooterHeight != height) {
+            mFooterHeight = height;
+            if (mFeatureFlags.fixTargetListFooter()) {
+                // we always have at least one view, the footer, see getItemCount() and
+                // getFooterRowCount()
+                notifyItemChanged(getItemCount() - 1);
+            }
+        }
     }
 
     /**