diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2017-10-03 16:17:32 -0700 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2017-10-03 16:18:46 -0700 |
commit | 1ce9c476f73f30b55dd08e962506f51dc06ddac8 (patch) | |
tree | fc3a2672601d94296d3668c57d1f7b6ace2c122f /src/com/android/launcher3 | |
parent | 37920966888587900885c88a63785cb16567684c (diff) | |
download | android_packages_apps_Trebuchet-1ce9c476f73f30b55dd08e962506f51dc06ddac8.tar.gz android_packages_apps_Trebuchet-1ce9c476f73f30b55dd08e962506f51dc06ddac8.tar.bz2 android_packages_apps_Trebuchet-1ce9c476f73f30b55dd08e962506f51dc06ddac8.zip |
Removing some methods from the DragSource
This makes is easier to create new DragSource and sets up
proper default values in DragOptions
Change-Id: I6cb0b1df41b9730cf29f785fe85fe7f0b573ee3a
Diffstat (limited to 'src/com/android/launcher3')
-rw-r--r-- | src/com/android/launcher3/ButtonDropTarget.java | 6 | ||||
-rw-r--r-- | src/com/android/launcher3/DeleteDropTarget.java | 10 | ||||
-rw-r--r-- | src/com/android/launcher3/DragSource.java | 16 | ||||
-rw-r--r-- | src/com/android/launcher3/InfoDropTarget.java | 4 | ||||
-rw-r--r-- | src/com/android/launcher3/UninstallDropTarget.java | 2 | ||||
-rw-r--r-- | src/com/android/launcher3/Workspace.java | 18 | ||||
-rw-r--r-- | src/com/android/launcher3/allapps/AllAppsContainerView.java | 20 | ||||
-rw-r--r-- | src/com/android/launcher3/dragndrop/BaseItemDragListener.java | 15 | ||||
-rw-r--r-- | src/com/android/launcher3/dragndrop/DragOptions.java | 3 | ||||
-rw-r--r-- | src/com/android/launcher3/folder/Folder.java | 16 | ||||
-rw-r--r-- | src/com/android/launcher3/popup/PopupContainerWithArrow.java | 15 | ||||
-rw-r--r-- | src/com/android/launcher3/widget/WidgetsContainerView.java | 19 |
12 files changed, 21 insertions, 123 deletions
diff --git a/src/com/android/launcher3/ButtonDropTarget.java b/src/com/android/launcher3/ButtonDropTarget.java index 632e49059..375930062 100644 --- a/src/com/android/launcher3/ButtonDropTarget.java +++ b/src/com/android/launcher3/ButtonDropTarget.java @@ -178,7 +178,7 @@ public abstract class ButtonDropTarget extends TextView @Override public void onDragStart(DropTarget.DragObject dragObject, DragOptions options) { - mActive = supportsDrop(dragObject.dragSource, dragObject.dragInfo); + mActive = supportsDrop(dragObject.dragInfo); mDrawable.setColorFilter(null); if (mCurrentColorAnim != null) { mCurrentColorAnim.cancel(); @@ -194,10 +194,10 @@ public abstract class ButtonDropTarget extends TextView @Override public final boolean acceptDrop(DragObject dragObject) { - return supportsDrop(dragObject.dragSource, dragObject.dragInfo); + return supportsDrop(dragObject.dragInfo); } - protected abstract boolean supportsDrop(DragSource source, ItemInfo info); + protected abstract boolean supportsDrop(ItemInfo info); @Override public boolean isDropEnabled() { diff --git a/src/com/android/launcher3/DeleteDropTarget.java b/src/com/android/launcher3/DeleteDropTarget.java index 4dcb64f01..fdd4f34bd 100644 --- a/src/com/android/launcher3/DeleteDropTarget.java +++ b/src/com/android/launcher3/DeleteDropTarget.java @@ -46,7 +46,7 @@ public class DeleteDropTarget extends ButtonDropTarget { @Override public void onDragStart(DropTarget.DragObject dragObject, DragOptions options) { super.onDragStart(dragObject, options); - setTextBasedOnDragSource(dragObject.dragSource); + setTextBasedOnDragSource(dragObject.dragInfo); } /** @return true for items that should have a "Remove" action in accessibility. */ @@ -57,16 +57,16 @@ public class DeleteDropTarget extends ButtonDropTarget { } @Override - protected boolean supportsDrop(DragSource source, ItemInfo info) { + protected boolean supportsDrop(ItemInfo info) { return true; } /** - * Set the drop target's text to either "Remove" or "Cancel" depending on the drag source. + * Set the drop target's text to either "Remove" or "Cancel" depending on the drag item. */ - public void setTextBasedOnDragSource(DragSource dragSource) { + private void setTextBasedOnDragSource(ItemInfo item) { if (!TextUtils.isEmpty(mText)) { - mText = getResources().getString(dragSource.supportsDeleteDropTarget() + mText = getResources().getString(item.id != ItemInfo.NO_ID ? R.string.remove_drop_target_label : android.R.string.cancel); requestLayout(); diff --git a/src/com/android/launcher3/DragSource.java b/src/com/android/launcher3/DragSource.java index dcd8f589a..c6106c23e 100644 --- a/src/com/android/launcher3/DragSource.java +++ b/src/com/android/launcher3/DragSource.java @@ -27,22 +27,6 @@ import com.android.launcher3.logging.UserEventDispatcher.LogContainerProvider; public interface DragSource extends LogContainerProvider { /** - * @return whether items dragged from this source supports 'App Info' - */ - boolean supportsAppInfoDropTarget(); - - /** - * @return whether items dragged from this source supports 'Delete' drop target (e.g. to remove - * a shortcut.) If this returns false, the drop target will say "Cancel" instead of "Remove." - */ - boolean supportsDeleteDropTarget(); - - /* - * @return the scale of the icons over the workspace icon size - */ - float getIntrinsicIconScaleFactor(); - - /** * A callback made back to the source after an item from this source has been dropped on a * DropTarget. */ diff --git a/src/com/android/launcher3/InfoDropTarget.java b/src/com/android/launcher3/InfoDropTarget.java index f919dd052..eb6a7045e 100644 --- a/src/com/android/launcher3/InfoDropTarget.java +++ b/src/com/android/launcher3/InfoDropTarget.java @@ -99,8 +99,8 @@ public class InfoDropTarget extends UninstallDropTarget { } @Override - protected boolean supportsDrop(DragSource source, ItemInfo info) { - return source.supportsAppInfoDropTarget() && supportsDrop(getContext(), info); + protected boolean supportsDrop(ItemInfo info) { + return supportsDrop(getContext(), info); } public static boolean supportsDrop(Context context, ItemInfo info) { diff --git a/src/com/android/launcher3/UninstallDropTarget.java b/src/com/android/launcher3/UninstallDropTarget.java index 902fd3439..3f7de0604 100644 --- a/src/com/android/launcher3/UninstallDropTarget.java +++ b/src/com/android/launcher3/UninstallDropTarget.java @@ -44,7 +44,7 @@ public class UninstallDropTarget extends ButtonDropTarget { } @Override - protected boolean supportsDrop(DragSource source, ItemInfo info) { + protected boolean supportsDrop(ItemInfo info) { return supportsDrop(getContext(), info); } diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index 74c96a310..d003fa44a 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -1869,7 +1869,7 @@ public class Workspace extends PagedView DragView dv = mDragController.startDrag(b, dragLayerX, dragLayerY, source, dragObject, dragVisualizeOffset, dragRect, scale, dragOptions); - dv.setIntrinsicIconScaleFactor(source.getIntrinsicIconScaleFactor()); + dv.setIntrinsicIconScaleFactor(dragOptions.intrinsicIconScaleFactor); return dv; } @@ -1881,6 +1881,7 @@ public class Workspace extends PagedView /** * {@inheritDoc} */ + @Override public boolean acceptDrop(DragObject d) { // If it's an external drop (e.g. from All Apps), check if it should be accepted CellLayout dropTargetLayout = mDropToLayout; @@ -3240,21 +3241,6 @@ public class Workspace extends PagedView } } - @Override - public float getIntrinsicIconScaleFactor() { - return 1f; - } - - @Override - public boolean supportsAppInfoDropTarget() { - return true; - } - - @Override - public boolean supportsDeleteDropTarget() { - return true; - } - public boolean isDropEnabled() { return true; } diff --git a/src/com/android/launcher3/allapps/AllAppsContainerView.java b/src/com/android/launcher3/allapps/AllAppsContainerView.java index 4eba5c6df..03e9c395c 100644 --- a/src/com/android/launcher3/allapps/AllAppsContainerView.java +++ b/src/com/android/launcher3/allapps/AllAppsContainerView.java @@ -290,24 +290,12 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc dragController.removeDragListener(this); } }); - mLauncher.getWorkspace().beginDragShared(v, this, new DragOptions()); - return false; - } - - @Override - public boolean supportsAppInfoDropTarget() { - return true; - } - @Override - public boolean supportsDeleteDropTarget() { - return false; - } - - @Override - public float getIntrinsicIconScaleFactor() { DeviceProfile grid = mLauncher.getDeviceProfile(); - return (float) grid.allAppsIconSizePx / grid.iconSizePx; + DragOptions options = new DragOptions(); + options.intrinsicIconScaleFactor = (float) grid.allAppsIconSizePx / grid.iconSizePx; + mLauncher.getWorkspace().beginDragShared(v, this, options); + return false; } @Override diff --git a/src/com/android/launcher3/dragndrop/BaseItemDragListener.java b/src/com/android/launcher3/dragndrop/BaseItemDragListener.java index d0f2629aa..727fb51ce 100644 --- a/src/com/android/launcher3/dragndrop/BaseItemDragListener.java +++ b/src/com/android/launcher3/dragndrop/BaseItemDragListener.java @@ -159,21 +159,6 @@ public abstract class BaseItemDragListener implements } @Override - public boolean supportsAppInfoDropTarget() { - return false; - } - - @Override - public boolean supportsDeleteDropTarget() { - return false; - } - - @Override - public float getIntrinsicIconScaleFactor() { - return 1f; - } - - @Override public void onDropCompleted(View target, DropTarget.DragObject d, boolean isFlingToDelete, boolean success) { if (isFlingToDelete || !success || (target != mLauncher.getWorkspace() && diff --git a/src/com/android/launcher3/dragndrop/DragOptions.java b/src/com/android/launcher3/dragndrop/DragOptions.java index 9433aadc7..f108f8b53 100644 --- a/src/com/android/launcher3/dragndrop/DragOptions.java +++ b/src/com/android/launcher3/dragndrop/DragOptions.java @@ -34,6 +34,9 @@ public class DragOptions { /** Determines when a pre-drag should transition to a drag. By default, this is immediate. */ public PreDragCondition preDragCondition = null; + /** Scale of the icons over the workspace icon size. */ + public float intrinsicIconScaleFactor = 1f; + /** * Specifies a condition that must be met before DragListener#onDragStart() is called. * By default, there is no condition and onDragStart() is called immediately following diff --git a/src/com/android/launcher3/folder/Folder.java b/src/com/android/launcher3/folder/Folder.java index de4de36e8..e182da140 100644 --- a/src/com/android/launcher3/folder/Folder.java +++ b/src/com/android/launcher3/folder/Folder.java @@ -706,6 +706,7 @@ public class Folder extends AbstractFloatingView implements DragSource, View.OnC mContent.setCurrentPage(0); } + @Override public boolean acceptDrop(DragObject d) { final ItemInfo item = d.dragInfo; final int itemType = item.itemType; @@ -938,21 +939,6 @@ public class Folder extends AbstractFloatingView implements DragSource, View.OnC } } - @Override - public float getIntrinsicIconScaleFactor() { - return 1f; - } - - @Override - public boolean supportsAppInfoDropTarget() { - return true; - } - - @Override - public boolean supportsDeleteDropTarget() { - return true; - } - private void updateItemLocationsInDatabaseBatch() { ArrayList<View> list = getItemsInReadingOrder(); ArrayList<ItemInfo> items = new ArrayList<ItemInfo>(); diff --git a/src/com/android/launcher3/popup/PopupContainerWithArrow.java b/src/com/android/launcher3/popup/PopupContainerWithArrow.java index 409e5aefd..5c49b4bdf 100644 --- a/src/com/android/launcher3/popup/PopupContainerWithArrow.java +++ b/src/com/android/launcher3/popup/PopupContainerWithArrow.java @@ -793,21 +793,6 @@ public class PopupContainerWithArrow extends AbstractFloatingView implements Dra } @Override - public boolean supportsAppInfoDropTarget() { - return true; - } - - @Override - public boolean supportsDeleteDropTarget() { - return false; - } - - @Override - public float getIntrinsicIconScaleFactor() { - return 1f; - } - - @Override public void onDropCompleted(View target, DropTarget.DragObject d, boolean isFlingToDelete, boolean success) { if (!success) { diff --git a/src/com/android/launcher3/widget/WidgetsContainerView.java b/src/com/android/launcher3/widget/WidgetsContainerView.java index acec3dd3b..39dd0d498 100644 --- a/src/com/android/launcher3/widget/WidgetsContainerView.java +++ b/src/com/android/launcher3/widget/WidgetsContainerView.java @@ -197,25 +197,6 @@ public class WidgetsContainerView extends BaseContainerView // @Override - public boolean supportsAppInfoDropTarget() { - return true; - } - - /* - * Both this method and {@link #supportsFlingToDelete} has to return {@code false} for the - * {@link DeleteDropTarget} to be invisible.) - */ - @Override - public boolean supportsDeleteDropTarget() { - return false; - } - - @Override - public float getIntrinsicIconScaleFactor() { - return 0; - } - - @Override public void onDropCompleted(View target, DragObject d, boolean isFlingToDelete, boolean success) { if (LOGD) { |