summaryrefslogtreecommitdiff
path: root/core/java/android/widget/SearchView.java
Commit message (Collapse)AuthorAgeFilesLines
* Fix focus transition when the direction is backward.Saho Kobayashi2021-10-281-0/+7
| | | | | | | | | | | | Currently, when SearchView is focused, the focus is moved to the internal view. This blocks users to move the focus back to the previous view by Shift + Tab. Send focus to the previous view instead of the internal view when the direction is backward. Bug: 191405735 Test: atest SearchViewTest SearchView_CursorTest Change-Id: I668ce13472b80da2e57e84fac4966294d7848170
* 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
* Add a mutability flag to the PendingIntent in SearchView.javaAshwini Oruganti2020-10-141-1/+1
| | | | | | | | | | | | | It is now required to specify an explicit mutability flag when creating PendingIntents. This change adds an explicit FLAG_MUTABLE to a PendingIntent in SearchView.java. Since the previous default behavior was mutable, and the flag I have added is FLAG_MUTABLE, this change should be a no-op functionally. Bug: 170770665 Test: TH Change-Id: Ib6d4f95f64430d8b187560614b97bac961a129c5
* Update language to comply with Android's inclusive language guidanceNader Jawad2020-07-291-1/+1
| | | | | | | | | | See https://source.android.com/setup/contribute/respectful-code for reference BUG=161896447 Test: N/A Change-Id: I2032595a163d9146cfdbaebb1714ad1c53e0157c
* Process numpad enter key along with enter key.Byungsung You2020-04-151-1/+2
| | | | | | | | | | | | Some views define only KEYCODE_ENTER action not KEYCODE_NUMPAD_ENTER. because of this, when numpad enter key is pressed expected result is not shown. We are adding KEYCODE_NUMPAD_ENTER to be processed in the same way as KEYCODE_ENTER. Test: Check that adb shell input KEYCODE_NUMPAD_ENTER and adb shell input KEYCODE_ENTER Bug: b/141329038 Change-Id: I87b5159c4fe71eaf8501059249c79b7cfd1752fc
* 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
* 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
* Override checkInputConnectionProxy in SearchView.Tarandeep Singh2019-02-141-0/+5
| | | | | | | | | | | | SearchView's editor is SearchView#SearchAutoComplete. In order to correctly determine if SearchView's inner editor has the current InputConnection, SearchView#SearchAutoComplete must override check InputConnectionProxy to return true. Note: this change will also be cherrypicked to jetpack Bug: 112399521 Test: Manually tested using steps mentioned in bug. Change-Id: If4d202d0070974cbda4cb3c78febe3049001972b
* Update core widgets to save attribute source info.Aurimas Liutikas2019-02-071-0/+2
| | | | | | Bug: 111439551 Test: make -j Change-Id: I72997a87122f38b32e38e42a690385acc7d0e521
* @InspectableProperty coverage for android.widgetAshley Rose2019-02-041-0/+17
| | | | | | | | | 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
* Move some members to the "Q blacklist".Mathew Inwood2018-09-141-2/+3
| | | | | | | | | | | | | | Based on some analysis, these fields/methods are likely false positives. Set maxTargetSdk=P so that any apps using them are required to migrate off them in future. See the bug for more details. Exempted-From-Owner-Approval: Automatic changes to the codebase affecting only @UnsupportedAppUsage annotations, themselves added without requiring owners approval earlier. Bug: 115609023 Test: m Change-Id: I719b5c94e5b1f4fa562dd5d655953422958ad37e
* Add @UnsupportedAppUsage annotationsMathew Inwood2018-08-211-0/+26
| | | | | | | | | | | | | | | | 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
* Don't consume all BACK keys in SearchViewEvan Rosky2018-03-071-21/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If SearchView is the first focusable, it will always get focus (in non-touch-mode) when it tries to clearFocus on BACK pressed. This lead to a situation where SearchView always consumed the BACK key leaving users unable to leave some activities. It looks like this was done so that pressing back both closed the auto-correct popup AND the ime (whereas without reimplementing onPreIme, it would require 1 back-press to close the auto-correct popup and then a subsequenty press to close the IME). It also, however, tried to clearFocus as well. This change only consumes the Back press if the auto-correct popup is open (to have the same effect of BACK closing both the popup and the IME at the same time). It ignores the back press otherwise. If there is no pop-up, this results in the BACK being handled by the ime and thus hiding it. Otherwise, back is not consumed. The only effective difference is that the SearchView remains focused now. Bug: 73181998 Test: SearchView CTS tests still pass. Back can now exit test-app once IME is hidden. Change-Id: I3fe687b5344300b86131f44a1c9798cd736955bd
* Deprecate IMM#showSoftInputUnchecked() part 1Yohei Yukawa2017-03-071-38/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One of non-intuitive behaviors of InputMethodManager#showSoftInput() is that it always fails if you pass a view that does not window focus. For example, the following code does not show the software keyboard because the target window is not yet focused during Activity#onCreate(). @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final LinearLayout layout = new LinearLayout(this); layout.setOrientation(LinearLayout.VERTICAL); final EditText editText = new EditText(this); layout.addView(editText); final InputMethodManager imm = getSystemService(InputMethodManager.class); editText.requestFocus(); // This will be ignored because the target window has not gained // focus yet. imm.showSoftInput(editText, 0); setContentView(layout); } Some platform components, however, have worked around by this limitation by relying on IMM#showSoftInputUnchecked(), which just bypasses internal IME focus handling flows. Bypassing standard event handlign flow is indeed problematic, and has actually contributed to issues such as Bug 35903813 and Bug 31915865 directly or indirectly. In order to make IME focus handling more deterministic and reliable, IMM#showSoftInputUnchecked() really needs to be deprecated. As the initial step to deprecate IMM#showSoftInputUnchecked(), this CL removes the dependency on it from SearchView. Instead of immediatelly issuing delayed tasks that call IMM#showSoftInputUnchecked(), this CL uses View#onCreateInputConnection() as a signal that SearchAutoComplete now owns IME focus. Test: Open System Settings and tap the search icon to make sure that the software keyboard will be shown automatically. Test: cts-tradefed run cts -m CtsWidgetTestCases --test android.widget.cts.SearchViewTest Bug: r.android.com/223701 Bug: 36015425 Bug: 31756425 Fixes: 35903813 Change-Id: I20983e4ce1d625e098a8c2335ce75994cfa43235
* Add support for automatic focusability determinationEvan Rosky2017-01-191-3/+3
| | | | | | | | | | | | | | New android:focusable attribute value "auto" and corresponding constant FOCUSABLE_AUTO specifies that the framework can determine a view's focusability. For now, the only "auto" logic is that focusable = clickable. This has the effect of making clickable views focusable by default unless the developer has explicitly set them focusable=false. Bug: 31963283 Change-Id: Icce768fa701966970ea6b3469b33a4ef97ebc3ea Test: Added CTS test, related CTS passes, made a test-app which enumerates all clickable/focusable combinations to verify
* Fix SearchView measure for UNSPECIFIED height.Aurimas Liutikas2016-09-091-1/+3
| | | | | | | | Previously it would almost always force SearchView to become 0 when height mode was UNSPECIFIED. Bug: 31302290 Change-Id: Icd2116b84951b1b967666147dbc5762d996408e6
* Increase SearchView touch targets to meet GAR3.Aurimas Liutikas2016-04-151-1/+151
| | | | | | | | | | | - Allow SearchView to expand to 48dp height if possible. - Make the search clear button have 48dp height if possible. - Expand the search TextView touch target height to 48dp is possible. Framework version of patch ag/912646 Bug: 19479861 Change-Id: Ibaaef2afa20b8c05eaac8f028df4f616f2f96eb1
* Fix crash when restoring SearchView.Aurimas Liutikas2016-02-261-0/+11
| | | | | | | | I forgot to include Parcelable.Creator when I added SearchView iconified state saving. Bug: 27357167 Change-Id: Ia96490aa9c12c4042f50ba4b1aeb7422b37a1d4c
* Start saving iconified state of SearchView.Aurimas Liutikas2016-02-111-0/+44
| | | | | Bug: 27113484 Change-Id: Ifbde47c9af7c5460390e278a5af674f0c8654c2a
* Remove some sized based resource (match support lib removal).Filip Gruszczynski2015-12-031-0/+26
| | | | | Bug: 25394588 Change-Id: I5b5b446667fc6ec028ec259da236967d3b2d22d2
* Use Context.getSystemService(Class<T>) for InputMethodManager.Yohei Yukawa2015-11-261-6/+4
| | | | | | | | | This is a mechanical replacement of Context.getSystemService(String) with Context.getSystemService(Class<T>) when retrieving InputMethodManager. Note those are bundled code. Hence we don't need to make sure Build.VERSION.SDK_INT >= 23. Change-Id: Icc64942ad8f11e44bf84f8d4fe476b2fdd1257f3
* Hide SearchView icon when no drawable setAlan Viverette2015-08-251-1/+9
| | | | | Bug: 23511899 Change-Id: Ic2a4622f905779fc713482c60706c727274f9be5
* ActionBar SearchView's default hint shouldn't override SearchableInfoAlan Viverette2015-04-291-34/+35
| | | | | | | | | | Moves the queryHint to defaultQueryHint, specifies the override order as queryHint > SearchableInfo > defaultQueryHint. Cleans up annotations and comments for several related methods. Bug: 20614122 Change-Id: Ib58ec309e6814cd512df147d789ec0cd546018af
* Remove unused imports in frameworks/base.John Spurlock2015-02-281-2/+0
| | | | Change-Id: I031443de83f93eb57a98863001826671b18f3b17
* First quick implementation of auto assist data.Dianne Hackborn2015-02-061-11/+2
| | | | | | | | | | | | | | 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-4/+6
| | | | | | | | | | | | | | | 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
* Remove underline and search icon from ActionBar search viewAlan Viverette2014-11-181-96/+117
| | | | | BUG: 17396265 Change-Id: I751bc79538f1ea412192172035920e59351270f1
* Make SearchView styles public, remove public Holo styles added in LAlan Viverette2014-09-101-2/+3
| | | | | | | | We shouldn't adding styles for a deprecated theme. Also this cleans up the removed public resources for easier deletion later. BUG: 17455273 Change-Id: I2c5caf354aab91463702f25c38f0dd29c153ba44
* Fix a regression in SearchView focusabilityAdam Powell2014-09-031-0/+4
| | | | | | | | | | | | | A bit of code was removed that re-read the View style attributes during SearchView construction to extract the focusable attribute, but with a different default value if it was entirely missing. Restore it, and lump re-reading the focusable attribute in with SearchView's styleable filter array instead of using the giant View one for a second time during inflation. Bug 17292230 Change-Id: Ic5a2dd2d55893b0b290f1f7a3b6de09b37329245
* Add style for SearchViewAlan Viverette2014-07-021-52/+69
| | | | | BUG: 6420978 Change-Id: I31d9f7e66c2404388ccbe6d2e43a005deb0b7c25
* SearchView improvement for IMEFabrice Di Meglio2014-03-281-1/+1
| | | | | | - fix IME not closing when not having a SearchableInfo Change-Id: I3e6e168be1e26138fe0ceb967bbd12fa35db0903
* Add APIs for obtaining themed Drawable from Theme, ContextAlan Viverette2014-02-031-1/+1
| | | | | BUG: 12611005 Change-Id: Ic0057be4e4c2d0c61ce02a019b3f7d0625e3a016
* Add View constructor that supplies a default style resourceAlan Viverette2013-09-091-5/+20
| | | | | | | Also updates the constructor of every class that extends View. BUG: 10676369 Change-Id: Ifaf27bf82028d180afa4931c0e906df88d858ac3
* Clear SearchView query field when collapsed as an action viewAdam Powell2012-12-101-0/+1
| | | | | | Bug 7679852 Change-Id: Ice1b6902670f133219569e1b1d409a152ebc7b16
* Fix bug #6427629 Clean up layout direction APIsFabrice Di Meglio2012-09-281-2/+2
| | | | | | - remove onPaddingChanged(int) and fold it into onRtlPropertiesChanged(int) Change-Id: I1d7f02d2b4538c6c991bd4285501bbc73e6aa5c3
* Fix bug #6427629 Clean up layout direction APIsFabrice Di Meglio2012-09-231-1/+1
| | | | | | - rename getResolvedLayoutDirection() to getLayoutDirection() Change-Id: I3afe56c0db0751952f5056c23893cb7455531d29
* Fix bug #6427629 Clean up layout direction APIsFabrice Di Meglio2012-09-231-1/+1
| | | | | | | | | | | - canResolveXxx() should be hidden - resetResolvedXxx() should be hidden - resolveDrawables(), resolveLayoutDirection(), resolvePadding(), resolveTextAlignment(), resolveTextDirection() should be hidden - onResolvedXxx() should be merged into one callback - fix also an issue with setting the layout direction of the drawable in ImageView - fix also an issue with checking if TextAlignment can be resolved Change-Id: I1402269ddf8632525f5550f80e5610e1a7b4034d
* am ad17717e: am d3b74b91: am b307ceb4: Merge "SearchWidget: passing APP_DATA ↵Jean-Baptiste Queru2012-09-041-0/+3
|\ | | | | | | | | | | | | to voice intent" * commit 'ad17717e52576a05dffd1b99c06c46a80c149722': SearchWidget: passing APP_DATA to voice intent
| * SearchWidget: passing APP_DATA to voice intentJorge Ruesga2012-09-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | SearchView uses SearchManager.APP_DATA to pass data between the origin activity and the search activity. This works for text searches (keyboard), but it's not implemented by voice recognition searches. The method createVoiceAppSearchIntent initializes a empty bundle that is filled with the QUERY parameter. This patch adds the SearchManager.APP_DATA parameter if is present, let the search activity access to the data passed by the origin activity Patch 2: Fix code style Change-Id: I52dce34e1efd07a30ad74d52bfc60fbae1c4310b
* | Make SearchView RTL awareFabrice Di Meglio2012-07-271-5/+16
|/ | | | | | - see bug #5429822 UI should be mirrored for RTL locales (Arabic, Hebrew, farsi) Change-Id: I7e7b51dccdd3b111e0594509334579b0502d24c8
* am dc99555d: Merge "Pass SearchView suggestion cursor exception to Log."Romain Guy2012-07-061-2/+2
|\ | | | | | | | | * commit 'dc99555d61d50820b398096bb774ee56b2500476': Pass SearchView suggestion cursor exception to Log.
| * Pass SearchView suggestion cursor exception to Log.Jake Wharton2012-07-061-2/+2
| | | | | | | | | | | | | | | | When an error in fetching a column occurs in your suggestions cursor adapter this will ensure the stacktrace is logged to provide more context about what failed. Change-Id: Iafe4918caebb9b0fb712b758b2d3ace329fd2512
* | Do not run the spell checker in SearchViewSatoshi Kataoka2012-06-051-0/+7
| | | | | | | | | | Bug: 6603925 Change-Id: I75972185fb4d802f2a90649002e722ca4b676c42
* | Fix for IOOB in SearchViewGilles Debunne2012-05-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug 6476578 The latest bug report show a query.length() of 33 while mQueryTextView.length() is 0 on line 514. I can see 2 reasons which can explain this discrepancy: - the mQueryTextView has a filter, which alters the text. - some asynchronous event (IME?) changes the text in the mean time. I would favor the second one, which seems to break a lot of single thread assumptions in the code and generates other IOOB exceptions. Note that depending on what they are used for, it may be more consistent to use mQueryTextView.getText() instead of query in the following assignment. Change-Id: Ie8a5486b11a80543f8f90980454933c5a74c073e
* | Javadoc improvements in SearchView per API review.Amith Yamasani2012-05-041-0/+4
| | | | | | | | | | | | | | | | Bug: 6442174 Added attr refs to 2 methods. Change-Id: I9b5f93e8e921a7260fdc25c8134e655f09a1ffb7
* | Add some missing getters for XML/Java API consistency.Amith Yamasani2012-04-251-0/+50
| | | | | | | | | | Bug: 6103517 Change-Id: I46dca62d4d6465a4d0b0d2eafd9013ab4a90fb3c
* | AccessibilityEvent/AccessibilityNodeInfo class name property should be set ↵Svetoslav Ganov2012-01-171-1/+14
|/ | | | | | | | | | | | | | | 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 4Joe Fernandez2011-12-221-4/+5
| | | | Change-Id: I1b43414aaec8ea217b39a0d780c80a25409d0991