Commit e73b5f11 authored by wanglei's avatar wanglei

...

parent 23d3e3d9
......@@ -21,15 +21,18 @@ import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfActivity
import com.base.pdfviewerscannerwhite.ui.document.ppt.PptActivity
import com.base.pdfviewerscannerwhite.ui.document.word.WordActivity
import com.base.pdfviewerscannerwhite.ui.view.DialogView.showDeleteDialog
import com.base.pdfviewerscannerwhite.ui.view.DialogView.showDocumentRenameDialog
import com.base.pdfviewerscannerwhite.ui.view.DialogView.showStoragePermission
import com.base.pdfviewerscannerwhite.ui.view.PdfDialog.showPdfPwdDialog
import com.base.pdfviewerscannerwhite.utils.IntentShareUtils.shareMutDocuments
import com.base.pdfviewerscannerwhite.utils.LogEx
import com.base.pdfviewerscannerwhite.utils.PermissionUtils.checkStorePermission
import com.base.pdfviewerscannerwhite.utils.updateMediaStore
import java.io.File
class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
private val TAG="MainActivity"
private val TAG = "MainActivity"
lateinit var mainPresenter: MainPresenter
override val binding: ActivityMain2Binding by lazy {
ActivityMain2Binding.inflate(layoutInflater)
......@@ -49,8 +52,10 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
private var currentFragment: Fragment = documentFragment
override fun initView() {
LogEx.logDebug(TAG,"initView")
LogEx.logDebug(TAG, "initView")
mainPresenter = MainPresenter(this, this, lifecycleScope)
mainPresenter.initScannerLauncher(this)
}
......@@ -67,7 +72,7 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
LogEx.logDebug(TAG,"onSaveInstanceState")
LogEx.logDebug(TAG, "onSaveInstanceState")
}
var isDocumentAdd: Boolean = false
......@@ -175,6 +180,9 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
binding.llShare.setOnClickListener {
shareDocument()
}
binding.ivScan.setOnClickListener {
mainPresenter.starGmsScan(this)
}
}
......@@ -222,6 +230,18 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
override fun handleActivityGmsScanResult(imageUri: Uri, pdfUri: Uri) {
// LogEx.logDebug(TAG, "imageUri=$imageUri")
LogEx.logDebug(TAG, "pdfUri=$pdfUri")
val file = File(pdfUri.toString().replace("file://", ""))
if (file.exists()) {
// binding.tvTest.text = "imageUri=$imageUri\n\n\n\npdfUri=$pdfUri"
showDocumentRenameDialog(file.name) {
val newFile = File(mainPresenter.getDocumentAppDir(), "$it.pdf")
mainPresenter.copyFile(file, newFile)
this.updateMediaStore()
refreshPageList()
}
}
}
......
......@@ -4,11 +4,13 @@ import android.app.Activity
import android.content.Context
import android.content.IntentSender
import android.net.Uri
import android.os.Environment
import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.IntentSenderRequest
import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.LifecycleCoroutineScope
import com.base.pdfviewerscannerwhite.R
import com.base.pdfviewerscannerwhite.bean.ConstObject
import com.base.pdfviewerscannerwhite.bean.ConstObject.BOOKMARK_DATA_TYPE
import com.base.pdfviewerscannerwhite.bean.ConstObject.DOCUMENT_DATA_TYPE
......@@ -39,6 +41,13 @@ class MainPresenter(
val lifecycleScope: LifecycleCoroutineScope
) {
fun getDocumentAppDir(): File {
val appDir = File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS), context.packageName)
if (!appDir.exists())
appDir.exists()
return appDir
}
//所有fragment的数据,都从这里取
val pdfDocuments = arrayListOf<DocumentBean>()
val wordDocuments = arrayListOf<DocumentBean>()
......@@ -372,4 +381,10 @@ class MainPresenter(
}
}
fun copyFile(file: File, newFile: File) {
runCatching {
file.copyTo(newFile, true)
}
}
}
\ No newline at end of file
......@@ -243,5 +243,16 @@
</androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:visibility="gone"
android:id="@+id/tv_test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20dp"
android:background="@color/white"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<resources>
<string name="app_name">PDF Viewer &amp; Scanner</string>
<!-- TODO: Remove or change this placeholder text -->
<string name="hello_blank_fragment">Hello blank fragment</string>
<!-- Strings used for fragments for navigation -->
<string name="first_fragment_label">First Fragment</string>
<string name="second_fragment_label">Second Fragment</string>
<string name="next">Next</string>
<string name="previous">Previous</string>
<resources xmlns:tools="http://schemas.android.com/tools">
<string name="app_name" tools:ignore="MissingTranslation">PDF Viewer &amp; Scanner</string>
<string name="next" tools:ignore="MissingTranslation">Next</string>
<string name="previous" tools:ignore="MissingTranslation">Previous</string>
<string name="lorem_ipsum">
<string name="lorem_ipsum" tools:ignore="MissingTranslation">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam in scelerisque sem. Mauris volutpat, dolor id interdum
ullamcorper, risus dolor egestas lectus, sit amet mattis purus dui nec risus. Maecenas non sodales nisi, vel dictum dolor.
Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Suspendisse blandit eleifend diam,
......
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="accept">接受</string>
<string name="app_name">MuPDF</string>
<string name="cancel">取消</string>
<string name="cannot_open_buffer">无法打开缓冲器</string>
<string name="cannot_open_document">无法打开文档</string>
<string name="cannot_open_document_Reason">无法打开文档: %1$s</string>
<string name="cannot_open_file_Path">无法打开文件:%1$s</string>
<string name="choose_value">选择值</string>
<string name="copied_to_clipboard">已复制到剪贴板</string>
<string name="copy">复制</string>
<string name="copy_text">复制文本</string>
<string name="copy_text_to_the_clipboard">将文本复制到剪贴板</string>
<string name="delete">删除</string>
<string name="dismiss">解除</string>
<string name="document_has_changes_save_them_">文档已变更,保存变更吗?</string>
<string name="draw_annotation">作批注</string>
<string name="edit_annotations">编辑批注</string>
<string name="enter_password">输入密码</string>
<string name="entering_reflow_mode">输入重排模式</string>
<string name="fill_out_text_field">填充文本字段</string>
<string name="format_currently_not_supported">当前不支持此格式</string>
<string name="highlight">高亮</string>
<string name="ink">墨迹</string>
<string name="leaving_reflow_mode">正在离开重排模式</string>
<string name="more">更多</string>
<string name="no"></string>
<string name="no_further_occurrences_found">未发现更多实例。</string>
<string name="no_media_hint">存储介质在设备和 PC 上共同使用,会导致该存储介质在设备上无法被访问</string>
<string name="no_media_warning">没有存储介质</string>
<string name="no_text_selected">未选择文本</string>
<string name="not_supported">不被支持</string>
<string name="nothing_to_save">没有要保存的内容</string>
<string name="okay">确定</string>
<string name="outline_title">目录</string>
<string name="parent_directory">[向上一级]</string>
<string name="picker_title_App_Ver_Dir">%1$s%2$s:%3$s</string>
<string name="print">打印</string>
<string name="print_failed">未能打印</string>
<string name="save">保存</string>
<string name="search">搜索</string>
<string name="search_backwards">向后搜索</string>
<string name="search_document">搜索文档</string>
<string name="search_forwards">向前搜索</string>
<string name="searching_">正在搜索…</string>
<string name="select">选择</string>
<string name="select_text">选择文本</string>
<string name="strike_out">删除线</string>
<string name="text_not_found">未发现文本</string>
<string name="toggle_links">高亮并启用墨迹</string>
<string name="underline">下划线</string>
<string name="yes"></string>
<string name="select_certificate_and_sign">选择证书并签名?</string>
<string name="signature_checked">签名已检查</string>
<string name="accept">接受</string>
<string name="cancel">取消</string>
<string name="cannot_open_buffer">无法打开缓冲器</string>
<string name="cannot_open_document">无法打开文档</string>
<string name="cannot_open_document_Reason">无法打开文档: %1$s</string>
<string name="cannot_open_file_Path">无法打开文件:%1$s</string>
<string name="choose_value">选择值</string>
<string name="copied_to_clipboard">已复制到剪贴板</string>
<string name="copy">复制</string>
<string name="copy_text">复制文本</string>
<string name="copy_text_to_the_clipboard">将文本复制到剪贴板</string>
<string name="delete">删除</string>
<string name="dismiss">解除</string>
<string name="document_has_changes_save_them_">文档已变更,保存变更吗?</string>
<string name="draw_annotation">作批注</string>
<string name="edit_annotations">编辑批注</string>
<string name="enter_password">输入密码</string>
<string name="entering_reflow_mode">输入重排模式</string>
<string name="fill_out_text_field">填充文本字段</string>
<string name="format_currently_not_supported">当前不支持此格式</string>
<string name="highlight">高亮</string>
<string name="ink">墨迹</string>
<string name="leaving_reflow_mode">正在离开重排模式</string>
<string name="more">更多</string>
<string name="no"></string>
<string name="no_further_occurrences_found">未发现更多实例。</string>
<string name="no_media_hint">存储介质在设备和 PC 上共同使用,会导致该存储介质在设备上无法被访问</string>
<string name="no_media_warning">没有存储介质</string>
<string name="no_text_selected">未选择文本</string>
<string name="not_supported">不被支持</string>
<string name="nothing_to_save">没有要保存的内容</string>
<string name="okay">确定</string>
<string name="outline_title">目录</string>
<string name="parent_directory">[向上一级]</string>
<string name="picker_title_App_Ver_Dir">%1$s%2$s:%3$s</string>
<string name="print">打印</string>
<string name="print_failed">未能打印</string>
<string name="save">保存</string>
<string name="search">搜索</string>
<string name="search_backwards">向后搜索</string>
<string name="search_document">搜索文档</string>
<string name="search_forwards">向前搜索</string>
<string name="searching_">正在搜索…</string>
<string name="select">选择</string>
<string name="select_text">选择文本</string>
<string name="strike_out">删除线</string>
<string name="text_not_found">未发现文本</string>
<string name="toggle_links">高亮并启用墨迹</string>
<string name="underline">下划线</string>
<string name="yes"></string>
<string name="select_certificate_and_sign">选择证书并签名?</string>
<string name="signature_checked">签名已检查</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">MuPDF</string>
<string name="version">1.9 (git build)</string>
<string name="no_media_warning">Storage media not present</string>
<string name="no_media_hint">Sharing the storage media with a PC can make it inaccessible</string>
<string name="cancel">Cancel</string>
......
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