History log of /frameworks/base/core/java/android/widget/CompoundButton.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
72c510f1c4d5cff42a3925a784027e258ac0bcdc 23-Jan-2018 Eugene Susla <eugenesusla@google.com> Revert "Move A11y events throttling away from View(RootImpl)"

This reverts commit e4d31b3c103045d5b2b141a05084dced595cc64f.

Fixes: 71904218
Test: presubmit
Change-Id: Id73bde1a0c11696cf561c84cde027cdca4c6a00f
/frameworks/base/core/java/android/widget/CompoundButton.java
e4d31b3c103045d5b2b141a05084dced595cc64f 01-Jun-2017 Eugene Susla <eugenesusla@google.com> Move A11y events throttling away from View(RootImpl)

..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
/frameworks/base/core/java/android/widget/CompoundButton.java
c651e4d34f0c6dca5d6675cec54c7027e2e7dd58 24-Apr-2017 Felipe Leme <felipeal@google.com> Minor fixes on Autofill Framework:

- 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
/frameworks/base/core/java/android/widget/CompoundButton.java
955e252a95785192902da7c9f5610f8e40f97803 30-Mar-2017 Felipe Leme <felipeal@google.com> Simplified autofill() methods by returning void instead of boolean.

Test: CtsAutoFillServiceTestCases pass

Change-Id: Ic94e6686e291fed60ef6715bd160f9b568bf0ea6
/frameworks/base/core/java/android/widget/CompoundButton.java
7b7711680244108923f0dbb4ca6e35db7e659e6a 04-Mar-2017 Philip P. Moltmann <moltmann@google.com> TRON log important auto-fill events

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
/frameworks/base/core/java/android/widget/CompoundButton.java
9b31b4eac838238ef3013cbfb1379cddbafa0f12 14-Mar-2017 Philip P. Moltmann <moltmann@google.com> Merge "Make it clear which type of AutoFillValue is set"
123a34f1936983f1b59da9b5609485e1f64347ff 14-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Renamed ViewStructure.setSanitized() to setDataIsSensitive()."
c9a19b1b274af1fdd8b811c9ce2df994f7db47a4 14-Mar-2017 Felipe Leme <felipeal@google.com> Renamed ViewStructure.setSanitized() to setDataIsSensitive().

Bug: 36126001
Test: CtsAutoFillServiceTestCases pass
Test: m update-api

Change-Id: I182355b63d8743cd8cd8612f29a9269e258283c2
/frameworks/base/core/java/android/widget/CompoundButton.java
9668903731c272e51ce610598c052ef411c9d89f 09-Mar-2017 Philip P. Moltmann <moltmann@google.com> Make it clear which type of AutoFillValue is set

throw and handle errors if the wrong value is set for a view

Test: android.autofillservice.cts.AutofillValueTest
Change-Id: Ida80da7913a210bede6c47d6b7a6f215a012a84c
/frameworks/base/core/java/android/widget/CompoundButton.java
2f8fb1f62f2840701e3e16497eb8191f38b72e0b 13-Mar-2017 Svet Ganov <svetoslavganov@google.com> Fix a few auto fill ussues

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
/frameworks/base/core/java/android/widget/CompoundButton.java
640f30a7763b0a4b80c767acb84c740aac04768b 07-Mar-2017 Felipe Leme <felipeal@google.com> Replaced auto-fill by autofill to keep it consistent with API style.

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
/frameworks/base/core/java/android/widget/CompoundButton.java
8931e303700a5adb6e013c2b5a6cec621eede968 06-Mar-2017 Felipe Leme <felipeal@google.com> Replace AutoFillType by view constants.

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
/frameworks/base/core/java/android/widget/CompoundButton.java
305b72c92568a2dd2ece08caebd610ec8bd473f4 27-Feb-2017 Felipe Leme <felipeal@google.com> Added auto-fill support for DatePicker and TimePicker.

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
/frameworks/base/core/java/android/widget/CompoundButton.java
c01a873c4f68518be4698077c7eb593a6a3b9f4c 23-Feb-2017 Felipe Leme <felipeal@google.com> Added sanitization for CompoundButton and RadioGroup.

