package com.sinata.xqmuse.ui.mine
|
|
import android.content.Context
|
import cn.sinata.xldutils.gone
|
import cn.sinata.xldutils.utils.SPUtils
|
import com.sinata.xqmuse.MainActivity
|
import com.sinata.xqmuse.R
|
import com.sinata.xqmuse.dialog.LoginRuleDialog
|
import com.sinata.xqmuse.dialog.TipDialog
|
import com.sinata.xqmuse.network.HttpManager
|
import com.sinata.xqmuse.network.entity.MineInfo
|
import com.sinata.xqmuse.network.request
|
import com.sinata.xqmuse.ui.H5Activity
|
import com.sinata.xqmuse.ui.TransparentStatusBarActivity
|
import com.sinata.xqmuse.ui.login.LoginActivity
|
import com.sinata.xqmuse.utils.CacheCleanUtil
|
import com.sinata.xqmuse.utils.Const
|
import com.sinata.xqmuse.utils.download.DownloadUtil
|
import com.sinata.xqmuse.utils.event.EmptyEvent
|
import com.sinata.xqmuse.utils.extention.clickDelay
|
import kotlinx.android.synthetic.main.activity_setting.*
|
import org.greenrobot.eventbus.EventBus
|
import org.jetbrains.anko.browse
|
import org.jetbrains.anko.bundleOf
|
import org.jetbrains.anko.startActivity
|
import org.jetbrains.anko.toast
|
|
class SettingActivity : TransparentStatusBarActivity() {
|
override fun setContentView() = R.layout.activity_setting
|
private var data : MineInfo? = null
|
private var isPush = true //个性推荐
|
|
override fun initClick() {
|
iv_back.setOnClickListener { finish() }
|
tv_unregister.clickDelay {
|
startActivity<UnregisterActivity>()
|
}
|
|
tv_bind.setOnClickListener {
|
if (data!=null)
|
startActivity<BindActivity>()
|
}
|
|
tv_clear.setOnClickListener {
|
CacheCleanUtil.clearAllCache(this@SettingActivity)
|
toast("清理成功")
|
}
|
|
tv_logout.setOnClickListener {
|
SPUtils.instance().put(Const.User.TOKEN, "").apply()
|
EventBus.getDefault().post(EmptyEvent(Const.EventCode.CHANGE_USER))
|
startActivity<MainActivity>()
|
startActivity<LoginActivity>()
|
}
|
|
tv_switch.setOnClickListener {
|
startActivity<MainActivity>()
|
startActivity<LoginActivity>()
|
}
|
|
iv_push.setOnClickListener {
|
isPush = !isPush
|
iv_push.setImageResource(if (isPush) R.mipmap.sw_on else R.mipmap.sw_off)
|
SPUtils.instance().put(Const.IS_PUSH,isPush).apply()
|
}
|
|
tv_rule.setOnClickListener {
|
startActivity<RulesActivity>()
|
}
|
|
tv_about.setOnClickListener {
|
HttpManager.getH5(LoginRuleDialog.TYPE_ABOUT).request(this){ _, data->
|
data?.let {
|
startActivity<H5Activity>(
|
"title" to "关于泉疗愈",
|
"url" to it.content,
|
"showClose" to false
|
)
|
}
|
}
|
}
|
|
tv_update.clickDelay {
|
showDialog()
|
HttpManager.detailVersion().request(this){_,data->
|
if (data?.versionNo.isNullOrEmpty()||data!!.versionNo <= getAppVersion(this@SettingActivity)?:"")
|
toast("已经是最新版本")
|
else
|
TipDialog.show(supportFragmentManager,"当前有新版本,是否更新?",object :TipDialog.OnClickCallback{
|
override fun onOk() {
|
// DownloadUtil(this@SettingActivity).downloadAPK(data.androidFile, "泉疗愈")
|
// toast("后台开始下载,请等待")
|
browse(data.androidFile)
|
}
|
|
override fun onCancel() {
|
}
|
})
|
}
|
}
|
}
|
|
override fun initView() {
|
titleBar.gone()
|
data = intent.getParcelableExtra("data")
|
tv_version.text = "当前版本:"+getAppVersion(this)
|
isPush = SPUtils.instance().getBoolean(Const.IS_PUSH,true)
|
iv_push.setImageResource(if (isPush) R.mipmap.sw_on else R.mipmap.sw_off)
|
}
|
|
|
/**
|
* 获取版本号
|
* @return 当前应用的版本号
|
*/
|
private fun getAppVersion(context: Context): String? {
|
return try {
|
val manager = context.packageManager
|
val info = manager.getPackageInfo(context.packageName, 0)
|
info.versionName
|
} catch (e: Exception) {
|
e.printStackTrace()
|
"null"
|
}
|
}
|
}
|