Improve VideoCameraButtonView internalClickListener

This commit is contained in:
Sagar 2025-01-24 23:05:25 +05:30
parent 5f92d70b65
commit 4b6bec4429

View file

@ -38,18 +38,14 @@ public class VideoCameraButtonView extends View {
private final RectF progressRect = new RectF();
private final RectF stopIconRect = new RectF();
private final @NonNull OnClickListener startRecordingClickListener = v -> {
notifyVideoCaptureStarted();
setScaleX(1f);
setScaleY(1f);
isRecordingVideo = true;
};
private final @NonNull OnClickListener stopRecordingClickListener = v -> {
notifyVideoCaptureEnded();
setScaleX(1f);
setScaleY(1f);
isRecordingVideo = false;
private final @NonNull OnClickListener internalClickListener = v -> {
if(isRecordingVideo) {
notifyVideoCaptureStarted();
isRecordingVideo = true;
} else {
notifyVideoCaptureEnded();
isRecordingVideo = false;
}
};
public VideoCameraButtonView(@NonNull Context context) {
@ -160,7 +156,7 @@ public class VideoCameraButtonView extends View {
if (videoCaptureListener != null) {
this.videoCaptureListener = videoCaptureListener;
setOnClickListener(startRecordingClickListener);
setOnClickListener(internalClickListener);
}
}
@ -180,13 +176,4 @@ public class VideoCameraButtonView extends View {
videoCaptureListener.onVideoCaptureComplete();
}
}
@Override public boolean performClick() {
if (isRecordingVideo) {
setOnClickListener(stopRecordingClickListener);
} else {
setOnClickListener(startRecordingClickListener);
}
return super.performClick();
}
}