Bug: 33269702
Bug: 33550221
Test: CtsAutoFillServiceTestCases (with new tests) pass

Change-Id: Ie2c8d2784227371588aa02973b8ef3ac1a6950aa
/frameworks/base/core/java/android/widget/CompoundButton.java
5882c4f5d2ff552a233ba88d2445f6810dd7599b 17-Feb-2017 Felipe Leme <felipeal@google.com> Added auto-fill listeners for RadioGroup and CompoundButton.

Bug: 33550221
Bug: 3380254
Test: CtsAutoFillServiceTestCases pass

Change-Id: Ia9293d16b6fe092552e19563328697c298451f8a
/frameworks/base/core/java/android/widget/CompoundButton.java
bab851c7c9dfe6f3d063a1009c4d57cfa2ff005c 04-Feb-2017 Felipe Leme <felipeal@google.com> Refined session management so Save can be automatically called.

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
/frameworks/base/core/java/android/widget/CompoundButton.java
0200d9ea1509089c0c03b7071aa271e3a9b35c11 25-Jan-2017 Felipe Leme <felipeal@google.com> Improved AutoFill Save workflow.

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
/frameworks/base/core/java/android/widget/CompoundButton.java
6d553874bed06280766ae24ea605f9bbde3f5a4a 09-Dec-2016 Felipe Leme <felipeal@google.com> YAMAFFR - Yet Another Major AutoFill Framework Refactoring

- 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
/frameworks/base/core/java/android/widget/CompoundButton.java
acdaaea50c543276c70aaa32d6b33aa61a9f6195 02-Dec-2016 Jason Long <jasonlong@google.com> Add @Nullable to CompoundButton#setOnCheckedChangeListener().

Test: n/a

Change-Id: I3db93bfcfba528e7271be21356e585e9f9a0799d
/frameworks/base/core/java/android/widget/CompoundButton.java
99441c5d7da45c10b729185852be97cbb0bdc8d5 12-Oct-2016 Aurimas Liutikas <aurimas@google.com> Fix import statements in android.widget package.

Additionally this CL removes spaces at the end of the line.

Test: code still compiles.
Change-Id: I1ce98b4e70aa3ae614f87966c3bc6181fa4389a4
/frameworks/base/core/java/android/widget/CompoundButton.java
81c18e6f9985a3996df5e0f2ae3a38d78263103e 10-May-2016 Ian Rogers <irogers@google.com> Remove @Nullable from primitive/void types.

Erroneous use of @Nullable caught by error prone.
Bug: 27723540

Change-Id: Ida76b2fd221142980da5c018e57c96cc6920ebc0
/frameworks/base/core/java/android/widget/CompoundButton.java
f6d87ec193f17e8dad82c9994ba7a58e975d364b 11-Mar-2016 Alan Viverette <alanv@google.com> Add consistent @NonNull annotations for drawable callbacks

Bug: 27599515
Change-Id: I33fdc5392302403bfff9cc74a8226173ec962af6
/frameworks/base/core/java/android/widget/CompoundButton.java
ad0020f8075ecf768cb610d60dbb167d41f0fbe5 04-Sep-2015 Alan Viverette <alanv@google.com> Invalidate when Drawable.setState() returns true

Ensures views that manage drawables follow the contract set forth in
the Drawable.setState() documentation.

Bug: 23792020
Change-Id: I4e5a449cd6535487873fd8443da50555c38e8ed9
/frameworks/base/core/java/android/widget/CompoundButton.java
3380e69f5529972ff03b545353d5f1c5e2abc1b1 30-Jun-2015 Doris Liu <tianliu@google.com> Resolve CompoundButton's foreground drawable for layout direction change

