- 볼륨 설정 추가
This commit is contained in:
2024-08-09 15:22:17 +09:00
parent 00774739ed
commit b56a0d58bf
8 changed files with 420 additions and 3 deletions

View File

@@ -1,7 +1,9 @@
package kr.co.vividnext.sodalive.mypage.alarm
import android.app.Activity
import android.content.Context
import android.content.Intent
import android.media.AudioManager
import android.os.Bundle
import android.widget.CheckBox
import android.widget.Toast
@@ -65,6 +67,11 @@ class AddAlarmActivity : BaseActivity<ActivityAddAlarmBinding>(
binding.chkSat
)
val audioManager = getSystemService(Context.AUDIO_SERVICE) as AudioManager
val maxVol = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC)
binding.sbVolume.max = maxVol
binding.sbVolume.progress = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC)
if (alarmId != -1) {
alarmViewModel.getAlarmById(alarmId).observe(this) { alarm ->
alarm?.let {
@@ -77,6 +84,7 @@ class AddAlarmActivity : BaseActivity<ActivityAddAlarmBinding>(
checkBox.isChecked = it.days.contains(checkBox.text.toString())
}
binding.tvContentTitle.text = it.contentTitle
binding.sbVolume.progress = it.volume
selectedContentId = it.contentId
selectedContentTitle = it.contentTitle
@@ -117,6 +125,7 @@ class AddAlarmActivity : BaseActivity<ActivityAddAlarmBinding>(
contentId = selectedContentId,
contentTitle = selectedContentTitle,
contentCreatorNickname = selectedContentCreatorNickname,
volume = binding.sbVolume.progress,
days = selectedDays.toList(),
)

View File

@@ -90,6 +90,7 @@ class AlarmActivity : BaseActivity<ActivityAlarmBinding>(
.format(alarm.time)
binding.tvDate.text = SimpleDateFormat("MM월 dd일", Locale.getDefault())
.format(alarm.time)
setVolume(alarm.volume)
}
private fun getContent(contentId: Long) {
@@ -124,7 +125,6 @@ class AlarmActivity : BaseActivity<ActivityAlarmBinding>(
}
private fun initMediaPlayer(alarmUrl: String) {
setVolume(audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC))
mediaPlayer = MediaPlayer()
mediaPlayer.isLooping = true
mediaPlayer.setDataSource(alarmUrl)

View File

@@ -12,6 +12,7 @@ data class Alarm(
val contentId: Long,
val contentTitle: String,
val contentCreatorNickname: String,
var volume: Int,
var isEnabled: Boolean = true
) {
fun getDaysText(): String {

View File

@@ -5,9 +5,11 @@ import androidx.room.Database
import androidx.room.Room
import androidx.room.RoomDatabase
import androidx.room.TypeConverters
import androidx.room.migration.Migration
import androidx.sqlite.db.SupportSQLiteDatabase
import kr.co.vividnext.sodalive.common.Converter
@Database(entities = [Alarm::class], version = 1)
@Database(entities = [Alarm::class], version = 2)
@TypeConverters(Converter::class)
abstract class AlarmDatabase : RoomDatabase() {
abstract fun alarmDao(): AlarmDao
@@ -22,10 +24,20 @@ abstract class AlarmDatabase : RoomDatabase() {
context.applicationContext,
AlarmDatabase::class.java,
"alarm_database"
).build()
)
.addMigrations(MIGRATION_1_2)
.build()
INSTANCE = instance
instance
}
}
private val MIGRATION_1_2 = object : Migration(1, 2) {
override fun migrate(database: SupportSQLiteDatabase) {
database.execSQL(
"ALTER TABLE 'alarms' ADD COLUMN 'volume' integer not null default 15"
)
}
}
}
}

View File

@@ -150,6 +150,21 @@
android:src="@drawable/ic_forward" />
</RelativeLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="21dp"
android:text="볼륨"
android:textColor="@color/color_eeeeee"
android:textSize="14.7sp" />
<SeekBar
android:id="@+id/sb_volume"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="13.3dp"
android:padding="0dp" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"