Temporarily disable visibility-gated hotseat and prediction row updates.

Pending a resolution in b/174174514, disabling the visibility-gating of hotseat and all app prediction row updates. Updates will be allowed regardless of visibility.

Test: manual
Change-Id: I10e4dae9aad9af7b799fdad3b231c734e383b493
diff --git a/quickstep/src/com/android/launcher3/appprediction/PredictionRowView.java b/quickstep/src/com/android/launcher3/appprediction/PredictionRowView.java
index f313d75..f53a5ef 100644
--- a/quickstep/src/com/android/launcher3/appprediction/PredictionRowView.java
+++ b/quickstep/src/com/android/launcher3/appprediction/PredictionRowView.java
@@ -206,7 +206,10 @@
      * we can optimize by swapping them in place.
      */
     public void setPredictedApps(List<ItemInfo> items) {
-        if (!mLauncher.isWorkspaceLoading() && isShown() && getWindowVisibility() == View.VISIBLE) {
+        if (!FeatureFlags.ENABLE_APP_PREDICTIONS_WHILE_VISIBLE.get()
+                && !mLauncher.isWorkspaceLoading()
+                && isShown()
+                && getWindowVisibility() == View.VISIBLE) {
             mPendingPredictedItems = items;
             return;
         }
diff --git a/quickstep/src/com/android/launcher3/hybridhotseat/HotseatPredictionController.java b/quickstep/src/com/android/launcher3/hybridhotseat/HotseatPredictionController.java
index 4953138..b2de4c9 100644
--- a/quickstep/src/com/android/launcher3/hybridhotseat/HotseatPredictionController.java
+++ b/quickstep/src/com/android/launcher3/hybridhotseat/HotseatPredictionController.java
@@ -42,6 +42,7 @@
 import com.android.launcher3.R;
 import com.android.launcher3.Utilities;
 import com.android.launcher3.anim.AnimationSuccessListener;
+import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.dragndrop.DragController;
 import com.android.launcher3.dragndrop.DragOptions;
 import com.android.launcher3.graphics.DragPreviewProvider;
@@ -251,7 +252,8 @@
      * Sets or updates the predicted items
      */
     public void setPredictedItems(FixedContainerItems items) {
-        boolean shouldIgnoreVisibility = mLauncher.isWorkspaceLoading()
+        boolean shouldIgnoreVisibility = FeatureFlags.ENABLE_APP_PREDICTIONS_WHILE_VISIBLE.get()
+                || mLauncher.isWorkspaceLoading()
                 || mPredictedItems.equals(items.items)
                 || mHotseat.getShortcutsAndWidgets().getChildCount() < mHotSeatItemsCount;
         if (!shouldIgnoreVisibility
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index e099d85..a96fabd 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -222,8 +222,6 @@
 
     static final boolean DEBUG_STRICT_MODE = false;
 
-    private static final boolean ENABLE_ACTIVITY_CROSSFADE = false;
-
     private static final int REQUEST_CREATE_SHORTCUT = 1;
     private static final int REQUEST_CREATE_APPWIDGET = 5;
 
@@ -1384,8 +1382,9 @@
         int width = mDragLayer.getWidth();
         int height = mDragLayer.getHeight();
 
-        // TODO: b/172467144 Remove hardcoded ENABLE_ACTIVITY_CROSSFADE.
-        if (ENABLE_ACTIVITY_CROSSFADE && width > 0 && height > 0) {
+        if (FeatureFlags.ENABLE_LAUNCHER_ACTIVITY_THEME_CROSSFADE.get()
+                && width > 0
+                && height > 0) {
             instance.snapshot =
                     BitmapRenderer.createHardwareBitmap(width, height, mDragLayer::draw);
         }
diff --git a/src/com/android/launcher3/config/FeatureFlags.java b/src/com/android/launcher3/config/FeatureFlags.java
index 883eab0..839f0f4 100644
--- a/src/com/android/launcher3/config/FeatureFlags.java
+++ b/src/com/android/launcher3/config/FeatureFlags.java
@@ -194,6 +194,16 @@
             "ENABLE_FOUR_COLUMNS", false, "Uses 4 columns in launcher grid."
             + "Warning: This will permanently alter your home screen items and is not reversible.");
 
+    // TODO: b/172467144 Remove ENABLE_LAUNCHER_ACTIVITY_THEME_CROSSFADE feature flag.
+    public static final BooleanFlag ENABLE_LAUNCHER_ACTIVITY_THEME_CROSSFADE = new DeviceFlag(
+            "ENABLE_LAUNCHER_ACTIVITY_THEME_CROSSFADE", false, "Enables a "
+            + "crossfade animation when the system these changes.");
+
+    // TODO: b/174174514 Remove ENABLE_APP_PREDICTIONS_WHILE_VISIBLE feature flag.
+    public static final BooleanFlag ENABLE_APP_PREDICTIONS_WHILE_VISIBLE = new DeviceFlag(
+            "ENABLE_APP_PREDICTIONS_WHILE_VISIBLE", true, "Allows app "
+            + "predictions to be updated while they are visible to the user.");
+
     public static void initialize(Context context) {
         synchronized (sDebugFlags) {
             for (DebugFlag flag : sDebugFlags) {