diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/player/AudioContentPlayerFragment.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/player/AudioContentPlayerFragment.kt
index 2e24868..617a145 100644
--- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/player/AudioContentPlayerFragment.kt
+++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/player/AudioContentPlayerFragment.kt
@@ -353,6 +353,26 @@ class AudioContentPlayerFragment(
}
}
+ binding.ivSeekForward10.setOnClickListener {
+ mediaController?.let {
+ val sessionCommand = SessionCommand(
+ "SEEK_FORWARD",
+ Bundle.EMPTY
+ )
+ it.sendCustomCommand(sessionCommand, Bundle.EMPTY)
+ }
+ }
+
+ binding.ivSeekBackward10.setOnClickListener {
+ mediaController?.let {
+ val sessionCommand = SessionCommand(
+ "SEEK_BACKWARD",
+ Bundle.EMPTY
+ )
+ it.sendCustomCommand(sessionCommand, Bundle.EMPTY)
+ }
+ }
+
binding.sbProgress.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener {
override fun onProgressChanged(
seekBar: SeekBar?,
diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/player/AudioContentPlayerService.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/player/AudioContentPlayerService.kt
index d5b3299..bf5b259 100644
--- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/player/AudioContentPlayerService.kt
+++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/player/AudioContentPlayerService.kt
@@ -130,6 +130,8 @@ class AudioContentPlayerService : MediaSessionService() {
.add(SessionCommand("PLAY_PREVIOUS_CONTENT", Bundle.EMPTY))
.add(SessionCommand("PLAY_SELECTED_CONTENT", Bundle.EMPTY))
.add(SessionCommand("GET_PLAYLIST", Bundle.EMPTY))
+ .add(SessionCommand("SEEK_FORWARD", Bundle.EMPTY))
+ .add(SessionCommand("SEEK_BACKWARD", Bundle.EMPTY))
.build()
return MediaSession.ConnectionResult.AcceptedResultBuilder(session)
@@ -176,6 +178,16 @@ class AudioContentPlayerService : MediaSessionService() {
Futures.immediateFuture(SessionResult(SessionResult.RESULT_SUCCESS))
}
+ "SEEK_FORWARD" -> {
+ playSeekForward()
+ Futures.immediateFuture(SessionResult(SessionResult.RESULT_SUCCESS))
+ }
+
+ "SEEK_BACKWARD" -> {
+ playSeekBackward()
+ Futures.immediateFuture(SessionResult(SessionResult.RESULT_SUCCESS))
+ }
+
"GET_PLAYLIST" -> {
val extras = Bundle().apply {
putParcelableArrayList(
@@ -227,6 +239,25 @@ class AudioContentPlayerService : MediaSessionService() {
}
}
+ private fun playSeekForward() {
+ val currentPosition = player!!.currentPosition
+ val duration = player!!.duration
+ var newPosition = currentPosition + SEEK_INTERVAL_MS
+ if (newPosition > duration) {
+ newPosition = duration
+ }
+ player!!.seekTo(newPosition)
+ }
+
+ private fun playSeekBackward() {
+ val currentPosition = player!!.currentPosition
+ var newPosition = currentPosition - SEEK_INTERVAL_MS
+ if (newPosition < 0) {
+ newPosition = 0
+ }
+ player!!.seekTo(newPosition)
+ }
+
private fun urlGenerateSuccess(
content: AudioContentPlaylistContent,
contentUrl: String
@@ -318,4 +349,8 @@ class AudioContentPlayerService : MediaSessionService() {
)
)
}
+
+ companion object {
+ private const val SEEK_INTERVAL_MS = 10 * 1000
+ }
}
diff --git a/app/src/main/res/drawable-xxhdpi/ic_player_next_10.png b/app/src/main/res/drawable-xxhdpi/ic_player_next_10.png
new file mode 100755
index 0000000..c5ae6d1
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_player_next_10.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_player_next_15.png b/app/src/main/res/drawable-xxhdpi/ic_player_next_15.png
deleted file mode 100755
index 69e92ed..0000000
Binary files a/app/src/main/res/drawable-xxhdpi/ic_player_next_15.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_player_prev_10.png b/app/src/main/res/drawable-xxhdpi/ic_player_prev_10.png
new file mode 100755
index 0000000..90d7a57
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_player_prev_10.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_player_prev_15.png b/app/src/main/res/drawable-xxhdpi/ic_player_prev_15.png
deleted file mode 100755
index 9800457..0000000
Binary files a/app/src/main/res/drawable-xxhdpi/ic_player_prev_15.png and /dev/null differ
diff --git a/app/src/main/res/layout/fragment_audio_content_player.xml b/app/src/main/res/layout/fragment_audio_content_player.xml
index a4162c2..3ed11f9 100644
--- a/app/src/main/res/layout/fragment_audio_content_player.xml
+++ b/app/src/main/res/layout/fragment_audio_content_player.xml
@@ -24,9 +24,9 @@
android:ellipsize="end"
android:fontFamily="@font/gmarket_sans_medium"
android:maxLines="2"
+ android:padding="5dp"
android:textColor="@color/color_eeeeee"
android:textSize="16sp"
- android:padding="5dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/iv_close"
@@ -142,6 +142,29 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/iv_play_or_pause" />
+
+
+
+