summaryrefslogtreecommitdiffstats
path: root/src/com/cyanogenmod/trebuchet
diff options
context:
space:
mode:
authornebkat <nebkat@gmail.com>2011-12-22 19:49:22 +0000
committernebkat <nebkat@gmail.com>2011-12-22 19:50:30 +0000
commit1a1a802867f3d1f2c815abb364e403fffe24dd08 (patch)
tree21079bad5d63cd6b955a244fb1c3b9ba3aa2238d /src/com/cyanogenmod/trebuchet
parent8fe85373316313ad4e1b846994514a3a3471f90e (diff)
downloadandroid_packages_apps_Trebuchet-1a1a802867f3d1f2c815abb364e403fffe24dd08.tar.gz
android_packages_apps_Trebuchet-1a1a802867f3d1f2c815abb364e403fffe24dd08.tar.bz2
android_packages_apps_Trebuchet-1a1a802867f3d1f2c815abb364e403fffe24dd08.zip
Preferences: Scroll Wallpaper
Change-Id: If20b0f45cc773f7e03565b638ae745ced3070d5c
Diffstat (limited to 'src/com/cyanogenmod/trebuchet')
-rw-r--r--src/com/cyanogenmod/trebuchet/Workspace.java38
-rw-r--r--src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java4
2 files changed, 34 insertions, 8 deletions
diff --git a/src/com/cyanogenmod/trebuchet/Workspace.java b/src/com/cyanogenmod/trebuchet/Workspace.java
index 2128a764f..ae3198572 100644
--- a/src/com/cyanogenmod/trebuchet/Workspace.java
+++ b/src/com/cyanogenmod/trebuchet/Workspace.java
@@ -243,6 +243,7 @@ public class Workspace extends SmoothPagedView
private int mDefaultHomescreen;
private boolean mShowSearchBar;
private boolean mResizeAnyWidget;
+ private boolean mScrollWallpaper;
private boolean mShowScrollingIndicator;
private boolean mFadeScrollingIndicator;
@@ -325,6 +326,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);
mFadeScrollingIndicator = PreferencesProvider.Interface.Homescreen.getFadeScrollingIndicator(context);
@@ -442,19 +444,23 @@ public class Workspace extends SmoothPagedView
@Override
public void onAnimationEnd(Animator animation) {
mIsSwitchingState = false;
- mWallpaperOffset.setOverrideHorizontalCatchupConstant(false);
+ if (mScrollWallpaper) {
+ mWallpaperOffset.setOverrideHorizontalCatchupConstant(false);
+ }
mAnimator = null;
updateChildrenLayersEnabled();
}
};
mSnapVelocity = 100;
- mWallpaperOffset = new WallpaperOffsetInterpolator();
Display display = mLauncher.getWindowManager().getDefaultDisplay();
mDisplayWidth = display.getWidth();
mDisplayHeight = display.getHeight();
- mWallpaperTravelWidth = (int) (mDisplayWidth *
- wallpaperTravelToScreenWidthRatio(mDisplayWidth, mDisplayHeight));
+ if (mScrollWallpaper) {
+ mWallpaperOffset = new WallpaperOffsetInterpolator();
+ mWallpaperTravelWidth = (int) (mDisplayWidth *
+ wallpaperTravelToScreenWidthRatio(mDisplayWidth, mDisplayHeight));
+ }
}
@Override
@@ -883,6 +889,11 @@ public class Workspace extends SmoothPagedView
}
}
+ private void centerWallpaperOffset() {
+ mWallpaperManager.setWallpaperOffsetSteps(0.5f, 0);
+ mWallpaperManager.setWallpaperOffsets(getWindowToken(), 0.5f, 0);
+ }
+
public void updateWallpaperOffsetImmediately() {
mUpdateWallpaperOffsetImmediately = true;
}
@@ -912,13 +923,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);
+ }
}
private void computeWallpaperScrollRatio(int page) {
@@ -1051,7 +1066,9 @@ public class Workspace extends SmoothPagedView
@Override
public void computeScroll() {
super.computeScroll();
- syncWallpaperOffsetWithScroll();
+ if (mScrollWallpaper) {
+ syncWallpaperOffsetWithScroll();
+ }
}
void showOutlines() {
@@ -1316,7 +1333,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) {
@@ -3192,6 +3211,9 @@ public class Workspace extends SmoothPagedView
// needed
updateChildrenLayersEnabled();
setWallpaperDimension();
+ if (!mScrollWallpaper) {
+ centerWallpaperOffset();
+ }
}
/**
diff --git a/src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java b/src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java
index 1144be227..3a746f85c 100644
--- a/src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java
+++ b/src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java
@@ -26,6 +26,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);