Commit 41888b0d authored by wanglei's avatar wanglei

...

parent 876ba615
...@@ -17,6 +17,7 @@ import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfActivity ...@@ -17,6 +17,7 @@ import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfActivity
import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfSplitActivity import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfSplitActivity
import com.base.pdfviewerscannerwhite.ui.document.ppt.PptActivity import com.base.pdfviewerscannerwhite.ui.document.ppt.PptActivity
import com.base.pdfviewerscannerwhite.ui.document.word.WordActivity import com.base.pdfviewerscannerwhite.ui.document.word.WordActivity
import com.base.pdfviewerscannerwhite.ui.view.DialogView.showDocumentHomeMoreDialog
import com.base.pdfviewerscannerwhite.ui.view.DialogView.showDocumentRenameDialog import com.base.pdfviewerscannerwhite.ui.view.DialogView.showDocumentRenameDialog
import com.base.pdfviewerscannerwhite.ui.view.DialogView.showPdfHomeMoreDialog import com.base.pdfviewerscannerwhite.ui.view.DialogView.showPdfHomeMoreDialog
import com.base.pdfviewerscannerwhite.ui.view.DialogView.showPdfPwdDialog import com.base.pdfviewerscannerwhite.ui.view.DialogView.showPdfPwdDialog
...@@ -78,14 +79,11 @@ class DocumentFragment() : BaseFragment<FragmentDocumentBinding>(), DocumentView ...@@ -78,14 +79,11 @@ class DocumentFragment() : BaseFragment<FragmentDocumentBinding>(), DocumentView
} }
} }
if (type == TYPE_WORD) { if (type == TYPE_WORD) {
// startActivity(Intent(requireContext(), WordActivity::class.java).apply {
// putExtra("path", item.path)
// })
WordActivity.wordDocumentBean = item WordActivity.wordDocumentBean = item
WordActivity.launchDocViewer(requireActivity(), 3, item.path, -1, 100) WordActivity.launchDocViewer(requireActivity(), 3, item.path, -1, 100)
} }
if (type == TYPE_EXCEL) { if (type == TYPE_EXCEL) {
ExcelActivity.excelDocumentBean=item ExcelActivity.excelDocumentBean = item
ExcelActivity.launchDocViewer(requireActivity(), 3, item.path, -1, 100) ExcelActivity.launchDocViewer(requireActivity(), 3, item.path, -1, 100)
} }
if (type == TYPE_PPT) { if (type == TYPE_PPT) {
...@@ -98,7 +96,7 @@ class DocumentFragment() : BaseFragment<FragmentDocumentBinding>(), DocumentView ...@@ -98,7 +96,7 @@ class DocumentFragment() : BaseFragment<FragmentDocumentBinding>(), DocumentView
requireContext().showPdfHomeMoreDialog(this, item, adapter, dismissAction = { firstDialog = null }) requireContext().showPdfHomeMoreDialog(this, item, adapter, dismissAction = { firstDialog = null })
} }
if (item.type == TYPE_WORD || item.type == TYPE_EXCEL || item.type == TYPE_PPT) { if (item.type == TYPE_WORD || item.type == TYPE_EXCEL || item.type == TYPE_PPT) {
// requireContext().showDocumentDetail() firstDialog = requireContext().showDocumentHomeMoreDialog(item, this)
} }
} }
binding.rv.adapter = adapter binding.rv.adapter = adapter
......
...@@ -31,6 +31,7 @@ import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfBoxUtils ...@@ -31,6 +31,7 @@ import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfBoxUtils
import com.base.pdfviewerscannerwhite.ui.main.DocumentView import com.base.pdfviewerscannerwhite.ui.main.DocumentView
import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfView import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfView
import com.base.pdfviewerscannerwhite.utils.ActivityLauncher import com.base.pdfviewerscannerwhite.utils.ActivityLauncher
import com.base.pdfviewerscannerwhite.utils.IntentShareUtils.documentShare
import com.base.pdfviewerscannerwhite.utils.IntentShareUtils.shareExcelIntent import com.base.pdfviewerscannerwhite.utils.IntentShareUtils.shareExcelIntent
import com.base.pdfviewerscannerwhite.utils.IntentShareUtils.sharePdfIntent import com.base.pdfviewerscannerwhite.utils.IntentShareUtils.sharePdfIntent
import com.base.pdfviewerscannerwhite.utils.IntentShareUtils.sharePdfPrintIntent import com.base.pdfviewerscannerwhite.utils.IntentShareUtils.sharePdfPrintIntent
...@@ -40,6 +41,7 @@ import com.base.pdfviewerscannerwhite.utils.KotlinExt.toFormatSize ...@@ -40,6 +41,7 @@ import com.base.pdfviewerscannerwhite.utils.KotlinExt.toFormatSize
import com.base.pdfviewerscannerwhite.utils.KotlinExt.toFormatTime import com.base.pdfviewerscannerwhite.utils.KotlinExt.toFormatTime
import com.base.pdfviewerscannerwhite.utils.KotlinExt.toFormatTime2 import com.base.pdfviewerscannerwhite.utils.KotlinExt.toFormatTime2
import com.base.pdfviewerscannerwhite.utils.KotlinExt.toFormatTime3 import com.base.pdfviewerscannerwhite.utils.KotlinExt.toFormatTime3
import com.base.pdfviewerscannerwhite.utils.KotlinExt.toFormatTime4
import com.base.pdfviewerscannerwhite.utils.LogEx import com.base.pdfviewerscannerwhite.utils.LogEx
import com.base.pdfviewerscannerwhite.utils.PermissionUtils.requestStoragePermission import com.base.pdfviewerscannerwhite.utils.PermissionUtils.requestStoragePermission
import com.base.pdfviewerscannerwhite.utils.SpStringUtils import com.base.pdfviewerscannerwhite.utils.SpStringUtils
...@@ -111,7 +113,8 @@ object DialogView { ...@@ -111,7 +113,8 @@ object DialogView {
} }
fun Context.showDocumentHomeMoreDialog() { @SuppressLint("SetTextI18n")
fun Context.showDocumentHomeMoreDialog(item: DocumentBean, documentView: DocumentView): BottomSheetDialog {
val dialog = BottomSheetDialog(this, R.style.BottomSheetDialog) val dialog = BottomSheetDialog(this, R.style.BottomSheetDialog)
val binding = DialogDocumentHomeMoreBinding.inflate(LayoutInflater.from(this)) val binding = DialogDocumentHomeMoreBinding.inflate(LayoutInflater.from(this))
dialog.setContentView(binding.root) dialog.setContentView(binding.root)
...@@ -124,6 +127,46 @@ object DialogView { ...@@ -124,6 +127,46 @@ object DialogView {
//展开 //展开
behavior.state = BottomSheetBehavior.STATE_EXPANDED behavior.state = BottomSheetBehavior.STATE_EXPANDED
val file = File(item.path)
binding.tvName.text = file.name
binding.tvInfo.text = file.lastModified().toFormatTime4() + " " + file.length().toFormatSize()
if (item.isBookmarked) {
binding.ivBookmark.setImageResource(R.mipmap.h_soucang_s)
} else {
binding.ivBookmark.setImageResource(R.mipmap.h_soucang_n)
}
when (item.type) {
TYPE_WORD -> {
binding.ivDocument.setImageResource(R.mipmap.h_wordfiocn)
}
TYPE_EXCEL -> {
binding.ivDocument.setImageResource(R.mipmap.h_exceliocn)
}
TYPE_PPT -> {
binding.ivDocument.setImageResource(R.mipmap.h_pptfiocn)
}
}
binding.llRename.setOnClickListener {
documentView.dialogRename(item)
}
binding.llDetail.setOnClickListener {
showDocumentDetail(item.path)
}
binding.llShare.setOnClickListener {
documentShare(item)
}
binding.llDelete.setOnClickListener {
dialog.dismiss()
showDeleteDialog {
runCatching {
File(item.path).delete()
}
documentView.deleteDocument(item)
}
}
return dialog
} }
...@@ -294,24 +337,7 @@ object DialogView { ...@@ -294,24 +337,7 @@ object DialogView {
showDocumentDetail(documentBean.path) showDocumentDetail(documentBean.path)
} }
binding.llShare.setOnClickListener { binding.llShare.setOnClickListener {
val uri = FileProvider.getUriForFile( documentShare(documentBean)
this, this.packageName + ".provider", File(documentBean.path)
)
var intent: Intent? = null
var desc = "Share PDF"
if (documentBean.type == TYPE_PPT) {
intent = sharePptIntent(uri)
desc = "Share PPT"
}
if (documentBean.type == TYPE_WORD) {
intent = shareWordIntent(uri)
desc = "Share Word"
}
if (documentBean.type == TYPE_EXCEL) {
intent = shareExcelIntent(uri)
desc = "Share Excel"
}
intent?.let { startActivity(Intent.createChooser(it, desc)) }
} }
binding.llJump.setOnClickListener { binding.llJump.setOnClickListener {
showJumpPageNumberDialog(pageNumber) { pageIndex -> showJumpPageNumberDialog(pageNumber) { pageIndex ->
...@@ -322,7 +348,6 @@ object DialogView { ...@@ -322,7 +348,6 @@ object DialogView {
} }
@SuppressLint("SetTextI18n") @SuppressLint("SetTextI18n")
fun Context.showPdfPwdDialog( fun Context.showPdfPwdDialog(
state: Int, state: Int,
...@@ -464,6 +489,12 @@ object DialogView { ...@@ -464,6 +489,12 @@ object DialogView {
val tempName = "Split_" + System.currentTimeMillis().toFormatTime2() val tempName = "Split_" + System.currentTimeMillis().toFormatTime2()
binding.edit.setText(name ?: tempName) binding.edit.setText(name ?: tempName)
if (name == null) {
binding.edit.selectAll()
} else {
val nameS = name.split(".")[0]
binding.edit.setSelection(0, nameS.length)
}
binding.edit.requestFocus() binding.edit.requestFocus()
binding.tvCancel.setOnClickListener { binding.tvCancel.setOnClickListener {
......
package com.base.pdfviewerscannerwhite.utils package com.base.pdfviewerscannerwhite.utils
import android.content.Context
import android.content.Intent import android.content.Intent
import android.net.Uri import android.net.Uri
import androidx.core.content.FileProvider
import com.base.pdfviewerscannerwhite.bean.DocumentBean
import com.base.pdfviewerscannerwhite.ui.view.DialogView.showDocumentMore
import java.io.File
object IntentShareUtils { object IntentShareUtils {
fun Context.documentShare(documentBean: DocumentBean) {
val uri = FileProvider.getUriForFile(
this, this.packageName + ".provider", File(documentBean.path)
)
var intent: Intent? = null
var desc = "Share PDF"
if (documentBean.type == DocumentBean.TYPE_PPT) {
intent = sharePptIntent(uri)
desc = "Share PPT"
}
if (documentBean.type == DocumentBean.TYPE_WORD) {
intent = shareWordIntent(uri)
desc = "Share Word"
}
if (documentBean.type == DocumentBean.TYPE_EXCEL) {
intent = shareExcelIntent(uri)
desc = "Share Excel"
}
intent?.let { startActivity(Intent.createChooser(it, desc)) }
}
fun sharePdfIntent(uri: Uri): Intent { fun sharePdfIntent(uri: Uri): Intent {
val shareIntent = Intent().apply { val shareIntent = Intent().apply {
action = Intent.ACTION_SEND action = Intent.ACTION_SEND
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toTopOf="parent">
<ImageView <ImageView
android:id="@+id/iv_pdf" android:id="@+id/iv_document"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="16dp" android:layout_marginStart="16dp"
...@@ -31,10 +31,10 @@ ...@@ -31,10 +31,10 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp" android:layout_marginHorizontal="16dp"
android:orientation="vertical" android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="@id/iv_pdf" app:layout_constraintBottom_toBottomOf="@id/iv_document"
app:layout_constraintEnd_toStartOf="@id/iv_bookmark" app:layout_constraintEnd_toStartOf="@id/iv_bookmark"
app:layout_constraintStart_toEndOf="@id/iv_pdf" app:layout_constraintStart_toEndOf="@id/iv_document"
app:layout_constraintTop_toTopOf="@id/iv_pdf"> app:layout_constraintTop_toTopOf="@id/iv_document">
<TextView <TextView
android:id="@+id/tv_name" android:id="@+id/tv_name"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment