From 449bdb5d2b5bf7b272ca5cda4c066f9a65040064 Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期二, 04 三月 2025 14:30:40 +0800 Subject: [PATCH] fix --- app/src/main/java/com/sinata/xqmuse/ui/home/HomeFragment.kt | 96 +++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 78 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/com/sinata/xqmuse/ui/home/HomeFragment.kt b/app/src/main/java/com/sinata/xqmuse/ui/home/HomeFragment.kt index 10cdb14..484e879 100644 --- a/app/src/main/java/com/sinata/xqmuse/ui/home/HomeFragment.kt +++ b/app/src/main/java/com/sinata/xqmuse/ui/home/HomeFragment.kt @@ -4,11 +4,14 @@ import androidx.recyclerview.widget.LinearLayoutManager import cn.sinata.xldutils.fragment.BaseFragment import cn.sinata.xldutils.gone -import cn.sinata.xldutils.utils.SPUtils +import cn.sinata.xldutils.invisible import cn.sinata.xldutils.utils.ellipsize import cn.sinata.xldutils.visible +import com.google.android.exoplayer2.upstream.DataSpec +import com.google.android.exoplayer2.upstream.RawResourceDataSource import com.sinata.xqmuse.MainActivity import com.sinata.xqmuse.R +import com.sinata.xqmuse.ThinkAudioService import com.sinata.xqmuse.network.HttpManager import com.sinata.xqmuse.network.entity.* import com.sinata.xqmuse.network.requestByF @@ -25,7 +28,6 @@ import com.sinata.xqmuse.utils.interfaces.StringCallback import kotlinx.android.synthetic.main.fragment_home.* import org.greenrobot.eventbus.EventBus -import org.jetbrains.anko.startActivity import org.jetbrains.anko.support.v4.startActivity import org.jetbrains.anko.support.v4.toast @@ -64,13 +66,13 @@ getList() getBottomMenu() initClick() - changeBg() } fun refreshData(){ getToday() getPrivacy() getList() + EventBus.getDefault().post(EmptyEvent(Const.EventCode.CHANGE_BGM)) //BGM切换流程 } private fun initClick() { @@ -80,7 +82,7 @@ iv_privacy.setOnClickListener { startActivity<GuideActivity>() } - iv_guide.setOnClickListener { + tv_3.setOnClickListener { HttpManager.getH5(4).requestByF(this){ _, data-> data?.let { startActivity<H5Activity>("title" to "新手冥想指南","url" to it.content) @@ -98,9 +100,11 @@ } iv_today.setOnClickListener { if (today!=null){ - if (MainActivity.voice?.id == today?.meditationId){ + if (today?.isShow == 1){ //跳转播放微电影 + startActivity<MicroVideoActivity>("url" to today?.meditationVideo?.videoUrl,"title" to today?.meditationVideo?.title) + }else if (ThinkAudioService.voice?.id == today?.meditationId){ EventBus.getDefault().post(EmptyEvent(Const.EventCode.PAUSE_OR_RESUME_THINK)) - if (MainActivity.playing) //播放中 + if (ThinkAudioService.playing) //播放中 iv_play_today.setImageResource(R.mipmap.player_pause) else iv_play_today.setImageResource(R.mipmap.play) @@ -113,9 +117,9 @@ }else if (data?.chargeType == 3&&data.isBuy != 1){ //单独收费且未购买 startActivity<BuyVoiceActivity>("id" to data.id) }else{ - if (MainActivity.playing) + if (ThinkAudioService.playing) EventBus.getDefault().post(EmptyEvent(Const.EventCode.FINISH_THINK)) - MainActivity.voice = data + ThinkAudioService.voice = data EventBus.getDefault().post(EmptyEvent(Const.EventCode.START_THINK)) } }){_,_-> @@ -136,10 +140,36 @@ iv_pri_empty.setOnClickListener { startActivity<LoginActivity>() } } - fun changeBg(){ - val bg = SPUtils.instance().getString(Const.User.BG) - if (!bg.isNullOrEmpty()) + fun changeBg(bg:String,video:String){ + if (video.isNotEmpty()){ + iv_home.invisible() + player.visible() + player.release() + player.setUrl(video) + player.setLooping(true) + player.start() + } else if (bg.isNotEmpty()){ iv_home.setImageURI(bg) + player.release() + player.gone() + iv_home.visible() + }else{ + iv_home.invisible() + player.visible() + player.release() + //ExoPlayer + val dataSpec = DataSpec(RawResourceDataSource.buildRawResourceUri(R.raw.default_bg)) + val rawResourceDataSource = RawResourceDataSource(requireContext()) + try { + rawResourceDataSource.open(dataSpec) + } catch (e: RawResourceDataSource.RawResourceDataSourceException) { + e.printStackTrace() + } + val url = rawResourceDataSource.uri.toString() + player.setUrl(url) + player.setLooping(true) + player.start() + } } private fun getTopMenu(){ @@ -164,19 +194,34 @@ fun getToday() { HttpManager.getTodayMeditation().requestByF(this){_,data-> today = data - if (today?.clientMeditationVO?.backgroundUrl.isNullOrEmpty()){ - iv_daily_empty.visible() + if (data?.isShow == 0){ + tv_1.text = "每日疗愈" + tv_sub_1.text = "Daily Meditation" + if (today?.clientMeditationVO?.backgroundUrl.isNullOrEmpty()){ + iv_daily_empty.visible() + }else{ + iv_daily_empty.gone() + iv_today.setImageURI(today?.imageUrl) + tv_length_today.text = "${today?.clientMeditationVO?.meditationTitle?.ellipsize(12)} | ${"%02d:%02d".format((data?.time?:0)/60,(data?.time?:0)%60)}" + tv_today_count.text = "${(today?.clientMeditationVO?.realLearnedNum?:0)+(today?.clientMeditationVO?.virtualLearnedNum?:0)}人已参加学习" + } }else{ - iv_daily_empty.gone() - iv_today.setImageURI(today?.imageUrl) - tv_length_today.text = "${today?.clientMeditationVO?.meditationTitle?.ellipsize(12)} | ${"%02d:%02d".format((data?.time?:0)/60,(data?.time?:0)%60)}" - tv_today_count.text = "${(today?.clientMeditationVO?.realLearnedNum?:0)+(today?.clientMeditationVO?.virtualLearnedNum?:0)}人已参加学习" + tv_1.text = "泉疗愈 微电影" + tv_sub_1.text = "Spring Healing Microfilm" + if (today?.meditationVideo?.videoUrl.isNullOrEmpty()){ + iv_daily_empty.visible() + }else{ + iv_daily_empty.gone() + iv_today.setImageURI(today?.meditationVideo?.imageUrl) + tv_length_today.text = "${today?.meditationVideo?.title?.ellipsize(18)} | ${"%02d:%02d".format((today?.meditationVideo?.videoSecond?:0)/60,(today?.meditationVideo?.videoSecond?:0)%60)}" + tv_today_count.text = "" + } } } } fun refreshTodayPlayingState(){ - if (MainActivity.voice?.id == today?.meditationId&&MainActivity.playing) + if (ThinkAudioService.voice?.id == today?.meditationId&&ThinkAudioService.playing) iv_play_today.setImageResource(R.mipmap.player_pause) else iv_play_today.setImageResource(R.mipmap.play) @@ -200,4 +245,19 @@ } } } + + override fun onPause() { + super.onPause() + player?.pause() + } + + override fun onResume() { + super.onResume() + player?.resume() + } + + override fun onDestroy() { + super.onDestroy() + player?.release() + } } \ No newline at end of file -- Gitblit v1.7.1