瀏覽代碼

Add clear-signature function

Wayne 6 年之前
父節點
當前提交
bfe2a4af9f

+ 6 - 1
src/main/java/com/kdanmobile/reader/ReaderActivity.kt

@@ -48,7 +48,7 @@ import com.kdanmobile.reader.utils.UriToPathUtil
 import com.kdanmobile.reader.view.AnnotationAttributeView
 import com.kdanmobile.reader.view.AnnotationAttributeWindow
 import kotlinx.android.synthetic.main.activity_reader.*
-import java.io.*
+import java.io.File
 import java.util.*
 import kotlin.properties.Delegates
 
@@ -588,6 +588,7 @@ abstract class ReaderActivity : AppCompatActivity() {
                 R.id.item_reader_more_file_info -> onClickFileInfo()
                 R.id.item_reader_more_print -> onClickPrint()
                 R.id.item_reader_more_user_guide -> onClickUserGuide()
+                R.id.item_reader_more_clear_signature -> onClickClearSignature()
             }
             return@setOnMenuItemClickListener true
         }
@@ -603,6 +604,10 @@ abstract class ReaderActivity : AppCompatActivity() {
         }
     }
 
+    private fun onClickClearSignature() {
+        viewModel.clearSignature()
+    }
+
     private fun showAddBookmarkDialog() {
         val alertDialogBuilder = AlertDialog.Builder(this)
         val editText = EditText(this)

+ 6 - 0
src/main/java/com/kdanmobile/reader/ReaderModel.kt

@@ -3,6 +3,7 @@ package com.kdanmobile.reader
 import android.annotation.SuppressLint
 import com.kdanmobile.kmpdfkit.manager.KMPDFFactory
 import com.kdanmobile.kmpdfkit.manager.controller.KMPDFDocumentController
+import com.kdanmobile.kmpdfkit.manager.controller.KMPDFSignatureController
 
 class ReaderModel {
     private var filename: String? = null
@@ -16,6 +17,9 @@ class ReaderModel {
     var kmpdfDocumentController: KMPDFDocumentController? = null
         private set
 
+    var kmpdfSignatureController: KMPDFSignatureController? = null
+        private set
+
     var onPdfChangedListener: OnPdfChangedListener? = null
 
     var referenceCount = 0
@@ -34,6 +38,7 @@ class ReaderModel {
 
     fun initKMPDFDocumentController() {
         kmpdfDocumentController = kmpdfFactory?.getController(KMPDFFactory.ControllerType.DOCUMENT) as KMPDFDocumentController
+        kmpdfSignatureController = kmpdfFactory?.getController(KMPDFFactory.ControllerType.SIGNATURE) as KMPDFSignatureController
     }
 
     @Synchronized
@@ -43,6 +48,7 @@ class ReaderModel {
         kmpdfFactory?.destroy()
         kmpdfFactory = null
         kmpdfDocumentController = null
+        kmpdfSignatureController = null
     }
 
     fun register() {

+ 4 - 0
src/main/java/com/kdanmobile/reader/ReaderViewModel.kt

@@ -570,6 +570,10 @@ class ReaderViewModel(private val pdfSdkLicense: String, private val pdfSdkRsaMs
         }
     }
 
+    fun clearSignature() {
+        readerModel.kmpdfSignatureController?.deleteAllSign()
+    }
+
     fun temporarySave() {
         kmpdfDocumentController?.temporarySave()
     }

+ 10 - 0
src/main/res/drawable/ic_clear_signature_24dp.xml

@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:alpha="0.6"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0">
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z"/>
+</vector>

+ 7 - 0
src/main/res/menu/reader_more.xml

@@ -19,6 +19,13 @@
         android:title="@string/reader_more_menu_file_info"
         app:showAsAction="withText">
     </item>
+    <!--TODO : to use real icon and string -->
+    <item
+        android:id="@+id/item_reader_more_clear_signature"
+        android:icon="@drawable/ic_clear_signature_24dp"
+        android:title="@string/reader_more_menu_clear_signature"
+        app:showAsAction="withText">
+    </item>
     <item
         android:id="@+id/item_reader_more_print"
         android:icon="@drawable/ic_print_black_op60_24dp"

+ 2 - 0
src/main/res/values/strings.xml

@@ -6,6 +6,8 @@
     <string name="reader_more_menu_text_reflow">Text Reflow</string>
     <string name="reader_more_menu_print">Print</string>
     <string name="reader_more_menu_file_info">File Info</string>
+    <!--TODO add real string resource -->
+    <string name="reader_more_menu_clear_signature">[tmp]Clear Signature</string>
     <string name="reader_more_menu_user_guide">User Guide</string>
     <string name="reader_copy_text_success">The selected text has been saved to the clipboard!</string>