11package com.example.floclone
22
33import android.content.Intent
4+ import android.graphics.PorterDuff
45import android.os.Bundle
56import android.view.View
7+ import android.widget.TextView
68import androidx.appcompat.app.AppCompatActivity
9+ import androidx.core.content.ContextCompat
710import com.example.floclone.databinding.ActivitySongBinding
811
912class SongActivity : AppCompatActivity () {
1013
1114 lateinit var binding: ActivitySongBinding
15+ private var isRepeatActive = false
16+ private var isRandomActive = false
17+
1218
1319 override fun onCreate (savedInstanceState : Bundle ? ) {
1420 super .onCreate(savedInstanceState)
@@ -18,7 +24,7 @@ class SongActivity : AppCompatActivity() {
1824
1925 // 내리기 버튼 클릭 시 현재 액티비티 종료
2026 binding.songDownIb.setOnClickListener {
21- returnSongTitle() // 노래 제목 반환
27+ returnSongTitle() // 앨범 제목 반환
2228 finish()
2329 }
2430
@@ -29,6 +35,32 @@ class SongActivity : AppCompatActivity() {
2935 setPlayerStatus(true )
3036 }
3137
38+ // 반복 재생 버튼 클릭 리스너 추가
39+ binding.songRepeatIv.setOnClickListener {
40+ isRepeatActive = ! isRepeatActive
41+ if (isRepeatActive) {
42+ binding.songRepeatIv.setColorFilter(
43+ ContextCompat .getColor(this , R .color.select_color),
44+ PorterDuff .Mode .SRC_IN
45+ )
46+ } else {
47+ binding.songRepeatIv.clearColorFilter()
48+ }
49+ }
50+
51+ // 랜덤 재생 버튼 클릭 리스너 추가
52+ binding.songRandomIv.setOnClickListener {
53+ isRandomActive = ! isRandomActive
54+ if (isRandomActive) {
55+ binding.songRandomIv.setColorFilter(
56+ ContextCompat .getColor(this , R .color.select_color),
57+ PorterDuff .Mode .SRC_IN
58+ )
59+ } else {
60+ binding.songRandomIv.clearColorFilter()
61+ }
62+ }
63+
3264 // MainActivity에서 전달받은 노래 제목과 가수 이름으로 TextView 값 변경
3365 if (intent.hasExtra(" title" ) && intent.hasExtra(" singer" )) {
3466 binding.songMusicTitleTv.text = intent.getStringExtra(" title" )
0 commit comments