package com.driver.igotrip.ui.mine.setting import android.view.View import android.widget.TextView import cn.sinata.xldutils.utils.clickDelay import cn.sinata.xldutils.utils.getVersionName import com.driver.emanagercar.ui.base.BaseWebActivity import com.driver.igotrip.R import com.driver.igotrip.base.BaseEvent import com.driver.igotrip.base.MyApplication import com.driver.igotrip.base.MyBaseActivity import com.driver.igotrip.bean.AgreeBean import com.driver.igotrip.bean.VersionBean import com.driver.igotrip.netUtls.Api import com.driver.igotrip.netUtls.callNet import com.driver.igotrip.netUtls.getMapByAny import com.driver.igotrip.ui.DialogUtil import com.driver.igotrip.utils.glide.GlideCacheUtil import com.tencent.mm.opensdk.modelbase.BaseReq import com.tencent.mm.opensdk.modelbase.BaseResp import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler import org.greenrobot.eventbus.EventBus import org.jetbrains.anko.browse import org.jetbrains.anko.find import org.jetbrains.anko.startActivity import org.jetbrains.anko.toast class SettingActivity : MyBaseActivity(), IWXAPIEventHandler { override fun setContentView() { setContentView(R.layout.activity_setting) } private val tv_version_code by lazy { find(R.id.tv_version_code) } private val tv_cache by lazy { find(R.id.tv_cache) } private val tv_user_to by lazy { find(R.id.tv_user_to) } private val tv_rule by lazy { find(R.id.tv_rule) } private val tv_more_langh by lazy { find(R.id.tv_more_langh) } private val tv_about_me by lazy { find(R.id.tv_about_me) } private val tv_yh by lazy { find(R.id.tv_yh) } private val tv_about_ys by lazy { find(R.id.tv_about_ys) } private val ll_clear by lazy { find(R.id.ll_clear) } private val ll_version by lazy { find(R.id.ll_version) } private val tv_qa by lazy { find(R.id.tv_qa) } override fun initView() { setTitleText(getString(R.string.设置)) tv_version_code.text = getVersionName() tv_cache.text = GlideCacheUtil.getInstance().getCacheSize(MyApplication.getInstance()) } override fun setOnclick() { tv_user_to.setOnClickListener { var map = getMapByAny() map["type"] = 3 callNet(Api.queryByType, map) { var data = gson.fromJson(it, AgreeBean::class.java) BaseWebActivity.to(mContext, data.data.content, getString(R.string.用户指南), "1") } } tv_rule.setOnClickListener { var map = getMapByAny() map["type"] = 4 callNet(Api.queryByType, map) { var data = gson.fromJson(it, AgreeBean::class.java) with(BaseWebActivity) { to(mContext, data.data.content, getString(R.string.法律条款和平台规则), "1") } } } tv_more_langh.clickDelay { startActivity() } tv_about_me.setOnClickListener { var map = getMapByAny() map["type"] = 5 callNet(Api.queryByType, map) { var data = gson.fromJson(it, AgreeBean::class.java) BaseWebActivity.to(mContext, data.data.content, getString(R.string.关于我们), "1") } } tv_yh.setOnClickListener { var map = getMapByAny() map["type"] = 2 callNet(Api.queryByType, map) { var data = gson.fromJson(it, AgreeBean::class.java) BaseWebActivity.to(mContext, data.data.content, getString(R.string.用户协议), "1") } } tv_about_ys.setOnClickListener { var map = getMapByAny() map["type"] = 1 callNet(Api.queryByType, map) { var data = gson.fromJson(it, AgreeBean::class.java) BaseWebActivity.to(mContext, data.data.content, getString(R.string.隐私协议), "1") } } tv_qa.setOnClickListener { var map = getMapByAny() map["type"] = 12 callNet(Api.queryByType, map) { var data = gson.fromJson(it, AgreeBean::class.java) BaseWebActivity.to(mContext, data.data.content, getString(R.string.常见问题), "1") } } ll_clear.setOnClickListener { DialogUtil.getDelAndSureDialog(this, getString(R.string.确定清除缓存), {}, { GlideCacheUtil.getInstance().clearImageAllCache(MyApplication.getInstance()) tv_cache.text = "0KB" toast(getString(R.string.清除缓存成功)) }) } ll_version.setOnClickListener { callVersion() } } override fun onResp(p0: BaseResp?) { } override fun onReq(p0: BaseReq?) { } private fun callVersion() { val map = getMapByAny() // map["id"] = CacheKey.getUserId() callNet(isUseAllTrustService = true, showDialog = true, api = Api.queryNewData, map = map, clickAction = { val data = gson.fromJson(it, VersionBean::class.java) if (data.data.version != "" && data.data.version != getVersionName()) { when (data.data.mandatory) { 2 -> { DialogUtil.getDelAndSureDialog(this, getString(R.string.新版本更新), data.data.content, {}, { browse(data.data.url) }) } 1 -> { DialogUtil.getDelAndSureDialog(this, getString(R.string.新版本更新), data.data.content, { EventBus.getDefault().post(BaseEvent(BaseEvent.OUT_APP)) }, { browse(data.data.url) }) } else -> { // toast("已经是最新版本") } } } else { toast(getString(R.string.已经是最新版)) } }) { _, _ -> } } }