This CL adds a step to resolve CompoundButton's foreground drawable when
layout direction has been changed. Prior this CL, only background drawable
of the button resolves its layout direciton in respond to system wide
layout direction change. This CL makes the foreground and background
drawables consistent in layout direciton.

Bug: 16376848
Change-Id: I9a4eb1e010e6ab61ef8684005508bd36486ec1f3
/frameworks/base/core/java/android/widget/CompoundButton.java
94a6d15ede149189bba9e5f474ed853c98230e75 06-May-2015 Siva Velusamy <vsiva@google.com> Use new hierarchy viewer protocol in all View subclasses

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
/frameworks/base/core/java/android/widget/CompoundButton.java
08c7116ab9cd04ad6dd3c04aa1017237e7f409ac 28-Feb-2015 John Spurlock <jspurlock@google.com> Remove unused imports in frameworks/base.

Change-Id: I031443de83f93eb57a98863001826671b18f3b17
/frameworks/base/core/java/android/widget/CompoundButton.java
7b9c912f536925ac6ec43935d6e97506851b33d6 31-May-2013 Tor Norbye <tnorbye@google.com> Add @ResourceInt annotations on APIs

Change-Id: I119cc059c2f8bd98fd585fc84ac2b1b7d5892a08
/frameworks/base/core/java/android/widget/CompoundButton.java
6a394f4def305560c9b7ca3a14b3a313556db36e 13-Feb-2015 Alan Viverette <alanv@google.com> Add missing accessor to CompoundDrawable, clean up javadoc

Removes button resource identifier field, which was useless.

Bug: 19369976
Change-Id: I1a34cb981a2db93d10e93ff954294f76ea604006
/frameworks/base/core/java/android/widget/CompoundButton.java
a7bb6fbeab933326d58aa806d8194b7b13239d34 04-Feb-2015 Dianne Hackborn <hackbod@google.com> First quick implementation of auto assist data.

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
/frameworks/base/core/java/android/widget/CompoundButton.java
a54956a0bc611b1e9b3914edc7a604b59688f6b7 08-Jan-2015 Alan Viverette <alanv@google.com> Fix accessibility delegation

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
/frameworks/base/core/java/android/widget/CompoundButton.java
d5133792391443521dc15f7da7de5d280e6703dd 28-Oct-2014 Alan Viverette <alanv@google.com> Update drawable state after updating tint list

BUG: 18155988
Change-Id: Ic536027a54c10b2082fbc22476530165b76e2c59
/frameworks/base/core/java/android/widget/CompoundButton.java
d4e7790fee10e21b41a1c387c2734722bda56a0b 28-Oct-2014 Alan Viverette <alanv@google.com> Play CLICK sound effect when compound buttons are clicked

Also plays the sound effect when the switch changes state as a result
of dragging, since that's effectively the same as the click action.

BUG: 16308311
Change-Id: Ic187ece2a8190082617f5ac7aaf05c3511fa80b5
/frameworks/base/core/java/android/widget/CompoundButton.java
b95c336d7863e6b63e2aa8682a90dd8ae213889c 18-Oct-2014 Alan Viverette <alanv@google.com> Translate compound button drawable by scroll position

BUG: 18028674
Change-Id: Iaba848642b87f0d134c6a6c57e5756d883e45904
/frameworks/base/core/java/android/widget/CompoundButton.java
b56f5d2ab18f881eb075b698e9ce1b4a4a09ff64 15-Sep-2014 Alan Viverette <alanv@google.com> Clean up view drawable tinting methods, fix default modes

Calling setTint now only modifies the tint. It won't force a mode change.

BUG: 17494736
Change-Id: I91392634869ed23981d8e61a403bb2be42aa7a07
/frameworks/base/core/java/android/widget/CompoundButton.java
a426445dfdab43886dd894f2ba8a1d55bfcbb278 29-Jul-2014 Alan Viverette <alanv@google.com> Separate tint and tintMode properties

