veloria three 6.17 commit

This commit is contained in:
yuyl 2025-06-17 14:41:03 +08:00
parent a004e34e05
commit 28b91d8412
11 changed files with 91 additions and 33 deletions

View File

@ -17,8 +17,8 @@ android {
applicationId = "com.veloria.now.shortapp" applicationId = "com.veloria.now.shortapp"
minSdk = 24 minSdk = 24
targetSdk = 34 targetSdk = 34
versionCode = 3 versionCode = 5
versionName = "1.0.2" versionName = "1.0.4"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
} }

View File

@ -480,13 +480,6 @@ object RYAction {
val toJson = Gson().toJson(list) val toJson = Gson().toJson(list)
getMMKV().putString(JActivityAdapter.PAY_ORDER_PAY_BEAN, toJson) getMMKV().putString(JActivityAdapter.PAY_ORDER_PAY_BEAN, toJson)
} }
fun removeOrder(payReq: VePayBean?) {
val updatedList = getOrder().filterNot { it == payReq }
getMMKV().putString(
JActivityAdapter.PAY_ORDER_PAY_BEAN,
Gson().toJson(updatedList)
)
}
fun removeOrderString(order: String) { fun removeOrderString(order: String) {
val updatedList = getOrder().filterNot { it.order_code == order } val updatedList = getOrder().filterNot { it.order_code == order }

View File

@ -22,6 +22,7 @@ import com.veloria.now.shortapp.texturedAsink.VeCustomerOrderBean
import com.veloria.now.shortapp.texturedAsink.VeDetailsRecommendBean import com.veloria.now.shortapp.texturedAsink.VeDetailsRecommendBean
import com.veloria.now.shortapp.texturedAsink.VeNoticeNumBean import com.veloria.now.shortapp.texturedAsink.VeNoticeNumBean
import com.veloria.now.shortapp.texturedAsink.VePayBean import com.veloria.now.shortapp.texturedAsink.VePayBean
import com.veloria.now.shortapp.texturedAsink.VePayResBean
import com.veloria.now.shortapp.texturedAsink.VePaySettingsBean import com.veloria.now.shortapp.texturedAsink.VePaySettingsBean
import com.veloria.now.shortapp.texturedAsink.VeRevolutionsBean import com.veloria.now.shortapp.texturedAsink.VeRevolutionsBean
import com.veloria.now.shortapp.texturedAsink.VeRewardCoinsBean import com.veloria.now.shortapp.texturedAsink.VeRewardCoinsBean
@ -225,7 +226,7 @@ interface BIFBase {
): Call<TStore<VeCreatePayOrderBean>> ): Call<TStore<VeCreatePayOrderBean>>
@POST("googlePaid") @POST("googlePaid")
fun setGooglePaid(@Body vePayBean: VePayBean?): Call<TStore<VePayBean>> fun setGooglePaid(@Body vePayBean: VePayBean?): Call<TStore<VePayResBean>>
@GET("getRevolutions") @GET("getRevolutions")
fun getRevolutions( fun getRevolutions(

View File

@ -1,32 +1,32 @@
package com.veloria.now.shortapp.highbits.qscaleqlog package com.veloria.now.shortapp.highbits.qscaleqlog
import androidx.lifecycle.LiveData import androidx.lifecycle.LiveData
import com.veloria.now.shortapp.newsletter.TStore
import com.veloria.now.shortapp.texturedAsink.SManifestBean
import com.veloria.now.shortapp.texturedAsink.TMainExtractionBean
import com.veloria.now.shortapp.texturedAsink.VModuleManifestBean
import com.veloria.now.shortapp.texturedAsink.ESTimeBean
import com.veloria.now.shortapp.texturedAsink.QVNetworkDashboardBean
import com.veloria.now.shortapp.texturedAsink.GStateBean
import com.veloria.now.shortapp.highbits.QGift import com.veloria.now.shortapp.highbits.QGift
import com.veloria.now.shortapp.highbits.QGift.handleData import com.veloria.now.shortapp.highbits.QGift.handleData
import com.veloria.now.shortapp.highbits.QGift.response import com.veloria.now.shortapp.highbits.QGift.response
import com.veloria.now.shortapp.newsletter.TStore
import com.veloria.now.shortapp.texturedAsink.DoLoginBean import com.veloria.now.shortapp.texturedAsink.DoLoginBean
import com.veloria.now.shortapp.texturedAsink.ESTimeBean
import com.veloria.now.shortapp.texturedAsink.GStateBean
import com.veloria.now.shortapp.texturedAsink.KFAFavoritesInterceptorBean import com.veloria.now.shortapp.texturedAsink.KFAFavoritesInterceptorBean
import com.veloria.now.shortapp.texturedAsink.LoginDataBean import com.veloria.now.shortapp.texturedAsink.LoginDataBean
import com.veloria.now.shortapp.texturedAsink.QVNetworkDashboardBean
import com.veloria.now.shortapp.texturedAsink.SManifestBean
import com.veloria.now.shortapp.texturedAsink.TMainExtractionBean
import com.veloria.now.shortapp.texturedAsink.VModuleManifestBean
import com.veloria.now.shortapp.texturedAsink.VePayBean
import com.veloria.now.shortapp.texturedAsink.VePayResBean
import com.veloria.now.shortapp.texturedAsink.VeUploadNotificationBean import com.veloria.now.shortapp.texturedAsink.VeUploadNotificationBean
import com.veloria.now.shortapp.texturedAsink.VeUploadNotificationDataBean import com.veloria.now.shortapp.texturedAsink.VeUploadNotificationDataBean
import com.veloria.now.shortapp.texturedAsink.VeW2aSelfAttributionBean import com.veloria.now.shortapp.texturedAsink.VeW2aSelfAttributionBean
import kotlin.math.min
import kotlin.math.max
class NMQRepositoryFfmpeg { class NMQRepositoryFfmpeg {
@Volatile @Volatile
var gradleRadiusCurrent_list: MutableList<String> = mutableListOf<String>() var gradleRadiusCurrent_list: MutableList<String> = mutableListOf<String>()
@Volatile
private var enewsGradleStatusSize: Double = 5122.0
@Volatile
private var enewsGradleStatusSize: Double = 5122.0
private val mainService = QGift.apiService private val mainService = QGift.apiService
@ -186,4 +186,12 @@ private var enewsGradleStatusSize: Double = 5122.0
} }
private suspend fun googlePaid(vePayBean: VePayBean?) =
mainService.setGooglePaid(vePayBean).response()
fun setGooglePaid(vePayBean: VePayBean?): LiveData<Result<TStore<VePayResBean>>> =
handleData {
googlePaid(vePayBean)
}
} }

View File

@ -14,6 +14,7 @@ import com.veloria.now.shortapp.texturedAsink.VeCreatePayOrderBean
import com.veloria.now.shortapp.texturedAsink.VeCreatePayOrderReqBean import com.veloria.now.shortapp.texturedAsink.VeCreatePayOrderReqBean
import com.veloria.now.shortapp.texturedAsink.VeDetailsRecommendBean import com.veloria.now.shortapp.texturedAsink.VeDetailsRecommendBean
import com.veloria.now.shortapp.texturedAsink.VePayBean import com.veloria.now.shortapp.texturedAsink.VePayBean
import com.veloria.now.shortapp.texturedAsink.VePayResBean
import com.veloria.now.shortapp.texturedAsink.VePaySettingsBean import com.veloria.now.shortapp.texturedAsink.VePaySettingsBean
import com.veloria.now.shortapp.texturedAsink.VeRevolutionsBean import com.veloria.now.shortapp.texturedAsink.VeRevolutionsBean
import kotlin.math.min import kotlin.math.min
@ -148,7 +149,7 @@ private var loginAdaptStr: String = "dlta"
private suspend fun googlePaid(vePayBean: VePayBean?) = private suspend fun googlePaid(vePayBean: VePayBean?) =
videoService.setGooglePaid(vePayBean).response() videoService.setGooglePaid(vePayBean).response()
fun setGooglePaid(vePayBean: VePayBean?): LiveData<Result<TStore<VePayBean>>> = fun setGooglePaid(vePayBean: VePayBean?): LiveData<Result<TStore<VePayResBean>>> =
handleData { handleData {
googlePaid(vePayBean) googlePaid(vePayBean)
} }

View File

@ -538,6 +538,16 @@ class UColorsAvatarFragment : JItemServiceFragment<EvBodyloadHomeBinding, OMNorm
} }
} }
binding.tvStore.setOnClickListener { binding.tvStore.setOnClickListener {
singleOnClick {
startActivity(
Intent(
requireContext(),
VeStoreActivity::class.java
)
)
}
}
binding.clVip.setOnClickListener {
singleOnClick { singleOnClick {
var loggingY: MutableMap<String, String> = mutableMapOf<String, String>() var loggingY: MutableMap<String, String> = mutableMapOf<String, String>()
loggingY.put("trellis", "retried") loggingY.put("trellis", "retried")

View File

@ -13,6 +13,7 @@ import android.view.WindowManager
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.android.billingclient.api.AcknowledgePurchaseParams import com.android.billingclient.api.AcknowledgePurchaseParams
import com.android.billingclient.api.BillingClient import com.android.billingclient.api.BillingClient
@ -113,7 +114,8 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() {
} }
coinAdapter = VeStoreCoinAdapter() coinAdapter = VeStoreCoinAdapter()
binding?.recyclerCoin?.layoutManager = GridLayoutManager(requireContext(), 3) binding?.recyclerCoin?.layoutManager =
LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false)
binding?.recyclerCoin?.adapter = coinAdapter binding?.recyclerCoin?.adapter = coinAdapter
binding?.recyclerCoin?.addItemDecoration(object : RecyclerView.ItemDecoration() { binding?.recyclerCoin?.addItemDecoration(object : RecyclerView.ItemDecoration() {
override fun getItemOffsets( override fun getItemOffsets(
@ -122,8 +124,7 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() {
parent: RecyclerView, parent: RecyclerView,
state: RecyclerView.State state: RecyclerView.State
) { ) {
outRect.left = resources.getDimension(R.dimen.dp_5).toInt() outRect.right = resources.getDimension(R.dimen.dp_10).toInt()
outRect.right = resources.getDimension(R.dimen.dp_5).toInt()
outRect.bottom = resources.getDimension(R.dimen.dp_10).toInt() outRect.bottom = resources.getDimension(R.dimen.dp_10).toInt()
} }
}) })
@ -321,9 +322,6 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() {
} else { } else {
toast(getString(R.string.ve_google_pay_success)) toast(getString(R.string.ve_google_pay_success))
} }
if (null != payBeanReq) {
RYAction.removeOrder(payBeanReq)
}
EventBus.getDefault() EventBus.getDefault()
.post(JActivityAdapter.VIDEO_PAY_REFRESH) .post(JActivityAdapter.VIDEO_PAY_REFRESH)
dismiss() dismiss()

View File

@ -54,6 +54,11 @@ import com.veloria.now.shortapp.subtractionCroll.bidirectional.coordinate.JServi
import com.veloria.now.shortapp.texturedAsink.LoginDataBean import com.veloria.now.shortapp.texturedAsink.LoginDataBean
import com.veloria.now.shortapp.texturedAsink.VeHomeWatchBean import com.veloria.now.shortapp.texturedAsink.VeHomeWatchBean
import com.veloria.now.shortapp.texturedAsink.VeUploadNotificationBean import com.veloria.now.shortapp.texturedAsink.VeUploadNotificationBean
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.debounce
import kotlinx.coroutines.flow.flow
import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.Subscribe
@ -80,6 +85,7 @@ class PSVHomeSearchActivity : AIXTextActivity<JsDramaFragmentBinding, JService>(
val viewModel: JService by viewModels() val viewModel: JService by viewModels()
private var callbackManager: CallbackManager? = null private var callbackManager: CallbackManager? = null
private var scheduler: ScheduledExecutorService? = Executors.newSingleThreadScheduledExecutor() private var scheduler: ScheduledExecutorService? = Executors.newSingleThreadScheduledExecutor()
private val scope = CoroutineScope(Dispatchers.Main)
private fun rawEventShowPositionLatest(): MutableList<Boolean> { private fun rawEventShowPositionLatest(): MutableList<Boolean> {
var responseRemove = true var responseRemove = true
@ -257,7 +263,11 @@ class PSVHomeSearchActivity : AIXTextActivity<JsDramaFragmentBinding, JService>(
setAdjustToDetail() setAdjustToDetail()
} }
} }
viewModel.restorePaidData.observe(this) {
if (it != null) {
it.data?.order_code?.let { it1 -> RYAction.removeOrderString(it1) }
}
}
viewModel.onLineLiveData.observe(this) { viewModel.onLineLiveData.observe(this) {
} }
@ -572,6 +582,22 @@ class PSVHomeSearchActivity : AIXTextActivity<JsDramaFragmentBinding, JService>(
} }
binding.root.postDelayed({ setNotificationTo() }, 700) binding.root.postDelayed({ setNotificationTo() }, 700)
//处理失败订单
binding.root.postDelayed({
if (RYAction.getOrder().isNotEmpty()) {
val string = RYAction.getOrder()
scope.launch {
flow {
for (item in string) {
emit(item)
}
}.onEach { item ->
viewModel.setGooglePaid(item)
}.debounce(1000).collect {}
}
}
}, 3000)
} }
private fun stayPrimaryRecommendSearchToast( private fun stayPrimaryRecommendSearchToast(
@ -893,6 +919,8 @@ class PSVHomeSearchActivity : AIXTextActivity<JsDramaFragmentBinding, JService>(
) )
needSave = true needSave = true
w2aSelfAttribution(clipContent) w2aSelfAttribution(clipContent)
RYAction.getMMKV()
.putString(JActivityAdapter.HOME_DDL_URL, "")
} }
} }
} }

