kunfei 3 лет назад
Родитель
Сommit
14ee3f0a8e
37 измененных файлов с 98 добавлено и 53 удалено
  1. 2 2
      app/src/main/AndroidManifest.xml
  2. 1 1
      app/src/main/java/io/legado/app/ui/association/FileAssociationActivity.kt
  3. 1 1
      app/src/main/java/io/legado/app/ui/book/bookmark/AllBookmarkActivity.kt
  4. 1 1
      app/src/main/java/io/legado/app/ui/book/cache/CacheActivity.kt
  5. 3 4
      app/src/main/java/io/legado/app/ui/book/import/BaseImportBookActivity.kt
  6. 1 1
      app/src/main/java/io/legado/app/ui/book/import/local/ImportBookActivity.kt
  7. 1 1
      app/src/main/java/io/legado/app/ui/book/info/BookInfoActivity.kt
  8. 1 1
      app/src/main/java/io/legado/app/ui/book/read/BaseReadBookActivity.kt
  9. 1 1
      app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt
  10. 1 1
      app/src/main/java/io/legado/app/ui/book/read/config/BgTextConfigDialog.kt
  11. 1 1
      app/src/main/java/io/legado/app/ui/book/read/config/SpeakEngineDialog.kt
  12. 1 1
      app/src/main/java/io/legado/app/ui/book/source/edit/BookSourceEditActivity.kt
  13. 1 1
      app/src/main/java/io/legado/app/ui/book/source/manage/BookSourceActivity.kt
  14. 1 1
      app/src/main/java/io/legado/app/ui/book/toc/rule/TxtTocRuleActivity.kt
  15. 1 1
      app/src/main/java/io/legado/app/ui/book/toc/rule/TxtTocRuleDialog.kt
  16. 1 1
      app/src/main/java/io/legado/app/ui/browser/WebViewActivity.kt
  17. 1 1
      app/src/main/java/io/legado/app/ui/config/BackupConfigFragment.kt
  18. 1 2
      app/src/main/java/io/legado/app/ui/config/OtherConfigFragment.kt
  19. 1 1
      app/src/main/java/io/legado/app/ui/dict/rule/DictRuleActivity.kt
  20. 27 4
      app/src/main/java/io/legado/app/ui/file/FileManageActivity.kt
  21. 19 3
      app/src/main/java/io/legado/app/ui/file/FileManageViewModel.kt
  22. 5 5
      app/src/main/java/io/legado/app/ui/file/FilePickerDialog.kt
  23. 1 1
      app/src/main/java/io/legado/app/ui/file/HandleFileActivity.kt
  24. 1 1
      app/src/main/java/io/legado/app/ui/file/HandleFileContract.kt
  25. 1 1
      app/src/main/java/io/legado/app/ui/file/HandleFileViewModel.kt
  26. 3 3
      app/src/main/java/io/legado/app/ui/file/adapter/FileAdapter.kt
  27. 2 2
      app/src/main/java/io/legado/app/ui/file/adapter/PathAdapter.kt
  28. 1 1
      app/src/main/java/io/legado/app/ui/file/entity/FileItem.kt
  29. 1 1
      app/src/main/java/io/legado/app/ui/file/utils/FilePickerIcon.java
  30. 1 1
      app/src/main/java/io/legado/app/ui/font/FontSelectDialog.kt
  31. 1 1
      app/src/main/java/io/legado/app/ui/main/bookshelf/BaseBookshelfFragment.kt
  32. 1 1
      app/src/main/java/io/legado/app/ui/main/my/MyFragment.kt
  33. 1 1
      app/src/main/java/io/legado/app/ui/replace/ReplaceRuleActivity.kt
  34. 1 1
      app/src/main/java/io/legado/app/ui/rss/read/ReadRssActivity.kt
  35. 1 1
      app/src/main/java/io/legado/app/ui/rss/source/edit/RssSourceEditActivity.kt
  36. 1 1
      app/src/main/java/io/legado/app/ui/rss/source/manage/RssSourceActivity.kt
  37. 8 0
      app/src/main/res/menu/file_long_click.xml

