summaryrefslogtreecommitdiff
path: root/core/java/android/widget/RadioGroup.java
Commit message (Collapse)AuthorAgeFilesLines
* Enable use of of CompoundButtons in RemoteViewsSteven Kideckel2021-02-031-0/+2
| | | | | | | | | | | | | | | | | This change adds @RemoteView and @RemotableViewMethod to the relevant views we'd like to enable. New APIs have been added to set Icons in CompooundButton and Switch. onCheckedChange support will be added in a follow-up CL. CompoundButton.setChecked and RadioGroup.check aren't directly remotable since RemoteViews will need to control those calls directly to ensure that any onCheckedChange listeners aren't triggered by RemoteViews actions. Bug: 179245670 Test: manual, atest Change-Id: I85e2aee62cf39ed008d9c9c1fece813293841fbd
* Update language to comply with Android's inclusive language guidanceJeff Sharkey2020-09-141-2/+2
| | | | | | | | | See https://source.android.com/setup/contribute/respectful-code for reference Test: none Bug: 168334533 Exempt-From-Owner-Approval: docs updates Change-Id: I245b8d9cac722da76ea67983738a3cbb9deb68df
* Check for text when adding CollectionInfo and CollectionItemInfosallyyuen2020-04-061-7/+12
| | | | | | | | | | | | | | | | | | Generally, the button's text is displayed next to the check box, but Sound Settings uses its own views to display the text, distinct from RadioGroup and RadioButton. This results in TalkBack announcing out of list state too early, since the text content is not considered part of the collection. Add a check to exclude buttons with no text when counting the children to be in the collection. Developers should be either setting the button text or implementing their own views to appear alongside the buttons. Bug: 149064784 Test: Added CTS test. Manual testing of Settings -> Sound -> Do no disturb -> Advanced -> Set Duration for Quick Settings Change-Id: Ie9abe4cccc4ab53e79a583b9a2ce45535dcf1cc0
* 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
* Use CollectionInfo and CollectionItemInfo api in RadioGroup andsallyyuen2019-12-131-1/+50
| | | | | | | | | | | | | | | RadioButton Allow RadioGroups to be recognized as groups of objects by accessibility services. This lays a foundation to better describe these groups by exposing the number of buttons and the position of each. Bug: 144591511 Test: Tested on various app permission fragments in Settings and in the time picker in Clock. Added cts tests. Change-Id: Ie0c41d8c9b131ca29bba5387171a85dfdbb8db7e
* Update core widgets to save attribute source info.Aurimas Liutikas2019-02-071-0/+2
| | | | | | Bug: 111439551 Test: make -j Change-Id: I72997a87122f38b32e38e42a690385acc7d0e521
* Minor Content Capture-related changes.Felipe Leme2018-11-141-3/+9
| | | | | | | | | | | | | - 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
* Add @UnsupportedAppUsage annotationsMathew Inwood2018-08-211-0/+3
| | | | | | | | | | | | | | | | 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
* Optimization: don't call AFM.notifyValueChanged() when value didn't change.Felipe Leme2018-02-161-3/+7
| | | | | | | | | Test: manual verification Test: atest CtsAutoFillServiceTestCases Bug: 73078981 Change-Id: Ib0a40d4ab0e6f4a1300622fa4d7a2f6026aa98a1
* Minor fixes on Autofill Framework:Felipe Leme2017-04-241-2/+0
| | | | | | | | | | | | | | | | | | - Removed default implementation of onProvideAutofillVirtualStructure() that was using accessibility API (it's useless because without the View calling AutofillManager.notifyViewEntered(), it would never be triggered). - Fixed obsolete TODOs. - Removed obsolete service class name constant. - Removed unused debug constant. Test: CtsAutoFillServiceTestCases (on oc-dev) pass Test: manual verification (on oc-dev) Bug: 37078783 Bug: 33197203 Bug: 33802548 Bug: 35956626 Change-Id: I834d34b8af8bf0d781dc7e0ffcd6e600bfa2d183
* Simplified autofill() methods by returning void instead of boolean.Felipe Leme2017-03-291-9/+7
| | | | | | Test: CtsAutoFillServiceTestCases pass Change-Id: Ic94e6686e291fed60ef6715bd160f9b568bf0ea6
* TRON log important auto-fill eventsPhilip P. Moltmann2017-03-161-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Example log from android.autofillservice.cts.LoginActivityTest#testAutoFill#testAutoFillOneDatasetAndSave (translated from numbers of human readable string): AUTOFILL_SESSION_STARTED package=android.autofillservice.cts AUTOFILL_REQUEST type=TYPE_SUCCESS package=android.autofillservice.cts FIELD_AUTOFILL_SERVICE=android.autofillservice.cts FIELD_AUTOFILL_NUM_DATASETS=1 AUTOFILL_FILL_UI type=TYPE_ACTION package=android.autofillservice.cts FIELD_AUTOFILL_NUM_DATASETS=1 FIELD_AUTOFILL_FILTERTEXT_LEN=0 AUTOFILL_DATASET_APPLIED package=android.autofillservice.cts FIELD_AUTOFILL_NUM_VALUES=2 FIELD_AUTOFILL_NUM_VIEWS_FILLED=2 AUTOFILL_SAVE_UI package=android.autofillservice.cts FIELD_AUTOFILL_NUM_IDS=2 AUTOFILL_DATA_SAVE_REQUEST type=TYPE_SUCCESS package=android.autofillservice.cts FIELD_AUTOFILL_SERVICE=android.autofillservice.cts AUTOFILL_SESSION_FINISHED package=android.autofillservice.cts Test: Ran auto-fill tests and looked at event log. Change-Id: I58aaa58e4435e7d04c8cd91878411943d3eb13de
* Merge "Make it clear which type of AutoFillValue is set"Philip P. Moltmann2017-03-141-1/+9
|\
| * Make it clear which type of AutoFillValue is setPhilip P. Moltmann2017-03-141-1/+9
| | | | | | | | | | | | | | throw and handle errors if the wrong value is set for a view Test: android.autofillservice.cts.AutofillValueTest Change-Id: Ida80da7913a210bede6c47d6b7a6f215a012a84c
* | Merge "Renamed ViewStructure.setSanitized() to setDataIsSensitive()."TreeHugger Robot2017-03-141-1/+1
|\ \ | |/ |/|
| * Renamed ViewStructure.setSanitized() to setDataIsSensitive().Felipe Leme2017-03-141-1/+1
| | | | | | | | | | | | | | | | Bug: 36126001 Test: CtsAutoFillServiceTestCases pass Test: m update-api Change-Id: I182355b63d8743cd8cd8612f29a9269e258283c2
* | 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-11/+10
| | | | | | | | | | | | | | 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
* Optimize ViewStructure for autofill by removing irrelevant nodes.Felipe Leme2017-03-081-0/+5
| | | | | | | Test: CtsAutoFillServiceTestCases (with new tests) pass Fixes: 35840787 Change-Id: Iaa2c1907c8383b4a820fd7204e67fa2d276ad2b8
* Replace AutoFillType by view constants.Felipe Leme2017-03-071-3/+2
| | | | | | | | | | | | | | | Now that AutoFillType does have any logic (since the "subType" logic was moved to AutoFillHint), it makes more sense to get rid of the type and use constants directly. This change creates the contants and "pseudo-deprecate" the old stuff: it's still available because some clients are using it, but it will be removed once they migrate. Bug: 35956626 Test: CtsAutoFillServiceTestCases pass Change-Id: I0efe7f0cc101c86164a18c85903bb871e1f13ba2
* Added auto-fill support for DatePicker and TimePicker.Felipe Leme2017-03-011-1/+1
| | | | | | | | | | | | Also fixed some getAutoFillType() implementations to return null when the view is disabled. Bug: 33550221 Bug: 35840787 Test: CtsAutoFillServiceTestCases (with new tests) pass Test: m update-api Change-Id: I46acc1fb106cf2153515cc1c9567b34cfabd1c62
* Added sanitization for CompoundButton and RadioGroup.Felipe Leme2017-02-221-1/+12
| | | | | | | | Bug: 33269702 Bug: 33550221 Test: CtsAutoFillServiceTestCases (with new tests) pass Change-Id: Ie2c8d2784227371588aa02973b8ef3ac1a6950aa
* Added auto-fill support for Spinner.Felipe Leme2017-02-221-1/+10
| | | | | | | | | | | | | | 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
* Added auto-fill listeners for RadioGroup and CompoundButton.Felipe Leme2017-02-211-2/+5
| | | | | | | | Bug: 33550221 Bug: 3380254 Test: CtsAutoFillServiceTestCases pass Change-Id: Ia9293d16b6fe092552e19563328697c298451f8a
* Refined session management so Save can be automatically called.Felipe Leme2017-02-061-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is yet another big refactoring: - AutoFillManager keeps track of its current AutoFillSession. - Views call AFM.startSession(View) when they can trigger autofill. (virtual views can call it as well). At this point, the manager sets an AutoFillSession, gets the activity token, and passes it to the service. - Subsequent calls to AFM.start() will be ignored since the session is set. - When the Activity is gone, it calls AFM.finishSession(). - Simlilarly, virtual views could call it as well. - Added getAutoFillValue() to View. - Removed AFM.updateAutoFillInput(childId): virtual views should now call startSession(childId) to start a session, and use the VirtualViewListener callbacks for updates. - Change AutoFillValue to use String (which is immutable) instead of CharSequence for text values. - Check if view is enabled before auto-filling. - Removed 'cmd autofill fill' since it would require the appCallback - Automatically dismiss the snack bar after 30s - Moved the "don't change autofill value when autofilling" Inception logic into the service side. - Etc... BUG: 34819567 BUG: 33269702 BUG: 31001899 Test: manual verification Test: CtsAutoFillServiceTestCases passes Change-Id: I5fad928d4d666701302049d142026a1efa7291cd
* Improved AutoFill Save workflow.Felipe Leme2017-02-011-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the onProvideAutoFillStructure() methods can be called twice: to auto-fill an activity and to save the activity's data in the service. The problem with this approach is that when the save workflow is called, the activity might have been gone. Hence, a proper approach is to keep the initial AssistStructure data in the system_service memory, watch for view changes, and then passed the new structure back to the AutoFillService. A side effect of this change is that we need another way to determine if the view is sanitized or not. For "standard" views, that will be defined based on whether the view content come from a resource or not, but that logic is not implemented yet (for now, all views will be considered sanitized, except for TextView passwords). For "custom" views (such as WebView), this logic is responsibility of the view implementation, through the newChild() method, which now takes a flag (whose value could be AUTO_FILL_FLAG_SANITIZED for sanitized views). The SaveCallback.onSuccess() method was simplified: it does not need a list of saved ids anymore the auto-fill UI will not use it anymore. Another side effect is that the Save notification is gone - until it's attached again, it can be test by using: adb shell cmd autofill save Finally, hook AutoFillUI on ACTION_CLOSE_SYSTEM_DIALOGS events. BUG: 33269702 BUG: 31001899 Test: manual verification Test: CtsAutoFillServiceTestCases passes Change-Id: I907a7e21d1b3cd1ab6dec3a08d144a52655da46f
* YAMAFFR - Yet Another Major AutoFill Framework RefactoringFelipe Leme2017-01-101-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Explicitly split View methods into Assist and AutoFill methods, rather than use an overloaded method that takes flags. - Simarly, renamed ASSIST_FLAG_SANITIZED_TEXT and ASSIST_FLAG_NON_SANITIZED_TEXT flags to AUTO_FILL_FLAG_TYPE_FILL and AUTO_FILL_FLAG_TYPE_SAVE respectively. - Created a AutoFillUI class to host the auto-fill bar and other UI affordances. - Moved the temporary notifications to AutoFillUI (eventually that class will host the real UI). - Moved FillData to android.app.view.autofill package. - Split IAutoFillCallback in 2 (IAutoFillAppCallback and IAutoFillServerCallback, residing at the app and system_server respectively), so service cannot fill the app directly (which lets the framework control the UI). - Moved assist's IResultReceiver to AutoFillServiceImpl so system_server can act as a mediator between the AutoFillService implementation and the app being auto-filled. - Replaced FillData and FillableInputFields by a bunch of new objects: - FillResponse contains a group of Datasets, each representing different values that can be used to auto-fill an activity (for example, different user accounts), optional id of fields the service is interested to save, and an optional bundle for service-side extras. - Dataset contains a name, Fields, and an optional bundle for service-side extras. - Fields contain an AutoFillId (parcelable) and a value (Bundle) - Changed the temporary notifications to emulate the new workflow: - Initial notification requests the auto-fill data but do not auto-fill. - Once service calls back, a new notification is shown with the results. - Then if the user selects a dataset, the activity is auto-filled with it. - It also shows a notification to emulate what can be saved. - Created an VirtualViewDelegate for views that uses a virtual hierarchy for assist data. - Added new methods on ViewStructure to add children with virtual ids. - Added 2 methods on View to support auto-fill: - autoFill(Bundle) to auto-fill the view. - getAutoFillType() to return how the view can be auto-filled. - AutoFillType defines the input fields that support auto-fill: - Text fields (like EditText) - Toggle fields (like CheckBox) - Lists (like RadioGroup) - AutoFillType can also have a sub-type representing its semantic (for now only text fields have it, and it's the same as getInputType()). - etc :-) Bug: 31001899 Test: manual verification Change-Id: I2dd2fdedcb3ecd1e4403f9c32fa644cb914e186f
* Fix import statements in android.widget package.Aurimas Liutikas2016-10-111-5/+5
| | | | | | | Additionally this CL removes spaces at the end of the line. Test: code still compiles. Change-Id: I1ce98b4e70aa3ae614f87966c3bc6181fa4389a4
* Remove unused imports in frameworks/base.John Spurlock2015-02-281-2/+0
| | | | Change-Id: I031443de83f93eb57a98863001826671b18f3b17
* Add @ResourceInt annotations on APIsTor Norbye2015-02-181-3/+5
| | | | Change-Id: I119cc059c2f8bd98fd585fc84ac2b1b7d5892a08
* 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
* Revert "Revert "This restores JB MR0 behavior where the framework throws an ↵Dave Burke2012-10-181-0/+27
| | | | | | | | exception for improper layouts that are missing layout_width and/or layout_height."" This reverts commit 57fca90ac65ecfe97acd4c93d442c3db8f815e11 Change-Id: I21b007a7d150a4c23f25a706cdba5cb86198198f
* Revert "This restores JB MR0 behavior where the framework throws an ↵Justin Ho2012-10-171-27/+0
| | | | | | | | exception for improper layouts that are missing layout_width and/or layout_height." This reverts commit dcf59629beed8182759a1068ab8ee997935bef82 Change-Id: I27426a0ffe993973ffb0b05ce1ed3afe73fcd87d
* This restores JB MR0 behavior where the framework throws an exception for ↵Jim Miller2012-10-161-0/+27
| | | | | | | | | | improper layouts that are missing layout_width and/or layout_height. Revert "Revert "Revert "Fix for bug 6050753.""" This reverts commit 6868d6f349610c15256471cc3d5fa708cbfd5f1d Change-Id: I8843d92dba14c82f06d9ee59517cf11b2abbbf04
* Revert "Revert "Fix for bug 6050753.""Mathias Agopian2012-10-151-27/+0
| | | | | | | | Emergency revert -- fix reboot loop. This reverts commit 8e63bcc63fd002231f8391af8982eeb235d096c8. Change-Id: I4373b867d756de09cdf6aa0aba9e6ff8f47bcdbc
* Revert "Fix for bug 6050753."Romain Guy2012-10-151-0/+27
| | | | This reverts commit c29f031598811486d83f418fd08fbfe1fc41788a.
* Add View#generateViewId; make RadioGroup use itAdam Powell2012-07-181-1/+1
| | | | | | | | | | | | | Bug 6448164 generateViewId provides a way for applications to generate opaque ID values suitable for use with View#setId that will not collide with values generated by aapt for R.id. Fix a bug where RadioGroup assumes object hash codes will always be positive. Change-Id: I3e2870cd672d6061bb465128f428c81aeef0c44b
* Merge "Fix for bug 6050753."Philip Milne2012-05-311-27/+0
|\
| * Fix for bug 6050753.Philip Milne2012-02-221-27/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The method: TypedArray: getLayoutDimension(int, String) throws an undocumented exception when either the width and/or height attributes are undefined. See the bug report above for reasons why this was deemed unhelpful both in the tools area and to developers in general. Fix by: 1. Documenting the conditions under which the method raises an exception. 2. Deprecating the method, advising callers to supply a default instead. Additionally, redefine the: ViewGroup: setBaseAttributes(TypedArray, int, int); methods to provide the appropriate defaults in ViewGroup subclasses as advised above. For the platform layouts the default value is WRAP_CONTENT (and is defined in the ViewGroup.LayoutParams class). The special cases are accomodated in LayoutParams subclasses in the following cases: Subclass width height FrameLayout.LayoutParams: MATCH_PARENT, MATCH_PARENT TableLayout.LayoutParams: MATCH_PARENT, WRAP_CONTENT TableRow.LayoutParams: MATCH_PARENT, WRAP_CONTENT Change-Id: I335a3bd8e2d7f7866692898ed73492635a5b61ea
* | Fixes for bugs: 6104423, 6103563, 6103509, 6103807 & 6103253.Philip Milne2012-03-261-0/+2
|/ | | | | | | | Add properties to Java API so as to better mirror the framework's XML API. I'm not familiar with many of these areas so this CL is worth some scrutiny. Change-Id: Iff63c43521305efaad5a2189c1b5556d2353cbd4
* AccessibilityEvent/AccessibilityNodeInfo class name property should be set ↵Svetoslav Ganov2012-01-171-0/+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
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-0/+388
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-388/+0
|
* auto import from //branches/cupcake/...@130745The Android Open Source Project2009-02-101-0/+17
|
* Initial ContributionThe Android Open Source Project2008-10-211-0/+371