summaryrefslogtreecommitdiff
path: root/core/java/android/widget/ScrollView.java
Commit message (Collapse)AuthorAgeFilesLines
* Fix NPE with void android.view.VelocityTracker.clear()Alex Cruz2022-09-261-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 06-21 14:39:46.546 30816 30816 E AndroidRuntime: FATAL EXCEPTION: main 06-21 14:39:46.546 30816 30816 E AndroidRuntime: Process: com.android.settings, PID: 30816 06-21 14:39:46.546 30816 30816 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.VelocityTracker.clear()' on a null object reference 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.widget.ScrollView.onTouchEvent(ScrollView.java:692) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.View.dispatchTouchEvent(View.java:10023) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2626) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2307) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:416) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1808) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.app.Activity.dispatchTouchEvent(Activity.java:3065) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:53) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:378) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.View.dispatchPointerEvent(View.java:10243) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4444) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4312) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3859) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3912) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3878) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4005) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3886) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4062) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3859) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3912) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3878) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3886) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3859) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6253) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6227) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6188) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6356) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:176) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:6327) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:6379) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:874) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.Choreographer.doCallbacks(Choreographer.java:686) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.Choreographer.doFrame(Choreographer.java:615) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:751) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:95) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.os.Looper.loop(Looper.java:154) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6208) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:891) 06-21 14:39:46.546 30816 30816 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:781) Change-Id: I415fc2e85bcdbe694f1d3a1bd76d1462fc8db78b Reviewed-on: https://review.statixos.com/c/android_frameworks_base/+/6190 Reviewed-by: Sourajit Karmakar <sourajit@live.com> Tested-by: Sourajit Karmakar <sourajit@live.com> Reviewed-on: https://review.statixos.com/c/android_frameworks_base/+/7214 Reviewed-by: Anay Wadhera <anay1018@gmail.com> Tested-by: Anay Wadhera <anay1018@gmail.com>
* Migrate frameworks/base javadocs references to androidxAlan Viverette2022-02-091-2/+2
| | | | | | | | | | | Does not remove Support Library artifacts from docs classpath (ApiDocs.bp) because they are still used in development/samples, which is not as easy to migrate as javadoc. Bug: 158779503 Test: make docs Exempt-From-Owner-Approval: Mass find/replace for androidx migration Change-Id: Icf7f53ec36a0e970413352e2ebf40ce9d60ed17e
* Clear popups on KEYCODE_ESCAPE as well as KEYCODE_BACKMatthew Duggan2021-07-061-1/+2
| | | | | | | | | | | | On desktop devices, users expect that the Escape key will clear various popup windows in the same way as the Back button will on mobile devices. This adds support for Escape to places the Back button currently clears ListPopupWindow, AutoCompleteTextView, PopupWindow, and ScrollView. Bug: 174164194 Test: Open popups of each type on a device with a physical keyboard and press escape. Change-Id: I32e65ce4317db7de043c8a050d87126b0f38acce
* Remove edge effect type from the API.George Mount2021-05-031-22/+0
| | | | | | | | | | Fixes: 186758538 Relnote: "Removes edge effect type from the API -- EdgeEffect now supports only stretch edge effect for all applications." Test: existing tests, modified to work with stretch Change-Id: Iec7a9d4a0316ff3ba7297c4565bb881a1adcf949
* Fling while overscrolled: ScrollView/HorizontalScrollViewGeorge Mount2021-04-291-3/+14
| | | | | | | | | | | | Bug: 186430321 ScrollView and HorizontalScrollView was not allowing a fling effect while overscrolling. This adds the ability to fling while overscrolling. Test: new test Test: manual ApiDemos Change-Id: Iebd402ff0f5b6f16518ecc5403e085cb58de5976
* Allow intercept touch event while animating edge glow.George Mount2021-04-281-2/+1
| | | | | | | | | | | | | Bug: 185906621 During overscroll animation, there is no need to call disallowInterceptTouchEvents(). This removed the call so that parents can intercept touch events. Test: Ia9ac6d81a5b60222f489ea87f31ecba0c1d48cea Test: manual testing Change-Id: Ie5d9428d95b86d7a976c2f3c519547151a45cec5
* Updated EdgeEffect parameters for overscroll stretchNader Jawad2021-03-181-20/+0
| | | | | | | | | | | | | | | | Added dampening logic to caluclate the distance to overscroll. Updated StretchEffect to support independent maximum stretch amounts for the x/y axis Removed debugging parameters to configure stretch distance since they are no longer used. Removed hidden API calls to configure stretch distance in ScrollView/HorizontalScrollView Bug: 179047472 Test: re-ran EdgeEffectTests Change-Id: I4698669273d364695a21c2cce00ec2cfec41b2cc
* Wire SKSL based stretch shader to HWUINader Jawad2021-03-031-0/+20
| | | | | | | | | | | | | --Ported SKSL based stretch shader from OpenGL prototype --Hooked up the stretch APIs in RenderNode to the stretch shader. --Updated RenderNode layer logic to promote the RenderNode to a layer if there is a stretch to be applied to it in order to feed the layer as input to the stretch shader Bug: 179047472 Test: builds + sample overscroll stretches + updated CTS test Change-Id: I744ff70099fe251ce07f23d067bf13444a468c08
* Add edge effect type accessors for views that support itGeorge Mount2021-02-221-0/+21
| | | | | | | | | | | Bug: 171228096 The edge effect type attribute is supported in ScrollView, HorizontalScrollView, and ListView, so those views must provide accessor methods for the edge effect type. This CL adds them. Test: I5684df2a21cfeaefeac01290f7681e5c5beebd7c Change-Id: I93db702995401bf890217e8001cfe0664ac51c81
* ScrollView and HorizontalScrollView stretch overscrollGeorge Mount2021-02-121-9/+35
| | | | | | | | | | Bug: 178807038 Modify ScrollView and HorizontalScrollView to support stretch overscroll. Test: I18820794f2511ff4b7df1c5c6a9d7a2d5fafeaa0 Change-Id: I1370b702ce7331269744033c6acb61b84519c853
* Add maxTargetSdk restriction to unused APIs.Mathew Inwood2020-10-291-1/+1
| | | | | | | | | | | | | | | | | | | 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-1/+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/+1
| | | | | | | | | | 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
* Update language to comply with Android's inclusive language guidanceJeff Sharkey2020-09-141-3/+3
| | | | | | | | | See https://source.android.com/setup/contribute/respectful-code for reference Test: none Bug: 168334533 Exempt-From-Owner-Approval: docs updates Change-Id: I245b8d9cac722da76ea67983738a3cbb9deb68df
* 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
* Merge "docs: Fixed link to material design for ScrollView" into qt-dev am: ↵Kevin Hufnagle2019-09-201-3/+3
|\ | | | | | | | | | | | | | | 80b543b45a am: 71f8040c3b am: 379b87531b am: fe98a0d3bf Change-Id: I164a9eaaf8eb9b15689203addc1083b6bedaac58
| * docs: Fixed link to material design for ScrollViewKevin Hufnagle2019-09-191-3/+3
| | | | | | | | | | | | | | Test: make ds-docs -j32 Bug: 141024886 Change-Id: I69d05cdf99d91f74143454c78c000128d1da42ce
* | Populate scrollX and scrollY on AccessibilityEvents.Qasid Ahmad Sadiq2019-06-251-2/+0
|/ | | | | | | | | | | | This wasn't happening for RecyclerView, and that resulted in lost focus after scroll animations. This is cause Talkback relies on changes in getScrollX/Y to determine if it should do anything about a TYPE_VIEW_SCROLLED AccessibilityEvent. This squashes a big subset of "losted focus" bugs. This is most painfully felt when you fling a RecyclerView and in ViewPager page transition, both resulting in slightly longer animations. Also, change the default value of m[Max]Scroll[x/y] to reflect the above. Change-Id: Ibe66260fbfc61c98ca88e1b2d9552ed116e44c15 Fix: 125385883 Test: CTSAccessibility*, Tried a few RecyclerViews on device, and ViewPager2 sample app.
* Add nullability to ScrollView#scrollToDescendant.Aurimas Liutikas2019-03-011-1/+1
| | | | | | Bug: 126180253 Test: make update-api Change-Id: I7ee92ad8fb6ab2b0519ad2a21b8850fa130b6531
* All Parcelable CREATOR fields are @NonNull.Jeff Sharkey2019-02-281-1/+1
| | | | | | | | | If they were null, then the Parcelable would fail to work. Bug: 126726802 Test: manual Change-Id: I7929ffa2f20e5de1c8e68e8263cca99496e9d014 Exempt-From-Owner-Approval: Trivial API annotations
* Merge "Update core widgets to save attribute source info."Aurimas Liutikas2019-02-111-0/+2
|\
| * Update core widgets to save attribute source info.Aurimas Liutikas2019-02-071-0/+2
| | | | | | | | | | | | Bug: 111439551 Test: make -j Change-Id: I72997a87122f38b32e38e42a690385acc7d0e521
* | Merge "Add edge effect color APIs to ScrollViews"Yigit Boyar2019-02-111-22/+95
|\ \
| * | Add edge effect color APIs to ScrollViewsYigit Boyar2019-02-081-22/+95
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL adds APIs to ScrollView and HorizontalScrollView to set edge effect colors. Previously, edge effect fields were accessed via reflection by many apps to obtain this functionality. For apps targeting Q, those fields will not be accessible anymore and instead we'll ask them to use the new APIs. Bug: 123769386 Bug: 123768600 Bug: 124052619 Bug: 124053130 Test: HorizontalScrollViewTest, ScrollViewTest Change-Id: I32cbf0b01658955d34662c9a9aaca87b54ab7706
* | Merge "Fix for Hidden API Landroid/widget/ScrollView;->mOverflingDistance:I ↵TreeHugger Robot2019-02-091-2/+2
|\ \ | | | | | | | | | in ligt-grey list"
| * | Fix for Hidden API Landroid/widget/ScrollView;->mOverflingDistance:I in ↵Rahul Ravikumar2019-02-081-2/+2
| |/ | | | | | | | | | | | | | | | | | | | | ligt-grey list * Use ViewConfiguration#getScaledOverflingDistance() instead. * Use ViewConfiguration#getScaledOverscrollDistance() instead. Test: N/A Change-Id: I3d2edb8d197f1b6fc4515c8f175b9862e8f8236c Fixes: b/124050903
* / Fix for Hidden API Landroid/widget/ScrollView;->mMinimumVelocity:I in ↵Rahul Ravikumar2019-02-081-1/+1
|/ | | | | | | | | | ligt-grey list * Use ViewConfiguration#getScaledMinimumFlingVelocity() instead. Test: N/A Change-Id: I1604032f206414171ea4a4c92fcf19dacbfbefe1 Fixes: b/124051125
* Merge "Added a ScrollView#scrollToDescendant() API."TreeHugger Robot2019-02-061-10/+14
|\
| * Added a ScrollView#scrollToDescendant() API.Rahul Ravikumar2019-02-051-10/+14
| | | | | | | | | | | | | | | | | | * Eliminates the need for a reflective call to Landroid/widget/ScrollView;->mChildToScrollTo:Landroid/view/View; Test: Added CTS tests. Fixes: b/123769715 Change-Id: If28891cdeda3c13c3dd5d9b4faf697543311590a
* | @InspectableProperty coverage for android.widgetAshley Rose2019-02-041-0/+2
|/ | | | | | | | | A few getters for view properties have been added where they were missing. CTS tests for the new APIs are pending in b/123894719. Test: m framework Bug: 120492712 Change-Id: I743ce693d384eaf749ced3db7f81bda7d19ed275
* Add @UnsupportedAppUsage annotationsMathew Inwood2018-08-211-0/+15
| | | | | | | | | | | | | | | | 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
* docs: Update ScrollView JavaDoc commentsJoe Fernandez2017-04-261-18/+20
| | | | | | | | | | - reworded introduction for clarity - crosslink to nestedscrollview - simplify language around the “don’ts” - crosslink to the material design guidelines for scrolling techniques Test: docs only change. Tested with doc build Change-Id: Ia6d1e5ce0f9abd3db2c1988537bd42013851596f
* Don't crash when passing null to requestChildFocusAdam Powell2017-04-041-1/+1
| | | | | | | | | | Add null checks to ScrollView and HorizontalScrollView for checking the revealOnFocusHint. This should never happen in code called by the framework, but some apps were hitting it. Bug: 36379645 Test: none Change-Id: I220eb88d82126ff08f47a7c2a7fbdddebf07de81
* Split scroll factor into a 2d float.Aaron Whyte2017-03-291-4/+4
| | | | | | | | Test: Existing unit tests, manual sanity check. BUG=35764483 Change-Id: If6ac121452698747e1f8bc9d4ec0111bb881d4d4 (cherry picked from commit e9956c5c65ecd3aaf7390c10d135749e5adfb344)
* Fix import statements in android.widget package.Aurimas Liutikas2016-10-111-7/+7
| | | | | | | Additionally this CL removes spaces at the end of the line. Test: code still compiles. Change-Id: I1ce98b4e70aa3ae614f87966c3bc6181fa4389a4
* Add rotary encoder support to scrolling containersNed Burns2016-08-291-21/+29
| | | | Change-Id: I1b7a2a60ac9864f2639af81fff810db601b2fbd4
* Focus behavior for scroll containers in watch modeAdam Powell2016-08-231-5/+12
| | | | | | | | | | | | | Change default scrolling containers not to request a reveal (parent scroll) on focus, and to be focusable in touch mode. This helps watch devices with other input mechanisms that rely on view focus. Since there's no attribute for the reveal on focus hint, set that in code. Set focusable in touch mode on the default styles for ScrollView/HorizontalScrollView. AbsListView already sets this historically anyway. Change-Id: I74760f6d523874127da6f6134f0461cc59ce189a
* Multiple fixes in ScrollView and HorizontalScrollViewYigit Boyar2016-03-291-17/+21
| | | | | | | | | | | | | * Fixes a bug in HSV where it was not using unspecified measurement hint * Fixed a bug in SV where it was ignoring padding and margin when specifying measurement hint. * Fixes a bug in both where padding/margin were not taken into account when re-mausing for fill viewport. * Fixes a bug in both where the ViewGroup's padding was ignored when measureChild is called. Bug: 27602908 Change-Id: I15cb942e0fc2ef39c753ff35d36e1d007f4e05a8
* Make scroll bar mouse draggable.Keisuke Kuroyanagi2016-01-211-0/+4
| | | | | | | | | | | | | This is for Views that have special mouse dragging handling. e.g. TextView invokes text selection on mouse dragging, so it cannot be scrolled by mouse dragging. This provides such Views or ViewGroups a last resort to scroll as we don't assume that all devices have touch panel, touch pad, or mouse wheel. Bug: 20016455 Change-Id: I68a13258a50b5e4ea681b2576da6000a0bb3fa65
* Fix possibility of ScrollView not allowing clicks after a flingChris Banes2015-12-071-3/+5
| | | | | | | | | | | | | | The reason that manifests is because SV's onInterceptTouchEvent checks if it's scroller.isFinished() returns true. The result of Scroller.isFinished() is only valid if it has had computeScrollOffset() called on it before. ScrollView currently posts a invalidation after a computeScroll() call, which means that isFinished() *should* be valid, but it's better to be explicit which CL adds. BUG: 26051101 Change-Id: If78f48dc855de1776011cb7b0f95cb0a80d9b777
* Change MNC codename to just M.Dianne Hackborn2015-07-291-1/+1
| | | | Change-Id: I4281d200ff6560791c47cf9073ceea1cb509361e
* Check targetSdkVersion when passing size hints for UNSPECIFIED specsAdam Powell2015-06-111-2/+2
| | | | | | | | | | | | | | As of MNC stock widgets will pass a size in UNSPECIFIED MeasureSpec values as a hint of the container size. This lets things like list items size themselves at 1/3 the size of their container. This breaks assumptions in a few existing applications, so maintain the old expectation of 0 size in UNSPECIFIED MeasureSpecs for apps targeting older SDK versions. Bug 20975083 Change-Id: Ic7318e88854e00d96852dde2c0e10376b42bf77f
* Account for margins in ScrollView onMeasure() when filling viewportAlan Viverette2015-06-041-8/+16
| | | | | Bug: 19247610 Change-Id: I8e43cd9c28652cd8a0fed9b896394b976c9817a9
* Fix ScrollView's EdgeEffect to respect clipToPadding flagDoris Liu2015-05-281-9/+35
| | | | | bug: 19126514 Change-Id: I21fe4fd3e2f1240ee31c51f9deac7f285ffe2408
* Use new hierarchy viewer protocol in all View subclassesSiva Velusamy2015-05-071-0/+9
| | | | | | | | | A previous CL introduced a new way of encoding view properties for use by heirarchy viewer. This CL updates all views using the old @ExportedProperty annotation to use this new method. The older mechanism will be removed in a subsequent CL. Change-Id: I6cc23b90cd9da1c6ce89b4caffe54874db203452
* Add accessibility actions for scrolling in different directionsMaxim Bogatov2015-04-271-4/+9
| | | | | | | | | b/20157498 ACTION_SCROLL_UP, ACTION_SCROLL_DOWN, ACTION_SCROLL_LEFT and ACTION_SCROLL_RIGHT actionos were added in addition to ACTION_SCROLL_FORWARD/BACKWARD Change-Id: I8d5182a8add32085a354b280496b3d38ec79be32
* Make UNSPECIFIED measure spec include size hint.Filip Gruszczynski2015-04-161-3/+5
| | | | Change-Id: I6c4f193d0590824c644e20e8af16d055a04ac9c9
* First quick implementation of auto assist data.Dianne Hackborn2015-02-061-2/+5
| | | | | | | | | | | | | | Introduce new AssistData class that contains all data the framework automatically generates for assist. Currently populated with a very simple tree structure representing the app's view hierarchy. Reworked how we populate the class name for accessibility info, so this is provided through a new method call on View that subclasses can override. This method is also used to populate the class name in AssistData. Change-Id: Ibd0acdc8354727d4291473283b5e4b70894905dc
* Fix accessibility delegationAlan Viverette2015-01-071-6/+9
| | | | | | | | | | | | | | | Ensures that delegate code is run last. Previously, calling the super method from an accessibility delegate set on a widget would only run code in the widget's parent. Next, the delegate code would run. Finally, the widget's code would run. As a result, the widget code would override any data supplied by the delegate. By moving all overridden code to internal methods, we ensure that the call chain for super includes the widget's parent code followed by the widget's code. The delegate code will always run last. BUG: 17641433 Change-Id: Ib9d403156c1fc4fb04f65f3c126d1277a44b3740
* Track persistent nested Y offset for fling velocityAdam Powell2014-09-221-2/+11
| | | | | | | | | | Track the nested offsets applied persistently in AbsListView and ScrollView. This allows accurate velocity to be reported to nested fling/pre-fling. Bug 17548219 Change-Id: I66199c534aca7fb81746eff6d04c931e4c4e48da