diff options
Diffstat (limited to 'src/com/android/launcher3/widget/WidgetsContainerView.java')
-rw-r--r-- | src/com/android/launcher3/widget/WidgetsContainerView.java | 55 |
1 files changed, 11 insertions, 44 deletions
diff --git a/src/com/android/launcher3/widget/WidgetsContainerView.java b/src/com/android/launcher3/widget/WidgetsContainerView.java index 89c44c859..2e1294251 100644 --- a/src/com/android/launcher3/widget/WidgetsContainerView.java +++ b/src/com/android/launcher3/widget/WidgetsContainerView.java @@ -21,7 +21,6 @@ import android.graphics.Bitmap; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView.State; import android.util.AttributeSet; import android.util.Log; import android.view.View; @@ -29,7 +28,6 @@ import android.view.ViewGroup; import android.widget.Toast; import com.android.launcher3.BaseContainerView; -import com.android.launcher3.CellLayout; import com.android.launcher3.DeleteDropTarget; import com.android.launcher3.DragSource; import com.android.launcher3.DropTarget.DragObject; @@ -43,13 +41,15 @@ import com.android.launcher3.PendingAddItemInfo; import com.android.launcher3.R; import com.android.launcher3.Utilities; import com.android.launcher3.WidgetPreviewLoader; -import com.android.launcher3.Workspace; import com.android.launcher3.dragndrop.DragController; +import com.android.launcher3.graphics.LauncherIcons; +import com.android.launcher3.model.PackageItemInfo; +import com.android.launcher3.model.WidgetItem; import com.android.launcher3.model.WidgetsModel; import com.android.launcher3.userevent.nano.LauncherLogProto; import com.android.launcher3.userevent.nano.LauncherLogProto.Target; +import com.android.launcher3.util.MultiHashMap; import com.android.launcher3.util.Thunk; -import com.android.launcher3.util.TransformingTouchDelegate; /** * The widgets list view container. @@ -64,12 +64,9 @@ public class WidgetsContainerView extends BaseContainerView private DragController mDragController; private IconCache mIconCache; - private final Rect mTmpBgPaddingRect = new Rect(); - /* Recycler view related member variables */ private WidgetsRecyclerView mRecyclerView; private WidgetsListAdapter mAdapter; - private TransformingTouchDelegate mRecyclerViewTouchDelegate; /* Touch handling related member variables. */ private Toast mWidgetInstructionToast; @@ -97,14 +94,8 @@ public class WidgetsContainerView extends BaseContainerView } @Override - protected void onLayout(boolean changed, int left, int top, int right, int bottom) { - super.onLayout(changed, left, top, right, bottom); - getRevealView().getBackground().getPadding(mTmpBgPaddingRect); - mRecyclerViewTouchDelegate.setBounds( - mRecyclerView.getLeft() - mTmpBgPaddingRect.left, - mRecyclerView.getTop() - mTmpBgPaddingRect.top, - mRecyclerView.getRight() + mTmpBgPaddingRect.right, - mRecyclerView.getBottom() + mTmpBgPaddingRect.bottom); + public View getTouchDelegateTargetView() { + return mRecyclerView; } @Override @@ -113,13 +104,6 @@ public class WidgetsContainerView extends BaseContainerView mRecyclerView = (WidgetsRecyclerView) getContentView().findViewById(R.id.widgets_list_view); mRecyclerView.setAdapter(mAdapter); mRecyclerView.setLayoutManager(new LinearLayoutManager(getContext())); - mRecyclerViewTouchDelegate = new TransformingTouchDelegate(mRecyclerView); - } - - @Override - protected void onAttachedToWindow() { - super.onAttachedToWindow(); - ((View) mRecyclerView.getParent()).setTouchDelegate(mRecyclerViewTouchDelegate); } // @@ -156,7 +140,7 @@ public class WidgetsContainerView extends BaseContainerView @Override public boolean onLongClick(View v) { if (LOGD) { - Log.d(TAG, String.format("onLonglick [v=%s]", v)); + Log.d(TAG, String.format("onLongClick [v=%s]", v)); } // Return early if this is not initiated from a touch if (!v.isInTouchMode()) return false; @@ -241,7 +225,7 @@ public class WidgetsContainerView extends BaseContainerView } else { PendingAddShortcutInfo createShortcutInfo = (PendingAddShortcutInfo) v.getTag(); Drawable icon = mIconCache.getFullResIcon(createShortcutInfo.activityInfo); - preview = Utilities.createIconBitmap(icon, mLauncher); + preview = LauncherIcons.createIconBitmap(icon, mLauncher); createItemInfo.spanX = createItemInfo.spanY = 1; scale = ((float) mLauncher.getDeviceProfile().iconSizePx) / preview.getWidth(); } @@ -308,23 +292,7 @@ public class WidgetsContainerView extends BaseContainerView } mLauncher.unlockScreenOrientation(false); - // Display an error message if the drag failed due to there not being enough space on the - // target layout we were dropping on. if (!success) { - boolean showOutOfSpaceMessage = false; - if (target instanceof Workspace) { - int currentScreen = mLauncher.getCurrentWorkspaceScreen(); - Workspace workspace = (Workspace) target; - CellLayout layout = (CellLayout) workspace.getChildAt(currentScreen); - ItemInfo itemInfo = d.dragInfo; - if (layout != null) { - showOutOfSpaceMessage = - !layout.findCellForSpan(null, itemInfo.spanX, itemInfo.spanY); - } - } - if (showOutOfSpaceMessage) { - mLauncher.showOutOfSpaceMessage(false); - } d.deferDragViewCleanupPostAnimation = false; } } @@ -332,9 +300,8 @@ public class WidgetsContainerView extends BaseContainerView /** * Initialize the widget data model. */ - public void addWidgets(WidgetsModel model) { - mRecyclerView.setWidgets(model); - mAdapter.setWidgetsModel(model); + public void setWidgets(MultiHashMap<PackageItemInfo, WidgetItem> model) { + mAdapter.setWidgets(model); mAdapter.notifyDataSetChanged(); View loader = getContentView().findViewById(R.id.loader); @@ -355,7 +322,7 @@ public class WidgetsContainerView extends BaseContainerView } @Override - public void fillInLaunchSourceData(View v, ItemInfo info, Target target, Target targetParent) { + public void fillInLogContainerData(View v, ItemInfo info, Target target, Target targetParent) { targetParent.containerType = LauncherLogProto.WIDGETS; } }
\ No newline at end of file |