diff --git a/app/src/main/java/io/legado/app/help/SourceVerificationHelp.kt b/app/src/main/java/io/legado/app/help/SourceVerificationHelp.kt index 1ed311e2f..7251225e3 100644 --- a/app/src/main/java/io/legado/app/help/SourceVerificationHelp.kt +++ b/app/src/main/java/io/legado/app/help/SourceVerificationHelp.kt @@ -27,6 +27,7 @@ object SourceVerificationHelp { appCtx.startActivity { putExtra("imageUrl", url) putExtra("sourceOrigin", source.getKey()) + putExtra("sourceName", source.getTag()) } } else { startBrowser(source, url, title, true) diff --git a/app/src/main/java/io/legado/app/ui/association/VerificationCodeDialog.kt b/app/src/main/java/io/legado/app/ui/association/VerificationCodeDialog.kt index a3b7dd656..dcf38db7b 100644 --- a/app/src/main/java/io/legado/app/ui/association/VerificationCodeDialog.kt +++ b/app/src/main/java/io/legado/app/ui/association/VerificationCodeDialog.kt @@ -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 } diff --git a/app/src/main/res/layout/dialog_verification_code_view.xml b/app/src/main/res/layout/dialog_verification_code_view.xml index f3ca7c528..ef6ee0c02 100644 --- a/app/src/main/res/layout/dialog_verification_code_view.xml +++ b/app/src/main/res/layout/dialog_verification_code_view.xml @@ -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" /> + + + android:layout_marginTop="8dp" + android:padding="3dp">