mirror of
https://github.com/SimpleMobileTools/Simple-Camera.git
synced 2025-06-27 09:02:59 +02:00
51 lines
1.6 KiB
Kotlin
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)
|
|
}
|
|
}
|