View File

@ -8,6 +8,8 @@ import com.veloria.now.shortapp.newsletter.TStore
import com.veloria.now.shortapp.texturedAsink.DoLoginBean import com.veloria.now.shortapp.texturedAsink.DoLoginBean
import com.veloria.now.shortapp.texturedAsink.LoginDataBean import com.veloria.now.shortapp.texturedAsink.LoginDataBean
import com.veloria.now.shortapp.texturedAsink.SManifestBean import com.veloria.now.shortapp.texturedAsink.SManifestBean
import com.veloria.now.shortapp.texturedAsink.VePayBean
import com.veloria.now.shortapp.texturedAsink.VePayResBean
import com.veloria.now.shortapp.texturedAsink.VeUploadNotificationBean import com.veloria.now.shortapp.texturedAsink.VeUploadNotificationBean
import com.veloria.now.shortapp.texturedAsink.VeUploadNotificationDataBean import com.veloria.now.shortapp.texturedAsink.VeUploadNotificationDataBean
import com.veloria.now.shortapp.texturedAsink.VeW2aSelfAttributionBean import com.veloria.now.shortapp.texturedAsink.VeW2aSelfAttributionBean
@ -137,4 +139,12 @@ class JService : SStringsHelp() {
repository.setSendReport(message_id, title).observeForever {} repository.setSendReport(message_id, title).observeForever {}
} }
private val restorePaidLiveData = MutableLiveData<TStore<VePayResBean>?>()
val restorePaidData: MutableLiveData<TStore<VePayResBean>?> get() = restorePaidLiveData
fun setGooglePaid(vePayBean: VePayBean?) {
repository.setGooglePaid(vePayBean).observeForever { result ->
restorePaidLiveData.value = result.getOrNull()
}
}
} }

View File

@ -8,6 +8,7 @@ import com.veloria.now.shortapp.texturedAsink.KFAFavoritesInterceptorBean
import com.veloria.now.shortapp.texturedAsink.VeCreatePayOrderBean import com.veloria.now.shortapp.texturedAsink.VeCreatePayOrderBean
import com.veloria.now.shortapp.texturedAsink.VeCreatePayOrderReqBean import com.veloria.now.shortapp.texturedAsink.VeCreatePayOrderReqBean
import com.veloria.now.shortapp.texturedAsink.VePayBean import com.veloria.now.shortapp.texturedAsink.VePayBean
import com.veloria.now.shortapp.texturedAsink.VePayResBean
import com.veloria.now.shortapp.texturedAsink.VePaySettingsBean import com.veloria.now.shortapp.texturedAsink.VePaySettingsBean
@ -48,8 +49,8 @@ class VeStoreViewModel : SStringsHelp() {
} }
} }
private val googlePaidLiveData = MutableLiveData<TStore<VePayBean>?>() private val googlePaidLiveData = MutableLiveData<TStore<VePayResBean>?>()
val googlePaidData: MutableLiveData<TStore<VePayBean>?> get() = googlePaidLiveData val googlePaidData: MutableLiveData<TStore<VePayResBean>?> get() = googlePaidLiveData
fun setGooglePaid(vePayBean: VePayBean?) { fun setGooglePaid(vePayBean: VePayBean?) {
repository.setGooglePaid(vePayBean).observeForever { result -> repository.setGooglePaid(vePayBean).observeForever { result ->
googlePaidLiveData.value = result.getOrNull() googlePaidLiveData.value = result.getOrNull()

View File

@ -0,0 +1,8 @@
package com.veloria.now.shortapp.texturedAsink
class VePayResBean(
val is_backhaul: Int,//1可以上传
val money: String,//回传价格
val order_code: String,
val status: String
)