package com.driver.igotrip.ui.pub import android.annotation.SuppressLint import android.app.Activity import android.content.Intent import android.view.Gravity import android.view.View import android.widget.EditText import android.widget.ImageView import android.widget.TextView import android.widget.Toast import cn.sinata.xldutils.utils.getAreaCode import cn.sinata.xldutils.utils.getString import cn.sinata.xldutils.utils.getVersionName import com.driver.igotrip.R import com.driver.igotrip.base.BaseEvent import com.driver.igotrip.base.MyApplication import com.driver.igotrip.base.local.BaseLoginActivity import com.driver.igotrip.bean.AgreeBean import com.driver.igotrip.bean.LoginBean 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.ui.main.MainActivity import com.driver.igotrip.utils.Cache.CacheKey import com.driver.igotrip.utils.PhoneCheckUtil import com.lzf.easyfloat.EasyFloat import com.lzf.easyfloat.enums.ShowPattern import com.lzf.easyfloat.enums.SidePattern import com.lzf.easyfloat.interfaces.OnInvokeView import org.greenrobot.eventbus.EventBus import org.jetbrains.anko.browse import org.jetbrains.anko.dip import org.jetbrains.anko.find import org.jetbrains.anko.startActivity import org.jetbrains.anko.startActivityForResult import org.jetbrains.anko.toast class LoginActivity : BaseLoginActivity() { override fun setContentView() { setContentView(R.layout.activity_login) } private val areaCode by lazy { find(R.id.areaCode) } private val et_login_phone by lazy { find(R.id.et_login_phone) } private val iv_logo by lazy { find(R.id.iv_logo) } private val tv_driver by lazy { find(R.id.tv_driver) } private val tv_forget_pwd by lazy { find(R.id.tv_forget_pwd) } private val iv_eye by lazy { find(R.id.iv_eye) } private val et_login_pwd by lazy { find(R.id.et_login_pwd) } private val tv_login by lazy { find(R.id.tv_login) } override fun initView() { showHeader(false) showTitle(false) // toast(MyUtils.getInstans().getUuid(this)) et_login_phone.setText("") /*iv_logo.clickDelay { var lang = SPUtils.getString(Const.language) if (lang.isNullOrEmpty() || lang == Const.Language.CHINESE){ SPUtils.save(Const.language,Const.Language.ENGLISH) LanguageUtil.changeAppLanguage(this,Const.Language.ENGLISH,"") LanguageUtil.reApp(this) }else{ SPUtils.save(Const.language,Const.Language.CHINESE) LanguageUtil.changeAppLanguage(this,Const.Language.CHINESE,"") LanguageUtil.reApp(this) } }*/ callVersion() } fun callHtml(click: (s: String) -> Unit) { var map = getMapByAny() map["type"] = 9 callNet(Api.queryByType, map) { var data = gson.fromJson(it, AgreeBean::class.java) click(data.data.content) } } override fun setOnclick() { areaCode.setOnClickListener { startActivityForResult(10086) } tv_driver.setOnClickListener { startActivity() } tv_forget_pwd.setOnClickListener { startActivity() } iv_eye.setOnClickListener { callHtml { } showEye(iv_eye, et_login_pwd) } tv_login.setOnClickListener { if (et_login_phone.getString().isEmpty()) { toast(getString(R.string.请输入手机号)) return@setOnClickListener } if (!PhoneCheckUtil.phoneCheck(et_login_phone.getString())) { toast(getString(R.string.手机号格式错误)) return@setOnClickListener } if (et_login_pwd.getString().isEmpty()) { toast(getString(R.string.请输入密码)) return@setOnClickListener } if (et_login_pwd.getString().length < 6) { toast(getString(R.string.密码不能小于6位)) return@setOnClickListener } var map = getMapByAny() map["password"] = et_login_pwd.getString() map["phone"] = areaCode.getAreaCode() + et_login_phone.getString() callNet(Api.loginPhone, map) { var bean = gson.fromJson(it, LoginBean::class.java) CacheKey.putKeyStr("appid", bean.data.appid) CacheKey.putKeyStr("token", bean.data.token) CacheKey.putKeyStr("vehicleId", bean.data.vehicleId) CacheKey.putKeyStr("userId", bean.data.id.toString()) CacheKey.putKeyStr("serverId", bean.data.serverId.toString()) CacheKey.putKeyStr("terminalName", bean.data.terminalId.toString()) // CacheKey.putKeyStr("jumpCode",bean.data.jumpCode.toString()) toast(getString(R.string.登录成功)) MyApplication.getInstance()!!.setAlisa() startActivity() } } } override fun tvInit(tv_code: TextView) { } override fun tvIniting(tv_code: TextView, time: String) { } private var mBackAppTime: Long = 0 @SuppressLint("MissingSuperCall") override fun onBackPressed() { if (System.currentTimeMillis() - mBackAppTime > 2000) { Toast.makeText(this, getString(R.string.再按一次退出程序), Toast.LENGTH_SHORT) .show() mBackAppTime = System.currentTimeMillis() } else { closeAll() } } override fun onStop() { super.onStop() // showFloater() //EasyFloat.show("EasyFloatTag") } private var floater: EasyFloat.Builder? = null //浮窗 private fun showFloater() { if (floater == null) { floater = EasyFloat.with(applicationContext) .setLayout(R.layout.layout_floter, OnInvokeView { it.setOnClickListener { startActivity() } }) .setShowPattern(ShowPattern.ALL_TIME) .setSidePattern(SidePattern.RESULT_LEFT) .setGravity(Gravity.START or Gravity.BOTTOM, 0, dip(-180)) .setDragEnable(true) .setTag("EasyFloatTag") .setMatchParent(widthMatch = false, heightMatch = false) .registerCallback { touchEvent { view, motionEvent -> motionEvent.action } } floater?.show() } } override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) if (resultCode == Activity.RESULT_OK && requestCode == 10086) { data?.getStringExtra("code")?.let { areaCode.text = it } } } private fun callVersion() { val map = getMapByAny() callNet(isUseAllTrustService = true, showDialog = false, 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("已经是最新版本") } }) { _, _ -> } } }