diff --git a/app/src/main/java/com/gamedog/vididin/features/benefit/BenefitActivity.kt b/app/src/main/java/com/gamedog/vididin/features/benefit/BenefitActivity.kt index b9031ef..0930527 100644 --- a/app/src/main/java/com/gamedog/vididin/features/benefit/BenefitActivity.kt +++ b/app/src/main/java/com/gamedog/vididin/features/benefit/BenefitActivity.kt @@ -8,10 +8,14 @@ import android.view.ViewGroup import android.widget.LinearLayout import androidx.activity.viewModels import com.ama.core.architecture.appBase.AppViewsActivity +import com.ama.core.architecture.ext.toast +import com.ama.core.architecture.util.AndroidUtil import com.ama.core.architecture.util.ResUtil import com.ama.core.architecture.util.eventbus.NotifyMan +import com.ama.core.architecture.util.setOnClickBatch import com.gamedog.vididin.R import com.gamedog.vididin.VididinEvents +import com.gamedog.vididin.core.login.login.AccountManager import com.gamedog.vididin.features.benefit.widget.BenefitTaskItemView import com.gamedog.vididin.main.fragments.task.DailySignDialog import com.gamedog.vididin.main.interfaces.OnTabStyleListener @@ -193,12 +197,18 @@ class BenefitActivity : AppViewsActivity(), OnT val couldClaimCashNum = taskStateHelper.getCouldClaimCashNum() with (tvResgatar) { if (couldClaimCashNum > 0) { - (R.mipmap.icon_but_bg_green) + setBackgroundResource(R.mipmap.icon_but_bg_green) isClickable = true } else { setBackgroundResource(R.mipmap.but_bg_grady) isClickable = false } + + setOnClickListener { + if (taskStateHelper.executeClaimCash()) { + AndroidUtil.showToast(String.format(ResUtil.getString(R.string.has_claim_box_cash_hint), couldClaimCashNum)) + } + } } diff --git a/app/src/main/java/com/gamedog/vididin/login/AccountManager.kt b/app/src/main/java/com/gamedog/vididin/login/AccountManager.kt index 9d00e2e..c6a7981 100644 --- a/app/src/main/java/com/gamedog/vididin/login/AccountManager.kt +++ b/app/src/main/java/com/gamedog/vididin/login/AccountManager.kt @@ -46,12 +46,14 @@ object AccountManager { return mAccount?.cashCount ?: 0F } + @Synchronized fun addGold(newGold: Int) { mAccount?.goldCount += newGold saveAccountInfo() NotifyMan.instance().sendEvent(VididinEvents.Event_Account_Gold_Changed, null) } + @Synchronized fun addCash(newCash: Float) { mAccount?.cashCount += newCash saveAccountInfo() diff --git a/app/src/main/java/com/gamedog/vididin/manager/helpers/BoxTaskHelper.kt b/app/src/main/java/com/gamedog/vididin/manager/helpers/BoxTaskHelper.kt index d42806c..282f239 100644 --- a/app/src/main/java/com/gamedog/vididin/manager/helpers/BoxTaskHelper.kt +++ b/app/src/main/java/com/gamedog/vididin/manager/helpers/BoxTaskHelper.kt @@ -5,6 +5,7 @@ import com.ama.core.architecture.util.SpUtil import com.ama.core.architecture.util.eventbus.NotifyMan import com.gamedog.vididin.R import com.gamedog.vididin.VididinEvents +import com.gamedog.vididin.core.login.login.AccountManager import com.gamedog.vididin.main.fragments.task.BoxTaskRoot import com.gamedog.vididin.manager.TaskManager.Companion.BOX_SUB_TASK_TYPE_ZERO_BUY import com.gamedog.vididin.manager.TaskManager.Companion.BOX_SUB_TASK_TYPE_SIGN @@ -263,4 +264,24 @@ class BoxTaskHelper: BaseTaskHelper() { return 0 } + fun executeClaimCash(): Boolean { + try { + val couldClaimCashNum = getCouldClaimCashNum() + if (couldClaimCashNum > 0F) { + AccountManager.addCash(couldClaimCashNum) + mStateBean.tasks.forEachIndexed { index, box -> + if (getBoxStateEnum(index) == STATE_FINISH) { + box.hasClaimedReward = true + } + } + saveState2Sp() + notifyEvent() + return true + } + } catch (e: Exception) { + e.printStackTrace() + } + return false + } + } \ No newline at end of file diff --git a/app/src/main/java/com/gamedog/vididin/manager/taskbeans/TaskStateBoxRoot.kt b/app/src/main/java/com/gamedog/vididin/manager/taskbeans/TaskStateBoxRoot.kt index 58e80ff..bc8f5d4 100644 --- a/app/src/main/java/com/gamedog/vididin/manager/taskbeans/TaskStateBoxRoot.kt +++ b/app/src/main/java/com/gamedog/vididin/manager/taskbeans/TaskStateBoxRoot.kt @@ -21,7 +21,7 @@ data class TaskStateBox( val tasks: List, // new added - val hasClaimedReward: Boolean = false, + var hasClaimedReward: Boolean = false, ): Serializable data class TaskStateBoxSub( diff --git a/app/src/main/res/layout/activity_privacy.xml b/app/src/main/res/layout/activity_privacy.xml index f408a91..d937214 100644 --- a/app/src/main/res/layout/activity_privacy.xml +++ b/app/src/main/res/layout/activity_privacy.xml @@ -11,200 +11,17 @@ android:layout_height="wrap_content" /> - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b018525..0b493cd 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -104,5 +104,6 @@ Assistir a 30 anĂșncios Assistir a 50 vĂ­deos Participar de 10 compras gratuitas + Has claimed %f cash successfully. \ No newline at end of file