package com.xtremelabs.robolectric.shadows; import android.widget.RadioGroup; import com.xtremelabs.robolectric.internal.Implementation; import com.xtremelabs.robolectric.internal.Implements; import com.xtremelabs.robolectric.internal.RealObject; import static android.widget.RadioGroup.OnCheckedChangeListener; @SuppressWarnings({"UnusedDeclaration"}) @Implements(RadioGroup.class) public class ShadowRadioGroup extends ShadowLinearLayout { @RealObject protected RadioGroup realGroup; private int checkedRadioButtonId = -1; private OnCheckedChangeListener onCheckedChangeListener; @Implementation public int getCheckedRadioButtonId() { return checkedRadioButtonId; } @Implementation public void check(int id) { checkedRadioButtonId = id; notifyListener(); } @Implementation public void clearCheck() { notifyListener(); checkedRadioButtonId = -1; notifyListener(); } private void notifyListener() { if (onCheckedChangeListener != null) { onCheckedChangeListener.onCheckedChanged(realGroup, checkedRadioButtonId); } } @Implementation public void setOnCheckedChangeListener(OnCheckedChangeListener listener) { onCheckedChangeListener = listener; } public OnCheckedChangeListener getOnCheckedChangeListener() { return onCheckedChangeListener; } }