refactor: migrate package structure from fr.ajaury.gwenedeg to bzh.ajaury.chombev
This commit is contained in:
@@ -32,7 +32,7 @@ dependencies {
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = "fr.ajaury.gwenedeg"
|
||||
namespace = "bzh.ajaury.chombev"
|
||||
compileSdk =
|
||||
libs.versions.androidCompileSdk
|
||||
.get()
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg
|
||||
package bzh.ajaury.chombev
|
||||
|
||||
import android.app.Application
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg
|
||||
package bzh.ajaury.chombev
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.activity.ComponentActivity
|
||||
@@ -22,4 +22,4 @@ class MainActivity : ComponentActivity() {
|
||||
@Composable
|
||||
fun AppAndroidPreview() {
|
||||
App()
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@ plugins {
|
||||
|
||||
kotlin {
|
||||
androidLibrary {
|
||||
namespace = "fr.ajaury.gwenedeg.core.audioplayer"
|
||||
namespace = "bzh.ajaury.chombev.core.audioplayer"
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
|
||||
+3
-3
@@ -1,12 +1,12 @@
|
||||
package fr.ajaury.gwenedeg.player.data
|
||||
package bzh.ajaury.chombev.player.data
|
||||
|
||||
import android.content.Context
|
||||
import androidx.media3.common.C
|
||||
import androidx.media3.common.MediaItem
|
||||
import androidx.media3.common.Player
|
||||
import androidx.media3.exoplayer.ExoPlayer
|
||||
import fr.ajaury.gwenedeg.player.domain.AudioPlayer
|
||||
import fr.ajaury.gwenedeg.player.model.PlaybackState
|
||||
import bzh.ajaury.chombev.player.domain.AudioPlayer
|
||||
import bzh.ajaury.chombev.player.model.PlaybackState
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
import kotlinx.coroutines.flow.asStateFlow
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package fr.ajaury.gwenedeg.player.data
|
||||
package bzh.ajaury.chombev.player.data
|
||||
|
||||
import fr.ajaury.gwenedeg.player.domain.AudioSessionManager
|
||||
import bzh.ajaury.chombev.player.domain.AudioSessionManager
|
||||
|
||||
internal class AndroidAudioSessionManager : AudioSessionManager {
|
||||
override fun activate() {
|
||||
+5
-5
@@ -1,9 +1,9 @@
|
||||
package fr.ajaury.gwenedeg.player.di
|
||||
package bzh.ajaury.chombev.player.di
|
||||
|
||||
import fr.ajaury.gwenedeg.player.data.AndroidAudioPlayer
|
||||
import fr.ajaury.gwenedeg.player.data.AndroidAudioSessionManager
|
||||
import fr.ajaury.gwenedeg.player.domain.AudioPlayer
|
||||
import fr.ajaury.gwenedeg.player.domain.AudioSessionManager
|
||||
import bzh.ajaury.chombev.player.data.AndroidAudioPlayer
|
||||
import bzh.ajaury.chombev.player.data.AndroidAudioSessionManager
|
||||
import bzh.ajaury.chombev.player.domain.AudioPlayer
|
||||
import bzh.ajaury.chombev.player.domain.AudioSessionManager
|
||||
import org.koin.core.module.Module
|
||||
import org.koin.core.module.dsl.bind
|
||||
import org.koin.core.module.dsl.singleOf
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.player.di
|
||||
package bzh.ajaury.chombev.player.di
|
||||
|
||||
import org.koin.core.module.Module
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package fr.ajaury.gwenedeg.player.domain
|
||||
package bzh.ajaury.chombev.player.domain
|
||||
|
||||
import fr.ajaury.gwenedeg.player.model.PlaybackState
|
||||
import bzh.ajaury.chombev.player.model.PlaybackState
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
import kotlin.time.Duration
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.player.domain
|
||||
package bzh.ajaury.chombev.player.domain
|
||||
|
||||
/**
|
||||
* An Audio Session will allow to request Audio focus and declare our audio source to the system
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.player.model
|
||||
package bzh.ajaury.chombev.player.model
|
||||
|
||||
enum class PlaybackState {
|
||||
IDLE,
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
package fr.ajaury.gwenedeg.player.data
|
||||
package bzh.ajaury.chombev.player.data
|
||||
|
||||
import fr.ajaury.gwenedeg.player.domain.AudioPlayer
|
||||
import fr.ajaury.gwenedeg.player.model.PlaybackState
|
||||
import bzh.ajaury.chombev.player.domain.AudioPlayer
|
||||
import bzh.ajaury.chombev.player.model.PlaybackState
|
||||
import kotlinx.cinterop.ExperimentalForeignApi
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package fr.ajaury.gwenedeg.player.data
|
||||
package bzh.ajaury.chombev.player.data
|
||||
|
||||
import fr.ajaury.gwenedeg.player.domain.AudioSessionManager
|
||||
import bzh.ajaury.chombev.player.domain.AudioSessionManager
|
||||
import kotlinx.cinterop.ExperimentalForeignApi
|
||||
import platform.AVFAudio.AVAudioSession
|
||||
import platform.AVFAudio.AVAudioSessionCategoryOptionDuckOthers
|
||||
+6
-6
@@ -1,10 +1,10 @@
|
||||
package fr.ajaury.gwenedeg.player.di
|
||||
package bzh.ajaury.chombev.player.di
|
||||
|
||||
import fr.ajaury.gwenedeg.core.logging.di.loggingModule
|
||||
import fr.ajaury.gwenedeg.player.data.IosAudioPlayer
|
||||
import fr.ajaury.gwenedeg.player.data.IosAudioSessionManager
|
||||
import fr.ajaury.gwenedeg.player.domain.AudioPlayer
|
||||
import fr.ajaury.gwenedeg.player.domain.AudioSessionManager
|
||||
import bzh.ajaury.chombev.core.logging.di.loggingModule
|
||||
import bzh.ajaury.chombev.player.data.IosAudioPlayer
|
||||
import bzh.ajaury.chombev.player.data.IosAudioSessionManager
|
||||
import bzh.ajaury.chombev.player.domain.AudioPlayer
|
||||
import bzh.ajaury.chombev.player.domain.AudioSessionManager
|
||||
import org.koin.core.module.Module
|
||||
import org.koin.core.module.dsl.bind
|
||||
import org.koin.core.module.dsl.singleOf
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
package fr.ajaury.gwenedeg.player.data
|
||||
package bzh.ajaury.chombev.player.data
|
||||
|
||||
import fr.ajaury.gwenedeg.player.domain.AudioPlayer
|
||||
import fr.ajaury.gwenedeg.player.model.PlaybackState
|
||||
import bzh.ajaury.chombev.player.domain.AudioPlayer
|
||||
import bzh.ajaury.chombev.player.model.PlaybackState
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
import kotlinx.coroutines.flow.asStateFlow
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package fr.ajaury.gwenedeg.player.data
|
||||
package bzh.ajaury.chombev.player.data
|
||||
|
||||
import fr.ajaury.gwenedeg.player.domain.AudioSessionManager
|
||||
import bzh.ajaury.chombev.player.domain.AudioSessionManager
|
||||
|
||||
/**
|
||||
* Desktop has no system audio focus model to honour, so activation is a no-op.
|
||||
+5
-5
@@ -1,9 +1,9 @@
|
||||
package fr.ajaury.gwenedeg.player.di
|
||||
package bzh.ajaury.chombev.player.di
|
||||
|
||||
import fr.ajaury.gwenedeg.player.data.JvmAudioPlayer
|
||||
import fr.ajaury.gwenedeg.player.data.JvmAudioSessionManager
|
||||
import fr.ajaury.gwenedeg.player.domain.AudioPlayer
|
||||
import fr.ajaury.gwenedeg.player.domain.AudioSessionManager
|
||||
import bzh.ajaury.chombev.player.data.JvmAudioPlayer
|
||||
import bzh.ajaury.chombev.player.data.JvmAudioSessionManager
|
||||
import bzh.ajaury.chombev.player.domain.AudioPlayer
|
||||
import bzh.ajaury.chombev.player.domain.AudioSessionManager
|
||||
import org.koin.core.module.Module
|
||||
import org.koin.core.module.dsl.bind
|
||||
import org.koin.core.module.dsl.singleOf
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
package fr.ajaury.gwenedeg.player.data
|
||||
package bzh.ajaury.chombev.player.data
|
||||
|
||||
import fr.ajaury.gwenedeg.player.domain.AudioPlayer
|
||||
import fr.ajaury.gwenedeg.player.model.PlaybackState
|
||||
import bzh.ajaury.chombev.player.domain.AudioPlayer
|
||||
import bzh.ajaury.chombev.player.model.PlaybackState
|
||||
import kotlinx.browser.document
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package fr.ajaury.gwenedeg.player.data
|
||||
package bzh.ajaury.chombev.player.data
|
||||
|
||||
import fr.ajaury.gwenedeg.player.domain.AudioSessionManager
|
||||
import bzh.ajaury.chombev.player.domain.AudioSessionManager
|
||||
|
||||
internal class WebAudioSessionManager : AudioSessionManager {
|
||||
override fun activate() {
|
||||
+5
-5
@@ -1,9 +1,9 @@
|
||||
package fr.ajaury.gwenedeg.player.di
|
||||
package bzh.ajaury.chombev.player.di
|
||||
|
||||
import fr.ajaury.gwenedeg.player.data.WebAudioPlayer
|
||||
import fr.ajaury.gwenedeg.player.data.WebAudioSessionManager
|
||||
import fr.ajaury.gwenedeg.player.domain.AudioPlayer
|
||||
import fr.ajaury.gwenedeg.player.domain.AudioSessionManager
|
||||
import bzh.ajaury.chombev.player.data.WebAudioPlayer
|
||||
import bzh.ajaury.chombev.player.data.WebAudioSessionManager
|
||||
import bzh.ajaury.chombev.player.domain.AudioPlayer
|
||||
import bzh.ajaury.chombev.player.domain.AudioSessionManager
|
||||
import org.koin.core.module.Module
|
||||
import org.koin.core.module.dsl.bind
|
||||
import org.koin.core.module.dsl.singleOf
|
||||
@@ -4,6 +4,6 @@ plugins {
|
||||
|
||||
kotlin {
|
||||
androidLibrary {
|
||||
namespace = "fr.ajaury.gwenedeg.core.coroutines"
|
||||
namespace = "bzh.ajaury.chombev.core.coroutines"
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.core.coroutines.data
|
||||
package bzh.ajaury.chombev.core.coroutines.data
|
||||
|
||||
import kotlinx.coroutines.CoroutineDispatcher
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package fr.ajaury.gwenedeg.core.coroutines.data
|
||||
package bzh.ajaury.chombev.core.coroutines.data
|
||||
|
||||
import fr.ajaury.gwenedeg.core.coroutines.domain.DispatcherProvider
|
||||
import bzh.ajaury.chombev.core.coroutines.domain.DispatcherProvider
|
||||
import kotlinx.coroutines.CoroutineDispatcher
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.core.coroutines.data
|
||||
package bzh.ajaury.chombev.core.coroutines.data
|
||||
|
||||
import kotlinx.coroutines.CoroutineDispatcher
|
||||
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
package fr.ajaury.gwenedeg.core.coroutines.di
|
||||
package bzh.ajaury.chombev.core.coroutines.di
|
||||
|
||||
import fr.ajaury.gwenedeg.core.coroutines.data.DefaultDispatcherProvider
|
||||
import fr.ajaury.gwenedeg.core.coroutines.domain.DispatcherProvider
|
||||
import bzh.ajaury.chombev.core.coroutines.data.DefaultDispatcherProvider
|
||||
import bzh.ajaury.chombev.core.coroutines.domain.DispatcherProvider
|
||||
import org.koin.core.module.Module
|
||||
import org.koin.core.module.dsl.bind
|
||||
import org.koin.core.module.dsl.singleOf
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.core.coroutines.domain
|
||||
package bzh.ajaury.chombev.core.coroutines.domain
|
||||
|
||||
import kotlinx.coroutines.CoroutineDispatcher
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.core.coroutines.data
|
||||
package bzh.ajaury.chombev.core.coroutines.data
|
||||
|
||||
import kotlinx.coroutines.CoroutineDispatcher
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.core.coroutines.data
|
||||
package bzh.ajaury.chombev.core.coroutines.data
|
||||
|
||||
import kotlinx.coroutines.CoroutineDispatcher
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.core.coroutines.data
|
||||
package bzh.ajaury.chombev.core.coroutines.data
|
||||
|
||||
import kotlinx.coroutines.CoroutineDispatcher
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.core.coroutines.data
|
||||
package bzh.ajaury.chombev.core.coroutines.data
|
||||
|
||||
import kotlinx.coroutines.CoroutineDispatcher
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
@@ -4,7 +4,7 @@ plugins {
|
||||
|
||||
kotlin {
|
||||
androidLibrary {
|
||||
namespace = "fr.ajaury.gwenedeg.core.logging"
|
||||
namespace = "bzh.ajaury.chombev.core.logging"
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package fr.ajaury.gwenedeg.core.logging.data
|
||||
package bzh.ajaury.chombev.core.logging.data
|
||||
|
||||
import fr.ajaury.gwenedeg.core.logging.domain.Logger
|
||||
import bzh.ajaury.chombev.core.logging.domain.Logger
|
||||
|
||||
internal class KermitLogger : Logger {
|
||||
private val tag: String = "Chom Bev"
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
package fr.ajaury.gwenedeg.core.logging.di
|
||||
package bzh.ajaury.chombev.core.logging.di
|
||||
|
||||
import fr.ajaury.gwenedeg.core.logging.data.KermitLogger
|
||||
import fr.ajaury.gwenedeg.core.logging.domain.Logger
|
||||
import bzh.ajaury.chombev.core.logging.data.KermitLogger
|
||||
import bzh.ajaury.chombev.core.logging.domain.Logger
|
||||
import org.koin.core.module.Module
|
||||
import org.koin.core.module.dsl.bind
|
||||
import org.koin.core.module.dsl.singleOf
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.core.logging.domain
|
||||
package bzh.ajaury.chombev.core.logging.domain
|
||||
|
||||
/**
|
||||
* Logging abstraction so the rest of the app depends on this interface
|
||||
@@ -4,6 +4,6 @@ plugins {
|
||||
|
||||
kotlin {
|
||||
androidLibrary {
|
||||
namespace = "fr.ajaury.gwenedeg.core.model"
|
||||
namespace = "bzh.ajaury.chombev.core.model"
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.core.model
|
||||
package bzh.ajaury.chombev.core.model
|
||||
|
||||
/**
|
||||
* [translation] is the optional translation of [transcription] in the user's language
|
||||
@@ -4,7 +4,7 @@ plugins {
|
||||
|
||||
kotlin {
|
||||
androidLibrary {
|
||||
namespace = "fr.ajaury.gwenedeg.playback"
|
||||
namespace = "bzh.ajaury.chombev.playback"
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
|
||||
+15
-15
@@ -1,19 +1,19 @@
|
||||
package fr.ajaury.gwenedeg.player.data
|
||||
package bzh.ajaury.chombev.player.data
|
||||
|
||||
import fr.ajaury.gwenedeg.core.coroutines.domain.DispatcherProvider
|
||||
import fr.ajaury.gwenedeg.core.logging.domain.Logger
|
||||
import fr.ajaury.gwenedeg.core.model.Phrase
|
||||
import fr.ajaury.gwenedeg.player.domain.AudioPlayer
|
||||
import fr.ajaury.gwenedeg.player.domain.PlaybackRepository
|
||||
import fr.ajaury.gwenedeg.player.model.PlaybackState
|
||||
import fr.ajaury.gwenedeg.player.model.PlaybackTiming
|
||||
import fr.ajaury.gwenedeg.player.model.PlayerState
|
||||
import fr.ajaury.gwenedeg.preferences.domain.PreferencesRepository
|
||||
import fr.ajaury.gwenedeg.records.model.Record
|
||||
import fr.ajaury.gwenedeg.resources.domain.ResourceReader
|
||||
import fr.ajaury.gwenedeg.subtitle.domain.GetCurrentSubtitleIndexUseCase
|
||||
import fr.ajaury.gwenedeg.subtitle.domain.SubtitleRepository
|
||||
import fr.ajaury.gwenedeg.subtitle.model.Subtitle
|
||||
import bzh.ajaury.chombev.core.coroutines.domain.DispatcherProvider
|
||||
import bzh.ajaury.chombev.core.logging.domain.Logger
|
||||
import bzh.ajaury.chombev.core.model.Phrase
|
||||
import bzh.ajaury.chombev.player.domain.AudioPlayer
|
||||
import bzh.ajaury.chombev.player.domain.PlaybackRepository
|
||||
import bzh.ajaury.chombev.player.model.PlaybackState
|
||||
import bzh.ajaury.chombev.player.model.PlaybackTiming
|
||||
import bzh.ajaury.chombev.player.model.PlayerState
|
||||
import bzh.ajaury.chombev.preferences.domain.PreferencesRepository
|
||||
import bzh.ajaury.chombev.records.model.Record
|
||||
import bzh.ajaury.chombev.resources.domain.ResourceReader
|
||||
import bzh.ajaury.chombev.subtitle.domain.GetCurrentSubtitleIndexUseCase
|
||||
import bzh.ajaury.chombev.subtitle.domain.SubtitleRepository
|
||||
import bzh.ajaury.chombev.subtitle.model.Subtitle
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||
import kotlinx.coroutines.Job
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package fr.ajaury.gwenedeg.player.data
|
||||
package bzh.ajaury.chombev.player.data
|
||||
|
||||
import fr.ajaury.gwenedeg.subtitle.model.Subtitle
|
||||
import bzh.ajaury.chombev.subtitle.model.Subtitle
|
||||
import kotlin.time.Duration
|
||||
|
||||
data class SubtitleProgress(
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
package fr.ajaury.gwenedeg.player.di
|
||||
package bzh.ajaury.chombev.player.di
|
||||
|
||||
import fr.ajaury.gwenedeg.player.data.PlaybackRepositoryImpl
|
||||
import fr.ajaury.gwenedeg.player.domain.PlaybackRepository
|
||||
import bzh.ajaury.chombev.player.data.PlaybackRepositoryImpl
|
||||
import bzh.ajaury.chombev.player.domain.PlaybackRepository
|
||||
import org.koin.core.module.Module
|
||||
import org.koin.core.module.dsl.bind
|
||||
import org.koin.core.module.dsl.singleOf
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
package fr.ajaury.gwenedeg.player.domain
|
||||
package bzh.ajaury.chombev.player.domain
|
||||
|
||||
import fr.ajaury.gwenedeg.player.model.PlayerState
|
||||
import fr.ajaury.gwenedeg.records.model.Record
|
||||
import bzh.ajaury.chombev.player.model.PlayerState
|
||||
import bzh.ajaury.chombev.records.model.Record
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlin.time.Duration
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.player.model
|
||||
package bzh.ajaury.chombev.player.model
|
||||
|
||||
import kotlin.time.Duration
|
||||
import kotlin.time.Duration.Companion.milliseconds
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
package fr.ajaury.gwenedeg.player.model
|
||||
package bzh.ajaury.chombev.player.model
|
||||
|
||||
import fr.ajaury.gwenedeg.core.model.Phrase
|
||||
import fr.ajaury.gwenedeg.subtitle.model.SubtitleLine
|
||||
import bzh.ajaury.chombev.core.model.Phrase
|
||||
import bzh.ajaury.chombev.subtitle.model.SubtitleLine
|
||||
|
||||
data class PlayerState(
|
||||
val recordTitle: Phrase = Phrase(transcription = ""),
|
||||
@@ -8,7 +8,7 @@ kotlin {
|
||||
applyDefaultHierarchyTemplate()
|
||||
|
||||
androidLibrary {
|
||||
namespace = "fr.ajaury.gwenedeg.preferences"
|
||||
namespace = "bzh.ajaury.chombev.preferences"
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
|
||||
+5
-5
@@ -1,10 +1,10 @@
|
||||
package fr.ajaury.gwenedeg.preferences.di
|
||||
package bzh.ajaury.chombev.preferences.di
|
||||
|
||||
import android.content.Context
|
||||
import fr.ajaury.gwenedeg.preferences.data.DATA_STORE_FILE_NAME
|
||||
import fr.ajaury.gwenedeg.preferences.data.DataStorePreferencesRepository
|
||||
import fr.ajaury.gwenedeg.preferences.data.createPreferencesDataStore
|
||||
import fr.ajaury.gwenedeg.preferences.domain.PreferencesRepository
|
||||
import bzh.ajaury.chombev.preferences.data.DATA_STORE_FILE_NAME
|
||||
import bzh.ajaury.chombev.preferences.data.DataStorePreferencesRepository
|
||||
import bzh.ajaury.chombev.preferences.data.createPreferencesDataStore
|
||||
import bzh.ajaury.chombev.preferences.domain.PreferencesRepository
|
||||
import org.koin.core.module.Module
|
||||
import org.koin.dsl.module
|
||||
|
||||
+4
-4
@@ -1,8 +1,8 @@
|
||||
package fr.ajaury.gwenedeg.preferences.data
|
||||
package bzh.ajaury.chombev.preferences.data
|
||||
|
||||
import fr.ajaury.gwenedeg.preferences.domain.PreferencesRepository
|
||||
import fr.ajaury.gwenedeg.preferences.model.PlaybackPreferences
|
||||
import fr.ajaury.gwenedeg.preferences.model.SubtitlePreferences
|
||||
import bzh.ajaury.chombev.preferences.domain.PreferencesRepository
|
||||
import bzh.ajaury.chombev.preferences.model.PlaybackPreferences
|
||||
import bzh.ajaury.chombev.preferences.model.SubtitlePreferences
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
import kotlinx.coroutines.flow.asStateFlow
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
package fr.ajaury.gwenedeg.preferences.di
|
||||
package bzh.ajaury.chombev.preferences.di
|
||||
|
||||
import org.koin.core.module.Module
|
||||
|
||||
/**
|
||||
* Binds [fr.ajaury.gwenedeg.preferences.domain.PreferencesRepository]. Persisted with DataStore on
|
||||
* Binds [bzh.ajaury.chombev.preferences.domain.PreferencesRepository]. Persisted with DataStore on
|
||||
* every target that ships it (Android, iOS, Desktop); web falls back to an in-memory implementation.
|
||||
*/
|
||||
expect val preferencesModule: Module
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
package fr.ajaury.gwenedeg.preferences.domain
|
||||
package bzh.ajaury.chombev.preferences.domain
|
||||
|
||||
import fr.ajaury.gwenedeg.preferences.model.PlaybackPreferences
|
||||
import fr.ajaury.gwenedeg.preferences.model.SubtitlePreferences
|
||||
import bzh.ajaury.chombev.preferences.model.PlaybackPreferences
|
||||
import bzh.ajaury.chombev.preferences.model.SubtitlePreferences
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlin.time.Duration
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.preferences.model
|
||||
package bzh.ajaury.chombev.preferences.model
|
||||
|
||||
import kotlin.time.Duration
|
||||
import kotlin.time.Duration.Companion.seconds
|
||||
+2
-3
@@ -1,7 +1,6 @@
|
||||
package fr.ajaury.gwenedeg.preferences.model
|
||||
|
||||
import fr.ajaury.gwenedeg.preferences.model.SubtitlePreferences.Companion.TEXT_SCALE_STEPS
|
||||
package bzh.ajaury.chombev.preferences.model
|
||||
|
||||
import bzh.ajaury.chombev.preferences.model.SubtitlePreferences.Companion.TEXT_SCALE_STEPS
|
||||
|
||||
/**
|
||||
* User preferences controlling the subtitle display on the player.
|
||||
+4
-4
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.preferences.data
|
||||
package bzh.ajaury.chombev.preferences.data
|
||||
|
||||
import androidx.datastore.core.DataStore
|
||||
import androidx.datastore.preferences.core.MutablePreferences
|
||||
@@ -7,9 +7,9 @@ import androidx.datastore.preferences.core.booleanPreferencesKey
|
||||
import androidx.datastore.preferences.core.edit
|
||||
import androidx.datastore.preferences.core.floatPreferencesKey
|
||||
import androidx.datastore.preferences.core.intPreferencesKey
|
||||
import fr.ajaury.gwenedeg.preferences.domain.PreferencesRepository
|
||||
import fr.ajaury.gwenedeg.preferences.model.PlaybackPreferences
|
||||
import fr.ajaury.gwenedeg.preferences.model.SubtitlePreferences
|
||||
import bzh.ajaury.chombev.preferences.domain.PreferencesRepository
|
||||
import bzh.ajaury.chombev.preferences.model.PlaybackPreferences
|
||||
import bzh.ajaury.chombev.preferences.model.SubtitlePreferences
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
import kotlinx.coroutines.flow.map
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.preferences.data
|
||||
package bzh.ajaury.chombev.preferences.data
|
||||
|
||||
import androidx.datastore.core.DataStore
|
||||
import androidx.datastore.preferences.core.PreferenceDataStoreFactory
|
||||
+5
-5
@@ -1,11 +1,11 @@
|
||||
@file:OptIn(ExperimentalForeignApi::class)
|
||||
|
||||
package fr.ajaury.gwenedeg.preferences.di
|
||||
package bzh.ajaury.chombev.preferences.di
|
||||
|
||||
import fr.ajaury.gwenedeg.preferences.data.DATA_STORE_FILE_NAME
|
||||
import fr.ajaury.gwenedeg.preferences.data.DataStorePreferencesRepository
|
||||
import fr.ajaury.gwenedeg.preferences.data.createPreferencesDataStore
|
||||
import fr.ajaury.gwenedeg.preferences.domain.PreferencesRepository
|
||||
import bzh.ajaury.chombev.preferences.data.DATA_STORE_FILE_NAME
|
||||
import bzh.ajaury.chombev.preferences.data.DataStorePreferencesRepository
|
||||
import bzh.ajaury.chombev.preferences.data.createPreferencesDataStore
|
||||
import bzh.ajaury.chombev.preferences.domain.PreferencesRepository
|
||||
import kotlinx.cinterop.ExperimentalForeignApi
|
||||
import org.koin.core.module.Module
|
||||
import org.koin.dsl.module
|
||||
+5
-5
@@ -1,9 +1,9 @@
|
||||
package fr.ajaury.gwenedeg.preferences.di
|
||||
package bzh.ajaury.chombev.preferences.di
|
||||
|
||||
import fr.ajaury.gwenedeg.preferences.data.DATA_STORE_FILE_NAME
|
||||
import fr.ajaury.gwenedeg.preferences.data.DataStorePreferencesRepository
|
||||
import fr.ajaury.gwenedeg.preferences.data.createPreferencesDataStore
|
||||
import fr.ajaury.gwenedeg.preferences.domain.PreferencesRepository
|
||||
import bzh.ajaury.chombev.preferences.data.DATA_STORE_FILE_NAME
|
||||
import bzh.ajaury.chombev.preferences.data.DataStorePreferencesRepository
|
||||
import bzh.ajaury.chombev.preferences.data.createPreferencesDataStore
|
||||
import bzh.ajaury.chombev.preferences.domain.PreferencesRepository
|
||||
import org.koin.core.module.Module
|
||||
import org.koin.dsl.module
|
||||
import java.io.File
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
package fr.ajaury.gwenedeg.preferences.di
|
||||
package bzh.ajaury.chombev.preferences.di
|
||||
|
||||
import fr.ajaury.gwenedeg.preferences.data.InMemoryPreferencesRepository
|
||||
import fr.ajaury.gwenedeg.preferences.domain.PreferencesRepository
|
||||
import bzh.ajaury.chombev.preferences.data.InMemoryPreferencesRepository
|
||||
import bzh.ajaury.chombev.preferences.domain.PreferencesRepository
|
||||
import org.koin.core.module.Module
|
||||
import org.koin.core.module.dsl.bind
|
||||
import org.koin.core.module.dsl.singleOf
|
||||
@@ -4,7 +4,7 @@ plugins {
|
||||
|
||||
kotlin {
|
||||
androidLibrary {
|
||||
namespace = "fr.ajaury.gwenedeg.records"
|
||||
namespace = "bzh.ajaury.chombev.records"
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
|
||||
+4
-4
@@ -1,8 +1,8 @@
|
||||
package fr.ajaury.gwenedeg.records.data
|
||||
package bzh.ajaury.chombev.records.data
|
||||
|
||||
import fr.ajaury.gwenedeg.core.model.Phrase
|
||||
import fr.ajaury.gwenedeg.records.domain.RecordRepository
|
||||
import fr.ajaury.gwenedeg.records.model.Record
|
||||
import bzh.ajaury.chombev.core.model.Phrase
|
||||
import bzh.ajaury.chombev.records.domain.RecordRepository
|
||||
import bzh.ajaury.chombev.records.model.Record
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.flowOf
|
||||
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
package fr.ajaury.gwenedeg.records.di
|
||||
package bzh.ajaury.chombev.records.di
|
||||
|
||||
import fr.ajaury.gwenedeg.records.data.InMemoryRecordRepository
|
||||
import fr.ajaury.gwenedeg.records.domain.RecordRepository
|
||||
import bzh.ajaury.chombev.records.data.InMemoryRecordRepository
|
||||
import bzh.ajaury.chombev.records.domain.RecordRepository
|
||||
import org.koin.core.module.Module
|
||||
import org.koin.core.module.dsl.bind
|
||||
import org.koin.core.module.dsl.factoryOf
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package fr.ajaury.gwenedeg.records.domain
|
||||
package bzh.ajaury.chombev.records.domain
|
||||
|
||||
import fr.ajaury.gwenedeg.records.model.Record
|
||||
import bzh.ajaury.chombev.records.model.Record
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
interface RecordRepository {
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package fr.ajaury.gwenedeg.records.model
|
||||
package bzh.ajaury.chombev.records.model
|
||||
|
||||
import fr.ajaury.gwenedeg.core.model.Phrase
|
||||
import bzh.ajaury.chombev.core.model.Phrase
|
||||
|
||||
data class Record(
|
||||
val id: Int,
|
||||
@@ -5,7 +5,7 @@ plugins {
|
||||
|
||||
kotlin {
|
||||
androidLibrary {
|
||||
namespace = "fr.ajaury.gwenedeg.resources"
|
||||
namespace = "bzh.ajaury.chombev.resources"
|
||||
androidResources {
|
||||
enable = true
|
||||
}
|
||||
@@ -26,5 +26,5 @@ kotlin {
|
||||
compose.resources {
|
||||
// Public so that other modules (e.g. shared UI) can reference drawables such as the app icon.
|
||||
publicResClass = true
|
||||
packageOfResClass = "fr.ajaury.gwenedeg.resources.generated.resources"
|
||||
packageOfResClass = "bzh.ajaury.chombev.resources.generated.resources"
|
||||
}
|
||||
|
||||
+4
-4
@@ -1,8 +1,8 @@
|
||||
package fr.ajaury.gwenedeg.resources.data
|
||||
package bzh.ajaury.chombev.resources.data
|
||||
|
||||
import fr.ajaury.gwenedeg.core.coroutines.domain.DispatcherProvider
|
||||
import fr.ajaury.gwenedeg.resources.domain.ResourceReader
|
||||
import fr.ajaury.gwenedeg.resources.generated.resources.Res
|
||||
import bzh.ajaury.chombev.core.coroutines.domain.DispatcherProvider
|
||||
import bzh.ajaury.chombev.resources.domain.ResourceReader
|
||||
import bzh.ajaury.chombev.resources.generated.resources.Res
|
||||
import kotlinx.coroutines.withContext
|
||||
|
||||
internal class ComposeResourceReader(
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
package fr.ajaury.gwenedeg.resources.di
|
||||
package bzh.ajaury.chombev.resources.di
|
||||
|
||||
import fr.ajaury.gwenedeg.resources.data.ComposeResourceReader
|
||||
import fr.ajaury.gwenedeg.resources.domain.ResourceReader
|
||||
import bzh.ajaury.chombev.resources.data.ComposeResourceReader
|
||||
import bzh.ajaury.chombev.resources.domain.ResourceReader
|
||||
import org.koin.core.module.Module
|
||||
import org.koin.core.module.dsl.bind
|
||||
import org.koin.core.module.dsl.factoryOf
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.resources.domain
|
||||
package bzh.ajaury.chombev.resources.domain
|
||||
|
||||
/**
|
||||
* Provides access to the app's bundled resources. Implemented by this module, which owns the
|
||||
@@ -4,7 +4,7 @@ plugins {
|
||||
|
||||
kotlin {
|
||||
androidLibrary {
|
||||
namespace = "fr.ajaury.gwenedeg.subtitle"
|
||||
namespace = "bzh.ajaury.chombev.subtitle"
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.subtitle.data
|
||||
package bzh.ajaury.chombev.subtitle.data
|
||||
|
||||
import kotlin.time.Duration
|
||||
import kotlin.time.Duration.Companion.milliseconds
|
||||
+8
-8
@@ -1,12 +1,12 @@
|
||||
package fr.ajaury.gwenedeg.subtitle.data
|
||||
package bzh.ajaury.chombev.subtitle.data
|
||||
|
||||
import fr.ajaury.gwenedeg.core.coroutines.domain.DispatcherProvider
|
||||
import fr.ajaury.gwenedeg.core.logging.domain.Logger
|
||||
import fr.ajaury.gwenedeg.core.model.Phrase
|
||||
import fr.ajaury.gwenedeg.subtitle.domain.SubtitleRepository
|
||||
import fr.ajaury.gwenedeg.subtitle.model.CantGetSubtitleException
|
||||
import fr.ajaury.gwenedeg.subtitle.model.Subtitle
|
||||
import fr.ajaury.gwenedeg.subtitle.model.SubtitleLine
|
||||
import bzh.ajaury.chombev.core.coroutines.domain.DispatcherProvider
|
||||
import bzh.ajaury.chombev.core.logging.domain.Logger
|
||||
import bzh.ajaury.chombev.core.model.Phrase
|
||||
import bzh.ajaury.chombev.subtitle.domain.SubtitleRepository
|
||||
import bzh.ajaury.chombev.subtitle.model.CantGetSubtitleException
|
||||
import bzh.ajaury.chombev.subtitle.model.Subtitle
|
||||
import bzh.ajaury.chombev.subtitle.model.SubtitleLine
|
||||
import kotlinx.coroutines.withContext
|
||||
|
||||
internal class LrcSubtitleRepository(
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.subtitle.data
|
||||
package bzh.ajaury.chombev.subtitle.data
|
||||
|
||||
import kotlin.time.Duration
|
||||
|
||||
+5
-5
@@ -1,9 +1,9 @@
|
||||
package fr.ajaury.gwenedeg.subtitle.di
|
||||
package bzh.ajaury.chombev.subtitle.di
|
||||
|
||||
import fr.ajaury.gwenedeg.subtitle.data.LrcParser
|
||||
import fr.ajaury.gwenedeg.subtitle.data.LrcSubtitleRepository
|
||||
import fr.ajaury.gwenedeg.subtitle.domain.GetCurrentSubtitleIndexUseCase
|
||||
import fr.ajaury.gwenedeg.subtitle.domain.SubtitleRepository
|
||||
import bzh.ajaury.chombev.subtitle.data.LrcParser
|
||||
import bzh.ajaury.chombev.subtitle.data.LrcSubtitleRepository
|
||||
import bzh.ajaury.chombev.subtitle.domain.GetCurrentSubtitleIndexUseCase
|
||||
import bzh.ajaury.chombev.subtitle.domain.SubtitleRepository
|
||||
import org.koin.core.module.Module
|
||||
import org.koin.core.module.dsl.bind
|
||||
import org.koin.core.module.dsl.factoryOf
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package fr.ajaury.gwenedeg.subtitle.domain
|
||||
package bzh.ajaury.chombev.subtitle.domain
|
||||
|
||||
import fr.ajaury.gwenedeg.subtitle.model.Subtitle
|
||||
import bzh.ajaury.chombev.subtitle.model.Subtitle
|
||||
import kotlin.time.Duration
|
||||
|
||||
class GetCurrentSubtitleIndexUseCase {
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package fr.ajaury.gwenedeg.subtitle.domain
|
||||
package bzh.ajaury.chombev.subtitle.domain
|
||||
|
||||
import fr.ajaury.gwenedeg.subtitle.model.Subtitle
|
||||
import bzh.ajaury.chombev.subtitle.model.Subtitle
|
||||
|
||||
interface SubtitleRepository {
|
||||
/**
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.subtitle.model
|
||||
package bzh.ajaury.chombev.subtitle.model
|
||||
|
||||
data class CantGetSubtitleException(
|
||||
override val message: String,
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.subtitle.model
|
||||
package bzh.ajaury.chombev.subtitle.model
|
||||
|
||||
data class Subtitle(
|
||||
val lines: List<SubtitleLine>,
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package fr.ajaury.gwenedeg.subtitle.model
|
||||
package bzh.ajaury.chombev.subtitle.model
|
||||
|
||||
import fr.ajaury.gwenedeg.core.model.Phrase
|
||||
import bzh.ajaury.chombev.core.model.Phrase
|
||||
import kotlin.time.Duration
|
||||
|
||||
/**
|
||||
+5
-5
@@ -1,9 +1,9 @@
|
||||
package fr.ajaury.gwenedeg.subtitle
|
||||
package bzh.ajaury.chombev.subtitle
|
||||
|
||||
import fr.ajaury.gwenedeg.core.model.Phrase
|
||||
import fr.ajaury.gwenedeg.subtitle.domain.GetCurrentSubtitleIndexUseCase
|
||||
import fr.ajaury.gwenedeg.subtitle.model.Subtitle
|
||||
import fr.ajaury.gwenedeg.subtitle.model.SubtitleLine
|
||||
import bzh.ajaury.chombev.core.model.Phrase
|
||||
import bzh.ajaury.chombev.subtitle.domain.GetCurrentSubtitleIndexUseCase
|
||||
import bzh.ajaury.chombev.subtitle.model.Subtitle
|
||||
import bzh.ajaury.chombev.subtitle.model.SubtitleLine
|
||||
import kotlin.test.Test
|
||||
import kotlin.test.assertEquals
|
||||
import kotlin.time.Duration.Companion.milliseconds
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package fr.ajaury.gwenedeg.subtitle
|
||||
package bzh.ajaury.chombev.subtitle
|
||||
|
||||
import fr.ajaury.gwenedeg.subtitle.data.LrcParser
|
||||
import bzh.ajaury.chombev.subtitle.data.LrcParser
|
||||
import kotlin.test.Test
|
||||
import kotlin.test.assertEquals
|
||||
import kotlin.time.Duration.Companion.milliseconds
|
||||
@@ -17,11 +17,11 @@ dependencies {
|
||||
|
||||
compose.desktop {
|
||||
application {
|
||||
mainClass = "fr.ajaury.gwenedeg.MainKt"
|
||||
mainClass = "bzh.ajaury.chombev.MainKt"
|
||||
|
||||
nativeDistributions {
|
||||
targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
|
||||
packageName = "fr.ajaury.gwenedeg"
|
||||
packageName = "bzh.ajaury.chombev"
|
||||
packageVersion = "1.0.0"
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg
|
||||
package bzh.ajaury.chombev
|
||||
|
||||
import androidx.compose.ui.window.Window
|
||||
import androidx.compose.ui.window.application
|
||||
@@ -1,7 +1,7 @@
|
||||
TEAM_ID=
|
||||
|
||||
PRODUCT_NAME=Chom Bev
|
||||
PRODUCT_BUNDLE_IDENTIFIER=fr.ajaury.gwenedeg.Gwenedeg$(TEAM_ID)
|
||||
PRODUCT_BUNDLE_IDENTIFIER=bzh.ajaury.chombev.Gwenedeg$(TEAM_ID)
|
||||
|
||||
CURRENT_PROJECT_VERSION=1
|
||||
MARKETING_VERSION=1.0
|
||||
@@ -18,7 +18,7 @@ kotlin {
|
||||
}
|
||||
|
||||
androidLibrary {
|
||||
namespace = "fr.ajaury.gwenedeg.shared"
|
||||
namespace = "bzh.ajaury.chombev.shared"
|
||||
androidResources {
|
||||
enable = true
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.web.ui
|
||||
package bzh.ajaury.chombev.web.ui
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Intent
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.web.ui
|
||||
package bzh.ajaury.chombev.web.ui
|
||||
|
||||
import android.content.Intent
|
||||
import android.webkit.WebResourceRequest
|
||||
+15
-16
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg
|
||||
package bzh.ajaury.chombev
|
||||
|
||||
import androidx.compose.foundation.isSystemInDarkTheme
|
||||
import androidx.compose.foundation.layout.WindowInsets
|
||||
@@ -10,31 +10,30 @@ import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.navigation3.runtime.NavEntry
|
||||
import androidx.navigation3.ui.NavDisplay
|
||||
import androidx.savedstate.compose.serialization.serializers.SnapshotStateListSerializer
|
||||
import fr.ajaury.gwenedeg.core.coroutines.di.coroutinesModule
|
||||
import fr.ajaury.gwenedeg.core.logging.di.loggingModule
|
||||
import fr.ajaury.gwenedeg.di.sharedModule
|
||||
import fr.ajaury.gwenedeg.navigation.MainBottomBar
|
||||
import fr.ajaury.gwenedeg.navigation.MainTopBar
|
||||
import fr.ajaury.gwenedeg.navigation.Route
|
||||
import fr.ajaury.gwenedeg.navigation.WebPage
|
||||
import fr.ajaury.gwenedeg.player.di.audioPlayerModule
|
||||
import fr.ajaury.gwenedeg.player.ui.PlayerScreen
|
||||
import fr.ajaury.gwenedeg.records.ui.RecordsScreen
|
||||
import fr.ajaury.gwenedeg.subtitle.di.subtitleModule
|
||||
import fr.ajaury.gwenedeg.web.ui.WebViewScreen
|
||||
import fr.ajaury.gwenedeg.theme.ChomBevTheme
|
||||
import bzh.ajaury.chombev.core.coroutines.di.coroutinesModule
|
||||
import bzh.ajaury.chombev.core.logging.di.loggingModule
|
||||
import bzh.ajaury.chombev.di.sharedModule
|
||||
import bzh.ajaury.chombev.navigation.MainBottomBar
|
||||
import bzh.ajaury.chombev.navigation.MainTopBar
|
||||
import bzh.ajaury.chombev.navigation.Route
|
||||
import bzh.ajaury.chombev.navigation.WebPage
|
||||
import bzh.ajaury.chombev.player.di.audioPlayerModule
|
||||
import bzh.ajaury.chombev.player.ui.PlayerScreen
|
||||
import bzh.ajaury.chombev.records.ui.RecordsScreen
|
||||
import bzh.ajaury.chombev.subtitle.di.subtitleModule
|
||||
import bzh.ajaury.chombev.theme.ChomBevTheme
|
||||
import bzh.ajaury.chombev.web.ui.WebViewScreen
|
||||
import org.koin.compose.KoinApplication
|
||||
import org.koin.dsl.koinConfiguration
|
||||
import org.koin.dsl.module
|
||||
|
||||
|
||||
val appModule = module {
|
||||
includes(
|
||||
loggingModule,
|
||||
sharedModule,
|
||||
audioPlayerModule,
|
||||
coroutinesModule,
|
||||
subtitleModule
|
||||
subtitleModule,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package bzh.ajaury.chombev.di
|
||||
|
||||
import bzh.ajaury.chombev.core.logging.di.loggingModule
|
||||
import bzh.ajaury.chombev.player.di.playbackModule
|
||||
import bzh.ajaury.chombev.player.ui.viewmodel.PlayerViewModel
|
||||
import bzh.ajaury.chombev.preferences.di.preferencesModule
|
||||
import bzh.ajaury.chombev.records.di.recordsModule
|
||||
import bzh.ajaury.chombev.records.ui.viewmodel.RecordsViewModel
|
||||
import bzh.ajaury.chombev.resources.di.resourcesModule
|
||||
import org.koin.core.module.dsl.viewModelOf
|
||||
import org.koin.dsl.module
|
||||
|
||||
val sharedModule = module {
|
||||
includes(loggingModule)
|
||||
includes(playbackModule)
|
||||
includes(preferencesModule)
|
||||
includes(recordsModule)
|
||||
includes(resourcesModule)
|
||||
viewModelOf(::RecordsViewModel)
|
||||
viewModelOf(::PlayerViewModel)
|
||||
}
|
||||
+6
-6
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.navigation
|
||||
package bzh.ajaury.chombev.navigation
|
||||
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.filled.Mic
|
||||
@@ -11,11 +11,11 @@ import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import fr.ajaury.gwenedeg.resources.generated.resources.Res
|
||||
import fr.ajaury.gwenedeg.resources.generated.resources.nav_about
|
||||
import fr.ajaury.gwenedeg.resources.generated.resources.nav_deepen
|
||||
import fr.ajaury.gwenedeg.resources.generated.resources.nav_records
|
||||
import fr.ajaury.gwenedeg.theme.ChomBevTheme
|
||||
import bzh.ajaury.chombev.resources.generated.resources.Res
|
||||
import bzh.ajaury.chombev.resources.generated.resources.nav_about
|
||||
import bzh.ajaury.chombev.resources.generated.resources.nav_deepen
|
||||
import bzh.ajaury.chombev.resources.generated.resources.nav_records
|
||||
import bzh.ajaury.chombev.theme.ChomBevTheme
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
|
||||
/**
|
||||
+4
-4
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.navigation
|
||||
package bzh.ajaury.chombev.navigation
|
||||
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
@@ -11,9 +11,9 @@ import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.unit.dp
|
||||
import fr.ajaury.gwenedeg.resources.generated.resources.Res
|
||||
import fr.ajaury.gwenedeg.resources.generated.resources.app_icon
|
||||
import fr.ajaury.gwenedeg.resources.generated.resources.app_name
|
||||
import bzh.ajaury.chombev.resources.generated.resources.Res
|
||||
import bzh.ajaury.chombev.resources.generated.resources.app_icon
|
||||
import bzh.ajaury.chombev.resources.generated.resources.app_name
|
||||
import org.jetbrains.compose.resources.painterResource
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.navigation
|
||||
package bzh.ajaury.chombev.navigation
|
||||
|
||||
import androidx.navigation3.runtime.NavKey
|
||||
import kotlinx.serialization.Serializable
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.navigation
|
||||
package bzh.ajaury.chombev.navigation
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
+8
-8
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.player.ui
|
||||
package bzh.ajaury.chombev.player.ui
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Column
|
||||
@@ -12,13 +12,13 @@ import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import fr.ajaury.gwenedeg.player.ui.components.LabeledSlider
|
||||
import fr.ajaury.gwenedeg.preferences.model.PlaybackPreferences
|
||||
import fr.ajaury.gwenedeg.resources.generated.resources.Res
|
||||
import fr.ajaury.gwenedeg.resources.generated.resources.break_between_phrases_title
|
||||
import fr.ajaury.gwenedeg.resources.generated.resources.break_between_phrases_value
|
||||
import fr.ajaury.gwenedeg.resources.generated.resources.playback_speed_title
|
||||
import fr.ajaury.gwenedeg.theme.ChomBevTheme
|
||||
import bzh.ajaury.chombev.player.ui.components.LabeledSlider
|
||||
import bzh.ajaury.chombev.preferences.model.PlaybackPreferences
|
||||
import bzh.ajaury.chombev.resources.generated.resources.Res
|
||||
import bzh.ajaury.chombev.resources.generated.resources.break_between_phrases_title
|
||||
import bzh.ajaury.chombev.resources.generated.resources.break_between_phrases_value
|
||||
import bzh.ajaury.chombev.resources.generated.resources.playback_speed_title
|
||||
import bzh.ajaury.chombev.theme.ChomBevTheme
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import kotlin.math.roundToInt
|
||||
|
||||
+9
-9
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.player.ui
|
||||
package bzh.ajaury.chombev.player.ui
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Box
|
||||
@@ -11,14 +11,14 @@ import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import fr.ajaury.gwenedeg.player.model.PlaybackState
|
||||
import fr.ajaury.gwenedeg.player.model.PlaybackTiming
|
||||
import fr.ajaury.gwenedeg.player.ui.components.NextButton
|
||||
import fr.ajaury.gwenedeg.player.ui.components.PlayButton
|
||||
import fr.ajaury.gwenedeg.player.ui.components.PlaybackProgress
|
||||
import fr.ajaury.gwenedeg.player.ui.components.PreviousButton
|
||||
import fr.ajaury.gwenedeg.player.ui.components.SpeedPreferenceButton
|
||||
import fr.ajaury.gwenedeg.theme.ChomBevTheme
|
||||
import bzh.ajaury.chombev.player.model.PlaybackState
|
||||
import bzh.ajaury.chombev.player.model.PlaybackTiming
|
||||
import bzh.ajaury.chombev.player.ui.components.NextButton
|
||||
import bzh.ajaury.chombev.player.ui.components.PlayButton
|
||||
import bzh.ajaury.chombev.player.ui.components.PlaybackProgress
|
||||
import bzh.ajaury.chombev.player.ui.components.PreviousButton
|
||||
import bzh.ajaury.chombev.player.ui.components.SpeedPreferenceButton
|
||||
import bzh.ajaury.chombev.theme.ChomBevTheme
|
||||
import kotlin.time.Duration
|
||||
import kotlin.time.Duration.Companion.seconds
|
||||
|
||||
+13
-13
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.player.ui
|
||||
package bzh.ajaury.chombev.player.ui
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Column
|
||||
@@ -28,18 +28,18 @@ import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import fr.ajaury.gwenedeg.core.model.Phrase
|
||||
import fr.ajaury.gwenedeg.player.model.PlaybackState
|
||||
import fr.ajaury.gwenedeg.player.model.PlaybackTiming
|
||||
import fr.ajaury.gwenedeg.player.model.PlayerState
|
||||
import fr.ajaury.gwenedeg.player.ui.viewmodel.PlayerUiState
|
||||
import fr.ajaury.gwenedeg.player.ui.viewmodel.PlayerViewModel
|
||||
import fr.ajaury.gwenedeg.preferences.ui.SubtitlePreferencesBottomSheet
|
||||
import fr.ajaury.gwenedeg.resources.generated.resources.Res
|
||||
import fr.ajaury.gwenedeg.resources.generated.resources.player_back
|
||||
import fr.ajaury.gwenedeg.resources.generated.resources.subtitle_preferences_action
|
||||
import fr.ajaury.gwenedeg.subtitle.model.SubtitleLine
|
||||
import fr.ajaury.gwenedeg.theme.ChomBevTheme
|
||||
import bzh.ajaury.chombev.core.model.Phrase
|
||||
import bzh.ajaury.chombev.player.model.PlaybackState
|
||||
import bzh.ajaury.chombev.player.model.PlaybackTiming
|
||||
import bzh.ajaury.chombev.player.model.PlayerState
|
||||
import bzh.ajaury.chombev.player.ui.viewmodel.PlayerUiState
|
||||
import bzh.ajaury.chombev.player.ui.viewmodel.PlayerViewModel
|
||||
import bzh.ajaury.chombev.preferences.ui.SubtitlePreferencesBottomSheet
|
||||
import bzh.ajaury.chombev.resources.generated.resources.Res
|
||||
import bzh.ajaury.chombev.resources.generated.resources.player_back
|
||||
import bzh.ajaury.chombev.resources.generated.resources.subtitle_preferences_action
|
||||
import bzh.ajaury.chombev.subtitle.model.SubtitleLine
|
||||
import bzh.ajaury.chombev.theme.ChomBevTheme
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.koin.compose.viewmodel.koinViewModel
|
||||
import org.koin.core.parameter.parametersOf
|
||||
+6
-6
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.player.ui
|
||||
package bzh.ajaury.chombev.player.ui
|
||||
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.gestures.animateScrollBy
|
||||
@@ -35,11 +35,11 @@ import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.Density
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import fr.ajaury.gwenedeg.core.model.Phrase
|
||||
import fr.ajaury.gwenedeg.player.ui.components.TranscriptionText
|
||||
import fr.ajaury.gwenedeg.preferences.model.SubtitlePreferences
|
||||
import fr.ajaury.gwenedeg.subtitle.model.SubtitleLine
|
||||
import fr.ajaury.gwenedeg.theme.ChomBevTheme
|
||||
import bzh.ajaury.chombev.core.model.Phrase
|
||||
import bzh.ajaury.chombev.player.ui.components.TranscriptionText
|
||||
import bzh.ajaury.chombev.preferences.model.SubtitlePreferences
|
||||
import bzh.ajaury.chombev.subtitle.model.SubtitleLine
|
||||
import bzh.ajaury.chombev.theme.ChomBevTheme
|
||||
import kotlin.math.abs
|
||||
import kotlin.time.Duration.Companion.milliseconds
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.player.ui.components
|
||||
package bzh.ajaury.chombev.player.ui.components
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Column
|
||||
@@ -12,7 +12,7 @@ import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import fr.ajaury.gwenedeg.theme.ChomBevTheme
|
||||
import bzh.ajaury.chombev.theme.ChomBevTheme
|
||||
|
||||
@Composable
|
||||
fun LabeledSlider(
|
||||
+4
-4
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.player.ui.components
|
||||
package bzh.ajaury.chombev.player.ui.components
|
||||
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.material.icons.Icons
|
||||
@@ -9,9 +9,9 @@ import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import fr.ajaury.gwenedeg.resources.generated.resources.Res
|
||||
import fr.ajaury.gwenedeg.resources.generated.resources.player_next_sentence
|
||||
import fr.ajaury.gwenedeg.theme.ChomBevTheme
|
||||
import bzh.ajaury.chombev.resources.generated.resources.Res
|
||||
import bzh.ajaury.chombev.resources.generated.resources.player_next_sentence
|
||||
import bzh.ajaury.chombev.theme.ChomBevTheme
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
|
||||
@Composable
|
||||
+7
-7
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.player.ui.components
|
||||
package bzh.ajaury.chombev.player.ui.components
|
||||
|
||||
import androidx.compose.animation.core.Animatable
|
||||
import androidx.compose.animation.core.LinearEasing
|
||||
@@ -21,12 +21,12 @@ import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import fr.ajaury.gwenedeg.player.model.PlaybackState
|
||||
import fr.ajaury.gwenedeg.resources.generated.resources.Res
|
||||
import fr.ajaury.gwenedeg.resources.generated.resources.player_pause
|
||||
import fr.ajaury.gwenedeg.resources.generated.resources.player_play
|
||||
import fr.ajaury.gwenedeg.resources.generated.resources.player_replay
|
||||
import fr.ajaury.gwenedeg.theme.ChomBevTheme
|
||||
import bzh.ajaury.chombev.player.model.PlaybackState
|
||||
import bzh.ajaury.chombev.resources.generated.resources.Res
|
||||
import bzh.ajaury.chombev.resources.generated.resources.player_pause
|
||||
import bzh.ajaury.chombev.resources.generated.resources.player_play
|
||||
import bzh.ajaury.chombev.resources.generated.resources.player_replay
|
||||
import bzh.ajaury.chombev.theme.ChomBevTheme
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import kotlin.time.Duration
|
||||
import kotlin.time.Duration.Companion.seconds
|
||||
+3
-5
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.player.ui.components
|
||||
package bzh.ajaury.chombev.player.ui.components
|
||||
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.material3.Slider
|
||||
@@ -9,13 +9,12 @@ import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import fr.ajaury.gwenedeg.player.model.PlaybackTiming
|
||||
import fr.ajaury.gwenedeg.theme.ChomBevTheme
|
||||
import bzh.ajaury.chombev.player.model.PlaybackTiming
|
||||
import bzh.ajaury.chombev.theme.ChomBevTheme
|
||||
import kotlin.time.Duration
|
||||
import kotlin.time.Duration.Companion.milliseconds
|
||||
import kotlin.time.Duration.Companion.seconds
|
||||
|
||||
|
||||
@Composable
|
||||
fun PlaybackProgress(
|
||||
playbackTiming: PlaybackTiming,
|
||||
@@ -67,4 +66,3 @@ private fun PlaybackProgressEndedPreview() {
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
+4
-4
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.player.ui.components
|
||||
package bzh.ajaury.chombev.player.ui.components
|
||||
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.material.icons.Icons
|
||||
@@ -9,9 +9,9 @@ import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import fr.ajaury.gwenedeg.resources.generated.resources.Res
|
||||
import fr.ajaury.gwenedeg.resources.generated.resources.player_previous_sentence
|
||||
import fr.ajaury.gwenedeg.theme.ChomBevTheme
|
||||
import bzh.ajaury.chombev.resources.generated.resources.Res
|
||||
import bzh.ajaury.chombev.resources.generated.resources.player_previous_sentence
|
||||
import bzh.ajaury.chombev.theme.ChomBevTheme
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
|
||||
@Composable
|
||||
+4
-4
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.player.ui.components
|
||||
package bzh.ajaury.chombev.player.ui.components
|
||||
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.material.icons.Icons
|
||||
@@ -11,9 +11,9 @@ import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import fr.ajaury.gwenedeg.resources.generated.resources.Res
|
||||
import fr.ajaury.gwenedeg.resources.generated.resources.playback_settings_action
|
||||
import fr.ajaury.gwenedeg.theme.ChomBevTheme
|
||||
import bzh.ajaury.chombev.resources.generated.resources.Res
|
||||
import bzh.ajaury.chombev.resources.generated.resources.playback_settings_action
|
||||
import bzh.ajaury.chombev.theme.ChomBevTheme
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
|
||||
/**
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
package fr.ajaury.gwenedeg.player.ui.components
|
||||
package bzh.ajaury.chombev.player.ui.components
|
||||
|
||||
import androidx.compose.foundation.Canvas
|
||||
import androidx.compose.foundation.layout.Box
|
||||
@@ -28,7 +28,7 @@ import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.em
|
||||
import androidx.compose.ui.unit.sp
|
||||
import fr.ajaury.gwenedeg.theme.ChomBevTheme
|
||||
import bzh.ajaury.chombev.theme.ChomBevTheme
|
||||
|
||||
/**
|
||||
* Matches a single letter marked in a transcription, either:
|
||||
+5
-5
@@ -1,9 +1,9 @@
|
||||
package fr.ajaury.gwenedeg.player.ui.viewmodel
|
||||
package bzh.ajaury.chombev.player.ui.viewmodel
|
||||
|
||||
import fr.ajaury.gwenedeg.core.model.Phrase
|
||||
import fr.ajaury.gwenedeg.player.model.PlayerState
|
||||
import fr.ajaury.gwenedeg.preferences.model.PlaybackPreferences
|
||||
import fr.ajaury.gwenedeg.preferences.model.SubtitlePreferences
|
||||
import bzh.ajaury.chombev.core.model.Phrase
|
||||
import bzh.ajaury.chombev.player.model.PlayerState
|
||||
import bzh.ajaury.chombev.preferences.model.PlaybackPreferences
|
||||
import bzh.ajaury.chombev.preferences.model.SubtitlePreferences
|
||||
import kotlin.time.Duration
|
||||
import kotlin.time.Duration.Companion.seconds
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user