Horis 2 년 전
부모
커밋
6747c4165b
1개의 변경된 파일과 8개의 추가작업 그리고 6개의 파일을 삭제
  1. 8 6
      app/src/main/java/io/legado/app/utils/canvasrecorder/CanvasRecorderApi29Impl.kt

+ 8 - 6
app/src/main/java/io/legado/app/utils/canvasrecorder/CanvasRecorderApi29Impl.kt

@@ -24,6 +24,12 @@ class CanvasRecorderApi29Impl : BaseCanvasRecorder() {
         }
         }
     }
     }
 
 
+    private fun flushRenderNode() {
+        val rc = renderNode!!.beginRecording()
+        rc.drawPicture(picture!!)
+        renderNode!!.endRecording()
+    }
+
     override fun beginRecording(width: Int, height: Int): Canvas {
     override fun beginRecording(width: Int, height: Int): Canvas {
         init()
         init()
         renderNode!!.setPosition(0, 0, width, height)
         renderNode!!.setPosition(0, 0, width, height)
@@ -32,9 +38,7 @@ class CanvasRecorderApi29Impl : BaseCanvasRecorder() {
 
 
     override fun endRecording() {
     override fun endRecording() {
         picture!!.endRecording()
         picture!!.endRecording()
-        val rc = renderNode!!.beginRecording()
-        rc.drawPicture(picture!!)
-        renderNode!!.endRecording()
+        flushRenderNode()
         super.endRecording()
         super.endRecording()
     }
     }
 
 
@@ -42,9 +46,7 @@ class CanvasRecorderApi29Impl : BaseCanvasRecorder() {
         if (renderNode == null || picture == null) return
         if (renderNode == null || picture == null) return
         if (canvas.isHardwareAccelerated) {
         if (canvas.isHardwareAccelerated) {
             if (!renderNode!!.hasDisplayList()) {
             if (!renderNode!!.hasDisplayList()) {
-                val rc = renderNode!!.beginRecording()
-                rc.drawPicture(picture!!)
-                renderNode!!.endRecording()
+                flushRenderNode()
             }
             }
             canvas.drawRenderNode(renderNode!!)
             canvas.drawRenderNode(renderNode!!)
         } else {
         } else {