chore: Rename VideoService -> VideoRecorderService

This commit is contained in:
Myzel394 2023-11-26 22:26:51 +01:00
parent a5a93cedc9
commit f75a1a8a33
No known key found for this signature in database
GPG Key ID: 79CC92F37B3E1A2B
3 changed files with 14 additions and 28 deletions

View File

@ -2,6 +2,10 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-feature
android:name="android.hardware.camera"
android:required="false" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
@ -52,7 +56,7 @@
android:name=".services.AudioRecorderService"
android:foregroundServiceType="microphone" />
<service
android:name=".services.VideoService"
android:name=".services.VideoRecorderService"
android:foregroundServiceType="camera|microphone" />
<!-- Change locale for Android <= 12 -->

View File

@ -1,26 +1,16 @@
package app.myzel394.alibi.services
import android.annotation.SuppressLint
import android.content.ContentValues
import android.content.pm.ServiceInfo
import android.os.Build
import android.provider.MediaStore
import androidx.camera.core.CameraSelector
import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.camera.video.FileOutputOptions
import androidx.camera.video.MediaStoreOutputOptions
import androidx.camera.video.Quality
import androidx.camera.video.QualitySelector
import androidx.camera.video.Recorder
import androidx.camera.video.Recording
import androidx.camera.video.VideoCapture
import androidx.camera.video.VideoCapture.withOutput
import androidx.core.app.NotificationCompat
import androidx.core.app.ServiceCompat
import androidx.core.content.ContextCompat
import androidx.core.net.toUri
import androidx.lifecycle.LifecycleService
import app.myzel394.alibi.NotificationHelper
import app.myzel394.alibi.db.RecordingInformation
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.CoroutineScope
@ -28,12 +18,10 @@ import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.SupervisorJob
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import java.util.concurrent.Executors
import java.util.concurrent.ScheduledExecutorService
import java.util.concurrent.TimeUnit
class VideoService : IntervalRecorderService<VideoService.Settings, RecordingInformation>() {
class VideoRecorderService :
IntervalRecorderService<VideoRecorderService.Settings, RecordingInformation>() {
private val job = SupervisorJob()
private val scope = CoroutineScope(Dispatchers.IO + job)
@ -56,7 +44,7 @@ class VideoService : IntervalRecorderService<VideoService.Settings, RecordingInf
// This should only be called when starting a recording.
private suspend fun openCamera() {
cameraProvider = withContext(Dispatchers.IO) {
ProcessCameraProvider.getInstance(this@VideoService).get()
ProcessCameraProvider.getInstance(this@VideoRecorderService).get()
}
val recorder = Recorder.Builder()
@ -159,7 +147,7 @@ class VideoService : IntervalRecorderService<VideoService.Settings, RecordingInf
val fileExtension
get() = "mp4"
fun getOutputOptions(video: VideoService): FileOutputOptions {
fun getOutputOptions(video: VideoRecorderService): FileOutputOptions {
val fileName = "${video.counter}.$fileExtension"
val file = video.batchesFolder.getInternalFolder().resolve(fileName).apply {
createNewFile()

View File

@ -1,20 +1,14 @@
package app.myzel394.alibi.ui.models
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import androidx.lifecycle.ViewModel
import app.myzel394.alibi.db.RecordingInformation
import app.myzel394.alibi.enums.RecorderState
import app.myzel394.alibi.services.AudioRecorderService
import app.myzel394.alibi.services.VideoService
import app.myzel394.alibi.services.VideoRecorderService
class VideoRecorderModel :
BaseRecorderModel<VideoService.Settings, RecordingInformation, VideoService>() {
override val intentClass = VideoService::class.java
BaseRecorderModel<VideoRecorderService.Settings, RecordingInformation, VideoRecorderService>() {
override val intentClass = VideoRecorderService::class.java
override fun onServiceConnected(service: VideoService) {
service.settings = VideoService.Settings.from()
override fun onServiceConnected(service: VideoRecorderService) {
service.settings = VideoRecorderService.Settings.from()
service.clearAllRecordings()
service.startRecording()