veloria three 6.27 commit
This commit is contained in:
parent
e1dd2d7497
commit
3ef9afca66
@ -17,8 +17,8 @@ android {
|
||||
applicationId = "com.veloria.now.shortapp"
|
||||
minSdk = 24
|
||||
targetSdk = 34
|
||||
versionCode = 8
|
||||
versionName = "1.0.6"
|
||||
versionCode = 9
|
||||
versionName = "1.0.7"
|
||||
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
|
@ -222,7 +222,7 @@ object RYAction {
|
||||
var checkboxM: Int = 5689
|
||||
|
||||
|
||||
hotsCategory_d2 = MMKV.defaultMMKV()
|
||||
hotsCategory_d2 = MMKV.mmkvWithID("veloria")
|
||||
}
|
||||
return hotsCategory_d2!!
|
||||
}
|
||||
|
@ -326,7 +326,6 @@ class GColorsFragment : JItemServiceFragment<VpnInterceptorBinding, PWidthClient
|
||||
|
||||
isQualityRefresh = true
|
||||
|
||||
restoreRightKeyboardFirstProfileActivity()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -230,7 +230,7 @@ class UColorsAvatarFragment : JItemServiceFragment<EvBodyloadHomeBinding, OMNorm
|
||||
binding.tvAboutUs.text = TranslationHelper.getTranslation()?.veloria_me_about
|
||||
binding.tvFavorites.text = TranslationHelper.getTranslation()?.veloria_favorites
|
||||
}
|
||||
|
||||
viewModel.getUserInfo()
|
||||
setPushUI()
|
||||
setShowVipSlashDialog()
|
||||
|
||||
@ -429,6 +429,10 @@ class UColorsAvatarFragment : JItemServiceFragment<EvBodyloadHomeBinding, OMNorm
|
||||
.putInt(JActivityAdapter.CONSTANTS_QUALITY, 720)
|
||||
}
|
||||
EventBus.getDefault().post(CONSTANTS_QUALITY_REFRESH)
|
||||
} else if (RYAction.isTouristTo()) {
|
||||
RYAction.getMMKV()
|
||||
.putInt(JActivityAdapter.CONSTANTS_QUALITY, 540)
|
||||
EventBus.getDefault().post(CONSTANTS_QUALITY_REFRESH)
|
||||
}
|
||||
}
|
||||
|
||||
@ -448,10 +452,7 @@ class UColorsAvatarFragment : JItemServiceFragment<EvBodyloadHomeBinding, OMNorm
|
||||
.post(JActivityAdapter.HOME_ENTER_THE_APP)
|
||||
EventBus.getDefault()
|
||||
.post(JActivityAdapter.HOME_USER_REFRESH)
|
||||
// RYAction.getMMKV()
|
||||
// .putInt(JActivityAdapter.CONSTANTS_QUALITY, 540)
|
||||
EventBus.getDefault()
|
||||
.post(JActivityAdapter.CONSTANTS_QUALITY_REFRESH)
|
||||
|
||||
EventBus.getDefault()
|
||||
.post(JActivityAdapter.HOME_NAVIGATE_TO_HOME)
|
||||
EventBus.getDefault()
|
||||
@ -459,16 +460,31 @@ class UColorsAvatarFragment : JItemServiceFragment<EvBodyloadHomeBinding, OMNorm
|
||||
|
||||
}
|
||||
}
|
||||
viewModel.PaySettingsV3.observe(this) {
|
||||
viewModel.paySettingsV3Me.observe(this) {
|
||||
if (it?.data != null) {
|
||||
if (it.data.list_sub_vip.isNotEmpty()) {
|
||||
setVipSlashDialog(it.data.list_sub_vip)
|
||||
|
||||
vipSplashDialog?.setAdapterSubmitList(it.data.list_sub_vip)
|
||||
vipSplashDialog?.show()
|
||||
isVipSplash = true
|
||||
|
||||
it.data.list_sub_vip.let { it1 -> querySubVipProductDetails(it1) }
|
||||
} else {
|
||||
if (billingClientMe != null) {
|
||||
billingClientMe?.endConnection()
|
||||
billingClientMe = null
|
||||
System.gc()
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (billingClientMe != null) {
|
||||
billingClientMe?.endConnection()
|
||||
billingClientMe = null
|
||||
System.gc()
|
||||
}
|
||||
}
|
||||
}
|
||||
viewModel.createPayOrderData.observe(this) {
|
||||
viewModel.createPayOrderLiveData.observe(this) {
|
||||
if (it?.data != null) {
|
||||
order_code = it.data.order_code.toString()
|
||||
vipData?.android_template_id?.let { it1 -> getProduct(it1) }
|
||||
@ -481,7 +497,7 @@ class UColorsAvatarFragment : JItemServiceFragment<EvBodyloadHomeBinding, OMNorm
|
||||
hideLoading()
|
||||
}
|
||||
}
|
||||
viewModel.googlePaidData.observe(this) {
|
||||
viewModel.googlePaidLiveData.observe(this) {
|
||||
if (it?.data != null) {
|
||||
if (TranslationHelper.getTranslation() != null) {
|
||||
toast(TranslationHelper.getTranslation()?.veloria_google_pay_success.toString())
|
||||
@ -841,8 +857,8 @@ class UColorsAvatarFragment : JItemServiceFragment<EvBodyloadHomeBinding, OMNorm
|
||||
binding.root.postDelayed({
|
||||
// if (!RYAction.isVipTo() && !isVipSplash) {
|
||||
if (setShowVIPSlash() && !RYAction.isVipTo() && !isVipSplash) {
|
||||
initPayData()
|
||||
viewModel.getPaySettingsV3(0, 0)
|
||||
setVipSlashDialog()
|
||||
|
||||
}
|
||||
}, 1000)
|
||||
}
|
||||
@ -856,11 +872,11 @@ class UColorsAvatarFragment : JItemServiceFragment<EvBodyloadHomeBinding, OMNorm
|
||||
view?.visibility == View.VISIBLE
|
||||
}
|
||||
|
||||
private fun setVipSlashDialog(vipBeans: List<VePaySettingsBean.VipBean>) {
|
||||
private fun setVipSlashDialog() {
|
||||
if (!isFragmentVisible()) {
|
||||
return
|
||||
}
|
||||
vipSplashDialog = VipSplashDialog(requireContext(), vipBeans).apply {
|
||||
vipSplashDialog = VipSplashDialog(requireContext()).apply {
|
||||
setOnVipSplashOnClickListener(object :
|
||||
VipSplashDialog.SetVipSplashOnClick {
|
||||
override fun onVipSplash() {
|
||||
@ -883,7 +899,7 @@ class UColorsAvatarFragment : JItemServiceFragment<EvBodyloadHomeBinding, OMNorm
|
||||
}
|
||||
vipData = vipBean
|
||||
showLoading()
|
||||
viewModel.setCreatePayOrder(
|
||||
viewModel.setCreatePayOrderMe(
|
||||
VeCreatePayOrderReqBean(
|
||||
vipData?.id.toString(),
|
||||
"google",
|
||||
@ -894,6 +910,10 @@ class UColorsAvatarFragment : JItemServiceFragment<EvBodyloadHomeBinding, OMNorm
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
initPayData()
|
||||
viewModel.getPaySettingsV3Me(0, 0)
|
||||
|
||||
vipSplashDialog?.setOnDismissListener {
|
||||
RYAction.getMMKV().putLong(
|
||||
JActivityAdapter.ACCOUNT_DIALOG_TIME_VIP_SPLASH,
|
||||
@ -904,9 +924,8 @@ class UColorsAvatarFragment : JItemServiceFragment<EvBodyloadHomeBinding, OMNorm
|
||||
billingClientMe = null
|
||||
System.gc()
|
||||
}
|
||||
vipSplashDialog?.show()
|
||||
|
||||
vipSplashDialog?.setVipSplashOnClick
|
||||
isVipSplash = true
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
@ -1021,7 +1040,7 @@ class UColorsAvatarFragment : JItemServiceFragment<EvBodyloadHomeBinding, OMNorm
|
||||
payBeanReq = vePayBean
|
||||
if (it.responseCode == BillingClient.BillingResponseCode.OK) {
|
||||
lifecycleScope.launch {
|
||||
viewModel.setGooglePaid(vePayBean)
|
||||
viewModel.setGooglePaidMe(vePayBean)
|
||||
}
|
||||
} else {
|
||||
RYAction.saveOrder(vePayBean)
|
||||
|
@ -41,27 +41,27 @@ class OMNormalInstrumented : SStringsHelp() {
|
||||
_logoutLiveData.value = result.getOrNull()
|
||||
}
|
||||
|
||||
private val _paySettingsV3 = MutableLiveData<TStore<VePaySettingsBean>?>()
|
||||
val PaySettingsV3: MutableLiveData<TStore<VePaySettingsBean>?> get() = _paySettingsV3
|
||||
fun getPaySettingsV3(short_play_id: Int, short_play_video_id: Int) =
|
||||
private val _paySettingsV3Me = MutableLiveData<TStore<VePaySettingsBean>?>()
|
||||
val paySettingsV3Me: MutableLiveData<TStore<VePaySettingsBean>?> get() = _paySettingsV3Me
|
||||
fun getPaySettingsV3Me(short_play_id: Int, short_play_video_id: Int) =
|
||||
repository.getPaySettingsV3(short_play_id,short_play_video_id).observeForever { result ->
|
||||
_paySettingsV3.value = result.getOrNull()
|
||||
_paySettingsV3Me.value = result.getOrNull()
|
||||
}
|
||||
|
||||
|
||||
private val createPayOrderLiveData = MutableLiveData<TStore<VeCreatePayOrderBean>?>()
|
||||
val createPayOrderData: MutableLiveData<TStore<VeCreatePayOrderBean>?> get() = createPayOrderLiveData
|
||||
fun setCreatePayOrder(createOrderReq: VeCreatePayOrderReqBean) {
|
||||
private val _createPayOrderLiveData = MutableLiveData<TStore<VeCreatePayOrderBean>?>()
|
||||
val createPayOrderLiveData: MutableLiveData<TStore<VeCreatePayOrderBean>?> get() = _createPayOrderLiveData
|
||||
fun setCreatePayOrderMe(createOrderReq: VeCreatePayOrderReqBean) {
|
||||
repository.setCreatePayOrder(createOrderReq).observeForever { result ->
|
||||
createPayOrderLiveData.value = result.getOrNull()
|
||||
_createPayOrderLiveData.value = result.getOrNull()
|
||||
}
|
||||
}
|
||||
|
||||
private val googlePaidLiveData = MutableLiveData<TStore<VePayResBean>?>()
|
||||
val googlePaidData: MutableLiveData<TStore<VePayResBean>?> get() = googlePaidLiveData
|
||||
fun setGooglePaid(vePayBean: VePayBean?) {
|
||||
private val _googlePaidLiveData = MutableLiveData<TStore<VePayResBean>?>()
|
||||
val googlePaidLiveData: MutableLiveData<TStore<VePayResBean>?> get() = _googlePaidLiveData
|
||||
fun setGooglePaidMe(vePayBean: VePayBean?) {
|
||||
repository.setGooglePaid(vePayBean).observeForever { result ->
|
||||
googlePaidLiveData.value = result.getOrNull()
|
||||
_googlePaidLiveData.value = result.getOrNull()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -9,6 +9,7 @@ import android.os.Bundle
|
||||
import android.text.Html
|
||||
import android.view.Gravity
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.view.WindowManager
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
@ -93,6 +94,8 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() {
|
||||
promise_view_ad = parcelable?.promise_view_ad
|
||||
|
||||
if (TranslationHelper.getTranslation() != null) {
|
||||
binding?.tvVipTitle?.text =
|
||||
"VIP | ".plus(TranslationHelper.getTranslation()?.veloria_store_auto_renew)
|
||||
binding?.tvCoinsText?.text = TranslationHelper.getTranslation()?.veloria_your_coins
|
||||
binding?.tvCoinTitle?.text = TranslationHelper.getTranslation()?.veloria_coin_buy_title
|
||||
binding?.tvUnlockText?.text = TranslationHelper.getTranslation()?.veloria_unlock
|
||||
@ -211,7 +214,10 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() {
|
||||
window?.setGravity(Gravity.BOTTOM)
|
||||
val layoutParams = window?.attributes
|
||||
layoutParams?.width = WindowManager.LayoutParams.MATCH_PARENT
|
||||
layoutParams?.height = (requireActivity().resources.displayMetrics.heightPixels - requireActivity().resources.getDimension(R.dimen.dp_90)).toInt()
|
||||
layoutParams?.height =
|
||||
(requireActivity().resources.displayMetrics.heightPixels - requireActivity().resources.getDimension(
|
||||
R.dimen.dp_90
|
||||
)).toInt()
|
||||
window?.attributes = layoutParams
|
||||
return dialog
|
||||
}
|
||||
@ -266,6 +272,12 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() {
|
||||
fun observeData() {
|
||||
viewModel.PaySettingsV3.observe(this) {
|
||||
if (it?.data != null) {
|
||||
if (it.data.sort.isNotEmpty() && it.data.sort[0] == "list_coins") {
|
||||
val parent = binding?.llCoins?.parent as? ViewGroup
|
||||
parent?.removeView(binding?.llCoins)
|
||||
binding?.llList?.addView(binding?.llCoins, 0)
|
||||
}
|
||||
|
||||
if (it.data.list_sub_vip.isNotEmpty()) {
|
||||
vipAdapter?.submitList(it.data.list_sub_vip)
|
||||
binding?.recyclerVip?.visibility = View.VISIBLE
|
||||
|
@ -22,7 +22,7 @@ import com.veloria.now.shortapp.subtractionCroll.modificationsPretch.VeVipSplash
|
||||
import com.veloria.now.shortapp.texturedAsink.VePaySettingsBean
|
||||
|
||||
@SuppressLint("MissingInflatedId")
|
||||
class VipSplashDialog(context: Context,vipBeans: List<VePaySettingsBean.VipBean>) : Dialog(context) {
|
||||
class VipSplashDialog(context: Context) : Dialog(context) {
|
||||
var setVipSplashOnClick: SetVipSplashOnClick? = null
|
||||
private var vipAdapter: VeVipSplashAdapter? = null
|
||||
|
||||
@ -62,8 +62,6 @@ class VipSplashDialog(context: Context,vipBeans: List<VePaySettingsBean.VipBean>
|
||||
recyclerView.layoutManager = LinearLayoutManager(context)
|
||||
vipAdapter = VeVipSplashAdapter()
|
||||
recyclerView.adapter = vipAdapter
|
||||
vipAdapter?.submitList(vipBeans)
|
||||
|
||||
|
||||
ivClose.setOnClickListener {
|
||||
singleOnClick {
|
||||
|
@ -456,7 +456,7 @@ class MQVAutoWidthActivity :
|
||||
}
|
||||
if (JActivityAdapter.VIDEO_PAY_REFRESH == event) {
|
||||
needRestart = true
|
||||
viewModel.getUserInfo()
|
||||
viewModel.getUserInfoTwo()
|
||||
}
|
||||
if (JActivityAdapter.VIDEO_PAY_REFRESH_DISMISS == event) {
|
||||
isBuyShowDialog = false
|
||||
@ -1959,6 +1959,35 @@ class MQVAutoWidthActivity :
|
||||
}
|
||||
}
|
||||
}
|
||||
viewModel.userInfoTwo.observe(this) {
|
||||
it?.data?.let {
|
||||
RYAction.saveUserInfoBean(it)
|
||||
if (needRestart) {
|
||||
if (TranslationHelper.getTranslation() != null) {
|
||||
binding.layoutLock.tvBalance.text =
|
||||
TranslationHelper.getTranslation()?.veloria_balance.plus(": ")
|
||||
.plus(RYAction.getUserInfoBean()?.coin_left_total.toString())
|
||||
.plus(TranslationHelper.getTranslation()?.veloria_coins)
|
||||
.plus(" | ")
|
||||
.plus(RYAction.getUserInfoBean()?.send_coin_left_total.toString())
|
||||
.plus(" ")
|
||||
.plus(TranslationHelper.getTranslation()?.veloria_bonus)
|
||||
} else {
|
||||
binding.layoutLock.tvBalance.text =
|
||||
"Balance: ".plus(RYAction.getUserInfoBean()?.coin_left_total.toString())
|
||||
.plus(" Coins | ")
|
||||
.plus(RYAction.getUserInfoBean()?.send_coin_left_total.toString())
|
||||
.plus(" Bonus")
|
||||
}
|
||||
if (RYAction.isVipTo()) {
|
||||
revolution = "1080"
|
||||
RYAction.getMMKV().putInt(JActivityAdapter.CONSTANTS_QUALITY, 1080)
|
||||
EventBus.getDefault().post(CONSTANTS_QUALITY_REFRESH)
|
||||
}
|
||||
detailRefresh()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
viewModel.doBuyVideo.observe(this) {
|
||||
it?.data?.let {
|
||||
|
@ -950,8 +950,6 @@ class PSVHomeSearchActivity : AIXTextActivity<JsDramaFragmentBinding, JService>(
|
||||
)
|
||||
needSave = true
|
||||
w2aSelfAttribution(clipContent)
|
||||
RYAction.getMMKV()
|
||||
.putString(JActivityAdapter.HOME_DDL_URL, "")
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -980,11 +978,11 @@ class PSVHomeSearchActivity : AIXTextActivity<JsDramaFragmentBinding, JService>(
|
||||
JActivityAdapter.VIDEO_SHORT_PLAY_ID, toInt
|
||||
)
|
||||
})
|
||||
RYAction.getMMKV().getString(JActivityAdapter.HOME_DDL_URL, "")
|
||||
RYAction.getMMKV().putString(JActivityAdapter.HOME_DDL_URL, "")
|
||||
}, 200)
|
||||
}
|
||||
} else {
|
||||
RYAction.getMMKV().getString(JActivityAdapter.HOME_DDL_URL, "")
|
||||
RYAction.getMMKV().putString(JActivityAdapter.HOME_DDL_URL, "")
|
||||
}
|
||||
}
|
||||
}, 1500)
|
||||
@ -1083,9 +1081,7 @@ class PSVHomeSearchActivity : AIXTextActivity<JsDramaFragmentBinding, JService>(
|
||||
// setDeeplinkFbApi(facebook_id)
|
||||
}
|
||||
}
|
||||
singleOnClick {
|
||||
data?.let { viewModel.setW2aSelfAttribution(it) }
|
||||
}
|
||||
data?.let { viewModel.setW2aSelfAttribution(it) }
|
||||
}
|
||||
|
||||
private fun getFirebaseMessaging() {
|
||||
|
@ -4,6 +4,7 @@ import android.graphics.Rect
|
||||
import android.os.Build
|
||||
import android.text.Html
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.activity.viewModels
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
@ -46,7 +47,7 @@ import kotlinx.coroutines.flow.flow
|
||||
import kotlinx.coroutines.flow.onEach
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
class VeStoreActivity : AIXTextActivity<ActivityVeStoreBinding, VeStoreViewModel>() , NOFfmpeg {
|
||||
class VeStoreActivity : AIXTextActivity<ActivityVeStoreBinding, VeStoreViewModel>(), NOFfmpeg {
|
||||
|
||||
val viewModel: VeStoreViewModel by viewModels()
|
||||
|
||||
@ -74,6 +75,7 @@ class VeStoreActivity : AIXTextActivity<ActivityVeStoreBinding, VeStoreViewModel
|
||||
|
||||
if (TranslationHelper.getTranslation() != null) {
|
||||
binding.tvTitle.text = TranslationHelper.getTranslation()?.veloria_store
|
||||
binding.tvVipTitle.text = "VIP | ".plus(TranslationHelper.getTranslation()?.veloria_store_auto_renew)
|
||||
binding.tvCoinTitle.text = TranslationHelper.getTranslation()?.veloria_coin_buy_title
|
||||
binding.tvRestore.text = TranslationHelper.getTranslation()?.veloria_restore
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||
@ -183,7 +185,7 @@ class VeStoreActivity : AIXTextActivity<ActivityVeStoreBinding, VeStoreViewModel
|
||||
|
||||
setOnPayNowClick()
|
||||
}
|
||||
binding.tvRestore.setOnClickListener{
|
||||
binding.tvRestore.setOnClickListener {
|
||||
singleOnClick {
|
||||
if (RYAction.getOrder().isNotEmpty()
|
||||
) {
|
||||
@ -202,9 +204,13 @@ class VeStoreActivity : AIXTextActivity<ActivityVeStoreBinding, VeStoreViewModel
|
||||
.collect {}
|
||||
}
|
||||
} else {
|
||||
if (TranslationHelper.getTranslation() != null){
|
||||
TranslationHelper.getTranslation()?.veloria_no_restore?.let { it1 -> toast(it1) }
|
||||
}else {
|
||||
if (TranslationHelper.getTranslation() != null) {
|
||||
TranslationHelper.getTranslation()?.veloria_no_restore?.let { it1 ->
|
||||
toast(
|
||||
it1
|
||||
)
|
||||
}
|
||||
} else {
|
||||
toast("No orders to restore")
|
||||
}
|
||||
}
|
||||
@ -258,6 +264,11 @@ class VeStoreActivity : AIXTextActivity<ActivityVeStoreBinding, VeStoreViewModel
|
||||
override fun observeData() {
|
||||
viewModel.PaySettingsV3.observe(this) {
|
||||
if (it?.data != null) {
|
||||
if (it.data.sort.isNotEmpty() && it.data.sort[0] == "list_coins") {
|
||||
val parent = binding.llCoins.parent as? ViewGroup
|
||||
parent?.removeView(binding.llCoins)
|
||||
binding.llList.addView(binding.llCoins, 0)
|
||||
}
|
||||
if (it.data.list_sub_vip.isNotEmpty()) {
|
||||
vipAdapter?.submitList(it.data.list_sub_vip)
|
||||
binding.recyclerVip.visibility = View.VISIBLE
|
||||
@ -342,7 +353,7 @@ class VeStoreActivity : AIXTextActivity<ActivityVeStoreBinding, VeStoreViewModel
|
||||
}
|
||||
hideLoading()
|
||||
}
|
||||
viewModel.restorePaidData.observe(this){
|
||||
viewModel.restorePaidData.observe(this) {
|
||||
if (it != null) {
|
||||
it.data?.order_code?.let { it1 -> RYAction.removeOrderString(it1) }
|
||||
if (RYAction.getOrder().size == 0) {
|
||||
@ -354,7 +365,7 @@ class VeStoreActivity : AIXTextActivity<ActivityVeStoreBinding, VeStoreViewModel
|
||||
viewModel.getUserInfo()
|
||||
isBuy = true
|
||||
}
|
||||
}else {
|
||||
} else {
|
||||
if (TranslationHelper.getTranslation() != null) {
|
||||
toast(TranslationHelper.getTranslation()?.veloria_network.toString())
|
||||
} else {
|
||||
|
@ -102,6 +102,13 @@ private var moreSecond_sum: Int = 6970
|
||||
_userInfo.value = result.getOrNull()
|
||||
}
|
||||
|
||||
private val _userInfoTwo = MutableLiveData<TStore<KFAFavoritesInterceptorBean>?>()
|
||||
val userInfoTwo: MutableLiveData<TStore<KFAFavoritesInterceptorBean>?> get() = _userInfoTwo
|
||||
fun getUserInfoTwo() =
|
||||
repository.getUserInfo().observeForever { result ->
|
||||
_userInfoTwo.value = result.getOrNull()
|
||||
}
|
||||
|
||||
private val qualityLiveData = MutableLiveData<TStore<VeRevolutionsBean>?>()
|
||||
val qualityData: MutableLiveData<TStore<VeRevolutionsBean>?> get() = qualityLiveData
|
||||
fun getQualityData() {
|
||||
|
@ -1,6 +1,7 @@
|
||||
package com.veloria.now.shortapp.texturedAsink
|
||||
|
||||
class VePaySettingsBean(
|
||||
val sort: List<String>,
|
||||
val list_coins: List<CoinsBean>,
|
||||
val list_vip: List<VipBean>,
|
||||
val list_sub_vip: List<VipBean>,
|
||||
|
@ -53,48 +53,69 @@
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:id="@+id/ll_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_vip_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_15"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:text="VIP | Auto renew, cancel anytime"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sp_13"
|
||||
/>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_vip"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_coin_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_15"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:text="Top Up | Indefinitely use"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sp_13"
|
||||
app:layout_constraintBottom_toTopOf="@+id/recycler_coin_big"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/recycler_vip" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_coin_big"
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:id="@+id/ll_coins"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="@dimen/dp_10"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_coin_title" />
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_coin"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="@dimen/dp_10"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/recycler_coin_big" />
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_coin_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_15"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:text="Top Up | Indefinitely use"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sp_13"
|
||||
app:layout_constraintBottom_toTopOf="@+id/recycler_coin_big"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/recycler_vip" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_coin_big"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="@dimen/dp_10"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_coin_title" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_coin"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="@dimen/dp_10"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/recycler_coin_big" />
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_tips"
|
||||
android:layout_width="match_parent"
|
||||
@ -108,8 +129,6 @@
|
||||
android:textSize="@dimen/sp_12"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/recycler_coin" />
|
||||
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
@ -81,47 +81,72 @@
|
||||
android:layout_below="@+id/iv_close_dialog"
|
||||
android:layout_marginTop="@dimen/dp_7">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:id="@+id/ll_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_vip_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_15"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:text="VIP | Auto renew, cancel anytime"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sp_13"
|
||||
/>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_vip"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_coin_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_15"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:text="Top Up | Indefinitely use"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sp_13"
|
||||
app:layout_constraintBottom_toTopOf="@+id/recycler_coin_big"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/recycler_vip" />
|
||||
/>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_coin_big"
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:id="@+id/ll_coins"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="@dimen/dp_10"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_coin_title" />
|
||||
app:layout_constraintTop_toBottomOf="@+id/recycler_vip"
|
||||
>
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_coin_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_15"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:text="Top Up | Indefinitely use"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sp_13"
|
||||
app:layout_constraintBottom_toTopOf="@+id/recycler_coin_big"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/recycler_vip" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_coin_big"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="@dimen/dp_10"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_coin_title" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_coin"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="@dimen/dp_10"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/recycler_coin_big" />
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_coin"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="@dimen/dp_10"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/recycler_coin_big" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_tips"
|
||||
@ -136,9 +161,9 @@
|
||||
android:textSize="@dimen/sp_12"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/recycler_coin" />
|
||||
app:layout_constraintTop_toBottomOf="@+id/ll_coins" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:layout_marginEnd="4dp" />
|
||||
/>
|
||||
<ScrollView
|
||||
android:visibility="gone"
|
||||
android:layout_width="match_parent"
|
||||
@ -27,6 +27,7 @@ android:background="#EF96BC">
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:layout_marginStart="@dimen/dp_4"
|
||||
android:fontFamily="sans-serif-medium"
|
||||
android:maxLines="1"
|
||||
android:textSize="@dimen/sp_13" />
|
||||
|
Loading…
x
Reference in New Issue
Block a user