Commit faa5eb46 authored by wanglei's avatar wanglei

...

parent 66eaf512
...@@ -435,8 +435,7 @@ class WebBrowserActivity : BaseActivity<ActivityWebBrowserBinding>() { ...@@ -435,8 +435,7 @@ class WebBrowserActivity : BaseActivity<ActivityWebBrowserBinding>() {
fragmentList.add(myFragment) fragmentList.add(myFragment)
currentFragment = myFragment currentFragment = myFragment
currentFragment?.onPageFinished = { uriString -> currentFragment?.onPageFinished = { uriString ->
binding.editWeb.setText(currentFragment?.bookmarkBean?.name ?: "") binding.editWeb.text = currentFragment?.bookmarkBean?.name ?: ""
// uriString?.let { binding.editWeb.setText(it) }
checkLeftRight() checkLeftRight()
} }
} }
......
...@@ -24,6 +24,7 @@ import android.webkit.WebView ...@@ -24,6 +24,7 @@ import android.webkit.WebView
import android.webkit.WebViewClient import android.webkit.WebViewClient
import androidx.core.view.isVisible import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.applovin.sdk.AppLovinSdkUtils.runOnUiThread
import com.base.browserwhite.MyApplication import com.base.browserwhite.MyApplication
import com.base.browserwhite.ads.AdmobMaxHelper import com.base.browserwhite.ads.AdmobMaxHelper
import com.base.browserwhite.ads.AdmobMaxHelper.lastShowInter import com.base.browserwhite.ads.AdmobMaxHelper.lastShowInter
...@@ -116,7 +117,23 @@ class WebViewFragment() : BaseFragment<FragmentWebViewBinding>() { ...@@ -116,7 +117,23 @@ class WebViewFragment() : BaseFragment<FragmentWebViewBinding>() {
binding.flDownload.setOnClickListener { binding.flDownload.setOnClickListener {
callDownloadDialog() callDownloadDialog()
} }
binding.webView.setFindListener { activeMatchOrdinal, numberOfMatches, isDoneCounting ->
LogEx.logDebug(
TAG,
"activeMatchOrdinal=$activeMatchOrdinal numberOfMatches=$numberOfMatches isDoneCounting=$isDoneCounting"
)
if (numberOfMatches > 0) {
if (isDoneCounting) {
binding.webView.loadUrl("javascript:window.android.onSearchResult(document.body.innerText);")
}
} else {
if (activity is WebBrowserActivity) {
(activity as WebBrowserActivity?)?.setSearchNum(0, 0)
}
searchResult.clear()
searchPosition = 0
}
}
} }
private fun callDownloadDialog() { private fun callDownloadDialog() {
...@@ -183,19 +200,7 @@ class WebViewFragment() : BaseFragment<FragmentWebViewBinding>() { ...@@ -183,19 +200,7 @@ class WebViewFragment() : BaseFragment<FragmentWebViewBinding>() {
} }
requireContext().saveDownloadRecordFile(downloadList) requireContext().saveDownloadRecordFile(downloadList)
} }
binding.webView.setFindListener { activeMatchOrdinal, numberOfMatches, isDoneCounting ->
if (numberOfMatches > 0) {
if (isDoneCounting) {
binding.webView.loadUrl("javascript:window.android.onSearchResult(document.body.innerText);")
}
} else {
if (activity is WebBrowserActivity) {
(activity as WebBrowserActivity)?.setSearchNum(0, 0)
}
searchResult.clear()
searchPosition = 0
}
}
} }
private var keyword = "" private var keyword = ""
...@@ -243,6 +248,7 @@ class WebViewFragment() : BaseFragment<FragmentWebViewBinding>() { ...@@ -243,6 +248,7 @@ class WebViewFragment() : BaseFragment<FragmentWebViewBinding>() {
@JavascriptInterface @JavascriptInterface
fun onSearchResult(text: String?) { fun onSearchResult(text: String?) {
LogEx.logDebug(TAG, "onSearchResult")
text?.let { text?.let {
val filteredText = Html.fromHtml(it).toString() val filteredText = Html.fromHtml(it).toString()
val pattern = Pattern.compile(keyword, Pattern.CASE_INSENSITIVE) val pattern = Pattern.compile(keyword, Pattern.CASE_INSENSITIVE)
...@@ -253,10 +259,12 @@ class WebViewFragment() : BaseFragment<FragmentWebViewBinding>() { ...@@ -253,10 +259,12 @@ class WebViewFragment() : BaseFragment<FragmentWebViewBinding>() {
searchResult.add(start) searchResult.add(start)
} }
if (activity is WebBrowserActivity) { if (activity is WebBrowserActivity) {
(activity as WebBrowserActivity)?.setSearchNum( runOnUiThread {
searchPosition + 1, (activity as WebBrowserActivity?)?.setSearchNum(
searchResult.size searchPosition + 1, searchResult.size
) )
}
} }
highlightSearchResult() highlightSearchResult()
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment