mirror of
https://github.com/gedoor/legado.git
synced 2024-09-01 09:34:25 +08:00
优化
This commit is contained in:
parent
0564df45ca
commit
14ab6f8b4a
@ -12,9 +12,12 @@ import timber.log.Timber
|
||||
import java.io.File
|
||||
import java.net.URLDecoder
|
||||
|
||||
class FontAdapter(context: Context, val callBack: CallBack) :
|
||||
class FontAdapter(context: Context, curFilePath: String, val callBack: CallBack) :
|
||||
RecyclerAdapter<DocItem, ItemFontBinding>(context) {
|
||||
|
||||
private val curName = URLDecoder.decode(curFilePath, "utf-8")
|
||||
.substringAfterLast(File.separator)
|
||||
|
||||
override fun getViewBinding(parent: ViewGroup): ItemFontBinding {
|
||||
return ItemFontBinding.inflate(inflater, parent, false)
|
||||
}
|
||||
@ -47,9 +50,7 @@ class FontAdapter(context: Context, val callBack: CallBack) :
|
||||
}
|
||||
tvFont.text = item.name
|
||||
root.setOnClickListener { callBack.onClick(item) }
|
||||
if (item.name == URLDecoder.decode(callBack.curFilePath, "utf-8")
|
||||
.substringAfterLast(File.separator)
|
||||
) {
|
||||
if (item.name == curName) {
|
||||
ivChecked.visible()
|
||||
} else {
|
||||
ivChecked.invisible()
|
||||
@ -67,6 +68,5 @@ class FontAdapter(context: Context, val callBack: CallBack) :
|
||||
|
||||
interface CallBack {
|
||||
fun onClick(docItem: DocItem)
|
||||
val curFilePath: String
|
||||
}
|
||||
}
|
@ -36,7 +36,10 @@ class FontSelectDialog : BaseDialogFragment(R.layout.dialog_font_select),
|
||||
FileUtils.createFolderIfNotExist(appCtx.filesDir, "Fonts")
|
||||
}
|
||||
private val binding by viewBinding(DialogFontSelectBinding::bind)
|
||||
private val adapter by lazy { FontAdapter(requireContext(), this) }
|
||||
private val adapter by lazy {
|
||||
val curFontPath = callBack?.curFontPath ?: ""
|
||||
FontAdapter(requireContext(), curFontPath, this)
|
||||
}
|
||||
private val selectFontDir = registerForActivityResult(HandleFileContract()) { uri ->
|
||||
uri ?: return@registerForActivityResult
|
||||
if (uri.toString().isContentScheme()) {
|
||||
@ -229,8 +232,6 @@ class FontSelectDialog : BaseDialogFragment(R.layout.dialog_font_select),
|
||||
callBack?.selectFont("")
|
||||
}
|
||||
|
||||
override val curFilePath: String get() = callBack?.curFontPath ?: ""
|
||||
|
||||
private val callBack: CallBack?
|
||||
get() = (parentFragment as? CallBack) ?: (activity as? CallBack)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user