diff options
author | nebkat <nebkat@teamhacksung.org> | 2012-12-18 17:14:20 +0000 |
---|---|---|
committer | nebkat <nebkat@teamhacksung.org> | 2012-12-18 17:14:20 +0000 |
commit | abb448df67f9c818ce382d70221732e63aace2b4 (patch) | |
tree | fd140215f3c85f9e362037bc24bbf14335960a98 /src/com/cyanogenmod/trebuchet/AppsCustomizePagedView.java | |
parent | ee1d489eff284b35151586c214fb5ae0953b8a34 (diff) | |
download | android_packages_apps_Trebuchet-abb448df67f9c818ce382d70221732e63aace2b4.tar.gz android_packages_apps_Trebuchet-abb448df67f9c818ce382d70221732e63aace2b4.tar.bz2 android_packages_apps_Trebuchet-abb448df67f9c818ce382d70221732e63aace2b4.zip |
Transition Effects Fixes
Change-Id: I30f82e067bc44128d7ca9859d2eaa7d2fc689e36
Diffstat (limited to 'src/com/cyanogenmod/trebuchet/AppsCustomizePagedView.java')
-rw-r--r-- | src/com/cyanogenmod/trebuchet/AppsCustomizePagedView.java | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/src/com/cyanogenmod/trebuchet/AppsCustomizePagedView.java b/src/com/cyanogenmod/trebuchet/AppsCustomizePagedView.java index 756662742..945d5b76e 100644 --- a/src/com/cyanogenmod/trebuchet/AppsCustomizePagedView.java +++ b/src/com/cyanogenmod/trebuchet/AppsCustomizePagedView.java @@ -303,6 +303,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen private static final float TRANSITION_SCREEN_ROTATION = 12.5f; private boolean mScrollTransformsDirty = false; private boolean mOverscrollTransformsDirty = false; + private int mCameraDistance; private AccelerateInterpolator mAlphaInterpolator = new AccelerateInterpolator(0.9f); private DecelerateInterpolator mLeftScreenAlphaInterpolator = new DecelerateInterpolator(4); public enum TransitionEffect { @@ -378,6 +379,8 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen Resources resources = context.getResources(); + mCameraDistance = resources.getInteger(R.integer.config_cameraDistance); + // Preferences mJoinWidgetsApps = PreferencesProvider.Interface.Drawer.getJoinWidgetsApps(context); mVertical = PreferencesProvider.Interface.Drawer.getVertical(context); @@ -1897,7 +1900,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen float alpha = 1 - Math.abs(scrollProgress); if (in) { - v.setCameraDistance(mDensity * CAMERA_DISTANCE); + v.setCameraDistance(mDensity * mCameraDistance); } if (!mVertical) { @@ -2012,7 +2015,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen } else { v.setTranslationY(v.getMeasuredHeight() * scrollProgress); v.setRotationX(-rotation); - v.setCameraDistance(mDensity * CAMERA_DISTANCE); + v.setCameraDistance(mDensity * mCameraDistance); } if (v.getVisibility() != VISIBLE) { v.setVisibility(VISIBLE); @@ -2110,20 +2113,25 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen View v = getPageAt(index); if (v != null) { float scrollProgress = getScrollProgress(screenScroll, v, index); - float rotation = - TRANSITION_MAX_ROTATION * scrollProgress; - v.setCameraDistance(mDensity * CAMERA_DISTANCE); + float rotation = -TRANSITION_MAX_ROTATION * scrollProgress; + v.setCameraDistance(mDensity * mCameraDistance); + if (!mOverscrollTransformsDirty) { + mOverscrollTransformsDirty = true; + if (!mVertical) { + v.setPivotX(v.getMeasuredWidth() * (index == 0 ? TRANSITION_PIVOT : 1 - TRANSITION_PIVOT)); + v.setPivotY(v.getMeasuredHeight() * 0.5f); + v.setTranslationX(0); + } else { + v.setPivotX(v.getMeasuredWidth() * 0.5f); + v.setPivotY(v.getMeasuredHeight() * (index == 0 ? TRANSITION_PIVOT : 1 - TRANSITION_PIVOT)); + v.setTranslationY(0); + } + } if (!mVertical) { - v.setPivotX(v.getMeasuredWidth() * (index == 0 ? TRANSITION_PIVOT : 1 - TRANSITION_PIVOT)); - v.setPivotY(v.getMeasuredHeight() * 0.5f); v.setRotationY(rotation); - v.setTranslationX(0); } else { - v.setPivotX(v.getMeasuredWidth() * 0.5f); - v.setPivotY(v.getMeasuredHeight() * (index == 0 ? TRANSITION_PIVOT : 1 - TRANSITION_PIVOT)); v.setRotationX(-rotation); - v.setTranslationY(0); } - mOverscrollTransformsDirty = true; } } } |