diff options
author | nebkat <nebkat@gmail.com> | 2011-12-22 19:49:22 +0000 |
---|---|---|
committer | Ricardo Cerqueira <cyanogenmod@cerqueira.org> | 2012-11-19 01:11:33 +0000 |
commit | f6ed954f7ac483c27625177274aba592a30bfb7b (patch) | |
tree | af725ebff87e4e8335e2d77a78ee09d3d35b0a06 /src/com/cyanogenmod | |
parent | d8b9a4b5a9836cdacfd44ba4de99ef1f6156efd1 (diff) | |
download | packages_apps_trebuchet-f6ed954f7ac483c27625177274aba592a30bfb7b.zip packages_apps_trebuchet-f6ed954f7ac483c27625177274aba592a30bfb7b.tar.gz packages_apps_trebuchet-f6ed954f7ac483c27625177274aba592a30bfb7b.tar.bz2 |
Preferences: Scroll Wallpaper
Change-Id: If20b0f45cc773f7e03565b638ae745ced3070d5c
Diffstat (limited to 'src/com/cyanogenmod')
-rw-r--r-- | src/com/cyanogenmod/trebuchet/Workspace.java | 34 | ||||
-rw-r--r-- | src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java | 4 |
2 files changed, 32 insertions, 6 deletions
diff --git a/src/com/cyanogenmod/trebuchet/Workspace.java b/src/com/cyanogenmod/trebuchet/Workspace.java index e260d7d..b355bc6 100644 --- a/src/com/cyanogenmod/trebuchet/Workspace.java +++ b/src/com/cyanogenmod/trebuchet/Workspace.java @@ -267,6 +267,7 @@ public class Workspace extends SmoothPagedView private int mDefaultHomescreen; private boolean mShowSearchBar; private boolean mResizeAnyWidget; + private boolean mScrollWallpaper; private boolean mShowScrollingIndicator; /** @@ -344,6 +345,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); initWorkspace(); @@ -475,8 +477,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); @@ -954,6 +958,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; } @@ -983,13 +994,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 @@ -1136,7 +1151,9 @@ public class Workspace extends SmoothPagedView @Override public void computeScroll() { super.computeScroll(); - syncWallpaperOffsetWithScroll(); + if (mScrollWallpaper) { + syncWallpaperOffsetWithScroll(); + } } void showOutlines() { @@ -1340,7 +1357,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) { @@ -3409,6 +3428,9 @@ public class Workspace extends SmoothPagedView // needed updateChildrenLayersEnabled(false); setWallpaperDimension(); + if (!mScrollWallpaper) { + centerWallpaperOffset(); + } } /** diff --git a/src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java b/src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java index 1c58e50..2e745e2 100644 --- a/src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java +++ b/src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java @@ -59,6 +59,10 @@ public final class PreferencesProvider { final SharedPreferences preferences = context.getSharedPreferences(PREFERENCES_KEY, 0); return preferences.getBoolean("ui_homescreen_general_resize_any_widget", false); } + public static boolean getScrollWallpaper(Context context) { + final SharedPreferences preferences = context.getSharedPreferences(PREFERENCES_KEY, 0); + return preferences.getBoolean("ui_homescreen_scrolling_scroll_wallpaper", true); + } public static boolean getShowScrollingIndicator(Context context) { final SharedPreferences preferences = context.getSharedPreferences(PREFERENCES_KEY, 0); return preferences.getBoolean("ui_homescreen_indicator_enable", true); |