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 fead73a..c92de6b 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 @@ -9,7 +9,9 @@ import androidx.lifecycle.lifecycleScope import androidx.lifecycle.repeatOnLifecycle import androidx.recyclerview.widget.GridLayoutManager import com.ama.core.architecture.appBase.AppViewsEmptyViewModelActivity +import com.ama.core.architecture.util.AndroidUtil import com.ama.core.architecture.util.CommonItemDecoration +import com.ama.core.architecture.util.SpUtil import com.ama.core.architecture.util.setOnClickBatch import com.vididin.real.money.game.R import com.gamedog.vididin.beans.ZeroBuyItem @@ -20,6 +22,7 @@ import com.gamedog.vididin.router.Router import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.launch import com.gamedog.vididin.netbase.Result +import kotlin.collections.contains import com.vididin.real.money.game.databinding.ActivityZerobuyBinding as ViewBinding @@ -109,19 +112,24 @@ class ZeroBuyActivity : AppViewsEmptyViewModelActivity() { private fun requestParticipateActivity(itemId: Int) { - lifecycleScope.launch { - repeatOnLifecycle(Lifecycle.State.STARTED) { - viewModel.ZeroBuyJoinResult.collect { result -> - when (result) { - is Result.Loading -> { } - is Result.Success -> updateItemUI(result.data) - is Result.Error -> { } + val joinedItemIds: List = SpUtil.instance().getList(SpUtil.KEY_ZEROBUY_JOINED_ACTIVITY_IDS) + if (!joinedItemIds.contains(AccountManager.getAccount()?.userId)) { + lifecycleScope.launch { + repeatOnLifecycle(Lifecycle.State.STARTED) { + viewModel.ZeroBuyJoinResult.collect { result -> + when (result) { + is Result.Loading -> { } + is Result.Success -> updateItemUI(result.data) + is Result.Error -> { } + } } } } - } - viewModel.requestJoinZeroBuy(itemId) + viewModel.requestJoinZeroBuy(itemId) + } else { + AndroidUtil.showToast(R.string.has_joined_zerobuy) + } } diff --git a/app/src/main/java/com/gamedog/vididin/features/zero/ZeroBuyViewModel.kt b/app/src/main/java/com/gamedog/vididin/features/zero/ZeroBuyViewModel.kt index 8191945..dd6fc83 100644 --- a/app/src/main/java/com/gamedog/vididin/features/zero/ZeroBuyViewModel.kt +++ b/app/src/main/java/com/gamedog/vididin/features/zero/ZeroBuyViewModel.kt @@ -57,7 +57,7 @@ class ZeroBuyViewModel : ViewModel() { respObj?.contentObj?.let { val itemId = respObj?.contentObj?.id - if (respObj.Code == 0 && itemId != null && itemId > 0 && !joinZeroBuyItemIds.contains(itemId)) { + if ((respObj.Code == 0 || respObj.Code == 10003) && itemId != null && itemId > 0 && !joinZeroBuyItemIds.contains(itemId)) { val mutableJoinedIdList = if(joinZeroBuyItemIds == null) mutableListOf() else joinZeroBuyItemIds.toMutableList() mutableJoinedIdList.add(itemId) SpUtil.instance().putList(SpUtil.KEY_ZEROBUY_JOINED_ACTIVITY_IDS, mutableJoinedIdList) diff --git a/app/src/main/java/com/gamedog/vididin/features/zero/ZeroItemAdapter.kt b/app/src/main/java/com/gamedog/vididin/features/zero/ZeroItemAdapter.kt index 02e0f23..a37e8c0 100644 --- a/app/src/main/java/com/gamedog/vididin/features/zero/ZeroItemAdapter.kt +++ b/app/src/main/java/com/gamedog/vididin/features/zero/ZeroItemAdapter.kt @@ -77,9 +77,7 @@ class ZeroItemAdapter(private val joinCallback: (itemId: Int)->Unit) : ListAdapt setOnClickBatch(flBottomBut) { when (this) { flBottomBut-> { - if (!item.completed && (item.current_users == null || !item.current_users!!.contains(AccountManager.getAccount()?.userId))) { - joinCallback(item.id) - } + joinCallback(item.id) } } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index cc06a31..358d3a6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -119,5 +119,6 @@ Total sacado até o momento: Já participou Reembolso em + You have participated this activity. \ No newline at end of file