diff --git a/app/build.gradle b/app/build.gradle
index dc4e770..0026a0d 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -105,4 +105,6 @@
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
//桌面角标
implementation "me.leolin:ShortcutBadger:1.1.22@aar"
+ //PDF预览
+ implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dc4e770..0026a0d 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -105,4 +105,6 @@
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
//桌面角标
implementation "me.leolin:ShortcutBadger:1.1.22@aar"
+ //PDF预览
+ implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 93ed780..3892b5a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -38,7 +38,21 @@
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dc4e770..0026a0d 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -105,4 +105,6 @@
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
//桌面角标
implementation "me.leolin:ShortcutBadger:1.1.22@aar"
+ //PDF预览
+ implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 93ed780..3892b5a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -38,7 +38,21 @@
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
index 907912b..56f1e53 100644
--- a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
+++ b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
@@ -117,6 +117,17 @@
return "$defaultValue/static/${this.replace("\\", "/")}"
}
+//拼接附件地址
+fun String.combineFilePath(): String {
+ if (this.isEmpty()) return this
+ val defaultValue = SaveKeyValues.getValue(
+ LocaleConstant.FILE_SERVER_CONFIG, LocaleConstant.File_SERVER_URL
+ ) as String
+ //http://111.198.10.15:21408/test/未命名1_加水印_1672035640383.pdf
+ //http://111.198.10.15:21408/test/123_1672034882373.txt
+ return "$defaultValue/test/${this.replace("\\", "/")}"
+}
+
fun String.compressImage(context: Context, listener: OnImageCompressListener) {
Luban.with(context)
.load(this)
diff --git a/app/build.gradle b/app/build.gradle
index dc4e770..0026a0d 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -105,4 +105,6 @@
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
//桌面角标
implementation "me.leolin:ShortcutBadger:1.1.22@aar"
+ //PDF预览
+ implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 93ed780..3892b5a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -38,7 +38,21 @@
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
index 907912b..56f1e53 100644
--- a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
+++ b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
@@ -117,6 +117,17 @@
return "$defaultValue/static/${this.replace("\\", "/")}"
}
+//拼接附件地址
+fun String.combineFilePath(): String {
+ if (this.isEmpty()) return this
+ val defaultValue = SaveKeyValues.getValue(
+ LocaleConstant.FILE_SERVER_CONFIG, LocaleConstant.File_SERVER_URL
+ ) as String
+ //http://111.198.10.15:21408/test/未命名1_加水印_1672035640383.pdf
+ //http://111.198.10.15:21408/test/123_1672034882373.txt
+ return "$defaultValue/test/${this.replace("\\", "/")}"
+}
+
fun String.compressImage(context: Context, listener: OnImageCompressListener) {
Luban.with(context)
.load(this)
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
index 6ddc53e..c7a99a0 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
@@ -41,6 +41,8 @@
* */
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val SERVER_BASE_URL = "http://111.198.10.15:21609"
+ const val FILE_SERVER_CONFIG = "fileServerConfig"
+ const val File_SERVER_URL = "http://111.198.10.15:21408"
const val ACCOUNT = "account"
const val PASSWORD = "password"
}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dc4e770..0026a0d 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -105,4 +105,6 @@
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
//桌面角标
implementation "me.leolin:ShortcutBadger:1.1.22@aar"
+ //PDF预览
+ implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 93ed780..3892b5a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -38,7 +38,21 @@
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
index 907912b..56f1e53 100644
--- a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
+++ b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
@@ -117,6 +117,17 @@
return "$defaultValue/static/${this.replace("\\", "/")}"
}
+//拼接附件地址
+fun String.combineFilePath(): String {
+ if (this.isEmpty()) return this
+ val defaultValue = SaveKeyValues.getValue(
+ LocaleConstant.FILE_SERVER_CONFIG, LocaleConstant.File_SERVER_URL
+ ) as String
+ //http://111.198.10.15:21408/test/未命名1_加水印_1672035640383.pdf
+ //http://111.198.10.15:21408/test/123_1672034882373.txt
+ return "$defaultValue/test/${this.replace("\\", "/")}"
+}
+
fun String.compressImage(context: Context, listener: OnImageCompressListener) {
Luban.with(context)
.load(this)
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
index 6ddc53e..c7a99a0 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
@@ -41,6 +41,8 @@
* */
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val SERVER_BASE_URL = "http://111.198.10.15:21609"
+ const val FILE_SERVER_CONFIG = "fileServerConfig"
+ const val File_SERVER_URL = "http://111.198.10.15:21408"
const val ACCOUNT = "account"
const val PASSWORD = "password"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
index 94067d3..7ad1253 100644
--- a/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
+++ b/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
@@ -10,7 +10,9 @@
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.obtainScreenWidth
+import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.Constant
import kotlinx.android.synthetic.main.activity_notice_detail.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -47,7 +49,9 @@
if (dataRow.minioFileName.isNullOrBlank()) {
minioFileView.text = "暂无附件"
} else {
- minioFileView.text = dataRow.minioFileName
+ val minioFileName = dataRow.minioFileName
+
+ minioFileView.text = minioFileName
val textPaint = minioFileView.paint
textPaint.flags = Paint.UNDERLINE_TEXT_FLAG
textPaint.isAntiAlias = true
@@ -55,6 +59,20 @@
minioFileView.setOnClickListener {
//查看附件
+ when {
+ minioFileName.endsWith("pdf") -> {
+ navigatePageTo(minioFileName)
+ }
+ minioFileName.endsWith("doc") -> {
+ navigatePageTo(minioFileName)
+ }
+ minioFileName.endsWith("txt") -> {
+ navigatePageTo(minioFileName)
+ }
+ else -> {
+ "文件类型未知,无法打开附件".show(this)
+ }
+ }
}
}
}
diff --git a/app/build.gradle b/app/build.gradle
index dc4e770..0026a0d 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -105,4 +105,6 @@
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
//桌面角标
implementation "me.leolin:ShortcutBadger:1.1.22@aar"
+ //PDF预览
+ implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 93ed780..3892b5a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -38,7 +38,21 @@
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
index 907912b..56f1e53 100644
--- a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
+++ b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
@@ -117,6 +117,17 @@
return "$defaultValue/static/${this.replace("\\", "/")}"
}
+//拼接附件地址
+fun String.combineFilePath(): String {
+ if (this.isEmpty()) return this
+ val defaultValue = SaveKeyValues.getValue(
+ LocaleConstant.FILE_SERVER_CONFIG, LocaleConstant.File_SERVER_URL
+ ) as String
+ //http://111.198.10.15:21408/test/未命名1_加水印_1672035640383.pdf
+ //http://111.198.10.15:21408/test/123_1672034882373.txt
+ return "$defaultValue/test/${this.replace("\\", "/")}"
+}
+
fun String.compressImage(context: Context, listener: OnImageCompressListener) {
Luban.with(context)
.load(this)
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
index 6ddc53e..c7a99a0 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
@@ -41,6 +41,8 @@
* */
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val SERVER_BASE_URL = "http://111.198.10.15:21609"
+ const val FILE_SERVER_CONFIG = "fileServerConfig"
+ const val File_SERVER_URL = "http://111.198.10.15:21408"
const val ACCOUNT = "account"
const val PASSWORD = "password"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
index 94067d3..7ad1253 100644
--- a/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
+++ b/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
@@ -10,7 +10,9 @@
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.obtainScreenWidth
+import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.Constant
import kotlinx.android.synthetic.main.activity_notice_detail.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -47,7 +49,9 @@
if (dataRow.minioFileName.isNullOrBlank()) {
minioFileView.text = "暂无附件"
} else {
- minioFileView.text = dataRow.minioFileName
+ val minioFileName = dataRow.minioFileName
+
+ minioFileView.text = minioFileName
val textPaint = minioFileView.paint
textPaint.flags = Paint.UNDERLINE_TEXT_FLAG
textPaint.isAntiAlias = true
@@ -55,6 +59,20 @@
minioFileView.setOnClickListener {
//查看附件
+ when {
+ minioFileName.endsWith("pdf") -> {
+ navigatePageTo(minioFileName)
+ }
+ minioFileName.endsWith("doc") -> {
+ navigatePageTo(minioFileName)
+ }
+ minioFileName.endsWith("txt") -> {
+ navigatePageTo(minioFileName)
+ }
+ else -> {
+ "文件类型未知,无法打开附件".show(this)
+ }
+ }
}
}
}
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt
new file mode 100644
index 0000000..e233ddc
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt
@@ -0,0 +1,24 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class PreviewDocumentActivity : KotlinBaseActivity() {
+ override fun initData() {
+
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_doc
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dc4e770..0026a0d 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -105,4 +105,6 @@
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
//桌面角标
implementation "me.leolin:ShortcutBadger:1.1.22@aar"
+ //PDF预览
+ implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 93ed780..3892b5a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -38,7 +38,21 @@
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
index 907912b..56f1e53 100644
--- a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
+++ b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
@@ -117,6 +117,17 @@
return "$defaultValue/static/${this.replace("\\", "/")}"
}
+//拼接附件地址
+fun String.combineFilePath(): String {
+ if (this.isEmpty()) return this
+ val defaultValue = SaveKeyValues.getValue(
+ LocaleConstant.FILE_SERVER_CONFIG, LocaleConstant.File_SERVER_URL
+ ) as String
+ //http://111.198.10.15:21408/test/未命名1_加水印_1672035640383.pdf
+ //http://111.198.10.15:21408/test/123_1672034882373.txt
+ return "$defaultValue/test/${this.replace("\\", "/")}"
+}
+
fun String.compressImage(context: Context, listener: OnImageCompressListener) {
Luban.with(context)
.load(this)
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
index 6ddc53e..c7a99a0 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
@@ -41,6 +41,8 @@
* */
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val SERVER_BASE_URL = "http://111.198.10.15:21609"
+ const val FILE_SERVER_CONFIG = "fileServerConfig"
+ const val File_SERVER_URL = "http://111.198.10.15:21408"
const val ACCOUNT = "account"
const val PASSWORD = "password"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
index 94067d3..7ad1253 100644
--- a/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
+++ b/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
@@ -10,7 +10,9 @@
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.obtainScreenWidth
+import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.Constant
import kotlinx.android.synthetic.main.activity_notice_detail.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -47,7 +49,9 @@
if (dataRow.minioFileName.isNullOrBlank()) {
minioFileView.text = "暂无附件"
} else {
- minioFileView.text = dataRow.minioFileName
+ val minioFileName = dataRow.minioFileName
+
+ minioFileView.text = minioFileName
val textPaint = minioFileView.paint
textPaint.flags = Paint.UNDERLINE_TEXT_FLAG
textPaint.isAntiAlias = true
@@ -55,6 +59,20 @@
minioFileView.setOnClickListener {
//查看附件
+ when {
+ minioFileName.endsWith("pdf") -> {
+ navigatePageTo(minioFileName)
+ }
+ minioFileName.endsWith("doc") -> {
+ navigatePageTo(minioFileName)
+ }
+ minioFileName.endsWith("txt") -> {
+ navigatePageTo(minioFileName)
+ }
+ else -> {
+ "文件类型未知,无法打开附件".show(this)
+ }
+ }
}
}
}
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt
new file mode 100644
index 0000000..e233ddc
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt
@@ -0,0 +1,24 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class PreviewDocumentActivity : KotlinBaseActivity() {
+ override fun initData() {
+
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_doc
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt
new file mode 100644
index 0000000..027f411
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt
@@ -0,0 +1,56 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.extensions.combineFilePath
+import com.casic.xz.meterage.extensions.initLayoutImmersionBar
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.callback.OnDownloadListener
+import com.pengxh.kt.lite.extensions.createDownloadFileDir
+import com.pengxh.kt.lite.extensions.downloadFile
+import com.pengxh.kt.lite.utils.Constant
+import kotlinx.android.synthetic.main.activity_preview_pdf.*
+import kotlinx.android.synthetic.main.include_base_title.*
+import java.io.File
+import java.io.FileInputStream
+
+
+class PreviewPdfActivity : KotlinBaseActivity() {
+
+ override fun initData() {
+ val minioFileName = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ titleView.text = minioFileName
+
+ val url = minioFileName.combineFilePath()
+ url.downloadFile(createDownloadFileDir().toString(),
+ object : OnDownloadListener {
+ override fun onDownloadStart(totalBytes: Long) {
+
+ }
+
+ override fun onProgressChanged(currentBytes: Long) {
+
+ }
+
+ override fun onDownloadEnd(file: File?) {
+ val inputStream = FileInputStream(file)
+ pdfView.fromStream(inputStream).load()
+ }
+ })
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { finish() }
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_pdf
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ initLayoutImmersionBar(rootView)
+ }
+}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dc4e770..0026a0d 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -105,4 +105,6 @@
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
//桌面角标
implementation "me.leolin:ShortcutBadger:1.1.22@aar"
+ //PDF预览
+ implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 93ed780..3892b5a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -38,7 +38,21 @@
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
index 907912b..56f1e53 100644
--- a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
+++ b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
@@ -117,6 +117,17 @@
return "$defaultValue/static/${this.replace("\\", "/")}"
}
+//拼接附件地址
+fun String.combineFilePath(): String {
+ if (this.isEmpty()) return this
+ val defaultValue = SaveKeyValues.getValue(
+ LocaleConstant.FILE_SERVER_CONFIG, LocaleConstant.File_SERVER_URL
+ ) as String
+ //http://111.198.10.15:21408/test/未命名1_加水印_1672035640383.pdf
+ //http://111.198.10.15:21408/test/123_1672034882373.txt
+ return "$defaultValue/test/${this.replace("\\", "/")}"
+}
+
fun String.compressImage(context: Context, listener: OnImageCompressListener) {
Luban.with(context)
.load(this)
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
index 6ddc53e..c7a99a0 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
@@ -41,6 +41,8 @@
* */
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val SERVER_BASE_URL = "http://111.198.10.15:21609"
+ const val FILE_SERVER_CONFIG = "fileServerConfig"
+ const val File_SERVER_URL = "http://111.198.10.15:21408"
const val ACCOUNT = "account"
const val PASSWORD = "password"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
index 94067d3..7ad1253 100644
--- a/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
+++ b/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
@@ -10,7 +10,9 @@
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.obtainScreenWidth
+import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.Constant
import kotlinx.android.synthetic.main.activity_notice_detail.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -47,7 +49,9 @@
if (dataRow.minioFileName.isNullOrBlank()) {
minioFileView.text = "暂无附件"
} else {
- minioFileView.text = dataRow.minioFileName
+ val minioFileName = dataRow.minioFileName
+
+ minioFileView.text = minioFileName
val textPaint = minioFileView.paint
textPaint.flags = Paint.UNDERLINE_TEXT_FLAG
textPaint.isAntiAlias = true
@@ -55,6 +59,20 @@
minioFileView.setOnClickListener {
//查看附件
+ when {
+ minioFileName.endsWith("pdf") -> {
+ navigatePageTo(minioFileName)
+ }
+ minioFileName.endsWith("doc") -> {
+ navigatePageTo(minioFileName)
+ }
+ minioFileName.endsWith("txt") -> {
+ navigatePageTo(minioFileName)
+ }
+ else -> {
+ "文件类型未知,无法打开附件".show(this)
+ }
+ }
}
}
}
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt
new file mode 100644
index 0000000..e233ddc
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt
@@ -0,0 +1,24 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class PreviewDocumentActivity : KotlinBaseActivity() {
+ override fun initData() {
+
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_doc
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt
new file mode 100644
index 0000000..027f411
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt
@@ -0,0 +1,56 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.extensions.combineFilePath
+import com.casic.xz.meterage.extensions.initLayoutImmersionBar
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.callback.OnDownloadListener
+import com.pengxh.kt.lite.extensions.createDownloadFileDir
+import com.pengxh.kt.lite.extensions.downloadFile
+import com.pengxh.kt.lite.utils.Constant
+import kotlinx.android.synthetic.main.activity_preview_pdf.*
+import kotlinx.android.synthetic.main.include_base_title.*
+import java.io.File
+import java.io.FileInputStream
+
+
+class PreviewPdfActivity : KotlinBaseActivity() {
+
+ override fun initData() {
+ val minioFileName = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ titleView.text = minioFileName
+
+ val url = minioFileName.combineFilePath()
+ url.downloadFile(createDownloadFileDir().toString(),
+ object : OnDownloadListener {
+ override fun onDownloadStart(totalBytes: Long) {
+
+ }
+
+ override fun onProgressChanged(currentBytes: Long) {
+
+ }
+
+ override fun onDownloadEnd(file: File?) {
+ val inputStream = FileInputStream(file)
+ pdfView.fromStream(inputStream).load()
+ }
+ })
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { finish() }
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_pdf
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ initLayoutImmersionBar(rootView)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt
new file mode 100644
index 0000000..423db1b
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt
@@ -0,0 +1,24 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class PreviewTextActivity : KotlinBaseActivity() {
+ override fun initData() {
+
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_txt
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dc4e770..0026a0d 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -105,4 +105,6 @@
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
//桌面角标
implementation "me.leolin:ShortcutBadger:1.1.22@aar"
+ //PDF预览
+ implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 93ed780..3892b5a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -38,7 +38,21 @@
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
index 907912b..56f1e53 100644
--- a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
+++ b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
@@ -117,6 +117,17 @@
return "$defaultValue/static/${this.replace("\\", "/")}"
}
+//拼接附件地址
+fun String.combineFilePath(): String {
+ if (this.isEmpty()) return this
+ val defaultValue = SaveKeyValues.getValue(
+ LocaleConstant.FILE_SERVER_CONFIG, LocaleConstant.File_SERVER_URL
+ ) as String
+ //http://111.198.10.15:21408/test/未命名1_加水印_1672035640383.pdf
+ //http://111.198.10.15:21408/test/123_1672034882373.txt
+ return "$defaultValue/test/${this.replace("\\", "/")}"
+}
+
fun String.compressImage(context: Context, listener: OnImageCompressListener) {
Luban.with(context)
.load(this)
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
index 6ddc53e..c7a99a0 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
@@ -41,6 +41,8 @@
* */
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val SERVER_BASE_URL = "http://111.198.10.15:21609"
+ const val FILE_SERVER_CONFIG = "fileServerConfig"
+ const val File_SERVER_URL = "http://111.198.10.15:21408"
const val ACCOUNT = "account"
const val PASSWORD = "password"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
index 94067d3..7ad1253 100644
--- a/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
+++ b/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
@@ -10,7 +10,9 @@
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.obtainScreenWidth
+import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.Constant
import kotlinx.android.synthetic.main.activity_notice_detail.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -47,7 +49,9 @@
if (dataRow.minioFileName.isNullOrBlank()) {
minioFileView.text = "暂无附件"
} else {
- minioFileView.text = dataRow.minioFileName
+ val minioFileName = dataRow.minioFileName
+
+ minioFileView.text = minioFileName
val textPaint = minioFileView.paint
textPaint.flags = Paint.UNDERLINE_TEXT_FLAG
textPaint.isAntiAlias = true
@@ -55,6 +59,20 @@
minioFileView.setOnClickListener {
//查看附件
+ when {
+ minioFileName.endsWith("pdf") -> {
+ navigatePageTo(minioFileName)
+ }
+ minioFileName.endsWith("doc") -> {
+ navigatePageTo(minioFileName)
+ }
+ minioFileName.endsWith("txt") -> {
+ navigatePageTo(minioFileName)
+ }
+ else -> {
+ "文件类型未知,无法打开附件".show(this)
+ }
+ }
}
}
}
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt
new file mode 100644
index 0000000..e233ddc
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt
@@ -0,0 +1,24 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class PreviewDocumentActivity : KotlinBaseActivity() {
+ override fun initData() {
+
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_doc
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt
new file mode 100644
index 0000000..027f411
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt
@@ -0,0 +1,56 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.extensions.combineFilePath
+import com.casic.xz.meterage.extensions.initLayoutImmersionBar
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.callback.OnDownloadListener
+import com.pengxh.kt.lite.extensions.createDownloadFileDir
+import com.pengxh.kt.lite.extensions.downloadFile
+import com.pengxh.kt.lite.utils.Constant
+import kotlinx.android.synthetic.main.activity_preview_pdf.*
+import kotlinx.android.synthetic.main.include_base_title.*
+import java.io.File
+import java.io.FileInputStream
+
+
+class PreviewPdfActivity : KotlinBaseActivity() {
+
+ override fun initData() {
+ val minioFileName = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ titleView.text = minioFileName
+
+ val url = minioFileName.combineFilePath()
+ url.downloadFile(createDownloadFileDir().toString(),
+ object : OnDownloadListener {
+ override fun onDownloadStart(totalBytes: Long) {
+
+ }
+
+ override fun onProgressChanged(currentBytes: Long) {
+
+ }
+
+ override fun onDownloadEnd(file: File?) {
+ val inputStream = FileInputStream(file)
+ pdfView.fromStream(inputStream).load()
+ }
+ })
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { finish() }
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_pdf
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ initLayoutImmersionBar(rootView)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt
new file mode 100644
index 0000000..423db1b
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt
@@ -0,0 +1,24 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class PreviewTextActivity : KotlinBaseActivity() {
+ override fun initData() {
+
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_txt
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/anim/activity_in.xml b/app/src/main/res/anim/activity_in.xml
new file mode 100644
index 0000000..f2696ba
--- /dev/null
+++ b/app/src/main/res/anim/activity_in.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dc4e770..0026a0d 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -105,4 +105,6 @@
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
//桌面角标
implementation "me.leolin:ShortcutBadger:1.1.22@aar"
+ //PDF预览
+ implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 93ed780..3892b5a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -38,7 +38,21 @@
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
index 907912b..56f1e53 100644
--- a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
+++ b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
@@ -117,6 +117,17 @@
return "$defaultValue/static/${this.replace("\\", "/")}"
}
+//拼接附件地址
+fun String.combineFilePath(): String {
+ if (this.isEmpty()) return this
+ val defaultValue = SaveKeyValues.getValue(
+ LocaleConstant.FILE_SERVER_CONFIG, LocaleConstant.File_SERVER_URL
+ ) as String
+ //http://111.198.10.15:21408/test/未命名1_加水印_1672035640383.pdf
+ //http://111.198.10.15:21408/test/123_1672034882373.txt
+ return "$defaultValue/test/${this.replace("\\", "/")}"
+}
+
fun String.compressImage(context: Context, listener: OnImageCompressListener) {
Luban.with(context)
.load(this)
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
index 6ddc53e..c7a99a0 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
@@ -41,6 +41,8 @@
* */
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val SERVER_BASE_URL = "http://111.198.10.15:21609"
+ const val FILE_SERVER_CONFIG = "fileServerConfig"
+ const val File_SERVER_URL = "http://111.198.10.15:21408"
const val ACCOUNT = "account"
const val PASSWORD = "password"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
index 94067d3..7ad1253 100644
--- a/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
+++ b/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
@@ -10,7 +10,9 @@
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.obtainScreenWidth
+import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.Constant
import kotlinx.android.synthetic.main.activity_notice_detail.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -47,7 +49,9 @@
if (dataRow.minioFileName.isNullOrBlank()) {
minioFileView.text = "暂无附件"
} else {
- minioFileView.text = dataRow.minioFileName
+ val minioFileName = dataRow.minioFileName
+
+ minioFileView.text = minioFileName
val textPaint = minioFileView.paint
textPaint.flags = Paint.UNDERLINE_TEXT_FLAG
textPaint.isAntiAlias = true
@@ -55,6 +59,20 @@
minioFileView.setOnClickListener {
//查看附件
+ when {
+ minioFileName.endsWith("pdf") -> {
+ navigatePageTo(minioFileName)
+ }
+ minioFileName.endsWith("doc") -> {
+ navigatePageTo(minioFileName)
+ }
+ minioFileName.endsWith("txt") -> {
+ navigatePageTo(minioFileName)
+ }
+ else -> {
+ "文件类型未知,无法打开附件".show(this)
+ }
+ }
}
}
}
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt
new file mode 100644
index 0000000..e233ddc
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt
@@ -0,0 +1,24 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class PreviewDocumentActivity : KotlinBaseActivity() {
+ override fun initData() {
+
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_doc
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt
new file mode 100644
index 0000000..027f411
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt
@@ -0,0 +1,56 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.extensions.combineFilePath
+import com.casic.xz.meterage.extensions.initLayoutImmersionBar
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.callback.OnDownloadListener
+import com.pengxh.kt.lite.extensions.createDownloadFileDir
+import com.pengxh.kt.lite.extensions.downloadFile
+import com.pengxh.kt.lite.utils.Constant
+import kotlinx.android.synthetic.main.activity_preview_pdf.*
+import kotlinx.android.synthetic.main.include_base_title.*
+import java.io.File
+import java.io.FileInputStream
+
+
+class PreviewPdfActivity : KotlinBaseActivity() {
+
+ override fun initData() {
+ val minioFileName = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ titleView.text = minioFileName
+
+ val url = minioFileName.combineFilePath()
+ url.downloadFile(createDownloadFileDir().toString(),
+ object : OnDownloadListener {
+ override fun onDownloadStart(totalBytes: Long) {
+
+ }
+
+ override fun onProgressChanged(currentBytes: Long) {
+
+ }
+
+ override fun onDownloadEnd(file: File?) {
+ val inputStream = FileInputStream(file)
+ pdfView.fromStream(inputStream).load()
+ }
+ })
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { finish() }
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_pdf
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ initLayoutImmersionBar(rootView)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt
new file mode 100644
index 0000000..423db1b
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt
@@ -0,0 +1,24 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class PreviewTextActivity : KotlinBaseActivity() {
+ override fun initData() {
+
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_txt
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/anim/activity_in.xml b/app/src/main/res/anim/activity_in.xml
new file mode 100644
index 0000000..f2696ba
--- /dev/null
+++ b/app/src/main/res/anim/activity_in.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/anim/activity_out.xml b/app/src/main/res/anim/activity_out.xml
new file mode 100644
index 0000000..1e424a5
--- /dev/null
+++ b/app/src/main/res/anim/activity_out.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dc4e770..0026a0d 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -105,4 +105,6 @@
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
//桌面角标
implementation "me.leolin:ShortcutBadger:1.1.22@aar"
+ //PDF预览
+ implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 93ed780..3892b5a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -38,7 +38,21 @@
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
index 907912b..56f1e53 100644
--- a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
+++ b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
@@ -117,6 +117,17 @@
return "$defaultValue/static/${this.replace("\\", "/")}"
}
+//拼接附件地址
+fun String.combineFilePath(): String {
+ if (this.isEmpty()) return this
+ val defaultValue = SaveKeyValues.getValue(
+ LocaleConstant.FILE_SERVER_CONFIG, LocaleConstant.File_SERVER_URL
+ ) as String
+ //http://111.198.10.15:21408/test/未命名1_加水印_1672035640383.pdf
+ //http://111.198.10.15:21408/test/123_1672034882373.txt
+ return "$defaultValue/test/${this.replace("\\", "/")}"
+}
+
fun String.compressImage(context: Context, listener: OnImageCompressListener) {
Luban.with(context)
.load(this)
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
index 6ddc53e..c7a99a0 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
@@ -41,6 +41,8 @@
* */
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val SERVER_BASE_URL = "http://111.198.10.15:21609"
+ const val FILE_SERVER_CONFIG = "fileServerConfig"
+ const val File_SERVER_URL = "http://111.198.10.15:21408"
const val ACCOUNT = "account"
const val PASSWORD = "password"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
index 94067d3..7ad1253 100644
--- a/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
+++ b/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
@@ -10,7 +10,9 @@
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.obtainScreenWidth
+import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.Constant
import kotlinx.android.synthetic.main.activity_notice_detail.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -47,7 +49,9 @@
if (dataRow.minioFileName.isNullOrBlank()) {
minioFileView.text = "暂无附件"
} else {
- minioFileView.text = dataRow.minioFileName
+ val minioFileName = dataRow.minioFileName
+
+ minioFileView.text = minioFileName
val textPaint = minioFileView.paint
textPaint.flags = Paint.UNDERLINE_TEXT_FLAG
textPaint.isAntiAlias = true
@@ -55,6 +59,20 @@
minioFileView.setOnClickListener {
//查看附件
+ when {
+ minioFileName.endsWith("pdf") -> {
+ navigatePageTo(minioFileName)
+ }
+ minioFileName.endsWith("doc") -> {
+ navigatePageTo(minioFileName)
+ }
+ minioFileName.endsWith("txt") -> {
+ navigatePageTo(minioFileName)
+ }
+ else -> {
+ "文件类型未知,无法打开附件".show(this)
+ }
+ }
}
}
}
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt
new file mode 100644
index 0000000..e233ddc
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt
@@ -0,0 +1,24 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class PreviewDocumentActivity : KotlinBaseActivity() {
+ override fun initData() {
+
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_doc
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt
new file mode 100644
index 0000000..027f411
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt
@@ -0,0 +1,56 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.extensions.combineFilePath
+import com.casic.xz.meterage.extensions.initLayoutImmersionBar
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.callback.OnDownloadListener
+import com.pengxh.kt.lite.extensions.createDownloadFileDir
+import com.pengxh.kt.lite.extensions.downloadFile
+import com.pengxh.kt.lite.utils.Constant
+import kotlinx.android.synthetic.main.activity_preview_pdf.*
+import kotlinx.android.synthetic.main.include_base_title.*
+import java.io.File
+import java.io.FileInputStream
+
+
+class PreviewPdfActivity : KotlinBaseActivity() {
+
+ override fun initData() {
+ val minioFileName = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ titleView.text = minioFileName
+
+ val url = minioFileName.combineFilePath()
+ url.downloadFile(createDownloadFileDir().toString(),
+ object : OnDownloadListener {
+ override fun onDownloadStart(totalBytes: Long) {
+
+ }
+
+ override fun onProgressChanged(currentBytes: Long) {
+
+ }
+
+ override fun onDownloadEnd(file: File?) {
+ val inputStream = FileInputStream(file)
+ pdfView.fromStream(inputStream).load()
+ }
+ })
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { finish() }
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_pdf
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ initLayoutImmersionBar(rootView)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt
new file mode 100644
index 0000000..423db1b
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt
@@ -0,0 +1,24 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class PreviewTextActivity : KotlinBaseActivity() {
+ override fun initData() {
+
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_txt
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/anim/activity_in.xml b/app/src/main/res/anim/activity_in.xml
new file mode 100644
index 0000000..f2696ba
--- /dev/null
+++ b/app/src/main/res/anim/activity_in.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/anim/activity_out.xml b/app/src/main/res/anim/activity_out.xml
new file mode 100644
index 0000000..1e424a5
--- /dev/null
+++ b/app/src/main/res/anim/activity_out.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_preview_doc.xml b/app/src/main/res/layout/activity_preview_doc.xml
new file mode 100644
index 0000000..77d9ef6
--- /dev/null
+++ b/app/src/main/res/layout/activity_preview_doc.xml
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dc4e770..0026a0d 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -105,4 +105,6 @@
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
//桌面角标
implementation "me.leolin:ShortcutBadger:1.1.22@aar"
+ //PDF预览
+ implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 93ed780..3892b5a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -38,7 +38,21 @@
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
index 907912b..56f1e53 100644
--- a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
+++ b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
@@ -117,6 +117,17 @@
return "$defaultValue/static/${this.replace("\\", "/")}"
}
+//拼接附件地址
+fun String.combineFilePath(): String {
+ if (this.isEmpty()) return this
+ val defaultValue = SaveKeyValues.getValue(
+ LocaleConstant.FILE_SERVER_CONFIG, LocaleConstant.File_SERVER_URL
+ ) as String
+ //http://111.198.10.15:21408/test/未命名1_加水印_1672035640383.pdf
+ //http://111.198.10.15:21408/test/123_1672034882373.txt
+ return "$defaultValue/test/${this.replace("\\", "/")}"
+}
+
fun String.compressImage(context: Context, listener: OnImageCompressListener) {
Luban.with(context)
.load(this)
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
index 6ddc53e..c7a99a0 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
@@ -41,6 +41,8 @@
* */
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val SERVER_BASE_URL = "http://111.198.10.15:21609"
+ const val FILE_SERVER_CONFIG = "fileServerConfig"
+ const val File_SERVER_URL = "http://111.198.10.15:21408"
const val ACCOUNT = "account"
const val PASSWORD = "password"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
index 94067d3..7ad1253 100644
--- a/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
+++ b/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
@@ -10,7 +10,9 @@
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.obtainScreenWidth
+import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.Constant
import kotlinx.android.synthetic.main.activity_notice_detail.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -47,7 +49,9 @@
if (dataRow.minioFileName.isNullOrBlank()) {
minioFileView.text = "暂无附件"
} else {
- minioFileView.text = dataRow.minioFileName
+ val minioFileName = dataRow.minioFileName
+
+ minioFileView.text = minioFileName
val textPaint = minioFileView.paint
textPaint.flags = Paint.UNDERLINE_TEXT_FLAG
textPaint.isAntiAlias = true
@@ -55,6 +59,20 @@
minioFileView.setOnClickListener {
//查看附件
+ when {
+ minioFileName.endsWith("pdf") -> {
+ navigatePageTo(minioFileName)
+ }
+ minioFileName.endsWith("doc") -> {
+ navigatePageTo(minioFileName)
+ }
+ minioFileName.endsWith("txt") -> {
+ navigatePageTo(minioFileName)
+ }
+ else -> {
+ "文件类型未知,无法打开附件".show(this)
+ }
+ }
}
}
}
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt
new file mode 100644
index 0000000..e233ddc
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt
@@ -0,0 +1,24 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class PreviewDocumentActivity : KotlinBaseActivity() {
+ override fun initData() {
+
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_doc
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt
new file mode 100644
index 0000000..027f411
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt
@@ -0,0 +1,56 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.extensions.combineFilePath
+import com.casic.xz.meterage.extensions.initLayoutImmersionBar
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.callback.OnDownloadListener
+import com.pengxh.kt.lite.extensions.createDownloadFileDir
+import com.pengxh.kt.lite.extensions.downloadFile
+import com.pengxh.kt.lite.utils.Constant
+import kotlinx.android.synthetic.main.activity_preview_pdf.*
+import kotlinx.android.synthetic.main.include_base_title.*
+import java.io.File
+import java.io.FileInputStream
+
+
+class PreviewPdfActivity : KotlinBaseActivity() {
+
+ override fun initData() {
+ val minioFileName = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ titleView.text = minioFileName
+
+ val url = minioFileName.combineFilePath()
+ url.downloadFile(createDownloadFileDir().toString(),
+ object : OnDownloadListener {
+ override fun onDownloadStart(totalBytes: Long) {
+
+ }
+
+ override fun onProgressChanged(currentBytes: Long) {
+
+ }
+
+ override fun onDownloadEnd(file: File?) {
+ val inputStream = FileInputStream(file)
+ pdfView.fromStream(inputStream).load()
+ }
+ })
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { finish() }
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_pdf
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ initLayoutImmersionBar(rootView)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt
new file mode 100644
index 0000000..423db1b
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt
@@ -0,0 +1,24 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class PreviewTextActivity : KotlinBaseActivity() {
+ override fun initData() {
+
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_txt
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/anim/activity_in.xml b/app/src/main/res/anim/activity_in.xml
new file mode 100644
index 0000000..f2696ba
--- /dev/null
+++ b/app/src/main/res/anim/activity_in.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/anim/activity_out.xml b/app/src/main/res/anim/activity_out.xml
new file mode 100644
index 0000000..1e424a5
--- /dev/null
+++ b/app/src/main/res/anim/activity_out.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_preview_doc.xml b/app/src/main/res/layout/activity_preview_doc.xml
new file mode 100644
index 0000000..77d9ef6
--- /dev/null
+++ b/app/src/main/res/layout/activity_preview_doc.xml
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_preview_pdf.xml b/app/src/main/res/layout/activity_preview_pdf.xml
new file mode 100644
index 0000000..f7fad36
--- /dev/null
+++ b/app/src/main/res/layout/activity_preview_pdf.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dc4e770..0026a0d 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -105,4 +105,6 @@
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
//桌面角标
implementation "me.leolin:ShortcutBadger:1.1.22@aar"
+ //PDF预览
+ implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 93ed780..3892b5a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -38,7 +38,21 @@
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
index 907912b..56f1e53 100644
--- a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
+++ b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
@@ -117,6 +117,17 @@
return "$defaultValue/static/${this.replace("\\", "/")}"
}
+//拼接附件地址
+fun String.combineFilePath(): String {
+ if (this.isEmpty()) return this
+ val defaultValue = SaveKeyValues.getValue(
+ LocaleConstant.FILE_SERVER_CONFIG, LocaleConstant.File_SERVER_URL
+ ) as String
+ //http://111.198.10.15:21408/test/未命名1_加水印_1672035640383.pdf
+ //http://111.198.10.15:21408/test/123_1672034882373.txt
+ return "$defaultValue/test/${this.replace("\\", "/")}"
+}
+
fun String.compressImage(context: Context, listener: OnImageCompressListener) {
Luban.with(context)
.load(this)
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
index 6ddc53e..c7a99a0 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
@@ -41,6 +41,8 @@
* */
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val SERVER_BASE_URL = "http://111.198.10.15:21609"
+ const val FILE_SERVER_CONFIG = "fileServerConfig"
+ const val File_SERVER_URL = "http://111.198.10.15:21408"
const val ACCOUNT = "account"
const val PASSWORD = "password"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
index 94067d3..7ad1253 100644
--- a/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
+++ b/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
@@ -10,7 +10,9 @@
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.obtainScreenWidth
+import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.Constant
import kotlinx.android.synthetic.main.activity_notice_detail.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -47,7 +49,9 @@
if (dataRow.minioFileName.isNullOrBlank()) {
minioFileView.text = "暂无附件"
} else {
- minioFileView.text = dataRow.minioFileName
+ val minioFileName = dataRow.minioFileName
+
+ minioFileView.text = minioFileName
val textPaint = minioFileView.paint
textPaint.flags = Paint.UNDERLINE_TEXT_FLAG
textPaint.isAntiAlias = true
@@ -55,6 +59,20 @@
minioFileView.setOnClickListener {
//查看附件
+ when {
+ minioFileName.endsWith("pdf") -> {
+ navigatePageTo(minioFileName)
+ }
+ minioFileName.endsWith("doc") -> {
+ navigatePageTo(minioFileName)
+ }
+ minioFileName.endsWith("txt") -> {
+ navigatePageTo(minioFileName)
+ }
+ else -> {
+ "文件类型未知,无法打开附件".show(this)
+ }
+ }
}
}
}
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt
new file mode 100644
index 0000000..e233ddc
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt
@@ -0,0 +1,24 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class PreviewDocumentActivity : KotlinBaseActivity() {
+ override fun initData() {
+
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_doc
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt
new file mode 100644
index 0000000..027f411
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt
@@ -0,0 +1,56 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.extensions.combineFilePath
+import com.casic.xz.meterage.extensions.initLayoutImmersionBar
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.callback.OnDownloadListener
+import com.pengxh.kt.lite.extensions.createDownloadFileDir
+import com.pengxh.kt.lite.extensions.downloadFile
+import com.pengxh.kt.lite.utils.Constant
+import kotlinx.android.synthetic.main.activity_preview_pdf.*
+import kotlinx.android.synthetic.main.include_base_title.*
+import java.io.File
+import java.io.FileInputStream
+
+
+class PreviewPdfActivity : KotlinBaseActivity() {
+
+ override fun initData() {
+ val minioFileName = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ titleView.text = minioFileName
+
+ val url = minioFileName.combineFilePath()
+ url.downloadFile(createDownloadFileDir().toString(),
+ object : OnDownloadListener {
+ override fun onDownloadStart(totalBytes: Long) {
+
+ }
+
+ override fun onProgressChanged(currentBytes: Long) {
+
+ }
+
+ override fun onDownloadEnd(file: File?) {
+ val inputStream = FileInputStream(file)
+ pdfView.fromStream(inputStream).load()
+ }
+ })
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { finish() }
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_pdf
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ initLayoutImmersionBar(rootView)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt
new file mode 100644
index 0000000..423db1b
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt
@@ -0,0 +1,24 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class PreviewTextActivity : KotlinBaseActivity() {
+ override fun initData() {
+
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_txt
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/anim/activity_in.xml b/app/src/main/res/anim/activity_in.xml
new file mode 100644
index 0000000..f2696ba
--- /dev/null
+++ b/app/src/main/res/anim/activity_in.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/anim/activity_out.xml b/app/src/main/res/anim/activity_out.xml
new file mode 100644
index 0000000..1e424a5
--- /dev/null
+++ b/app/src/main/res/anim/activity_out.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_preview_doc.xml b/app/src/main/res/layout/activity_preview_doc.xml
new file mode 100644
index 0000000..77d9ef6
--- /dev/null
+++ b/app/src/main/res/layout/activity_preview_doc.xml
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_preview_pdf.xml b/app/src/main/res/layout/activity_preview_pdf.xml
new file mode 100644
index 0000000..f7fad36
--- /dev/null
+++ b/app/src/main/res/layout/activity_preview_pdf.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_preview_txt.xml b/app/src/main/res/layout/activity_preview_txt.xml
new file mode 100644
index 0000000..77d9ef6
--- /dev/null
+++ b/app/src/main/res/layout/activity_preview_txt.xml
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dc4e770..0026a0d 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -105,4 +105,6 @@
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
//桌面角标
implementation "me.leolin:ShortcutBadger:1.1.22@aar"
+ //PDF预览
+ implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 93ed780..3892b5a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -38,7 +38,21 @@
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
index 907912b..56f1e53 100644
--- a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
+++ b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
@@ -117,6 +117,17 @@
return "$defaultValue/static/${this.replace("\\", "/")}"
}
+//拼接附件地址
+fun String.combineFilePath(): String {
+ if (this.isEmpty()) return this
+ val defaultValue = SaveKeyValues.getValue(
+ LocaleConstant.FILE_SERVER_CONFIG, LocaleConstant.File_SERVER_URL
+ ) as String
+ //http://111.198.10.15:21408/test/未命名1_加水印_1672035640383.pdf
+ //http://111.198.10.15:21408/test/123_1672034882373.txt
+ return "$defaultValue/test/${this.replace("\\", "/")}"
+}
+
fun String.compressImage(context: Context, listener: OnImageCompressListener) {
Luban.with(context)
.load(this)
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
index 6ddc53e..c7a99a0 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
@@ -41,6 +41,8 @@
* */
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val SERVER_BASE_URL = "http://111.198.10.15:21609"
+ const val FILE_SERVER_CONFIG = "fileServerConfig"
+ const val File_SERVER_URL = "http://111.198.10.15:21408"
const val ACCOUNT = "account"
const val PASSWORD = "password"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
index 94067d3..7ad1253 100644
--- a/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
+++ b/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
@@ -10,7 +10,9 @@
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.obtainScreenWidth
+import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.Constant
import kotlinx.android.synthetic.main.activity_notice_detail.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -47,7 +49,9 @@
if (dataRow.minioFileName.isNullOrBlank()) {
minioFileView.text = "暂无附件"
} else {
- minioFileView.text = dataRow.minioFileName
+ val minioFileName = dataRow.minioFileName
+
+ minioFileView.text = minioFileName
val textPaint = minioFileView.paint
textPaint.flags = Paint.UNDERLINE_TEXT_FLAG
textPaint.isAntiAlias = true
@@ -55,6 +59,20 @@
minioFileView.setOnClickListener {
//查看附件
+ when {
+ minioFileName.endsWith("pdf") -> {
+ navigatePageTo(minioFileName)
+ }
+ minioFileName.endsWith("doc") -> {
+ navigatePageTo(minioFileName)
+ }
+ minioFileName.endsWith("txt") -> {
+ navigatePageTo(minioFileName)
+ }
+ else -> {
+ "文件类型未知,无法打开附件".show(this)
+ }
+ }
}
}
}
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt
new file mode 100644
index 0000000..e233ddc
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt
@@ -0,0 +1,24 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class PreviewDocumentActivity : KotlinBaseActivity() {
+ override fun initData() {
+
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_doc
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt
new file mode 100644
index 0000000..027f411
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt
@@ -0,0 +1,56 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.extensions.combineFilePath
+import com.casic.xz.meterage.extensions.initLayoutImmersionBar
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.callback.OnDownloadListener
+import com.pengxh.kt.lite.extensions.createDownloadFileDir
+import com.pengxh.kt.lite.extensions.downloadFile
+import com.pengxh.kt.lite.utils.Constant
+import kotlinx.android.synthetic.main.activity_preview_pdf.*
+import kotlinx.android.synthetic.main.include_base_title.*
+import java.io.File
+import java.io.FileInputStream
+
+
+class PreviewPdfActivity : KotlinBaseActivity() {
+
+ override fun initData() {
+ val minioFileName = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ titleView.text = minioFileName
+
+ val url = minioFileName.combineFilePath()
+ url.downloadFile(createDownloadFileDir().toString(),
+ object : OnDownloadListener {
+ override fun onDownloadStart(totalBytes: Long) {
+
+ }
+
+ override fun onProgressChanged(currentBytes: Long) {
+
+ }
+
+ override fun onDownloadEnd(file: File?) {
+ val inputStream = FileInputStream(file)
+ pdfView.fromStream(inputStream).load()
+ }
+ })
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { finish() }
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_pdf
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ initLayoutImmersionBar(rootView)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt
new file mode 100644
index 0000000..423db1b
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt
@@ -0,0 +1,24 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class PreviewTextActivity : KotlinBaseActivity() {
+ override fun initData() {
+
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_txt
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/anim/activity_in.xml b/app/src/main/res/anim/activity_in.xml
new file mode 100644
index 0000000..f2696ba
--- /dev/null
+++ b/app/src/main/res/anim/activity_in.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/anim/activity_out.xml b/app/src/main/res/anim/activity_out.xml
new file mode 100644
index 0000000..1e424a5
--- /dev/null
+++ b/app/src/main/res/anim/activity_out.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_preview_doc.xml b/app/src/main/res/layout/activity_preview_doc.xml
new file mode 100644
index 0000000..77d9ef6
--- /dev/null
+++ b/app/src/main/res/layout/activity_preview_doc.xml
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_preview_pdf.xml b/app/src/main/res/layout/activity_preview_pdf.xml
new file mode 100644
index 0000000..f7fad36
--- /dev/null
+++ b/app/src/main/res/layout/activity_preview_pdf.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_preview_txt.xml b/app/src/main/res/layout/activity_preview_txt.xml
new file mode 100644
index 0000000..77d9ef6
--- /dev/null
+++ b/app/src/main/res/layout/activity_preview_txt.xml
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/include_base_title.xml b/app/src/main/res/layout/include_base_title.xml
index 52adab4..69e8608 100644
--- a/app/src/main/res/layout/include_base_title.xml
+++ b/app/src/main/res/layout/include_base_title.xml
@@ -13,11 +13,14 @@
@@ -29,5 +32,5 @@
android:layout_alignParentEnd="true"
android:paddingHorizontal="@dimen/dp_10"
android:src="@drawable/ic_read_notice"
- android:visibility="gone" />
+ android:visibility="invisible" />
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dc4e770..0026a0d 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -105,4 +105,6 @@
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
//桌面角标
implementation "me.leolin:ShortcutBadger:1.1.22@aar"
+ //PDF预览
+ implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 93ed780..3892b5a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -38,7 +38,21 @@
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
index 907912b..56f1e53 100644
--- a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
+++ b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
@@ -117,6 +117,17 @@
return "$defaultValue/static/${this.replace("\\", "/")}"
}
+//拼接附件地址
+fun String.combineFilePath(): String {
+ if (this.isEmpty()) return this
+ val defaultValue = SaveKeyValues.getValue(
+ LocaleConstant.FILE_SERVER_CONFIG, LocaleConstant.File_SERVER_URL
+ ) as String
+ //http://111.198.10.15:21408/test/未命名1_加水印_1672035640383.pdf
+ //http://111.198.10.15:21408/test/123_1672034882373.txt
+ return "$defaultValue/test/${this.replace("\\", "/")}"
+}
+
fun String.compressImage(context: Context, listener: OnImageCompressListener) {
Luban.with(context)
.load(this)
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
index 6ddc53e..c7a99a0 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
@@ -41,6 +41,8 @@
* */
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val SERVER_BASE_URL = "http://111.198.10.15:21609"
+ const val FILE_SERVER_CONFIG = "fileServerConfig"
+ const val File_SERVER_URL = "http://111.198.10.15:21408"
const val ACCOUNT = "account"
const val PASSWORD = "password"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
index 94067d3..7ad1253 100644
--- a/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
+++ b/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
@@ -10,7 +10,9 @@
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.obtainScreenWidth
+import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.Constant
import kotlinx.android.synthetic.main.activity_notice_detail.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -47,7 +49,9 @@
if (dataRow.minioFileName.isNullOrBlank()) {
minioFileView.text = "暂无附件"
} else {
- minioFileView.text = dataRow.minioFileName
+ val minioFileName = dataRow.minioFileName
+
+ minioFileView.text = minioFileName
val textPaint = minioFileView.paint
textPaint.flags = Paint.UNDERLINE_TEXT_FLAG
textPaint.isAntiAlias = true
@@ -55,6 +59,20 @@
minioFileView.setOnClickListener {
//查看附件
+ when {
+ minioFileName.endsWith("pdf") -> {
+ navigatePageTo(minioFileName)
+ }
+ minioFileName.endsWith("doc") -> {
+ navigatePageTo(minioFileName)
+ }
+ minioFileName.endsWith("txt") -> {
+ navigatePageTo(minioFileName)
+ }
+ else -> {
+ "文件类型未知,无法打开附件".show(this)
+ }
+ }
}
}
}
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt
new file mode 100644
index 0000000..e233ddc
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt
@@ -0,0 +1,24 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class PreviewDocumentActivity : KotlinBaseActivity() {
+ override fun initData() {
+
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_doc
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt
new file mode 100644
index 0000000..027f411
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt
@@ -0,0 +1,56 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.extensions.combineFilePath
+import com.casic.xz.meterage.extensions.initLayoutImmersionBar
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.callback.OnDownloadListener
+import com.pengxh.kt.lite.extensions.createDownloadFileDir
+import com.pengxh.kt.lite.extensions.downloadFile
+import com.pengxh.kt.lite.utils.Constant
+import kotlinx.android.synthetic.main.activity_preview_pdf.*
+import kotlinx.android.synthetic.main.include_base_title.*
+import java.io.File
+import java.io.FileInputStream
+
+
+class PreviewPdfActivity : KotlinBaseActivity() {
+
+ override fun initData() {
+ val minioFileName = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ titleView.text = minioFileName
+
+ val url = minioFileName.combineFilePath()
+ url.downloadFile(createDownloadFileDir().toString(),
+ object : OnDownloadListener {
+ override fun onDownloadStart(totalBytes: Long) {
+
+ }
+
+ override fun onProgressChanged(currentBytes: Long) {
+
+ }
+
+ override fun onDownloadEnd(file: File?) {
+ val inputStream = FileInputStream(file)
+ pdfView.fromStream(inputStream).load()
+ }
+ })
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { finish() }
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_pdf
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ initLayoutImmersionBar(rootView)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt
new file mode 100644
index 0000000..423db1b
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt
@@ -0,0 +1,24 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class PreviewTextActivity : KotlinBaseActivity() {
+ override fun initData() {
+
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_txt
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/anim/activity_in.xml b/app/src/main/res/anim/activity_in.xml
new file mode 100644
index 0000000..f2696ba
--- /dev/null
+++ b/app/src/main/res/anim/activity_in.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/anim/activity_out.xml b/app/src/main/res/anim/activity_out.xml
new file mode 100644
index 0000000..1e424a5
--- /dev/null
+++ b/app/src/main/res/anim/activity_out.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_preview_doc.xml b/app/src/main/res/layout/activity_preview_doc.xml
new file mode 100644
index 0000000..77d9ef6
--- /dev/null
+++ b/app/src/main/res/layout/activity_preview_doc.xml
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_preview_pdf.xml b/app/src/main/res/layout/activity_preview_pdf.xml
new file mode 100644
index 0000000..f7fad36
--- /dev/null
+++ b/app/src/main/res/layout/activity_preview_pdf.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_preview_txt.xml b/app/src/main/res/layout/activity_preview_txt.xml
new file mode 100644
index 0000000..77d9ef6
--- /dev/null
+++ b/app/src/main/res/layout/activity_preview_txt.xml
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/include_base_title.xml b/app/src/main/res/layout/include_base_title.xml
index 52adab4..69e8608 100644
--- a/app/src/main/res/layout/include_base_title.xml
+++ b/app/src/main/res/layout/include_base_title.xml
@@ -13,11 +13,14 @@
@@ -29,5 +32,5 @@
android:layout_alignParentEnd="true"
android:paddingHorizontal="@dimen/dp_10"
android:src="@drawable/ic_read_notice"
- android:visibility="gone" />
+ android:visibility="invisible" />
\ No newline at end of file
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index cfeab85..50d2ad3 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -59,4 +59,14 @@
- @dimen/sp_16
- bold
+
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dc4e770..0026a0d 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -105,4 +105,6 @@
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
//桌面角标
implementation "me.leolin:ShortcutBadger:1.1.22@aar"
+ //PDF预览
+ implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 93ed780..3892b5a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -38,7 +38,21 @@
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
index 907912b..56f1e53 100644
--- a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
+++ b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
@@ -117,6 +117,17 @@
return "$defaultValue/static/${this.replace("\\", "/")}"
}
+//拼接附件地址
+fun String.combineFilePath(): String {
+ if (this.isEmpty()) return this
+ val defaultValue = SaveKeyValues.getValue(
+ LocaleConstant.FILE_SERVER_CONFIG, LocaleConstant.File_SERVER_URL
+ ) as String
+ //http://111.198.10.15:21408/test/未命名1_加水印_1672035640383.pdf
+ //http://111.198.10.15:21408/test/123_1672034882373.txt
+ return "$defaultValue/test/${this.replace("\\", "/")}"
+}
+
fun String.compressImage(context: Context, listener: OnImageCompressListener) {
Luban.with(context)
.load(this)
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
index 6ddc53e..c7a99a0 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
@@ -41,6 +41,8 @@
* */
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val SERVER_BASE_URL = "http://111.198.10.15:21609"
+ const val FILE_SERVER_CONFIG = "fileServerConfig"
+ const val File_SERVER_URL = "http://111.198.10.15:21408"
const val ACCOUNT = "account"
const val PASSWORD = "password"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
index 94067d3..7ad1253 100644
--- a/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
+++ b/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
@@ -10,7 +10,9 @@
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.obtainScreenWidth
+import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.Constant
import kotlinx.android.synthetic.main.activity_notice_detail.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -47,7 +49,9 @@
if (dataRow.minioFileName.isNullOrBlank()) {
minioFileView.text = "暂无附件"
} else {
- minioFileView.text = dataRow.minioFileName
+ val minioFileName = dataRow.minioFileName
+
+ minioFileView.text = minioFileName
val textPaint = minioFileView.paint
textPaint.flags = Paint.UNDERLINE_TEXT_FLAG
textPaint.isAntiAlias = true
@@ -55,6 +59,20 @@
minioFileView.setOnClickListener {
//查看附件
+ when {
+ minioFileName.endsWith("pdf") -> {
+ navigatePageTo(minioFileName)
+ }
+ minioFileName.endsWith("doc") -> {
+ navigatePageTo(minioFileName)
+ }
+ minioFileName.endsWith("txt") -> {
+ navigatePageTo(minioFileName)
+ }
+ else -> {
+ "文件类型未知,无法打开附件".show(this)
+ }
+ }
}
}
}
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt
new file mode 100644
index 0000000..e233ddc
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt
@@ -0,0 +1,24 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class PreviewDocumentActivity : KotlinBaseActivity() {
+ override fun initData() {
+
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_doc
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt
new file mode 100644
index 0000000..027f411
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt
@@ -0,0 +1,56 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.extensions.combineFilePath
+import com.casic.xz.meterage.extensions.initLayoutImmersionBar
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.callback.OnDownloadListener
+import com.pengxh.kt.lite.extensions.createDownloadFileDir
+import com.pengxh.kt.lite.extensions.downloadFile
+import com.pengxh.kt.lite.utils.Constant
+import kotlinx.android.synthetic.main.activity_preview_pdf.*
+import kotlinx.android.synthetic.main.include_base_title.*
+import java.io.File
+import java.io.FileInputStream
+
+
+class PreviewPdfActivity : KotlinBaseActivity() {
+
+ override fun initData() {
+ val minioFileName = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ titleView.text = minioFileName
+
+ val url = minioFileName.combineFilePath()
+ url.downloadFile(createDownloadFileDir().toString(),
+ object : OnDownloadListener {
+ override fun onDownloadStart(totalBytes: Long) {
+
+ }
+
+ override fun onProgressChanged(currentBytes: Long) {
+
+ }
+
+ override fun onDownloadEnd(file: File?) {
+ val inputStream = FileInputStream(file)
+ pdfView.fromStream(inputStream).load()
+ }
+ })
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { finish() }
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_pdf
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ initLayoutImmersionBar(rootView)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt
new file mode 100644
index 0000000..423db1b
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt
@@ -0,0 +1,24 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class PreviewTextActivity : KotlinBaseActivity() {
+ override fun initData() {
+
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_txt
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/anim/activity_in.xml b/app/src/main/res/anim/activity_in.xml
new file mode 100644
index 0000000..f2696ba
--- /dev/null
+++ b/app/src/main/res/anim/activity_in.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/anim/activity_out.xml b/app/src/main/res/anim/activity_out.xml
new file mode 100644
index 0000000..1e424a5
--- /dev/null
+++ b/app/src/main/res/anim/activity_out.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_preview_doc.xml b/app/src/main/res/layout/activity_preview_doc.xml
new file mode 100644
index 0000000..77d9ef6
--- /dev/null
+++ b/app/src/main/res/layout/activity_preview_doc.xml
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_preview_pdf.xml b/app/src/main/res/layout/activity_preview_pdf.xml
new file mode 100644
index 0000000..f7fad36
--- /dev/null
+++ b/app/src/main/res/layout/activity_preview_pdf.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_preview_txt.xml b/app/src/main/res/layout/activity_preview_txt.xml
new file mode 100644
index 0000000..77d9ef6
--- /dev/null
+++ b/app/src/main/res/layout/activity_preview_txt.xml
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/include_base_title.xml b/app/src/main/res/layout/include_base_title.xml
index 52adab4..69e8608 100644
--- a/app/src/main/res/layout/include_base_title.xml
+++ b/app/src/main/res/layout/include_base_title.xml
@@ -13,11 +13,14 @@
@@ -29,5 +32,5 @@
android:layout_alignParentEnd="true"
android:paddingHorizontal="@dimen/dp_10"
android:src="@drawable/ic_read_notice"
- android:visibility="gone" />
+ android:visibility="invisible" />
\ No newline at end of file
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index cfeab85..50d2ad3 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -59,4 +59,14 @@
- @dimen/sp_16
- bold
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index ea13bd5..f380174 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -13,4 +13,8 @@
- ?attr/colorPrimaryVariant
+
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dc4e770..0026a0d 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -105,4 +105,6 @@
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
//桌面角标
implementation "me.leolin:ShortcutBadger:1.1.22@aar"
+ //PDF预览
+ implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 93ed780..3892b5a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -38,7 +38,21 @@
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
index 907912b..56f1e53 100644
--- a/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
+++ b/app/src/main/java/com/casic/xz/meterage/extensions/String.kt
@@ -117,6 +117,17 @@
return "$defaultValue/static/${this.replace("\\", "/")}"
}
+//拼接附件地址
+fun String.combineFilePath(): String {
+ if (this.isEmpty()) return this
+ val defaultValue = SaveKeyValues.getValue(
+ LocaleConstant.FILE_SERVER_CONFIG, LocaleConstant.File_SERVER_URL
+ ) as String
+ //http://111.198.10.15:21408/test/未命名1_加水印_1672035640383.pdf
+ //http://111.198.10.15:21408/test/123_1672034882373.txt
+ return "$defaultValue/test/${this.replace("\\", "/")}"
+}
+
fun String.compressImage(context: Context, listener: OnImageCompressListener) {
Luban.with(context)
.load(this)
diff --git a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
index 6ddc53e..c7a99a0 100644
--- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt
@@ -41,6 +41,8 @@
* */
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val SERVER_BASE_URL = "http://111.198.10.15:21609"
+ const val FILE_SERVER_CONFIG = "fileServerConfig"
+ const val File_SERVER_URL = "http://111.198.10.15:21408"
const val ACCOUNT = "account"
const val PASSWORD = "password"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
index 94067d3..7ad1253 100644
--- a/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
+++ b/app/src/main/java/com/casic/xz/meterage/view/NoticeDetailActivity.kt
@@ -10,7 +10,9 @@
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.obtainScreenWidth
+import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.Constant
import kotlinx.android.synthetic.main.activity_notice_detail.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -47,7 +49,9 @@
if (dataRow.minioFileName.isNullOrBlank()) {
minioFileView.text = "暂无附件"
} else {
- minioFileView.text = dataRow.minioFileName
+ val minioFileName = dataRow.minioFileName
+
+ minioFileView.text = minioFileName
val textPaint = minioFileView.paint
textPaint.flags = Paint.UNDERLINE_TEXT_FLAG
textPaint.isAntiAlias = true
@@ -55,6 +59,20 @@
minioFileView.setOnClickListener {
//查看附件
+ when {
+ minioFileName.endsWith("pdf") -> {
+ navigatePageTo(minioFileName)
+ }
+ minioFileName.endsWith("doc") -> {
+ navigatePageTo(minioFileName)
+ }
+ minioFileName.endsWith("txt") -> {
+ navigatePageTo(minioFileName)
+ }
+ else -> {
+ "文件类型未知,无法打开附件".show(this)
+ }
+ }
}
}
}
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt
new file mode 100644
index 0000000..e233ddc
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewDocumentActivity.kt
@@ -0,0 +1,24 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class PreviewDocumentActivity : KotlinBaseActivity() {
+ override fun initData() {
+
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_doc
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt
new file mode 100644
index 0000000..027f411
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewPdfActivity.kt
@@ -0,0 +1,56 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.extensions.combineFilePath
+import com.casic.xz.meterage.extensions.initLayoutImmersionBar
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.callback.OnDownloadListener
+import com.pengxh.kt.lite.extensions.createDownloadFileDir
+import com.pengxh.kt.lite.extensions.downloadFile
+import com.pengxh.kt.lite.utils.Constant
+import kotlinx.android.synthetic.main.activity_preview_pdf.*
+import kotlinx.android.synthetic.main.include_base_title.*
+import java.io.File
+import java.io.FileInputStream
+
+
+class PreviewPdfActivity : KotlinBaseActivity() {
+
+ override fun initData() {
+ val minioFileName = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ titleView.text = minioFileName
+
+ val url = minioFileName.combineFilePath()
+ url.downloadFile(createDownloadFileDir().toString(),
+ object : OnDownloadListener {
+ override fun onDownloadStart(totalBytes: Long) {
+
+ }
+
+ override fun onProgressChanged(currentBytes: Long) {
+
+ }
+
+ override fun onDownloadEnd(file: File?) {
+ val inputStream = FileInputStream(file)
+ pdfView.fromStream(inputStream).load()
+ }
+ })
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { finish() }
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_pdf
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ initLayoutImmersionBar(rootView)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt
new file mode 100644
index 0000000..423db1b
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/PreviewTextActivity.kt
@@ -0,0 +1,24 @@
+package com.casic.xz.meterage.view
+
+import com.casic.xz.meterage.R
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+
+class PreviewTextActivity : KotlinBaseActivity() {
+ override fun initData() {
+
+ }
+
+ override fun initEvent() {
+
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_preview_txt
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/anim/activity_in.xml b/app/src/main/res/anim/activity_in.xml
new file mode 100644
index 0000000..f2696ba
--- /dev/null
+++ b/app/src/main/res/anim/activity_in.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/anim/activity_out.xml b/app/src/main/res/anim/activity_out.xml
new file mode 100644
index 0000000..1e424a5
--- /dev/null
+++ b/app/src/main/res/anim/activity_out.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_preview_doc.xml b/app/src/main/res/layout/activity_preview_doc.xml
new file mode 100644
index 0000000..77d9ef6
--- /dev/null
+++ b/app/src/main/res/layout/activity_preview_doc.xml
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_preview_pdf.xml b/app/src/main/res/layout/activity_preview_pdf.xml
new file mode 100644
index 0000000..f7fad36
--- /dev/null
+++ b/app/src/main/res/layout/activity_preview_pdf.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_preview_txt.xml b/app/src/main/res/layout/activity_preview_txt.xml
new file mode 100644
index 0000000..77d9ef6
--- /dev/null
+++ b/app/src/main/res/layout/activity_preview_txt.xml
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/include_base_title.xml b/app/src/main/res/layout/include_base_title.xml
index 52adab4..69e8608 100644
--- a/app/src/main/res/layout/include_base_title.xml
+++ b/app/src/main/res/layout/include_base_title.xml
@@ -13,11 +13,14 @@
@@ -29,5 +32,5 @@
android:layout_alignParentEnd="true"
android:paddingHorizontal="@dimen/dp_10"
android:src="@drawable/ic_read_notice"
- android:visibility="gone" />
+ android:visibility="invisible" />
\ No newline at end of file
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index cfeab85..50d2ad3 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -59,4 +59,14 @@
- @dimen/sp_16
- bold
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index ea13bd5..f380174 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -13,4 +13,8 @@
- ?attr/colorPrimaryVariant
+
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/file_paths.xml b/app/src/main/res/xml/file_paths.xml
new file mode 100644
index 0000000..68f0fce
--- /dev/null
+++ b/app/src/main/res/xml/file_paths.xml
@@ -0,0 +1,7 @@
+
+
+
+
+