Prechádzať zdrojové kódy

Merge branch '136-nullPointerExceptionFromLongPressPaste' into 'master'

Resolve "貼上有時候會拋出NullPointerException"

See merge request kdanandroid/pdf/pdfreaderreadermodule!67
Wayne Huang 4 rokov pred
rodič
commit
eb660a9a7b

+ 6 - 4
src/main/java/com/kdanmobile/reader/screen/contextmenu/MyKMPDFContextMenuCallback.kt

@@ -335,10 +335,12 @@ open class MyKMPDFContextMenuCallback(private val kmpdfFactory: KMPDFFactory?) :
             btnPaste.setTextColor(ContextCompat.getColor(context, R.color.reader_contextMenu_text_disabled))
         }
         btnPaste.setOnClickListener {
-            if (clipboardManager.hasPrimaryClip()) {
-                val kmpdfLongPressCreateAnnotController = kmpdfFactory?.getController(KMPDFFactory.ControllerType.LONGCLICK) as KMPDFLongPressCreateAnnotController?
-                kmpdfLongPressCreateAnnotController?.longPress_Paste()
-                onLongPress()
+            if (clipboardManager.hasPrimaryClip() && !(clipboardManager.primaryClip?.getItemAt(0)?.text?.toString()).isNullOrEmpty()) {
+                try {
+                    val kmpdfLongPressCreateAnnotController = kmpdfFactory?.getController(KMPDFFactory.ControllerType.LONGCLICK) as KMPDFLongPressCreateAnnotController?
+                    kmpdfLongPressCreateAnnotController?.longPress_Paste()
+                    onLongPress()
+                } catch (e: Exception) {}
             }
             dismissPopupWindow()
         }