BUG: 16054922
Change-Id: I820fb857b671faf9eb27612e470e820c5c4cd6b5
/frameworks/base/core/java/android/widget/CompoundButton.java
4f64c048505a432e549ccb756634ecebf28f9e80 22-Jul-2014 Alan Viverette <alanv@google.com> Clean up view tinting APIs, tileModeX/Y attribute docs

BUG: 16400590
BUG: 16403307
Change-Id: Ie924815a39eb0e683d1982b08ec478ed3edbfb7b
/frameworks/base/core/java/android/widget/CompoundButton.java
8de1494557cf1d00c1c3fce439138a28de7fbd61 19-Jun-2014 Alan Viverette <alanv@google.com> Fix switch & slider anim, make View drawable hotspot API public

BUG: 15287810
Change-Id: Ic7a9549dc1ba8afd07e9a196371ed349a54aaf2f
/frameworks/base/core/java/android/widget/CompoundButton.java
911743652b597057a1bd7ef8a921e9ff8dce0f4a 17-Jun-2014 Alan Viverette <alanv@google.com> Add attributes and accessors for tinting View drawables

Also cleans up handling in setters for managed drawables.

BUG: 15391544
Change-Id: Idc08f7eaea0050feb6403566985a6d58185b81f8
/frameworks/base/core/java/android/widget/CompoundButton.java
cebc6bab51d9c77db8f346c1390169eabac4f27d 14-Jun-2014 Alan Viverette <alanv@google.com> Support hotspots in View drawables

BUG: 15285217
Change-Id: Iad44454fe16ac27ed20b9c17ae2df69649339eed
/frameworks/base/core/java/android/widget/CompoundButton.java
c80ad99a33ee49d0bac994c1749ff24d243c3862 20-May-2014 Alan Viverette <alanv@google.com> TouchFeedbackDrawable is now RippleDrawable

Change-Id: I59f5f04b73089215c6320560556ac21beb03db06
/frameworks/base/core/java/android/widget/CompoundButton.java
70ad9bc03341cc0a5b8d6c9c1f43afac6bcc9c62 23-Apr-2014 Alan Viverette <alanv@google.com> Fix null and bounds checks

BUG: 14271950
BUG: 14271753
BUG: 14270202
Change-Id: I8708107d3803b170a323f584a268ea6b096458ce
/frameworks/base/core/java/android/widget/CompoundButton.java
61956606818918194a38e045a8e35e7108480e5e 23-Apr-2014 Alan Viverette <alanv@google.com> Add ripple to switches, radio buttons, check boxes, seek bars

BUG: 14231772
Change-Id: Ie40eac9f68815294460175965a999dd75f4144b5
/frameworks/base/core/java/android/widget/CompoundButton.java
8eea3ea5591e59f55cbb4f6b2b7e9363a285ced3 04-Feb-2014 Alan Viverette <alanv@google.com> Add APIs for obtaining themed Drawable from Theme, Context

BUG: 12611005
Change-Id: Ic0057be4e4c2d0c61ce02a019b3f7d0625e3a016
/frameworks/base/core/java/android/widget/CompoundButton.java
d8a6c59d3df483536c3b3b538297cb0ef5336976 07-Jan-2014 Conley Owens <cco3@android.com> am 5b44325f: am 849ab14d: am 7f16047b: am 73a6702e: am 4440a824: Merge "CompoundButton: Let text can be changed by config"

* commit '5b44325fff247558ca36d83930b877dc44e5e219':
CompoundButton: Let text can be changed by config
4440a8244ea4fdd7c63083bcd7d4b179e851c17a 07-Jan-2014 Conley Owens <cco3@android.com> Merge "CompoundButton: Let text can be changed by config"
e673aa419801a465571122c203219f3df42f8a0a 11-Oct-2013 SeongJae Park <sj38.park@gmail.com> CompoundButton: Let text can be changed by config

