package com.sinata.xqmuse.ui.home
|
|
import androidx.core.os.bundleOf
|
import cn.sinata.xldutils.gone
|
import cn.sinata.xldutils.utils.SPUtils
|
import cn.sinata.xldutils.utils.showAllowingStateLoss
|
import com.sinata.xqmuse.R
|
import com.sinata.xqmuse.dialog.CommentDialog
|
import com.sinata.xqmuse.dialog.ShareDialog
|
import com.sinata.xqmuse.dialog.TimeSettingDialog
|
import com.sinata.xqmuse.dialog.VolumeDialog
|
import com.sinata.xqmuse.network.HttpManager
|
import com.sinata.xqmuse.network.entity.VoiceDetail
|
import com.sinata.xqmuse.network.request
|
import com.sinata.xqmuse.ui.TransparentStatusBarActivity
|
import com.sinata.xqmuse.utils.AudioUtils
|
import com.sinata.xqmuse.utils.Const
|
import com.sinata.xqmuse.utils.interfaces.StringCallback
|
import kotlinx.android.synthetic.main.activity_voice_detail.*
|
import org.jetbrains.anko.toast
|
|
class VoiceDetailActivity:TransparentStatusBarActivity() {
|
override fun setContentView() = R.layout.activity_voice_detail
|
|
private val id by lazy { intent.getStringExtra("id")?:"" }
|
private var voiceDetail:VoiceDetail? = null
|
private val player by lazy {
|
AudioUtils()
|
}
|
private var index = 0
|
private var isRecycle = true //true列表循环播放
|
|
override fun initClick() {
|
iv_back.setOnClickListener { finish() }
|
iv_collect.setOnClickListener {
|
collect()
|
}
|
|
iv_play.setOnClickListener {
|
if (voiceDetail!=null)
|
player.startPlayMusic(this,voiceDetail?.meditationMusicList!![index])
|
}
|
|
iv_share.setOnClickListener {
|
val shareDialog = ShareDialog()
|
shareDialog.callback = object :StringCallback{
|
override fun onResult(rst: String) {
|
if (rst == "wx"){
|
toast("微信分享")
|
}else{
|
toast("朋友圈分享")
|
}
|
}
|
}
|
shareDialog.showAllowingStateLoss(supportFragmentManager,"share")
|
}
|
|
iv_time.setOnClickListener {
|
val timeSettingDialog = TimeSettingDialog()
|
timeSettingDialog.callback = object :StringCallback{
|
override fun onResult(rst: String) {
|
toast("设置倒计时$rst")
|
}
|
}
|
timeSettingDialog.showAllowingStateLoss(supportFragmentManager,"time")
|
}
|
|
iv_recycle.setOnClickListener {
|
isRecycle = !isRecycle
|
iv_recycle.setImageResource(if (isRecycle) R.mipmap.ic_recycle else R.mipmap.danquxunhuan)
|
toast(if (isRecycle) "当前播放模式已设置为顺序播放" else "当前播放模式已设置为单曲循环")
|
}
|
tv_comment.setOnClickListener {
|
val commentDialog = CommentDialog()
|
commentDialog.arguments = bundleOf("id" to id)
|
commentDialog.showAllowingStateLoss(supportFragmentManager,"comment")
|
}
|
iv_volume.setOnClickListener {
|
val volumeDialog = VolumeDialog()
|
volumeDialog.showAllowingStateLoss(supportFragmentManager,"vol")
|
}
|
}
|
|
override fun initView() {
|
titleBar.gone()
|
isRecycle = SPUtils.instance().getBoolean(Const.User.IS_RECYCLE,true)
|
getDetail()
|
}
|
|
private fun getDetail() {
|
HttpManager.getMeditationDetails(id).request(this){_,data->
|
this.voiceDetail = data
|
data?.apply {
|
iv_collect.setImageResource(if (favorite == 1) R.mipmap.collected else R.mipmap.uncollect)
|
iv_bg.setImageURI(backgroundUrl)
|
tv_name.text = meditationTitle
|
tv_subtitle.text = detailDescription
|
tv_comment.text = questionCount
|
}
|
}
|
}
|
|
private fun collect(){
|
HttpManager.favorite(id).request(this){_,data->
|
voiceDetail?.favorite = if (voiceDetail?.favorite == 1) 2 else 1
|
iv_collect.setImageResource(if (voiceDetail?.favorite == 1) R.mipmap.collected else R.mipmap.uncollect)
|
}
|
}
|
|
}
|