From 25fbcd2ba9ca1604b5ee4f125556c5305001b435 Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期一, 17 四月 2023 16:45:22 +0800 Subject: [PATCH] 隐私权限相关 --- app/src/main/java/com/fuban/driver/ui/pub/StartActivity.kt | 128 ++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 120 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/fuban/driver/ui/pub/StartActivity.kt b/app/src/main/java/com/fuban/driver/ui/pub/StartActivity.kt index 1512d1b..ca93c0d 100644 --- a/app/src/main/java/com/fuban/driver/ui/pub/StartActivity.kt +++ b/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) + } + } + } -- Gitblit v1.7.1