Because CompoundButton freezes text inside onSaveInstanceState, the text
can't be changed automatically after locale of device changed.
Bug from such a case reported via url below:
https://code.google.com/p/android/issues/detail?id=24013

It would be better to don't freeze text for default case and let users
to freeze text if they need manually.

Change-Id: I2d6a192b6ff05a95b21487c2362cbc14691c68cf
Signed-off-by: SeongJae Park <sj38.park@gmail.com>
/frameworks/base/core/java/android/widget/CompoundButton.java
bd51158d61ef10cea65a31d5795887444d2d9cbf 13-Sep-2013 Kenny Root <kroot@google.com> resolved conflicts for merge of aca95ca0 to master

Change-Id: I91adf923288ca724a8040ecf887e28e42ad7e259
77e9a28e2faa36f127231b842476d47f9823a83a 13-Sep-2013 Alan Viverette <alanv@google.com> Add live region politeness to View, AccessibilityNodeInfo

Alters the content change API to contain a bit mask of types of
changes represented by the event. Live regions send CONTENT_CHANGED
events immediately. Removes unused APIs for EXPANDABLE/EXPANDED.

BUG: 10527284
Change-Id: I21523e85e47df23706976dc0a8bf615f83072c04
/frameworks/base/core/java/android/widget/CompoundButton.java
617feb99a06e7ffb3894e86a286bf30e085f321a 10-Sep-2013 Alan Viverette <alanv@google.com> Add View constructor that supplies a default style resource

Also updates the constructor of every class that extends View.

BUG: 10676369
Change-Id: Ifaf27bf82028d180afa4931c0e906df88d858ac3
/frameworks/base/core/java/android/widget/CompoundButton.java
7df754e7121253a4b6e48d19a213cbf5aac458be 10-Jul-2013 Chet Haase <chet@google.com> Remove unnecessary drawable code in CompoundButton

Some of the code in setButtonDrawable() was unnecessary, resetting
the button drawable state and then refreshing it. This caused many redundant
calls, which can add up, especially during inflation.

Change-Id: I873cf5eef697b5435a1b827cd68e5d836ee25124
/frameworks/base/core/java/android/widget/CompoundButton.java
6254f4806dd3db53b7380e77fbb183065685573e 05-Jun-2013 Svetoslav <svetoslavganov@google.com> Optimizing AccessibilityNodeInfo caching.

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
/frameworks/base/core/java/android/widget/CompoundButton.java
b878ddb56ec4e755706890110d76735176ff2295 28-Nov-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7621927 Radio button/TextView drawable regression in 4.2

- as we remove the 9 patch padding trick, we need also to do the correct
positioning of the radio / checkbox / star during draw

Change-Id: I02b67bef9c0f2dc1c0c65361de14ab20ce9b881d
/frameworks/base/core/java/android/widget/CompoundButton.java
2842679d3426295b6674dfcfb8591fad79de6cb2 06-Jun-2012 Fabrice Di Meglio <fdimeglio@google.com> Make CheckBox / RadioButton / ToggleButton / Star widgets aware of layout direction

- see bug #5429822 UI should be mirrored for RTL locales (Arabic, Hebrew, farsi)

Change-Id: I8badb57d095c6a0a1d0c82bedf30b02502013ae0
/frameworks/base/core/java/android/widget/CompoundButton.java
c406be9036643ebe41bafcd94fe4aa861b4e4f4f 12-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Fix inconsitency in aAccessibilityNodeInfo cache.

1. Fixed errors in the accessibility node cache.

A. The cache was not catching the case when the current window changes as a
result the user touch exploring it. As a result the cache had nodes from
more that one window but the node ids are not unique thus causing a mess.

B. The node info tree was prefetched regardless if a prefetched node is root
name space (i.e. view ids - not accessibility ids - are namespaced) while
the prefetched nodes were taking this into account. As a result there can
get disconnected subtrees in the cache.

