mirror of
https://github.com/Myzel394/Alibi.git
synced 2025-06-18 23:05:26 +02:00
chore: Rename VideoService -> VideoRecorderService
This commit is contained in:
parent
a5a93cedc9
commit
f75a1a8a33
@ -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 -->
|
||||
|
@ -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()
|
||||
|
@ -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()
|
||||
|
Loading…
x
Reference in New Issue
Block a user