|
@@ -46,6 +46,7 @@ import com.kdanmobile.reader.view.AnnotationAttributeView
|
|
|
import com.kdanmobile.reader.view.AnnotationAttributeWindow
|
|
|
import kotlinx.android.synthetic.main.activity_reader.*
|
|
|
import org.koin.android.viewmodel.ext.android.viewModel
|
|
|
+import org.koin.core.parameter.parametersOf
|
|
|
import java.io.File
|
|
|
import java.util.*
|
|
|
import kotlin.properties.Delegates
|
|
@@ -111,7 +112,14 @@ abstract class ReaderActivity : KdanBaseActivity(), ReaderSettingListener, PdfTh
|
|
|
return viewModel.readerModel
|
|
|
}
|
|
|
|
|
|
- private val viewModel: ReaderViewModel by viewModel()
|
|
|
+ private val viewModel: ReaderViewModel by viewModel {
|
|
|
+ filePath = intent.getStringExtra(KEY_FILE_ABSOLUTE)
|
|
|
+ if (!filePath.isNullOrEmpty()) {
|
|
|
+ insertToRecentDocumentList(filePath as String)
|
|
|
+ }
|
|
|
+ val uri = if (!filePath.isNullOrEmpty()) Uri.parse(Uri.encode(filePath)) else null
|
|
|
+ parametersOf(uri ?: Uri.EMPTY)
|
|
|
+ }
|
|
|
private var isShowPasswordActivity = false
|
|
|
|
|
|
// For hide/show toolbars
|
|
@@ -176,17 +184,9 @@ abstract class ReaderActivity : KdanBaseActivity(), ReaderSettingListener, PdfTh
|
|
|
viewModel.isOpenedFileLiveData.value?.also { isOpened ->
|
|
|
if (isShowPasswordActivity) return@also
|
|
|
if (isOpened) return@also
|
|
|
- val hasOpened = null != viewModel.uri
|
|
|
- if (!hasOpened) {
|
|
|
- if (!filePath.isNullOrEmpty()) {
|
|
|
- insertToRecentDocumentList(filePath as String)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- val uri = if (!filePath.isNullOrEmpty()) Uri.parse(Uri.encode(filePath)) else null
|
|
|
- viewModel.init(uri ?: Uri.EMPTY)
|
|
|
|
|
|
- if (null == uri) {
|
|
|
+ val uri = viewModel.uri
|
|
|
+ if (Uri.EMPTY == uri) {
|
|
|
showFileCannotOpenDialog(getString(R.string.cannot_open_buffer))
|
|
|
onFilePathOrUriError(filePath)
|
|
|
} else {
|
|
@@ -1170,7 +1170,7 @@ abstract class ReaderActivity : KdanBaseActivity(), ReaderSettingListener, PdfTh
|
|
|
} else {
|
|
|
val isOpened = viewModel.isOpenedFileLiveData.value ?: return
|
|
|
if (isOpened) return
|
|
|
- val uri = viewModel.uri ?: return
|
|
|
+ val uri = viewModel.uri
|
|
|
val result = viewModel.openPdfFile(
|
|
|
this@ReaderActivity,
|
|
|
uri,
|