|
@@ -11,6 +11,7 @@ import android.view.View
|
|
|
import android.view.WindowManager
|
|
|
import android.webkit.*
|
|
|
import android.widget.FrameLayout
|
|
|
+import android.widget.ImageView
|
|
|
import cn.yyxx.eyuangame.base.utils.Logger
|
|
|
import cn.yyxx.eyuangame.core.entity.ClickType
|
|
|
import cn.yyxx.eyuangame.core.entity.SdkBackLoginInfo
|
|
@@ -20,6 +21,7 @@ import cn.yyxx.eyuangame.core.impl.SdkJsImpl
|
|
|
import cn.yyxx.eyuangame.core.impl.share.ShareImpl
|
|
|
import cn.yyxx.eyuangame.core.internal.IImplCallback
|
|
|
import cn.yyxx.eyuangame.core.internal.IJsCallback
|
|
|
+import cn.yyxx.eyuangame.core.network.Host
|
|
|
import cn.yyxx.eyuangame.core.ui.dialog.ScaleLoadingDialog
|
|
|
import cn.yyxx.support.AndroidBug5497Workaround
|
|
|
import cn.yyxx.support.JsonUtils
|
|
@@ -34,8 +36,9 @@ import org.json.JSONObject
|
|
|
class HybridActivity : Activity(), View.OnClickListener {
|
|
|
|
|
|
private var uploadMessageForAndroid5: ValueCallback<Array<Uri>>? = null
|
|
|
- private var mFileChooseParams: WebChromeClient.FileChooserParams? = null
|
|
|
+ private lateinit var container: FrameLayout
|
|
|
private lateinit var webView: WebView
|
|
|
+ private lateinit var ivClose: ImageView
|
|
|
private var loadingDialog: ScaleLoadingDialog? = null
|
|
|
|
|
|
|
|
@@ -44,6 +47,7 @@ class HybridActivity : Activity(), View.OnClickListener {
|
|
|
override fun onCallback(method: String, data: String): String {
|
|
|
when (method) {
|
|
|
"getCommon" -> return SdkDrive.instance.getComm(this@HybridActivity)
|
|
|
+ "getToken" -> return SdkBackLoginInfo.instance.token
|
|
|
"close" -> {
|
|
|
runOnUiThread {
|
|
|
this@HybridActivity.finish()
|
|
@@ -132,14 +136,19 @@ class HybridActivity : Activity(), View.OnClickListener {
|
|
|
|
|
|
|
|
|
private fun initWebView() {
|
|
|
- webView = WebView(this)
|
|
|
+ container = findViewById(ResUtils.getResId(this, "yyxx_webview_container", "id"))
|
|
|
+
|
|
|
+ webView = findViewById(ResUtils.getResId(this, "yyxx_webview", "id"))
|
|
|
webView.isVerticalScrollBarEnabled = true
|
|
|
webView.scrollBarStyle = View.SCROLLBARS_INSIDE_OVERLAY
|
|
|
webView.addJavascriptInterface(SdkJsImpl(callback), "eyuangame")
|
|
|
webView.setBackgroundColor(Color.TRANSPARENT)
|
|
|
-// webView.alpha = 0F
|
|
|
- val container = findViewById<FrameLayout>(ResUtils.getResId(this, "yyxx_webview_container", "id"))
|
|
|
- container.addView(webView)
|
|
|
+
|
|
|
+ ivClose = findViewById(ResUtils.getResId(this, "yyxx_iv_close", "id"))
|
|
|
+ ivClose.visibility = View.GONE
|
|
|
+ ivClose.setOnClickListener {
|
|
|
+ this.finish()
|
|
|
+ }
|
|
|
|
|
|
// webView.viewTreeObserver.addOnGlobalLayoutListener {
|
|
|
// if (isSoftShowing()) {
|
|
@@ -167,6 +176,7 @@ class HybridActivity : Activity(), View.OnClickListener {
|
|
|
webSetting.databasePath = getDir("databases", 0).path
|
|
|
webSetting.setGeolocationDatabasePath(getDir("geolocation", 0).path)
|
|
|
webSetting.pluginState = WebSettings.PluginState.ON_DEMAND
|
|
|
+ webSetting.cacheMode = WebSettings.LOAD_NO_CACHE
|
|
|
CookieSyncManager.createInstance(this)
|
|
|
CookieSyncManager.getInstance().sync()
|
|
|
|
|
@@ -190,14 +200,12 @@ class HybridActivity : Activity(), View.OnClickListener {
|
|
|
|
|
|
override fun shouldOverrideUrlLoading(view: WebView, url: String): Boolean {
|
|
|
val hitTestResult = view.hitTestResult
|
|
|
- // 处理paypal
|
|
|
- if (url.startsWith("https://www.sandbox.paypal.com")
|
|
|
- || url.startsWith("https://www.paypal.com")
|
|
|
- || url.startsWith("intent://")
|
|
|
- ) {
|
|
|
- container.setBackgroundColor(Color.parseColor("#FFFFFF"))
|
|
|
- } else {
|
|
|
+ if (Host.originHost(url)) {
|
|
|
container.setBackgroundColor(Color.parseColor("#00FFFFFF"))
|
|
|
+ ivClose.visibility = View.GONE
|
|
|
+ } else {
|
|
|
+ container.setBackgroundColor(Color.parseColor("#FFFFFF"))
|
|
|
+ ivClose.visibility = View.VISIBLE
|
|
|
}
|
|
|
|
|
|
if (url.startsWith("http:") || url.startsWith("https:")) {
|