This commit is contained in:
2025-01-23 17:18:41 +09:00
parent d00c97e7d7
commit eb51ed944a
30 changed files with 964 additions and 467 deletions
@@ -553,7 +553,7 @@ open class AwesomeWebViewActivity : AppCompatActivity(), View.OnClickListener,
protected fun bindViews() {
open fun bindViews() {
binding.toolbarContent.close.setOnClickListener(this)
binding.toolbarContent.back.setOnClickListener(this)
binding.toolbarContent.forward.setOnClickListener(this)
@@ -824,12 +824,29 @@ open class AwesomeWebViewActivity : AppCompatActivity(), View.OnClickListener,
val items = arrayOf(
resources.getString(stringResSavePhoto)
)
val url = hitTestResult.extra
if (webView?.url?.contains(".guru") == true) {
url?.split("/")?.last()?.let { last ->
var code = if(last.contains("_") && last.split("_")?.first()?.length ?: 0 > 2) {
last.split("_").first()
} else if(last.contains("-") && last.split("-")?.first()?.length ?: 0 > 2) {
last.split("-").first()
} else {
last
}
LogUtil.e("hitTestResult code >>> ${code}")
webView?.evaluateJavascript("try{GJI.onCode('${code}');}catch(e){console.log(e);}", {})
}
showBlock()
return@OnLongClickListener false
}
builder?.setItems(
items
) { dialog, which ->
LogUtil.e("hitTestResult.extra >>> ${dialog} ,${which}")
val url = hitTestResult.extra
LogUtil.e("hitTestResult.extra >>> ${hitTestResult.extra}")
CookieSyncManager.createInstance(applicationContext)
CookieSyncManager.getInstance().sync()
val cookieManager =
@@ -1253,8 +1270,16 @@ open class AwesomeWebViewActivity : AppCompatActivity(), View.OnClickListener,
protected fun showBlock() {
binding.blocking.visibility = View.VISIBLE
val ress = arrayListOf(R.raw.lt_lodaing_01,R.raw.lt_lodaing_02,R.raw.lt_lodaing_03)
binding.lotti.setAnimation(ress[Math.abs(Random(8736).nextInt()) % ress.size])
val ress = arrayListOf(R.raw.dlottie_001,R.raw.lt_lodaing_01,R.raw.dlottie_003,R.raw.lt_lodaing_02,R.raw.lt_lodaing_03,R.raw.dlottie_002)
var isEven = ((System.currentTimeMillis() % 2).toInt() == 0)
var firstSeed = Random(if(isEven)8739 else 7531)
var randomSeed_01 = Math.abs(firstSeed.nextInt()) % if(isEven) 879 else 56
var randomSeed_02 = Math.abs(firstSeed.nextInt()) % if(!isEven) 758 else 397
var randomSeed_03 = Math.abs(firstSeed.nextInt()) % if(!isEven) 353 else 49
var totalSeed = Math.abs((Math.abs(randomSeed_01) * Math.abs(randomSeed_02)) + Math.abs(randomSeed_03))
var randomResult = Math.abs(totalSeed % ress.size)
LogUtil.e("randomResult >>> randomSeed_01 {${randomSeed_01}} | randomSeed_02 {${randomSeed_02}} | randomSeed_03 {${randomSeed_03}} | resSize {${ress.size}} | ${randomResult}")
binding.lotti.setAnimation(ress[Math.abs(randomResult)])
binding.lotti.playAnimation()
}
@@ -1912,7 +1937,7 @@ open class AwesomeWebViewActivity : AppCompatActivity(), View.OnClickListener,
url.toLowerCase(Locale.ROOT).contains(".svg") ||
url.toLowerCase(Locale.ROOT).contains(".webp")) {
mediaUrls.add(url)
LogUtil.e("mediaUrls >>>>> add(${url})")
// LogUtil.e("mediaUrls >>>>> add(${url})")
}
if(!hasYoutubePlayer) {
@@ -1924,9 +1949,11 @@ open class AwesomeWebViewActivity : AppCompatActivity(), View.OnClickListener,
if (url.toLowerCase(Locale.ROOT)
.contains("ads".toLowerCase(Locale.ROOT))) {
LogUtil.e("shouldInterceptRequest request url contains ads >>> ${request.url.toString()}")
// LogUtil.e("shouldInterceptRequest request url contains ads >>> ${request.url.toString()}")
}
var adblockKeyWords = arrayOf("adcr.naver.com","daumcdn.net/biz/ui/ad/adcm","imgad","ad.daum.net","cr.adsappier.com","ar-adview","adtrafficquality","criteo","adlib.nhnace.com","google.com/ads","googleads.","/pagead","/adpost/","ads/search","plugin.adplex","google-analytics.com")
var callSupers = arrayListOf("google-analytics.com","analytics.google.com","api.dable.io")
var adblockKeyWords = arrayOf("adcr.naver.com","daumcdn.net/biz/ui/ad/adcm","imgad","ad.daum.net","cr.adsappier.com","ar-adview","adtrafficquality","criteo","adlib.nhnace.com","google.com/ads","googleads.","/pagead","/adpost/","ads/search","plugin.adplex")
val supers = callSupers.filter { url.toLowerCase(Locale.ROOT).contains(it.toLowerCase(Locale.ROOT)) }.size > 0
val adblock = adblockKeyWords.filter { url.toLowerCase(Locale.ROOT).contains(it.toLowerCase(Locale.ROOT)) }.size > 0
return if(adblock) {
try {
@@ -1935,7 +1962,9 @@ open class AwesomeWebViewActivity : AppCompatActivity(), View.OnClickListener,
} catch (e : Exception) {
super.shouldInterceptRequest(view, url)
}
}else if(url.toLowerCase(Locale.ROOT).contains(".jpg") || url.toLowerCase(Locale.ROOT).contains(".jpeg")){
} else if(supers) {
super.shouldInterceptRequest(view, url)
} else if(url.toLowerCase(Locale.ROOT).contains(".jpg") || url.toLowerCase(Locale.ROOT).contains(".jpeg")){
try {
val bitmap = Glide.with(this@AwesomeWebViewActivity).asBitmap().timeout(30000).diskCacheStrategy(DiskCacheStrategy.ALL).load(url).submit().get()
WebResourceResponse("image/jpg", "UTF-8",getBitmapInputStream(bitmap,Bitmap.CompressFormat.JPEG)).apply {
@@ -1958,7 +1987,7 @@ open class AwesomeWebViewActivity : AppCompatActivity(), View.OnClickListener,
try {
val bitmap = Glide.with(this@AwesomeWebViewActivity).asBitmap().timeout(30000).diskCacheStrategy(DiskCacheStrategy.ALL).load(url).submit().get()
WebResourceResponse("image/webp", "UTF-8",getBitmapInputStream(bitmap,Bitmap.CompressFormat.WEBP)).apply {
LogUtil.e("shouldInterceptRequest request url down from Glide >>> ${request.url.toString()}")
// LogUtil.e("shouldInterceptRequest request url down from Glide >>> ${request.url.toString()}")
}
} catch (e : Exception) {
super.shouldInterceptRequest(view, url)
@@ -1980,7 +2009,7 @@ open class AwesomeWebViewActivity : AppCompatActivity(), View.OnClickListener,
// }
override fun onPageStarted(view: WebView, url: String, favicon: Bitmap?) {
mediaUrls.clear()
BroadCastManager.onPageStarted(this@AwesomeWebViewActivity, key, url)
if (!url.contains("docs.google.com") && url.endsWith(".pdf")) {
@@ -2038,7 +2067,15 @@ open class AwesomeWebViewActivity : AppCompatActivity(), View.OnClickListener,
override fun shouldOverrideUrlLoading(view: WebView, url: String): Boolean {
handler.sendEmptyMessage(MSG_CLICK_ON_URL)
if (url.contains("http:")) {
var newUrl = url.replace("http:","https:")
LogUtil.e("is StartWith ${url} , ${newUrl}")
if (newUrl.length > 10) {
view.stopLoading()
view.loadUrl(newUrl)
}
return true
}
var skipResource = host!= null && ((url.contains(host!!) ?: true) == false) && (host!!.contains("google") == false)
if (skipResource || loadWithIntent) {
LogUtil.e("shouldOverrideUrlLoading block url $url , host >>>> $host ")
Binary file not shown.
Binary file not shown.
Binary file not shown.