mirror of
https://github.com/Myzel394/Alibi.git
synced 2025-06-18 23:05:26 +02:00
feat: Add NotificationSettings
This commit is contained in:
parent
fe443d7435
commit
01a6f49b77
@ -3,6 +3,7 @@ package app.myzel394.alibi.db
|
||||
import android.media.MediaRecorder
|
||||
import android.os.Build
|
||||
import android.util.Log
|
||||
import app.myzel394.alibi.R
|
||||
import com.arthenica.ffmpegkit.FFmpegKit
|
||||
import com.arthenica.ffmpegkit.ReturnCode
|
||||
import kotlinx.serialization.Serializable
|
||||
@ -14,6 +15,7 @@ import java.time.format.DateTimeFormatter.ISO_DATE_TIME
|
||||
@Serializable
|
||||
data class AppSettings(
|
||||
val audioRecorderSettings: AudioRecorderSettings = AudioRecorderSettings(),
|
||||
val notificationSettings: NotificationSettings = NotificationSettings.fromPreset(NotificationSettings.Preset.Default),
|
||||
val hasSeenOnboarding: Boolean = false,
|
||||
val showAdvancedSettings: Boolean = false,
|
||||
val theme: Theme = Theme.SYSTEM,
|
||||
@ -470,3 +472,46 @@ data class AudioRecorderSettings(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Serializable
|
||||
data class NotificationSettings(
|
||||
val title: String,
|
||||
val message: String,
|
||||
val showOngoing: Boolean,
|
||||
val preset: Preset? = null,
|
||||
) {
|
||||
@Serializable
|
||||
sealed class Preset(
|
||||
val titleID: Int,
|
||||
val messageID: Int,
|
||||
val showOngoing: Boolean,
|
||||
) {
|
||||
data object Default : Preset(
|
||||
R.string.ui_audioRecorder_state_recording_title,
|
||||
R.string.ui_audioRecorder_state_recording_description,
|
||||
true,
|
||||
)
|
||||
data object Weather : Preset(
|
||||
R.string.ui_audioRecorder_state_recording_fake_weather_title,
|
||||
R.string.ui_audioRecorder_state_recording_fake_weather_description,
|
||||
false,
|
||||
)
|
||||
|
||||
data object Player : Preset(
|
||||
R.string.ui_audioRecorder_state_recording_fake_weather_title,
|
||||
R.string.ui_audioRecorder_state_recording_fake_weather_description,
|
||||
false,
|
||||
)
|
||||
}
|
||||
|
||||
companion object {
|
||||
fun fromPreset(preset: Preset): NotificationSettings {
|
||||
return NotificationSettings(
|
||||
title = "",
|
||||
message = "",
|
||||
showOngoing = preset.showOngoing,
|
||||
preset = preset,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -28,8 +28,11 @@
|
||||
<string name="ui_audioRecorder_action_start_description">Alibi will continue recording in the background and store the last <xliff:g name="durationInMinutes">%s</xliff:g> minutes at your request</string>
|
||||
<string name="ui_audioRecorder_action_save_processing_dialog_title">Processing</string>
|
||||
<string name="ui_audioRecorder_action_save_processing_dialog_description">Processing Audio, do not close Alibi! You will be automatically prompted to save the file once it\'s ready</string>
|
||||
|
||||
<string name="ui_audioRecorder_state_recording_title">Recording Audio</string>
|
||||
<string name="ui_audioRecorder_state_recording_description">Alibi keeps recording in the background</string>
|
||||
<string name="ui_audioRecorder_state_recording_fake_weather_title">Current Weather</string>
|
||||
<string name="ui_audioRecorder_state_recording_fake_weather_description">14° with light chance of rain</string>
|
||||
|
||||
<string name="ui_welcome_explanation_title">Welcome to Alibi!</string>
|
||||
<string name="ui_welcome_explanation_message">Alibi is like a dashcam for your phone. It allows you to record your audio continuously and save the last 30 minutes when you need it.</string>
|
||||
|
Loading…
x
Reference in New Issue
Block a user