mirror of
https://github.com/gedoor/legado.git
synced 2024-09-03 09:55:00 +08:00
增加内置文件管理器
This commit is contained in:
parent
25fcb24a6c
commit
00881414c2
@ -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" />
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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.*
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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()
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -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,4 +1,4 @@
|
||||
package io.legado.app.ui.document
|
||||
package io.legado.app.ui.file
|
||||
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
@ -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,4 +1,4 @@
|
||||
package io.legado.app.ui.document
|
||||
package io.legado.app.ui.file
|
||||
|
||||
import android.app.Application
|
||||
import android.net.Uri
|
@ -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
|
@ -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,4 +1,4 @@
|
||||
package io.legado.app.ui.document.entity
|
||||
package io.legado.app.ui.file.entity
|
||||
|
||||
import android.graphics.drawable.Drawable
|
||||
|
@ -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
|
@ -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
|
||||
|
@ -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.*
|
||||
|
||||
|
@ -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.*
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
app/src/main/res/menu/file_long_click.xml
Normal file
8
app/src/main/res/menu/file_long_click.xml
Normal file
@ -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>
|
Loading…
Reference in New Issue
Block a user