summaryrefslogtreecommitdiff
path: root/core/java/android/widget/AdapterView.java
Commit message (Collapse)AuthorAgeFilesLines
* Use new UnsupportedAppUsage annotation.Artur Satayev2019-12-181-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: I5be7335b23a92b8ac80d2fd890198273b66ad644
* Revert "The source of subtree chagnes should be the viewParent"Qasid Sadiq2019-08-231-2/+1
| | | | | | | | This reverts commit ed508280f911d2cd360985dd21a5bc672128c616. Reason for revert: Caused a performance regression: b/138853920 Change-Id: Ibc981ffca7aa0bf365eeea4d4e5e57259ce40f35
* The source of subtree chagnes should be the viewParentQasid Ahmad Sadiq2019-06-251-1/+2
| | | | | | | | | | | From the description of notifySubtreeAccessibilityStateChangedIfNeeded: "is *not* local to this view and does represent structural changes such as children and parent." This is now how this currently behaves cause the source was the view itself. This had the consquence that if a view is hidden, no event would be sent, because the source of an accessibilityEvent can't be hidden. Test: CTSAccessibility* Added CTS Test in another CL. Played around with this build for a while. Bug: 130273130 Change-Id: I5522e8b1468e8999b615592f16c8d59634d9659f
* Disallow reflection access to AdapterView#mDataChanged after P.Sumir Kataria2019-02-081-1/+2
| | | | | | | | | | I talked to the biggest 3p user of this API and they are resilient to this change. Moving forward, our advice to developers is to use RecyclerView. Test: N/A Change-Id: I8de647b10ed06f1f0f4b10865fb88ac0bcc10608 Fixes: 123768524
* Minor Content Capture-related changes.Felipe Leme2018-11-141-6/+16
| | | | | | | | | | | | | - Refactored onProvideStructureForAssistOrAutofillOrViewCapture() into a common, hidden onProvideStructure(viewFor) method on View that (hopefully :-) makes it easier to understand / extend. - Renamed / documentted some methods on TextView. Bug: 111276913 Test: atest CtsAutoFillServiceTestCases CtsAssistTestCases \ AssistFrameworksCoreTests:AssistStructureTest Change-Id: I328ce3f26a42e7408015cc0014a3f707801ebeb9
* docs: fixed instances of typo in 'overridden'kopriva2018-09-131-1/+1
|\ | | | | | | | | | | am: debd4ee72d Change-Id: Idde6240486463dee51cdc27b8cd066a80fb869e0
| * docs: fixed instances of typo in 'overridden'kopriva2018-09-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This affects several files beyond those mentioned in the bug. I didn't fix some instances because the files had code problems that blocked presubmit checks. Test: make ds-docs Bug: 37094741 Change-Id: I642f0384fef2b267ebc970bae1b4fb90bae667e7 Exempt-From-Owner-Approval: Docs-only change
* | Merge "Add @UnsupportedAppUsage annotations"Mathew Inwood2018-08-211-0/+14
|\ \ | |/ |/| | | | | | | am: 6d891937a3 Change-Id: I919b9dddda7d848dc96c83d0cfb0aa4e3179fb12
| * Add @UnsupportedAppUsage annotationsMathew Inwood2018-08-211-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Idf7ccc7a850fa984ea16f91cdd70159087274e5c Merged-In: Ic61019b1df85448a158fc2ba55c326353222c6b9
* | docs: Fixed typos in AdapterView Javadoc.Shrijana Ghimire2018-06-121-2/+2
|/ | | | | | | | | Replaced the word 'as' with 'has' and replaced 'id' with 'if'. Test: make ds-docs Bug: 36946939 Change-Id: I05828e2ee20309556ffbf56cff0093183dabc088
* Revert "Move A11y events throttling away from View(RootImpl)"Eugene Susla2018-01-261-1/+1
| | | | | | | | This reverts commit e4d31b3c103045d5b2b141a05084dced595cc64f. Fixes: 71904218 Test: presubmit Change-Id: Id73bde1a0c11696cf561c84cde027cdca4c6a00f
* Move A11y events throttling away from View(RootImpl)Eugene Susla2018-01-091-1/+1
| | | | | | | | | | | | ..and also extract common code into a common superclass This also preserves the order of the throttled events (TYPE_VIEW_SCROLLED & TYPE_WINDOW_CONTENT_CHANGED) with regards to the rest of events by flushing any pending throttled events immediately if another event is requested to be sent. Test: ensure no new a11y CTS failures Change-Id: I948a16716521974393aaa1cf822d0a0324e9ce3a
* docs: Typo fixesAndrew Solovay2017-10-271-5/+5
| | | | | | | | | | See first comment for doc stage location. Change-Id: I29661ffab0ff10021671df0b725c9f9b12430960 Bug: 67886596 Bug: 67932414 Test: make ds-docs
* Moved getAutofillOptions() logic from SpinnerAbs to AdapterView and Adapter.Felipe Leme2017-04-181-1/+22
| | | | | | | | Fixes: 37330022 Test: CtsAutoFillServiceTestCases pass Test: manual verification using app from bug 37327881 Change-Id: I66260131c7ef0d5b3c2b20514f29efd5eb10057e
* Make AdapterView auto-focusable-awareEvan Rosky2017-04-051-6/+12
| | | | | | | | | | AdapterView already does its own sort-of auto-focusable thing. This change makes it compatible with FOCUSABLE_AUTO. Bug: 36984131 Test: AdapterViewTest#testchangeFocusable Change-Id: Iff57caff0f59fb79a28ed36c78530cff41533b62
* Fix a few auto fill ussuesSvet Ganov2017-03-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Ensure clicking on a focused view brings up autofill if needed 2. Notify the autofill manager in a couple of cases we missed 3. Renamed the AutofillManager app facing APIs to better reflect what they do and added a API for the app to cancel the autofill interaction 4. Fix view structure dispatch where the ordering of children for autofill was mixed with ordering of direct view children - the autofill children may be indirect as views can be marked not important for autofill 5. Show scrollbars only if there are more fill options than want is shown 6. Show only three fill options and the rest can be accessed with a scroll 7. Remove the list divider to allow fill items to control all fill window content 8. Renamed the autofill manager internal service classes to xxAutofillxx 9. Fixed a comment that was not addressed in a previous CL 10. Showing max three fill options - rest needs a scroll 11. Make sure fill UI shown when filter with no matches is changed to filter with some matches 12. Make sure the fill window has a shadow Test: Autofill CTS tests pass and manual bug:36038929 bug:36040101 bug:36149166 bug:36034681 bug:36126001 bug:36035654 Change-Id: Ic8726146fc3c0a19d3e536becdd63fb65622136e
* Replaced auto-fill by autofill to keep it consistent with API style.Felipe Leme2017-03-091-3/+3
| | | | | | | | | | | | | | This change will affects 2 types of apps: autofill service implementations and apps that use autofill APIs. Since just the former is known to be used at the moment, we're not trying to keep backward compatibility with the latter. Bug: 35956626 Test: CtsAutoFillServiceTestCases pass Test: android.provider.SettingsBackupTest pass Change-Id: Ia720083508716deae9e887f9faa7ae7c5a82f471
* Added auto-fill support for Spinner.Felipe Leme2017-02-221-0/+6
| | | | | | | | | | | | | | Spinner is a special kind of list-value field because its auto-fillable values are not currently present in the assist structure: this change adds a getAutoFillOptions() to fill that void, and implements the auto-fill APIs on Spinner. It also fixes RadioGroup.getAutoFillValue() - it should return the index of the child, not its resource id. Bug: 33550221 Test: CtsAutoFillServiceTestCases (with new tests) pass Change-Id: I625e7dd705fade56fda490fcd3c4446c0c245ee1
* Fix ListView losing scroll positionAndrei Stingaceanu2016-04-271-1/+0
| | | | | | | | | Restrict restoring the selected position when AdapterView gets restored for Spinner instances only. Bug: 26991402 Bug: 23619366 Change-Id: Ib002eac5ed0b8810a3e9988ad36f03450cb03b9b
* Merge "Fix Spinner not restoring selection when set to GONE"Doris Liu2015-09-161-0/+1
|\
| * Fix Spinner not restoring selection when set to GONEDoris Liu2015-09-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | This CL restores the selected position when AdapterView gets restored, rather than wait until the next measure/layout pass to do it. After the change, even when the AdapterView is set to GONE (i.e. no measure/layout pass), the selection will still be kept up to date. Bug: 23619366 Change-Id: I09a31b6e2a61ca0edf129af8fe634b83784f9167
* | Avoid OOBE when AbsListView layout is out of sync with adapterAlan Viverette2015-09-141-6/+13
|/ | | | | | | | | | | | | | | | | Views are not synchronized with adapter state until a layout pass occurs, which may cause an OOBE if a list item is removed and an accessibility node is obtained before the next layout pass. This CL caches the item's enabled state on the bound view's layout params, which allows us to avoid relying on the adapter to populate accessibility nodes. It also aborts actions if the target position is no longer valid. Updates the documentation on AdapterView to reflect that the result of getPositionForView() may not be synchronized with the adapter. Bug: 23943664 Change-Id: Ic79eaa2e26bec9cd8d90fdab434271bc4f3d8a68
* Avoid NPE when getPositionForView() is called on detached viewAlan Viverette2015-08-261-6/+8
| | | | | Bug: 23557674 Change-Id: I76cb5f06081b2ac4c8f535df8d1a0aee17d2bb20
* Revert "Synchronize selected item data on-demand after data set invalidation"Alan Viverette2015-06-041-49/+10
| | | | | | | | | | This CL was a can of worms. More extensive changes are needed to decouple AdapterView state from measure/layout passes. This reverts commit abed07f6c0186e16e1c8e8aaceaf8cf961695c66. Change-Id: I4e4e01692a1f660a04e9dfd16db882f13c3d0b94
* Synchronize selected item data on-demand after data set invalidationAlan Viverette2015-06-031-10/+49
| | | | | | | | | Previously, the selected item data could become inconsistent between a call to Adapter.notifyDataSetChanged()/Invalidated() and the subsequent layout pass. Bug: 21614294 Change-Id: I45c9c98b2f6a8d8b8fb17de2065efa505cbf3c92
* Always send VIEW_CLICKED event from AdapterView.performItemClick()Alan Viverette2015-06-011-5/+8
| | | | | | | This makes it consistent with View.performClick(). Bug: 19574976 Change-Id: I00b222d56aa6fac03c2e6ead0604ee2ff3a6969d
* Use new hierarchy viewer protocol in all View subclassesSiva Velusamy2015-05-071-0/+14
| | | | | | | | | 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 more @Nullable annotationsScott Kennedy2015-03-061-2/+5
| | | | Change-Id: I5b2935eb5e63289d80ebf9bf70741800b1c0934a
* 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-7/+11
| | | | | | | | | | | | | | | 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
* Printing from two apps at the same time not working.Svet Ganov2014-10-241-1/+2
| | | | | | | | | | | | | | | | | | | | When printing from two apps at the same time the second print UI is getting stuck. There were a couple of issues here: AdapterView was not notifying for item selection if the data changes after scheduling a dalayed selection notification and the notification execution. The code assumed that a layout pass will occur and posponed the notification after the layout pass but it is not guaranteed that such a layout pass will occur. Now we delay only if a layout pass is being scheduled. Also when binding to the PDF rendering service the print spooler was using the same intent and as a result two print activites were getting the same renderer instance while they should get separate ones. Now we use different data in the intent to ensure we get separate renderer instances. Change-Id: I6aa7c7b041957804b4273549dd837a6d70064efc
* Ensure AdapterView doesn't post selection notifications foreverAlan Viverette2014-10-071-9/+35
| | | | | | | | | | | | | Previously we would loop forever if a selection notification was posted after data had changed but the data changed bit was never reset (e.g. a layout pass never occurred). This moves the pending notification to occur as part of a layoutChildren() / checkSelectionChanged() pass. If the client does horrible things to prevent layout, no notification will occur -- but we won't loop forever. BUG: 17736536 Change-Id: I9773a769ad402c92dcbe2af7b8982d4443001961
* Fix accessibility events emitted from TwoStatePreferenceAlan Viverette2014-09-021-1/+1
| | | | | | | | | | Removes redundant and conflicting events emitted from check and switch preferences. Sends VIEW_CLICKED accessibility events from AdapterView rows after calling their on click listeners, which ensures data is consistent. BUG: 16961152 Change-Id: I4b57bceec6830d775c2da57226b8ee482242caf7
* am 0047d3e0: am e253b514: am 29d60b95: am 8d41e653: Merge "Miscellaneous ↵Elliott Hughes2014-02-211-1/+1
|\ | | | | | | | | | | | | small documentation fixes." * commit '0047d3e025b43fd2dc05734f7ea6229291445046': Miscellaneous small documentation fixes.
| * Miscellaneous small documentation fixes.Mark Doliner2014-01-031-1/+1
| | | | | | | | | | | | Most of these I noticed on my own. The change to docs/html/tools/testing/testing_ui.jd is mentioned in a bug report: https://code.google.com/p/android/issues/detail?id=56324 Signed-off-by: Mark Doliner <markdoliner@google.com>
* | am 36055c33: am e1cb9acc: Merge "Update AdapterView.performItemClick() ↵Alan Viverette2013-09-241-1/+3
|\| | | | | | | | | | | | | documentation" into klp-dev * commit '36055c3396051e1f1e0257b9e98c0b9b5ac16080': Update AdapterView.performItemClick() documentation
| * Update AdapterView.performItemClick() documentationAlan Viverette2013-09-171-1/+3
| | | | | | | | | | BUG: 10312828 Change-Id: I085326b336a799eeb26702dc30349e525c4f1023
* | Clean up layout constructors, make them consistentAlan Viverette2013-09-101-2/+2
| | | | | | | | | | | | | | | | | | All constructors now flow through to each class's own 4-argument constructor. This ensures that theme attributes are applied even if a base AttributeSet is not provided. BUG: 10680863 Change-Id: I727d2961bf017c6a5e0206367081670782583394
* | Add View constructor that supplies a default style resourceAlan Viverette2013-09-091-2/+6
|/ | | | | | | Also updates the constructor of every class that extends View. BUG: 10676369 Change-Id: Ifaf27bf82028d180afa4931c0e906df88d858ac3
* Notification for changed subtree in accessibility mode not fired properly.Svetoslav2013-06-101-1/+1
| | | | | | | | | | | | We fire notifications that the a view subtree changed for accessibility. In some cases the notifications were fired if accessibility is not enabled. This is now fixed. Also the runnable for making the recurring subtree change was not dequeued if it was pending but we received a request which we decided to run immediately. bug:9337912 Change-Id: I27401b3d11f81c653e8761a704ee530263b08c3a
* Optimizing AccessibilityNodeInfo caching.Svetoslav2013-06-051-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Before we were firing an accessibility event from the common predecessor of views with accessibility related state changes every X amount of time. These events designate that the tree rooted at the source is invalid and should not be cached. However, some of the state changes do not affect the view tree structure and we can just refresh the node instead of evicting and recaching nodes infos for views that did not change. Hence, we need a way to distinguish between a subtree changed over a node changed. Adding a new event type will not work since if say two siblings have local changes and their predecessor fires a window state change event, the client will drop the subtree rooted at the parent including the two views with changes. Subsequent, more specialized events emitted from the two changed siblings will be useless since the parent which did not changed is already evicted from the cache. Conversely, if the specialized events are fired from the two siblings with local changes and they are refreshed in the cache the subsequent window state change event from the common predecessor will force the refreshed nodes to be evicted. Hence, to enable distinction between node being changed and a subtree baing changed while not changing existing behavior, we will fire only window content change event with an additional argument specifying what changed - node or a subtree for now. Also if the changes are local to a view we fire the window content changed event from the view. So, the two siblings will fire such an event independently and the client will know that these are local changes and can just refresh the node. If the changes are structural, then we fire the window state change event from the common predecessor. 2. Added the input type of a text view as one of the properties reported by an AccessibilityNodeInfo. It is nice to prompt the user what input is expected. 3. Added a bundle for optional information to AccessiiblityNodeInfo. For example, it will be used for putting web specific properties that do not map cleanly to Android specific ones in WebView. 4. AccessibilityInteractionController was not taking into account whether the current accessibility focused node is shown before returing it. Hence, a disconnected node would be returned and caching it puts our cahche in an inconsistent state. Change-Id: I8ed19cfb4a70bdd7597c3f105487f1651cffd9e0
* Improving accessibility focus traversal.Svetoslav Ganov2012-05-141-19/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Now the views considered during the accessibility focus search are the ones that would get accessibility focus when thovered over. This way the user will get the same items i.e. feedback if he touch explores the screen and uses focus traversal. This is imperative for a good user experience. 2. Updated which focusables are considered when searching for access focus in ViewGroup. Generally accessibility focus ignores focus before/after descendants. 3. Implemented focus search strategy in AbsListView that will traverse the items of the current list (and the stuff withing one item before moving to the next) before continuing the search if forward and backward accessibility focus direction. 4. View focus search stops at root namespace. This is not the right way to prevent some stuff that is not supposed to get a focus in a container for a specific state. Actually the addFocusables for that container has to be overriden. Further this approach leads to focus getting stuck. The accessibility focus ignores root names space since we want to traverse the entire screen. 5. Fixed an bug in AccessibilityInteractionController which was not starting to search from the root of a virtual node tree. 6. Fixed a couple of bugs in FocusFinder where it was possible to get index out of bounds exception if the focusables list is empty. bug:5932640 Change-Id: Ic3bdd11767a7d40fbb21f35dcd79a4746af784d4
* Perform null check on empty view before doing accessibility check.Mindy Pereira2012-04-161-1/+2
| | | | | | Fixes b/6341858 AdapterView does not properly check for null before checking empty view accessibility info Change-Id: Ia19fdef2c7c5f3e6c3053ebc754efe6a664f9d66
* Accessibility focus - frameworkSvetoslav Ganov2012-04-131-10/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Usefulness: Keep track of the current user location in the screen when traversing the it. Enabling structural and directional navigation over all elements on the screen. This enables blind users that know the application layout to efficiently locate desired elements as opposed to try touch exploring the region where the the element should be - very tedious. Rationale: There are two ways to implement accessibility focus One is to let accessibility services keep track of it since they have access to the screen content, and another to let the view hierarchy keep track of it. While the first approach would require almost no work on our part it poses several challenges which make it a sub-optimal choice. Having the accessibility focus in the accessibility service would require that service to scrape the window content every time it changes to sync the view tree state and the accessibility focus location. Pretty much the service will have to keep an off screen model of the screen content. This could be quite challenging to get right and would incur performance cost for the multiple IPCs to repeatedly fetch the screen content. Further, keeping virtual accessibility focus (i.e. in the service) would require sync of the input and accessibility focus. This could be challenging to implement right as well. Also, having an unlimited number of accessibility services we cannot guarantee that they will have a proper implementation, if any, to allow users to perform structural navigation of the screen content. Assuming two accessibility services implement structural navigation via accessibility focus, there is not guarantee that they will behave similarly by default, i.e. provide some standard way to navigate the screen content. Also feedback from experienced accessibility researchers, specifically T.V Raman, provides evidence that having virtual accessibility focus creates many issues and it is very hard to get right. Therefore, keeping accessibility focus in the system will avoid keeping an off-screen model in accessibility services, it will always be in sync with the state of the view hierarchy and the input focus. Also this will allow having a default behavior for traversing the screen via this accessibility focus that is consistent in all accessibility services. We provide accessibility services with APIs to override this behavior but all of them will perform screen traversal in a consistent way by default. Behavior: If accessibility is enabled the accessibility focus is the leading one and the input follows it. Putting accessibility focus on a view moves the input focus there. Clearing the accessibility focus of a view, clears the input focus of this view. If accessibility focus is on a view that cannot take input focus, then no other view should have input focus. In accessibility mode we initially give accessibility focus to the topmost view and no view has input focus. This ensures consistent behavior accross all apps. Note that accessibility focus can move hierarchically in the view tree and having it at the root is better than putting it where the input focus would be - at the first input focusable which could be at an arbitrary depth in the view tree. By default not all views are reported for accessibility, only the important ones. A view may be explicitly labeled as important or not for accessibility, or the system determines which one is such - default. Important views for accessibility are all views that are not dumb layout managers used only to arrange their chidren. Since the same content arrangement can be obtained via different combintation of layout managers, such managers cannot be used to reliably determine the application structure. For example, a user should see a list as a list view with several list items and each list item as a text view and a button as opposed to seeing all the layout managers used to arrange the list item's content. By default only important for accessibility views are regared for accessibility purposes. View not regarded for accessibility neither fire accessibility events, nor are reported being on the screen. An accessibility service may request the system to regard all views. If the target SDK of an accessibility services is less than JellyBean, then all views are regarded for accessibility. Note that an accessibility service that requires all view to be ragarded for accessibility may put accessibility focus on any view. Hence, it may implement any navigational paradigm if desired. Especially considering the fact that the system is detecting some standard gestures and delegates their processing to an accessibility service. The default implementation of an accessibility services performs the defualt navigation. bug:5932640 bug:5605641 Change-Id: Ieac461d480579d706a847b9325720cb254736ebe
* AccessibilityEvent/AccessibilityNodeInfo class name property should be set ↵Svetoslav Ganov2012-01-171-0/+2
| | | | | | | | | | | | | | | to only framework classes. AccessibilityEvent and AccessibilityNodeInfo have a property className which is set to the source Java class. This is problematic since leads to leaking private classes which would allow an accessibility service to load classes from other packages. This is strongly undesirable since not trusted code can be loaded, and hence executed, in the accessibility service. To address that the class name is set to the most concrete framework class extended by the info/event source. bug:5878943 Change-Id: I7b3114ece8772ea2773f5151e21b8a6f2006882a
* docs: add developer guide cross references, Project ACRE, round 3Joe Fernandez2011-10-281-0/+6
| | | | Change-Id: I6125315ecdf0f78dd947c514a9944729d723e95d
* AdapterView does not check for null adapter when initializing accessibility ↵Svetoslav Ganov2011-10-191-1/+1
| | | | | | | | | | | | event. The code that initializes accessibility events was assuming the AdapterView always has an adapter and this caused NPE. Now the right method of the view is called to get the item count. bug:5474162 Change-Id: I6c330dc2894477df9447a4ecfddc7bd62c575d59
* Merge "DO NOT MERGE AdapterView does not set setCurrentItemIndex in ↵Svetoslav Ganov2011-10-111-0/+1
|\ | | | | | | accessibility event." into ics-mr0
| * DO NOT MERGE AdapterView does not set setCurrentItemIndex in accessibility ↵Svetoslav Ganov2011-10-111-0/+1
| | | | | | | | | | | | | | | | | | | | event. Cherry picking since branching caught us in the middle of review. bug:5439637 Change-Id: I67d080abb4c14cad88b952e2f91d65e181b2029b
* | DO NOT MERGE AdapterView#isScrollableForAccessibility does not handle null ↵Svetoslav Ganov2011-10-111-3/+7
|/ | | | | | | | | | | | | adapter. Cherry picking since branching caught us in the middle of review. 1. If an AdapterView has no adapter and the view tries to fire an accessibility event we get a null pointer exception. bug:5439321 Change-Id: Ia3d7a5ad852ef42422d10d8a62c4d3af6792313b