diff options
author | Michael Jurka <mikejurka@google.com> | 2011-03-09 15:47:19 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-03-09 15:47:19 -0800 |
commit | 92c1faec0bc4a3e67bf7984bf4d14d4317ac0b7a (patch) | |
tree | 6deaf3f9a4477267d43e1d7f55f18c0b14db3c4c | |
parent | 97336a1618e7cdc8b11050c28bec8c99f3438dc6 (diff) | |
parent | f70c78142457b0e9c691f2a20ed87407c7433f5b (diff) | |
download | packages_apps_trebuchet-92c1faec0bc4a3e67bf7984bf4d14d4317ac0b7a.zip packages_apps_trebuchet-92c1faec0bc4a3e67bf7984bf4d14d4317ac0b7a.tar.gz packages_apps_trebuchet-92c1faec0bc4a3e67bf7984bf4d14d4317ac0b7a.tar.bz2 |
Merge "Fix reported wallpaper offset in portrait mode for live wallpapers" into honeycomb-mr1
-rw-r--r-- | src/com/android/launcher2/Workspace.java | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java index 5a230eb..5f70bfb 100644 --- a/src/com/android/launcher2/Workspace.java +++ b/src/com/android/launcher2/Workspace.java @@ -733,11 +733,15 @@ public class Workspace extends SmoothPagedView private float wallpaperOffsetForCurrentScroll() { Display display = mLauncher.getWindowManager().getDefaultDisplay(); + final boolean isStaticWallpaper = (mWallpaperManager.getWallpaperInfo() == null); // The wallpaper travel width is how far, from left to right, the wallpaper will move // at this orientation (for example, in portrait mode we don't move all the way to the // edges of the wallpaper, or otherwise the parallax effect would be too strong) int wallpaperTravelWidth = (int) (display.getWidth() * wallpaperTravelToScreenWidthRatio(display.getWidth(), display.getHeight())); + if (!isStaticWallpaper) { + wallpaperTravelWidth = mWallpaperWidth; + } // Set wallpaper offset steps (1 / (number of screens - 1)) // We have 3 vertical offset states (centered, and then top/bottom aligned @@ -751,7 +755,6 @@ public class Workspace extends SmoothPagedView // you overscroll as far as you can in landscape mode. Only do this for static wallpapers // because live wallpapers (and probably 3rd party wallpaper providers) rely on the offset // being even intervals from 0 to 1 (eg [0, 0.25, 0.5, 0.75, 1]) - final boolean isStaticWallpaper = (mWallpaperManager.getWallpaperInfo() == null); if (isStaticWallpaper) { int overscrollOffset = (int) (maxOverScroll() * display.getWidth()); scrollProgressOffset += overscrollOffset / (float) getScrollRange(); @@ -761,7 +764,7 @@ public class Workspace extends SmoothPagedView float scrollProgress = mScrollX / (float) scrollRange + scrollProgressOffset; float offsetInDips = wallpaperTravelWidth * scrollProgress + - (mWallpaperWidth - wallpaperTravelWidth) / 2; + (mWallpaperWidth - wallpaperTravelWidth) / 2; // center it float offset = offsetInDips / (float) mWallpaperWidth; return offset; } |