lmw
2023-05-12 3408b10a3466f2db3f81e5c484142e3c180d36ac
app/src/main/java/com/fuban/driver/ui/pub/StartActivity.kt
@@ -2,12 +2,23 @@
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 androidx.core.os.bundleOf
import cn.sinata.xldutils.utils.SPUtils
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.main.MainActivity
import com.fuban.driver.utils.Cache.CacheKey
import com.fuban.driver.utils.view.UserRuleDialog
import org.jetbrains.anko.startActivity
class StartActivity : MyBaseActivity() {
@@ -23,16 +34,25 @@
    @SuppressLint("SourceLockedOrientationActivity")
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setRxpermiss()
        checkPrivacy()
//        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")
@@ -59,5 +79,87 @@
    override fun setOnclick() {
    }
    private var privacy = "" //隐私协议
    private var user = "" //用户协议
    fun checkPrivacy() {
        var isAgreen = CacheKey.getKeyStr("isAgreen")
        if (isAgreen.isEmpty()) {
            callys {
                privacy = it
                showPrivacyDialog()
            }
            callyh {
                user = it
                showPrivacyDialog()
            }
        }else
            callLast()
    }
    private fun showPrivacyDialog(){
        if (privacy.isNotEmpty() && user.isNotEmpty()) {
            val userRuleDialog = UserRuleDialog()
            userRuleDialog.arguments = bundleOf("privacy" to privacy, "user" to user)
            userRuleDialog.setDismissCallback(object : UserRuleDialog.OnDismiss {
                override fun onDismiss() {
                    if (CacheKey.getKeyStr("isAgreen").isNullOrEmpty())
                        finish()
                    else
                        callLast()
                }
            })
            val ft = supportFragmentManager.beginTransaction()
            ft.add(userRuleDialog, "rule")
            ft.commitAllowingStateLoss()
        }
    }
    fun callys(ok: (s: String) -> Unit) {
        var map = getMapByAny()
        map["type"] = 1
        callNet(false,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(false,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)
        }
    }
}