pull/1393/head
gedoor 3 years ago
parent 0564df45ca
commit 14ab6f8b4a
  1. 10
      app/src/main/java/io/legado/app/ui/widget/font/FontAdapter.kt
  2. 7
      app/src/main/java/io/legado/app/ui/widget/font/FontSelectDialog.kt

@ -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…
Cancel
Save