public void setWorkspace(Workspace workspace) {
this.workspace = workspace;
}
public void setGroupNavi(GroupNavigation groupNavi) {
this.groupNavi = groupNavi;
}
public static boolean isDragging() {
return dragging;
}
public void doWingsAnimation() {
needWingsAnimation = true;
}
public void doNotWingsAnimation() {
needWingsAnimation = false;
}
public void snap2ScreenWings() {
haveGroupChange = false;
doWingsAnimation();
}
public void snap2GroupWings() {
transferAtListener.clearAnimationState();
haveGroupChange = true;
changeWingsAnimationState = true;
doWingsAnimation();
}
private static void setDraging(boolean flag) {
dragging = flag;
}
private void findCellPoint(DropTarget dropTarget, int[] coordinates, float x, float y) {
if (mDragging && dragObjectInfo != null && dropTarget != null) {
try {
CellLayout current = (CellLayout) workspace.getCurrentCellLayout();
if (current != null) {
if (dropTarget instanceof FolderIcon && !(dropTarget instanceof LiveFolderIcon)
&& dragObjectInfo.spanX == 1 && dragObjectInfo.spanY == 1
&& !(dragObjectInfo.cell instanceof FolderIcon)) {
current.pointToCellExact(coordinates[0], coordinates[1], cellPosition);
} else {
if (current != currentBak || vacantCell == null) {
vacantCell = current.findAllVacantCells(null, mOriginator);
currentBak = current;
}
if (dropTarget.getClass().equals(groupNavi.getChildAt(0).getClass())) {
if (dragObjectInfo.group == -1 || dragObjectInfo.group != workspace.getCurrentGroup()) {
int[] cellXY = new int[2];
if (current.getAvailableCell(cellXY, dragObjectInfo.spanX, dragObjectInfo.spanY)) {
cellPosition = cellXY;
} else {
cellPosition = null;
}
} else {
cellPosition = new int[2];
cellPosition[0] = dragObjectInfo.cellX;
cellPosition[1] = dragObjectInfo.cellY;
}
} else {
cellPosition = current.findNearestVacantArea((int) (x - mTouchOffsetX),
(int) (y - mTouchOffsetY), dragObjectInfo.spanX, dragObjectInfo.spanY, vacantCell,
null);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
this.workspace = workspace;
}
public void setGroupNavi(GroupNavigation groupNavi) {
this.groupNavi = groupNavi;
}
public static boolean isDragging() {
return dragging;
}
public void doWingsAnimation() {
needWingsAnimation = true;
}
public void doNotWingsAnimation() {
needWingsAnimation = false;
}
public void snap2ScreenWings() {
haveGroupChange = false;
doWingsAnimation();
}
public void snap2GroupWings() {
transferAtListener.clearAnimationState();
haveGroupChange = true;
changeWingsAnimationState = true;
doWingsAnimation();
}
private static void setDraging(boolean flag) {
dragging = flag;
}
private void findCellPoint(DropTarget dropTarget, int[] coordinates, float x, float y) {
if (mDragging && dragObjectInfo != null && dropTarget != null) {
try {
CellLayout current = (CellLayout) workspace.getCurrentCellLayout();
if (current != null) {
if (dropTarget instanceof FolderIcon && !(dropTarget instanceof LiveFolderIcon)
&& dragObjectInfo.spanX == 1 && dragObjectInfo.spanY == 1
&& !(dragObjectInfo.cell instanceof FolderIcon)) {
current.pointToCellExact(coordinates[0], coordinates[1], cellPosition);
} else {
if (current != currentBak || vacantCell == null) {
vacantCell = current.findAllVacantCells(null, mOriginator);
currentBak = current;
}
if (dropTarget.getClass().equals(groupNavi.getChildAt(0).getClass())) {
if (dragObjectInfo.group == -1 || dragObjectInfo.group != workspace.getCurrentGroup()) {
int[] cellXY = new int[2];
if (current.getAvailableCell(cellXY, dragObjectInfo.spanX, dragObjectInfo.spanY)) {
cellPosition = cellXY;
} else {
cellPosition = null;
}
} else {
cellPosition = new int[2];
cellPosition[0] = dragObjectInfo.cellX;
cellPosition[1] = dragObjectInfo.cellY;
}
} else {
cellPosition = current.findNearestVacantArea((int) (x - mTouchOffsetX),
(int) (y - mTouchOffsetY), dragObjectInfo.spanX, dragObjectInfo.spanY, vacantCell,
null);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}