Commit b820a700 authored by wanglei's avatar wanglei

...

parent e1d9ed3b
...@@ -12,6 +12,7 @@ data class DocumentBean( ...@@ -12,6 +12,7 @@ data class DocumentBean(
var isSelect: Boolean = false var isSelect: Boolean = false
var state: Int = -1//0正常状态 1 锁定 var state: Int = -1//0正常状态 1 锁定
var password: String = "" var password: String = ""
var lastViewTime: Long = 0
companion object { companion object {
const val TYPE_PDF = "type_pdf" const val TYPE_PDF = "type_pdf"
......
...@@ -267,7 +267,7 @@ class ExcelActivity : BaseActivity<ActivityExcelBinding>() { ...@@ -267,7 +267,7 @@ class ExcelActivity : BaseActivity<ActivityExcelBinding>() {
LogEx.logDebug(TAG, "initData-docSourceType = $docSourceType") LogEx.logDebug(TAG, "initData-docSourceType = $docSourceType")
LogEx.logDebug(TAG, "initData-fileType = $fileType") LogEx.logDebug(TAG, "initData-fileType = $fileType")
SpStringUtils.addSpString(SpStringUtils.LAST_VIEW_KEY, pathOrUri ?: "") SpStringUtils.addSpString(SpStringUtils.LAST_VIEW_KEY, pathOrUri ?: "" + System.currentTimeMillis())
} }
......
...@@ -69,7 +69,6 @@ class PdfActivity : BaseActivity<ActivityPdfBinding>(), PdfView { ...@@ -69,7 +69,6 @@ class PdfActivity : BaseActivity<ActivityPdfBinding>(), PdfView {
assets = intent.extras?.getString("assets") ?: "" assets = intent.extras?.getString("assets") ?: ""
LogEx.logDebug(TAG, "path=$path") LogEx.logDebug(TAG, "path=$path")
LogEx.logDebug(TAG, "uri=$uri") LogEx.logDebug(TAG, "uri=$uri")
SpStringUtils.addSpString(LAST_VIEW_KEY, path)
val file = File(path) val file = File(path)
binding.tvPdfName.text = file.name binding.tvPdfName.text = file.name
......
...@@ -112,8 +112,6 @@ class PptActivity : BaseActivity<ActivityPptBinding>() { ...@@ -112,8 +112,6 @@ class PptActivity : BaseActivity<ActivityPptBinding>() {
LogEx.logDebug(TAG, "initData-docUrl = $pathOrUri") LogEx.logDebug(TAG, "initData-docUrl = $pathOrUri")
LogEx.logDebug(TAG, "initData-docSourceType = $docSourceType") LogEx.logDebug(TAG, "initData-docSourceType = $docSourceType")
LogEx.logDebug(TAG, "initData-fileType = $fileType") LogEx.logDebug(TAG, "initData-fileType = $fileType")
SpStringUtils.addSpString(SpStringUtils.LAST_VIEW_KEY, pathOrUri ?: "")
} }
private fun showTopLayout() { private fun showTopLayout() {
......
...@@ -296,7 +296,7 @@ class WordActivity : BaseActivity<ActivityWordBinding>() { ...@@ -296,7 +296,7 @@ class WordActivity : BaseActivity<ActivityWordBinding>() {
LogEx.logDebug(TAG, "initData-docSourceType = $docSourceType") LogEx.logDebug(TAG, "initData-docSourceType = $docSourceType")
LogEx.logDebug(TAG, "initData-fileType = $fileType") LogEx.logDebug(TAG, "initData-fileType = $fileType")
LogEx.logDebug(TAG, "initData-engine = $engine") LogEx.logDebug(TAG, "initData-engine = $engine")
SpStringUtils.addSpString(SpStringUtils.LAST_VIEW_KEY, pathOrUri ?: "") SpStringUtils.addSpString(SpStringUtils.LAST_VIEW_KEY, pathOrUri ?: "" + System.currentTimeMillis())
} }
companion object { companion object {
......
...@@ -23,7 +23,6 @@ import com.base.pdfviewerscannerwhite.ui.view.DialogView.SortMode ...@@ -23,7 +23,6 @@ import com.base.pdfviewerscannerwhite.ui.view.DialogView.SortMode
import com.base.pdfviewerscannerwhite.ui.view.DialogView.showDocumentHomeMoreDialog import com.base.pdfviewerscannerwhite.ui.view.DialogView.showDocumentHomeMoreDialog
import com.base.pdfviewerscannerwhite.ui.view.PdfDialog.showPdfHomeMoreDialog import com.base.pdfviewerscannerwhite.ui.view.PdfDialog.showPdfHomeMoreDialog
import com.base.pdfviewerscannerwhite.utils.KotlinExt.toFormatTime3 import com.base.pdfviewerscannerwhite.utils.KotlinExt.toFormatTime3
import com.base.pdfviewerscannerwhite.utils.KotlinExt.toFormatTime4
import com.base.pdfviewerscannerwhite.utils.LogEx import com.base.pdfviewerscannerwhite.utils.LogEx
import java.io.File import java.io.File
import java.util.Locale import java.util.Locale
...@@ -51,7 +50,7 @@ class DocumentPageFragment() : BaseFragment<FragmentDocumentPageBinding>(), Docu ...@@ -51,7 +50,7 @@ class DocumentPageFragment() : BaseFragment<FragmentDocumentPageBinding>(), Docu
initAdapter() initAdapter()
isInitialized = true isInitialized = true
Log.d("glc","我被调用了setView") Log.d("glc", "我被调用了setView")
} }
override fun onResume() { override fun onResume() {
...@@ -63,15 +62,17 @@ class DocumentPageFragment() : BaseFragment<FragmentDocumentPageBinding>(), Docu ...@@ -63,15 +62,17 @@ class DocumentPageFragment() : BaseFragment<FragmentDocumentPageBinding>(), Docu
if (isInitialized && !isHidden) { if (isInitialized && !isHidden) {
val list = val list =
(requireActivity() as MainActivity).mainPresenter.getDataByType(type, dataType) (requireActivity() as MainActivity).mainPresenter.getDataByType(type, dataType)
val sortList = sortByMode(list) val dataType = (parentFragment as DocumentFragment).dataType
sortList.forEach { if (dataType == ConstObject.RECENT_DATA_TYPE) {
LogEx.logDebug(TAG, "sortByMode ${File(it.path).lastModified().toFormatTime3()}") adapter.submitList(list)
} else {
val sortList = sortByMode(list)
adapter.submitList(sortList)
} }
adapter.submitList(sortList)
binding.llEmpty.isVisible = list.isEmpty() binding.llEmpty.isVisible = list.isEmpty()
Log.d("glc", "加载数据成功:"+type+" list:"+list.size) Log.d("glc", "加载数据成功:" + type + " list:" + list.size)
}else { } else {
Log.d("glc", "加载数据失败:"+type) Log.d("glc", "加载数据失败:" + type)
} }
} }
......
...@@ -22,6 +22,8 @@ import com.base.pdfviewerscannerwhite.bean.DocumentBean.Companion.TYPE_PPT ...@@ -22,6 +22,8 @@ import com.base.pdfviewerscannerwhite.bean.DocumentBean.Companion.TYPE_PPT
import com.base.pdfviewerscannerwhite.bean.DocumentBean.Companion.TYPE_WORD import com.base.pdfviewerscannerwhite.bean.DocumentBean.Companion.TYPE_WORD
import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfBoxUtils import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfBoxUtils
import com.base.pdfviewerscannerwhite.utils.AssetUtils.saveAssetsFile import com.base.pdfviewerscannerwhite.utils.AssetUtils.saveAssetsFile
import com.base.pdfviewerscannerwhite.utils.KotlinExt.toFormatTime3
import com.base.pdfviewerscannerwhite.utils.LogEx
import com.base.pdfviewerscannerwhite.utils.SpStringUtils import com.base.pdfviewerscannerwhite.utils.SpStringUtils
import com.base.pdfviewerscannerwhite.utils.SpStringUtils.BOOKMARK_KEY import com.base.pdfviewerscannerwhite.utils.SpStringUtils.BOOKMARK_KEY
import com.base.pdfviewerscannerwhite.utils.SpStringUtils.LAST_VIEW_KEY import com.base.pdfviewerscannerwhite.utils.SpStringUtils.LAST_VIEW_KEY
...@@ -43,6 +45,7 @@ class MainPresenter( ...@@ -43,6 +45,7 @@ class MainPresenter(
val lifecycleScope: LifecycleCoroutineScope val lifecycleScope: LifecycleCoroutineScope
) { ) {
private val TAG = "MainPresenter"
fun getDocumentAppDir(): File { fun getDocumentAppDir(): File {
val appDir = File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS), context.packageName) val appDir = File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS), context.packageName)
if (!appDir.exists()) if (!appDir.exists())
...@@ -86,6 +89,7 @@ class MainPresenter( ...@@ -86,6 +89,7 @@ class MainPresenter(
fun getDataByType(documentType: String, dataType: String): List<DocumentBean> { fun getDataByType(documentType: String, dataType: String): List<DocumentBean> {
val bookmarkList = SpStringUtils.getSpStringList(SpStringUtils.BOOKMARK_KEY) val bookmarkList = SpStringUtils.getSpStringList(SpStringUtils.BOOKMARK_KEY)
Log.d("glc", "pdfDocuments:" + pdfDocuments.size) Log.d("glc", "pdfDocuments:" + pdfDocuments.size)
val recentList = SpStringUtils.getSpStringList(LAST_VIEW_KEY) val recentList = SpStringUtils.getSpStringList(LAST_VIEW_KEY)
...@@ -100,7 +104,8 @@ class MainPresenter( ...@@ -100,7 +104,8 @@ class MainPresenter(
} }
RECENT_DATA_TYPE -> { RECENT_DATA_TYPE -> {
return pdfDocuments.filter { recentFilter(recentList, it) } pdfDocuments.forEach { recentFilter(recentList, it) }
return pdfDocuments.filter { it.lastViewTime != 0L }.sortedByDescending { it.lastViewTime }
} }
BOOKMARK_DATA_TYPE -> { BOOKMARK_DATA_TYPE -> {
...@@ -121,7 +126,8 @@ class MainPresenter( ...@@ -121,7 +126,8 @@ class MainPresenter(
} }
RECENT_DATA_TYPE -> { RECENT_DATA_TYPE -> {
return wordDocuments.filter { recentFilter(recentList, it) } wordDocuments.forEach { recentFilter(recentList, it) }
return wordDocuments.sortedByDescending { it.lastViewTime }
} }
BOOKMARK_DATA_TYPE -> { BOOKMARK_DATA_TYPE -> {
...@@ -142,7 +148,8 @@ class MainPresenter( ...@@ -142,7 +148,8 @@ class MainPresenter(
} }
RECENT_DATA_TYPE -> { RECENT_DATA_TYPE -> {
return excelDocuments.filter { recentFilter(recentList, it) } excelDocuments.forEach { recentFilter(recentList, it) }
return excelDocuments.sortedByDescending { it.lastViewTime }
} }
BOOKMARK_DATA_TYPE -> { BOOKMARK_DATA_TYPE -> {
...@@ -162,7 +169,8 @@ class MainPresenter( ...@@ -162,7 +169,8 @@ class MainPresenter(
} }
RECENT_DATA_TYPE -> { RECENT_DATA_TYPE -> {
return pptDocuments.filter { recentFilter(recentList, it) } pptDocuments.forEach { recentFilter(recentList, it) }
return pptDocuments.sortedByDescending { it.lastViewTime }
} }
BOOKMARK_DATA_TYPE -> { BOOKMARK_DATA_TYPE -> {
...@@ -175,8 +183,16 @@ class MainPresenter( ...@@ -175,8 +183,16 @@ class MainPresenter(
return listOf() return listOf()
} }
private fun recentFilter(recentList: List<String>, documentBean: DocumentBean): Boolean { private fun recentFilter(recentList: List<String>, documentBean: DocumentBean) {
return recentList.contains(documentBean.path)
val findLastTime = recentList.filter { it.contains(documentBean.path) }.map {
it.split("_")[1].toLong()
}
if (findLastTime.isNotEmpty()) {
val max = findLastTime.max()
LogEx.logDebug(TAG, "recentFilter ${documentBean.path} ${max.toFormatTime3()}")
documentBean.lastViewTime = max
}
} }
......
...@@ -15,9 +15,7 @@ object SpStringUtils { ...@@ -15,9 +15,7 @@ object SpStringUtils {
fun addSpString(key: String, value: String) { fun addSpString(key: String, value: String) {
val list = getSpStringList(key).toMutableList() val list = getSpStringList(key).toMutableList()
if (!list.contains(value)) { list.add(value)
list.add(value)
}
val string = list.joinToString(separator = "|||") val string = list.joinToString(separator = "|||")
AppPreferences.getInstance().put(key, string) AppPreferences.getInstance().put(key, string)
} }
......
...@@ -26,6 +26,17 @@ ...@@ -26,6 +26,17 @@
</FrameLayout> </FrameLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Set"
android:textColor="@color/black"
android:textSize="19sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@id/fl_fanhui"
app:layout_constraintStart_toEndOf="@id/fl_fanhui"
app:layout_constraintTop_toTopOf="@id/fl_fanhui" />
<LinearLayout <LinearLayout
android:id="@+id/ll_rate" android:id="@+id/ll_rate"
android:layout_width="match_parent" android:layout_width="match_parent"
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical" android:orientation="vertical"
tools:context=".ui.main.ToolFragment"> tools:context=".ui.main.ToolFragment">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment