pull/1395/head
gedoor 4 years ago
parent a53fcb164d
commit dca2432615
  1. 8
      app/src/main/java/io/legado/app/base/BaseDialogFragment.kt
  2. 9
      app/src/main/java/io/legado/app/ui/association/ImportBookSourceDialog.kt
  3. 9
      app/src/main/java/io/legado/app/ui/association/ImportReplaceRuleDialog.kt
  4. 9
      app/src/main/java/io/legado/app/ui/association/ImportRssSourceDialog.kt
  5. 27
      app/src/main/java/io/legado/app/ui/widget/dialog/CodeDialog.kt
  6. 16
      app/src/main/res/layout/item_source_import.xml
  7. 1
      app/src/main/res/values-es-rES/strings.xml
  8. 1
      app/src/main/res/values-ja-rJP/strings.xml
  9. 1
      app/src/main/res/values-pt-rBR/strings.xml
  10. 1
      app/src/main/res/values-zh-rHK/strings.xml
  11. 1
      app/src/main/res/values-zh-rTW/strings.xml
  12. 1
      app/src/main/res/values-zh/strings.xml
  13. 1
      app/src/main/res/values/strings.xml

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

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

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

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

@ -1,19 +1,44 @@
package io.legado.app.ui.widget.dialog package io.legado.app.ui.widget.dialog
import android.os.Bundle import android.os.Bundle
import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup
import io.legado.app.R
import io.legado.app.base.BaseDialogFragment import io.legado.app.base.BaseDialogFragment
import io.legado.app.databinding.DialogCodeViewBinding
import io.legado.app.utils.setLayout 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() { override fun onStart() {
super.onStart() super.onStart()
setLayout(0.9f, 0.9f) setLayout(0.9f, 0.9f)
} }
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?) { override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
binding.codeView.keyListener = null
arguments?.getString("code")?.let {
binding.codeView.setText(it)
}
} }
} }

@ -15,7 +15,19 @@
<TextView <TextView
android:id="@+id/tv_source_state" android:id="@+id/tv_source_state"
android:layout_width="80dp" android:layout_width="wrap_content"
android:layout_height="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> </LinearLayout>

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

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

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

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

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

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

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

Loading…
Cancel
Save