C. When an event for a property change such as focus was received the cache
we were removing the source node. As a result there may be disconnected nodes.

D. When a node was added to the cache and an older version exists there was
no check if it will point to the same children and parent. As a result if
the state of the node has fewer children the subtrees rooted at the no
longer present children will stay disconnected in the cache.

E. When a node got accessibility or input focus the old one in the cache was
not removed. As a result you may have a state with more than one access
or input focus.

2. Added integrity check enabled only on user builds when a specific flag is set
for the cache which checks whether:

A. All nodes are from the same window.

B. All nodes are connected.

C. There are no duplicates.

D. There is only one input focus.

E. There is only one accessibility focus.

3. The reported accessibility node info tree was stopping at the root namespace
boundary which is not correct. The reported tree has to reflect everything
on the screen that the user can see such a workspace with widgets. The root
namespace is added to avoid clash of view id but the accessibility ids are
unique no matter if the view is inflated from a remote view.

4. Added calls to notify the accessibility layer when a preoprty that is interesting
for accessibiliy has changed.

bug:6471710

Change-Id: I069470d91f209ba16313fa6539787a55efa3512e
/frameworks/base/core/java/android/widget/CompoundButton.java
8a78fd4d9572dff95432fcc4ba0e87563415b728 17-Jan-2012 Svetoslav Ganov <svetoslavganov@google.com> AccessibilityEvent/AccessibilityNodeInfo class name property should be set 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
/frameworks/base/core/java/android/widget/CompoundButton.java
0f55cc33f658b2793a12d609a0989348077324a4 17-Jul-2011 Svetoslav Ganov <svetoslavganov@google.com> AccessibilityNodeInfo does not report checkable coreclty.

1. AccessibilitiyNodeInfo's checkable property was not set.

bug:5039205

Change-Id: I083d1c357c6d9875536e66e355c8a33bd580cee6
/frameworks/base/core/java/android/widget/CompoundButton.java
13774d2e38e73ef4d0f6d0db3501ba032fa6da5a 16-Jun-2011 Svetoslav Ganov <svetoslavganov@google.com> AccessibilityNodeInfo not properly returning checked status

1. CompundButton was not setting its checked state in the info.

bug:4674048

Change-Id: Ic711d4ee9b2214e9bdf86546df406b497aaa90b5
/frameworks/base/core/java/android/widget/CompoundButton.java
30401328c1026389171d454c934c15875c3f7ff0 13-May-2011 Svetoslav Ganov <svetoslavganov@google.com> Factored out the Accessibility vertical initialization.

1. Accessibility events were filled with data in
dispatchPopulateAccessibilityEvent and
onPopulateAccessibilityEvent. These events have
two axis of population 1) up the class
hierarchy to populate information for the event
source; 2) down the view hierarchy to populated
all the text contained in the source including
its descendants. These two axis of population
were done in on population pass now the populating
the source properties happens in initializeAccessiblityEvent
and the text in onPopulateAccessibilityEvent which
is called from dispatchPopulateAccessiblityEvent.

2. Removed the string description from events fired from
CompoundButton since the event has isChecked()
property and it is responsibility of the clients
to decide what utterrance to use and if to use such
for announcing the checked state.

Change-Id: I5d7f75cf8a87a7a4b3bb7b311e8e642ec9a0faa5
/frameworks/base/core/java/android/widget/CompoundButton.java
736c2756bf3c14ae9fef7255c119057f7a2be1ed 23-Apr-2011 Svetoslav Ganov <svetoslavganov@google.com> Touch exploration feature, event bubling, refactor

1. Added an Input Filter that interprets the touch screen motion
events to perfrom accessibility exploration. One finger explores.
Tapping within a given time and distance slop on the last exlopred
location does click and long press, respectively. Two fingers close
and in the same diretion drag. Multiple finglers or two fingers in
different directions or two fingers too far away are delegated to
the view hierarchy. Non moving fingers "accidentally grabbed the
device for the scrren" are ignored.

