diff options
Diffstat (limited to 'src/com/android/launcher3/Launcher.java')
-rw-r--r-- | src/com/android/launcher3/Launcher.java | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index d2581414d..8ba8f3e3a 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -1622,16 +1622,26 @@ public class Launcher extends Activity // The AppWidgetHostView has already been inflated and instantiated launcherInfo.hostView = hostView; } - launcherInfo.hostView.setTag(launcherInfo); launcherInfo.hostView.setVisibility(View.VISIBLE); - launcherInfo.notifyWidgetSizeChanged(this); + addAppWidgetToWorkspace(launcherInfo, appWidgetInfo, isWorkspaceLocked()); + } + resetAddInfo(); + } - mWorkspace.addInScreen(launcherInfo.hostView, container, screenId, info.cellX, - info.cellY, launcherInfo.spanX, launcherInfo.spanY, isWorkspaceLocked()); + private void addAppWidgetToWorkspace(LauncherAppWidgetInfo item, + LauncherAppWidgetProviderInfo appWidgetInfo, boolean insert) { + item.hostView.setTag(item); + item.onBindAppWidget(this); - addWidgetToAutoAdvanceIfNeeded(launcherInfo.hostView, appWidgetInfo); + item.hostView.setFocusable(true); + item.hostView.setOnFocusChangeListener(mFocusHandler); + + mWorkspace.addInScreen(item.hostView, item.container, item.screenId, + item.cellX, item.cellY, item.spanX, item.spanY, insert); + + if (!item.isCustomWidget()) { + addWidgetToAutoAdvanceIfNeeded(item.hostView, appWidgetInfo); } - resetAddInfo(); } private final BroadcastReceiver mReceiver = new BroadcastReceiver() { @@ -4123,15 +4133,7 @@ public class Launcher extends Activity item.hostView.setOnClickListener(this); } - item.hostView.setTag(item); - item.onBindAppWidget(this); - - workspace.addInScreen(item.hostView, item.container, item.screenId, item.cellX, - item.cellY, item.spanX, item.spanY, false); - if (!item.isCustomWidget()) { - addWidgetToAutoAdvanceIfNeeded(item.hostView, appWidgetInfo); - } - + addAppWidgetToWorkspace(item, appWidgetInfo, false); workspace.requestLayout(); if (DEBUG_WIDGETS) { |