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.media.MediaRecorder
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
|
import app.myzel394.alibi.R
|
||||||
import com.arthenica.ffmpegkit.FFmpegKit
|
import com.arthenica.ffmpegkit.FFmpegKit
|
||||||
import com.arthenica.ffmpegkit.ReturnCode
|
import com.arthenica.ffmpegkit.ReturnCode
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
@ -14,6 +15,7 @@ import java.time.format.DateTimeFormatter.ISO_DATE_TIME
|
|||||||
@Serializable
|
@Serializable
|
||||||
data class AppSettings(
|
data class AppSettings(
|
||||||
val audioRecorderSettings: AudioRecorderSettings = AudioRecorderSettings(),
|
val audioRecorderSettings: AudioRecorderSettings = AudioRecorderSettings(),
|
||||||
|
val notificationSettings: NotificationSettings = NotificationSettings.fromPreset(NotificationSettings.Preset.Default),
|
||||||
val hasSeenOnboarding: Boolean = false,
|
val hasSeenOnboarding: Boolean = false,
|
||||||
val showAdvancedSettings: Boolean = false,
|
val showAdvancedSettings: Boolean = false,
|
||||||
val theme: Theme = Theme.SYSTEM,
|
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_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_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_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_title">Recording Audio</string>
|
||||||
<string name="ui_audioRecorder_state_recording_description">Alibi keeps recording in the background</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_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>
|
<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