Просмотр исходного кода

修复偶先的进入阅读界面时书籍不加载的问题

HapeLee 1 год назад
Родитель
Сommit
9c09d0b18e
1 измененных файлов с 16 добавлено и 34 удалено
  1. 16 34
      app/src/main/java/io/legato/kazusa/ui/book/read/ReadBookActivity.kt

+ 16 - 34
app/src/main/java/io/legato/kazusa/ui/book/read/ReadBookActivity.kt

@@ -253,7 +253,7 @@ class ReadBookActivity : BaseReadBookActivity(),
     @SuppressLint("ClickableViewAccessibility")
     @SuppressLint("ClickableViewAccessibility")
     override fun onCreate(savedInstanceState: Bundle?) {
     override fun onCreate(savedInstanceState: Bundle?) {
 
 
-        if (AppConfig.sharedElementEnterTransitionEnable) {
+        if (AppConfig.sharedElementEnterTransitionEnable && savedInstanceState == null) {
 
 
             val transform = MaterialContainerTransform().apply {
             val transform = MaterialContainerTransform().apply {
                 addTarget(binding.rootView)
                 addTarget(binding.rootView)
@@ -267,28 +267,12 @@ class ReadBookActivity : BaseReadBookActivity(),
                     Transition.TransitionListener {
                     Transition.TransitionListener {
                     override fun onTransitionStart(transition: Transition) {}
                     override fun onTransitionStart(transition: Transition) {}
                     override fun onTransitionEnd(transition: Transition) {
                     override fun onTransitionEnd(transition: Transition) {
-                        lifecycleScope.launch(Dispatchers.Default) {
-                            viewModel.initReadBookConfig(intent)
-                            viewModel.initData(intent)
-
-                            withContext(Main) {
-                                binding.readView.initAfterTransition()
-                                justInitData = true
-                            }
-                        }
+                        loadBook()
                         transition.removeListener(this)
                         transition.removeListener(this)
                     }
                     }
 
 
                     override fun onTransitionCancel(transition: Transition) {
                     override fun onTransitionCancel(transition: Transition) {
-                        lifecycleScope.launch(Dispatchers.Default) {
-                            viewModel.initReadBookConfig(intent)
-                            viewModel.initData(intent)
-
-                            withContext(Main) {
-                                binding.readView.initAfterTransition()
-                                justInitData = true
-                            }
-                        }
+                        loadBook()
                         transition.removeListener(this)
                         transition.removeListener(this)
                     }
                     }
 
 
@@ -296,6 +280,8 @@ class ReadBookActivity : BaseReadBookActivity(),
                     override fun onTransitionResume(transition: Transition) {}
                     override fun onTransitionResume(transition: Transition) {}
                 })
                 })
             }
             }
+        } else {
+            loadBook()
         }
         }
         window.sharedElementReturnTransition =
         window.sharedElementReturnTransition =
             MaterialSharedAxis(MaterialSharedAxis.X, true).apply {
             MaterialSharedAxis(MaterialSharedAxis.X, true).apply {
@@ -339,21 +325,6 @@ class ReadBookActivity : BaseReadBookActivity(),
         }
         }
     }
     }
 
 
-    override fun onPostCreate(savedInstanceState: Bundle?) {
-        super.onPostCreate(savedInstanceState)
-        if (!AppConfig.delayBookLoadEnable || !AppConfig.sharedElementEnterTransitionEnable) {
-            lifecycleScope.launch(Dispatchers.Default) {
-                viewModel.initReadBookConfig(intent)
-                viewModel.initData(intent)
-
-                withContext(Main) {
-                    binding.readView.initAfterTransition()
-                    justInitData = true
-                }
-            }
-        }
-    }
-
     override fun onNewIntent(intent: Intent) {
     override fun onNewIntent(intent: Intent) {
         super.onNewIntent(intent)
         super.onNewIntent(intent)
         viewModel.initData(intent)
         viewModel.initData(intent)
@@ -465,6 +436,17 @@ class ReadBookActivity : BaseReadBookActivity(),
         return super.onMenuOpened(featureId, menu)
         return super.onMenuOpened(featureId, menu)
     }
     }
 
 
+    private fun loadBook() {
+        lifecycleScope.launch(Dispatchers.Default) {
+            viewModel.initReadBookConfig(intent)
+            viewModel.initData(intent)
+            withContext(Dispatchers.Main) {
+                binding.readView.initAfterTransition()
+                justInitData = true
+            }
+        }
+    }
+
     /**
     /**
      * 更新菜单
      * 更新菜单
      */
      */