guide in 提现 和 0元购
This commit is contained in:
parent
c1070ab095
commit
90dbd265f0
|
|
@ -4,10 +4,18 @@ import android.app.Activity
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import androidx.activity.viewModels
|
import androidx.activity.viewModels
|
||||||
|
import androidx.core.graphics.toColorInt
|
||||||
import androidx.lifecycle.Lifecycle
|
import androidx.lifecycle.Lifecycle
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import androidx.lifecycle.repeatOnLifecycle
|
import androidx.lifecycle.repeatOnLifecycle
|
||||||
import com.ama.core.architecture.appBase.AppViewsEmptyViewModelActivity
|
import com.ama.core.architecture.appBase.AppViewsEmptyViewModelActivity
|
||||||
|
import com.ama.core.architecture.highlightpro.HighlightPro
|
||||||
|
import com.ama.core.architecture.highlightpro.parameter.Constraints
|
||||||
|
import com.ama.core.architecture.highlightpro.parameter.HighlightParameter
|
||||||
|
import com.ama.core.architecture.highlightpro.parameter.MarginOffset
|
||||||
|
import com.ama.core.architecture.highlightpro.shape.RectShape
|
||||||
|
import com.ama.core.architecture.util.ResUtil.dp
|
||||||
|
import com.ama.core.architecture.util.SpUtil
|
||||||
import com.ama.core.architecture.util.setOnClickBatch
|
import com.ama.core.architecture.util.setOnClickBatch
|
||||||
import com.gamedog.vididin.VidiConst
|
import com.gamedog.vididin.VidiConst
|
||||||
import com.vididin.real.money.game.R
|
import com.vididin.real.money.game.R
|
||||||
|
|
@ -21,7 +29,6 @@ import com.gamedog.vididin.features.withdraw.dialogs.WithdrawInfoConfirmDialog
|
||||||
import com.gamedog.vididin.features.withdraw.dialogs.WithdrawSuccessDialog
|
import com.gamedog.vididin.features.withdraw.dialogs.WithdrawSuccessDialog
|
||||||
import com.gamedog.vididin.features.withdraw.widget.WithDrawItemView
|
import com.gamedog.vididin.features.withdraw.widget.WithDrawItemView
|
||||||
import com.gamedog.vididin.manager.WithdrawManager
|
import com.gamedog.vididin.manager.WithdrawManager
|
||||||
import com.gamedog.vididin.manager.WithdrawManager.Companion.FAIL_TYPE_APP_VERSION_LOW
|
|
||||||
import com.gamedog.vididin.manager.WithdrawManager.Companion.TRANSACTION_STATE_FAIL
|
import com.gamedog.vididin.manager.WithdrawManager.Companion.TRANSACTION_STATE_FAIL
|
||||||
import com.gamedog.vididin.manager.WithdrawManager.Companion.TRANSACTION_STATE_ONGOING
|
import com.gamedog.vididin.manager.WithdrawManager.Companion.TRANSACTION_STATE_ONGOING
|
||||||
import com.gamedog.vididin.manager.WithdrawManager.Companion.TRANSACTION_STATE_SUCCESS
|
import com.gamedog.vididin.manager.WithdrawManager.Companion.TRANSACTION_STATE_SUCCESS
|
||||||
|
|
@ -152,6 +159,12 @@ class WithDrawActivity : AppViewsEmptyViewModelActivity<ViewBinding>() {
|
||||||
VididinEvents.EVENT_WITHDRAW_CHECK_RESULT_UPDATED,)
|
VididinEvents.EVENT_WITHDRAW_CHECK_RESULT_UPDATED,)
|
||||||
|
|
||||||
readTransactionsAndShowResult()
|
readTransactionsAndShowResult()
|
||||||
|
|
||||||
|
if (needShowGuide()) {
|
||||||
|
binding.tvCashTotal.postDelayed({
|
||||||
|
showGuide()
|
||||||
|
}, 5)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -307,6 +320,40 @@ class WithDrawActivity : AppViewsEmptyViewModelActivity<ViewBinding>() {
|
||||||
WithdrawManager.instance().saveNewRecord(newRecord)
|
WithdrawManager.instance().saveNewRecord(newRecord)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun needShowGuide(): Boolean {
|
||||||
|
return SpUtil.instance().getInt(SpUtil.KEY_GUIDE_HAS_SHOW) < 5
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun saveGuideState() {
|
||||||
|
return SpUtil.instance().putInt(SpUtil.KEY_GUIDE_HAS_SHOW, 4)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private fun showGuide() {
|
||||||
|
HighlightPro.with(this@WithDrawActivity)
|
||||||
|
.setHighlightParameter {
|
||||||
|
HighlightParameter.Builder()
|
||||||
|
.setHighlightView(mItemViewList.get(0), {
|
||||||
|
})
|
||||||
|
.setTipsViewId(R.layout.guide_step_withdraw)
|
||||||
|
.setHighlightShape(RectShape(10.dp, 10.dp, 10.dp))
|
||||||
|
.setHighlightHorizontalPadding(0.dp)
|
||||||
|
.setConstraints(Constraints.TopToBottomOfHighlight + Constraints.EndToEndOfHighlight)
|
||||||
|
.setMarginOffset(MarginOffset(top = -20.dp.toInt()))
|
||||||
|
.build()
|
||||||
|
}
|
||||||
|
.setBackgroundColor("#cc000000".toColorInt())
|
||||||
|
.setOnShowCallback { index ->
|
||||||
|
|
||||||
|
}
|
||||||
|
.setOnDismissCallback {
|
||||||
|
saveGuideState()
|
||||||
|
handleGotoWithdraw(0)
|
||||||
|
}
|
||||||
|
.interceptBackPressed(true)
|
||||||
|
.show()
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@ import androidx.activity.viewModels
|
||||||
import com.ama.core.architecture.appBase.AppViewsActivity
|
import com.ama.core.architecture.appBase.AppViewsActivity
|
||||||
import com.ama.core.architecture.appBase.OnFragmentBackgroundListener
|
import com.ama.core.architecture.appBase.OnFragmentBackgroundListener
|
||||||
import com.ama.core.architecture.ext.toast
|
import com.ama.core.architecture.ext.toast
|
||||||
|
import com.ama.core.architecture.util.SpUtil
|
||||||
import com.ama.core.architecture.util.bindViewPager2
|
import com.ama.core.architecture.util.bindViewPager2
|
||||||
import com.ama.core.architecture.util.setCommonNavigator
|
import com.ama.core.architecture.util.setCommonNavigator
|
||||||
import com.ama.core.architecture.util.setDataOrAdapter
|
import com.ama.core.architecture.util.setDataOrAdapter
|
||||||
|
|
@ -77,7 +78,9 @@ class MainActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnTabS
|
||||||
viewPager2.offscreenPageLimit
|
viewPager2.offscreenPageLimit
|
||||||
|
|
||||||
|
|
||||||
BeginnerGiftDialog(this@MainActivity).show()
|
if (SpUtil.instance().getInt(SpUtil.KEY_GUIDE_HAS_SHOW) < 5) {
|
||||||
|
BeginnerGiftDialog(this@MainActivity).show()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun ViewBinding.initListeners() {
|
override fun ViewBinding.initListeners() {
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@ import android.Manifest
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.ImageView
|
|
||||||
import android.widget.LinearLayout
|
import android.widget.LinearLayout
|
||||||
import androidx.core.graphics.toColorInt
|
import androidx.core.graphics.toColorInt
|
||||||
import androidx.core.view.ViewCompat
|
import androidx.core.view.ViewCompat
|
||||||
|
|
@ -40,7 +39,9 @@ import com.ama.core.architecture.highlightpro.HighlightPro
|
||||||
import com.ama.core.architecture.highlightpro.parameter.Constraints
|
import com.ama.core.architecture.highlightpro.parameter.Constraints
|
||||||
import com.ama.core.architecture.highlightpro.parameter.HighlightParameter
|
import com.ama.core.architecture.highlightpro.parameter.HighlightParameter
|
||||||
import com.ama.core.architecture.highlightpro.parameter.MarginOffset
|
import com.ama.core.architecture.highlightpro.parameter.MarginOffset
|
||||||
|
import com.ama.core.architecture.highlightpro.shape.OvalShape
|
||||||
import com.ama.core.architecture.highlightpro.shape.RectShape
|
import com.ama.core.architecture.highlightpro.shape.RectShape
|
||||||
|
import com.ama.core.architecture.util.SpUtil
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import kotlinx.coroutines.Runnable
|
import kotlinx.coroutines.Runnable
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
@ -100,7 +101,7 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
|
||||||
}
|
}
|
||||||
|
|
||||||
llTaskZerobuy->{
|
llTaskZerobuy->{
|
||||||
Router.ZeroBuy.startActivity(requireActivity())
|
gotoZeroBuy()
|
||||||
}
|
}
|
||||||
|
|
||||||
tvWatchVideoForConvertGoldToCash->{
|
tvWatchVideoForConvertGoldToCash->{
|
||||||
|
|
@ -145,9 +146,15 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
|
||||||
mTaskConfig = TaskManager.instance().getTaskConfig()
|
mTaskConfig = TaskManager.instance().getTaskConfig()
|
||||||
}
|
}
|
||||||
|
|
||||||
binding?.llTaskGame?.postDelayed({
|
if (needShowZerobuyGuide() < 5) {
|
||||||
showGuide()
|
binding?.llTaskGame?.postDelayed({
|
||||||
}, 50)
|
showGuide1()
|
||||||
|
}, 5)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun gotoZeroBuy() {
|
||||||
|
Router.ZeroBuy.startActivity(requireActivity())
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun addDailySubTasks() {
|
private fun addDailySubTasks() {
|
||||||
|
|
@ -280,7 +287,7 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
|
||||||
VididinEvents.Event_Account_Gold_Changed, VididinEvents.EVENT_DAILY_WATCHED_VIDEO_NUM_CHANGED,
|
VididinEvents.Event_Account_Gold_Changed, VididinEvents.EVENT_DAILY_WATCHED_VIDEO_NUM_CHANGED,
|
||||||
VididinEvents.EVENT_DAILY_WATCHED_AD_NUM_CHANGED, VididinEvents.EVENT_JUMP_2_FIRST_WITHDRAW,
|
VididinEvents.EVENT_DAILY_WATCHED_AD_NUM_CHANGED, VididinEvents.EVENT_JUMP_2_FIRST_WITHDRAW,
|
||||||
VididinEvents.EVENT_NEWBIE_DISCORD_TASK_CHANGED, VididinEvents.EVENT_NEWBIE_NOTIFY_TASK_CHANGED,
|
VididinEvents.EVENT_NEWBIE_DISCORD_TASK_CHANGED, VididinEvents.EVENT_NEWBIE_NOTIFY_TASK_CHANGED,
|
||||||
VididinEvents.EVENT_NEWBIE_FIRST_WITHDRAW_TASK_CHANGED,)
|
VididinEvents.EVENT_NEWBIE_FIRST_WITHDRAW_TASK_CHANGED)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun scroll2FirstWithdraw() {
|
private fun scroll2FirstWithdraw() {
|
||||||
|
|
@ -364,6 +371,18 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
super.onResume()
|
super.onResume()
|
||||||
setStatusBarDarkFont(isDarkFont = isBackgroundBright)
|
setStatusBarDarkFont(isDarkFont = isBackgroundBright)
|
||||||
|
|
||||||
|
if (needShowZerobuyGuide() == 4) {
|
||||||
|
showGuide2()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun needShowZerobuyGuide(): Int {
|
||||||
|
return SpUtil.instance().getInt(SpUtil.KEY_GUIDE_HAS_SHOW)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun saveGuideDoneFlag() {
|
||||||
|
SpUtil.instance().putInt(SpUtil.KEY_GUIDE_HAS_SHOW, 5)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onTabClickAgain() {
|
override fun onTabClickAgain() {
|
||||||
|
|
@ -434,7 +453,7 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private fun showGuide() {
|
private fun showGuide1() {
|
||||||
HighlightPro.with(this@TasksFragment)
|
HighlightPro.with(this@TasksFragment)
|
||||||
.setHighlightParameter {
|
.setHighlightParameter {
|
||||||
HighlightParameter.Builder()
|
HighlightParameter.Builder()
|
||||||
|
|
@ -473,4 +492,31 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun showGuide2() {
|
||||||
|
HighlightPro.with(this@TasksFragment)
|
||||||
|
.setHighlightParameter {
|
||||||
|
HighlightParameter.Builder()
|
||||||
|
.setHighlightView(binding!!.llTaskZerobuy, {
|
||||||
|
val temp = 111
|
||||||
|
})
|
||||||
|
.setTipsViewId(R.layout.guide_step_zerobuy)
|
||||||
|
.setHighlightShape(OvalShape(37.dp))
|
||||||
|
.setHighlightHorizontalPadding(0.dp)
|
||||||
|
.setConstraints(Constraints.TopToBottomOfHighlight + Constraints.EndToEndOfHighlight)
|
||||||
|
.setMarginOffset(MarginOffset(top = -20.dp.toInt(), end = -10.dp.toInt()))
|
||||||
|
.build()
|
||||||
|
}
|
||||||
|
.setBackgroundColor("#cc000000".toColorInt())
|
||||||
|
.setOnShowCallback { index ->
|
||||||
|
|
||||||
|
}
|
||||||
|
.setOnDismissCallback {
|
||||||
|
saveGuideDoneFlag()
|
||||||
|
gotoZeroBuy()
|
||||||
|
}
|
||||||
|
.interceptBackPressed(true)
|
||||||
|
.show()
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
|
android:id="@+id/tv_tips"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_gravity="right"
|
||||||
|
android:layout_marginLeft="100dp"
|
||||||
|
android:layout_height="70dp"
|
||||||
|
android:src="@mipmap/guide_finger_b" />
|
||||||
|
|
||||||
|
</FrameLayout>
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
|
android:id="@+id/tv_tips"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_gravity="right"
|
||||||
|
android:layout_marginLeft="100dp"
|
||||||
|
android:layout_height="70dp"
|
||||||
|
android:src="@mipmap/guide_finger_b" />
|
||||||
|
|
||||||
|
<FrameLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginHorizontal="15dp"
|
||||||
|
android:layout_marginTop="70dp"
|
||||||
|
android:padding="15dp"
|
||||||
|
android:background="@mipmap/guide_bg_right">
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:gravity="center"
|
||||||
|
android:textSize="16sp"
|
||||||
|
android:textColor="@color/gray3"
|
||||||
|
android:textStyle="bold"
|
||||||
|
android:text="@string/guide_hint_zero"
|
||||||
|
/>
|
||||||
|
</FrameLayout>
|
||||||
|
|
||||||
|
</FrameLayout>
|
||||||
|
|
@ -151,5 +151,6 @@
|
||||||
<string name="pix2_hint">Vincular conta para saque</string>
|
<string name="pix2_hint">Vincular conta para saque</string>
|
||||||
<string name="guide_hint_gold">Clique no botão para converter todas \nas “Moedas” em “Dinheiro”.</string>
|
<string name="guide_hint_gold">Clique no botão para converter todas \nas “Moedas” em “Dinheiro”.</string>
|
||||||
<string name="guide_hint_cash">Clique aqui para ir para o saque.</string>
|
<string name="guide_hint_cash">Clique aqui para ir para o saque.</string>
|
||||||
|
<string name="guide_hint_zero">Montes de recompensas em dinheiro \nte aguardam. Boa sorte!</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
@ -39,6 +39,9 @@ class SpUtil private constructor(spFileName: String) {
|
||||||
const val KEY_WITHDRAW_ITEM_LIST = "KEY_WITHDRAW_ITEM_LIST"
|
const val KEY_WITHDRAW_ITEM_LIST = "KEY_WITHDRAW_ITEM_LIST"
|
||||||
|
|
||||||
|
|
||||||
|
const val KEY_GUIDE_HAS_SHOW = "KEY_GUIDE_STATE" // 1,2,3,4,5 5 stands for finish
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Volatile
|
@Volatile
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue