|
@@ -16,10 +16,7 @@ import android.support.v7.app.AlertDialog
|
|
|
import android.util.DisplayMetrics
|
|
|
import android.view.*
|
|
|
import android.view.animation.AnimationUtils
|
|
|
-import android.widget.EditText
|
|
|
-import android.widget.LinearLayout
|
|
|
-import android.widget.TextView
|
|
|
-import android.widget.Toast
|
|
|
+import android.widget.*
|
|
|
import com.kdanmobile.base.KdanBaseActivity
|
|
|
import com.kdanmobile.kmpdfkit.pdfcommon.KMPDFReaderView
|
|
|
import com.kdanmobile.kmpdfkit.pdfcommon.PDFInfo
|
|
@@ -36,6 +33,7 @@ import com.kdanmobile.reader.screen.reader.mediabox.signature.SignatureTabView
|
|
|
import com.kdanmobile.reader.screen.reader.mediabox.stamp.StampTabView
|
|
|
import com.kdanmobile.reader.screen.reader.mediabox.textbox.TextBoxTabView
|
|
|
import com.kdanmobile.reader.screen.view.*
|
|
|
+import com.kdanmobile.reader.screen.view.SearchView
|
|
|
import com.kdanmobile.reader.setting.ReaderSettingDialogFragment
|
|
|
import com.kdanmobile.reader.setting.ReaderSettingListener
|
|
|
import com.kdanmobile.reader.thumb.PdfThumbDialogFragment
|
|
@@ -214,6 +212,7 @@ abstract class ReaderActivity : KdanBaseActivity(), ReaderSettingListener, PdfTh
|
|
|
applySetting()
|
|
|
|
|
|
setupPdfChangedListener()
|
|
|
+ setupInkMenu()
|
|
|
}
|
|
|
|
|
|
private fun showFileCannotOpenDialog(title: String) {
|
|
@@ -379,6 +378,33 @@ abstract class ReaderActivity : KdanBaseActivity(), ReaderSettingListener, PdfTh
|
|
|
false -> hideTopLeftBottomToolbars()
|
|
|
}
|
|
|
readerModel.onPdfChangedListener?.onPageUpdated(arrayListOf(currentPageIndex))
|
|
|
+
|
|
|
+ if (viewModel.annotationModeLiveData.value != ReaderViewModel.AnnotationMode.INK) {
|
|
|
+ AnimationUtil.hideViewAlpha(view_ink_menu)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private fun setupInkMenu() {
|
|
|
+ val btnInkUndo = findViewById<ImageButton>(R.id.btn_ink_undo)
|
|
|
+ val btnInkRedo = findViewById<ImageButton>(R.id.btn_ink_redo)
|
|
|
+ val btnInkClean = findViewById<ImageButton>(R.id.btn_ink_clean)
|
|
|
+ val btnInkDone = findViewById<ImageButton>(R.id.btn_ink_done)
|
|
|
+
|
|
|
+ btnInkUndo.setOnClickListener {
|
|
|
+ viewModel.undoInk()
|
|
|
+ }
|
|
|
+
|
|
|
+ btnInkRedo.setOnClickListener {
|
|
|
+ viewModel.redoInk()
|
|
|
+ }
|
|
|
+
|
|
|
+ btnInkClean.setOnClickListener {
|
|
|
+ viewModel.cleanInk()
|
|
|
+ }
|
|
|
+
|
|
|
+ btnInkDone.setOnClickListener {
|
|
|
+ viewModel.finishInk()
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private fun onAnnotationEditModeUpdate(mode: ReaderViewModel.AnnotationEitMode?) {
|
|
@@ -510,6 +536,10 @@ abstract class ReaderActivity : KdanBaseActivity(), ReaderSettingListener, PdfTh
|
|
|
val event = MotionEvent.obtain(0, 0, MotionEvent.ACTION_DOWN, -1000f, -1000f, 0)
|
|
|
viewModel.getReaderView()?.onSingleTapUp(event)
|
|
|
}
|
|
|
+ if (viewModel.annotationModeLiveData.value == ReaderViewModel.AnnotationMode.INK) {
|
|
|
+ viewModel.stopAnnotationMode()
|
|
|
+ viewModel.annotationModeLiveData.value = ReaderViewModel.AnnotationMode.NONE
|
|
|
+ }
|
|
|
viewModel.saveModifyingAnnotation()
|
|
|
viewModel.temporarySave()
|
|
|
if (!filePath.isNullOrEmpty()) {
|
|
@@ -1013,7 +1043,14 @@ abstract class ReaderActivity : KdanBaseActivity(), ReaderSettingListener, PdfTh
|
|
|
}
|
|
|
}
|
|
|
iv_readerActivity_ink.apply {
|
|
|
- setOnClickListener { viewModel.onClickInkBtn() }
|
|
|
+ setOnClickListener {
|
|
|
+ if (viewModel.annotationModeLiveData.value == ReaderViewModel.AnnotationMode.INK) {
|
|
|
+ AnimationUtil.hideViewAlpha(view_ink_menu)
|
|
|
+ } else {
|
|
|
+ AnimationUtil.showViewAlpha(view_ink_menu)
|
|
|
+ }
|
|
|
+ viewModel.onClickInkBtn()
|
|
|
+ }
|
|
|
setOnLongClickListener { btn ->
|
|
|
viewModel.onLongClickInkBtn()
|
|
|
val context = this@ReaderActivity
|
|
@@ -1035,6 +1072,11 @@ abstract class ReaderActivity : KdanBaseActivity(), ReaderSettingListener, PdfTh
|
|
|
val xOff = (-contentView.measuredWidth - space).toInt()
|
|
|
val yOff = -contentView.measuredHeight
|
|
|
window.showAsDropDown(btn, xOff, yOff)
|
|
|
+
|
|
|
+ AnimationUtil.hideViewAlpha(view_ink_menu)
|
|
|
+ window.setOnDismissListener {
|
|
|
+ AnimationUtil.showViewAlpha(view_ink_menu)
|
|
|
+ }
|
|
|
}
|
|
|
return@setOnLongClickListener true
|
|
|
}
|