import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.res.TypedArray;
-import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.os.Parcel;
import android.os.Parcelable;
// Set the whole SwitchBar focusable and clickable.
setFocusable(true);
setClickable(true);
- // Set a onClickListener to handle the functionality of ToggleSwitch.
- setOnClickListener((View v) -> getDelegatingView().performClick());
final TypedArray a = context.obtainStyledAttributes(attrs, XML_ATTRIBUTES);
final int switchBarMarginStart = (int) a.getDimension(0, 0);
mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
}
+ // Override the performClick method to eliminate redundant click.
+ @Override
+ public boolean performClick() {
+ return getDelegatingView().performClick();
+ }
+
public void setMetricsTag(String tag) {
mMetricsTag = tag;
}
mBar.setDisabledByAdmin(null);
assertThat(mBar.getDelegatingView().getId()).isEqualTo(R.id.switch_widget);
}
+
+ @Test
+ public void performClick_shouldIsCheckedValueChange() {
+ boolean isChecked = mBar.isChecked();
+ mBar.performClick();
+ assertThat(mBar.isChecked()).isEqualTo(!isChecked);
+ }
}