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

[修复] 阅读书籍未在书架时无法返回的问题

HapeLee 8 месяцев назад
Родитель
Сommit
f363424769

+ 2 - 8
app/src/main/java/io/legado/app/ui/book/audio/AudioPlayActivity.kt

@@ -158,20 +158,14 @@ class AudioPlayActivity :
         initView()
         onBackPressedDispatcher.addCallback(this){
             if (savedInstanceState != null || !AudioPlay.inBookshelf) {
-                finish()
+                supportFinishAfterTransition()
             } else {
+                callBackBookEnd()
                 supportFinishAfterTransition()
             }
         }
     }
 
-    override fun finish() {
-        if (AudioPlay.inBookshelf) {
-            callBackBookEnd()
-            return super.finish()
-        }
-    }
-
     override fun onCompatCreateOptionsMenu(menu: Menu): Boolean {
         menuInflater.inflate(R.menu.audio_play, menu)
         return super.onCompatCreateOptionsMenu(menu)

+ 2 - 8
app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt

@@ -354,9 +354,10 @@ class ReadBookActivity : BaseReadBookActivity(),
             }
             if (savedInstanceState != null || !ReadBook.inBookshelf) {
                 ReadBook.commitReadSession()
-                finish()
+                supportFinishAfterTransition()
             } else {
                 ReadBook.commitReadSession()
+                callBackBookEnd()
                 supportFinishAfterTransition()
             }
             //TODO: 有关测量相关问题
@@ -1865,13 +1866,6 @@ class ReadBookActivity : BaseReadBookActivity(),
         }
     }
 
-    override fun finish() {
-        if (ReadBook.inBookshelf) {
-            callBackBookEnd()
-            return super.finish()
-        }
-    }
-
     private fun callBackBookEnd() {
         SourceCallBack.callBackBook(
             SourceCallBack.END_READ,