Closed Bug 872139 Opened 12 years ago Closed 9 years ago

Slow down zoom animation for reflow on zoom

Categories

(Firefox for Android Graveyard :: General, defect)

All
Android
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: elan, Assigned: jwir3)

Details

Attachments

(1 file)

See video for STR: http://people.mozilla.com/~elancaster/ReflowFeedback/IMG_0481.MOV Paraphrase from IRC with Scott: * We want the animation of the reflow to be less jerky and more smooth so the user doesn't feel a "jump" as if going to another location on the page other than the element being tapped * Because the reflow takes ~2s or so, slowing down the animation will allow us to compensate for that time because it happens off the main thread... this will help prevent the user from giving up and moving on to a different gesture because it will be obvious that the app is in the midst of a zoom
OS: Mac OS X → Android
Hardware: x86 → All
Attached patch patchSplinter Review
added support for changing this by a pref. Ian should play with different values.
Assignee: sjohnson → blassey.bugs
Attachment #752203 - Flags: review?(mark.finkle)
Comment on attachment 752203 [details] [diff] [review] patch BOUNCE_ANIMATION_DURATION seems to control ANIMATED_ZOOM and BOUNCE. Will changing this pref for ANIMATED_ZOOM produce bad results for BOUNCE? As for this patch, I'm OK with it but let's use "browser.chrome.animation_duration"
Attachment #752203 - Flags: review?(mark.finkle) → review+
(In reply to Brad Lassey [:blassey] from comment #1) > Created attachment 752203 [details] [diff] [review] > patch > > added support for changing this by a pref. Ian should play with different > values. Thanks Brad. What is the name of the pref, and is there a build I can try?
Comment on attachment 752203 [details] [diff] [review] patch Review of attachment 752203 [details] [diff] [review]: ----------------------------------------------------------------- ::: mobile/android/base/gfx/JavaPanZoomController.java @@ +78,4 @@ > private static final float MAX_ZOOM_DELTA = 0.125f; > > // Length of the bounce animation in ms > + private static int BOUNCE_ANIMATION_DURATION = 250; This should be renamed to sBounceAnimationDuration. @@ +167,4 @@ > }); > > Axis.initPrefs(); > + PrefsHelper.getPref("browser.animation_duration", new PrefsHelper.PrefHandlerBase() { It would be better to roll this into the call to PrefsHelper.getPref() a few lines above, by using PrefsHelper.getPrefs() and checking the pref passed in to the prefValue() callback.
I didn't have much luck with the animation timing setting. No matter what, there seems to be an issue where the screen "jumps" when you double tap to zoom in or out. I attached a video here, http://cl.ly/0e1q3U3J3y2b, where I try this three different times and get more or less the same jump effect each time. The reflow itself seems to happen correctly, as does the page positioning, but the jumping makes it a bad experience.
Assignee: blassey.bugs → sjohnson
This code was removed.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → INVALID
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: