lmw
2023-04-17 25fbcd2ba9ca1604b5ee4f125556c5305001b435
app/src/main/java/com/fuban/driver/ui/pub/StartActivity.kt
@@ -2,12 +2,25 @@
import android.annotation.SuppressLint
import android.os.Bundle
import android.os.CountDownTimer
import android.view.View
import android.webkit.WebSettings
import android.webkit.WebView
import androidx.core.app.ActivityCompat
import cn.sinata.xldutils.utils.clickDelay
import cn.sinata.xldutils.utils.textColor
import com.fuban.driver.R
import com.fuban.driver.base.Const
import com.fuban.driver.base.MyBaseActivity
import com.fuban.driver.base.*
import com.fuban.driver.bean.AgreeBean
import com.fuban.driver.netUtls.Api
import com.fuban.driver.netUtls.callNet
import com.fuban.driver.netUtls.getMapByAny
import com.fuban.driver.netUtls.getToken
import com.fuban.driver.ui.DialogUtil
import com.fuban.driver.ui.main.MainActivity
import com.fuban.driver.utils.Cache.CacheKey
import kotlinx.android.synthetic.main.item_ys.view.*
import org.greenrobot.eventbus.EventBus
import org.jetbrains.anko.startActivity
class StartActivity : MyBaseActivity() {
@@ -23,16 +36,25 @@
    @SuppressLint("SourceLockedOrientationActivity")
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setRxpermiss()
        showYsDialog()
//        setRxpermiss()
    }
    private fun callLast() {
        if (getToken().isNullOrEmpty()){
            startActivity<LoginActivity>()
        }else{
            startActivity<MainActivity>()
        }
        MyApplication.getInstance()?.initSdk()
        object :CountDownTimer(2000,1000){
            override fun onTick(millisUntilFinished: Long) {
            }
            override fun onFinish() {
                if (getToken().isNullOrEmpty()){
                    startActivity<LoginActivity>()
                }else{
                    startActivity<MainActivity>()
                }
            }
        }.start()
    }
    @SuppressLint("CheckResult")
@@ -60,4 +82,94 @@
    }
    fun showYsDialog() {
        var isAgreen = CacheKey.getKeyStr("isAgreen")
        if (isAgreen.isEmpty()) {
            var dialog = DialogUtil.getDialog(this, R.layout.item_ys)
            var view = DialogUtil.getView(dialog)
            callys {
                setWebview(view.wv_content,it)
            }
            view.tv_none.setOnClickListener {
                dialog.dismiss()
            }
            view.tv_agreet.clickDelay {
                CacheKey.putKeyStr("isAgreen", "1")
                dialog.dismiss()
                callLast()
            }
            view.tv_yx.clickDelay {
                view.tv_yx.textColor(this, R.color.white)
                view.tv_yh.textColor(this, R.color.main_yellow_qia)
                view.tv_yx.setBackgroundResource(R.drawable.bg_login_top_left)
                view.tv_yh.setBackgroundResource(R.drawable.bg_logion_top_right)
                callys {
                    setWebview(view.wv_content,it)
                }
            }
            view.tv_yh.clickDelay {
                view.tv_yx.textColor(this, R.color.main_yellow_qia)
                view.tv_yh.textColor(this, R.color.white)
                view.tv_yx.setBackgroundResource(R.drawable.bg_logion_top_left)
                view.tv_yh.setBackgroundResource(R.drawable.bg_login_top_left_select)
                callyh {
                    setWebview(view.wv_content,it)
                }
            }
            dialog.setOnDismissListener {
                if (CacheKey.getKeyStr("isAgreen").isEmpty())
                    finish()
            }
        }else
            callLast()
    }
    fun callys(ok: (s: String) -> Unit) {
        var map = getMapByAny()
        map["type"] = 1
        callNet(Api.queryByType, map) {
            var data = gson.fromJson<AgreeBean>(it, AgreeBean::class.java)
            ok(data.data.content)
        }
    }
    fun callyh(ok: (s: String) -> Unit) {
        var map = getMapByAny()
        map["type"] = 2
        callNet(Api.queryByType, map) {
            var data = gson.fromJson<AgreeBean>(it, AgreeBean::class.java)
            ok(data.data.content)
        }
    }
    private fun setWebview(webView: WebView, url: String) {
        val settings = webView.settings
        settings.cacheMode = WebSettings.LOAD_CACHE_ELSE_NETWORK
        settings.defaultTextEncodingName = "utf-8" //设置编码格式
        settings.useWideViewPort = true //设置此属性,可任意比例缩放
        settings.loadWithOverviewMode = true // 页面支持缩放:
        settings.builtInZoomControls = true
        settings.useWideViewPort = false //将图片调整到适合webview的大小
        settings.setSupportZoom(false) //支持缩放
        settings.supportMultipleWindows() //多窗口
        settings.cacheMode = WebSettings.LOAD_CACHE_ELSE_NETWORK //关闭webview中缓存
        settings.allowFileAccess = true //设置可以访问文件
        settings.setNeedInitialFocus(true) //当webview调用requestFocus时为webview设置节点
        settings.javaScriptCanOpenWindowsAutomatically = true //支持通过JS打开新窗口
        settings.loadsImagesAutomatically = true //支持自动加载图片
        settings.javaScriptEnabled = true
        settings.domStorageEnabled = true
        webView.isScrollContainer = false
        webView.isScrollbarFadingEnabled = false
        webView.scrollBarStyle = View.SCROLLBARS_OUTSIDE_OVERLAY
        webView.addJavascriptInterface(InnerJsInterface(), "HTMLOUT")
        if (url!!.startsWith("http")) {
            webView.loadUrl(url)
        } else {
            val sHead =
                "<html><head><meta name=\"viewport\" content=\"width=device-width, " + "initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes\" />" + "<style>img{max-width:100% !important;height:auto !important;}</style>" + "<style>body{max-width:100% !important;}</style>" + "</head><body>"
            webView.loadDataWithBaseURL(null, sHead + url, "text/html", "utf-8", null)
        }
    }
}