summaryrefslogtreecommitdiffstats
path: root/src/com/cyanogenmod
diff options
context:
space:
mode:
authornebkat <nebkat@gmail.com>2011-12-22 19:49:22 +0000
committerRicardo Cerqueira <cyanogenmod@cerqueira.org>2012-11-19 01:11:33 +0000
commitf6ed954f7ac483c27625177274aba592a30bfb7b (patch)
treeaf725ebff87e4e8335e2d77a78ee09d3d35b0a06 /src/com/cyanogenmod
parentd8b9a4b5a9836cdacfd44ba4de99ef1f6156efd1 (diff)
downloadpackages_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.java34
-rw-r--r--src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java4
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);