From 581ab43494c1ff7bc0ef7562e66475744190ec07 Mon Sep 17 00:00:00 2001 From: nebkat Date: Thu, 22 Dec 2011 19:49:22 +0000 Subject: Preferences: Scroll Wallpaper Change-Id: If20b0f45cc773f7e03565b638ae745ced3070d5c --- src/com/cyanogenmod/trebuchet/Workspace.java | 34 +++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 6 deletions(-) (limited to 'src/com/cyanogenmod/trebuchet/Workspace.java') diff --git a/src/com/cyanogenmod/trebuchet/Workspace.java b/src/com/cyanogenmod/trebuchet/Workspace.java index cd60d5cff..6845cd1ca 100644 --- a/src/com/cyanogenmod/trebuchet/Workspace.java +++ b/src/com/cyanogenmod/trebuchet/Workspace.java @@ -263,6 +263,7 @@ public class Workspace extends SmoothPagedView private int mDefaultHomescreen; private boolean mShowSearchBar; private boolean mResizeAnyWidget; + private boolean mScrollWallpaper; private boolean mShowScrollingIndicator; /** @@ -338,6 +339,7 @@ public class Workspace extends SmoothPagedView } mShowSearchBar = PreferencesProvider.Interface.Homescreen.getShowSearchBar(context); mResizeAnyWidget = PreferencesProvider.Interface.Homescreen.getResizeAnyWidget(context); + mScrollWallpaper = PreferencesProvider.Interface.Homescreen.getScrollWallpaper(context); mShowScrollingIndicator = PreferencesProvider.Interface.Homescreen.getShowScrollingIndicator(context); mLauncher = (Launcher) context; @@ -480,8 +482,10 @@ public class Workspace extends SmoothPagedView mWallpaperOffset = new WallpaperOffsetInterpolator(); Display display = mLauncher.getWindowManager().getDefaultDisplay(); display.getSize(mDisplaySize); - mWallpaperTravelWidth = (int) (mDisplaySize.x * - wallpaperTravelToScreenWidthRatio(mDisplaySize.x, mDisplaySize.y)); + if (mScrollWallpaper) { + mWallpaperTravelWidth = (int) (mDisplaySize.x * + wallpaperTravelToScreenWidthRatio(mDisplaySize.x, mDisplaySize.y)); + } mMaxDistanceForFolderCreation = (0.55f * res.getDimensionPixelSize(R.dimen.app_icon_size)); mFlingThresholdVelocity = (int) (FLING_THRESHOLD_VELOCITY * mDensity); @@ -963,6 +967,13 @@ public class Workspace extends SmoothPagedView } } + private void centerWallpaperOffset() { + if (mWindowToken != null) { + mWallpaperManager.setWallpaperOffsetSteps(0.5f, 0); + mWallpaperManager.setWallpaperOffsets(mWindowToken, 0.5f, 0); + } + } + public void updateWallpaperOffsetImmediately() { mUpdateWallpaperOffsetImmediately = true; } @@ -992,13 +1003,17 @@ public class Workspace extends SmoothPagedView @Override protected void updateCurrentPageScroll() { super.updateCurrentPageScroll(); - computeWallpaperScrollRatio(mCurrentPage); + if (mScrollWallpaper) { + computeWallpaperScrollRatio(mCurrentPage); + } } @Override protected void snapToPage(int whichPage) { super.snapToPage(whichPage); - computeWallpaperScrollRatio(whichPage); + if (mScrollWallpaper) { + computeWallpaperScrollRatio(whichPage); + } } @Override @@ -1145,7 +1160,9 @@ public class Workspace extends SmoothPagedView @Override public void computeScroll() { super.computeScroll(); - syncWallpaperOffsetWithScroll(); + if (mScrollWallpaper) { + syncWallpaperOffsetWithScroll(); + } } void showOutlines() { @@ -1373,7 +1390,9 @@ public class Workspace extends SmoothPagedView @Override protected void onDraw(Canvas canvas) { - updateWallpaperOffsets(); + if (mScrollWallpaper) { + updateWallpaperOffsets(); + } // Draw the background gradient if necessary if (mBackground != null && mBackgroundAlpha > 0.0f && mDrawBackground) { @@ -3376,6 +3395,9 @@ public class Workspace extends SmoothPagedView // needed updateChildrenLayersEnabled(); setWallpaperDimension(); + if (!mScrollWallpaper) { + centerWallpaperOffset(); + } } /** -- cgit v1.2.3