package com.driver.igotrip.ui.mine.setting import android.widget.TextView import cn.sinata.xldutils.utils.clickDelay import cn.sinata.xldutils.utils.setDrawableNull import cn.sinata.xldutils.utils.setDrawableRight import com.driver.igotrip.R import com.driver.igotrip.base.Const import com.driver.igotrip.base.MyApplication import com.driver.igotrip.base.MyBaseActivity 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.LanguageSP import com.driver.igotrip.utils.LanguageSP.LanguageConst import com.driver.igotrip.utils.LanguageSP.LanguageConst.EN_US import com.driver.igotrip.utils.LanguageSP.LanguageConst.FR_FR import com.driver.igotrip.utils.LanguageSP.LanguageConst.ZH_CN import com.driver.igotrip.utils.LanguageUtil import org.jetbrains.anko.find class LanghActivity : MyBaseActivity() { override fun setContentView() { setContentView(R.layout.activity_langh) } override fun initView() { setTitleText(getString(R.string.多语言)) setLangh() } private val tv_china by lazy { find(R.id.tv_china) } private val tv_en by lazy { find(R.id.tv_en) } private val tv_fr by lazy { find(R.id.tv_fr) } override fun setOnclick() { tv_china.clickDelay { DialogUtil.getDelAndSureDialog(this, getString(R.string.确定切换语言吗), {}) { // 保存新语言到 SP LanguageSP.saveLanguage(this, LanguageConst.ZH_CN) changeServerLanguage { LanguageUtil.reApp(this) } MyApplication.refreshFloatingWindow() } } tv_en.clickDelay { DialogUtil.getDelAndSureDialog(this, getString(R.string.确定切换语言吗), {}) { LanguageSP.saveLanguage(this, LanguageConst.EN_US) changeServerLanguage { LanguageUtil.reApp(this) } MyApplication.refreshFloatingWindow() } } tv_fr.clickDelay { DialogUtil.getDelAndSureDialog(this, getString(R.string.确定切换语言吗), {}) { LanguageSP.saveLanguage(this, LanguageConst.FR_FR) changeServerLanguage { LanguageUtil.reApp(this) } MyApplication.refreshFloatingWindow() } } } private fun changeServerLanguage(call: (() -> Unit)) { val mapByAny = getMapByAny() mapByAny[Const.language] = getTypeByLanguage() callNet(Api.editLanguage, mapByAny) { call.invoke() } } fun getTypeByLanguage(): Int { /* val lang = SPUtils.getString(Const.language) var type = 0 if (lang == null || lang.isEmpty() || lang == Const.Language.CHINESE || lang == "zh") { type = 1 } if (lang == Const.Language.ENGLISH) { type = 2 } if (lang == Const.Language.FRENCH) { type = 3 }*/ val language = LanguageSP.getLanguage(mContext) if (language == ZH_CN) { return 1 } if (language == EN_US) { return 2 } if (language == FR_FR) { return 3 } return 2 } fun setLangh() { tv_en.setDrawableNull() tv_china.setDrawableNull() tv_fr.setDrawableNull() /*var langh = SPUtils.getString(Const.language) if (langh.isNullOrEmpty() || langh == Const.Language.CHINESE || langh == "zh") { tv_china.setDrawableRight(R.mipmap.icon_raidobutton_selected_langh) } if (langh == Const.Language.ENGLISH) { tv_en.setDrawableRight(R.mipmap.icon_raidobutton_selected_langh) } if (langh == "in") { tv_fr.setDrawableRight(R.mipmap.icon_raidobutton_selected_langh) }*/ val language = LanguageSP.getLanguage(mContext) if (language == ZH_CN) { tv_china.setDrawableRight(R.mipmap.icon_raidobutton_selected_langh) } if (language == EN_US) { tv_en.setDrawableRight(R.mipmap.icon_raidobutton_selected_langh) } if (language == FR_FR) { tv_fr.setDrawableRight(R.mipmap.icon_raidobutton_selected_langh) } } }