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.view.LayoutInflater
|
||||
import androidx.activity.viewModels
|
||||
import androidx.core.graphics.toColorInt
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.lifecycle.repeatOnLifecycle
|
||||
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.gamedog.vididin.VidiConst
|
||||
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.widget.WithDrawItemView
|
||||
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_ONGOING
|
||||
import com.gamedog.vididin.manager.WithdrawManager.Companion.TRANSACTION_STATE_SUCCESS
|
||||
|
|
@ -152,6 +159,12 @@ class WithDrawActivity : AppViewsEmptyViewModelActivity<ViewBinding>() {
|
|||
VididinEvents.EVENT_WITHDRAW_CHECK_RESULT_UPDATED,)
|
||||
|
||||
readTransactionsAndShowResult()
|
||||
|
||||
if (needShowGuide()) {
|
||||
binding.tvCashTotal.postDelayed({
|
||||
showGuide()
|
||||
}, 5)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -307,6 +320,40 @@ class WithDrawActivity : AppViewsEmptyViewModelActivity<ViewBinding>() {
|
|||
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 {
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ import androidx.activity.viewModels
|
|||
import com.ama.core.architecture.appBase.AppViewsActivity
|
||||
import com.ama.core.architecture.appBase.OnFragmentBackgroundListener
|
||||
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.setCommonNavigator
|
||||
import com.ama.core.architecture.util.setDataOrAdapter
|
||||
|
|
@ -77,7 +78,9 @@ class MainActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnTabS
|
|||
viewPager2.offscreenPageLimit
|
||||
|
||||
|
||||
BeginnerGiftDialog(this@MainActivity).show()
|
||||
if (SpUtil.instance().getInt(SpUtil.KEY_GUIDE_HAS_SHOW) < 5) {
|
||||
BeginnerGiftDialog(this@MainActivity).show()
|
||||
}
|
||||
}
|
||||
|
||||
override fun ViewBinding.initListeners() {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ import android.Manifest
|
|||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.ImageView
|
||||
import android.widget.LinearLayout
|
||||
import androidx.core.graphics.toColorInt
|
||||
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.HighlightParameter
|
||||
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.util.SpUtil
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import kotlinx.coroutines.Runnable
|
||||
import kotlinx.coroutines.launch
|
||||
|
|
@ -100,7 +101,7 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
|
|||
}
|
||||
|
||||
llTaskZerobuy->{
|
||||
Router.ZeroBuy.startActivity(requireActivity())
|
||||
gotoZeroBuy()
|
||||
}
|
||||
|
||||
tvWatchVideoForConvertGoldToCash->{
|
||||
|
|
@ -145,9 +146,15 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
|
|||
mTaskConfig = TaskManager.instance().getTaskConfig()
|
||||
}
|
||||
|
||||
binding?.llTaskGame?.postDelayed({
|
||||
showGuide()
|
||||
}, 50)
|
||||
if (needShowZerobuyGuide() < 5) {
|
||||
binding?.llTaskGame?.postDelayed({
|
||||
showGuide1()
|
||||
}, 5)
|
||||
}
|
||||
}
|
||||
|
||||
private fun gotoZeroBuy() {
|
||||
Router.ZeroBuy.startActivity(requireActivity())
|
||||
}
|
||||
|
||||
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_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_FIRST_WITHDRAW_TASK_CHANGED,)
|
||||
VididinEvents.EVENT_NEWBIE_FIRST_WITHDRAW_TASK_CHANGED)
|
||||
}
|
||||
|
||||
private fun scroll2FirstWithdraw() {
|
||||
|
|
@ -364,6 +371,18 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
|
|||
override fun onResume() {
|
||||
super.onResume()
|
||||
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() {
|
||||
|
|
@ -434,7 +453,7 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
|
|||
}
|
||||
|
||||
|
||||
private fun showGuide() {
|
||||
private fun showGuide1() {
|
||||
HighlightPro.with(this@TasksFragment)
|
||||
.setHighlightParameter {
|
||||
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="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_zero">Montes de recompensas em dinheiro \nte aguardam. Boa sorte!</string>
|
||||
|
||||
</resources>
|
||||
|
|
@ -39,6 +39,9 @@ class SpUtil private constructor(spFileName: String) {
|
|||
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
|
||||
|
|
|
|||
Loading…
Reference in New Issue