Commit 5a613098 authored by wanglei's avatar wanglei

Merge remote-tracking branch 'origin/master'

parents 9a090134 dcdcfffa
...@@ -144,6 +144,8 @@ object NotificationHelp { ...@@ -144,6 +144,8 @@ object NotificationHelp {
ConstObject.ID_APP_PROCESS_1, ConstObject.ID_APP_PROCESS_1,
ConstObject.ID_APP_PROCESS_2, ConstObject.ID_APP_PROCESS_2,
ConstObject.ID_WEATHER, ConstObject.ID_WEATHER,
ConstObject.ID_CONSTELLATION ConstObject.ID_CONSTELLATION,
ConstObject.ID_USAGE_REPORT,
) )
} }
...@@ -346,9 +346,7 @@ object NotificationUiUtil { ...@@ -346,9 +346,7 @@ object NotificationUiUtil {
small = smallRemoteViews small = smallRemoteViews
} }
// 设置小视图 // 设置小视图
builder.setContent(small) builder.setCustomContentView(smallRemoteViews)
builder.setCustomHeadsUpContentView(small)
builder.setCustomContentView(small)
// 设置悬浮通知视图(Android 12 及以上) // 设置悬浮通知视图(Android 12 及以上)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
......
package com.base.browserwhite.ui.activity.webbrowser package com.base.browserwhite.ui.activity.webbrowser
import android.animation.Animator
import android.animation.AnimatorSet
import android.animation.ObjectAnimator
import android.animation.ValueAnimator import android.animation.ValueAnimator
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.Dialog import android.app.Dialog
import android.content.Context import android.content.Context
import android.content.Intent
import android.net.Uri import android.net.Uri
import android.net.http.SslError import android.net.http.SslError
import android.util.Log
import android.view.View import android.view.View
import android.view.animation.AccelerateDecelerateInterpolator import android.view.animation.AccelerateDecelerateInterpolator
import android.view.animation.AccelerateInterpolator
import android.view.animation.DecelerateInterpolator
import android.view.animation.LinearInterpolator
import android.webkit.CookieManager import android.webkit.CookieManager
import android.webkit.JsResult import android.webkit.JsResult
import android.webkit.SslErrorHandler import android.webkit.SslErrorHandler
...@@ -26,6 +20,7 @@ import android.webkit.WebSettings ...@@ -26,6 +20,7 @@ import android.webkit.WebSettings
import android.webkit.WebStorage import android.webkit.WebStorage
import android.webkit.WebView import android.webkit.WebView
import android.webkit.WebViewClient import android.webkit.WebViewClient
import android.widget.Toast
import androidx.core.view.isVisible import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.base.browserwhite.MyApplication import com.base.browserwhite.MyApplication
...@@ -35,12 +30,10 @@ import com.base.browserwhite.bean.DownloadBean ...@@ -35,12 +30,10 @@ import com.base.browserwhite.bean.DownloadBean
import com.base.browserwhite.bean.HistoryBean import com.base.browserwhite.bean.HistoryBean
import com.base.browserwhite.databinding.FragmentWebViewBinding import com.base.browserwhite.databinding.FragmentWebViewBinding
import com.base.browserwhite.ui.activity.download.DownloadAdapter import com.base.browserwhite.ui.activity.download.DownloadAdapter
import com.base.browserwhite.ui.activity.download.DownloadDialog.showDownloadFinishDialog
import com.base.browserwhite.ui.activity.download.DownloadDialog.showDownloadVideoDialog import com.base.browserwhite.ui.activity.download.DownloadDialog.showDownloadVideoDialog
import com.base.browserwhite.ui.fragment.BaseFragment import com.base.browserwhite.ui.fragment.BaseFragment
import com.base.browserwhite.ui.views.PermissionDialog.showPermissionBottomSheet import com.base.browserwhite.ui.views.PermissionDialog.showPermissionBottomSheet
import com.base.browserwhite.utils.ColorUtils import com.base.browserwhite.utils.ColorUtils
import com.base.browserwhite.utils.DownloadUtils
import com.base.browserwhite.utils.DownloadUtils.getDownloadJson import com.base.browserwhite.utils.DownloadUtils.getDownloadJson
import com.base.browserwhite.utils.DownloadUtils.getDownloadJsonBean import com.base.browserwhite.utils.DownloadUtils.getDownloadJsonBean
import com.base.browserwhite.utils.DownloadUtils.saveDownloadRecordFile import com.base.browserwhite.utils.DownloadUtils.saveDownloadRecordFile
...@@ -110,7 +103,7 @@ class WebViewFragment : BaseFragment<FragmentWebViewBinding>() { ...@@ -110,7 +103,7 @@ class WebViewFragment : BaseFragment<FragmentWebViewBinding>() {
binding.flDownload.setOnClickListener { binding.flDownload.setOnClickListener {
if (!requireContext().checkStorePermission()) { if (!requireContext().checkStorePermission()) {
val launcher = (requireActivity() as WebBrowserActivity).launcher val launcher = (requireActivity() as WebBrowserActivity).launcher
requireContext().showPermissionBottomSheet(launcher){} requireContext().showPermissionBottomSheet(launcher) {}
return@setOnClickListener return@setOnClickListener
} }
...@@ -143,7 +136,12 @@ class WebViewFragment : BaseFragment<FragmentWebViewBinding>() { ...@@ -143,7 +136,12 @@ class WebViewFragment : BaseFragment<FragmentWebViewBinding>() {
val dropTranslationY2 = -(MyApplication.context.dpToPx(20f)).toFloat() val dropTranslationY2 = -(MyApplication.context.dpToPx(20f)).toFloat()
// 回弹高度 // 回弹高度
val animator = ValueAnimator.ofFloat(dropTranslationY, startTranslationY, dropTranslationY1, startTranslationY) val animator = ValueAnimator.ofFloat(
dropTranslationY,
startTranslationY,
dropTranslationY1,
startTranslationY
)
animator.interpolator = AccelerateDecelerateInterpolator() animator.interpolator = AccelerateDecelerateInterpolator()
animator.duration = 1000 animator.duration = 1000
animator.addUpdateListener { animation -> animator.addUpdateListener { animation ->
...@@ -205,6 +203,7 @@ class WebViewFragment : BaseFragment<FragmentWebViewBinding>() { ...@@ -205,6 +203,7 @@ class WebViewFragment : BaseFragment<FragmentWebViewBinding>() {
//网页使用localStorage等Web存储API,需要启用DOM存储 //网页使用localStorage等Web存储API,需要启用DOM存储
webSettings.domStorageEnabled = true webSettings.domStorageEnabled = true
webSettings.setUseWideViewPort(false); webSettings.setUseWideViewPort(false);
webSettings.setLoadsImagesAutomatically(true); // 确保自动加载图片
//设置WebChromeClient //设置WebChromeClient
...@@ -239,6 +238,8 @@ class WebViewFragment : BaseFragment<FragmentWebViewBinding>() { ...@@ -239,6 +238,8 @@ class WebViewFragment : BaseFragment<FragmentWebViewBinding>() {
result: JsResult? result: JsResult?
): Boolean = true ): Boolean = true
} }
val packageManager = context?.packageManager
binding.webView.webViewClient = object : WebViewClient() { binding.webView.webViewClient = object : WebViewClient() {
...@@ -254,8 +255,23 @@ class WebViewFragment : BaseFragment<FragmentWebViewBinding>() { ...@@ -254,8 +255,23 @@ class WebViewFragment : BaseFragment<FragmentWebViewBinding>() {
view: WebView?, view: WebView?,
request: WebResourceRequest? request: WebResourceRequest?
): Boolean { ): Boolean {
if (request != null) {
val uri = request.url
val scheme = uri.scheme
// 检查 URL 是否是 scheme 类型
if (scheme != null && (scheme == "http" || scheme == "https")) {
} else {
val intent = Intent(Intent.ACTION_VIEW, uri)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
if (packageManager != null && intent.resolveActivity(packageManager) != null) {
startActivity(intent)
}
return true // 返回 true,表示 URL 已经被处理
}
return super.shouldOverrideUrlLoading(view, request) return super.shouldOverrideUrlLoading(view, request)
} }
return false
}
override fun onPageFinished(view: WebView?, url: String?) { override fun onPageFinished(view: WebView?, url: String?) {
LogEx.logDebug(TAG, "onPageFinished") LogEx.logDebug(TAG, "onPageFinished")
...@@ -305,7 +321,6 @@ class WebViewFragment : BaseFragment<FragmentWebViewBinding>() { ...@@ -305,7 +321,6 @@ class WebViewFragment : BaseFragment<FragmentWebViewBinding>() {
) { ) {
LogEx.logDebug(TAG, "onReceivedError ${error?.errorCode} ${error?.description}") LogEx.logDebug(TAG, "onReceivedError ${error?.errorCode} ${error?.description}")
super.onReceivedError(view, request, error) super.onReceivedError(view, request, error)
return
} }
} }
......
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