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