验证码弹出框显示源名称
This commit is contained in:
@@ -27,6 +27,7 @@ object SourceVerificationHelp {
|
|||||||
appCtx.startActivity<VerificationCodeActivity> {
|
appCtx.startActivity<VerificationCodeActivity> {
|
||||||
putExtra("imageUrl", url)
|
putExtra("imageUrl", url)
|
||||||
putExtra("sourceOrigin", source.getKey())
|
putExtra("sourceOrigin", source.getKey())
|
||||||
|
putExtra("sourceName", source.getTag())
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
startBrowser(source, url, title, true)
|
startBrowser(source, url, title, true)
|
||||||
|
|||||||
@@ -2,12 +2,12 @@ package io.legado.app.ui.association
|
|||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.view.MenuItem
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.view.MenuItem
|
|
||||||
import androidx.appcompat.widget.Toolbar
|
import androidx.appcompat.widget.Toolbar
|
||||||
import com.bumptech.glide.request.RequestOptions
|
|
||||||
import com.bumptech.glide.load.engine.DiskCacheStrategy
|
import com.bumptech.glide.load.engine.DiskCacheStrategy
|
||||||
|
import com.bumptech.glide.request.RequestOptions
|
||||||
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.DialogVerificationCodeViewBinding
|
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.help.glide.OkHttpModelLoader
|
||||||
import io.legado.app.lib.theme.primaryColor
|
import io.legado.app.lib.theme.primaryColor
|
||||||
import io.legado.app.ui.widget.dialog.PhotoDialog
|
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
|
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -26,12 +28,18 @@ import io.legado.app.utils.viewbindingdelegate.viewBinding
|
|||||||
* val key = "${sourceOrigin ?: ""}_verificationResult"
|
* val key = "${sourceOrigin ?: ""}_verificationResult"
|
||||||
* CacheManager.get(key)
|
* 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 {
|
arguments = Bundle().apply {
|
||||||
putString("sourceOrigin", sourceOrigin)
|
|
||||||
putString("imageUrl", imageUrl)
|
putString("imageUrl", imageUrl)
|
||||||
|
putString("sourceOrigin", sourceOrigin)
|
||||||
|
putString("sourceName", sourceName)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -47,23 +55,23 @@ class VerificationCodeDialog() : BaseDialogFragment(R.layout.dialog_verification
|
|||||||
initMenu()
|
initMenu()
|
||||||
binding.run {
|
binding.run {
|
||||||
toolBar.setBackgroundColor(primaryColor)
|
toolBar.setBackgroundColor(primaryColor)
|
||||||
val sourceOrigin = arguments?.getString("sourceOrigin")
|
arguments?.let { arguments ->
|
||||||
arguments?.getString("imageUrl")?.let { imageUrl ->
|
tvTag.text = arguments.getString("sourceName")
|
||||||
ImageLoader.load(requireContext(), imageUrl).apply {
|
val sourceOrigin = arguments.getString("sourceOrigin")
|
||||||
sourceOrigin?.let {
|
arguments.getString("imageUrl")?.let { imageUrl ->
|
||||||
apply(
|
ImageLoader.load(requireContext(), imageUrl).apply {
|
||||||
RequestOptions().set(
|
sourceOrigin?.let {
|
||||||
OkHttpModelLoader.sourceOriginOption,
|
apply(
|
||||||
it
|
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)
|
CacheManager.putMemory(key, it)
|
||||||
dismiss()
|
dismiss()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,26 +10,33 @@
|
|||||||
android:id="@+id/tool_bar"
|
android:id="@+id/tool_bar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@color/background_menu"
|
||||||
android:elevation="5dp"
|
android:elevation="5dp"
|
||||||
android:theme="?attr/actionBarStyle"
|
android:theme="?attr/actionBarStyle"
|
||||||
android:background="@color/background_menu"
|
|
||||||
app:title="@string/input_verification_code"
|
|
||||||
app:popupTheme="@style/AppTheme.PopupOverlay"
|
app:popupTheme="@style/AppTheme.PopupOverlay"
|
||||||
|
app:title="@string/input_verification_code"
|
||||||
app:titleTextAppearance="@style/ToolbarTitle" />
|
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
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
android:id="@+id/verification_code_image_view"
|
android:id="@+id/verification_code_image_view"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="100dp"
|
android:layout_height="100dp"
|
||||||
android:scaleType="centerCrop"
|
|
||||||
android:background="?android:attr/selectableItemBackgroundBorderless"
|
android:background="?android:attr/selectableItemBackgroundBorderless"
|
||||||
|
android:scaleType="centerCrop"
|
||||||
tools:ignore="UnusedAttribute" />
|
tools:ignore="UnusedAttribute" />
|
||||||
|
|
||||||
<io.legado.app.ui.widget.text.TextInputLayout
|
<io.legado.app.ui.widget.text.TextInputLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
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
|
<io.legado.app.lib.theme.view.ThemeEditText
|
||||||
android:id="@+id/verification_code"
|
android:id="@+id/verification_code"
|
||||||
|
|||||||
Reference in New Issue
Block a user