mirror of
https://github.com/gedoor/legado.git
synced 2025-08-10 00:52:30 +00:00
验证码弹出框显示源名称
This commit is contained in:
@@ -27,6 +27,7 @@ object SourceVerificationHelp {
|
||||
appCtx.startActivity<VerificationCodeActivity> {
|
||||
putExtra("imageUrl", url)
|
||||
putExtra("sourceOrigin", source.getKey())
|
||||
putExtra("sourceName", source.getTag())
|
||||
}
|
||||
} else {
|
||||
startBrowser(source, url, title, true)
|
||||
|
||||
@@ -2,12 +2,12 @@ package io.legado.app.ui.association
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.os.Bundle
|
||||
import android.view.MenuItem
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.view.MenuItem
|
||||
import androidx.appcompat.widget.Toolbar
|
||||
import com.bumptech.glide.request.RequestOptions
|
||||
import com.bumptech.glide.load.engine.DiskCacheStrategy
|
||||
import com.bumptech.glide.request.RequestOptions
|
||||
import io.legado.app.R
|
||||
import io.legado.app.base.BaseDialogFragment
|
||||
import io.legado.app.databinding.DialogVerificationCodeViewBinding
|
||||
@@ -17,7 +17,9 @@ import io.legado.app.help.glide.ImageLoader
|
||||
import io.legado.app.help.glide.OkHttpModelLoader
|
||||
import io.legado.app.lib.theme.primaryColor
|
||||
import io.legado.app.ui.widget.dialog.PhotoDialog
|
||||
import io.legado.app.utils.*
|
||||
import io.legado.app.utils.applyTint
|
||||
import io.legado.app.utils.setLayout
|
||||
import io.legado.app.utils.showDialogFragment
|
||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||
|
||||
/**
|
||||
@@ -26,12 +28,18 @@ import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||
* val key = "${sourceOrigin ?: ""}_verificationResult"
|
||||
* CacheManager.get(key)
|
||||
*/
|
||||
class VerificationCodeDialog() : BaseDialogFragment(R.layout.dialog_verification_code_view), Toolbar.OnMenuItemClickListener {
|
||||
class VerificationCodeDialog() : BaseDialogFragment(R.layout.dialog_verification_code_view),
|
||||
Toolbar.OnMenuItemClickListener {
|
||||
|
||||
constructor(imageUrl: String, sourceOrigin: String? = null) : this() {
|
||||
constructor(
|
||||
imageUrl: String,
|
||||
sourceOrigin: String? = null,
|
||||
sourceName: String? = null
|
||||
) : this() {
|
||||
arguments = Bundle().apply {
|
||||
putString("sourceOrigin", sourceOrigin)
|
||||
putString("imageUrl", imageUrl)
|
||||
putString("sourceOrigin", sourceOrigin)
|
||||
putString("sourceName", sourceName)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,23 +55,23 @@ class VerificationCodeDialog() : BaseDialogFragment(R.layout.dialog_verification
|
||||
initMenu()
|
||||
binding.run {
|
||||
toolBar.setBackgroundColor(primaryColor)
|
||||
val sourceOrigin = arguments?.getString("sourceOrigin")
|
||||
arguments?.getString("imageUrl")?.let { imageUrl ->
|
||||
ImageLoader.load(requireContext(), imageUrl).apply {
|
||||
sourceOrigin?.let {
|
||||
apply(
|
||||
RequestOptions().set(
|
||||
OkHttpModelLoader.sourceOriginOption,
|
||||
it
|
||||
arguments?.let { arguments ->
|
||||
tvTag.text = arguments.getString("sourceName")
|
||||
val sourceOrigin = arguments.getString("sourceOrigin")
|
||||
arguments.getString("imageUrl")?.let { imageUrl ->
|
||||
ImageLoader.load(requireContext(), imageUrl).apply {
|
||||
sourceOrigin?.let {
|
||||
apply(
|
||||
RequestOptions().set(OkHttpModelLoader.sourceOriginOption, it)
|
||||
)
|
||||
)
|
||||
}
|
||||
}.error(R.drawable.image_loading_error)
|
||||
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
||||
.skipMemoryCache(true)
|
||||
.into(verificationCodeImageView)
|
||||
verificationCodeImageView.setOnClickListener {
|
||||
showDialogFragment(PhotoDialog(imageUrl, sourceOrigin))
|
||||
}
|
||||
}.error(R.drawable.image_loading_error)
|
||||
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
||||
.skipMemoryCache(true)
|
||||
.into(verificationCodeImageView)
|
||||
verificationCodeImageView.setOnClickListener {
|
||||
showDialogFragment(PhotoDialog(imageUrl, sourceOrigin))
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -86,7 +94,7 @@ class VerificationCodeDialog() : BaseDialogFragment(R.layout.dialog_verification
|
||||
CacheManager.putMemory(key, it)
|
||||
dismiss()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
@@ -10,26 +10,33 @@
|
||||
android:id="@+id/tool_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/background_menu"
|
||||
android:elevation="5dp"
|
||||
android:theme="?attr/actionBarStyle"
|
||||
android:background="@color/background_menu"
|
||||
app:title="@string/input_verification_code"
|
||||
app:popupTheme="@style/AppTheme.PopupOverlay"
|
||||
app:title="@string/input_verification_code"
|
||||
app:titleTextAppearance="@style/ToolbarTitle" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_tag"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:textColor="@color/secondaryText"
|
||||
android:visibility="gone" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/verification_code_image_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="100dp"
|
||||
android:scaleType="centerCrop"
|
||||
android:background="?android:attr/selectableItemBackgroundBorderless"
|
||||
android:scaleType="centerCrop"
|
||||
tools:ignore="UnusedAttribute" />
|
||||
|
||||
<io.legado.app.ui.widget.text.TextInputLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="3dp"
|
||||
android:layout_marginTop="8dp">
|
||||
android:layout_marginTop="8dp"
|
||||
android:padding="3dp">
|
||||
|
||||
<io.legado.app.lib.theme.view.ThemeEditText
|
||||
android:id="@+id/verification_code"
|
||||
|
||||
Reference in New Issue
Block a user