+ 2 - 2
app/src/main/AndroidManifest.xml

@@ -292,12 +292,12 @@
             android:hardwareAccelerated="true" />
         <!-- 文件管理 -->
         <activity
-            android:name=".ui.document.FileManageActivity"
+            android:name=".ui.file.FileManageActivity"
             android:configChanges="orientation|screenSize"
             android:hardwareAccelerated="true" />
         <!-- 选择文件 -->
         <activity
-            android:name=".ui.document.HandleFileActivity"
+            android:name=".ui.file.HandleFileActivity"
             android:configChanges="orientation|screenSize"
             android:hardwareAccelerated="true"
             android:theme="@style/AppTheme.Transparent" />

+ 1 - 1
app/src/main/java/io/legado/app/ui/association/FileAssociationActivity.kt

@@ -15,7 +15,7 @@ import io.legado.app.lib.dialogs.alert
 import io.legado.app.lib.permission.Permissions
 import io.legado.app.lib.permission.PermissionsCompat
 import io.legado.app.ui.book.read.ReadBookActivity
-import io.legado.app.ui.document.HandleFileContract
+import io.legado.app.ui.file.HandleFileContract
 import io.legado.app.utils.*
 import io.legado.app.utils.viewbindingdelegate.viewBinding
 import kotlinx.coroutines.Dispatchers.IO

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/bookmark/AllBookmarkActivity.kt

@@ -9,7 +9,7 @@ import io.legado.app.base.VMBaseActivity
 import io.legado.app.data.appDb
 import io.legado.app.data.entities.Bookmark
 import io.legado.app.databinding.ActivityAllBookmarkBinding
-import io.legado.app.ui.document.HandleFileContract
+import io.legado.app.ui.file.HandleFileContract
 import io.legado.app.utils.launch
 import io.legado.app.utils.showDialogFragment
 import io.legado.app.utils.viewbindingdelegate.viewBinding

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/cache/CacheActivity.kt

@@ -24,7 +24,7 @@ import io.legado.app.lib.dialogs.alert
 import io.legado.app.lib.dialogs.selector
 import io.legado.app.model.CacheBook
 import io.legado.app.ui.about.AppLogDialog
-import io.legado.app.ui.document.HandleFileContract
+import io.legado.app.ui.file.HandleFileContract
 import io.legado.app.utils.*
 import io.legado.app.utils.viewbindingdelegate.viewBinding
 import kotlinx.coroutines.Dispatchers.IO

+ 3 - 4
app/src/main/java/io/legado/app/ui/book/import/BaseImportBookActivity.kt

@@ -7,19 +7,18 @@ import androidx.appcompat.widget.SearchView
 import androidx.lifecycle.ViewModel
 import io.legado.app.R
 import io.legado.app.base.VMBaseActivity
-import io.legado.app.databinding.ActivityImportBookBinding
-import io.legado.app.data.appDb
 import io.legado.app.constant.AppPattern
+import io.legado.app.data.appDb
+import io.legado.app.databinding.ActivityImportBookBinding
 import io.legado.app.help.config.AppConfig
 import io.legado.app.lib.dialogs.alert
 import io.legado.app.lib.dialogs.selector
 import io.legado.app.lib.theme.primaryTextColor
 import io.legado.app.model.localBook.LocalBook
 import io.legado.app.ui.book.read.ReadBookActivity
-import io.legado.app.ui.document.HandleFileContract
+import io.legado.app.ui.file.HandleFileContract
 import io.legado.app.utils.*
 import io.legado.app.utils.viewbindingdelegate.viewBinding
-
 import kotlin.coroutines.resume
 import kotlin.coroutines.suspendCoroutine
 

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/import/local/ImportBookActivity.kt

@@ -19,7 +19,7 @@ import io.legado.app.lib.permission.Permissions
 import io.legado.app.lib.permission.PermissionsCompat
 import io.legado.app.lib.theme.backgroundColor
 import io.legado.app.ui.book.import.BaseImportBookActivity
-import io.legado.app.ui.document.HandleFileContract
+import io.legado.app.ui.file.HandleFileContract
 import io.legado.app.ui.widget.SelectActionBar
 import io.legado.app.utils.*
 import kotlinx.coroutines.Dispatchers.IO

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/info/BookInfoActivity.kt

@@ -41,7 +41,7 @@ import io.legado.app.ui.book.read.ReadBookActivity
 import io.legado.app.ui.book.search.SearchActivity
 import io.legado.app.ui.book.source.edit.BookSourceEditActivity
 import io.legado.app.ui.book.toc.TocActivityResult
-import io.legado.app.ui.document.HandleFileContract
+import io.legado.app.ui.file.HandleFileContract
 import io.legado.app.ui.login.SourceLoginActivity
 import io.legado.app.ui.widget.dialog.PhotoDialog
 import io.legado.app.ui.widget.dialog.VariableDialog

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/read/BaseReadBookActivity.kt

@@ -32,7 +32,7 @@ import io.legado.app.model.ReadBook
 import io.legado.app.ui.book.read.config.BgTextConfigDialog
 import io.legado.app.ui.book.read.config.ClickActionConfigDialog
 import io.legado.app.ui.book.read.config.PaddingConfigDialog
-import io.legado.app.ui.document.HandleFileContract
+import io.legado.app.ui.file.HandleFileContract
 import io.legado.app.utils.*
 import io.legado.app.utils.viewbindingdelegate.viewBinding
 

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt

@@ -61,7 +61,7 @@ import io.legado.app.ui.book.toc.TocActivityResult
 import io.legado.app.ui.book.toc.rule.TxtTocRuleDialog
 import io.legado.app.ui.browser.WebViewActivity
 import io.legado.app.ui.dict.DictDialog
-import io.legado.app.ui.document.HandleFileContract
+import io.legado.app.ui.file.HandleFileContract
 import io.legado.app.ui.login.SourceLoginActivity
 import io.legado.app.ui.replace.ReplaceRuleActivity
 import io.legado.app.ui.replace.edit.ReplaceEditActivity

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/read/config/BgTextConfigDialog.kt

@@ -31,7 +31,7 @@ import io.legado.app.lib.theme.bottomBackground
 import io.legado.app.lib.theme.getPrimaryTextColor
 import io.legado.app.lib.theme.getSecondaryTextColor
 import io.legado.app.ui.book.read.ReadBookActivity
-import io.legado.app.ui.document.HandleFileContract
+import io.legado.app.ui.file.HandleFileContract
 import io.legado.app.ui.widget.seekbar.SeekBarChangeListener
 import io.legado.app.utils.*
 import io.legado.app.utils.compress.ZipUtils

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/read/config/SpeakEngineDialog.kt

@@ -26,7 +26,7 @@ import io.legado.app.lib.theme.primaryColor
 import io.legado.app.model.ReadAloud
 import io.legado.app.model.ReadBook
 import io.legado.app.ui.association.ImportHttpTtsDialog
-import io.legado.app.ui.document.HandleFileContract
+import io.legado.app.ui.file.HandleFileContract
 import io.legado.app.ui.login.SourceLoginActivity
 import io.legado.app.utils.*
 import io.legado.app.utils.viewbindingdelegate.viewBinding

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/source/edit/BookSourceEditActivity.kt

@@ -25,7 +25,7 @@ import io.legado.app.lib.theme.accentColor
 import io.legado.app.lib.theme.backgroundColor
 import io.legado.app.lib.theme.primaryColor
 import io.legado.app.ui.book.source.debug.BookSourceDebugActivity
-import io.legado.app.ui.document.HandleFileContract
+import io.legado.app.ui.file.HandleFileContract
 import io.legado.app.ui.login.SourceLoginActivity
 import io.legado.app.ui.qrcode.QrCodeResult
 import io.legado.app.ui.widget.dialog.TextDialog

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/source/manage/BookSourceActivity.kt

@@ -32,7 +32,7 @@ import io.legado.app.ui.book.search.SearchScope
 import io.legado.app.ui.book.source.debug.BookSourceDebugActivity
 import io.legado.app.ui.book.source.edit.BookSourceEditActivity
 import io.legado.app.ui.config.CheckSourceConfig
-import io.legado.app.ui.document.HandleFileContract
+import io.legado.app.ui.file.HandleFileContract
 import io.legado.app.ui.qrcode.QrCodeResult
 import io.legado.app.ui.widget.SelectActionBar
 import io.legado.app.ui.widget.dialog.TextDialog

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/toc/rule/TxtTocRuleActivity.kt

@@ -17,7 +17,7 @@ import io.legado.app.help.DirectLinkUpload
 import io.legado.app.lib.dialogs.alert
 import io.legado.app.lib.theme.primaryColor
 import io.legado.app.ui.association.ImportTxtTocRuleDialog
-import io.legado.app.ui.document.HandleFileContract
+import io.legado.app.ui.file.HandleFileContract
 import io.legado.app.ui.qrcode.QrCodeResult
 import io.legado.app.ui.widget.SelectActionBar
 import io.legado.app.ui.widget.dialog.TextDialog

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/toc/rule/TxtTocRuleDialog.kt

@@ -25,7 +25,7 @@ import io.legado.app.lib.dialogs.alert
 import io.legado.app.lib.theme.backgroundColor
 import io.legado.app.lib.theme.primaryColor
 import io.legado.app.ui.association.ImportTxtTocRuleDialog
-import io.legado.app.ui.document.HandleFileContract
+import io.legado.app.ui.file.HandleFileContract
 import io.legado.app.ui.qrcode.QrCodeResult
 import io.legado.app.ui.widget.dialog.TextDialog
 import io.legado.app.ui.widget.recycler.ItemTouchCallback

+ 1 - 1
app/src/main/java/io/legado/app/ui/browser/WebViewActivity.kt

@@ -22,7 +22,7 @@ import io.legado.app.lib.dialogs.SelectItem
 import io.legado.app.lib.theme.accentColor
 import io.legado.app.model.Download
 import io.legado.app.ui.association.OnLineImportActivity
-import io.legado.app.ui.document.HandleFileContract
+import io.legado.app.ui.file.HandleFileContract
 import io.legado.app.utils.*
 import io.legado.app.utils.viewbindingdelegate.viewBinding
 import java.net.URLDecoder

+ 1 - 1
app/src/main/java/io/legado/app/ui/config/BackupConfigFragment.kt

@@ -34,7 +34,7 @@ import io.legado.app.lib.permission.PermissionsCompat
 import io.legado.app.lib.prefs.fragment.PreferenceFragment
 import io.legado.app.lib.theme.primaryColor
 import io.legado.app.ui.about.AppLogDialog
-import io.legado.app.ui.document.HandleFileContract
+import io.legado.app.ui.file.HandleFileContract
 import io.legado.app.ui.widget.dialog.TextDialog
 import io.legado.app.ui.widget.dialog.WaitDialog
 import io.legado.app.utils.*

+ 1 - 2
app/src/main/java/io/legado/app/ui/config/OtherConfigFragment.kt

@@ -2,7 +2,6 @@ package io.legado.app.ui.config
 
 import android.annotation.SuppressLint
 import android.content.ComponentName
-import android.content.Context
 import android.content.SharedPreferences
 import android.content.pm.PackageManager
 import android.os.Bundle
@@ -24,7 +23,7 @@ import io.legado.app.model.CheckSource
 import io.legado.app.receiver.SharedReceiverActivity
 import io.legado.app.service.WebService
 import io.legado.app.ui.book.read.page.provider.ImageProvider
