summaryrefslogtreecommitdiff
path: root/core/java/android/widget/OverScroller.java
Commit message (Collapse)AuthorAgeFilesLines
* Fixing Spline parameters when changing duration/position of OverscrollerSunny Goyal2021-03-301-23/+6
| | | | | | | | > This allows the scroller to be used in Launcher3 instead of a custom copy Bug: 183966408 Test: Verified with Launcher3 Change-Id: I1c945774d0323fabcf4bfd5a02c2eaf8e95a218d
* Add maxTargetSdk restriction to unused APIs.Mathew Inwood2020-10-291-1/+2
| | | | | | | | | | | | | | | | | | | These are APIs that have @UnsupportedAppUsage but for which we don't have any evidence of them currently being used, so should be safe to remove from the unsupported list. This is a resubmit of ag/12929664 with some APIs excluded that caused test failures; see bugs 171886397, 171888296, 171864568. APIs excluded: Landroid/bluetooth/le/ScanRecord;->parseFromBytes([B)Landroid/bluetooth/le/ScanRecord; Landroid/os/Process;->myPpid()I Landroid/os/SharedMemory;->getFd()I Landroid/hardware/input/InputManager;->INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH:I Bug: 170729553 Test: Treehugger Change-Id: I8285daa8530260251ecad6f3f38f98e263629ca7
* Revert "Add maxTargetSdk restriction to unused APIs."Hongwei Wang2020-10-281-2/+1
| | | | | | | | | This reverts commit 72f07d6a8a32db4a0dedd7682a0b3385be2b9cd6. Reason for revert: Droidcop-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?testMethod=testAppZygotePreload&testClass=android.app.cts.ServiceTest&atpConfigName=suite%2Ftest-mapping-presubmit-retry_cloud-tf&testModule=CtsAppTestCases&fkbb=6936597&lkbb=6936969&lkgb=6936551&testResults=true&branch=git_master&target=cf_x86_phone-userdebug>, bug b/171886397 Bug: 171886397 Change-Id: Ibe0f0430a3451477c1ee8ef56a596e91ea1e7672
* Add maxTargetSdk restriction to unused APIs.Mathew Inwood2020-10-271-1/+2
| | | | | | | | | | These are APIs that have @UnsupportedAppUsage but for which we don't have any evidence of them currently being used, so should be safe to remove from the unsupported list. Bug: 170729553 Test: Treehugger Change-Id: I4c8fd0006f950de9955242e93968fb0996ceb372
* Use new UnsupportedAppUsage annotation.Artur Satayev2020-01-061-1/+1
| | | | | | | | Existing annotations in libcore/ and frameworks/ will deleted after the migration. This also means that any java library that compiles @UnsupportedAppUsage requires a direct dependency on "unsupportedappusage" java_library. Bug: 145132366 Test: m && diff unsupportedappusage_index.csv Change-Id: I41e12e425284e74561c6b61663241df364ae54a1
* Add @UnsupportedAppUsage annotationsMathew Inwood2018-08-211-0/+8
| | | | | | | | | | | | | | | | For packages: android.widget This is an automatically generated CL. See go/UnsupportedAppUsage for more details. Exempted-From-Owner-Approval: Mechanical changes to the codebase which have been approved by Android API council and announced on android-eng@ Bug: 110868826 Test: m Change-Id: Ic61019b1df85448a158fc2ba55c326353222c6b9
* Javadocs fixes for deprecated methods on OverScrollerKirill Grouchnikov2016-09-071-2/+4
| | | | Change-Id: I73aebc4727df394195d1b98e73a256d6420c3a7b
* Keep OverScroller.SplineOverScroller state consistent.Vladislav Kaznacheev2015-08-041-4/+4
| | | | | | | | | | | | | | Currently update() bails out early if it is called too soon after mStartTime has been set. In this case mCurrentPosition remains holding an obsolete value from a previous animation. This causes some strange behavior (see the referenced bug). This patch makes sure that mCurrentPosition is updated every time that mStart is updated. Bug: 22950559 Change-Id: I07b92f30ebe29856f4e04dc19a4820123713fd7e
* Fix huge bounce-back in ListView when double-flingingVladislav Kaznacheev2015-06-191-4/+8
| | | | | | | | | | The bounce-back reliably happened when AbsListView.fling was called with high enough velocity (>50000). Such values caused integer overflow when squared in the course of some ballistic calculations in OverScroller.fitOnBounceCurve. Bug: 19056278 Change-Id: I35d5376c67bc6847955b44ee268e89bce2db81d0
* am d8c941ff: Merge "Don\'t update OverScroller fling state if no time has ↵Adam Powell2014-10-311-0/+4
|\ | | | | | | | | | | | | | | | | passed since start" into lmp-mr1-dev automerge: 35261e4 * commit '35261e41b60ff2c0297dedaaff849a7414c9ff76': Don't update OverScroller fling state if no time has passed since start
| * Don't update OverScroller fling state if no time has passed since startAdam Powell2014-10-311-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | If no time has passed when we try to update fling state, skip the update computation since there is nothing to do. Fixes a bug where we could return NaN from OverScroller#getCurrentVelocity. Bug 17700698 Change-Id: I65042d4d26a29593f66781b58456c2d1e85381c6
* | resolved conflicts for merge of ee665151 to lmp-mr1-dev-plus-aospNeil Fuller2014-10-021-4/+1
|\ \ | |/ |/| | | Change-Id: I2588c65b7a9fa43f968151a206924a804f0595a7
| * Switch from FloatMath -> Math and Math.hypot where possibleNeil Fuller2014-10-011-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The motivation is an API change: FloatMath is going to be deprecated and/or removed. Performance is not the goal of this change. That said... Math is faster than FloatMath with AOT compilation. While making the change, occurances of: {Float}Math.sqrt(x * x + y * y) and {Float}Math.sqrt({Float}Math.pow(x, 2) + {Float}Math.pow(y, 2)) have been replaced with: {(float)} Math.hypot(x, y) Right now there is no runtime intrinsic for hypot so is not faster in all cases for AOT compilation: Math.sqrt(x * x + y * y) is faster than Math.hypot(x, y) with AOT, but all other combinations of FloatMath, use of pow() etc. are slower than hypot(). hypot() has the advantage of being self documenting and could be optimized in future. None of the behavior differences around NaN and rounding appear to be important for the cases looked at: they all assume results and arguments are in range and usually the results are cast to float. Different implementations measured on hammerhead / L: AOT compiled: [FloatMath.hypot(x, y)] benchmark=Hypot_FloatMathHypot} 633.85 ns; σ=0.32 ns @ 3 trials [FloatMath.sqrt(x*x + y*y)] benchmark=Hypot_FloatMathSqrtMult} 684.17 ns; σ=4.83 ns @ 3 trials [FloatMath.sqrt(FloatMath.pow(x, 2) + FloatMath.pow(y, 2))] benchmark=Hypot_FloatMathSqrtPow} 1270.65 ns; σ=12.20 ns @ 6 trials [(float) Math.hypot(x, y)] benchmark=Hypot_MathHypot} 96.80 ns; σ=0.05 ns @ 3 trials [(float) Math.sqrt(x*x + y*y)] benchmark=Hypot_MathSqrtMult} 23.97 ns; σ=0.01 ns @ 3 trials [(float) Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2))] benchmark=Hypot_MathSqrtPow} 156.19 ns; σ=0.12 ns @ 3 trials Interpreter: benchmark=Hypot_FloatMathHypot} 1180.54 ns; σ=5.13 ns @ 3 trials benchmark=Hypot_FloatMathSqrtMult} 1121.05 ns; σ=3.80 ns @ 3 trials benchmark=Hypot_FloatMathSqrtPow} 3327.14 ns; σ=7.33 ns @ 3 trials benchmark=Hypot_MathHypot} 856.57 ns; σ=1.41 ns @ 3 trials benchmark=Hypot_MathSqrtMult} 1028.92 ns; σ=9.11 ns @ 3 trials benchmark=Hypot_MathSqrtPow} 2539.47 ns; σ=24.44 ns @ 3 trials Bug: https://code.google.com/p/android/issues/detail?id=36199 Change-Id: I06c91f682095e627cb547d60d936ef87941be692
* | Fix the build, use viscous fluid interpolator in OverScrollerAlan Viverette2013-09-041-10/+11
|/ | | | Change-Id: I175a220d1d915161896b9b223acfee08e0face2c
* Sync fling physics between Scroller/OverScrollerAdam Powell2012-08-091-17/+12
| | | | | | | | | | | | Bug 6793537 Have the default fling physics for Scroller follow the newer patterns from OverScroller. Make some constants determined by DisplayMetrics density in OverScroller per-instance rather than static. Change-Id: I5308e4bb8eca63e95cf3f1eee1ba4fa5391023b0
* Fix janky programmatic ListView scrollingAdam Powell2012-04-261-1/+5
| | | | | | | | | | | Adjust AbsListView to use a linear interpolator for smooth scrolling rather than the default scroller behavior. This prevents irregular motion as the scroll is altered in-flight to account for varying height list items. Bug 6397800 Change-Id: I8cc33dfc18903943369e1353930c48e2652b0142
* Tuning Overscroller's scroll curveJustin Ho2011-09-191-4/+4
| | | | | | | Softer end + rounder curve with less contrast Bug: 5200575 Change-Id: Icff6ba3cf7ae052c80b2e80e2d2b07085fcb40ce
* Can't stop the fling!Jeff Brown2011-09-161-1/+1
| | | | | | | | | | | | | Bug: 5335420 Fixed a bug in VelocityTracker where the output velocity was not being set to zero when not available. Added a condition to ensure that the velocity is at least the minimum fling velocity before continuing. If not, then the user is trying to stop the fling and scroll more precisely. Change-Id: I36634b0c3f7a9a09cf20c33f71d41163a8e33eed
* Make EdgeEffect public API.Adam Powell2011-08-311-1/+0
| | | | | | | | | | | This enables apps to make use of the system's visual edge effect used during overscroll in 2D content. Also un-@hide the getCurrVelocity methods from Scroller/OverScroller, without which it becomes cumbersome to obtain values to pass to the EdgeEffect#onAbsorb method. Change-Id: I40e452455f5cb5d45d1fb3687f739fc8eae65560
* Reduced Overfling threshold after many different cefficient tries.Gilles Debunne2010-12-141-0/+1
| | | | Change-Id: Ib655e73fc75a09c6379883871fabf90793a6cff5
* Fix build.Wink Saville2010-12-111-4/+3
| | | | | | | This change, I80dbccebea11544595935077463ad7737c3392e9, broke the build I undeprecated two old OverScroller constructors and hid the new one. Change-Id: I257ebbc6bb432c6487d63ff03725146dd225a8e2
* Modified OverScroller curvesGilles Debunne2010-12-101-83/+81
| | | | | | | | | | | | | | When OverFlinged, the scroller goes back to the edge using a spline instead of a parabolic curve. This ensures that the final velocity of this movement is null, thus removing the visual discontinuity that can be observed with the current version. Bouncing coefficient is deprecated. Changed doc accordingly. New more expressive spline tension tuning coefficients. These were tuned to match the one used before the refactoring of CL 81532. Change-Id: I80dbccebea11544595935077463ad7737c3392e9
* Refactored OverScrollerGilles Debunne2010-12-011-107/+176
| | | | | | | | | Restored the interpolator and a constructor with 4 parameters. New spline coefficients, spline computation moved to MagneticOverScroller, which has been renamed SplineOverScroller. Change-Id: If1ab2653bb998600e9c5d6f46dfd6cd30fa44efc
* Merge overscrolling from gingerbread.Adam Powell2010-11-231-0/+888
| | | | Change-Id: I3eb4413261b38ddd8c609d6153bdfd4ae46c6a0f
* Remove overscrollingAdam Powell2010-03-291-682/+0
| | | | Change-Id: I7e9db8d8a9b8ef67f0c0c82bf57c9155b7ebabea
* API refactoring for OverScroller.Adam Powell2010-03-251-42/+335
| | | | | | | | | OverScroller is no longer a child class of Scroller and several Scroller methods that do not make sense for OverScroller and could cause misbehaving edge cases have been removed or hidden and deprecated. Change-Id: Ie055b607bd3b36c47ab9798d5c9518aef686b474
* New edge effect when OverScrolled.Gilles Debunne2010-03-231-66/+130
| | | | | | | | | The constant force that was applied has been replaced by a spring force when the OverScroller goes beyond valid position values. Bounce coefficient can be set for each directions. Change-Id: If7d506d3f35b3451f590c54d6c04a1deb8d9ca95
* New OverScroller with edge bouncing effect.Gilles Debunne2010-03-191-372/+248
| | | | | | | | | OverScroller has been made a Scroller child class. Both use a physical constant deceleration force to compute the animation. OverScroller also includes a rubber edge bounce effect. Approved by Jim Palmer. Change-Id: I3f43a03694b8cb6bfa0784c2663b37c9c39322cc
* Fix a bug in OverScroller.setFinalX/YAdam Powell2010-03-021-0/+12
|
* Added Scroller compatibility methods to OverScrollerAdam Powell2010-03-021-0/+40
|
* Fixed an overscrolling bug in AbsListView with a root in OverScroller.Adam Powell2010-02-031-2/+2
|
* Overscrolling in AbsListView; visibility cleanup for FlingRunnableAdam Powell2010-02-011-0/+11
|
* ScrollView and HorizontalScrollView now will spring back if smoothScrollBy ↵Adam Powell2010-01-281-6/+38
| | | | scrolls out of bounds. Tweaked bounce physics for OverScroller.
* Added OverScroller and overscroll effects for ScrollView and ↵Adam Powell2010-01-271-0/+354
HorizontalScrollView.