2. Added accessibility events for hover enter, hover exit, touch
exoloration gesture start, and end. Accessibility hover events
are fired by the hover pipeline. An accessibility event is
dispatched up the view tree and the topmost view fires it.
Thus predecessors can augment the fired event. An accessibility
event has several records and a predecessor can optionally
modify, delete, and add such to the event.

3. Added onPopulateAccessibilityEvent and refactored the existing
accessibility code to use it.

4. Added API for querying the currently enabled accessibility services
by feedback type.

Change-Id: Iea2258c07ffae9491071825d966dc453b07e5134
/frameworks/base/core/java/android/widget/CompoundButton.java
3fb3d7c4e756bd32d5abde0abca9ab52d559bc84 23-Apr-2011 Adam Powell <adamp@google.com> Revert "Touch exploration feature, event bubling, refactor"

This reverts commit ac84d3ba81f08036308b17e1ab919e43987a3df5.

There seems to be a problem with this API change. Reverting for now to
fix the build.

Change-Id: Ifa7426b080651b59afbcec2d3ede09a3ec49644c
/frameworks/base/core/java/android/widget/CompoundButton.java
ac84d3ba81f08036308b17e1ab919e43987a3df5 05-Apr-2011 Svetoslav Ganov <svetoslavganov@google.com> Touch exploration feature, event bubling, refactor

1. Added an Input Filter that interprets the touch screen motion
events to perfrom accessibility exploration. One finger explores.
Tapping within a given time and distance slop on the last exlopred
location does click and long press, respectively. Two fingers close
and in the same diretion drag. Multiple finglers or two fingers in
different directions or two fingers too far away are delegated to
the view hierarchy. Non moving fingers "accidentally grabbed the
device for the scrren" are ignored.

2. Added accessibility events for hover enter, hover exit, touch
exoloration gesture start, and end. Accessibility hover events
are fired by the hover pipeline. An accessibility event is
dispatched up the view tree and the topmost view fires it.
Thus predecessors can augment the fired event. An accessibility
event has several records and a predecessor can optionally
modify, delete, and add such to the event.

3. Added onPopulateAccessibilityEvent and refactored the existing
accessibility code to use it.

4. Added API for querying the currently enabled accessibility services
by feedback type.

Change-Id: Iec03c6c3fe298de3f14cb6efdbb9b198cd531a0c
/frameworks/base/core/java/android/widget/CompoundButton.java
e213677037f836529efcc0ac201fc61dd95481c5 04-Nov-2010 Dianne Hackborn <hackbod@google.com> Push the jumpDrawablesToCurrentState() thing off everywhere it should be.

Also add a new interface that items in AbsListView can implement to
adjust the bounds of the selection shown for them. This will allow
contacts to use list view's regular selection facility rather than
implementing something special in their item views.

Change-Id: I29cbdbc7122111ee97e47fe7d6ec55ff07be79cc
/frameworks/base/core/java/android/widget/CompoundButton.java
7a36788f4a69b3ddaf8fb8e250e1a13bee7238fa 24-Feb-2010 Steve Zeigler <sfzeigler@gmail.com> These changes add access to some status values in widgets listed below:

widget/CheckedTextView.java: report if the item is checked or not.

widget/CompoundButton.java: report if the item is checked or not.

widget/ProgressBar.java: isIndeterminate(), getProgress(), getSecondaryProgress(), and getMax() report what
sliders and progress bars are showing

widget/TextView.java: report the current selection: getSelectionStart() and getSelectionEnd()
/frameworks/base/core/java/android/widget/CompoundButton.java
cf4550c3198d6b3d92cdc52707fe70d7cc0caa9f 21-Jul-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
/frameworks/base/core/java/android/widget/CompoundButton.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/widget/CompoundButton.java
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/widget/CompoundButton.java
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
/frameworks/base/core/java/android/widget/CompoundButton.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/core/java/android/widget/CompoundButton.java