-import io.legado.app.ui.document.HandleFileContract
+import io.legado.app.ui.file.HandleFileContract
 import io.legado.app.ui.widget.number.NumberPickerDialog
 import io.legado.app.utils.*
 import splitties.init.appCtx

+ 1 - 1
app/src/main/java/io/legado/app/ui/dict/rule/DictRuleActivity.kt

@@ -18,7 +18,7 @@ import io.legado.app.help.DirectLinkUpload
 import io.legado.app.lib.dialogs.alert
 import io.legado.app.lib.theme.primaryColor
 import io.legado.app.ui.association.ImportDictRuleDialog
-import io.legado.app.ui.document.HandleFileContract
+import io.legado.app.ui.file.HandleFileContract
 import io.legado.app.ui.qrcode.QrCodeResult
 import io.legado.app.ui.widget.SelectActionBar
 import io.legado.app.ui.widget.dialog.TextDialog

+ 27 - 4
app/src/main/java/io/legado/app/ui/document/FileManageActivity.kt → app/src/main/java/io/legado/app/ui/file/FileManageActivity.kt

@@ -1,8 +1,10 @@
-package io.legado.app.ui.document
+package io.legado.app.ui.file
 
 import android.annotation.SuppressLint
 import android.os.Bundle
+import android.view.View
 import android.view.ViewGroup
+import android.widget.PopupMenu
 import androidx.activity.viewModels
 import androidx.appcompat.widget.SearchView
 import androidx.core.content.FileProvider
@@ -17,7 +19,7 @@ import io.legado.app.databinding.ActivityFileManageBinding
 import io.legado.app.databinding.ItemFileBinding
 import io.legado.app.databinding.ItemPathPickerBinding
 import io.legado.app.lib.theme.primaryTextColor
-import io.legado.app.ui.document.utils.FilePickerIcon
+import io.legado.app.ui.file.utils.FilePickerIcon
 import io.legado.app.ui.widget.recycler.VerticalDivider
 import io.legado.app.utils.ConvertUtils
 import io.legado.app.utils.applyTint
@@ -152,7 +154,7 @@ class FileManageActivity : VMBaseActivity<ActivityFileManageBinding, FileManageV
             binding.root.setOnClickListener {
                 val item = getItemByLayoutPosition(holder.layoutPosition)
                 item?.let {
-                    if (item == (viewModel.subDocs.lastOrNull() ?: viewModel.rootDoc)) {
+                    if (item == viewModel.lastDir) {
                         viewModel.subDocs.removeLastOrNull()
                         pathAdapter.setItems(viewModel.subDocs)
                         viewModel.upFiles(viewModel.subDocs.lastOrNull() ?: viewModel.rootDoc)
@@ -171,6 +173,16 @@ class FileManageActivity : VMBaseActivity<ActivityFileManageBinding, FileManageV
                     }
                 }
             }
+            binding.root.setOnLongClickListener { view ->
+                val item = getItemByLayoutPosition(holder.layoutPosition)
+                if (item == viewModel.lastDir) {
+                    return@setOnLongClickListener true
+                }
+                item?.let {
+                    showFileMenu(view, item)
+                }
+                return@setOnLongClickListener true
+            }
         }
 
         override fun convert(
@@ -179,7 +191,7 @@ class FileManageActivity : VMBaseActivity<ActivityFileManageBinding, FileManageV
             item: File,
             payloads: MutableList<Any>
         ) {
-            if (item == (viewModel.subDocs.lastOrNull() ?: viewModel.rootDoc)) {
+            if (item == viewModel.lastDir) {
                 binding.imageView.setImageDrawable(upIcon)
                 binding.textView.text = dirParent
             } else if (item.isDirectory) {
@@ -191,6 +203,17 @@ class FileManageActivity : VMBaseActivity<ActivityFileManageBinding, FileManageV
             }
         }
 
+        private fun showFileMenu(view: View, file: File) {
+            val popupMenu = PopupMenu(context, view)
+            popupMenu.inflate(R.menu.file_long_click)
+            popupMenu.setOnMenuItemClickListener {
+                when (it.itemId) {
+                    R.id.menu_del -> viewModel.delFile(file)
+                }
+                true
+            }
+            popupMenu.show()
+        }
 
     }
 

