Enable both use-cases if available.
This commit is contained in:
parent
fae2ceab39
commit
51647a5017
4 changed files with 12 additions and 6 deletions
|
@ -81,7 +81,7 @@ class Material3SearchToolbar @JvmOverloads constructor(
|
|||
}
|
||||
|
||||
fun clearText() {
|
||||
input.setText("");
|
||||
input.setText("")
|
||||
}
|
||||
|
||||
interface Listener {
|
||||
|
|
|
@ -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() {
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Add table
Reference in a new issue