Skip to content

Commit c72677a

Browse files
committed
refactor: partial migration from media to media3
1 parent 2b72a47 commit c72677a

20 files changed

+536
-1367
lines changed

app/src/main/java/io/github/zyrouge/symphony/MainActivity.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ class MainActivity : ComponentActivity() {
3333
val symphony: Symphony by viewModels()
3434
symphony.permission.handle(this)
3535
gSymphony = symphony
36+
Symphony.globalInstance = symphony
3637
symphony.emitActivityReady()
3738
attachHandlers()
3839

app/src/main/java/io/github/zyrouge/symphony/Symphony.kt

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.github.zyrouge.symphony
22

33
import android.app.Application
4+
import android.content.Context
45
import android.widget.Toast
56
import androidx.compose.runtime.getValue
67
import androidx.compose.runtime.mutableStateOf
@@ -18,15 +19,7 @@ import kotlinx.coroutines.Dispatchers
1819
import kotlinx.coroutines.launch
1920
import kotlinx.coroutines.withContext
2021

21-
class Symphony(application: Application) : AndroidViewModel(application), Symphony.Hooks {
22-
interface Hooks {
23-
fun onSymphonyReady() {}
24-
fun onSymphonyDestroy() {}
25-
fun onSymphonyActivityReady() {}
26-
fun onSymphonyActivityPause() {}
27-
fun onSymphonyActivityDestroy() {}
28-
}
29-
22+
class Symphony(application: Application) : AndroidViewModel(application), SymphonyHooks {
3023
val permission = Permissions(this)
3124
val settings = Settings(this)
3225
val database = Database(this)
@@ -36,7 +29,7 @@ class Symphony(application: Application) : AndroidViewModel(application), Sympho
3629

3730
var t by mutableStateOf(translator.getCurrentTranslation())
3831

39-
val applicationContext get() = getApplication<Application>().applicationContext
32+
val applicationContext: Context get() = getApplication<Application>().applicationContext
4033
var closeApp: (() -> Unit)? = null
4134
private var isReady = false
4235
private var hooks = listOf(this, radio, groove)
@@ -80,7 +73,7 @@ class Symphony(application: Application) : AndroidViewModel(application), Sympho
8073
emitDestroy()
8174
}
8275

83-
private fun notifyHooks(fn: Hooks.() -> Unit) {
76+
private fun notifyHooks(fn: SymphonyHooks.() -> Unit) {
8477
hooks.forEach { fn.invoke(it) }
8578
}
8679

@@ -106,4 +99,8 @@ class Symphony(application: Application) : AndroidViewModel(application), Sympho
10699
}
107100
}
108101
}
102+
103+
companion object {
104+
var globalInstance: Symphony? = null
105+
}
109106
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package io.github.zyrouge.symphony
2+
3+
interface SymphonyHooks {
4+
fun onSymphonyReady() {}
5+
fun onSymphonyDestroy() {}
6+
fun onSymphonyActivityReady() {}
7+
fun onSymphonyActivityPause() {}
8+
fun onSymphonyActivityDestroy() {}
9+
}

app/src/main/java/io/github/zyrouge/symphony/services/database/store/SongQueueSongMappingStore.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,13 @@ abstract class SongQueueSongMappingStore {
3333
return delete(SimpleSQLiteQuery(query, args))
3434
}
3535

36+
suspend fun deleteAll(queueId: String): Int {
37+
val query = "DELETE FROM ${SongQueueSongMapping.TABLE} " +
38+
"WHERE ${SongQueueSongMapping.COLUMN_QUEUE_ID} = ? "
39+
val args = arrayOf(queueId)
40+
return delete(SimpleSQLiteQuery(query, args))
41+
}
42+
3643
@RawQuery
3744
protected abstract fun findById(query: SupportSQLiteQuery): Song.AlongSongQueueMapping?
3845

app/src/main/java/io/github/zyrouge/symphony/services/groove/Groove.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.github.zyrouge.symphony.services.groove
22

33
import io.github.zyrouge.symphony.Symphony
4+
import io.github.zyrouge.symphony.SymphonyHooks
45
import io.github.zyrouge.symphony.services.groove.repositories.AlbumRepository
56
import io.github.zyrouge.symphony.services.groove.repositories.ArtistRepository
67
import io.github.zyrouge.symphony.services.groove.repositories.GenreRepository
@@ -11,7 +12,7 @@ import kotlinx.coroutines.CoroutineScope
1112
import kotlinx.coroutines.Dispatchers
1213
import kotlinx.coroutines.launch
1314

14-
class Groove(private val symphony: Symphony) : Symphony.Hooks {
15+
class Groove(private val symphony: Symphony) : SymphonyHooks {
1516
enum class Kind {
1617
SONG,
1718
ALBUM,

0 commit comments

Comments
 (0)