+ 19 - 3
app/src/main/java/io/legado/app/ui/document/FileManageViewModel.kt → app/src/main/java/io/legado/app/ui/file/FileManageViewModel.kt

@@ -1,4 +1,4 @@
-package io.legado.app.ui.document
+package io.legado.app.ui.file
 
 import android.app.Application
 import androidx.lifecycle.MutableLiveData
@@ -12,13 +12,20 @@ class FileManageViewModel(application: Application) : BaseViewModel(application)
     var subDocs = mutableListOf<File>()
     val filesLiveData = MutableLiveData<List<File>>()
 
+    val lastDir: File? get() = subDocs.lastOrNull() ?: rootDoc
+
     fun upFiles(parentFile: File?) {
         execute {
+            parentFile ?: return@execute emptyList()
             if (parentFile == rootDoc) {
-                parentFile?.listFiles()?.toList()
+                parentFile.listFiles()?.sortedWith(
+                    compareBy({ it.isFile }, { it.name })
+                )
             } else {
                 val list = arrayListOf(parentFile)
-                parentFile?.listFiles()?.let {
+                parentFile.listFiles()?.sortedWith(
+                    compareBy({ it.isFile }, { it.name })
+                )?.let {
                     list.addAll(it)
                 }
                 list
@@ -32,5 +39,14 @@ class FileManageViewModel(application: Application) : BaseViewModel(application)
         }
     }
 
+    fun delFile(file: File) {
+        execute {
+            file.delete()
+        }.onSuccess {
+            upFiles(lastDir)
+        }.onError {
+            context.toastOnUi(it.localizedMessage)
+        }
+    }
 
 }

+ 5 - 5
app/src/main/java/io/legado/app/ui/document/FilePickerDialog.kt → app/src/main/java/io/legado/app/ui/file/FilePickerDialog.kt

@@ -1,4 +1,4 @@
-package io.legado.app.ui.document
+package io.legado.app.ui.file
 
 import android.content.DialogInterface
 import android.content.Intent
@@ -14,10 +14,10 @@ import io.legado.app.R
 import io.legado.app.base.BaseDialogFragment
 import io.legado.app.databinding.DialogFileChooserBinding
 import io.legado.app.lib.theme.primaryColor
-import io.legado.app.ui.document.HandleFileContract.Companion.DIR
-import io.legado.app.ui.document.HandleFileContract.Companion.FILE
-import io.legado.app.ui.document.adapter.FileAdapter
-import io.legado.app.ui.document.adapter.PathAdapter
+import io.legado.app.ui.file.HandleFileContract.Companion.DIR
+import io.legado.app.ui.file.HandleFileContract.Companion.FILE
+import io.legado.app.ui.file.adapter.FileAdapter
+import io.legado.app.ui.file.adapter.PathAdapter
 import io.legado.app.ui.widget.recycler.VerticalDivider
 import io.legado.app.utils.*
 import io.legado.app.utils.viewbindingdelegate.viewBinding

+ 1 - 1
app/src/main/java/io/legado/app/ui/document/HandleFileActivity.kt → app/src/main/java/io/legado/app/ui/file/HandleFileActivity.kt

@@ -1,4 +1,4 @@
-package io.legado.app.ui.document
+package io.legado.app.ui.file
 
 import android.content.Intent
 import android.net.Uri

+ 1 - 1
app/src/main/java/io/legado/app/ui/document/HandleFileContract.kt → app/src/main/java/io/legado/app/ui/file/HandleFileContract.kt

@@ -1,4 +1,4 @@
-package io.legado.app.ui.document
+package io.legado.app.ui.file
 
 import android.app.Activity.RESULT_OK
 import android.content.Context

+ 1 - 1
app/src/main/java/io/legado/app/ui/document/HandleFileViewModel.kt → app/src/main/java/io/legado/app/ui/file/HandleFileViewModel.kt

@@ -1,4 +1,4 @@
-package io.legado.app.ui.document
+package io.legado.app.ui.file
 
 import android.app.Application
 import android.net.Uri

+ 3 - 3
app/src/main/java/io/legado/app/ui/document/adapter/FileAdapter.kt → app/src/main/java/io/legado/app/ui/file/adapter/FileAdapter.kt

@@ -1,4 +1,4 @@
-package io.legado.app.ui.document.adapter
+package io.legado.app.ui.file.adapter
 
 
 import android.content.Context
@@ -9,8 +9,8 @@ import io.legado.app.databinding.ItemFilePickerBinding
 import io.legado.app.help.config.AppConfig
 import io.legado.app.lib.theme.getPrimaryDisabledTextColor
 import io.legado.app.lib.theme.getPrimaryTextColor
-import io.legado.app.ui.document.entity.FileItem
-import io.legado.app.ui.document.utils.FilePickerIcon
+import io.legado.app.ui.file.entity.FileItem
+import io.legado.app.ui.file.utils.FilePickerIcon
 import io.legado.app.utils.ConvertUtils
 import io.legado.app.utils.FileUtils
 import java.io.File

+ 2 - 2
app/src/main/java/io/legado/app/ui/document/adapter/PathAdapter.kt → app/src/main/java/io/legado/app/ui/file/adapter/PathAdapter.kt

@@ -1,4 +1,4 @@
-package io.legado.app.ui.document.adapter
+package io.legado.app.ui.file.adapter
 
 import android.content.Context
 import android.os.Environment
@@ -6,7 +6,7 @@ import android.view.ViewGroup
 import io.legado.app.base.adapter.ItemViewHolder
 import io.legado.app.base.adapter.RecyclerAdapter
 import io.legado.app.databinding.ItemPathPickerBinding
-import io.legado.app.ui.document.utils.FilePickerIcon
+import io.legado.app.ui.file.utils.FilePickerIcon
 import io.legado.app.utils.ConvertUtils
 import java.util.*
 

+ 1 - 1
app/src/main/java/io/legado/app/ui/document/entity/FileItem.kt → app/src/main/java/io/legado/app/ui/file/entity/FileItem.kt

@@ -1,4 +1,4 @@
-package io.legado.app.ui.document.entity
+package io.legado.app.ui.file.entity
 
 import android.graphics.drawable.Drawable
 

+ 1 - 1
app/src/main/java/io/legado/app/ui/document/utils/FilePickerIcon.java → app/src/main/java/io/legado/app/ui/file/utils/FilePickerIcon.java

@@ -1,4 +1,4 @@
-package io.legado.app.ui.document.utils;
+package io.legado.app.ui.file.utils;
 
 /**
  * Generated by https://github.com/gzu-liyujiang/Image2ByteVar

+ 1 - 1
app/src/main/java/io/legado/app/ui/font/FontSelectDialog.kt

@@ -18,7 +18,7 @@ import io.legado.app.lib.dialogs.alert
 import io.legado.app.lib.permission.Permissions
 import io.legado.app.lib.permission.PermissionsCompat
 import io.legado.app.lib.theme.primaryColor
-import io.legado.app.ui.document.HandleFileContract
+import io.legado.app.ui.file.HandleFileContract
 import io.legado.app.utils.*
 import io.legado.app.utils.viewbindingdelegate.viewBinding
 import kotlinx.coroutines.Dispatchers.Main

+ 1 - 1
app/src/main/java/io/legado/app/ui/main/bookshelf/BaseBookshelfFragment.kt

@@ -25,7 +25,7 @@ import io.legado.app.ui.book.import.local.ImportBookActivity
 import io.legado.app.ui.book.import.remote.RemoteBookActivity
 import io.legado.app.ui.book.manage.BookshelfManageActivity
 import io.legado.app.ui.book.search.SearchActivity
-import io.legado.app.ui.document.HandleFileContract
+import io.legado.app.ui.file.HandleFileContract
 import io.legado.app.ui.main.MainViewModel
 import io.legado.app.utils.*
 

+ 1 - 1
app/src/main/java/io/legado/app/ui/main/my/MyFragment.kt

@@ -29,7 +29,7 @@ import io.legado.app.ui.book.toc.rule.TxtTocRuleActivity
 import io.legado.app.ui.config.ConfigActivity
 import io.legado.app.ui.config.ConfigTag
 import io.legado.app.ui.dict.rule.DictRuleActivity
-import io.legado.app.ui.document.FileManageActivity
+import io.legado.app.ui.file.FileManageActivity
 import io.legado.app.ui.replace.ReplaceRuleActivity
 import io.legado.app.ui.widget.dialog.TextDialog
 import io.legado.app.utils.*

+ 1 - 1
app/src/main/java/io/legado/app/ui/replace/ReplaceRuleActivity.kt

@@ -28,7 +28,7 @@ import io.legado.app.lib.dialogs.alert
 import io.legado.app.lib.theme.primaryColor
 import io.legado.app.lib.theme.primaryTextColor
 import io.legado.app.ui.association.ImportReplaceRuleDialog
-import io.legado.app.ui.document.HandleFileContract
+import io.legado.app.ui.file.HandleFileContract
 import io.legado.app.ui.qrcode.QrCodeResult
 import io.legado.app.ui.replace.edit.ReplaceEditActivity
 import io.legado.app.ui.widget.SelectActionBar

+ 1 - 1
app/src/main/java/io/legado/app/ui/rss/read/ReadRssActivity.kt

@@ -21,7 +21,7 @@ import io.legado.app.lib.theme.accentColor
 import io.legado.app.lib.theme.primaryTextColor
 import io.legado.app.model.Download
 import io.legado.app.ui.association.OnLineImportActivity
-import io.legado.app.ui.document.HandleFileContract
+import io.legado.app.ui.file.HandleFileContract
 import io.legado.app.ui.login.SourceLoginActivity
 import io.legado.app.utils.*
 import io.legado.app.utils.viewbindingdelegate.viewBinding

+ 1 - 1
app/src/main/java/io/legado/app/ui/rss/source/edit/RssSourceEditActivity.kt

@@ -18,7 +18,7 @@ import io.legado.app.lib.dialogs.alert
 import io.legado.app.lib.theme.accentColor
 import io.legado.app.lib.theme.backgroundColor
 import io.legado.app.lib.theme.primaryColor
-import io.legado.app.ui.document.HandleFileContract
+import io.legado.app.ui.file.HandleFileContract
 import io.legado.app.ui.login.SourceLoginActivity
 import io.legado.app.ui.qrcode.QrCodeResult
 import io.legado.app.ui.rss.source.debug.RssSourceDebugActivity

+ 1 - 1
app/src/main/java/io/legado/app/ui/rss/source/manage/RssSourceActivity.kt

@@ -23,7 +23,7 @@ import io.legado.app.lib.dialogs.alert
 import io.legado.app.lib.theme.primaryColor
 import io.legado.app.lib.theme.primaryTextColor
 import io.legado.app.ui.association.ImportRssSourceDialog
-import io.legado.app.ui.document.HandleFileContract
+import io.legado.app.ui.file.HandleFileContract
 import io.legado.app.ui.qrcode.QrCodeResult
 import io.legado.app.ui.rss.source.edit.RssSourceEditActivity
 import io.legado.app.ui.widget.SelectActionBar

+ 8 - 0
app/src/main/res/menu/file_long_click.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item
+        android:id="@+id/menu_del"
+        android:title="@string/delete" />
+
+</menu>