diff --git a/app/src/main/java/com/gamedog/vididin/features/zero/ZeroBuyActivity.kt b/app/src/main/java/com/gamedog/vididin/features/zero/ZeroBuyActivity.kt index 69e27e9..314023f 100644 --- a/app/src/main/java/com/gamedog/vididin/features/zero/ZeroBuyActivity.kt +++ b/app/src/main/java/com/gamedog/vididin/features/zero/ZeroBuyActivity.kt @@ -18,7 +18,9 @@ import com.vididin.real.money.game.R import com.gamedog.vididin.beans.ZeroBuyItem import com.gamedog.vididin.beans.ZeroBuyResp import com.gamedog.vididin.core.login.login.AccountManager +import com.gamedog.vididin.features.zero.dialogs.ZeroBuyNotWinDialog import com.gamedog.vididin.features.zero.dialogs.ZeroBuyRulesDialog +import com.gamedog.vididin.features.zero.dialogs.ZeroBuyWinDialog import com.gamedog.vididin.router.Router import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.launch @@ -123,9 +125,14 @@ class ZeroBuyActivity : AppViewsEmptyViewModelActivity() { repeatOnLifecycle(Lifecycle.State.STARTED) { viewModel.ZeroBuyListData.collect { result -> when (result) { - is Result.Loading -> { } - is Result.Success -> updateUIs(result.data) - is Result.Error -> { } + is Result.Loading -> { showLoading(true) } + is Result.Success -> { + hideLoading() + updateUIs(result.data) + } + is Result.Error -> { + hideLoading() + } } } } @@ -158,9 +165,33 @@ class ZeroBuyActivity : AppViewsEmptyViewModelActivity() { private fun updateUIs(data: ZeroBuyResp) { + showCompletePurchasesInfo(data.mFinishedList) mAdapter.submitList(data.mCurrentList) } + private fun showCompletePurchasesInfo(finishedList: List?) { + finishedList?.let { + val userId = AccountManager.getAccount()?.userId + val joinedIdList = SpUtil.instance().getList(SpUtil.KEY_ZEROBUY_JOINED_ACTIVITY_IDS) + val hasNotifiedIdList: MutableList = SpUtil.instance().getList(SpUtil.KEY_ZEROBUY_HAS_NOTIFY_IDS) as MutableList + it.forEach { item-> + if (joinedIdList.contains(item.id) && !hasNotifiedIdList.contains(item.id)) { + hasNotifiedIdList.add(item.id) + + item.winners?.let { + if (it.contains(userId)) { + ZeroBuyWinDialog(this@ZeroBuyActivity, item).show() + } else { + ZeroBuyNotWinDialog(this@ZeroBuyActivity).show() + } + } + } + + SpUtil.instance().putList(SpUtil.KEY_ZEROBUY_HAS_NOTIFY_IDS, hasNotifiedIdList) + } + } + } + private fun updateItemUI(joinedItem: ZeroBuyItem?) { val currentList = mAdapter.currentList.toMutableList() val indexToUpdate = currentList.indexOfFirst { it.id == joinedItem?.id } diff --git a/app/src/main/java/com/gamedog/vididin/features/zero/dialogs/ZeroBuyNotWinDialog.kt b/app/src/main/java/com/gamedog/vididin/features/zero/dialogs/ZeroBuyNotWinDialog.kt index 08bb233..b0e4a00 100644 --- a/app/src/main/java/com/gamedog/vididin/features/zero/dialogs/ZeroBuyNotWinDialog.kt +++ b/app/src/main/java/com/gamedog/vididin/features/zero/dialogs/ZeroBuyNotWinDialog.kt @@ -4,11 +4,12 @@ package com.gamedog.vididin.features.zero.dialogs import android.app.Activity import com.ama.core.architecture.util.setOnClickBatch import com.ama.core.architecture.widget.BindingDialog +import com.gamedog.vididin.beans.ZeroBuyItem import com.vididin.real.money.game.databinding.DialogZeroBuyNotWinBinding as ViewBinding import com.gamedog.vididin.router.Router -class ZeroBuyNotWinDialog(context: Activity) : BindingDialog(context, ViewBinding::inflate) { +class ZeroBuyNotWinDialog(context: Activity, private val item: ZeroBuyItem) : BindingDialog(context, ViewBinding::inflate) { init { build() @@ -22,13 +23,15 @@ class ZeroBuyNotWinDialog(context: Activity) : BindingDialog(contex setCanCancel(false) mBinding.run { - setOnClickBatch(tvConfirm, ivClose) { + setOnClickBatch(ivClose) { when (this) { - tvConfirm, ivClose -> { + ivClose -> { dismiss() } } } + + tvTitle.text = item.title } } diff --git a/app/src/main/java/com/gamedog/vididin/features/zero/dialogs/ZeroBuyWinDialog.kt b/app/src/main/java/com/gamedog/vididin/features/zero/dialogs/ZeroBuyWinDialog.kt index 6c25d3d..0acd75f 100644 --- a/app/src/main/java/com/gamedog/vididin/features/zero/dialogs/ZeroBuyWinDialog.kt +++ b/app/src/main/java/com/gamedog/vididin/features/zero/dialogs/ZeroBuyWinDialog.kt @@ -4,11 +4,12 @@ package com.gamedog.vididin.features.zero.dialogs import android.app.Activity import com.ama.core.architecture.util.setOnClickBatch import com.ama.core.architecture.widget.BindingDialog +import com.gamedog.vididin.beans.ZeroBuyItem import com.vididin.real.money.game.databinding.DialogZeroBuyWinBinding as ViewBinding import com.gamedog.vididin.router.Router -class ZeroBuyWinDialog(context: Activity) : BindingDialog(context, ViewBinding::inflate) { +class ZeroBuyWinDialog(context: Activity, private val item: ZeroBuyItem) : BindingDialog(context, ViewBinding::inflate) { init { build() @@ -22,19 +23,20 @@ class ZeroBuyWinDialog(context: Activity) : BindingDialog(context, setCanCancel(false) mBinding.run { - setOnClickBatch(tvConfirm, ivClose) { + setOnClickBatch(ivClose) { when (this) { - tvConfirm, ivClose -> { + ivClose -> { dismiss() } } } + + tvTitle.text = item.title + tvPurchaseId.text = item.redeem_code } } - private fun gotoWatchVideo() { - Router.Withdraw.startActivity(mActivity) - } + diff --git a/app/src/main/res/drawable/bg_round_blue_gradient_30.xml b/app/src/main/res/drawable/bg_round_blue_gradient_30.xml new file mode 100644 index 0000000..3b314f2 --- /dev/null +++ b/app/src/main/res/drawable/bg_round_blue_gradient_30.xml @@ -0,0 +1,8 @@ + + + + + + + diff --git a/app/src/main/res/drawable/bg_round_green39_5.xml b/app/src/main/res/drawable/bg_round_green39_5.xml new file mode 100644 index 0000000..a01794b --- /dev/null +++ b/app/src/main/res/drawable/bg_round_green39_5.xml @@ -0,0 +1,6 @@ + + + + + diff --git a/app/src/main/res/layout/dialog_zero_buy_not_win.xml b/app/src/main/res/layout/dialog_zero_buy_not_win.xml index e61f5cf..a216327 100644 --- a/app/src/main/res/layout/dialog_zero_buy_not_win.xml +++ b/app/src/main/res/layout/dialog_zero_buy_not_win.xml @@ -2,7 +2,8 @@ + android:layout_height="wrap_content" + android:paddingBottom="20dp"> + + + + + + + - - - - - + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_zero_buy_win.xml b/app/src/main/res/layout/dialog_zero_buy_win.xml index e61f5cf..d8359d3 100644 --- a/app/src/main/res/layout/dialog_zero_buy_win.xml +++ b/app/src/main/res/layout/dialog_zero_buy_win.xml @@ -2,7 +2,8 @@ + android:layout_height="wrap_content" + android:paddingBottom="20dp"> + + + + + + + + + + + + + + + - - - - + android:paddingVertical="8dp" + android:background="@drawable/bg_round_blue_gradient_30"> + + + + diff --git a/app/src/main/res/mipmap-xxhdpi/icon_discord_2.webp b/app/src/main/res/mipmap-xxhdpi/icon_discord_2.webp new file mode 100644 index 0000000..4defb8c Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/icon_discord_2.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/zero_win_dialog_bg.webp b/app/src/main/res/mipmap-xxhdpi/zero_win_dialog_bg.webp new file mode 100644 index 0000000..3d38850 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/zero_win_dialog_bg.webp differ diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e68088e..99413a4 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -123,5 +123,11 @@ There\'s no any record Get You don\'t have enough cash. + Código promocional + Parabéns\nvocê ganhou! + · Salve um print desta tela para comprovação.\n· Entre na nossa comunidade pelo link abaixo e procure o administrador para resgatar seu prêmio. + Junte-se a nós! + Que pena\nvocê não foi o ganhador + " Clique no link abaixo para entrar na nossa comunidade e conferir os ganhadores desta rodada!" \ No newline at end of file diff --git a/core/architecture/src/main/java/com/ama/core/architecture/util/SpUtil.kt b/core/architecture/src/main/java/com/ama/core/architecture/util/SpUtil.kt index d31bed9..d8e9b33 100644 --- a/core/architecture/src/main/java/com/ama/core/architecture/util/SpUtil.kt +++ b/core/architecture/src/main/java/com/ama/core/architecture/util/SpUtil.kt @@ -32,6 +32,7 @@ class SpUtil private constructor(spFileName: String) { const val KEY_ZEROBUY_JOINED_ACTIVITY_IDS = "KEY_ZEROBUY_JOINED_ACTIVITY_IDS" + const val KEY_ZEROBUY_HAS_NOTIFY_IDS = "KEY_ZEROBUY_HAS_NOTIFY_IDS"