From 131cf9886c4f34431598be0b1f5b7aaa915277cc Mon Sep 17 00:00:00 2001 From: Eino-Ville Talvala Date: Tue, 18 Oct 2011 13:33:25 -0700 Subject: Add hysteresis to orientation rounding. This prevents fast flickering between two orientation states, which can result in ugly UI issues, especially with the preview thumbnail. Bug: 5477483 Change-Id: I9513547207ae1918066c1a19947c974eaad72e24 --- src/com/android/camera/panorama/PanoramaActivity.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'src/com/android/camera/panorama') diff --git a/src/com/android/camera/panorama/PanoramaActivity.java b/src/com/android/camera/panorama/PanoramaActivity.java index 25c565f..c28cc2e 100755 --- a/src/com/android/camera/panorama/PanoramaActivity.java +++ b/src/com/android/camera/panorama/PanoramaActivity.java @@ -190,10 +190,6 @@ public class PanoramaActivity extends ActivityBase implements public final boolean isValid; } - public static int roundOrientation(int orientation) { - return ((orientation + 45) / 90 * 90) % 360; - } - private class PanoOrientationEventListener extends OrientationEventListener { public PanoOrientationEventListener(Context context) { super(context); @@ -205,7 +201,7 @@ public class PanoramaActivity extends ActivityBase implements // the camera then point the camera to floor or sky, we still have // the correct orientation. if (orientation == ORIENTATION_UNKNOWN) return; - mDeviceOrientation = roundOrientation(orientation); + mDeviceOrientation = Util.roundOrientation(orientation, mDeviceOrientation); // When the screen is unlocked, display rotation may change. Always // calculate the up-to-date orientationCompensation. int orientationCompensation = mDeviceOrientation -- cgit v1.1