[Modify]夺宝精灵逻辑修改
@@ -76,6 +76,10 @@ class FairyViewModel : BaseViewModel() {
|
||||
private val _exchangeGiftLiveData = MutableLiveData<Event<ExchangeGiftInfo>>()
|
||||
val exchangeGiftLiveData: LiveData<Event<ExchangeGiftInfo>> = _exchangeGiftLiveData
|
||||
|
||||
//精灵召唤列表
|
||||
private val _fairyCallInfoLiveData = MutableLiveData<List<ExchangeGiftInfo>?>()
|
||||
val fairyCallInfoLiveData: MutableLiveData<List<ExchangeGiftInfo>?> = _fairyCallInfoLiveData
|
||||
|
||||
private val _debrisExchangeListLiveData = MutableLiveData<List<ExchangeGiftInfo>?>()
|
||||
val debrisExchangeListLiveData: MutableLiveData<List<ExchangeGiftInfo>?> =
|
||||
_debrisExchangeListLiveData
|
||||
@@ -206,6 +210,21 @@ class FairyViewModel : BaseViewModel() {
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* 精灵召唤列表
|
||||
*/
|
||||
fun getFairyCallInfo() {
|
||||
safeLaunch(
|
||||
onError = {
|
||||
_myFairyInfoLiveData.value = null
|
||||
it.message.toast()
|
||||
},
|
||||
block = {
|
||||
_myFairyInfoLiveData.value = TreasureFairyModel.getMyFairyInfo()
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
fun getFriendsList(nick: String? = null) {
|
||||
safeLaunch(
|
||||
onError = {
|
||||
@@ -449,6 +468,18 @@ class FairyViewModel : BaseViewModel() {
|
||||
)
|
||||
}
|
||||
|
||||
//精灵召唤列表
|
||||
fun getFairyCallList() {
|
||||
safeLaunch(
|
||||
onError = {
|
||||
_fairyCallInfoLiveData.value = null
|
||||
},
|
||||
block = {
|
||||
val result = TreasureFairyModel.getFairyCallList()
|
||||
_fairyCallInfoLiveData.value = result
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
fun getDebrisExchangeList() {
|
||||
safeLaunch(
|
||||
|
@@ -37,7 +37,10 @@ import com.yizhuan.xchat_android_core.manager.RoomEvent
|
||||
import com.yizhuan.xchat_android_core.treasurefairy.DrawInfo
|
||||
import com.yizhuan.xchat_android_core.treasurefairy.FairyMsgInfoBean
|
||||
import com.yizhuan.xchat_android_core.treasurefairy.PrizeInfo
|
||||
import com.yizhuan.xchat_android_library.common.SpConstants
|
||||
import com.yizhuan.xchat_android_library.common.util.SPUtils
|
||||
import com.yizhuan.xchat_android_library.utils.FormatUtils
|
||||
import com.yizhuan.xchat_android_library.utils.TimeUtils
|
||||
import io.reactivex.Observable
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.disposables.Disposable
|
||||
@@ -114,13 +117,22 @@ class HomeFairyActivity : BaseViewBindingActivity<TreasureFairyDialogHomeBinding
|
||||
if (!isSelect) {
|
||||
toast("請選擇購買的碎片數量")
|
||||
} else {
|
||||
viewModel.buyDebris(mPrice.toString(), AuthModel.get().currentUid.toString())
|
||||
val date = SPUtils.getLong(SpConstants.DATE, 0L)
|
||||
if (date != 0L) {
|
||||
if (TimeUtils.isToday(date)) {
|
||||
viewModel.buyDebris(
|
||||
mPrice.toString(),
|
||||
AuthModel.get().currentUid.toString()
|
||||
)
|
||||
} else {
|
||||
FairyBuyDebrisDialog.newInstance(mPrice).show(context)
|
||||
}
|
||||
} else {
|
||||
FairyBuyDebrisDialog.newInstance(mPrice).show(context)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// binding.tvKeyNum.setOnClickListener {
|
||||
// FairyDialogWebViewActivity.start(this, UriProvider.getFairyKey())
|
||||
// }
|
||||
binding.ivMyFairy.setOnClickListener {
|
||||
MyFairyDialog.newInstance().show(this)
|
||||
}
|
||||
@@ -172,8 +184,12 @@ class HomeFairyActivity : BaseViewBindingActivity<TreasureFairyDialogHomeBinding
|
||||
isCheck = isChecked
|
||||
}
|
||||
|
||||
binding.ivRefresh.setOnClickListener {
|
||||
viewModel.initDrawInfo()
|
||||
}
|
||||
|
||||
viewModel.buyDebrisLiveData.observe(this) {
|
||||
toast("碎片購買成功")
|
||||
toast("購買碎片成功")
|
||||
}
|
||||
|
||||
viewModel.prizeInfoListLiveData.observe(this) {
|
||||
@@ -208,9 +224,9 @@ class HomeFairyActivity : BaseViewBindingActivity<TreasureFairyDialogHomeBinding
|
||||
|
||||
binding.tvShortLuckyValue.text =
|
||||
SpannableBuilder()
|
||||
.append("幸運值達到", ForegroundColorSpan("#59FDFF".toColorInt()))
|
||||
.append("達到", ForegroundColorSpan("#59FDFF".toColorInt()))
|
||||
.append("${it.needLuckyNum}", ForegroundColorSpan("#FFE8AA".toColorInt()))
|
||||
.append("后,下次奪寶獲贈精靈球", ForegroundColorSpan("#59FDFF".toColorInt()))
|
||||
.append("后下次奪寶,額外獲贈傳説精靈", ForegroundColorSpan("#59FDFF".toColorInt()))
|
||||
.build()
|
||||
binding.ivLuckyStone.post {
|
||||
val drawable =
|
||||
|
@@ -56,8 +56,8 @@ class ExchangeFairyDialog : BaseDialog<TreasureFairyDialogExchangeBinding>() {
|
||||
binding?.viewPager?.adapter = RoomVPAdapter(
|
||||
childFragmentManager,
|
||||
listOf(
|
||||
ExchangeFairyFragment.newInstance(),
|
||||
ExchangeDebrisFragment.newInstance()
|
||||
ExchangeDebrisFragment.newInstance(1),
|
||||
ExchangeDebrisFragment.newInstance(2)
|
||||
)
|
||||
)
|
||||
viewModel.getMyFairyInfo()
|
||||
|
@@ -0,0 +1,73 @@
|
||||
package com.yizhuan.erban.treasurefairy.dialog
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.os.Bundle
|
||||
import android.view.Gravity
|
||||
import android.view.WindowManager
|
||||
import androidx.fragment.app.viewModels
|
||||
import com.hjq.toast.ToastUtils
|
||||
import com.yizhuan.erban.R
|
||||
import com.yizhuan.erban.base.BaseDialog
|
||||
import com.yizhuan.erban.databinding.TreasureFairyDialogBuyDebrisBinding
|
||||
import com.yizhuan.erban.treasurefairy.FairyViewModel
|
||||
import com.yizhuan.xchat_android_core.auth.AuthModel
|
||||
import com.yizhuan.xchat_android_library.common.SpConstants
|
||||
import com.yizhuan.xchat_android_library.common.util.SPUtils
|
||||
import com.yizhuan.xchat_android_library.utils.TimeUtils
|
||||
|
||||
/**
|
||||
* 购买碎片
|
||||
*/
|
||||
class FairyBuyDebrisDialog : BaseDialog<TreasureFairyDialogBuyDebrisBinding>() {
|
||||
|
||||
override var width = WindowManager.LayoutParams.MATCH_PARENT
|
||||
override var height = WindowManager.LayoutParams.WRAP_CONTENT
|
||||
override var gravity = Gravity.CENTER
|
||||
private val viewModel: FairyViewModel by viewModels()
|
||||
|
||||
companion object {
|
||||
fun newInstance(num: Int): FairyBuyDebrisDialog {
|
||||
val args = Bundle()
|
||||
args.putInt("num", num)
|
||||
val fragment = FairyBuyDebrisDialog()
|
||||
fragment.arguments = args
|
||||
return fragment
|
||||
}
|
||||
}
|
||||
|
||||
private val num by lazy { requireArguments().getInt("num") }
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
override fun init() {
|
||||
binding?.tvDebrisNum?.text = getString(R.string.buy_debris, num)
|
||||
binding?.tvPrizeName?.text = (num * 100).toString()
|
||||
|
||||
binding?.cbPay?.setOnCheckedChangeListener { _, isChecked ->
|
||||
if (isChecked) {
|
||||
SPUtils.putLong(SpConstants.DATE, System.currentTimeMillis())
|
||||
} else {
|
||||
SPUtils.putLong(SpConstants.DATE, 0L)
|
||||
}
|
||||
}
|
||||
|
||||
binding?.tvBuy?.setOnClickListener {
|
||||
viewModel.buyDebris(num.toString(), AuthModel.get().currentUid.toString())
|
||||
}
|
||||
|
||||
viewModel.buyDebrisLiveData.observe(this) {
|
||||
val date = SPUtils.getLong(SpConstants.DATE, 0L)
|
||||
if (date != 0L) {
|
||||
if (TimeUtils.isToday(date)) {
|
||||
ToastUtils.show("購買碎片成功")
|
||||
} else {
|
||||
FairyBuySuccessDialog.newInstance(num).show(context)
|
||||
}
|
||||
} else {
|
||||
FairyBuySuccessDialog.newInstance(num).show(context)
|
||||
}
|
||||
dismissAllowingStateLoss()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,48 @@
|
||||
package com.yizhuan.erban.treasurefairy.dialog
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.os.Bundle
|
||||
import android.view.Gravity
|
||||
import android.view.WindowManager
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import com.yizhuan.erban.base.BaseDialog
|
||||
import com.yizhuan.erban.databinding.TreasureFairyDialogBuySuccessBinding
|
||||
import com.yizhuan.erban.treasurefairy.FairyViewModel
|
||||
import com.yizhuan.xchat_android_library.common.SpConstants
|
||||
import com.yizhuan.xchat_android_library.common.util.SPUtils
|
||||
|
||||
/**
|
||||
* 购买碎片成功
|
||||
*/
|
||||
class FairyBuySuccessDialog : BaseDialog<TreasureFairyDialogBuySuccessBinding>() {
|
||||
|
||||
override var width = WindowManager.LayoutParams.MATCH_PARENT
|
||||
override var height = WindowManager.LayoutParams.WRAP_CONTENT
|
||||
override var gravity = Gravity.CENTER
|
||||
|
||||
companion object {
|
||||
fun newInstance(num: Int): FairyBuySuccessDialog {
|
||||
val args = Bundle()
|
||||
args.putSerializable("num", num)
|
||||
val fragment = FairyBuySuccessDialog()
|
||||
fragment.arguments = args
|
||||
return fragment
|
||||
}
|
||||
}
|
||||
|
||||
private val num by lazy { requireArguments().getInt("num") }
|
||||
|
||||
@SuppressLint("CheckResult", "SetTextI18n")
|
||||
override fun init() {
|
||||
binding?.tvDebrisNum?.text = "x${num}"
|
||||
|
||||
binding?.cbPay?.setOnCheckedChangeListener { buttonView, isChecked ->
|
||||
if (isChecked) {
|
||||
SPUtils.putLong(SpConstants.DATE, System.currentTimeMillis())
|
||||
} else {
|
||||
SPUtils.putLong(SpConstants.DATE, 0L)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@@ -8,12 +8,9 @@ import androidx.fragment.app.activityViewModels
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.yizhuan.erban.base.BaseDialog
|
||||
import com.yizhuan.erban.databinding.TreasureFairyDialogResolveFairyResultBinding
|
||||
import com.yizhuan.erban.databinding.TreasureFairyDialogTestFairyResultBinding
|
||||
import com.yizhuan.erban.treasurefairy.FairyViewModel
|
||||
import com.yizhuan.erban.treasurefairy.adapter.ResolveFairyResultAdapter
|
||||
import com.yizhuan.erban.treasurefairy.adapter.TestFairyResultAdapter
|
||||
import com.yizhuan.erban.ui.utils.RVDelegate
|
||||
import com.yizhuan.xchat_android_core.treasurefairy.FairyInfo
|
||||
import com.yizhuan.xchat_android_core.treasurefairy.ResolveInfo
|
||||
|
||||
class ResolveFairyResultDialog : BaseDialog<TreasureFairyDialogResolveFairyResultBinding>() {
|
||||
|
@@ -23,8 +23,9 @@ class ExchangeDebrisFragment :
|
||||
|
||||
|
||||
companion object {
|
||||
fun newInstance(): ExchangeDebrisFragment {
|
||||
fun newInstance(fairyType: Int): ExchangeDebrisFragment {
|
||||
val args = Bundle()
|
||||
args.putInt("fairyType", fairyType)
|
||||
val fragment = ExchangeDebrisFragment()
|
||||
fragment.arguments = args
|
||||
return fragment
|
||||
@@ -35,6 +36,8 @@ class ExchangeDebrisFragment :
|
||||
private lateinit var rvDelegate: RVDelegate<ExchangeGiftInfo>
|
||||
private lateinit var debrisAdapter: ExchangeDebrisAdapter
|
||||
|
||||
private val fairyType by lazy { requireArguments().getInt("fairyType", 1) }
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
override fun init() {
|
||||
debrisAdapter = ExchangeDebrisAdapter()
|
||||
@@ -49,7 +52,14 @@ class ExchangeDebrisFragment :
|
||||
)
|
||||
.setLayoutManager(GridLayoutManager(context, 2, LinearLayoutManager.VERTICAL, false))
|
||||
.build()
|
||||
if(fairyType == 1){
|
||||
viewModel.getFairyCallList()
|
||||
} else {
|
||||
viewModel.getDebrisExchangeList()
|
||||
}
|
||||
viewModel.fairyCallInfoLiveData.observe(viewLifecycleOwner) {
|
||||
rvDelegate.setNewData(it)
|
||||
}
|
||||
viewModel.debrisExchangeListLiveData.observe(viewLifecycleOwner) {
|
||||
rvDelegate.setNewData(it)
|
||||
}
|
||||
|
BIN
app/src/main/res/drawable-xhdpi/ic_fairy_refresh.png
Normal file
After Width: | Height: | Size: 764 B |
BIN
app/src/main/res/drawable-xhdpi/ic_fairy_selected.png
Normal file
After Width: | Height: | Size: 543 B |
BIN
app/src/main/res/drawable-xhdpi/ic_fairy_unselected.png
Normal file
After Width: | Height: | Size: 428 B |
After Width: | Height: | Size: 13 KiB |
BIN
app/src/main/res/drawable-xhdpi/treasure_fairy_buy_debris.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
app/src/main/res/drawable-xhdpi/treasure_fairy_buy_success.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
app/src/main/res/drawable-xhdpi/treasure_fairy_ic_diamond.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
6
app/src/main/res/drawable/selector_select_fairy.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@drawable/ic_fairy_selected" android:state_checked="true" />
|
||||
<item android:drawable="@drawable/ic_fairy_unselected" android:state_checked="false" />
|
||||
<item android:drawable="@drawable/ic_fairy_unselected" />
|
||||
</selector>
|
105
app/src/main/res/layout/treasure_fairy_dialog_buy_debris.xml
Normal file
@@ -0,0 +1,105 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/root_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<View
|
||||
android:id="@+id/view_bg"
|
||||
android:layout_width="262dp"
|
||||
android:layout_height="316dp"
|
||||
android:background="@drawable/treasure_fairy_bg_forest_prize_new"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="0.6" />
|
||||
|
||||
<View
|
||||
android:layout_width="136dp"
|
||||
android:layout_height="44dp"
|
||||
android:layout_marginBottom="@dimen/dp_30"
|
||||
android:background="@drawable/treasure_fairy_buy_debris"
|
||||
app:layout_constraintEnd_toEndOf="@+id/view_bg"
|
||||
app:layout_constraintStart_toStartOf="@+id/view_bg"
|
||||
app:layout_constraintBottom_toTopOf="@+id/iv_prize_icon"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/iv_prize_icon"
|
||||
android:layout_width="65dp"
|
||||
android:layout_height="65dp"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginTop="60dp"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@drawable/ic_debris_default"
|
||||
app:layout_constraintEnd_toEndOf="@+id/view_bg"
|
||||
app:layout_constraintStart_toStartOf="@+id/view_bg"
|
||||
app:layout_constraintTop_toTopOf="@+id/view_bg" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_prize_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="12dp"
|
||||
android:drawableStart="@drawable/treasure_fairy_ic_diamond"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center"
|
||||
android:includeFontPadding="false"
|
||||
android:maxLines="1"
|
||||
android:textColor="@color/color_white"
|
||||
android:textSize="16sp"
|
||||
app:layout_constraintEnd_toEndOf="@+id/view_bg"
|
||||
app:layout_constraintStart_toStartOf="@+id/view_bg"
|
||||
app:layout_constraintTop_toBottomOf="@+id/iv_prize_icon"
|
||||
tools:text="10000" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_debris_num"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_12"
|
||||
android:text="@string/buy_debris"
|
||||
android:textColor="@color/color_ffe8aa"
|
||||
android:textSize="@dimen/sp_12"
|
||||
app:layout_constraintEnd_toEndOf="@+id/view_bg"
|
||||
app:layout_constraintStart_toStartOf="@+id/view_bg"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_prize_name" />
|
||||
|
||||
<com.coorchice.library.SuperTextView
|
||||
android:id="@+id/tv_buy"
|
||||
android:text="購買"
|
||||
android:textSize="@dimen/sp_16"
|
||||
android:textColor="@color/color_1f5764"
|
||||
android:layout_width="140dp"
|
||||
android:layout_height="34dp"
|
||||
android:gravity="center"
|
||||
android:layout_marginTop="@dimen/dp_18"
|
||||
app:corner="@dimen/dp_18"
|
||||
app:shaderEnable="true"
|
||||
app:shaderMode="topToBottom"
|
||||
app:shaderStartColor="@color/color_FFFEBB"
|
||||
app:shaderEndColor="@color/color_3AEAC7"
|
||||
app:layout_constraintEnd_toEndOf="@+id/view_bg"
|
||||
app:layout_constraintStart_toStartOf="@+id/view_bg"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_debris_num" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatCheckBox
|
||||
android:id="@+id/cbPay"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_16"
|
||||
android:button="@drawable/selector_select_fairy"
|
||||
android:paddingStart="@dimen/dp_6"
|
||||
android:paddingEnd="0dp"
|
||||
android:text="今日不再提示"
|
||||
android:textColor="@color/color_white"
|
||||
android:textSize="@dimen/sp_10"
|
||||
app:layout_constraintEnd_toEndOf="@+id/view_bg"
|
||||
app:layout_constraintStart_toStartOf="@+id/view_bg"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_buy" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
@@ -0,0 +1,88 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/root_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<View
|
||||
android:id="@+id/view_bg"
|
||||
android:layout_width="281dp"
|
||||
android:layout_height="285dp"
|
||||
android:background="@drawable/treasure_fairy_bg_forest_prize_new"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="0.6" />
|
||||
|
||||
<View
|
||||
android:layout_width="136dp"
|
||||
android:layout_height="44dp"
|
||||
android:layout_marginBottom="@dimen/dp_16"
|
||||
android:background="@drawable/treasure_fairy_buy_success"
|
||||
app:layout_constraintStart_toStartOf="@+id/view_bg"
|
||||
app:layout_constraintEnd_toEndOf="@+id/view_bg"
|
||||
app:layout_constraintBottom_toTopOf="@+id/tv_title"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="48dp"
|
||||
android:text="獲得"
|
||||
android:textColor="@color/color_ffe8aa"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold"
|
||||
android:includeFontPadding="false"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/view_bg" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/iv_prize_icon"
|
||||
android:layout_width="65dp"
|
||||
android:layout_height="65dp"
|
||||
android:layout_marginTop="@dimen/dp_8"
|
||||
android:layout_gravity="center"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@drawable/ic_debris_default"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_title"
|
||||
app:layout_constraintStart_toStartOf="@+id/view_bg"
|
||||
app:layout_constraintEnd_toEndOf="@+id/view_bg"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_debris_num"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="14dp"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center"
|
||||
android:includeFontPadding="false"
|
||||
android:maxLines="1"
|
||||
tools:text="x1000"
|
||||
android:textColor="@color/color_ffe8aa"
|
||||
android:textSize="16sp"
|
||||
app:layout_constraintStart_toStartOf="@+id/view_bg"
|
||||
app:layout_constraintEnd_toEndOf="@+id/view_bg"
|
||||
app:layout_constraintTop_toBottomOf="@+id/iv_prize_icon"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatCheckBox
|
||||
android:id="@+id/cbPay"
|
||||
android:text="今日不再提示"
|
||||
android:textSize="@dimen/sp_10"
|
||||
android:textColor="@color/color_white"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:button="@drawable/selector_select_fairy"
|
||||
android:paddingStart="@dimen/dp_6"
|
||||
android:paddingEnd="0dp"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_debris_num"
|
||||
app:layout_constraintStart_toStartOf="@+id/view_bg"
|
||||
app:layout_constraintEnd_toEndOf="@+id/view_bg"/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
@@ -229,6 +229,16 @@
|
||||
app:layout_constraintStart_toEndOf="@id/tv_current_lucky_value_text"
|
||||
tools:text="2365" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/iv_refresh"
|
||||
android:layout_width="10dp"
|
||||
android:layout_height="10dp"
|
||||
android:src="@drawable/ic_fairy_refresh"
|
||||
android:layout_marginStart="@dimen/dp_4"
|
||||
app:layout_constraintTop_toTopOf="@+id/tv_current_lucky_value"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tv_current_lucky_value"
|
||||
app:layout_constraintStart_toEndOf="@+id/tv_current_lucky_value"/>
|
||||
|
||||
<View
|
||||
android:id="@+id/view_lucky_stone_default"
|
||||
android:layout_width="120dp"
|
||||
|
@@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
|
@@ -684,5 +684,7 @@
|
||||
<color name="color_365A65">#365A65</color>
|
||||
<color name="color_F6F6F6">#F6F6F6</color>
|
||||
<color name="color_66F6F6F6">#66F6F6F6</color>
|
||||
<color name="color_3AEAC7">#3AEAC7</color>
|
||||
<color name="color_FFFEBB">#FFFEBB</color>
|
||||
|
||||
</resources>
|
||||
|
@@ -5122,5 +5122,6 @@
|
||||
<string name="level_goddess_gathering_place">顏值女神聚集地</string>
|
||||
<string name="accompany_and_make_friends">陪伴交友</string>
|
||||
<string name="interesting_people_are_here">有趣的人都在這</string>
|
||||
<string name="buy_debris">購買%d個碎片</string>
|
||||
|
||||
</resources>
|
@@ -92,6 +92,10 @@ object TreasureFairyModel {
|
||||
api.getDebrisExchangeList()
|
||||
}
|
||||
|
||||
suspend fun getFairyCallList(): List<ExchangeGiftInfo>? = launchRequest {
|
||||
api.getFairyCallList()
|
||||
}
|
||||
|
||||
suspend fun getExchangeRecord(
|
||||
convertType: Int,
|
||||
page: Int,
|
||||
@@ -262,6 +266,13 @@ object TreasureFairyModel {
|
||||
@GET("act/seize-treasure/convert/chip/list")
|
||||
suspend fun getDebrisExchangeList(): ServiceResult<List<ExchangeGiftInfo>>
|
||||
|
||||
/**
|
||||
* 兑换-精灵召唤列表
|
||||
*
|
||||
*/
|
||||
@GET("/act/seize-treasure/convert/elf/list")
|
||||
suspend fun getFairyCallList(): ServiceResult<List<ExchangeGiftInfo>>
|
||||
|
||||
/**
|
||||
* 猛犸森林抽奖记录
|
||||
*
|
||||
|
@@ -7,4 +7,5 @@ object SpConstants {
|
||||
const val GOOGLE = "google"
|
||||
const val FACEBOOK = "facebook"
|
||||
const val LINE = "line"
|
||||
const val DATE = "date"
|
||||
}
|