Enable both use-cases if available.

This commit is contained in:
Alex Hart 2022-08-26 10:23:18 -03:00
parent fae2ceab39
commit 51647a5017
4 changed files with 12 additions and 6 deletions

View file

@ -81,7 +81,7 @@ class Material3SearchToolbar @JvmOverloads constructor(
}
fun clearText() {
input.setText("");
input.setText("")
}
interface Listener {

View file

@ -212,7 +212,7 @@ class MainActivityListHostFragment : Fragment(R.layout.main_activity_list_host_f
override fun onSearchOpened() {
conversationListTabsViewModel.onSearchOpened()
_searchToolbar.get().clearText();
_searchToolbar.get().clearText()
}
override fun onSearchClosed() {

View file

@ -139,7 +139,7 @@ public class CameraXFragment extends LoggingFragment implements CameraFragment {
cameraController.setCameraSelector(CameraXUtil.toCameraSelector(TextSecurePreferences.getDirectCaptureCameraId(requireContext())));
cameraController.setTapToFocusEnabled(true);
cameraController.setImageCaptureMode(CameraXUtil.getOptimalCaptureMode());
cameraController.setEnabledUseCases(CameraController.IMAGE_CAPTURE);
cameraController.setEnabledUseCases(getSupportedUseCases());
previewView.setScaleType(PreviewView.ScaleType.FIT_CENTER);
previewView.setController(cameraController);
@ -378,6 +378,15 @@ public class CameraXFragment extends LoggingFragment implements CameraFragment {
}
}
@CameraController.UseCases
private int getSupportedUseCases() {
if (isVideoRecordingSupported(requireContext())) {
return CameraController.IMAGE_CAPTURE | CameraController.VIDEO_CAPTURE;
} else {
return CameraController.IMAGE_CAPTURE;
}
}
private boolean isVideoRecordingSupported(@NonNull Context context) {
return Build.VERSION.SDK_INT >= 26 &&
requireArguments().getBoolean(IS_VIDEO_ENABLED, true) &&
@ -445,7 +454,6 @@ public class CameraXFragment extends LoggingFragment implements CameraFragment {
selfieFlash
);
cameraController.setEnabledUseCases(CameraController.IMAGE_CAPTURE);
cameraController.takePicture(Executors.mainThreadExecutor(), new ImageCapture.OnImageCapturedCallback() {
@Override
public void onCaptureSuccess(@NonNull ImageProxy image) {

View file

@ -129,7 +129,6 @@ class CameraXVideoCaptureHelper implements CameraButtonView.VideoCaptureListener
OutputFileOptions options = OutputFileOptions.builder(memoryFileDescriptor.getParcelFileDescriptor()).build();
cameraController.setEnabledUseCases(CameraController.VIDEO_CAPTURE);
cameraController.startRecording(options, Executors.mainThreadExecutor(), videoSavedListener);
updateProgressAnimator.start();
debouncer.publish(this::onVideoCaptureComplete);
@ -190,7 +189,6 @@ class CameraXVideoCaptureHelper implements CameraButtonView.VideoCaptureListener
Log.d(TAG, "onVideoCaptureComplete");
cameraController.stopRecording();
cameraController.setEnabledUseCases(CameraController.IMAGE_CAPTURE);
if (cameraMetricsAnimator != null && cameraMetricsAnimator.isRunning()) {
cameraMetricsAnimator.reverse();