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
+ )
+ }
}