veloria two 6.16 commit
This commit is contained in:
parent
85994237a8
commit
41c7432edb
@ -14,8 +14,8 @@ android {
|
||||
applicationId = "com.veloria.now.shortapp"
|
||||
minSdk = 24
|
||||
targetSdk = 34
|
||||
versionCode = 3
|
||||
versionName = "1.0.2"
|
||||
versionCode = 4
|
||||
versionName = "1.0.3"
|
||||
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
|
@ -22,4 +22,8 @@ object TranslationHelper {
|
||||
}
|
||||
|
||||
|
||||
fun replaces(string: String, new1: String, new2: String): String {
|
||||
val replace = string.replace("##", new1)
|
||||
return replace.replace("#1#", new2)
|
||||
}
|
||||
}
|
@ -13,7 +13,6 @@ import android.view.WindowManager
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.android.billingclient.api.AcknowledgePurchaseParams
|
||||
import com.android.billingclient.api.BillingClient
|
||||
@ -36,12 +35,13 @@ import com.veloria.now.shortapp.civil.YFHome
|
||||
import com.veloria.now.shortapp.civil.toast
|
||||
import com.veloria.now.shortapp.databinding.LayoutVePlayerBuyDialogBinding
|
||||
import com.veloria.now.shortapp.subtractionCroll.bidirectional.coordinate.VeStoreViewModel
|
||||
import com.veloria.now.shortapp.subtractionCroll.modificationsPretch.VeBannerVipPayAdapter
|
||||
import com.veloria.now.shortapp.subtractionCroll.modificationsPretch.VeStoreCoinAdapter
|
||||
import com.veloria.now.shortapp.subtractionCroll.modificationsPretch.VeStoreVipAdapter
|
||||
import com.veloria.now.shortapp.texturedAsink.VeCreatePayOrderReqBean
|
||||
import com.veloria.now.shortapp.texturedAsink.VePayBean
|
||||
import com.veloria.now.shortapp.texturedAsink.VePaySettingsBean
|
||||
import com.veloria.now.shortapp.texturedAsink.XAboutBean
|
||||
import com.youth.banner.listener.OnPageChangeListener
|
||||
import kotlinx.coroutines.launch
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
|
||||
@ -52,7 +52,7 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() {
|
||||
private val viewModel by lazy { ViewModelProvider(this)[VeStoreViewModel::class.java] }
|
||||
|
||||
private var coinAdapter: VeStoreCoinAdapter? = null
|
||||
private var vipAdapter: VeStoreVipAdapter? = null
|
||||
private var bannerAdapter: VeBannerVipPayAdapter? = null
|
||||
private var promise_view_ad: Int? = -1
|
||||
private var connectNum = 0
|
||||
private var short_play_id: Int? = 0
|
||||
@ -68,6 +68,7 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() {
|
||||
|
||||
private var isBuy = false
|
||||
private var purchaseData: Purchase? = null
|
||||
private var parcelable: XAboutBean.Episode? = null
|
||||
|
||||
interface OnDataPassOnClick {
|
||||
fun onDataPassOnClick(data: VePaySettingsBean.CoinsBean?)
|
||||
@ -82,7 +83,7 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() {
|
||||
val inflater = requireActivity().layoutInflater
|
||||
val view = inflater.inflate(R.layout.layout_ve_player_buy_dialog, null)
|
||||
binding = LayoutVePlayerBuyDialogBinding.bind(view)
|
||||
val parcelable =
|
||||
parcelable =
|
||||
arguments?.getParcelable<XAboutBean.Episode>(JActivityAdapter.BUY_EPISODE)
|
||||
short_play_id = parcelable?.short_play_id
|
||||
promise_view_ad = parcelable?.promise_view_ad
|
||||
@ -137,44 +138,16 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() {
|
||||
}
|
||||
})
|
||||
|
||||
vipAdapter = VeStoreVipAdapter()
|
||||
binding?.recyclerVip?.layoutManager =
|
||||
LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false)
|
||||
binding?.recyclerVip?.adapter = vipAdapter
|
||||
showLoading()
|
||||
viewModel.getPaySettingsV3(0, 0)
|
||||
|
||||
vipAdapter?.setOnItemClickListener { adapter, view, position ->
|
||||
if (typeOnClick == 0) {
|
||||
coinAdapter?.currentPosition = -1
|
||||
coinAdapter?.notifyDataSetChanged()
|
||||
}
|
||||
typeOnClick = 1
|
||||
vipAdapter?.currentPosition = position
|
||||
vipAdapter?.notifyDataSetChanged()
|
||||
|
||||
vipData = vipAdapter!!.getItem(position) as VePaySettingsBean.VipBean
|
||||
|
||||
if (parcelable != null) {
|
||||
short_play_id?.let {
|
||||
VeCreatePayOrderReqBean(
|
||||
vipData?.id.toString(),
|
||||
"google",
|
||||
it,
|
||||
parcelable.short_play_video_id
|
||||
)
|
||||
}?.let {
|
||||
viewModel.setCreatePayOrder(
|
||||
it
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
coinAdapter?.setOnItemClickListener { adapter, view, position ->
|
||||
if (typeOnClick == 1) {
|
||||
vipAdapter?.currentPosition = -1
|
||||
vipAdapter?.notifyDataSetChanged()
|
||||
if (bannerAdapter?.currentPosition!! >= 0) {
|
||||
bannerAdapter?.notifyItemChanged(bannerAdapter?.currentPosition!!)
|
||||
}
|
||||
bannerAdapter?.oldPosition = -1
|
||||
bannerAdapter?.currentPosition = -1
|
||||
}
|
||||
typeOnClick = 0
|
||||
coinAdapter?.currentPosition = position
|
||||
@ -189,7 +162,7 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() {
|
||||
coinsData?.id.toString(),
|
||||
"google",
|
||||
it,
|
||||
parcelable.short_play_video_id
|
||||
parcelable!!.short_play_video_id
|
||||
)
|
||||
}?.let {
|
||||
viewModel.setCreatePayOrder(
|
||||
@ -216,12 +189,93 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() {
|
||||
return dialog
|
||||
}
|
||||
|
||||
private fun setBannerListener() {
|
||||
binding?.bannerVip?.setOnBannerListener { data, position ->
|
||||
if (typeOnClick == 0) {
|
||||
coinAdapter?.currentPosition = -1
|
||||
coinAdapter?.notifyDataSetChanged()
|
||||
}
|
||||
if (bannerAdapter?.currentPosition!! >= 0) {
|
||||
bannerAdapter?.oldPosition = bannerAdapter?.currentPosition!!
|
||||
}
|
||||
typeOnClick = 1
|
||||
bannerAdapter?.currentPosition = position
|
||||
bannerAdapter?.notifyItemChanged(position)
|
||||
if (bannerAdapter?.oldPosition!! >= 0) {
|
||||
bannerAdapter?.notifyItemChanged(bannerAdapter?.oldPosition!!)
|
||||
}
|
||||
|
||||
vipData =
|
||||
bannerAdapter?.getData(bannerAdapter!!.currentPosition) as VePaySettingsBean.VipBean
|
||||
showLoading()
|
||||
if (parcelable != null) {
|
||||
short_play_id?.let {
|
||||
VeCreatePayOrderReqBean(
|
||||
vipData?.id.toString(),
|
||||
"google",
|
||||
it,
|
||||
parcelable!!.short_play_video_id
|
||||
)
|
||||
}?.let {
|
||||
viewModel.setCreatePayOrder(
|
||||
it
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
binding?.bannerVip?.addOnPageChangeListener(object : OnPageChangeListener {
|
||||
override fun onPageScrolled(
|
||||
position: Int,
|
||||
positionOffset: Float,
|
||||
positionOffsetPixels: Int
|
||||
) {
|
||||
}
|
||||
|
||||
override fun onPageSelected(position: Int) {
|
||||
val data = bannerAdapter?.getData(position)
|
||||
data?.let { setVipContentText(it) }
|
||||
|
||||
}
|
||||
|
||||
override fun onPageScrollStateChanged(state: Int) {
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
val itemData = bannerAdapter?.getData(0)
|
||||
itemData?.let { setVipContentText(it) }
|
||||
|
||||
}
|
||||
|
||||
private fun setVipContentText(data: VePaySettingsBean.VipBean) {
|
||||
val vipContent1 = TranslationHelper.replaces(
|
||||
getString(R.string.unlimited_access_to_all_series_for_1_br),
|
||||
data?.vip_type_key.toString(),
|
||||
data.send_coin_ttl.toString()
|
||||
)
|
||||
binding?.tvBuyHint?.text =
|
||||
Html.fromHtml(vipContent1, Html.FROM_HTML_MODE_LEGACY)
|
||||
|
||||
}
|
||||
|
||||
fun observeData() {
|
||||
viewModel.PaySettingsV3.observe(this) {
|
||||
if (it?.data != null) {
|
||||
coinAdapter?.submitList(it.data.list_coins)
|
||||
vipAdapter?.submitList(it.data.list_sub_vip)
|
||||
|
||||
if (it.data.list_sub_vip.isNotEmpty()) {
|
||||
binding?.tvBuyHint?.visibility = View.VISIBLE
|
||||
binding?.bannerVip?.visibility = View.VISIBLE
|
||||
bannerAdapter =
|
||||
VeBannerVipPayAdapter(it.data.list_sub_vip)
|
||||
binding?.bannerVip?.setBannerGalleryEffect(
|
||||
resources.getDimension(R.dimen.dp_5).toInt(),
|
||||
resources.getDimension(R.dimen.dp_5).toInt()
|
||||
)
|
||||
binding?.bannerVip?.setAdapter(bannerAdapter)
|
||||
setBannerListener()
|
||||
}
|
||||
it.data.list_sub_vip.let { it1 -> querySubVipProductDetails(it1) }
|
||||
it.data.list_coins.let { it1 -> queryInAppCoinsProductDetails(it1) }
|
||||
}
|
||||
@ -266,9 +320,8 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() {
|
||||
} else {
|
||||
toast(getString(R.string.shapeSelected))
|
||||
}
|
||||
hideLoading()
|
||||
}
|
||||
|
||||
hideLoading()
|
||||
}
|
||||
|
||||
}
|
||||
@ -389,8 +442,8 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() {
|
||||
} ?: vip
|
||||
}
|
||||
|
||||
vipAdapter?.recyclerView?.postDelayed({
|
||||
vipAdapter?.submitList(updatedVipList)
|
||||
binding?.root?.postDelayed({
|
||||
bannerAdapter?.setDatas(updatedVipList)
|
||||
hideLoading()
|
||||
}, 500)
|
||||
} else {
|
||||
|
@ -571,7 +571,7 @@ class MQVAutoWidthActivity :
|
||||
if (marqueeo < 162.0f) {
|
||||
}
|
||||
|
||||
|
||||
showLoading()
|
||||
viewModel.getVideoPlayDetails(shortPlayId, 0, activityId, revolution)
|
||||
}
|
||||
|
||||
@ -624,7 +624,6 @@ class MQVAutoWidthActivity :
|
||||
|
||||
|
||||
|
||||
showLoading()
|
||||
var appendK: MutableMap<String, Float> = mutableMapOf<String, Float>()
|
||||
appendK.put("decklink", 519.0f)
|
||||
appendK.put("flattened", 285.0f)
|
||||
@ -1904,10 +1903,11 @@ class MQVAutoWidthActivity :
|
||||
}
|
||||
|
||||
viewModel.detailsRecommendLiveData.observe(this) {
|
||||
hideLoading()
|
||||
it?.data?.let {
|
||||
setDetailsRecommendation(it)
|
||||
} ?: finish()
|
||||
hideLoading()
|
||||
|
||||
}
|
||||
|
||||
viewModel.userInfo.observe(this) {
|
||||
|
@ -845,6 +845,7 @@ class PSVHomeSearchActivity : AIXTextActivity<JsDramaFragmentBinding, JService>(
|
||||
)
|
||||
needSave = true
|
||||
w2aSelfAttribution(clipContent)
|
||||
RYAction.getMMKV().putString(JActivityAdapter.HOME_DDL_URL, "")
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -976,7 +977,9 @@ class PSVHomeSearchActivity : AIXTextActivity<JsDramaFragmentBinding, JService>(
|
||||
// setDeeplinkFbApi(facebook_id)
|
||||
}
|
||||
}
|
||||
data?.let { viewModel.setW2aSelfAttribution(it) }
|
||||
singleOnClick {
|
||||
data?.let { viewModel.setW2aSelfAttribution(it) }
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -30,11 +30,13 @@ import com.veloria.now.shortapp.civil.toast
|
||||
import com.veloria.now.shortapp.databinding.ActivityVeStoreBinding
|
||||
import com.veloria.now.shortapp.newsletter.AIXTextActivity
|
||||
import com.veloria.now.shortapp.subtractionCroll.bidirectional.coordinate.VeStoreViewModel
|
||||
import com.veloria.now.shortapp.subtractionCroll.modificationsPretch.VeBannerVipPayAdapter
|
||||
import com.veloria.now.shortapp.subtractionCroll.modificationsPretch.VeStoreCoinAdapter
|
||||
import com.veloria.now.shortapp.subtractionCroll.modificationsPretch.VeStoreVipAdapter
|
||||
import com.veloria.now.shortapp.texturedAsink.VeCreatePayOrderReqBean
|
||||
import com.veloria.now.shortapp.texturedAsink.VePayBean
|
||||
import com.veloria.now.shortapp.texturedAsink.VePaySettingsBean
|
||||
import com.youth.banner.listener.OnPageChangeListener
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
class VeStoreActivity : AIXTextActivity<ActivityVeStoreBinding, VeStoreViewModel>() {
|
||||
@ -44,11 +46,11 @@ class VeStoreActivity : AIXTextActivity<ActivityVeStoreBinding, VeStoreViewModel
|
||||
override fun getViewBinding() = ActivityVeStoreBinding.inflate(layoutInflater)
|
||||
|
||||
private var coinAdapter: VeStoreCoinAdapter? = null
|
||||
private var vipAdapter: VeStoreVipAdapter? = null
|
||||
private var typeOnClick = 0
|
||||
private var isConnect = false
|
||||
private var vipData: VePaySettingsBean.VipBean? = null
|
||||
private var coinsData: VePaySettingsBean.CoinsBean? = null
|
||||
private var bannerAdapter: VeBannerVipPayAdapter? = null
|
||||
private var payBeanReq: VePayBean? = null
|
||||
|
||||
private var billingClientData: BillingClient? = null
|
||||
@ -123,28 +125,16 @@ class VeStoreActivity : AIXTextActivity<ActivityVeStoreBinding, VeStoreViewModel
|
||||
}
|
||||
})
|
||||
|
||||
vipAdapter = VeStoreVipAdapter()
|
||||
binding.recyclerVip.layoutManager =
|
||||
LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false)
|
||||
binding.recyclerVip.adapter = vipAdapter
|
||||
|
||||
viewModel.getPaySettingsV3(0, 0)
|
||||
|
||||
vipAdapter?.setOnItemClickListener { adapter, view, position ->
|
||||
if (typeOnClick == 0) {
|
||||
coinAdapter?.currentPosition = -1
|
||||
coinAdapter?.notifyDataSetChanged()
|
||||
}
|
||||
typeOnClick = 1
|
||||
vipAdapter?.currentPosition = position
|
||||
vipAdapter?.notifyDataSetChanged()
|
||||
|
||||
setOnPayNowClick()
|
||||
}
|
||||
coinAdapter?.setOnItemClickListener { adapter, view, position ->
|
||||
if (typeOnClick == 1) {
|
||||
vipAdapter?.currentPosition = -1
|
||||
vipAdapter?.notifyDataSetChanged()
|
||||
if (bannerAdapter?.currentPosition!! >= 0) {
|
||||
bannerAdapter?.notifyItemChanged(bannerAdapter?.currentPosition!!)
|
||||
}
|
||||
bannerAdapter?.oldPosition = -1
|
||||
bannerAdapter?.currentPosition = -1
|
||||
}
|
||||
typeOnClick = 0
|
||||
coinAdapter?.currentPosition = position
|
||||
@ -156,6 +146,61 @@ class VeStoreActivity : AIXTextActivity<ActivityVeStoreBinding, VeStoreViewModel
|
||||
initPayData()
|
||||
}
|
||||
|
||||
private fun setBannerListener() {
|
||||
binding.bannerVip.setOnBannerListener { data, position ->
|
||||
if (typeOnClick == 0) {
|
||||
coinAdapter?.currentPosition = -1
|
||||
coinAdapter?.notifyDataSetChanged()
|
||||
}
|
||||
if (bannerAdapter?.currentPosition!! >= 0) {
|
||||
bannerAdapter?.oldPosition = bannerAdapter?.currentPosition!!
|
||||
}
|
||||
typeOnClick = 1
|
||||
bannerAdapter?.currentPosition = position
|
||||
bannerAdapter?.notifyItemChanged(position)
|
||||
if (bannerAdapter?.oldPosition!! >= 0) {
|
||||
bannerAdapter?.notifyItemChanged(bannerAdapter?.oldPosition!!)
|
||||
}
|
||||
setOnPayNowClick()
|
||||
}
|
||||
|
||||
binding.bannerVip.addOnPageChangeListener(object : OnPageChangeListener {
|
||||
override fun onPageScrolled(
|
||||
position: Int,
|
||||
positionOffset: Float,
|
||||
positionOffsetPixels: Int
|
||||
) {
|
||||
}
|
||||
|
||||
override fun onPageSelected(position: Int) {
|
||||
val data = bannerAdapter?.getData(position)
|
||||
data?.let { setVipContentText(it) }
|
||||
|
||||
}
|
||||
|
||||
override fun onPageScrollStateChanged(state: Int) {
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
val itemData = bannerAdapter?.getData(0)
|
||||
itemData?.let { setVipContentText(it) }
|
||||
|
||||
}
|
||||
|
||||
private fun setVipContentText(data: VePaySettingsBean.VipBean) {
|
||||
val vipContent1 =
|
||||
"Unlimited access to all series for <font color='#05CEA0'>1 ".plus(data?.vip_type_key)
|
||||
.plus("</font> (No Ads)")
|
||||
binding.tvVipContent1.text =
|
||||
Html.fromHtml(vipContent1, Html.FROM_HTML_MODE_LEGACY)
|
||||
val vipContent2 =
|
||||
"The donate coins will expire in <font color='#05CEA0'>".plus(data.send_coin_ttl.toString())
|
||||
.plus(" days</font>")
|
||||
binding.tvVipContent2.text =
|
||||
Html.fromHtml(vipContent2, Html.FROM_HTML_MODE_LEGACY)
|
||||
}
|
||||
|
||||
fun setOnPayNowClick() {
|
||||
singleOnClick {
|
||||
if (!isConnect) {
|
||||
@ -170,7 +215,7 @@ class VeStoreActivity : AIXTextActivity<ActivityVeStoreBinding, VeStoreViewModel
|
||||
coinAdapter!!.getItem(coinAdapter!!.currentPosition) as VePaySettingsBean.CoinsBean
|
||||
} else {
|
||||
vipData =
|
||||
vipAdapter!!.getItem(vipAdapter!!.currentPosition) as VePaySettingsBean.VipBean
|
||||
bannerAdapter?.getData(bannerAdapter!!.currentPosition) as VePaySettingsBean.VipBean
|
||||
}
|
||||
showLoading()
|
||||
viewModel.setCreatePayOrder(
|
||||
@ -187,8 +232,25 @@ class VeStoreActivity : AIXTextActivity<ActivityVeStoreBinding, VeStoreViewModel
|
||||
override fun observeData() {
|
||||
viewModel.PaySettingsV3.observe(this) {
|
||||
if (it?.data != null) {
|
||||
|
||||
if (it.data.list_coins.isNotEmpty() && it.data.list_sub_vip.isNotEmpty()){
|
||||
binding.llTab.visibility = View.VISIBLE
|
||||
}
|
||||
if (it.data.list_sub_vip.isNotEmpty()){
|
||||
binding.clTwo.visibility = View.VISIBLE
|
||||
bannerAdapter =
|
||||
VeBannerVipPayAdapter(it.data.list_sub_vip)
|
||||
binding.bannerVip.setBannerGalleryEffect(
|
||||
resources.getDimension(R.dimen.dp_5).toInt(),
|
||||
resources.getDimension(R.dimen.dp_5).toInt()
|
||||
)
|
||||
binding.bannerVip.setAdapter(bannerAdapter)
|
||||
setBannerListener()
|
||||
}else {
|
||||
binding.clTwo.visibility = View.GONE
|
||||
binding.clOne.visibility = View.VISIBLE
|
||||
}
|
||||
coinAdapter?.submitList(it.data.list_coins)
|
||||
vipAdapter?.submitList(it.data.list_sub_vip)
|
||||
|
||||
it.data.list_sub_vip.let { it1 -> querySubVipProductDetails(it1) }
|
||||
it.data.list_coins.let { it1 -> queryInAppCoinsProductDetails(it1) }
|
||||
@ -356,8 +418,8 @@ class VeStoreActivity : AIXTextActivity<ActivityVeStoreBinding, VeStoreViewModel
|
||||
} ?: vip
|
||||
}
|
||||
|
||||
vipAdapter?.recyclerView?.postDelayed({
|
||||
vipAdapter?.submitList(updatedVipList)
|
||||
binding.root.postDelayed({
|
||||
bannerAdapter?.setDatas(updatedVipList)
|
||||
hideLoading()
|
||||
}, 500)
|
||||
} else {
|
||||
|
@ -0,0 +1,119 @@
|
||||
package com.veloria.now.shortapp.subtractionCroll.modificationsPretch
|
||||
|
||||
import android.graphics.Color
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.RelativeLayout
|
||||
import androidx.appcompat.widget.AppCompatImageView
|
||||
import androidx.appcompat.widget.AppCompatTextView
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.veloria.now.shortapp.R
|
||||
import com.veloria.now.shortapp.civil.TranslationHelper
|
||||
import com.veloria.now.shortapp.texturedAsink.VePaySettingsBean
|
||||
import com.youth.banner.adapter.BannerAdapter
|
||||
|
||||
class VeBannerVipPayAdapter(items: List<VePaySettingsBean.VipBean?>?) :
|
||||
BannerAdapter<VePaySettingsBean.VipBean, VeBannerVipPayAdapter.BannerViewHolder>(
|
||||
items
|
||||
) {
|
||||
|
||||
var oldPosition = -1
|
||||
var currentPosition = -1
|
||||
|
||||
override fun onCreateHolder(parent: ViewGroup, viewType: Int): BannerViewHolder {
|
||||
val view: View = LayoutInflater.from(parent.context)
|
||||
.inflate(R.layout.item_ve_store_vip, parent, false)
|
||||
view.layoutParams = ViewGroup.LayoutParams(
|
||||
ViewGroup.LayoutParams.MATCH_PARENT,
|
||||
ViewGroup.LayoutParams.MATCH_PARENT
|
||||
)
|
||||
return BannerViewHolder(view)
|
||||
}
|
||||
|
||||
override fun onBindView(
|
||||
holder: BannerViewHolder?,
|
||||
item: VePaySettingsBean.VipBean?,
|
||||
position: Int,
|
||||
size: Int
|
||||
) {
|
||||
if (null != item) {
|
||||
val tvDay =
|
||||
holder?.view?.findViewById<AppCompatTextView>(R.id.tv_day)
|
||||
val tvMoney =
|
||||
holder?.view?.findViewById<AppCompatTextView>(R.id.tv_money)
|
||||
val tvMoneyDay =
|
||||
holder?.view?.findViewById<AppCompatTextView>(R.id.tv_money_day)
|
||||
val tvExtra =
|
||||
holder?.view?.findViewById<AppCompatTextView>(R.id.tv_extra)
|
||||
val tvSelect =
|
||||
holder?.view?.findViewById<AppCompatImageView>(R.id.tv_select)
|
||||
val rlLayout =
|
||||
holder?.view?.findViewById<RelativeLayout>(R.id.rl_layout)
|
||||
|
||||
tvDay?.text = item.brief
|
||||
tvMoney?.text = item.price_google
|
||||
tvMoneyDay?.text = "/".plus(item.vip_type_key)
|
||||
if ((item.send_coins ?: 0) > 0) {
|
||||
tvExtra?.text =
|
||||
"+".plus(
|
||||
TranslationHelper.getTranslation()
|
||||
?.let { TranslationHelper.getTranslation()?.veloria_extra } ?: "Extra")
|
||||
.plus(" ").plus(item.send_coins)
|
||||
tvExtra?.visibility = View.VISIBLE
|
||||
} else {
|
||||
tvExtra?.visibility = View.GONE
|
||||
}
|
||||
|
||||
if (currentPosition == position) {
|
||||
tvSelect?.visibility = View.VISIBLE
|
||||
} else {
|
||||
tvSelect?.visibility = View.GONE
|
||||
}
|
||||
|
||||
|
||||
when (item.vip_type_key) {
|
||||
"week" -> {
|
||||
rlLayout?.setBackgroundResource(R.mipmap.iv_store_vip_bg_1)
|
||||
tvDay?.setTextColor(Color.parseColor("#64A3A7"))
|
||||
tvMoney?.setTextColor(Color.parseColor("#64A3A7"))
|
||||
tvMoneyDay?.setTextColor(Color.parseColor("#64A3A7"))
|
||||
tvExtra?.setTextColor(Color.parseColor("#416767"))
|
||||
tvExtra?.setBackgroundResource(R.drawable.bg_store_vip_1)
|
||||
}
|
||||
|
||||
"month" -> {
|
||||
rlLayout?.setBackgroundResource(R.mipmap.iv_store_vip_bg_2)
|
||||
tvDay?.setTextColor(Color.parseColor("#9C7565"))
|
||||
tvMoney?.setTextColor(Color.parseColor("#9C7565"))
|
||||
tvMoneyDay?.setTextColor(Color.parseColor("#9C7565"))
|
||||
tvExtra?.setTextColor(Color.parseColor("#573D31"))
|
||||
tvExtra?.setBackgroundResource(R.drawable.bg_store_vip_2)
|
||||
}
|
||||
|
||||
"quarter" -> {
|
||||
rlLayout?.setBackgroundResource(R.mipmap.iv_store_vip_bg_3)
|
||||
tvDay?.setTextColor(Color.parseColor("#647DA7"))
|
||||
tvMoney?.setTextColor(Color.parseColor("#647DA7"))
|
||||
tvMoneyDay?.setTextColor(Color.parseColor("#647DA7"))
|
||||
tvExtra?.setTextColor(Color.parseColor("#303962"))
|
||||
tvExtra?.setBackgroundResource(R.drawable.bg_store_vip_3)
|
||||
}
|
||||
|
||||
"year" -> {
|
||||
rlLayout?.setBackgroundResource(R.mipmap.iv_store_vip_bg_4)
|
||||
tvDay?.setTextColor(Color.parseColor("#9C6586"))
|
||||
tvMoney?.setTextColor(Color.parseColor("#9C6586"))
|
||||
tvMoneyDay?.setTextColor(Color.parseColor("#9C6586"))
|
||||
tvExtra?.setTextColor(Color.parseColor("#674162"))
|
||||
tvExtra?.setBackgroundResource(R.drawable.bg_store_vip_4)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
inner class BannerViewHolder(var view: View) : RecyclerView.ViewHolder(
|
||||
view
|
||||
)
|
||||
|
||||
}
|
@ -60,6 +60,7 @@
|
||||
android:id="@+id/ll_tab"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_45"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
@ -92,6 +93,7 @@
|
||||
android:id="@+id/fl_tab"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/ll_tab">
|
||||
|
||||
@ -100,7 +102,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingHorizontal="@dimen/dp_10"
|
||||
android:paddingVertical="@dimen/dp_15"
|
||||
android:paddingTop="@dimen/dp_15"
|
||||
android:visibility="gone">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
@ -154,7 +156,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingHorizontal="@dimen/dp_10"
|
||||
android:paddingVertical="@dimen/dp_15"
|
||||
android:paddingTop="@dimen/dp_15"
|
||||
android:visibility="visible">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
@ -240,15 +242,16 @@
|
||||
app:layout_constraintStart_toEndOf="@+id/tv_vip_content2"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_vip_text" />
|
||||
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_vip"
|
||||
<com.youth.banner.Banner
|
||||
android:id="@+id/banner_vip"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="@dimen/dp_135"
|
||||
android:layout_marginTop="@dimen/dp_12"
|
||||
app:banner_auto_loop="false"
|
||||
app:banner_infinite_loop="false"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_vip_content1" />
|
||||
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_vip_content1"
|
||||
/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
@ -260,6 +263,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="@dimen/dp_15"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:lineSpacingExtra="@dimen/dp_2"
|
||||
android:text="@string/ve_store_tips"
|
||||
android:textColor="@color/white50"
|
||||
|
@ -1,9 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="@dimen/dp_330"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_12"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:id="@+id/rl_layout"
|
||||
android:background="@mipmap/iv_store_vip_bg_1">
|
||||
|
||||
<TextView
|
||||
|
@ -46,16 +46,17 @@
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_vip"
|
||||
<com.youth.banner.Banner
|
||||
android:id="@+id/banner_vip"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_15"
|
||||
android:layout_marginTop="@dimen/dp_15"
|
||||
android:layout_height="@dimen/dp_135"
|
||||
android:layout_marginTop="@dimen/dp_12"
|
||||
android:visibility="gone"
|
||||
app:banner_auto_loop="false"
|
||||
app:banner_infinite_loop="false"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_coins_text" />
|
||||
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_coins_text"
|
||||
/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_buy_hint"
|
||||
@ -64,6 +65,7 @@
|
||||
android:layout_marginHorizontal="@dimen/dp_15"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:background="@drawable/bg_player_buy_hint"
|
||||
android:visibility="gone"
|
||||
android:lineSpacingExtra="@dimen/dp_5"
|
||||
android:paddingHorizontal="@dimen/dp_15"
|
||||
android:paddingVertical="@dimen/dp_10"
|
||||
@ -71,7 +73,7 @@
|
||||
android:textColor="@color/white80"
|
||||
android:textSize="@dimen/sp_12"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/recycler_vip" />
|
||||
app:layout_constraintTop_toBottomOf="@+id/banner_vip" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_coin"
|
||||
|
@ -42,7 +42,13 @@
|
||||
<string name="feedback_history">Feedback History</string>
|
||||
<string name="feedback_detail">Feedback Detail</string>
|
||||
<string name="unlimited_access_to_all_series_for_1">· Unlimited access to all series for 1 week (No Ads).\n· The donate coins will expire in 8 days.\n· Auto renew, cancel anytime.</string>
|
||||
<string name="unlimited_access_to_all_series_for_1_br"><![CDATA[· Unlimited access to all series for 1 week (No Ads).<br>· The donate coins will expire in 8 days.<br>· Auto renew, cancel anytime.]]></string>
|
||||
<string name="unlimited_access_to_all_series_for_1_br">
|
||||
<![CDATA[
|
||||
· Unlimited access to all series for <font color="#05CEA0">1 ##</font> (No Ads).<br>
|
||||
· The donate coins will expire in <font color="#05CEA0">#1# days</font>.<br>
|
||||
· Auto renew, cancel anytime.
|
||||
]]>
|
||||
</string>
|
||||
<string name="your_coins">Your Coins:</string>
|
||||
<string name="language">Language</string>
|
||||
<string name="welcome_to_veloria">Welcome to Veloria</string>
|
||||
|
Loading…
x
Reference in New Issue
Block a user