Moving bindSmartspaceWidget to ModelCallbacks

Changes are part of go/launcher_SoR .

Flag: NA
Bug: 301108526
Test: This is a no-op change, compiling should be the test
Change-Id: I960cb767e3c4db4a952e019ee489ec1611e2dbd2
diff --git a/src/com/android/launcher3/ModelCallbacks.kt b/src/com/android/launcher3/ModelCallbacks.kt
index 8304e96..2c3e74d 100644
--- a/src/com/android/launcher3/ModelCallbacks.kt
+++ b/src/com/android/launcher3/ModelCallbacks.kt
@@ -12,6 +12,7 @@
 import com.android.launcher3.util.IntSet as LIntSet
 import com.android.launcher3.util.PackageUserKey
 import com.android.launcher3.util.Preconditions
+import com.android.launcher3.widget.PendingAddWidgetInfo
 import com.android.launcher3.widget.model.WidgetsListBaseEntry
 import java.util.function.Predicate
 
@@ -135,4 +136,34 @@
         }
         return result
     }
+
+    override fun bindSmartspaceWidget() {
+        val cl: CellLayout? =
+            launcher.workspace.getScreenWithId(WorkspaceLayoutManager.FIRST_SCREEN_ID)
+        val spanX = InvariantDeviceProfile.INSTANCE.get(launcher).numSearchContainerColumns
+
+        if (cl?.isRegionVacant(0, 0, spanX, 1) != true) {
+            return
+        }
+
+        val widgetsListBaseEntry: WidgetsListBaseEntry =
+            launcher.popupDataProvider.allWidgets.firstOrNull { item: WidgetsListBaseEntry ->
+                item.mPkgItem.packageName == BuildConfig.APPLICATION_ID
+            }
+                ?: return
+
+        val info =
+            PendingAddWidgetInfo(
+                widgetsListBaseEntry.mWidgets[0].widgetInfo,
+                LauncherSettings.Favorites.CONTAINER_DESKTOP
+            )
+        launcher.addPendingItem(
+            info,
+            info.container,
+            WorkspaceLayoutManager.FIRST_SCREEN_ID,
+            intArrayOf(0, 0),
+            info.spanX,
+            info.spanY
+        )
+    }
 }