개별 콘텐츠 재생 <-> 재생목록 재생
- 기존에 재생 중인 콘텐츠(재생목록)를 멈추고 신규로 재생한 콘텐츠(재생목록)가 단독으로 재생되도록 수정
This commit is contained in:
parent
cb1dadab9d
commit
8c8b8c1747
|
@ -21,6 +21,7 @@ import android.widget.Toast
|
||||||
import androidx.activity.result.ActivityResultLauncher
|
import androidx.activity.result.ActivityResultLauncher
|
||||||
import androidx.activity.result.contract.ActivityResultContracts
|
import androidx.activity.result.contract.ActivityResultContracts
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
|
import androidx.media3.common.util.UnstableApi
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import coil.load
|
import coil.load
|
||||||
|
@ -36,6 +37,7 @@ import kr.co.vividnext.sodalive.audio_content.modify.AudioContentModifyActivity
|
||||||
import kr.co.vividnext.sodalive.audio_content.order.AudioContentOrderConfirmDialog
|
import kr.co.vividnext.sodalive.audio_content.order.AudioContentOrderConfirmDialog
|
||||||
import kr.co.vividnext.sodalive.audio_content.order.AudioContentOrderFragment
|
import kr.co.vividnext.sodalive.audio_content.order.AudioContentOrderFragment
|
||||||
import kr.co.vividnext.sodalive.audio_content.order.OrderType
|
import kr.co.vividnext.sodalive.audio_content.order.OrderType
|
||||||
|
import kr.co.vividnext.sodalive.audio_content.player.AudioContentPlayerService
|
||||||
import kr.co.vividnext.sodalive.base.BaseActivity
|
import kr.co.vividnext.sodalive.base.BaseActivity
|
||||||
import kr.co.vividnext.sodalive.base.SodaDialog
|
import kr.co.vividnext.sodalive.base.SodaDialog
|
||||||
import kr.co.vividnext.sodalive.common.Constants
|
import kr.co.vividnext.sodalive.common.Constants
|
||||||
|
@ -57,6 +59,7 @@ import kr.co.vividnext.sodalive.report.ReportType
|
||||||
import org.koin.android.ext.android.inject
|
import org.koin.android.ext.android.inject
|
||||||
import kotlin.math.ceil
|
import kotlin.math.ceil
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
class AudioContentDetailActivity : BaseActivity<ActivityAudioContentDetailBinding>(
|
class AudioContentDetailActivity : BaseActivity<ActivityAudioContentDetailBinding>(
|
||||||
ActivityAudioContentDetailBinding::inflate
|
ActivityAudioContentDetailBinding::inflate
|
||||||
) {
|
) {
|
||||||
|
@ -662,6 +665,11 @@ class AudioContentDetailActivity : BaseActivity<ActivityAudioContentDetailBindin
|
||||||
) {
|
) {
|
||||||
binding.ivPlayOrPause.visibility = View.VISIBLE
|
binding.ivPlayOrPause.visibility = View.VISIBLE
|
||||||
binding.ivPlayOrPause.setOnClickListener {
|
binding.ivPlayOrPause.setOnClickListener {
|
||||||
|
startService(
|
||||||
|
Intent(applicationContext, AudioContentPlayerService::class.java).apply {
|
||||||
|
action = "STOP_SERVICE"
|
||||||
|
}
|
||||||
|
)
|
||||||
startService(
|
startService(
|
||||||
Intent(this, AudioContentPlayService::class.java).apply {
|
Intent(this, AudioContentPlayService::class.java).apply {
|
||||||
putExtra(
|
putExtra(
|
||||||
|
|
|
@ -24,6 +24,7 @@ import androidx.recyclerview.widget.RecyclerView
|
||||||
import coil.load
|
import coil.load
|
||||||
import coil.transform.RoundedCornersTransformation
|
import coil.transform.RoundedCornersTransformation
|
||||||
import kr.co.vividnext.sodalive.R
|
import kr.co.vividnext.sodalive.R
|
||||||
|
import kr.co.vividnext.sodalive.audio_content.AudioContentPlayService
|
||||||
import kr.co.vividnext.sodalive.audio_content.player.AudioContentPlayerFragment
|
import kr.co.vividnext.sodalive.audio_content.player.AudioContentPlayerFragment
|
||||||
import kr.co.vividnext.sodalive.audio_content.player.AudioContentPlayerService
|
import kr.co.vividnext.sodalive.audio_content.player.AudioContentPlayerService
|
||||||
import kr.co.vividnext.sodalive.audio_content.playlist.modify.AudioContentPlaylistModifyActivity
|
import kr.co.vividnext.sodalive.audio_content.playlist.modify.AudioContentPlaylistModifyActivity
|
||||||
|
@ -244,9 +245,21 @@ class AudioContentPlaylistDetailActivity : BaseActivity<ActivityAudioContentPlay
|
||||||
recyclerView.adapter = adapter
|
recyclerView.adapter = adapter
|
||||||
|
|
||||||
binding.llPlay.setOnClickListener {
|
binding.llPlay.setOnClickListener {
|
||||||
|
startService(
|
||||||
|
Intent(applicationContext, AudioContentPlayService::class.java).apply {
|
||||||
|
action = AudioContentPlayService.MusicAction.STOP.name
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
showPlayerFragment(contentList = ArrayList(contentList))
|
showPlayerFragment(contentList = ArrayList(contentList))
|
||||||
}
|
}
|
||||||
binding.llShuffle.setOnClickListener {
|
binding.llShuffle.setOnClickListener {
|
||||||
|
startService(
|
||||||
|
Intent(applicationContext, AudioContentPlayService::class.java).apply {
|
||||||
|
action = AudioContentPlayService.MusicAction.STOP.name
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
val shuffledList = ArrayList(contentList).apply { shuffle(Random) }
|
val shuffledList = ArrayList(contentList).apply { shuffle(Random) }
|
||||||
showPlayerFragment(contentList = shuffledList)
|
showPlayerFragment(contentList = shuffledList)
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,22 +54,16 @@
|
||||||
app:layout_constraintTop_toTopOf="@+id/iv_creator_profile"
|
app:layout_constraintTop_toTopOf="@+id/iv_creator_profile"
|
||||||
tools:text="닉네임" />
|
tools:text="닉네임" />
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="240dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="vertical"
|
|
||||||
app:layout_constraintBottom_toTopOf="@+id/sb_progress"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/iv_creator_profile">
|
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/iv_cover"
|
android:id="@+id/iv_cover"
|
||||||
android:layout_width="240dp"
|
android:layout_width="240dp"
|
||||||
android:layout_height="240dp"
|
android:layout_height="240dp"
|
||||||
android:contentDescription="@null"
|
android:contentDescription="@null"
|
||||||
|
app:layout_constraintBottom_toTopOf="@+id/sb_progress"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/iv_creator_profile"
|
||||||
tools:src="@drawable/img_compleate_book" />
|
tools:src="@drawable/img_compleate_book" />
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<SeekBar
|
<SeekBar
|
||||||
android:id="@+id/sb_progress"
|
android:id="@+id/sb_progress"
|
||||||
|
|
Loading…
Reference in New Issue