|
|
@@ -1,11 +1,13 @@
|
|
|
package com.adealink.weparty.ui.home
|
|
|
|
|
|
import android.annotation.SuppressLint
|
|
|
+import android.net.Uri
|
|
|
import android.os.Bundle
|
|
|
import androidx.annotation.CallSuper
|
|
|
import androidx.annotation.LayoutRes
|
|
|
import androidx.fragment.app.viewModels
|
|
|
import androidx.lifecycle.Observer
|
|
|
+import androidx.lifecycle.lifecycleScope
|
|
|
import androidx.recyclerview.widget.RecyclerView
|
|
|
import androidx.viewpager2.widget.ViewPager2
|
|
|
import com.adealink.frame.base.fastLazy
|
|
|
@@ -39,7 +41,6 @@ import com.adealink.weparty.module.level.data.TAG_LEVEL
|
|
|
import com.adealink.weparty.module.medal.Medal
|
|
|
import com.adealink.weparty.module.medal.MedalModule
|
|
|
import com.adealink.weparty.module.medal.data.MedalData
|
|
|
-import com.adealink.weparty.module.message.MessageModule
|
|
|
import com.adealink.weparty.module.operation.Operation
|
|
|
import com.adealink.weparty.module.operation.OperationModule
|
|
|
import com.adealink.weparty.module.profile.ProfileModule
|
|
|
@@ -55,6 +56,8 @@ import com.adealink.weparty.url.urlConfigService
|
|
|
import com.adealink.weparty.webview.manager.PreloadWebViewManager
|
|
|
import com.google.android.material.tabs.TabLayout
|
|
|
import com.google.android.material.tabs.TabLayoutMediator
|
|
|
+import kotlinx.coroutines.delay
|
|
|
+import kotlinx.coroutines.launch
|
|
|
|
|
|
/**
|
|
|
* Created by sunxiaodong on 2022/10/9.
|
|
|
@@ -309,11 +312,16 @@ abstract class BaseHomeFragment : BaseFragment, ITabManager {
|
|
|
}
|
|
|
|
|
|
private fun preloadWebViewResource() {
|
|
|
- if (!PreloadWebViewManager.isUrlPreloaded(urlConfigService.getH5Url(H5Page.PREFETCH))) {
|
|
|
- PreloadWebViewManager.preloadWebResources(
|
|
|
- requireContext(),
|
|
|
- urlConfigService.getH5Url(H5Page.PREFETCH)
|
|
|
- )
|
|
|
+ val url = urlConfigService.getH5Url(H5Page.PREFETCH)
|
|
|
+ val keepAliveTime = Uri.parse(url).getQueryParameter("maxAge")?.toInt() ?: 0
|
|
|
+ if (!PreloadWebViewManager.isUrlPreloaded(url)) {
|
|
|
+ PreloadWebViewManager.preloadWebResources(requireContext(), url)
|
|
|
+ }
|
|
|
+ if (keepAliveTime > 0) {
|
|
|
+ lifecycleScope.launch {
|
|
|
+ delay(keepAliveTime * 1000L)
|
|
|
+ PreloadWebViewManager.destroy()
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|