184c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moorepackage com.xtremelabs.robolectric.shadows;
284c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore
384c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Mooreimport android.view.ViewParent;
484c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Mooreimport android.widget.RadioButton;
584c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Mooreimport android.widget.RadioGroup;
684c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Mooreimport com.xtremelabs.robolectric.internal.Implementation;
784c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Mooreimport com.xtremelabs.robolectric.internal.Implements;
884c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore
984c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore/**
1084c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore * Shadows the {@code android.widget.RadioButton} class.
1184c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore */
1284c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore@SuppressWarnings({"UnusedDeclaration"})
1384c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore@Implements(RadioButton.class)
1484c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moorepublic class ShadowRadioButton extends ShadowCompoundButton {
1584c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore
1684c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore    @Implementation
1784c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore    @Override public void setChecked(boolean checked) {
1884c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore        super.setChecked(checked);
1984c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore        ViewParent viewParent = getParent();
2084c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore
2184c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore         /* This simulates the listener a parent RadioGroup would have, listening to the
2284c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore            checked state it's child RadioButtons. Feel free to implement properly.
2384c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore         */
2484c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore        if (viewParent instanceof RadioGroup) {
2584c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore            ((RadioGroup) viewParent).check(getId());
2684c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore        }
2784c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore    }
2884c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore}
29