Added auto-fill listeners for RadioGroup and CompoundButton.

Bug: 33550221
Bug: 3380254
Test: CtsAutoFillServiceTestCases pass

Change-Id: Ia9293d16b6fe092552e19563328697c298451f8a
diff --git a/core/java/android/widget/CompoundButton.java b/core/java/android/widget/CompoundButton.java
index 6f687fe..f2c2af5 100644
--- a/core/java/android/widget/CompoundButton.java
+++ b/core/java/android/widget/CompoundButton.java
@@ -34,6 +34,7 @@
 import android.view.ViewHierarchyEncoder;
 import android.view.accessibility.AccessibilityEvent;
 import android.view.accessibility.AccessibilityNodeInfo;
+import android.view.autofill.AutoFillManager;
 import android.view.autofill.AutoFillType;
 import android.view.autofill.AutoFillValue;
 
@@ -164,6 +165,10 @@
             if (mOnCheckedChangeWidgetListener != null) {
                 mOnCheckedChangeWidgetListener.onCheckedChanged(this, mChecked);
             }
+            final AutoFillManager afm = mContext.getSystemService(AutoFillManager.class);
+            if (afm != null) {
+                afm.valueChanged(this);
+            }
 
             mBroadcasting = false;
         }
@@ -563,8 +568,6 @@
 
     // TODO(b/33197203): add unit/CTS tests for auto-fill methods (and make sure they handle enable)
 
-    // TODO(b/33197203): override onProvideAutoFillStructure and add a change listener
-
     @Override
     public void autoFill(AutoFillValue value) {
         if (!isEnabled()) return;
@@ -579,6 +582,6 @@
 
     @Override
     public AutoFillValue getAutoFillValue() {
-        return isEnabled() ? null : AutoFillValue.forToggle(isChecked());
+        return isEnabled() ? AutoFillValue.forToggle(isChecked()) : null;
     }
 }