Files
Simple-Camera/app/src/main/kotlin/com/simplemobiletools/camera/implementations/CameraXInitializer.kt
2023-07-24 21:06:29 +03:00

51 lines
1.6 KiB
Kotlin

package com.simplemobiletools.camera.implementations
import android.net.Uri
import androidx.camera.view.PreviewView
import com.simplemobiletools.camera.activities.MainActivity
import com.simplemobiletools.camera.helpers.CameraErrorHandler
import com.simplemobiletools.camera.helpers.MediaOutputHelper
import com.simplemobiletools.camera.helpers.MediaSoundHelper
class CameraXInitializer(private val activity: MainActivity) {
fun createCameraXPreview(
previewView: PreviewView,
listener: CameraXPreviewListener,
mediaSoundHelper: MediaSoundHelper,
outputUri: Uri?,
isThirdPartyIntent: Boolean,
initInPhotoMode: Boolean,
): CameraXPreview {
val cameraErrorHandler = newCameraErrorHandler()
val mediaOutputHelper = newMediaOutputHelper(cameraErrorHandler, outputUri, isThirdPartyIntent)
return CameraXPreview(
activity,
previewView,
mediaSoundHelper,
mediaOutputHelper,
cameraErrorHandler,
listener,
isThirdPartyIntent = isThirdPartyIntent,
initInPhotoMode = initInPhotoMode,
)
}
private fun newMediaOutputHelper(
cameraErrorHandler: CameraErrorHandler,
outputUri: Uri?,
isThirdPartyIntent: Boolean,
): MediaOutputHelper {
return MediaOutputHelper(
activity,
cameraErrorHandler,
outputUri,
isThirdPartyIntent,
)
}
private fun newCameraErrorHandler(): CameraErrorHandler {
return CameraErrorHandler(activity)
}
}