This commit is contained in:
gedoor 2021-10-04 16:16:00 +08:00
parent a53fcb164d
commit dca2432615
13 changed files with 77 additions and 10 deletions

View File

@ -1,7 +1,9 @@
package io.legado.app.base
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.DialogFragment
import androidx.fragment.app.FragmentManager
import io.legado.app.help.coroutine.Coroutine
@ -15,6 +17,12 @@ import kotlin.coroutines.CoroutineContext
abstract class BaseDialogFragment : DialogFragment(), CoroutineScope by MainScope() {
abstract override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View?
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
view.setBackgroundColor(ThemeStore.backgroundColor())

View File

@ -25,6 +25,7 @@ import io.legado.app.databinding.ItemSourceImportBinding
import io.legado.app.help.AppConfig
import io.legado.app.lib.dialogs.alert
import io.legado.app.lib.theme.primaryColor
import io.legado.app.ui.widget.dialog.CodeDialog
import io.legado.app.ui.widget.dialog.WaitDialog
import io.legado.app.utils.*
import io.legado.app.utils.viewbindingdelegate.viewBinding
@ -213,9 +214,9 @@ class ImportBookSourceDialog() : BaseDialogFragment(), Toolbar.OnMenuItemClickLi
cbSourceName.text = item.bookSourceName
val localSource = viewModel.checkSources[holder.layoutPosition]
tvSourceState.text = when {
localSource == null -> "书源"
localSource == null -> ""
item.lastUpdateTime > localSource.lastUpdateTime -> "更新"
else -> "存在"
else -> ""
}
}
@ -229,6 +230,10 @@ class ImportBookSourceDialog() : BaseDialogFragment(), Toolbar.OnMenuItemClickLi
upSelectText()
}
}
tvSee.setOnClickListener {
val source = viewModel.allSources[holder.layoutPosition]
showDialogFragment(CodeDialog(GSON.toJson(source)))
}
}
}

View File

@ -24,6 +24,7 @@ import io.legado.app.databinding.DialogRecyclerViewBinding
import io.legado.app.databinding.ItemSourceImportBinding
import io.legado.app.lib.dialogs.alert
import io.legado.app.lib.theme.primaryColor
import io.legado.app.ui.widget.dialog.CodeDialog
import io.legado.app.ui.widget.dialog.WaitDialog
import io.legado.app.utils.*
import io.legado.app.utils.viewbindingdelegate.viewBinding
@ -205,12 +206,12 @@ class ImportReplaceRuleDialog() : BaseDialogFragment(), Toolbar.OnMenuItemClickL
cbSourceName.text = item.name
val localRule = viewModel.checkRules[holder.layoutPosition]
tvSourceState.text = when {
localRule == null -> "规则"
localRule == null -> ""
item.pattern != localRule.pattern
|| item.replacement != localRule.replacement
|| item.isRegex != localRule.isRegex
|| item.scope != localRule.scope -> "更新"
else -> "存在"
else -> ""
}
}
}
@ -223,6 +224,10 @@ class ImportReplaceRuleDialog() : BaseDialogFragment(), Toolbar.OnMenuItemClickL
upSelectText()
}
}
tvSee.setOnClickListener {
val source = viewModel.allRules[holder.layoutPosition]
showDialogFragment(CodeDialog(GSON.toJson(source)))
}
}
}

View File

@ -25,6 +25,7 @@ import io.legado.app.databinding.ItemSourceImportBinding
import io.legado.app.help.AppConfig
import io.legado.app.lib.dialogs.alert
import io.legado.app.lib.theme.primaryColor
import io.legado.app.ui.widget.dialog.CodeDialog
import io.legado.app.ui.widget.dialog.WaitDialog
import io.legado.app.utils.*
import io.legado.app.utils.viewbindingdelegate.viewBinding
@ -211,9 +212,9 @@ class ImportRssSourceDialog() : BaseDialogFragment(), Toolbar.OnMenuItemClickLis
cbSourceName.isChecked = viewModel.selectStatus[holder.layoutPosition]
cbSourceName.text = item.sourceName
tvSourceState.text = if (viewModel.checkSources[holder.layoutPosition] != null) {
"存在"
""
} else {
"订阅源"
""
}
}
}
@ -226,6 +227,10 @@ class ImportRssSourceDialog() : BaseDialogFragment(), Toolbar.OnMenuItemClickLis
upSelectText()
}
}
tvSee.setOnClickListener {
val source = viewModel.allSources[holder.layoutPosition]
showDialogFragment(CodeDialog(GSON.toJson(source)))
}
}
}
}

View File

@ -1,19 +1,44 @@
package io.legado.app.ui.widget.dialog
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import io.legado.app.R
import io.legado.app.base.BaseDialogFragment
import io.legado.app.databinding.DialogCodeViewBinding
import io.legado.app.utils.setLayout
import io.legado.app.utils.viewbindingdelegate.viewBinding
class CodeDialog : BaseDialogFragment() {
class CodeDialog() : BaseDialogFragment() {
constructor(code: String) : this() {
arguments = Bundle().apply {
putString("code", code)
}
}
val binding by viewBinding(DialogCodeViewBinding::bind)
override fun onStart() {
super.onStart()
setLayout(0.9f, 0.9f)
}
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
return inflater.inflate(R.layout.dialog_code_view, container)
}
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
binding.codeView.keyListener = null
arguments?.getString("code")?.let {
binding.codeView.setText(it)
}
}
}

View File

@ -15,7 +15,19 @@
<TextView
android:id="@+id/tv_source_state"
android:layout_width="80dp"
android:layout_height="wrap_content" />
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="6dp"
android:paddingRight="6dp"
android:textColor="@color/secondaryText" />
<TextView
android:id="@+id/tv_see"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="6dp"
android:paddingRight="6dp"
android:textColor="@color/secondaryText"
android:text="@string/see" />
</LinearLayout>

View File

@ -895,5 +895,6 @@
<string name="copy_url">拷贝url</string>
<string name="Open_fan">打开方式</string>
<string name="use_browser_open">是否使用外部浏览器打开?</string>
<string name="see">查看</string>
</resources>

View File

@ -899,5 +899,6 @@
<string name="copy_url">拷贝url</string>
<string name="Open_fan">打开方式</string>
<string name="use_browser_open">是否使用外部浏览器打开?</string>
<string name="see">查看</string>
</resources>

View File

@ -899,5 +899,6 @@
<string name="copy_url">拷贝url</string>
<string name="Open_fan">打开方式</string>
<string name="use_browser_open">是否使用外部浏览器打开?</string>
<string name="see">查看</string>
</resources>

View File

@ -896,5 +896,6 @@
<string name="copy_url">拷贝url</string>
<string name="Open_fan">打开方式</string>
<string name="use_browser_open">是否使用外部浏览器打开?</string>
<string name="see">查看</string>
</resources>

View File

@ -898,5 +898,6 @@
<string name="copy_url">拷贝url</string>
<string name="Open_fan">打开方式</string>
<string name="use_browser_open">是否使用外部浏览器打开?</string>
<string name="see">查看</string>
</resources>

View File

@ -898,5 +898,6 @@
<string name="copy_url">拷贝url</string>
<string name="Open_fan">打开方式</string>
<string name="use_browser_open">是否使用外部浏览器打开?</string>
<string name="see">查看</string>
</resources>

View File

@ -899,5 +899,6 @@
<string name="copy_url">拷贝url</string>
<string name="Open_fan">打开方式</string>
<string name="use_browser_open">是否使用外部浏览器打开?</string>
<string name="see">查看</string>
</resources>