package com.sinata.xqmuse.ui.mine
|
|
import android.app.Activity
|
import android.content.Intent
|
import cn.sinata.xldutils.fragment.BaseFragment
|
import cn.sinata.xldutils.gone
|
import cn.sinata.xldutils.utils.SPUtils
|
import cn.sinata.xldutils.utils.SpanBuilder
|
import cn.sinata.xldutils.utils.hidePhone
|
import cn.sinata.xldutils.visible
|
import com.sinata.xqmuse.MainActivity
|
import com.sinata.xqmuse.R
|
import com.sinata.xqmuse.network.Apis
|
import com.sinata.xqmuse.network.HttpManager
|
import com.sinata.xqmuse.network.entity.MineInfo
|
import com.sinata.xqmuse.network.requestByF
|
import com.sinata.xqmuse.ui.H5Activity
|
import com.sinata.xqmuse.ui.course.MyCourseActivity
|
import com.sinata.xqmuse.ui.login.LoginActivity
|
import com.sinata.xqmuse.utils.Const
|
import com.sinata.xqmuse.utils.event.EmptyEvent
|
import kotlinx.android.synthetic.main.fragment_mine.*
|
import org.greenrobot.eventbus.EventBus
|
import org.greenrobot.eventbus.Subscribe
|
import org.jetbrains.anko.backgroundResource
|
import org.jetbrains.anko.support.v4.startActivity
|
import org.jetbrains.anko.support.v4.startActivityForResult
|
import org.jetbrains.anko.support.v4.toast
|
|
class MineFragment : BaseFragment() {
|
override fun contentViewId() = R.layout.fragment_mine
|
|
private var userInfo: MineInfo? = null
|
|
override fun onFirstVisibleToUser() {
|
EventBus.getDefault().register(this)
|
queryUnread()
|
showUserInfo()
|
holder_info.setOnClickListener {
|
startActivityForResult<UserInfoActivity>(1)
|
}
|
tv_watch_his.setOnClickListener {
|
startActivity<WatchHisActivity>()
|
}
|
tv_collect.setOnClickListener {
|
startActivity<WatchHisActivity>("type" to WatchHisActivity.COLLECTED)
|
}
|
tv_has_buy.setOnClickListener {
|
startActivity<WatchHisActivity>("type" to WatchHisActivity.HAS_BUY)
|
}
|
bg_vip.setOnClickListener {
|
startActivity<VipActivity>()
|
}
|
tv_service.setOnClickListener {
|
startActivity<ServiceActivity>()
|
}
|
tv_level.setOnClickListener {
|
startActivity<LevelActivity>()
|
}
|
iv_setting.setOnClickListener {
|
startActivity<SettingActivity>("data" to userInfo)
|
}
|
tv_setting.setOnClickListener {
|
iv_setting.callOnClick()
|
}
|
tv_share.setOnClickListener {
|
userInfo?.apply {
|
startActivity<ShareActivity>("userId" to userInfo?.id)
|
}
|
}
|
iv_msg.setOnClickListener {
|
startActivity<MsgActivity>()
|
}
|
tv_rank.setOnClickListener {
|
userInfo?.apply {
|
startActivity<H5Activity>("title" to "爱心助力榜单","url" to Apis.RANK.format(id),"type" to 0,"pushList" to Apis.PUSH_LIST.format(id))
|
}
|
}
|
tv_account.setOnClickListener {
|
userInfo?.apply {
|
startActivity<WalletActivity>("userId" to userInfo?.id)
|
}
|
}
|
tv_more_record.setOnClickListener {
|
startActivity<MyCourseActivity>()
|
}
|
tv_study_record.setOnClickListener {
|
startActivity<MyCourseActivity>()
|
}
|
}
|
|
@Subscribe
|
fun refreshInfo(e: EmptyEvent){
|
if (e.code == Const.EventCode.CHANGE_USER){
|
showUserInfo()
|
} else if (e.code == Const.EventCode.USER_INFO_CHANGED){
|
showUserInfo()
|
}
|
}
|
|
fun showUserInfo() {
|
if (!isAdded)
|
return
|
if (!SPUtils.instance().getString(Const.User.TOKEN).isNullOrEmpty())
|
HttpManager.getUserInfo().requestByF(this){_,data->
|
userInfo = data
|
data?.apply {
|
iv_avatar.setImageURI(avatar)
|
tv_name.text = nickname
|
tv_phone.text = cellPhone.hidePhone()
|
tv_vip.text = if (isVip == 2){
|
bg_vip.backgroundResource = R.mipmap.no_vip
|
tv_describe.text = "升级为会员,解锁会员专属体验"
|
"你还未开通会员服务"
|
} else{
|
bg_vip.backgroundResource = R.mipmap.bg_vip
|
tv_describe.text = "您将享受所有会员专享音频,尽情畅游泉疗愈世界"
|
"${vipExpireTime?.substring(0,10)}到期"
|
}
|
iv_vip.setImageURI(data.levelIcon)
|
tv_day.text = cumulative
|
tv_continue.text = continuity?:"0"
|
val format = "%d小时%d分".format(today / 60, today % 60)
|
tv_today.text = SpanBuilder(format).size(format.indexOf("小"),format.indexOf("小")+2,11).size(format.length-1,format.length,11).build()
|
}
|
}
|
else{
|
userInfo = null
|
iv_avatar.setImageURI("")
|
tv_name.text = ""
|
tv_phone.text = ""
|
tv_vip.text = "你还未开通会员服务"
|
tv_describe.text = "升级为会员,解锁会员专属体验"
|
}
|
}
|
|
fun queryUnread(){
|
if (!SPUtils.instance().getString(Const.User.TOKEN).isNullOrEmpty())
|
HttpManager.queryNotice().requestByF(this){_,data->
|
if (data == true) iv_unread.visible() else iv_unread.gone()
|
}
|
}
|
|
override fun onDestroy() {
|
super.onDestroy()
|
EventBus.getDefault().unregister(this)
|
}
|
|
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
super.onActivityResult(requestCode, resultCode, data)
|
if (resultCode == Activity.RESULT_OK)
|
showUserInfo()
|
}
|
}
|