summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2017-10-03 16:17:32 -0700
committerSunny Goyal <sunnygoyal@google.com>2017-10-03 16:18:46 -0700
commit1ce9c476f73f30b55dd08e962506f51dc06ddac8 (patch)
treefc3a2672601d94296d3668c57d1f7b6ace2c122f /src/com/android/launcher3
parent37920966888587900885c88a63785cb16567684c (diff)
downloadandroid_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.java6
-rw-r--r--src/com/android/launcher3/DeleteDropTarget.java10
-rw-r--r--src/com/android/launcher3/DragSource.java16
-rw-r--r--src/com/android/launcher3/InfoDropTarget.java4
-rw-r--r--src/com/android/launcher3/UninstallDropTarget.java2
-rw-r--r--src/com/android/launcher3/Workspace.java18
-rw-r--r--src/com/android/launcher3/allapps/AllAppsContainerView.java20
-rw-r--r--src/com/android/launcher3/dragndrop/BaseItemDragListener.java15
-rw-r--r--src/com/android/launcher3/dragndrop/DragOptions.java3
-rw-r--r--src/com/android/launcher3/folder/Folder.java16
-rw-r--r--src/com/android/launcher3/popup/PopupContainerWithArrow.java15
-rw-r--r--src/com/android/launcher3/widget/WidgetsContainerView.java19
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) {