invalidate itemDecoration on predictedRow focus draw

Change-Id: I66c731f00ae1c1292c51ff281957f05fd2d70dfa
diff --git a/quickstep/src/com/android/launcher3/appprediction/PredictionRowView.java b/quickstep/src/com/android/launcher3/appprediction/PredictionRowView.java
index dbdfd8d..37336d1 100644
--- a/quickstep/src/com/android/launcher3/appprediction/PredictionRowView.java
+++ b/quickstep/src/com/android/launcher3/appprediction/PredictionRowView.java
@@ -148,10 +148,6 @@
 
     private void updateVisibility() {
         setVisibility(mPredictionsEnabled ? VISIBLE : GONE);
-        if (FeatureFlags.ENABLE_DEVICE_SEARCH.get() && mLauncher.getAppsView() != null
-                && mLauncher.getAppsView().getActiveRecyclerView() != null) {
-            mLauncher.getAppsView().invalidate();
-        }
     }
 
     @Override
@@ -170,6 +166,7 @@
             }
             mDecorationHandler.onDraw(canvas);
             mDecorationHandler.onFocusDraw(canvas, getFocusedChild());
+            mLauncher.getAppsView().getActiveRecyclerView().invalidateItemDecorations();
         }
         mFocusHelper.draw(canvas);
         super.dispatchDraw(canvas);
@@ -184,7 +181,7 @@
 
     @Override
     public boolean shouldDraw() {
-        return getVisibility() != GONE;
+        return getVisibility() == VISIBLE;
     }
 
     @Override
diff --git a/src/com/android/launcher3/allapps/FloatingHeaderView.java b/src/com/android/launcher3/allapps/FloatingHeaderView.java
index 4bb6a00..813db7d 100644
--- a/src/com/android/launcher3/allapps/FloatingHeaderView.java
+++ b/src/com/android/launcher3/allapps/FloatingHeaderView.java
@@ -200,7 +200,7 @@
     public View getFocusedChild() {
         if (FeatureFlags.ENABLE_DEVICE_SEARCH.get()) {
             for (FloatingHeaderRow row : mAllRows) {
-                if (row.hasVisibleContent()) {
+                if (row.hasVisibleContent() && row.shouldDraw()) {
                     return row.getFocusedChild();
                 }
             }