summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdam Cohen <adamcohen@google.com>2011-07-26 21:07:43 -0700
committerAdam Cohen <adamcohen@google.com>2011-07-26 21:14:39 -0700
commitc51934bfdfed6a5011c6d6c5b7b70f2d75613d41 (patch)
treef7a71fe9c418dea673413bb9df396a6cf8993c7f /src
parent2f84ef259314b0bef20f6e7e503377212fadc88c (diff)
downloadandroid_packages_apps_Trebuchet-c51934bfdfed6a5011c6d6c5b7b70f2d75613d41.tar.gz
android_packages_apps_Trebuchet-c51934bfdfed6a5011c6d6c5b7b70f2d75613d41.tar.bz2
android_packages_apps_Trebuchet-c51934bfdfed6a5011c6d6c5b7b70f2d75613d41.zip
Updating portals visuals:
-> added leave behind asset to dock, issue 5052467 -> new assets -> modified text Change-Id: Ie395b768658dd5c02443b37c4f58a02cf3e86e59
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher2/CellLayout.java29
-rw-r--r--src/com/android/launcher2/FolderIcon.java9
-rw-r--r--src/com/android/launcher2/Launcher.java21
-rw-r--r--src/com/android/launcher2/LauncherSettings.java2
4 files changed, 59 insertions, 2 deletions
diff --git a/src/com/android/launcher2/CellLayout.java b/src/com/android/launcher2/CellLayout.java
index 65ca16270..518c79fc2 100644
--- a/src/com/android/launcher2/CellLayout.java
+++ b/src/com/android/launcher2/CellLayout.java
@@ -85,6 +85,7 @@ public class CellLayout extends ViewGroup {
private OnTouchListener mInterceptTouchListener;
private ArrayList<FolderRingAnimator> mFolderOuterRings = new ArrayList<FolderRingAnimator>();
+ private int[] mFolderLeaveBehindCell = {-1, -1};
private float mBackgroundAlpha;
private float mBackgroundAlphaMultiplier = 1.0f;
@@ -557,6 +558,22 @@ public class CellLayout extends ViewGroup {
d.draw(canvas);
canvas.restore();
}
+
+ if (mFolderLeaveBehindCell[0] >= 0 && mFolderLeaveBehindCell[1] >= 0) {
+ Drawable d = FolderIcon.sSharedFolderLeaveBehind;
+ int width = d.getIntrinsicWidth();
+ int height = d.getIntrinsicHeight();
+
+ cellToPoint(mFolderLeaveBehindCell[0], mFolderLeaveBehindCell[1], mTempLocation);
+ int centerX = mTempLocation[0] + mCellWidth / 2;
+ int centerY = mTempLocation[1] + FolderRingAnimator.sPreviewSize / 2;
+
+ canvas.save();
+ canvas.translate(centerX - width / 2, centerY - width / 2);
+ d.setBounds(0, 0, width, height);
+ d.draw(canvas);
+ canvas.restore();
+ }
}
public void showFolderAccept(FolderRingAnimator fra) {
@@ -570,6 +587,18 @@ public class CellLayout extends ViewGroup {
invalidate();
}
+ public void setFolderLeaveBehindCell(int x, int y) {
+ mFolderLeaveBehindCell[0] = x;
+ mFolderLeaveBehindCell[1] = y;
+ invalidate();
+ }
+
+ public void clearFolderLeaveBehind() {
+ mFolderLeaveBehindCell[0] = -1;
+ mFolderLeaveBehindCell[1] = -1;
+ invalidate();
+ }
+
@Override
public void cancelLongPress() {
super.cancelLongPress();
diff --git a/src/com/android/launcher2/FolderIcon.java b/src/com/android/launcher2/FolderIcon.java
index 949a25e58..684ecd770 100644
--- a/src/com/android/launcher2/FolderIcon.java
+++ b/src/com/android/launcher2/FolderIcon.java
@@ -71,6 +71,8 @@ public class FolderIcon extends LinearLayout implements FolderListener {
// (0 means it's not scaled at all, 1 means it's scaled to nothing)
private static final float PERSPECTIVE_SCALE_FACTOR = 0.35f;
+ public static Drawable sSharedFolderLeaveBehind = null;
+
private ImageView mPreviewBackground;
private BubbleTextView mFolderName;
@@ -135,6 +137,11 @@ public class FolderIcon extends LinearLayout implements FolderListener {
folderInfo.addListener(icon);
+ Resources res = launcher.getResources();
+ if (sSharedFolderLeaveBehind == null) {
+ sSharedFolderLeaveBehind = res.getDrawable(R.drawable.portal_ring_rest);
+ }
+
return icon;
}
@@ -259,7 +266,7 @@ public class FolderIcon extends LinearLayout implements FolderListener {
final int itemType = item.itemType;
return ((itemType == LauncherSettings.Favorites.ITEM_TYPE_APPLICATION ||
itemType == LauncherSettings.Favorites.ITEM_TYPE_SHORTCUT) &&
- !mFolder.isFull() && item != mInfo);
+ !mFolder.isFull() && item != mInfo && !mInfo.opened);
}
public boolean acceptDrop(Object dragInfo) {
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index bc341ef81..0f302a012 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -1754,6 +1754,12 @@ public final class Launcher extends Activity
PropertyValuesHolder scaleX = PropertyValuesHolder.ofFloat("scaleX", 1.5f);
PropertyValuesHolder scaleY = PropertyValuesHolder.ofFloat("scaleY", 1.5f);
+ FolderInfo info = (FolderInfo) fi.getTag();
+ if (info.container == LauncherSettings.Favorites.CONTAINER_HOTSEAT) {
+ CellLayout cl = (CellLayout) fi.getParent().getParent();
+ cl.setFolderLeaveBehindCell(info.cellX, info.cellY);
+ }
+
ObjectAnimator oa = ObjectAnimator.ofPropertyValuesHolder(fi, alpha, scaleX, scaleY);
oa.setDuration(getResources().getInteger(R.integer.config_folderAnimDuration));
oa.start();
@@ -1764,8 +1770,23 @@ public final class Launcher extends Activity
PropertyValuesHolder scaleX = PropertyValuesHolder.ofFloat("scaleX", 1.0f);
PropertyValuesHolder scaleY = PropertyValuesHolder.ofFloat("scaleY", 1.0f);
+ FolderInfo info = (FolderInfo) fi.getTag();
+ CellLayout cl = null;
+ if (info.container == LauncherSettings.Favorites.CONTAINER_HOTSEAT) {
+ cl = (CellLayout) fi.getParent().getParent();
+ }
+
+ final CellLayout layout = cl;
ObjectAnimator oa = ObjectAnimator.ofPropertyValuesHolder(fi, alpha, scaleX, scaleY);
oa.setDuration(getResources().getInteger(R.integer.config_folderAnimDuration));
+ oa.addListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ if (layout != null) {
+ layout.clearFolderLeaveBehind();
+ }
+ }
+ });
oa.start();
}
diff --git a/src/com/android/launcher2/LauncherSettings.java b/src/com/android/launcher2/LauncherSettings.java
index fcacdec5f..ee003716b 100644
--- a/src/com/android/launcher2/LauncherSettings.java
+++ b/src/com/android/launcher2/LauncherSettings.java
@@ -143,7 +143,7 @@ class LauncherSettings {
/**
* The X coordinate of the cell holding the favorite
- * (if container is CONTAINER_DESKTOP or CONTAINER_DOCK)
+ * (if container is CONTAINER_HOTSEAT or CONTAINER_HOTSEAT)
* <P>Type: INTEGER</P>
*/
static final String CELLX = "cellX";