Handle nullable CellLayout when removing app icon from folder

If CellLayout is null, instead of early return that will lead app icon not clickable, we should fallback to use Launcher as activity

Fix: 290973455
Test: attached to video
Change-Id: I10b03f3f41dd672116133af83ae8a5b066824d71
This commit is contained in:
Fengjiang Li
2023-07-12 13:33:54 -07:00
parent fc681dbe09
commit 080f9326ab
2 changed files with 4 additions and 6 deletions
+4 -3
View File
@@ -1402,9 +1402,10 @@ public class Launcher extends StatefulActivity<LauncherState>
* @param info The data structure describing the shortcut.
* @return A View inflated from layoutResId.
*/
public View createShortcut(ViewGroup parent, WorkspaceItemInfo info) {
BubbleTextView favorite = (BubbleTextView) LayoutInflater.from(parent.getContext())
.inflate(R.layout.app_icon, parent, false);
public View createShortcut(@Nullable ViewGroup parent, WorkspaceItemInfo info) {
BubbleTextView favorite =
(BubbleTextView) LayoutInflater.from(parent != null ? parent.getContext() : this)
.inflate(R.layout.app_icon, parent, false);
favorite.applyFromWorkspaceItem(info);
favorite.setOnClickListener(getItemOnClickListener());
favorite.setOnFocusChangeListener(mFocusHandler);
@@ -94,9 +94,6 @@ public class LauncherDelegate {
// folder
CellLayout cellLayout = mLauncher.getCellLayout(info.container,
mLauncher.getCellPosMapper().mapModelToPresenter(info).screenId);
if (cellLayout == null) {
return;
}
finalItem = info.contents.remove(0);
newIcon = mLauncher.createShortcut(cellLayout, finalItem);
mLauncher.getModelWriter().addOrMoveItemInDatabase(finalItem,