summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/WallpaperCropActivity.java
diff options
context:
space:
mode:
authorMichael Jurka <mikejurka@google.com>2013-10-03 01:05:14 -0700
committerMichael Jurka <mikejurka@google.com>2013-10-03 16:19:06 -0700
commitfe0ace3583bc57adbaaec730b1b1757032e90c41 (patch)
treea0376c1f2db0e3e50e928f8a73eea1d19b71c374 /src/com/android/launcher3/WallpaperCropActivity.java
parentf0481bf3c9571dd7f6ec734f400706ea6439766c (diff)
downloadandroid_packages_apps_Trebuchet-fe0ace3583bc57adbaaec730b1b1757032e90c41.tar.gz
android_packages_apps_Trebuchet-fe0ace3583bc57adbaaec730b1b1757032e90c41.tar.bz2
android_packages_apps_Trebuchet-fe0ace3583bc57adbaaec730b1b1757032e90c41.zip
Fix RTL bugs with wallpaper parallax
Bug: 10901046 Change-Id: Id4277173b0c13d25eb0507bd6fa9fa1309946510
Diffstat (limited to 'src/com/android/launcher3/WallpaperCropActivity.java')
-rw-r--r--src/com/android/launcher3/WallpaperCropActivity.java23
1 files changed, 15 insertions, 8 deletions
diff --git a/src/com/android/launcher3/WallpaperCropActivity.java b/src/com/android/launcher3/WallpaperCropActivity.java
index 343d0ffbf..703db9a94 100644
--- a/src/com/android/launcher3/WallpaperCropActivity.java
+++ b/src/com/android/launcher3/WallpaperCropActivity.java
@@ -221,9 +221,11 @@ public class WallpaperCropActivity extends Activity {
protected void cropImageAndSetWallpaper(Uri uri,
OnBitmapCroppedHandler onBitmapCroppedHandler, final boolean finishActivityWhenDone) {
- // Get the crop
+ // Get the crop
Point inSize = mCropView.getSourceDimensions();
+ boolean ltr = mCropView.getLayoutDirection() == View.LAYOUT_DIRECTION_LTR;
+
Point minDims = new Point();
Point maxDims = new Point();
Display d = getWindowManager().getDefaultDisplay();
@@ -234,12 +236,12 @@ public class WallpaperCropActivity extends Activity {
int maxDim = Math.max(maxDims.x, maxDims.y);
final int minDim = Math.min(minDims.x, minDims.y);
- int defaultWidth;
+ int defaultWallpaperWidth;
if (isScreenLarge(getResources())) {
- defaultWidth = (int) (maxDim *
+ defaultWallpaperWidth = (int) (maxDim *
wallpaperTravelToScreenWidthRatio(maxDim, minDim));
} else {
- defaultWidth = Math.max((int)
+ defaultWallpaperWidth = Math.max((int)
(minDim * WALLPAPER_SCREENS_SPAN), maxDim);
}
@@ -264,12 +266,17 @@ public class WallpaperCropActivity extends Activity {
// ADJUST CROP WIDTH
// Extend the crop all the way to the right, for parallax
- float extraSpaceToRight = inSize.x - cropRect.right;
+ // (or all the way to the left, in RTL)
+ float extraSpace = ltr ? inSize.x - cropRect.right : cropRect.left;
// Cap the amount of extra width
- float maxExtraSpace = defaultWidth / cropScale - cropRect.width();
- extraSpaceToRight = Math.min(extraSpaceToRight, maxExtraSpace);
+ float maxExtraSpace = defaultWallpaperWidth / cropScale - cropRect.width();
+ extraSpace = Math.min(extraSpace, maxExtraSpace);
- cropRect.right += extraSpaceToRight;
+ if (ltr) {
+ cropRect.right += extraSpace;
+ } else {
+ cropRect.left -= extraSpace;
+ }
// ADJUST CROP HEIGHT
if (isPortrait) {