Merge "Override performClick method to eliminate redundant click" into qt-dev

This commit is contained in:
Kevin Chang
2019-05-10 06:32:25 +00:00
committed by Android (Google) Code Review
2 changed files with 13 additions and 3 deletions

View File

@@ -21,7 +21,6 @@ import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
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;
@@ -112,8 +111,6 @@ public class SwitchBar extends LinearLayout implements CompoundButton.OnCheckedC
// 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);
@@ -170,6 +167,12 @@ public class SwitchBar extends LinearLayout implements CompoundButton.OnCheckedC
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;
}

View File

@@ -95,4 +95,11 @@ public class SwitchBarTest {
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);
}
}