summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJorge Ruesga <jorge@ruesga.com>2013-06-21 22:12:21 +0200
committerJorge Ruesga <jorge@ruesga.com>2013-06-22 17:36:50 +0200
commitf42063810cca82d0beef501510cb0a6f2a732541 (patch)
treee687e6870248cec28af5b17001fc77b90984dd26
parent73c303e92d43cb74824f25b8158c65765b1a421b (diff)
downloadpackages_apps_trebuchet-f42063810cca82d0beef501510cb0a6f2a732541.zip
packages_apps_trebuchet-f42063810cca82d0beef501510cb0a6f2a732541.tar.gz
packages_apps_trebuchet-f42063810cca82d0beef501510cb0a6f2a732541.tar.bz2
Trebuchet: Fix stack effect
Actually stack effect is broken. Dragging an item from the current page to other fails, because the page has an alpha value of 0, and the dragged icon falls into a hidden state. Patchset 2: Fixed the overlap of views of stack effect on tablets Change-Id: I7c607eee29fbd82542b49d2c6bd50d7554e6d673 Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
-rw-r--r--src/com/cyanogenmod/trebuchet/Workspace.java21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/com/cyanogenmod/trebuchet/Workspace.java b/src/com/cyanogenmod/trebuchet/Workspace.java
index a6f9154..20b9953 100644
--- a/src/com/cyanogenmod/trebuchet/Workspace.java
+++ b/src/com/cyanogenmod/trebuchet/Workspace.java
@@ -1566,16 +1566,17 @@ public class Workspace extends PagedView
// On large screens we need to fade the page as it nears its leftmost position
alpha = mLeftScreenAlphaInterpolator.getInterpolation(1 - scrollProgress);
}
-
cl.setTranslationX(translationX);
cl.setScaleX(scale);
cl.setScaleY(scale);
cl.setAlpha(alpha);
// If the view has 0 alpha, we set it to be invisible so as to prevent
- // it from accepting touches
+ // it from accepting touches. Move the view to its original position to
+ // prevent overlap between views
if (alpha <= 0) {
cl.setVisibility(INVISIBLE);
+ cl.setTranslationX(0);
} else if (cl.getVisibility() != VISIBLE) {
cl.setVisibility(VISIBLE);
}
@@ -2231,8 +2232,16 @@ public class Workspace extends PagedView
if (mTransitionEffect == TransitionEffect.Stack) {
if (i <= mCurrentPage) {
cl.setVisibility(VISIBLE);
+ cl.setAlpha(1.0f);
+ if (mFadeInAdjacentScreens) {
+ setCellLayoutFadeAdjacent(cl, 0.0f);
+ }
} else {
cl.setVisibility(INVISIBLE);
+ cl.setAlpha(0.0f);
+ if (mFadeInAdjacentScreens) {
+ setCellLayoutFadeAdjacent(cl, 1.0f);
+ }
}
}
@@ -2294,6 +2303,14 @@ public class Workspace extends PagedView
cl.setPivotX(cl.getMeasuredWidth() * 0.5f);
cl.setPivotY(cl.getMeasuredHeight() * 0.5f);
cl.setVisibility(VISIBLE);
+
+ // Stack Effect
+ if (mTransitionEffect == TransitionEffect.Stack) {
+ cl.setAlpha(1.0f);
+ if (mFadeInAdjacentScreens) {
+ setCellLayoutFadeAdjacent(cl, 0.0f);
+ }
+ }
}
// Determine the pages alpha during the state transition