dialog中传递activity

This commit is contained in:
renhaoting 2025-11-28 11:03:45 +08:00
parent cb1e475a83
commit 9efe53bf0d
18 changed files with 64 additions and 35 deletions

View File

@ -88,7 +88,7 @@ class WithDrawActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), On
if (!hasBindBank) { if (!hasBindBank) {
WithdrawBindBankDialog(this@WithDrawActivity).setWithDrawCashNum(cashNum).show() WithdrawBindBankDialog(this@WithDrawActivity).setWithDrawCashNum(cashNum).show()
} else { } else {
WithdrawInfoConfirmDialog(context).setWithDrawCashNum(cashNum).show() WithdrawInfoConfirmDialog(this@WithDrawActivity).setWithDrawCashNum(cashNum).show()
} }
} }

View File

@ -2,11 +2,11 @@ package com.gamedog.vididin.features.withdraw
import android.app.Activity
import android.content.Context import android.content.Context
import android.text.Editable import android.text.Editable
import android.text.TextWatcher import android.text.TextWatcher
import androidx.core.view.isVisible import androidx.core.view.isVisible
import com.ama.core.architecture.util.ResUtil
import com.ama.core.architecture.util.setOnClickBatch import com.ama.core.architecture.util.setOnClickBatch
import com.ama.core.architecture.widget.BindingDialog import com.ama.core.architecture.widget.BindingDialog
import com.gamedog.vididin.R import com.gamedog.vididin.R
@ -14,7 +14,7 @@ import com.gamedog.vididin.core.login.login.AccountManager
import com.gamedog.vididin.databinding.DialogWithdrawBindingBankBinding as ViewBinding import com.gamedog.vididin.databinding.DialogWithdrawBindingBankBinding as ViewBinding
class WithdrawBindBankDialog(context: Context) : BindingDialog<ViewBinding>(context, ViewBinding::inflate) { class WithdrawBindBankDialog(activity: Activity) : BindingDialog<ViewBinding>(activity, ViewBinding::inflate) {
private var mWithdrawCashNum: Float = 0F private var mWithdrawCashNum: Float = 0F
@ -38,7 +38,7 @@ class WithdrawBindBankDialog(context: Context) : BindingDialog<ViewBinding>(cont
tvConfirm -> { tvConfirm -> {
saveBankAccount(mBinding.tvCpfEdit.text.toString().trim()) saveBankAccount(mBinding.tvCpfEdit.text.toString().trim())
WithdrawInfoConfirmDialog(context).setWithDrawCashNum(mWithdrawCashNum).show() WithdrawInfoConfirmDialog(mActivity).setWithDrawCashNum(mWithdrawCashNum).show()
dismiss() dismiss()
} }
} }

View File

@ -1,14 +1,14 @@
package com.gamedog.vididin.features.withdraw package com.gamedog.vididin.features.withdraw
import android.content.Context import android.app.Activity
import com.ama.core.architecture.util.setOnClickBatch import com.ama.core.architecture.util.setOnClickBatch
import com.ama.core.architecture.widget.BindingDialog import com.ama.core.architecture.widget.BindingDialog
import com.gamedog.vididin.databinding.DialogWithdrawFailBinding as ViewBinding import com.gamedog.vididin.databinding.DialogWithdrawFailBinding as ViewBinding
import com.gamedog.vididin.router.Router import com.gamedog.vididin.router.Router
class WithdrawFailDialog(context: Context) : BindingDialog<ViewBinding>(context, ViewBinding::inflate) { class WithdrawFailDialog(context: Activity) : BindingDialog<ViewBinding>(context, ViewBinding::inflate) {
init { init {
build() build()
@ -42,7 +42,7 @@ class WithdrawFailDialog(context: Context) : BindingDialog<ViewBinding>(context,
private fun gotoFeedback() { private fun gotoFeedback() {
ownerActivity?.let { Router.Feedback.startActivity(it) } Router.Feedback.startActivity(mActivity)
} }

View File

@ -1,6 +1,7 @@
package com.gamedog.vididin.features.withdraw package com.gamedog.vididin.features.withdraw
import android.app.Activity
import android.content.Context import android.content.Context
import com.ama.core.architecture.util.ResUtil import com.ama.core.architecture.util.ResUtil
import com.ama.core.architecture.util.setOnClickBatch import com.ama.core.architecture.util.setOnClickBatch
@ -11,7 +12,7 @@ import com.gamedog.vididin.databinding.DialogWithdrawInfoConfirmBinding as ViewB
import com.gamedog.vididin.router.Router import com.gamedog.vididin.router.Router
class WithdrawInfoConfirmDialog(context: Context) : BindingDialog<ViewBinding>(context, ViewBinding::inflate) { class WithdrawInfoConfirmDialog(context: Activity) : BindingDialog<ViewBinding>(context, ViewBinding::inflate) {
private var mWithdrawCashNum: Float = 0F private var mWithdrawCashNum: Float = 0F
@ -38,7 +39,7 @@ class WithdrawInfoConfirmDialog(context: Context) : BindingDialog<ViewBinding>(c
} }
tvActionApply -> { tvActionApply -> {
WithdrawWatchAdDialog(context).show() WithdrawWatchAdDialog(mActivity).show()
dismiss() dismiss()
} }
} }

View File

@ -1,13 +1,14 @@
package com.gamedog.vididin.features.withdraw package com.gamedog.vididin.features.withdraw
import android.app.Activity
import android.content.Context import android.content.Context
import com.ama.core.architecture.util.setOnClickBatch import com.ama.core.architecture.util.setOnClickBatch
import com.ama.core.architecture.widget.BindingDialog import com.ama.core.architecture.widget.BindingDialog
import com.gamedog.vididin.databinding.DialogWithdrawSuccessBinding as ViewBinding import com.gamedog.vididin.databinding.DialogWithdrawSuccessBinding as ViewBinding
class WithdrawSuccessDialog(context: Context) : BindingDialog<ViewBinding>(context, ViewBinding::inflate) { class WithdrawSuccessDialog(context: Activity) : BindingDialog<ViewBinding>(context, ViewBinding::inflate) {
init { init {
build() build()

View File

@ -1,6 +1,7 @@
package com.gamedog.vididin.features.withdraw package com.gamedog.vididin.features.withdraw
import android.app.Activity
import android.content.Context import android.content.Context
import com.ama.core.architecture.util.setOnClickBatch import com.ama.core.architecture.util.setOnClickBatch
import com.ama.core.architecture.widget.BindingDialog import com.ama.core.architecture.widget.BindingDialog
@ -10,7 +11,7 @@ import com.gamedog.vididin.router.Router
import kotlin.random.Random import kotlin.random.Random
class WithdrawWatchAdDialog(context: Context) : BindingDialog<ViewBinding>(context, ViewBinding::inflate) { class WithdrawWatchAdDialog(context: Activity) : BindingDialog<ViewBinding>(context, ViewBinding::inflate) {
private var mWithdrawCashNum: Float = 0F private var mWithdrawCashNum: Float = 0F
@ -48,8 +49,8 @@ class WithdrawWatchAdDialog(context: Context) : BindingDialog<ViewBinding>(conte
// TODO - // TODO -
//ownerActivity?.let { Router.Withdraw.startActivity(it) } //ownerActivity?.let { Router.Withdraw.startActivity(it) }
WithdrawFailDialog(context).show() WithdrawFailDialog(mActivity).show()
WithdrawSuccessDialog(context).show() WithdrawSuccessDialog(mActivity).show()
} }

View File

@ -1,6 +1,7 @@
package com.gamedog.vididin.features.zero package com.gamedog.vididin.features.zero
import android.app.Activity
import android.content.Context import android.content.Context
import com.ama.core.architecture.util.setOnClickBatch import com.ama.core.architecture.util.setOnClickBatch
import com.ama.core.architecture.widget.BindingDialog import com.ama.core.architecture.widget.BindingDialog
@ -8,7 +9,7 @@ import com.gamedog.vididin.databinding.DialogZeroBuyFailBinding as ViewBinding
import com.gamedog.vididin.router.Router import com.gamedog.vididin.router.Router
class ZeroBuyFailDialog(context: Context) : BindingDialog<ViewBinding>(context, ViewBinding::inflate) { class ZeroBuyFailDialog(context: Activity) : BindingDialog<ViewBinding>(context, ViewBinding::inflate) {
init { init {
build() build()

View File

@ -1,6 +1,7 @@
package com.gamedog.vididin.features.zero package com.gamedog.vididin.features.zero
import android.app.Activity
import android.content.Context import android.content.Context
import com.ama.core.architecture.util.setOnClickBatch import com.ama.core.architecture.util.setOnClickBatch
import com.ama.core.architecture.widget.BindingDialog import com.ama.core.architecture.widget.BindingDialog
@ -8,7 +9,7 @@ import com.gamedog.vididin.databinding.DialogZeroBuyNotWinBinding as ViewBinding
import com.gamedog.vididin.router.Router import com.gamedog.vididin.router.Router
class ZeroBuyNotWinDialog(context: Context) : BindingDialog<ViewBinding>(context, ViewBinding::inflate) { class ZeroBuyNotWinDialog(context: Activity) : BindingDialog<ViewBinding>(context, ViewBinding::inflate) {
init { init {
build() build()

View File

@ -1,6 +1,7 @@
package com.gamedog.vididin.features.zero package com.gamedog.vididin.features.zero
import android.app.Activity
import android.content.Context import android.content.Context
import com.ama.core.architecture.util.setOnClickBatch import com.ama.core.architecture.util.setOnClickBatch
import com.ama.core.architecture.widget.BindingDialog import com.ama.core.architecture.widget.BindingDialog
@ -8,7 +9,7 @@ import com.gamedog.vididin.databinding.DialogZeroBuyRuleBinding as ViewBinding
import com.gamedog.vididin.router.Router import com.gamedog.vididin.router.Router
class ZeroBuyRulesDialog(context: Context) : BindingDialog<ViewBinding>(context, ViewBinding::inflate) { class ZeroBuyRulesDialog(context: Activity) : BindingDialog<ViewBinding>(context, ViewBinding::inflate) {
init { init {
build() build()

View File

@ -1,6 +1,7 @@
package com.gamedog.vididin.features.zero package com.gamedog.vididin.features.zero
import android.app.Activity
import android.content.Context import android.content.Context
import com.ama.core.architecture.util.setOnClickBatch import com.ama.core.architecture.util.setOnClickBatch
import com.ama.core.architecture.widget.BindingDialog import com.ama.core.architecture.widget.BindingDialog
@ -8,7 +9,7 @@ import com.gamedog.vididin.databinding.DialogZeroBuyWinBinding as ViewBinding
import com.gamedog.vididin.router.Router import com.gamedog.vididin.router.Router
class ZeroBuyWinDialog(context: Context) : BindingDialog<ViewBinding>(context, ViewBinding::inflate) { class ZeroBuyWinDialog(context: Activity) : BindingDialog<ViewBinding>(context, ViewBinding::inflate) {
init { init {
build() build()

View File

@ -8,7 +8,7 @@ import com.gamedog.vididin.databinding.DialogBeginnerGiftBinding
import com.gamedog.vididin.router.Router import com.gamedog.vididin.router.Router
class BeginnerGiftDialog(context: Context) : BindingDialog<DialogBeginnerGiftBinding>(context, DialogBeginnerGiftBinding::inflate) { class BeginnerGiftDialog(activity: Activity) : BindingDialog<DialogBeginnerGiftBinding>(activity, DialogBeginnerGiftBinding::inflate) {
init { init {
build() build()

View File

@ -1,5 +1,6 @@
package com.gamedog.vididin.main package com.gamedog.vididin.main
import android.app.Activity
import android.content.Context import android.content.Context
import com.ama.core.architecture.util.setOnClickBatch import com.ama.core.architecture.util.setOnClickBatch
import com.ama.core.architecture.widget.BindingDialog import com.ama.core.architecture.widget.BindingDialog
@ -7,7 +8,7 @@ import com.gamedog.vididin.databinding.DialogWatchVideoBinding
import com.gamedog.vididin.main.fragments.task.RewardDetail import com.gamedog.vididin.main.fragments.task.RewardDetail
class WatchVideoDialog(context: Context) : BindingDialog<DialogWatchVideoBinding>(context, DialogWatchVideoBinding::inflate) { class WatchVideoDialog(context: Activity) : BindingDialog<DialogWatchVideoBinding>(context, DialogWatchVideoBinding::inflate) {
private lateinit var mDataList: List<RewardDetail> private lateinit var mDataList: List<RewardDetail>
init { init {

View File

@ -59,7 +59,7 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
setOnClickBatch(ivGotoDailySign, llTaskBenefit, llTaskWatchVideo, llTaskGame, llTaskZerobuy, tvWatchVideo, tvWithdraw) { setOnClickBatch(ivGotoDailySign, llTaskBenefit, llTaskWatchVideo, llTaskGame, llTaskZerobuy, tvWatchVideo, tvWithdraw) {
when(this) { when(this) {
ivGotoDailySign->{ ivGotoDailySign->{
DailySignDialog(context).show() DailySignDialog(requireActivity()).show()
} }
llTaskBenefit->{ llTaskBenefit->{
@ -67,7 +67,7 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
} }
llTaskWatchVideo->{ llTaskWatchVideo->{
WatchVideoDialog(requireContext()).show() WatchVideoDialog(requireActivity()).show()
} }
llTaskGame->{ llTaskGame->{
@ -79,7 +79,7 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
} }
tvWatchVideo->{ tvWatchVideo->{
WatchVideoDialog(requireContext()).show() WatchVideoDialog(requireActivity()).show()
} }
tvWithdraw->{ tvWithdraw->{

View File

@ -60,7 +60,7 @@ class HomeItemFragment : AppViewsEmptyViewModelFragment<ViewBinding>() {
Router.Benefit.startActivity(requireActivity()) Router.Benefit.startActivity(requireActivity())
}, },
PopMenuIconView.MenuItem(R.mipmap.home_menu_2) { PopMenuIconView.MenuItem(R.mipmap.home_menu_2) {
WatchVideoDialog(requireContext()).show() WatchVideoDialog(requireActivity()).show()
}, },
PopMenuIconView.MenuItem(R.mipmap.home_menu_3) { PopMenuIconView.MenuItem(R.mipmap.home_menu_3) {

View File

@ -1,5 +1,6 @@
package com.gamedog.vididin.main.fragments.task package com.gamedog.vididin.main.fragments.task
import android.app.Activity
import android.content.Context import android.content.Context
import androidx.core.view.isVisible import androidx.core.view.isVisible
import com.ama.core.architecture.util.setOnClickBatch import com.ama.core.architecture.util.setOnClickBatch
@ -9,7 +10,7 @@ import com.gamedog.vididin.manager.TaskManager
import com.gamedog.vididin.widget.DailySignItemView import com.gamedog.vididin.widget.DailySignItemView
class DailySignDialog(context: Context) : BindingDialog<DialogDailySignBinding>(context, DialogDailySignBinding::inflate) { class DailySignDialog(context: Activity) : BindingDialog<DialogDailySignBinding>(context, DialogDailySignBinding::inflate) {
private var mCurDayIndex: Int = 0 private var mCurDayIndex: Int = 0
private var mConfigList: List<RewardDetail>? = emptyList() private var mConfigList: List<RewardDetail>? = emptyList()
private var mSignItemViewList: MutableList<DailySignItemView> = mutableListOf() private var mSignItemViewList: MutableList<DailySignItemView> = mutableListOf()
@ -57,7 +58,7 @@ class DailySignDialog(context: Context) : BindingDialog<DialogDailySignBinding>(
private fun clickedNormalSign() { private fun clickedNormalSign() {
if (TaskManager.instance().executeDailySign(mCurDayIndex, false, false)) { if (TaskManager.instance().executeDailySign(mCurDayIndex, false, false)) {
DailySignSuccessDialog(context).initData(mConfigList?.get(mCurDayIndex)?.value, true).show() DailySignSuccessDialog(mActivity).initData(mConfigList?.get(mCurDayIndex)?.value, true).show()
updateUI(mCurDayIndex) updateUI(mCurDayIndex)
} }
} }
@ -65,7 +66,7 @@ class DailySignDialog(context: Context) : BindingDialog<DialogDailySignBinding>(
private fun clickedAdSingleBut() { private fun clickedAdSingleBut() {
startAdTask("signalAd", { startAdTask("signalAd", {
if (TaskManager.instance().executeDailySign(mCurDayIndex, false, true)) { if (TaskManager.instance().executeDailySign(mCurDayIndex, false, true)) {
DailySignSuccessDialog(context).initData(mConfigList?.get(mCurDayIndex)?.value, false).show() DailySignSuccessDialog(mActivity).initData(mConfigList?.get(mCurDayIndex)?.value, false).show()
updateUI(mCurDayIndex) updateUI(mCurDayIndex)
} }
}) })
@ -74,7 +75,7 @@ class DailySignDialog(context: Context) : BindingDialog<DialogDailySignBinding>(
private fun clickedAdDoubleBut() { private fun clickedAdDoubleBut() {
startAdTask("doubleAd", { startAdTask("doubleAd", {
if (TaskManager.instance().executeDailySign(mCurDayIndex, true, true)) { if (TaskManager.instance().executeDailySign(mCurDayIndex, true, true)) {
DailySignSuccessDialog(context).initData((mConfigList?.get(mCurDayIndex)?.value)?.times( DailySignSuccessDialog(mActivity).initData((mConfigList?.get(mCurDayIndex)?.value)?.times(
2 2
), false).show() ), false).show()
updateUI(mCurDayIndex) updateUI(mCurDayIndex)
@ -87,7 +88,7 @@ class DailySignDialog(context: Context) : BindingDialog<DialogDailySignBinding>(
if (firstForgotSignDayIndex > 0) { if (firstForgotSignDayIndex > 0) {
startAdTask("complementAd", { startAdTask("complementAd", {
if (TaskManager.instance().executeDailySign(firstForgotSignDayIndex, false, false)){ if (TaskManager.instance().executeDailySign(firstForgotSignDayIndex, false, false)){
DailySignSuccessDialog(context).initData(mConfigList?.get(firstForgotSignDayIndex)?.value, false).show() DailySignSuccessDialog(mActivity).initData(mConfigList?.get(firstForgotSignDayIndex)?.value, false).show()
updateUI(firstForgotSignDayIndex) updateUI(firstForgotSignDayIndex)
} }
}) })

View File

@ -1,5 +1,6 @@
package com.gamedog.vididin.main.fragments.task package com.gamedog.vididin.main.fragments.task
import android.app.Activity
import android.content.Context import android.content.Context
import androidx.core.view.isVisible import androidx.core.view.isVisible
import com.ama.core.architecture.util.setOnClickBatch import com.ama.core.architecture.util.setOnClickBatch
@ -7,7 +8,7 @@ import com.ama.core.architecture.widget.BindingDialog
import com.gamedog.vididin.databinding.DialogDailySignSuccessBinding as ViewBinding import com.gamedog.vididin.databinding.DialogDailySignSuccessBinding as ViewBinding
class DailySignSuccessDialog(context: Context) : BindingDialog<ViewBinding>(context, ViewBinding::inflate) { class DailySignSuccessDialog(context: Activity) : BindingDialog<ViewBinding>(context, ViewBinding::inflate) {
init { init {
build() build()

View File

@ -0,0 +1,19 @@
package com.ama.core.architecture.util
import android.app.Activity
import android.content.Intent
import com.ama.core.architecture.BaseApp
class AndroidUtil private constructor() {
companion object {
}
}

View File

@ -1,7 +1,7 @@
package com.ama.core.architecture.widget package com.ama.core.architecture.widget
import android.app.Activity
import android.app.Dialog import android.app.Dialog
import android.content.Context
import android.content.DialogInterface import android.content.DialogInterface
import android.graphics.Bitmap import android.graphics.Bitmap
import android.graphics.Color import android.graphics.Color
@ -31,9 +31,9 @@ import com.ama.core.architecture.util.ScreenUtils
import com.ama.core.common.util.dp import com.ama.core.common.util.dp
open class BindingDialog<VB : ViewBinding>(private val context: Context, open class BindingDialog<VB : ViewBinding>(protected val mActivity: Activity,
private val inflate: (LayoutInflater) -> VB, private val inflate: (LayoutInflater) -> VB,
themeResId: Int = R.style.LDialog) : Dialog(context, themeResId), LifecycleEventObserver { themeResId: Int = R.style.LDialog) : Dialog(mActivity, themeResId), LifecycleEventObserver {
private val views = SparseArray<View>() private val views = SparseArray<View>()
private var width = 0 private var width = 0
private var height = 0 private var height = 0
@ -89,8 +89,8 @@ open class BindingDialog<VB : ViewBinding>(private val context: Context,
} }
fun init() { fun init() {
if (context is ComponentActivity) { if (mActivity is ComponentActivity) {
context.lifecycle.addObserver(this) mActivity.lifecycle.addObserver(this)
} }
setCanceledOnTouchOutside(true) setCanceledOnTouchOutside(true)
window?.setBackgroundDrawableResource(R.color.transparent) window?.setBackgroundDrawableResource(R.color.transparent)
@ -193,7 +193,7 @@ open class BindingDialog<VB : ViewBinding>(private val context: Context,
} }
fun setBgColorRes(colorRes: Int): BindingDialog<VB> { fun setBgColorRes(colorRes: Int): BindingDialog<VB> {
bgColor = ContextCompat.getColor(context, colorRes) bgColor = ContextCompat.getColor(mActivity, colorRes)
return setBg() return setBg()
} }