Loading src/com/android/launcher3/Launcher.java +2 −28 Original line number Diff line number Diff line Loading @@ -27,7 +27,6 @@ import static com.android.launcher3.AbstractFloatingView.TYPE_FOLDER; import static com.android.launcher3.AbstractFloatingView.TYPE_ICON_SURFACE; import static com.android.launcher3.AbstractFloatingView.TYPE_REBIND_SAFE; import static com.android.launcher3.AbstractFloatingView.getTopOpenViewWithType; import static com.android.launcher3.BuildConfig.APPLICATION_ID; import static com.android.launcher3.BuildConfig.QSB_ON_FIRST_SCREEN; import static com.android.launcher3.LauncherAnimUtils.HOTSEAT_SCALE_PROPERTY_FACTORY; import static com.android.launcher3.LauncherAnimUtils.SCALE_INDEX_WIDGET_TRANSITION; Loading @@ -49,8 +48,8 @@ import static com.android.launcher3.LauncherConstants.TraceEvents.COLD_STARTUP_T import static com.android.launcher3.LauncherConstants.TraceEvents.COLD_STARTUP_TRACE_METHOD_NAME; import static com.android.launcher3.LauncherConstants.TraceEvents.DISPLAY_ALL_APPS_TRACE_COOKIE; import static com.android.launcher3.LauncherConstants.TraceEvents.DISPLAY_ALL_APPS_TRACE_METHOD_NAME; import static com.android.launcher3.LauncherConstants.TraceEvents.DISPLAY_WORKSPACE_TRACE_METHOD_NAME; import static com.android.launcher3.LauncherConstants.TraceEvents.DISPLAY_WORKSPACE_TRACE_COOKIE; import static com.android.launcher3.LauncherConstants.TraceEvents.DISPLAY_WORKSPACE_TRACE_METHOD_NAME; import static com.android.launcher3.LauncherConstants.TraceEvents.ON_CREATE_EVT; import static com.android.launcher3.LauncherConstants.TraceEvents.ON_NEW_INTENT_EVT; import static com.android.launcher3.LauncherConstants.TraceEvents.ON_RESUME_EVT; Loading Loading @@ -2861,32 +2860,7 @@ public class Launcher extends StatefulActivity<LauncherState> @Override public void bindSmartspaceWidget() { CellLayout cl = mWorkspace.getScreenWithId(FIRST_SCREEN_ID); int spanX = InvariantDeviceProfile.INSTANCE.get(this).numSearchContainerColumns; if (cl != null) { for (int col = 0; col < spanX; col++) { if (cl.isOccupied(col, 0)) { return; } } } else { return; } WidgetsListBaseEntry widgetsListBaseEntry = getPopupDataProvider() .getAllWidgets().stream().filter( item -> item.mPkgItem.packageName.equals( APPLICATION_ID)) .findFirst() .orElse(null); if (widgetsListBaseEntry != null) { LauncherAppWidgetProviderInfo launcherAppWidgetProviderInfo = widgetsListBaseEntry.mWidgets.get(0).widgetInfo; PendingAddWidgetInfo info = new PendingAddWidgetInfo(launcherAppWidgetProviderInfo, CONTAINER_DESKTOP); addPendingItem(info, info.container, FIRST_SCREEN_ID, new int[]{0, 0}, info.spanX, info.spanY); } mModelCallbacks.bindSmartspaceWidget(); } @Override Loading src/com/android/launcher3/ModelCallbacks.kt +31 −0 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ import com.android.launcher3.util.IntArray as LIntArray 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 Loading Loading @@ -135,4 +136,34 @@ class ModelCallbacks(private var launcher: Launcher) : BgDataModel.Callbacks { } 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 ) } } Loading
src/com/android/launcher3/Launcher.java +2 −28 Original line number Diff line number Diff line Loading @@ -27,7 +27,6 @@ import static com.android.launcher3.AbstractFloatingView.TYPE_FOLDER; import static com.android.launcher3.AbstractFloatingView.TYPE_ICON_SURFACE; import static com.android.launcher3.AbstractFloatingView.TYPE_REBIND_SAFE; import static com.android.launcher3.AbstractFloatingView.getTopOpenViewWithType; import static com.android.launcher3.BuildConfig.APPLICATION_ID; import static com.android.launcher3.BuildConfig.QSB_ON_FIRST_SCREEN; import static com.android.launcher3.LauncherAnimUtils.HOTSEAT_SCALE_PROPERTY_FACTORY; import static com.android.launcher3.LauncherAnimUtils.SCALE_INDEX_WIDGET_TRANSITION; Loading @@ -49,8 +48,8 @@ import static com.android.launcher3.LauncherConstants.TraceEvents.COLD_STARTUP_T import static com.android.launcher3.LauncherConstants.TraceEvents.COLD_STARTUP_TRACE_METHOD_NAME; import static com.android.launcher3.LauncherConstants.TraceEvents.DISPLAY_ALL_APPS_TRACE_COOKIE; import static com.android.launcher3.LauncherConstants.TraceEvents.DISPLAY_ALL_APPS_TRACE_METHOD_NAME; import static com.android.launcher3.LauncherConstants.TraceEvents.DISPLAY_WORKSPACE_TRACE_METHOD_NAME; import static com.android.launcher3.LauncherConstants.TraceEvents.DISPLAY_WORKSPACE_TRACE_COOKIE; import static com.android.launcher3.LauncherConstants.TraceEvents.DISPLAY_WORKSPACE_TRACE_METHOD_NAME; import static com.android.launcher3.LauncherConstants.TraceEvents.ON_CREATE_EVT; import static com.android.launcher3.LauncherConstants.TraceEvents.ON_NEW_INTENT_EVT; import static com.android.launcher3.LauncherConstants.TraceEvents.ON_RESUME_EVT; Loading Loading @@ -2861,32 +2860,7 @@ public class Launcher extends StatefulActivity<LauncherState> @Override public void bindSmartspaceWidget() { CellLayout cl = mWorkspace.getScreenWithId(FIRST_SCREEN_ID); int spanX = InvariantDeviceProfile.INSTANCE.get(this).numSearchContainerColumns; if (cl != null) { for (int col = 0; col < spanX; col++) { if (cl.isOccupied(col, 0)) { return; } } } else { return; } WidgetsListBaseEntry widgetsListBaseEntry = getPopupDataProvider() .getAllWidgets().stream().filter( item -> item.mPkgItem.packageName.equals( APPLICATION_ID)) .findFirst() .orElse(null); if (widgetsListBaseEntry != null) { LauncherAppWidgetProviderInfo launcherAppWidgetProviderInfo = widgetsListBaseEntry.mWidgets.get(0).widgetInfo; PendingAddWidgetInfo info = new PendingAddWidgetInfo(launcherAppWidgetProviderInfo, CONTAINER_DESKTOP); addPendingItem(info, info.container, FIRST_SCREEN_ID, new int[]{0, 0}, info.spanX, info.spanY); } mModelCallbacks.bindSmartspaceWidget(); } @Override Loading
src/com/android/launcher3/ModelCallbacks.kt +31 −0 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ import com.android.launcher3.util.IntArray as LIntArray 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 Loading Loading @@ -135,4 +136,34 @@ class ModelCallbacks(private var launcher: Launcher) : BgDataModel.Callbacks { } 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 ) } }