Skip to content

Commit 9b91048

Browse files
committed
Replace MediaPlayer with ExoPlayer for ringtone playback. #133
1 parent f9483c1 commit 9b91048

File tree

9 files changed

+126
-167
lines changed

9 files changed

+126
-167
lines changed

app-base/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ dependencies {
2323
api libs.androidx.constraintLayout
2424
implementation libs.androidx.customTabs
2525
implementation libs.androidx.media
26+
implementation libs.androidx.media3.player
2627
api libs.androidx.fragment
2728

2829
api libs.material

app-base/src/main/java/xyz/aprildown/timer/app/base/media/AsyncRingtonePlayer.kt

Lines changed: 89 additions & 158 deletions
Large diffs are not rendered by default.

app-base/src/main/java/xyz/aprildown/timer/app/base/media/RingtonePreviewKlaxon.kt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,18 +32,16 @@ object RingtonePreviewKlaxon {
3232
fun start(
3333
context: Context,
3434
uri: Uri,
35-
crescendoDuration: Long,
3635
loop: Boolean,
3736
audioFocusType: Int,
38-
streamType: Int
37+
streamType: Int,
3938
) {
4039
stop(context)
4140
getAsyncRingtonePlayer(context).play(
4241
ringtoneUri = uri,
43-
crescendoDuration = crescendoDuration,
4442
loop = loop,
4543
audioFocusType = audioFocusType,
46-
streamType = streamType
44+
streamType = streamType,
4745
)
4846
}
4947

app-timer-run/src/main/java/xyz/aprildown/timer/app/timer/run/MachineService.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,6 @@ class MachineService :
338338
RingtonePreviewKlaxon.start(
339339
context = this,
340340
uri = uri,
341-
crescendoDuration = 250,
342341
loop = loop,
343342
audioFocusType = storedAudioFocusType,
344343
streamType = storedAudioTypeValue

app/dependencies/dogReleaseRuntimeClasspath.txt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,13 @@ androidx.lifecycle:lifecycle-viewmodel-savedstate-android:2.9.0
112112
androidx.lifecycle:lifecycle-viewmodel-savedstate:2.9.0
113113
androidx.lifecycle:lifecycle-viewmodel:2.9.0
114114
androidx.loader:loader:1.0.0
115+
androidx.media3:media3-common:1.7.1
116+
androidx.media3:media3-container:1.7.1
117+
androidx.media3:media3-database:1.7.1
118+
androidx.media3:media3-datasource:1.7.1
119+
androidx.media3:media3-decoder:1.7.1
120+
androidx.media3:media3-exoplayer:1.7.1
121+
androidx.media3:media3-extractor:1.7.1
115122
androidx.media:media:1.7.0
116123
androidx.navigation:navigation-common-android:2.9.1
117124
androidx.navigation:navigation-common:2.9.1
@@ -176,7 +183,9 @@ com.google.dagger:dagger-lint-aar:2.56.2
176183
com.google.dagger:dagger:2.56.2
177184
com.google.dagger:hilt-android:2.56.2
178185
com.google.dagger:hilt-core:2.56.2
179-
com.google.guava:listenablefuture:1.0
186+
com.google.guava:failureaccess:1.0.2
187+
com.google.guava:guava:33.3.1-android
188+
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
180189
com.jakewharton.timber:timber:5.0.1
181190
com.joaomgcd:taskerpluginlibrary:0.4.10
182191
com.materialkolor:material-color-utilities-android:1.5.1
@@ -225,6 +234,7 @@ org.jetbrains.compose.ui:ui-unit:1.8.0
225234
org.jetbrains.compose.ui:ui-util:1.8.0
226235
org.jetbrains.compose.ui:ui:1.8.0
227236
org.jetbrains.kotlin:kotlin-android-extensions-runtime:2.1.21
237+
org.jetbrains.kotlin:kotlin-bom:1.8.0
228238
org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.21
229239
org.jetbrains.kotlin:kotlin-stdlib-common:2.1.21
230240
org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.21

app/dependencies/googleReleaseRuntimeClasspath.txt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,13 @@ androidx.lifecycle:lifecycle-viewmodel-savedstate:2.9.0
130130
androidx.lifecycle:lifecycle-viewmodel:2.9.0
131131
androidx.loader:loader:1.0.0
132132
androidx.localbroadcastmanager:localbroadcastmanager:1.0.0
133+
androidx.media3:media3-common:1.7.1
134+
androidx.media3:media3-container:1.7.1
135+
androidx.media3:media3-database:1.7.1
136+
androidx.media3:media3-datasource:1.7.1
137+
androidx.media3:media3-decoder:1.7.1
138+
androidx.media3:media3-exoplayer:1.7.1
139+
androidx.media3:media3-extractor:1.7.1
133140
androidx.media:media:1.7.0
134141
androidx.navigation:navigation-common-android:2.9.1
135142
androidx.navigation:navigation-common:2.9.1
@@ -240,7 +247,9 @@ com.google.firebase:firebase-measurement-connector:20.0.1
240247
com.google.firebase:firebase-sessions:2.1.2
241248
com.google.firebase:firebase-storage-ktx:21.0.2
242249
com.google.firebase:firebase-storage:21.0.2
243-
com.google.guava:listenablefuture:1.0
250+
com.google.guava:failureaccess:1.0.2
251+
com.google.guava:guava:33.3.1-android
252+
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
244253
com.jakewharton.timber:timber:5.0.1
245254
com.joaomgcd:taskerpluginlibrary:0.4.10
246255
com.materialkolor:material-color-utilities-android:1.5.1
@@ -290,6 +299,7 @@ org.jetbrains.compose.ui:ui-unit:1.8.0
290299
org.jetbrains.compose.ui:ui-util:1.8.0
291300
org.jetbrains.compose.ui:ui:1.8.0
292301
org.jetbrains.kotlin:kotlin-android-extensions-runtime:2.1.21
302+
org.jetbrains.kotlin:kotlin-bom:1.8.0
293303
org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.21
294304
org.jetbrains.kotlin:kotlin-stdlib-common:2.1.21
295305
org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.0

app/dependencies/otherReleaseRuntimeClasspath.txt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,13 @@ androidx.lifecycle:lifecycle-viewmodel-savedstate-android:2.9.0
112112
androidx.lifecycle:lifecycle-viewmodel-savedstate:2.9.0
113113
androidx.lifecycle:lifecycle-viewmodel:2.9.0
114114
androidx.loader:loader:1.0.0
115+
androidx.media3:media3-common:1.7.1
116+
androidx.media3:media3-container:1.7.1
117+
androidx.media3:media3-database:1.7.1
118+
androidx.media3:media3-datasource:1.7.1
119+
androidx.media3:media3-decoder:1.7.1
120+
androidx.media3:media3-exoplayer:1.7.1
121+
androidx.media3:media3-extractor:1.7.1
115122
androidx.media:media:1.7.0
116123
androidx.navigation:navigation-common-android:2.9.1
117124
androidx.navigation:navigation-common:2.9.1
@@ -176,7 +183,9 @@ com.google.dagger:dagger-lint-aar:2.56.2
176183
com.google.dagger:dagger:2.56.2
177184
com.google.dagger:hilt-android:2.56.2
178185
com.google.dagger:hilt-core:2.56.2
179-
com.google.guava:listenablefuture:1.0
186+
com.google.guava:failureaccess:1.0.2
187+
com.google.guava:guava:33.3.1-android
188+
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
180189
com.jakewharton.timber:timber:5.0.1
181190
com.joaomgcd:taskerpluginlibrary:0.4.10
182191
com.materialkolor:material-color-utilities-android:1.5.1
@@ -225,6 +234,7 @@ org.jetbrains.compose.ui:ui-unit:1.8.0
225234
org.jetbrains.compose.ui:ui-util:1.8.0
226235
org.jetbrains.compose.ui:ui:1.8.0
227236
org.jetbrains.kotlin:kotlin-android-extensions-runtime:2.1.21
237+
org.jetbrains.kotlin:kotlin-bom:1.8.0
228238
org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.21
229239
org.jetbrains.kotlin:kotlin-stdlib-common:2.1.21
230240
org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.21

component-tts/src/main/java/com/github/deweyreed/timer/component/tts/TtsSpeaker.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,6 @@ private class WelcomingTextToSpeech(
303303
RingtonePreviewKlaxon.start(
304304
context = application,
305305
uri = speechUri,
306-
crescendoDuration = 0L,
307306
loop = false,
308307
audioFocusType = 0, // AudioManager.AUDIOFOCUS_NONE
309308
streamType = streamType

gradle/libs.versions.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ androidx-lifecycle-viewModel = "androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7
7676
androidx-customTabs = "androidx.browser:browser:1.8.0"
7777
androidx-dynamicAnimation = "androidx.dynamicanimation:dynamicanimation:1.1.0"
7878
androidx-media = "androidx.media:media:1.7.0"
79+
androidx-media3-player = "androidx.media3:media3-exoplayer:1.7.1"
7980
androidx-core = "androidx.core:core-ktx:1.16.0"
8081
androidx-collection = "androidx.collection:collection-ktx:1.5.0"
8182
androidx-profileinstaller = "androidx.profileinstaller:profileinstaller:1.4.1"

0 commit comments

Comments
 (0)