mirror of
https://github.com/Myzel394/Alibi.git
synced 2025-06-18 23:05:26 +02:00
feat: Add custom VideoBatchesFolder support to VideoRecorderModel
This commit is contained in:
parent
029d9fe302
commit
06f2e1de5e
@ -3,20 +3,25 @@ package app.myzel394.alibi.ui.models
|
||||
import android.Manifest
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import androidx.camera.core.CameraSelector
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableIntStateOf
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.documentfile.provider.DocumentFile
|
||||
import app.myzel394.alibi.db.AppSettings
|
||||
import app.myzel394.alibi.db.RecordingInformation
|
||||
import app.myzel394.alibi.enums.RecorderState
|
||||
import app.myzel394.alibi.helpers.AudioBatchesFolder
|
||||
import app.myzel394.alibi.helpers.BatchesFolder
|
||||
import app.myzel394.alibi.helpers.VideoBatchesFolder
|
||||
import app.myzel394.alibi.services.VideoRecorderService
|
||||
import app.myzel394.alibi.ui.utils.CameraInfo
|
||||
import app.myzel394.alibi.ui.utils.PermissionHelper
|
||||
|
||||
class VideoRecorderModel :
|
||||
BaseRecorderModel<RecordingInformation, VideoRecorderService, VideoBatchesFolder?>() {
|
||||
BaseRecorderModel<RecordingInformation, VideoBatchesFolder, VideoRecorderService>() {
|
||||
override var batchesFolder: VideoBatchesFolder? = null
|
||||
override val intentClass = VideoRecorderService::class.java
|
||||
|
||||
@ -37,6 +42,21 @@ class VideoRecorderModel :
|
||||
cameraID = CameraInfo.Lens.BACK.androidValue
|
||||
}
|
||||
|
||||
override fun startRecording(context: Context, settings: AppSettings) {
|
||||
batchesFolder = if (settings.saveFolder == null)
|
||||
VideoBatchesFolder.viaInternalFolder(context)
|
||||
else
|
||||
VideoBatchesFolder.viaCustomFolder(
|
||||
context,
|
||||
DocumentFile.fromTreeUri(
|
||||
context,
|
||||
Uri.parse(settings.saveFolder)
|
||||
)!!
|
||||
)
|
||||
|
||||
super.startRecording(context, settings)
|
||||
}
|
||||
|
||||
override fun onServiceConnected(service: VideoRecorderService) {
|
||||
// `onServiceConnected` may be called when reconnecting to the service,
|
||||
// so we only want to actually start the recording if the service is idle and thus
|
||||
|
Loading…
x
Reference in New Issue
Block a user