DroidFS/app/src/main/java/sushi/hardcore/droidfs/file_viewers/PdfViewer.kt

52 lines
1.3 KiB
Kotlin
Raw Normal View History

2022-02-18 15:53:48 +01:00
package sushi.hardcore.droidfs.file_viewers
import android.view.Menu
import android.view.MenuItem
2022-03-26 19:14:48 +01:00
import app.grapheneos.pdfviewer.PdfViewer
2022-02-18 15:53:48 +01:00
import java.io.ByteArrayInputStream
import java.io.File
class PdfViewer: FileViewerActivity() {
2022-09-23 12:09:22 +02:00
init {
applyCustomTheme = false
}
2022-03-05 12:51:02 +01:00
private lateinit var pdfViewer: PdfViewer
2022-02-18 15:53:48 +01:00
override fun getFileType(): String {
return "pdf"
}
override fun viewFile() {
2022-03-06 21:44:58 +01:00
pdfViewer = PdfViewer(this)
2022-02-18 15:53:48 +01:00
val fileName = File(filePath).name
2022-03-05 12:51:02 +01:00
title = fileName
2022-06-18 21:13:16 +02:00
val fileSize = encryptedVolume.getAttr(filePath)?.size
2022-10-04 13:30:51 +02:00
loadWholeFile(filePath, fileSize) {
2022-03-05 12:51:02 +01:00
pdfViewer.loadPdf(ByteArrayInputStream(it), fileName, fileSize)
2022-02-18 15:53:48 +01:00
}
}
2023-02-01 23:46:27 +01:00
override fun onCreateOptionsMenu(menu: Menu): Boolean {
2022-03-05 12:51:02 +01:00
pdfViewer.onCreateOptionMenu(menu)
2022-02-18 15:53:48 +01:00
return super.onCreateOptionsMenu(menu)
}
2022-03-06 21:44:58 +01:00
override fun onResume() {
super.onResume()
pdfViewer.onResume()
}
2022-09-23 12:09:22 +02:00
override fun onDestroy() {
super.onDestroy()
pdfViewer.onDestroy()
}
2023-02-01 23:46:27 +01:00
override fun onPrepareOptionsMenu(menu: Menu): Boolean {
2022-03-05 12:51:02 +01:00
return pdfViewer.onPrepareOptionsMenu(menu)
2022-02-18 15:53:48 +01:00
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
2022-03-05 12:51:02 +01:00
return pdfViewer.onOptionsItemSelected(item) || super.onOptionsItemSelected(item)
2022-02-18 15:53:48 +01:00
}
}