|
@@ -6,6 +6,8 @@ import android.view.ViewGroup
|
|
|
import io.legado.app.R
|
|
import io.legado.app.R
|
|
|
import io.legado.app.base.BaseDialogFragment
|
|
import io.legado.app.base.BaseDialogFragment
|
|
|
import io.legado.app.databinding.DialogTextViewBinding
|
|
import io.legado.app.databinding.DialogTextViewBinding
|
|
|
|
|
+import io.legado.app.lib.theme.primaryColor
|
|
|
|
|
+import io.legado.app.utils.applyTint
|
|
|
import io.legado.app.utils.setHtml
|
|
import io.legado.app.utils.setHtml
|
|
|
import io.legado.app.utils.setLayout
|
|
import io.legado.app.utils.setLayout
|
|
|
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
|
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
|
@@ -24,12 +26,14 @@ class TextDialog() : BaseDialogFragment(R.layout.dialog_text_view) {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
constructor(
|
|
constructor(
|
|
|
|
|
+ title: String,
|
|
|
content: String?,
|
|
content: String?,
|
|
|
mode: Mode = Mode.TEXT,
|
|
mode: Mode = Mode.TEXT,
|
|
|
time: Long = 0,
|
|
time: Long = 0,
|
|
|
autoClose: Boolean = false
|
|
autoClose: Boolean = false
|
|
|
) : this() {
|
|
) : this() {
|
|
|
arguments = Bundle().apply {
|
|
arguments = Bundle().apply {
|
|
|
|
|
+ putString("title", title)
|
|
|
putString("content", content)
|
|
putString("content", content)
|
|
|
putString("mode", mode.name)
|
|
putString("mode", mode.name)
|
|
|
putLong("time", time)
|
|
putLong("time", time)
|
|
@@ -48,7 +52,17 @@ class TextDialog() : BaseDialogFragment(R.layout.dialog_text_view) {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
|
|
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
|
|
|
|
|
+ binding.toolBar.setBackgroundColor(primaryColor)
|
|
|
|
|
+ binding.toolBar.inflateMenu(R.menu.dialog_text)
|
|
|
|
|
+ binding.toolBar.menu.applyTint(requireContext())
|
|
|
|
|
+ binding.toolBar.setOnMenuItemClickListener {
|
|
|
|
|
+ when (it.itemId) {
|
|
|
|
|
+ R.id.menu_close -> dismissAllowingStateLoss()
|
|
|
|
|
+ }
|
|
|
|
|
+ true
|
|
|
|
|
+ }
|
|
|
arguments?.let {
|
|
arguments?.let {
|
|
|
|
|
+ binding.toolBar.title = it.getString("title")
|
|
|
val content = it.getString("content") ?: ""
|
|
val content = it.getString("content") ?: ""
|
|
|
when (it.getString("mode")) {
|
|
when (it.getString("mode")) {
|
|
|
Mode.MD.name -> binding.textView.post {
|
|
Mode.MD.name -> binding.textView.post {
|
|
@@ -82,7 +96,6 @@ class TextDialog() : BaseDialogFragment(R.layout.dialog_text_view) {
|
|
|
} else {
|
|
} else {
|
|
|
view.post {
|
|
view.post {
|
|
|
dialog?.setCancelable(true)
|
|
dialog?.setCancelable(true)
|
|
|
- if (autoClose) dialog?.cancel()
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|