Merge "DO NOT MERGE: Downbranch merge conflict [Output Switcher] Refine seekbar control" into tm-dev

This commit is contained in:
Shaowei Shen
2022-04-12 05:42:21 +00:00
committed by Android (Google) Code Review

View File

@@ -26,8 +26,7 @@ import android.widget.SeekBar;
* otherwise performs click. * otherwise performs click.
*/ */
public class MediaOutputSeekbar extends SeekBar { public class MediaOutputSeekbar extends SeekBar {
private static final int DRAGGING_THRESHOLD = 20; private int mLastDownPosition = -1;
private boolean mIsDragging = false;
public MediaOutputSeekbar(Context context) { public MediaOutputSeekbar(Context context) {
super(context); super(context);
@@ -39,27 +38,17 @@ public class MediaOutputSeekbar extends SeekBar {
@Override @Override
public boolean onTouchEvent(MotionEvent event) { public boolean onTouchEvent(MotionEvent event) {
int width = getWidth() if (event.getAction() == MotionEvent.ACTION_DOWN) {
- getPaddingLeft() mLastDownPosition = Math.round(event.getX());
- getPaddingRight(); } else if (event.getAction() == MotionEvent.ACTION_UP) {
int thumbPos = getPaddingLeft() if (mLastDownPosition == event.getX()) {
+ width
* getProgress()
/ getMax();
if (event.getAction() == MotionEvent.ACTION_DOWN
&& Math.abs(event.getX() - thumbPos) < DRAGGING_THRESHOLD) {
mIsDragging = true;
super.onTouchEvent(event);
} else if (event.getAction() == MotionEvent.ACTION_MOVE && mIsDragging) {
super.onTouchEvent(event);
} else if (event.getAction() == MotionEvent.ACTION_UP && mIsDragging) {
mIsDragging = false;
super.onTouchEvent(event);
} else if (event.getAction() == MotionEvent.ACTION_UP && !mIsDragging) {
performClick(); performClick();
}
return true; return true;
} }
mLastDownPosition = -1;
}
return super.onTouchEvent(event);
}
@Override @Override
public boolean performClick() { public boolean performClick() {