veloria 1.1.0/ 7.8 commit

This commit is contained in:
yuyl 2025-07-08 09:30:29 +08:00
parent 3ef9afca66
commit 674fba9acd
28 changed files with 1097 additions and 857 deletions

View File

@ -11,14 +11,14 @@ plugins {
android { android {
namespace = "com.veloria.now.shortapp" namespace = "com.veloria.now.shortapp"
compileSdk = 34 compileSdk = 35
defaultConfig { defaultConfig {
applicationId = "com.veloria.now.shortapp" applicationId = "com.veloria.now.shortapp"
minSdk = 24 minSdk = 24
targetSdk = 34 targetSdk = 35
versionCode = 9 versionCode = 12
versionName = "1.0.7" versionName = "1.1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
} }

View File

@ -34,6 +34,14 @@
<category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter> </intent-filter>
</activity>
<activity
android:name="com.veloria.now.shortapp.subtractionCroll.bidirectional.PSVHomeSearchActivity"
android:configChanges="layoutDirection"
android:hardwareAccelerated="true"
android:exported="true"
android:launchMode="singleInstance" >
<intent-filter android:autoVerify="true"> <intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.VIEW" />
@ -43,14 +51,12 @@
<data android:scheme="veloriaapp" /> <data android:scheme="veloriaapp" />
</intent-filter> </intent-filter>
</activity> </activity>
<activity
android:name="com.veloria.now.shortapp.subtractionCroll.bidirectional.PSVHomeSearchActivity"
android:launchMode="singleTask"
android:windowSoftInputMode="adjustPan" />
<activity android:name="com.veloria.now.shortapp.subtractionCroll.bidirectional.HLanguageActivity" /> <activity android:name="com.veloria.now.shortapp.subtractionCroll.bidirectional.HLanguageActivity" />
<activity android:name="com.veloria.now.shortapp.subtractionCroll.bidirectional.MQVAutoWidthActivity" /> <activity android:name="com.veloria.now.shortapp.subtractionCroll.bidirectional.MQVAutoWidthActivity"
android:hardwareAccelerated="true"
android:launchMode="singleTask"
/>
<activity android:name="com.veloria.now.shortapp.subtractionCroll.bidirectional.RBZLatestDeteleActivity" /> <activity android:name="com.veloria.now.shortapp.subtractionCroll.bidirectional.RBZLatestDeteleActivity" />
<activity android:name="com.veloria.now.shortapp.subtractionCroll.bidirectional.RCheckActivity" /> <activity android:name="com.veloria.now.shortapp.subtractionCroll.bidirectional.RCheckActivity" />
<activity android:name="com.veloria.now.shortapp.subtractionCroll.bidirectional.VeStoreActivity" /> <activity android:name="com.veloria.now.shortapp.subtractionCroll.bidirectional.VeStoreActivity" />

View File

@ -38,6 +38,7 @@ object JActivityAdapter {
var PLAYER_LOCK: Boolean = false var PLAYER_LOCK: Boolean = false
var PLAYER_IS_SEEK = true var PLAYER_IS_SEEK = true
var PLAYER_DETAIL_PLAYING: Boolean = false var PLAYER_DETAIL_PLAYING: Boolean = false
var IsFirstApp: Boolean = true
const val RecommendPlayerView_PLAYER_STATUS_FINISH = const val RecommendPlayerView_PLAYER_STATUS_FINISH =
"RecommendPlayerView_PLAYER_STATUS_FINISH" "RecommendPlayerView_PLAYER_STATUS_FINISH"

View File

@ -1,6 +1,8 @@
package com.veloria.now.shortapp.civil package com.veloria.now.shortapp.civil
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.ClipData
import android.content.ClipboardManager
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.content.pm.PackageManager import android.content.pm.PackageManager
@ -1150,7 +1152,7 @@ object YFHome {
coinsP = context.packageManager coinsP = context.packageManager
.getPackageInfo(beanb, 0).versionName .getPackageInfo(beanb, 0).versionName.toString()
} catch (e: PackageManager.NameNotFoundException) { } catch (e: PackageManager.NameNotFoundException) {
var servicej: Long = 398L var servicej: Long = 398L
if (servicej <= 200L) { if (servicej <= 200L) {
@ -1438,5 +1440,38 @@ object YFHome {
} }
fun openAppOrMarket(context: Context, deepLink: String, launch_url: String) {
try {
// 尝试直接跳转
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(deepLink)).apply {
flags = Intent.FLAG_ACTIVITY_NEW_TASK
}
if (intent.resolveActivity(context.packageManager) != null) {
context.startActivity(intent)
copyToClipboard(context, launch_url)
} else {
// 未安装应用,跳转应用商店
openAppInMarket(context, launch_url)
}
} catch (e: Exception) {
// 异常处理
openAppInMarket(context, launch_url)
}
}
/**
* 跳转到应用商店
*/
fun openAppInMarket(context: Context, launch_url: String) {
// copyToClipboard(context, launch_url)
val webIntent = Intent(Intent.ACTION_VIEW, Uri.parse(launch_url))
context.startActivity(webIntent)
}
fun copyToClipboard(context: Context, text: String, label: String = "Copied Text") {
val clipboard = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
val clip = ClipData.newPlainText(label, text)
clipboard.setPrimaryClip(clip)
}
} }

View File

@ -5,6 +5,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.ESTimeBean import com.veloria.now.shortapp.texturedAsink.ESTimeBean
import com.veloria.now.shortapp.texturedAsink.GStateBean import com.veloria.now.shortapp.texturedAsink.GStateBean
import com.veloria.now.shortapp.texturedAsink.JumpLaunchVideoBean
import com.veloria.now.shortapp.texturedAsink.JumpLaunchVideoReqBean
import com.veloria.now.shortapp.texturedAsink.KFAFavoritesInterceptorBean import com.veloria.now.shortapp.texturedAsink.KFAFavoritesInterceptorBean
import com.veloria.now.shortapp.texturedAsink.LanguageBean import com.veloria.now.shortapp.texturedAsink.LanguageBean
import com.veloria.now.shortapp.texturedAsink.LoginDataBean import com.veloria.now.shortapp.texturedAsink.LoginDataBean
@ -257,4 +259,15 @@ interface BIFBase {
@GET("customer/versionControl") @GET("customer/versionControl")
fun getVersionControl(): Call<TStore<VersionControlBean>> fun getVersionControl(): Call<TStore<VersionControlBean>>
@GET("getJumpLaunchVideo")
fun getJumpLaunchVideo(
@Query("short_play_id") short_play_id: Int,
@Query("video_id") video_id: Int,
): Call<TStore<JumpLaunchVideoBean>>
@POST("setJumpLaunchVideo")
fun setJumpLaunchVideo(
@Body jumpLaunchVideoResBean: JumpLaunchVideoReqBean
): Call<TStore<Any>>
} }

View File

@ -9,6 +9,8 @@ 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.texturedAsink.DoLoginBean import com.veloria.now.shortapp.texturedAsink.DoLoginBean
import com.veloria.now.shortapp.texturedAsink.JumpLaunchVideoBean
import com.veloria.now.shortapp.texturedAsink.JumpLaunchVideoReqBean
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.VeBuyVideoBean import com.veloria.now.shortapp.texturedAsink.VeBuyVideoBean
@ -181,4 +183,18 @@ private var loginAdaptStr: String = "dlta"
handleData { handleData {
videoService.setLeaveApp().response() videoService.setLeaveApp().response()
} }
fun getJumpLaunchVideo(
short_play_id: Int, video_id: Int
): LiveData<Result<TStore<JumpLaunchVideoBean>>> =
handleData {
videoService.getJumpLaunchVideo(short_play_id,video_id).response()
}
fun setJumpLaunchVideo(jumpLaunchVideoResBean: JumpLaunchVideoReqBean): LiveData<Result<TStore<Any>>> =
handleData {
videoService.setJumpLaunchVideo(jumpLaunchVideoResBean).response()
}
} }

View File

@ -238,6 +238,7 @@ class XNBackground : Application() {
if (null != it) { if (null != it) {
RYAction.getMMKV() RYAction.getMMKV()
.putString(JActivityAdapter.HOME_DDL_URL, it.targetUri.toString()) .putString(JActivityAdapter.HOME_DDL_URL, it.targetUri.toString())
EventBus.getDefault().post(JActivityAdapter.HOME_DDL_URL)
Log.d( Log.d(
"initFacebookSdk", "initFacebookSdk",
"fetchDeferredAppLinkData callback called!====${it.targetUri}" "fetchDeferredAppLinkData callback called!====${it.targetUri}"
@ -269,6 +270,7 @@ class XNBackground : Application() {
Log.d(LOG_TAG, "Deep link URL: $deeplink") Log.d(LOG_TAG, "Deep link URL: $deeplink")
RYAction.getMMKV() RYAction.getMMKV()
.putString(JActivityAdapter.HOME_DDL_URL, deeplink.toString()) .putString(JActivityAdapter.HOME_DDL_URL, deeplink.toString())
EventBus.getDefault().post(JActivityAdapter.HOME_DDL_URL)
true true
} }
Adjust.initSdk(veConfig) Adjust.initSdk(veConfig)

View File

@ -948,23 +948,23 @@ class TOYPlayfairAutoView(context: Context, attrs: AttributeSet?) :
} }
val startBind = player!!.currentPosition val startBind = player?.currentPosition
var while_82U: Boolean = false var while_82U: Boolean = false
println(while_82U) println(while_82U)
val standLangI = formatTimestamp(startBind / 1000) val standLangI = formatTimestamp(startBind?.div(1000) ?: 0)
var abouth: Long = 3694L var abouth: Long = 3694L
if (abouth > 76L) { if (abouth > 76L) {
} }
println(abouth) println(abouth)
val cagetoryLogo = player!!.duration val cagetoryLogo = player?.duration
var infoX: Double = 6473.0 var infoX: Double = 6473.0
val dataz = formatTimestamp(cagetoryLogo / 1000) val dataz = formatTimestamp(cagetoryLogo?.div(1000) ?: 0)
var state0: String = "irrelvant" var state0: String = "irrelvant"
@ -1014,6 +1014,11 @@ class TOYPlayfairAutoView(context: Context, attrs: AttributeSet?) :
borderScrollEmitFormatGroup() borderScrollEmitFormatGroup()
} }
fun seekTo(progress: Int) {
player?.seekTo(progress.toLong())
borderScrollEmitFormatGroup()
}
public fun exampleTranslateCorrectPath(seekShape: String): Int { public fun exampleTranslateCorrectPath(seekShape: String): Int {
var bannerComplete: MutableMap<String, Double> = mutableMapOf<String, Double>() var bannerComplete: MutableMap<String, Double> = mutableMapOf<String, Double>()

View File

@ -325,7 +325,7 @@ class DSPUnitVideoFragment : DialogFragment() {
} }
coinsSearchStyles.currentPosition = startBind.plus(1) coinsSearchStyles.currentPosition = startBind
} }
lastS.currentPosition = 0 lastS.currentPosition = 0
var l_managerB: Float = 9195.0f var l_managerB: Float = 9195.0f

View File

@ -4,22 +4,31 @@ import android.annotation.SuppressLint
import android.content.Intent import android.content.Intent
import android.net.Uri import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.text.TextUtils
import android.view.View import android.view.View
import android.view.WindowManager import android.view.WindowManager
import android.widget.FrameLayout
import android.widget.FrameLayout.VISIBLE
import androidx.activity.OnBackPressedCallback import androidx.activity.OnBackPressedCallback
import androidx.activity.viewModels import androidx.activity.viewModels
import androidx.appcompat.widget.AppCompatImageView import androidx.appcompat.widget.AppCompatImageView
import androidx.appcompat.widget.AppCompatTextView import androidx.appcompat.widget.AppCompatTextView
import androidx.fragment.app.DialogFragment.STYLE_NO_FRAME import androidx.fragment.app.DialogFragment.STYLE_NO_FRAME
import androidx.media3.common.MediaItem import androidx.media3.common.MediaItem
import androidx.media3.common.PlaybackException
import androidx.media3.common.Player
import androidx.media3.datasource.DataSource import androidx.media3.datasource.DataSource
import androidx.media3.datasource.DefaultDataSourceFactory import androidx.media3.datasource.DefaultDataSourceFactory
import androidx.media3.exoplayer.DefaultRenderersFactory
import androidx.media3.exoplayer.ExoPlayer
import androidx.media3.exoplayer.hls.HlsMediaSource import androidx.media3.exoplayer.hls.HlsMediaSource
import androidx.media3.exoplayer.source.MediaSource import androidx.media3.exoplayer.source.MediaSource
import androidx.media3.exoplayer.source.ProgressiveMediaSource import androidx.media3.exoplayer.source.ProgressiveMediaSource
import androidx.media3.ui.PlayerView
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import androidx.viewpager2.widget.ViewPager2 import androidx.viewpager2.widget.ViewPager2
import com.blankj.utilcode.util.NetworkUtils import com.blankj.utilcode.util.NetworkUtils
import com.blankj.utilcode.util.ViewUtils
import com.bumptech.glide.Glide import com.bumptech.glide.Glide
import com.facebook.AccessToken import com.facebook.AccessToken
import com.facebook.CallbackManager import com.facebook.CallbackManager
@ -31,6 +40,7 @@ import com.facebook.login.LoginManager
import com.facebook.login.LoginResult import com.facebook.login.LoginResult
import com.google.gson.Gson import com.google.gson.Gson
import com.veloria.now.shortapp.R import com.veloria.now.shortapp.R
import com.veloria.now.shortapp.civil.BImage
import com.veloria.now.shortapp.civil.JActivityAdapter import com.veloria.now.shortapp.civil.JActivityAdapter
import com.veloria.now.shortapp.civil.JActivityAdapter.CONSTANTS_QUALITY_REFRESH import com.veloria.now.shortapp.civil.JActivityAdapter.CONSTANTS_QUALITY_REFRESH
import com.veloria.now.shortapp.civil.JActivityAdapter.PLAYER_DETAILS_CAN_PLAY import com.veloria.now.shortapp.civil.JActivityAdapter.PLAYER_DETAILS_CAN_PLAY
@ -39,7 +49,9 @@ import com.veloria.now.shortapp.civil.JActivityAdapter.VIDEO_SHORT_PLAY_ID
import com.veloria.now.shortapp.civil.NOFfmpeg import com.veloria.now.shortapp.civil.NOFfmpeg
import com.veloria.now.shortapp.civil.RYAction import com.veloria.now.shortapp.civil.RYAction
import com.veloria.now.shortapp.civil.TranslationHelper import com.veloria.now.shortapp.civil.TranslationHelper
import com.veloria.now.shortapp.civil.YFHome
import com.veloria.now.shortapp.civil.formatNumber import com.veloria.now.shortapp.civil.formatNumber
import com.veloria.now.shortapp.civil.formatTimestamp
import com.veloria.now.shortapp.civil.singleOnClick import com.veloria.now.shortapp.civil.singleOnClick
import com.veloria.now.shortapp.civil.toast import com.veloria.now.shortapp.civil.toast
import com.veloria.now.shortapp.databinding.JDetailsLayoutBinding import com.veloria.now.shortapp.databinding.JDetailsLayoutBinding
@ -56,6 +68,7 @@ import com.veloria.now.shortapp.subtractionCroll.avcintraRelock.VipQualityDialog
import com.veloria.now.shortapp.subtractionCroll.bidirectional.coordinate.UKBottomCollection import com.veloria.now.shortapp.subtractionCroll.bidirectional.coordinate.UKBottomCollection
import com.veloria.now.shortapp.subtractionCroll.modificationsPretch.SUJustSmart import com.veloria.now.shortapp.subtractionCroll.modificationsPretch.SUJustSmart
import com.veloria.now.shortapp.subtractionCroll.modificationsPretch.VeBannerRecommendAdapter import com.veloria.now.shortapp.subtractionCroll.modificationsPretch.VeBannerRecommendAdapter
import com.veloria.now.shortapp.texturedAsink.JumpLaunchVideoReqBean
import com.veloria.now.shortapp.texturedAsink.LServiceBean import com.veloria.now.shortapp.texturedAsink.LServiceBean
import com.veloria.now.shortapp.texturedAsink.LoginDataBean import com.veloria.now.shortapp.texturedAsink.LoginDataBean
import com.veloria.now.shortapp.texturedAsink.NBECenterBean import com.veloria.now.shortapp.texturedAsink.NBECenterBean
@ -65,6 +78,13 @@ 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.XAboutBean import com.veloria.now.shortapp.texturedAsink.XAboutBean
import com.zhpan.bannerview.constants.PageStyle.MULTI_PAGE_OVERLAP import com.zhpan.bannerview.constants.PageStyle.MULTI_PAGE_OVERLAP
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
import kotlinx.coroutines.MainScope
import kotlinx.coroutines.delay
import kotlinx.coroutines.isActive
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode import org.greenrobot.eventbus.ThreadMode
@ -79,6 +99,8 @@ class MQVAutoWidthActivity :
DSPUnitVideoFragment.SeriesCallBackClick, PlayerBuyDialogFragment.OnDataPassOnClick { DSPUnitVideoFragment.SeriesCallBackClick, PlayerBuyDialogFragment.OnDataPassOnClick {
@Volatile @Volatile
private var traceArrowsCheckList: MutableList<Double> = mutableListOf<Double>() private var traceArrowsCheckList: MutableList<Double> = mutableListOf<Double>()
private var videoPlayDetailsList: MutableList<XAboutBean> = mutableListOf<XAboutBean>()
private var isVideoPlayAdd: Boolean = false
@Volatile @Volatile
private var bindingTraceFfmpegFlag: Long = 6769L private var bindingTraceFfmpegFlag: Long = 6769L
@ -168,15 +190,20 @@ class MQVAutoWidthActivity :
private var isFirst: Boolean = true private var isFirst: Boolean = true
private var isPlay: Boolean = true private var isPlay: Boolean = true
private var isPlayAd: Boolean = false
private var isQualityRefresh: Boolean = false private var isQualityRefresh: Boolean = false
private var shortPlayId: Int = 0 private var shortPlayId: Int = 0
private var shortPlayIdList: MutableList<Int> = mutableListOf<Int>()
private var activityId: Int = 0 private var activityId: Int = 0
private var shortVideo: XAboutBean.ShortPlayInfo? = null
// private var shortVideo: XAboutBean.ShortPlayInfo? = null
private var episode: XAboutBean.Episode? = null private var episode: XAboutBean.Episode? = null
private var videoData: XAboutBean? = null
private var currentPosition = 0 private var currentPosition = 0
private var currentPage = 1 private var currentPage = 1
private var recommendAdapter: SUJustSmart? = null private var recommendAdapter: SUJustSmart? = null
private var isRefreshData: Boolean = false
private var needRestart: Boolean = false private var needRestart: Boolean = false
private var isBuyShowDialog: Boolean = false private var isBuyShowDialog: Boolean = false
private var ivCoverRecommendDetail: AppCompatImageView? = null private var ivCoverRecommendDetail: AppCompatImageView? = null
@ -184,6 +211,13 @@ class MQVAutoWidthActivity :
private var revolution = private var revolution =
RYAction.getMMKV().getInt(JActivityAdapter.CONSTANTS_QUALITY, 540).toString() RYAction.getMMKV().getInt(JActivityAdapter.CONSTANTS_QUALITY, 540).toString()
@SuppressLint("UnsafeOptInUsageError")
private var player: ExoPlayer? = null
private var ivIconPlayer: AppCompatImageView? = null
private var playerView: PlayerView? = null
private val viewLifecycleScope = MainScope()
private var exampleProgressJob: Job? = null
public fun illegalPositiveFinishAreaWorkAny(): Float { public fun illegalPositiveFinishAreaWorkAny(): Float {
var menuRecommends: String = "strideable" var menuRecommends: String = "strideable"
var againText: Double = 4231.0 var againText: Double = 4231.0
@ -295,7 +329,6 @@ class MQVAutoWidthActivity :
break break
} }
if (JActivityAdapter.DetailPlayerView_DRAMA_SERIES == event) { if (JActivityAdapter.DetailPlayerView_DRAMA_SERIES == event) {
var processJ: Double = 7067.0 var processJ: Double = 7067.0
if (processJ > 142.0) { if (processJ > 142.0) {
@ -303,81 +336,28 @@ class MQVAutoWidthActivity :
if (recommendAdapter?.items?.isNotEmpty() == true) { if (recommendAdapter?.items?.isNotEmpty() == true) {
var onclicke: MutableMap<String, Long> = mutableMapOf<String, Long>()
onclicke.put("codec", 329L)
onclicke.put("ftvns", 841L)
onclicke.put("ensured", 803L)
val removeNavigateFragment = DSPUnitVideoFragment() val removeNavigateFragment = DSPUnitVideoFragment()
var editR: MutableMap<String, Int> = mutableMapOf<String, Int>()
editR.put("variances", 566)
editR.put("passive", 583)
editR.put("sym", 391)
editR.put("errlog", 126)
val constantsAdvert = Bundle() val constantsAdvert = Bundle()
var backgroundZ: Double = 2074.0
while (backgroundZ >= 56.0) {
break
}
constantsAdvert.putInt( constantsAdvert.putInt(
JActivityAdapter.VIDEO_EPISODES_SERIES_DATA_CURRENT_POSITION, JActivityAdapter.VIDEO_EPISODES_SERIES_DATA_CURRENT_POSITION,
currentPosition recommendAdapter?.items?.get(currentPosition)?.episode!!
) )
var scopef: Float = 906.0f val shortVideo = recommendAdapter?.items?.get(currentPosition)?.shortPlayInfo
while (scopef > 113.0f) {
break
}
println(scopef)
constantsAdvert.putParcelable( constantsAdvert.putParcelable(
JActivityAdapter.VIDEO_EPISODES_SERIES_DATA, JActivityAdapter.VIDEO_EPISODES_SERIES_DATA,
shortVideo shortVideo
) )
var viewse: MutableMap<String, String> = mutableMapOf<String, String>() val filteredList =
viewse.put("maximum", "yuyvtoyuv") recommendAdapter?.items?.filter { it.short_play_id == shortPlayId }
viewse.put("unpublish", "distribute")
viewse.put("balances", "essence")
viewse.put("listen", "mplane")
while (viewse.size > 41) {
break
}
constantsAdvert.putParcelableArrayList( constantsAdvert.putParcelableArrayList(
JActivityAdapter.VIDEO_EPISODES_SERIES_DATA_LIST, JActivityAdapter.VIDEO_EPISODES_SERIES_DATA_LIST,
recommendAdapter?.items?.let { filteredList?.let {
var loadingn: Float = 8139.0f
if (loadingn == 136.0f) {
}
ArrayList(it) ArrayList(it)
} }
) )
var ffmpeg3: MutableList<Boolean> = mutableListOf<Boolean>()
ffmpeg3.add(false)
ffmpeg3.add(true)
ffmpeg3.add(true)
ffmpeg3.add(true)
if (ffmpeg3.contains(true)) {
}
removeNavigateFragment.seriesCallBack = this removeNavigateFragment.seriesCallBack = this
var actionm: Long = 9933L
if (actionm <= 50L) {
}
removeNavigateFragment.arguments = constantsAdvert removeNavigateFragment.arguments = constantsAdvert
var logicK: Float = 6043.0f
removeNavigateFragment.show( removeNavigateFragment.show(
supportFragmentManager, supportFragmentManager,
"ExampleSeriesDialogFragment" "ExampleSeriesDialogFragment"
@ -392,14 +372,26 @@ class MQVAutoWidthActivity :
1 1
) )
) { ) {
episode?.short_play_id?.let {
episode?.short_play_video_id?.let { it1 ->
viewModel.getCreateHistory(
it,
it1
)
}
}
binding.viewPagerDetail.post {
manifestAnyBuildGravityView()?.stop()
manifestAnyBuildGravityView()?.release()
}
if (videoData?.jump_type == 1) {
shortPlayId.let { viewModel.getJumpLaunchVideo(it, 0) }
}
} }
needRestart = true needRestart = true
var max_9_K: String = "showwavespic"
while (max_9_K.length > 63) {
break
}
recommendAdapter?.items?.get(currentPosition)?.let { it1 -> recommendAdapter?.items?.get(currentPosition)?.let { it1 ->
if (activityId != 0) { if (activityId != 0) {
viewModel.getActiveAfterWatchingVideo( viewModel.getActiveAfterWatchingVideo(
@ -451,8 +443,16 @@ class MQVAutoWidthActivity :
if (rightL >= 88) { if (rightL >= 88) {
} }
println(rightL) println(rightL)
if (videoData?.jump_type == 1) {
binding.viewPagerDetail.post {
manifestAnyBuildGravityView()?.stop()
manifestAnyBuildGravityView()?.release()
}
shortPlayId.let { viewModel.getJumpLaunchVideo(it, 0) }
handleCustomLogic() } else {
handleCustomLogic()
}
} }
if (JActivityAdapter.VIDEO_PAY_REFRESH == event) { if (JActivityAdapter.VIDEO_PAY_REFRESH == event) {
needRestart = true needRestart = true
@ -614,27 +614,28 @@ class MQVAutoWidthActivity :
if (marqueeo < 162.0f) { if (marqueeo < 162.0f) {
} }
// if (revolution == "1080" && !RYAction.isVipTo()) {
// if (RYAction.isTouristTo()) {
// RYAction.getMMKV()
// .putInt(JActivityAdapter.CONSTANTS_QUALITY, 540)
// } else {
// RYAction.getMMKV()
// .putInt(JActivityAdapter.CONSTANTS_QUALITY, 720)
// }
// EventBus.getDefault().post(CONSTANTS_QUALITY_REFRESH)
// revolution =
// RYAction.getMMKV().getInt(JActivityAdapter.CONSTANTS_QUALITY, 540).toString()
// }
viewModel.getVideoPlayDetails(shortPlayId, 0, activityId, revolution) viewModel.getVideoPlayDetails(shortPlayId, 0, activityId, revolution)
} }
EventBus.getDefault().register(this) EventBus.getDefault().register(this)
onBackPressedDispatcher.addCallback(this, object : OnBackPressedCallback(true) { onBackPressedDispatcher.addCallback(this, object : OnBackPressedCallback(true) {
override fun handleOnBackPressed() { override fun handleOnBackPressed() {
if (handleCustomLogic()) { if (videoData?.jump_type == 1) {
return if (isVideoPlayAdd) {
binding.viewPagerDetail.post {
manifestAnyBuildGravityView()?.stop()
manifestAnyBuildGravityView()?.release()
}
shortPlayId.let { viewModel.getJumpLaunchVideo(it, 0) }
} else {
finish()
}
} else {
if (handleCustomLogic()) {
return
}
} }
} }
}) })
@ -658,6 +659,8 @@ class MQVAutoWidthActivity :
binding.viewPagerDetail.registerOnPageChangeCallback(object : binding.viewPagerDetail.registerOnPageChangeCallback(object :
ViewPager2.OnPageChangeCallback() { ViewPager2.OnPageChangeCallback() {
private var isDragging = false
private var startPosition = 0
public fun queryVideoActivityAll(): Boolean { public fun queryVideoActivityAll(): Boolean {
var stringVip: Int = 4189 var stringVip: Int = 4189
@ -691,6 +694,7 @@ class MQVAutoWidthActivity :
super.onPageSelected(position) super.onPageSelected(position)
currentPosition = position currentPosition = position
val handlerStore = recommendAdapter?.currentPlayingPosition val handlerStore = recommendAdapter?.currentPlayingPosition
if (handlerStore != position) { if (handlerStore != position) {
@ -725,6 +729,7 @@ class MQVAutoWidthActivity :
} }
recommendAdapter?.currentPlayingPosition = position recommendAdapter?.currentPlayingPosition = position
shortPlayId = recommendAdapter?.items?.get(position)?.short_play_id!!
recommendAdapter?.items?.get(currentPosition)?.let { recommendAdapter?.items?.get(currentPosition)?.let {
episode = it episode = it
if (it.is_lock && !RYAction.isVipTo()) { if (it.is_lock && !RYAction.isVipTo()) {
@ -844,17 +849,20 @@ class MQVAutoWidthActivity :
super.onPageScrollStateChanged(state) super.onPageScrollStateChanged(state)
when (state) { when (state) {
ViewPager2.SCROLL_STATE_IDLE -> { ViewPager2.SCROLL_STATE_IDLE -> {
if (binding.viewPagerDetail.currentItem == binding.viewPagerDetail.adapter?.itemCount?.minus( if (binding.viewPagerDetail.currentItem == recommendAdapter?.items?.size?.minus(
1 1
) )
) { ) {
if (!isFirst) { if (videoData?.jump_type == 0) {
viewModel.getVideoPlayDetails( isVideoPlayAdd = true
shortPlayId, 0, videoData?.jump_short_play_id?.let {
activityId, revolution viewModel.getVideoPlayDetails(
) it,
} else { 0,
isFirst = false activityId,
revolution
)
}
} }
} }
} }
@ -896,6 +904,70 @@ class MQVAutoWidthActivity :
isPlay = false isPlay = false
} }
val builder = ExoPlayer.Builder(this, BImage(this))
.setRenderersFactory(
DefaultRenderersFactory(this).setEnableDecoderFallback(
true
)
)
player = builder.build()
playerView =
ViewUtils.layoutId2View(R.layout.layout_ad_player_view) as PlayerView
playerView?.player = player
ivIconPlayer = playerView?.findViewById(R.id.iv_close_recommend_detail)
player?.addListener(object : Player.Listener {
override fun onPlaybackStateChanged(playbackState: Int) {
super.onPlaybackStateChanged(playbackState)
when (playbackState) {
Player.STATE_BUFFERING -> {
ivIconPlayer?.visibility = View.VISIBLE
binding.layoutAd.loadLine.visibility = VISIBLE
binding.layoutAd.loadLine.postDelayed(
{ binding.layoutAd.loadLine.startAnimation() },
200
)
}
Player.STATE_READY -> {
ivIconPlayer?.visibility = View.INVISIBLE
isPlayAd = true
player?.play()
setProgress()
binding.layoutAd.loadLine.visibility = View.INVISIBLE
binding.layoutAd.loadLine.endAnimation()
}
Player.STATE_ENDED -> {
// ivIconPlayer?.visibility = View.VISIBLE
player?.seekTo(0)
}
Player.STATE_IDLE -> {
}
}
}
override fun onPlayerError(error: PlaybackException) {
super.onPlayerError(error)
binding.layoutAd.loadLine.visibility = View.INVISIBLE
}
})
binding.layoutAd.ivDesChange.setOnClickListener {
isDesChangeExpanded = !isDesChangeExpanded
updateTextViewState(binding.layoutAd.tvDescription)
}
binding.layoutAd.tvDescription.setOnClickListener {
isDesChangeExpanded = !isDesChangeExpanded
updateTextViewState(binding.layoutAd.tvDescription)
}
binding.layoutAd.ivAdBack.setOnClickListener {
finish()
}
} }
@ -949,9 +1021,9 @@ class MQVAutoWidthActivity :
var videoD: Double = 3972.0 var videoD: Double = 3972.0
if (videoD == 41.0) { if (videoD == 41.0) {
} }
if (!JActivityAdapter.PLAYER_LOCK) {
manifestAnyBuildGravityView()?.play()
manifestAnyBuildGravityView()?.play() }
if (binding.layoutRecommend.root.visibility == View.VISIBLE) { if (binding.layoutRecommend.root.visibility == View.VISIBLE) {
bannerAdapter?.getCurrentPlayerView()?.play() bannerAdapter?.getCurrentPlayerView()?.play()
@ -963,6 +1035,11 @@ class MQVAutoWidthActivity :
isPlay = false isPlay = false
} }
} }
if (isPlayAd) {
player?.play()
}
} }
@ -1056,8 +1133,7 @@ class MQVAutoWidthActivity :
if (constantsG.get("7") != null) { if (constantsG.get("7") != null) {
} }
if (recommendAdapter?.items?.get(currentPosition)?.shortPlayInfo?.is_collect == true) {
if (shortVideo?.is_collect == true) {
var cameraz: Float = 6592.0f var cameraz: Float = 6592.0f
if (cameraz <= 133.0f) { if (cameraz <= 133.0f) {
} }
@ -1315,7 +1391,7 @@ class MQVAutoWidthActivity :
if (applicationC == 79.0f) { if (applicationC == 79.0f) {
} }
val shortVideo = it.shortPlayInfo
val adapterWight = Gson().toJson( val adapterWight = Gson().toJson(
shortPlayId?.let { it1 -> shortPlayId?.let { it1 ->
NBECenterBean( NBECenterBean(
@ -1399,9 +1475,12 @@ class MQVAutoWidthActivity :
bannerAdapter?.getCurrentPlayerView()?.stop() bannerAdapter?.getCurrentPlayerView()?.stop()
bannerAdapter?.getCurrentPlayerView()?.release() bannerAdapter?.getCurrentPlayerView()?.release()
} }
exampleProgressJob?.cancel()
exampleProgressJob = null
player?.stop()
player?.release()
player = null
} }
recommendAdapter?.shortVideo = null
var mmkvi: Double = 540.0 var mmkvi: Double = 540.0
if (mmkvi <= 149.0) { if (mmkvi <= 149.0) {
} }
@ -1497,17 +1576,11 @@ class MQVAutoWidthActivity :
}, 300) }, 300)
var num_: Boolean = false var num_: Boolean = false
val index = recommendAdapter?.items?.indexOfFirst { it.short_play_id == shortPlayId }
episode.episode.minus(1) episode.episode.minus(1)
.let { .let {
var baseL: MutableList<String> = mutableListOf<String>() binding.viewPagerDetail.currentItem = it + index!!
baseL.add("suggestions")
baseL.add("carefully")
baseL.add("ranks")
println(baseL)
binding.viewPagerDetail.currentItem = it
} }
} }
@ -1528,7 +1601,7 @@ class MQVAutoWidthActivity :
} }
@SuppressLint("UnsafeOptInUsageError")
override fun observeData() { override fun observeData() {
var trailSkipintra = this.lifePrivacyBrowse() var trailSkipintra = this.lifePrivacyBrowse()
@ -1553,157 +1626,77 @@ class MQVAutoWidthActivity :
viewModel.videoPlayDetails.observe(this) { viewModel.videoPlayDetails.observe(this) {
var auto_o2: Double = 5607.0
while (auto_o2 > 174.0) {
break
}
var unitW: String = "librsvg"
if (unitW.length > 74) {
}
if (it?.data?.episodeList != null && it.data.episodeList.isNotEmpty()) { if (it?.data?.episodeList != null && it.data.episodeList.isNotEmpty()) {
var vipU: MutableMap<String, Boolean> = mutableMapOf<String, Boolean>() videoData = it.data
vipU.put("circ", false) // shortVideo = it.data.shortPlayInfo
vipU.put("amrwbdec", true)
vipU.put("rror", true)
vipU.put("bonjour", true)
vipU.put("intel", false)
if (vipU.size > 62) {
}
shortVideo = it.data.shortPlayInfo
var max_ie: Boolean = true
while (max_ie) {
break
}
binding.ivCover.visibility = View.INVISIBLE binding.ivCover.visibility = View.INVISIBLE
var min_dby: Float = 5765.0f
binding.viewPagerDetail.visibility = View.VISIBLE binding.viewPagerDetail.visibility = View.VISIBLE
var uploadU: String = "recognition"
while (uploadU.length > 36) { // shortPlayId = it.data.shortPlayInfo.id
break
it.data.episodeList.forEach { it1 ->
it1.shortPlayInfo = it.data.shortPlayInfo
} }
if (isVideoPlayAdd) {
recommendAdapter?.addAll(it.data.episodeList)
isVideoPlayAdd = false
} else {
recommendAdapter = SUJustSmart()
binding.viewPagerDetail.adapter = recommendAdapter
recommendAdapter?.submitList(it.data.episodeList)
if (it.data.video_info.episode > 1) {
it.data.video_info.episode.minus(1)
.let { it1 ->
binding.viewPagerDetail.setCurrentItem(
it1,
false
)
}
if (it.data.video_info.episode == it.data.episodeList.size && isFirst){
if (videoData?.jump_type == 0) {
isFirst = false
isVideoPlayAdd = true
videoData?.jump_short_play_id?.let {
viewModel.getVideoPlayDetails(
it,
0,
activityId,
revolution
)
}
}
}
}
recommendAdapter = SUJustSmart()
var bottomZ: Boolean = false
while (!bottomZ) {
break
} }
println(bottomZ)
recommendAdapter?.shortVideo = it.data.shortPlayInfo
var gsonE: MutableMap<String, Int> = mutableMapOf<String, Int>()
gsonE.put("mins", 745)
gsonE.put("stepper", 90)
gsonE.put("longitude", 100)
gsonE.put("decomposei", 998)
gsonE.put("alter", 434)
while (gsonE.size > 193) {
break
}
binding.viewPagerDetail.adapter = recommendAdapter
var e_managerj: String = "rstn"
if (e_managerj.length > 56) {
}
recommendAdapter?.submitList(it.data.episodeList)
var categoriesR: Long = 1541L
if (categoriesR <= 86L) {
}
println(categoriesR)
recommendAdapter?.playerDetailCollection = recommendAdapter?.playerDetailCollection =
this@MQVAutoWidthActivity this@MQVAutoWidthActivity
var ballX: Boolean = true
while (!ballX) {
break
}
viewModel.getCreateHistory( viewModel.getCreateHistory(
it.data.episodeList[0].short_play_id, it.data.episodeList[0].short_play_id,
it.data.episodeList[0].short_play_video_id it.data.episodeList[0].short_play_video_id
) )
var startA: Boolean = true
if (startA) {
}
println(startA)
binding.ivBack.visibility = View.GONE binding.ivBack.visibility = View.GONE
showComplete() showComplete()
var rights: Long = 9660L
if (rights > 16L) {
}
binding.ivCover.let { it1 -> binding.ivCover.let { it1 ->
Glide.with(this@MQVAutoWidthActivity).load(shortVideo?.image_url) Glide.with(this@MQVAutoWidthActivity).load(it.data.shortPlayInfo?.image_url)
.into(it1) .into(it1)
} }
if (it.data.video_info.episode > 1) {
var skewedF: Float = 2316.0f
while (skewedF >= 159.0f) {
break
}
it.data.video_info.episode.minus(1)
.let { it1 ->
binding.viewPagerDetail.setCurrentItem(
it1,
false
)
}
}
} else { } else {
var rules6: MutableMap<String, Long> = mutableMapOf<String, Long>()
rules6.put("completion", 959L)
rules6.put("baked", 91L)
while (rules6.size > 38) {
break
}
if (TranslationHelper.getTranslation() != null) { if (TranslationHelper.getTranslation() != null) {
toast(TranslationHelper.getTranslation()?.veloria_no_more_data.toString()) toast(TranslationHelper.getTranslation()?.veloria_no_more_data.toString())
} else { } else {
toast(getString(R.string.coinsTrends)) toast(getString(R.string.coinsTrends))
} }
var priceH: Int = 3894 if (recommendAdapter == null) {
while (priceH == 163) {
break
}
if (currentPage == 1) {
var default_qz3: Boolean = false
while (!default_qz3) {
break
}
binding.ivBack.visibility = View.VISIBLE binding.ivBack.visibility = View.VISIBLE
showEmptyData() showEmptyData()
} }
} }
binding.root?.postDelayed({ binding.root?.postDelayed({
var extractionk: Int = 8676
if (extractionk < 144) {
}
hideLoading() hideLoading()
}, 800) }, 800)
@ -1765,7 +1758,7 @@ class MQVAutoWidthActivity :
break break
} }
val shortVideo = recommendAdapter?.items?.get(currentPosition)?.shortPlayInfo
shortVideo?.collect_total = shortVideo?.collect_total?.plus(1)!! shortVideo?.collect_total = shortVideo?.collect_total?.plus(1)!!
var actionr: String = "sprites" var actionr: String = "sprites"
if (actionr.length > 155) { if (actionr.length > 155) {
@ -1794,7 +1787,7 @@ class MQVAutoWidthActivity :
} }
recommendAdapter?.shortVideo = shortVideo // recommendAdapter?.shortVideo = shortVideo
var detail3: Long = 9398L var detail3: Long = 9398L
while (detail3 == 130L) { while (detail3 == 130L) {
break break
@ -1868,7 +1861,7 @@ class MQVAutoWidthActivity :
jobBaseEmptyView?.setImageResource(R.mipmap.login_navigation) jobBaseEmptyView?.setImageResource(R.mipmap.login_navigation)
var searchc: String = "constant" var searchc: String = "constant"
val shortVideo = recommendAdapter?.items?.get(currentPosition)?.shortPlayInfo
shortVideo?.collect_total = shortVideo?.collect_total?.minus(1)!! shortVideo?.collect_total = shortVideo?.collect_total?.minus(1)!!
var footerS: Float = 2250.0f var footerS: Float = 2250.0f
while (footerS <= 70.0f) { while (footerS <= 70.0f) {
@ -1892,7 +1885,6 @@ class MQVAutoWidthActivity :
var paddingN: Int = 2940 var paddingN: Int = 2940
recommendAdapter?.shortVideo = shortVideo
var categoriesw: MutableMap<String, Long> = mutableMapOf<String, Long>() var categoriesw: MutableMap<String, Long> = mutableMapOf<String, Long>()
categoriesw.put("dialog", 810L) categoriesw.put("dialog", 810L)
categoriesw.put("swappable", 743L) categoriesw.put("swappable", 743L)
@ -2124,6 +2116,53 @@ class MQVAutoWidthActivity :
} }
} }
viewModel.JumpLaunchVideoData.observe(this) {
if (it?.data != null) {
if (it.data.jump_status) {
binding.layoutAd.root.visibility = View.VISIBLE
ivIconPlayer?.let { it1 ->
Glide.with(this)
.load(it.data.shortPlayInfo?.image_url)
.placeholder(R.mipmap.collection_trending_recommend)
.into(it1)
}
(playerView?.parent as FrameLayout?)?.removeView(playerView)
binding.layoutAd.video.removeAllViews()
binding.layoutAd.video.addView(playerView)
it.data.video_info.video_url?.let { buildMediaSource(it) }
?.let { player?.setMediaSource(it) }
player?.prepare()
binding.layoutAd.tvName.text = it.data.site_info.name
Glide.with(this)
.load(it.data.site_info.logo_url)
.placeholder(R.mipmap.collection_trending_recommend)
.into(binding.layoutAd.ivLogo)
binding.layoutAd.tvDescription.text = it.data.shortPlayInfo.description
binding.layoutAd.tvDownload.setOnClickListener { it1 ->
singleOnClick {
viewModel.setJumpLaunchVideo(
JumpLaunchVideoReqBean(
it.data.shortPlayInfo.id,
shortPlayId,
0
)
)
// val link = "https://zyreoapp.go.link/2TzeP?site_id=11&source_ffmpeg_id=1&short_play_id=79&type=jump&id=45&adj_deep_link=zyreoapp%3A%2F%2F%3Fsite_id%3D11%26source_ffmpeg_id%3D1%26short_play_id%3D79%26type%3Djump%26id%3D45"
YFHome.openAppInMarket(this, it.data.launch_url)
player?.pause()
}
}
} else {
toast(it.data.jump_msg)
}
}
}
} }
@ -2400,4 +2439,56 @@ class MQVAutoWidthActivity :
callbackManager?.onActivityResult(requestCode, resultCode, data) callbackManager?.onActivityResult(requestCode, resultCode, data)
} }
private fun setProgress() {
// 安全获取播放器实例
val currentPlayer = player ?: return
exampleProgressJob?.cancel()
val duration = currentPlayer.duration
binding.layoutAd.sbPlayerController?.max = duration.toInt()
binding.layoutAd.sbPlayerController?.progress = currentPlayer.currentPosition.toInt()
binding.layoutAd.sbPlayerController?.setOnSeekBarChangeListener(null)
exampleProgressJob = viewLifecycleScope.launch {
while (isActive) {
withContext(Dispatchers.Main) {
binding.layoutAd.sbPlayerController?.progress =
currentPlayer.currentPosition.toInt()
seekTime()
}
delay(1000)
}
}
binding.layoutAd.sbPlayerController.isEnabled = false
}
private fun seekTime() {
val currentPosition = player!!.currentPosition
val currentTime = formatTimestamp(currentPosition / 1000)
val totalDuration = player!!.duration
val totalTime = formatTimestamp(totalDuration / 1000)
binding.layoutAd.tvPlayerSeekTime.text = "$currentTime/$totalTime"
}
private var isDesChangeExpanded = false
@SuppressLint("SetTextI18n")
private fun updateTextViewState(textView: AppCompatTextView?) {
if (isDesChangeExpanded) {
textView?.maxLines = 5
textView?.ellipsize = TextUtils.TruncateAt.END
binding.layoutAd.ivDesChange.setImageResource(R.mipmap.iv_des_top)
} else {
textView?.maxLines = 1
textView?.ellipsize = TextUtils.TruncateAt.END
binding.layoutAd.ivDesChange.setImageResource(R.mipmap.iv_des_down)
}
textView?.post {
val ellipsisCount = textView.layout?.getEllipsisCount(textView.lineCount - 1)
if (ellipsisCount != null) {
if (ellipsisCount <= 0 && textView.maxLines == 2) {
binding.layoutAd.ivDesChange.visibility = View.INVISIBLE
}
}
}
}
} }

View File

@ -7,6 +7,7 @@ import android.content.ClipboardManager
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.net.Uri
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.text.TextUtils import android.text.TextUtils
@ -256,11 +257,6 @@ class PSVHomeSearchActivity : AIXTextActivity<JsDramaFragmentBinding, JService>(
} }
} }
viewModel.w2aSelfAttributionData.observe(this) {
if (needSave) {
setAdjustToDetail()
}
}
viewModel.restorePaidData.observe(this) { viewModel.restorePaidData.observe(this) {
if (it != null) { if (it != null) {
it.data?.order_code?.let { it1 -> RYAction.removeOrderString(it1) } it.data?.order_code?.let { it1 -> RYAction.removeOrderString(it1) }
@ -493,7 +489,8 @@ class PSVHomeSearchActivity : AIXTextActivity<JsDramaFragmentBinding, JService>(
} }
println(handlerE) println(handlerE)
val webpageURL = intent.data
uploadDDL(webpageURL)
EventBus.getDefault().register(this) EventBus.getDefault().register(this)
var episode0: Long = 1323L var episode0: Long = 1323L
if (episode0 > 52L) { if (episode0 > 52L) {
@ -839,6 +836,13 @@ class PSVHomeSearchActivity : AIXTextActivity<JsDramaFragmentBinding, JService>(
) )
} }
} }
if (JActivityAdapter.HOME_DDL_URL == event) {
val ddl =
RYAction.getMMKV().getString(JActivityAdapter.HOME_DDL_URL, "")
if (ddl?.isNotEmpty() == true) {
w2aSelfAttribution(ddl)
}
}
} }
private fun restartApplication(context: Context) { private fun restartApplication(context: Context) {
@ -930,63 +934,72 @@ class PSVHomeSearchActivity : AIXTextActivity<JsDramaFragmentBinding, JService>(
private var shortVideoId: Int = 0 private var shortVideoId: Int = 0
private var videoId: Int = 0 private var videoId: Int = 0
private var needSave = false
private fun uploadDDL(webpageURL: Uri?) {
override fun onResume() { val ddl = webpageURL.toString()
super.onResume() if (ddl.isNotEmpty() && !ddl.contentEquals("null")) {
this.window.decorView.post { w2aSelfAttribution(ddl)
val clipContent = getClipString() val regex = """short_play_id=(\d+).*""".toRegex()
if (clipContent.isNotEmpty()) { val matchResult = regex.find(ddl)
if (clipContent.startsWith("[QJ]")) { if (matchResult != null) {
val urlString = clipContent.removePrefix("[QJ]").trim() val shortPlayId = matchResult.groupValues[1]
val extractVideoInfo = parseVideoAndShortPlayIds(urlString) shortVideoId = shortPlayId.toInt()
if (urlString.contains("veloriaapp")) { binding?.root?.postDelayed({
shortVideoId = extractVideoInfo.second?.toInt() ?: 0 if (shortVideoId != 0) {
videoId = extractVideoInfo.first?.toInt() ?: 0 startActivity(
if (shortVideoId != 0) { Intent(
this, MQVAutoWidthActivity::class.java
).apply {
putExtra(
VIDEO_SHORT_PLAY_ID, shortVideoId
)
})
}
RYAction.getMMKV()
.putString(JActivityAdapter.HOME_DDL_URL, "")
clearClipboardContent(this)
}, 1000)
}
} else {
this.window.decorView.post {
val clipContent = getClipString()
if (clipContent.isNotEmpty()) {
if (clipContent.startsWith("[QJ]")) {
val urlString = clipContent.removePrefix("[QJ]").trim()
val extractVideoInfo = parseVideoAndShortPlayIds(urlString)
if (urlString.contains("veloriaapp")) {
shortVideoId = extractVideoInfo.second?.toInt() ?: 0
RYAction.getMMKV().putString( RYAction.getMMKV().putString(
JActivityAdapter.VIDEO_SHORT_PLAY_ID, extractVideoInfo.second VIDEO_SHORT_PLAY_ID,
shortVideoId.toString()
) )
needSave = true
w2aSelfAttribution(clipContent) w2aSelfAttribution(clipContent)
binding?.root?.postDelayed({
if (shortVideoId != 0) {
startActivity(
Intent(
this, MQVAutoWidthActivity::class.java
).apply {
putExtra(
VIDEO_SHORT_PLAY_ID,
shortVideoId
)
})
}
RYAction.getMMKV()
.putString(JActivityAdapter.HOME_DDL_URL, "")
clearClipboardContent(this)
}, 1000)
} }
} }
} }
} }
} }
}
binding.root.postDelayed({
val ddl =
RYAction.getMMKV().getString(JActivityAdapter.HOME_DDL_URL, "")
if (ddl?.isNotEmpty() == true) {
w2aSelfAttribution(ddl)
// 定义正则表达式
val regex = """short_play_id=(\d+).*""".toRegex()
// 匹配 URL
val matchResult = regex.find(ddl)
if (matchResult != null) {
// 获取匹配的组
val shortPlayId = matchResult.groupValues[1]
val toInt = shortPlayId.toInt()
if (toInt != 0) {
binding.root.postDelayed({
startActivity(Intent(
this, MQVAutoWidthActivity::class.java
).apply {
putExtra(
JActivityAdapter.VIDEO_SHORT_PLAY_ID, toInt
)
})
RYAction.getMMKV().putString(JActivityAdapter.HOME_DDL_URL, "")
}, 200)
}
} else {
RYAction.getMMKV().putString(JActivityAdapter.HOME_DDL_URL, "")
}
}
}, 1500)
override fun onResume() {
super.onResume()
if (binding.bottomNavBar.selectedPosition == 0) { if (binding.bottomNavBar.selectedPosition == 0) {
binding.dialogWatch.root.postDelayed( binding.dialogWatch.root.postDelayed(
{ {
@ -1004,22 +1017,6 @@ class PSVHomeSearchActivity : AIXTextActivity<JsDramaFragmentBinding, JService>(
} }
private fun setAdjustToDetail() {
binding.root.postDelayed({
startActivity(Intent(
this, MQVAutoWidthActivity::class.java
).apply {
putExtra(
VIDEO_SHORT_PLAY_ID, shortVideoId
)
})
clearClipboardContent(this)
RYAction.getMMKV()
.putString(JActivityAdapter.HOME_DDL_URL, "")
}, 1000)
needSave = false
}
private fun getClipString(): String { private fun getClipString(): String {
val manager: ClipboardManager = getSystemService( val manager: ClipboardManager = getSystemService(
CLIPBOARD_SERVICE CLIPBOARD_SERVICE
@ -1081,6 +1078,7 @@ class PSVHomeSearchActivity : AIXTextActivity<JsDramaFragmentBinding, JService>(
// setDeeplinkFbApi(facebook_id) // setDeeplinkFbApi(facebook_id)
} }
} }
System.out.println("HOME_DDL_URL w2aSelfAttribution" + data)
data?.let { viewModel.setW2aSelfAttribution(it) } data?.let { viewModel.setW2aSelfAttribution(it) }
} }
@ -1245,6 +1243,9 @@ class PSVHomeSearchActivity : AIXTextActivity<JsDramaFragmentBinding, JService>(
override fun onNewIntent(intent: Intent?) { override fun onNewIntent(intent: Intent?) {
super.onNewIntent(intent) super.onNewIntent(intent)
val webpageURL = intent?.data
uploadDDL(webpageURL)
path = intent?.getStringExtra("path").toString() path = intent?.getStringExtra("path").toString()
short_play_id = intent?.getStringExtra("short_play_id").toString() short_play_id = intent?.getStringExtra("short_play_id").toString()
message_id = intent?.getStringExtra("message_id").toString() message_id = intent?.getStringExtra("message_id").toString()

View File

@ -1,7 +1,5 @@
package com.veloria.now.shortapp.subtractionCroll.bidirectional package com.veloria.now.shortapp.subtractionCroll.bidirectional
import android.content.Intent
import android.util.Log
import androidx.activity.viewModels import androidx.activity.viewModels
import com.veloria.now.shortapp.civil.JActivityAdapter import com.veloria.now.shortapp.civil.JActivityAdapter
import com.veloria.now.shortapp.civil.RYAction import com.veloria.now.shortapp.civil.RYAction
@ -146,23 +144,14 @@ class YPDataActivity :
override fun initView() { override fun initView() {
val webpageURL = intent.data
Log.d("webpageURL", webpageURL.toString())
if (null != webpageURL) {
RYAction.getMMKV().putString(JActivityAdapter.HOME_DDL_URL, webpageURL.toString())
}
var levarintRecalculation = this.useInnerCircleManual(false)
println(levarintRecalculation)
var renderers_levarintRecalculation: Int = levarintRecalculation.toInt()
println(levarintRecalculation)
if (RYAction.getMMKV().getString(JActivityAdapter.ACCOUNT_TOKEN, "").toString() if (RYAction.getMMKV().getString(JActivityAdapter.ACCOUNT_TOKEN, "").toString()
.isEmpty() .isEmpty()
) { ) {
viewModel.loadData()
binding.root.postDelayed({
viewModel.loadData()
}, 500)
} else { } else {
toMain() toMain()
} }
@ -171,14 +160,4 @@ class YPDataActivity :
override fun getViewBinding() = CzdStylesBinding.inflate(layoutInflater) override fun getViewBinding() = CzdStylesBinding.inflate(layoutInflater)
override fun onNewIntent(intent: Intent?) {
super.onNewIntent(intent)
val webpageURL = intent?.data
Log.d("webpageURL", webpageURL.toString())
if (null != webpageURL) {
RYAction.getMMKV().putString(JActivityAdapter.HOME_DDL_URL, webpageURL.toString())
}
}
} }

View File

@ -101,12 +101,11 @@ class JService : SStringsHelp() {
repository.setLeaveApp().observeForever {} repository.setLeaveApp().observeForever {}
} }
private val _w2aSelfAttributionLiveData = private val w2aSelfAttributionLiveData =
MutableLiveData<TStore<VeW2aSelfAttributionBean>?>() MutableLiveData<TStore<VeW2aSelfAttributionBean>?>()
val w2aSelfAttributionData: MutableLiveData<TStore<VeW2aSelfAttributionBean>?> get() = _w2aSelfAttributionLiveData
fun setW2aSelfAttribution(data: String) { fun setW2aSelfAttribution(data: String) {
repository.setW2aSelfAttribution(data).observeForever { result -> repository.setW2aSelfAttribution(data).observeForever { result ->
_w2aSelfAttributionLiveData.value = result.getOrNull() w2aSelfAttributionLiveData.value = result.getOrNull()
} }
} }

View File

@ -1,26 +1,27 @@
package com.veloria.now.shortapp.subtractionCroll.bidirectional.coordinate package com.veloria.now.shortapp.subtractionCroll.bidirectional.coordinate
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import com.veloria.now.shortapp.newsletter.TStore
import com.veloria.now.shortapp.newsletter.SStringsHelp
import com.veloria.now.shortapp.texturedAsink.PURLockBean
import com.veloria.now.shortapp.texturedAsink.XAboutBean
import com.veloria.now.shortapp.highbits.qscaleqlog.PDeteleResource import com.veloria.now.shortapp.highbits.qscaleqlog.PDeteleResource
import com.veloria.now.shortapp.newsletter.SStringsHelp
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.JumpLaunchVideoBean
import com.veloria.now.shortapp.texturedAsink.JumpLaunchVideoReqBean
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.PURLockBean
import com.veloria.now.shortapp.texturedAsink.VeBuyVideoBean import com.veloria.now.shortapp.texturedAsink.VeBuyVideoBean
import com.veloria.now.shortapp.texturedAsink.VeDetailsRecommendBean import com.veloria.now.shortapp.texturedAsink.VeDetailsRecommendBean
import com.veloria.now.shortapp.texturedAsink.VeRevolutionsBean import com.veloria.now.shortapp.texturedAsink.VeRevolutionsBean
import kotlin.math.min import com.veloria.now.shortapp.texturedAsink.XAboutBean
import kotlin.math.max
class UKBottomCollection : SStringsHelp() { class UKBottomCollection : SStringsHelp() {
@Volatile @Volatile
var qualityActiveTag: Int = 3526 var qualityActiveTag: Int = 3526
@Volatile
private var moreSecond_sum: Int = 6970 @Volatile
private var moreSecond_sum: Int = 6970
private val repository = PDeteleResource() private val repository = PDeteleResource()
@ -130,4 +131,17 @@ private var moreSecond_sum: Int = 6970
} }
} }
private val _JumpLaunchVideoLiveData = MutableLiveData<TStore<JumpLaunchVideoBean>?>()
val JumpLaunchVideoData: MutableLiveData<TStore<JumpLaunchVideoBean>?> get() = _JumpLaunchVideoLiveData
fun getJumpLaunchVideo(short_play_id: Int, video_id: Int) {
repository.getJumpLaunchVideo(short_play_id, video_id).observeForever { result ->
_JumpLaunchVideoLiveData.value = result.getOrNull()
}
}
fun setJumpLaunchVideo(jumpLaunchVideoResBean: JumpLaunchVideoReqBean) {
repository.setJumpLaunchVideo(jumpLaunchVideoResBean).observeForever {}
}
} }

View File

@ -7,29 +7,29 @@ import androidx.appcompat.widget.AppCompatImageView
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.chad.library.adapter4.BaseQuickAdapter import com.chad.library.adapter4.BaseQuickAdapter
import com.veloria.now.shortapp.R import com.veloria.now.shortapp.R
import com.veloria.now.shortapp.texturedAsink.XAboutBean
import com.veloria.now.shortapp.databinding.RgmApplicationBinding import com.veloria.now.shortapp.databinding.RgmApplicationBinding
import com.veloria.now.shortapp.rewards.TOYPlayfairAutoView import com.veloria.now.shortapp.rewards.TOYPlayfairAutoView
import kotlin.math.min import com.veloria.now.shortapp.texturedAsink.XAboutBean
import kotlin.math.max
class SUJustSmart : class SUJustSmart :
BaseQuickAdapter<XAboutBean.Episode, SUJustSmart.VH>() { BaseQuickAdapter<XAboutBean.Episode, SUJustSmart.VH>() {
@Volatile @Volatile
private var enbale_RestartNumClose: Boolean = true private var enbale_RestartNumClose: Boolean = true
@Volatile
var release_1bSelectionClose_string: String = "nonnullssrcs" @Volatile
@Volatile var release_1bSelectionClose_string: String = "nonnullssrcs"
private var notificationsRequestStringMap: MutableMap<String,Boolean> = mutableMapOf<String,Boolean>()
@Volatile @Volatile
private var marqueeWatchFontDict: MutableMap<String,String> = mutableMapOf<String,String>() private var notificationsRequestStringMap: MutableMap<String, Boolean> =
mutableMapOf<String, Boolean>()
@Volatile
private var marqueeWatchFontDict: MutableMap<String, String> = mutableMapOf<String, String>()
var currentPlayingPosition = 0 var currentPlayingPosition = 0
var playerDetailCollection: PlayerDetailCollection? = null var playerDetailCollection: PlayerDetailCollection? = null
var shortVideo: XAboutBean.ShortPlayInfo? = null
interface PlayerDetailCollection { interface PlayerDetailCollection {
fun collection(episode: XAboutBean.Episode) fun collection(episode: XAboutBean.Episode)
@ -43,103 +43,111 @@ private var marqueeWatchFontDict: MutableMap<String,String> = mutableMapOf<Stri
) : RecyclerView.ViewHolder(binding.root) ) : RecyclerView.ViewHolder(binding.root)
private fun vibrateSmartImageShower(): MutableMap<String, Float> {
private fun vibrateSmartImageShower() :MutableMap<String,Float> { var navigationAnimating: Int = 8604
var navigationAnimating:Int = 8604 println(navigationAnimating)
println(navigationAnimating) var instrumentedPlace = 6738L
var instrumentedPlace = 6738L println(instrumentedPlace)
println(instrumentedPlace) var categoriesBack: Float = 4318.0f
var categoriesBack:Float = 4318.0f var activityManual = true
var activityManual = true var persistedShimmerBds = mutableMapOf<String, Float>()
var persistedShimmerBds = mutableMapOf<String,Float>() instrumentedPlace *= instrumentedPlace
instrumentedPlace *= instrumentedPlace persistedShimmerBds.put("poslistMbcntGuess", 5933.0f)
persistedShimmerBds.put("poslistMbcntGuess", 5933.0f) activityManual = false
activityManual = false persistedShimmerBds.put("jmemsysVopenIsdigit", 0.0f)
persistedShimmerBds.put("jmemsysVopenIsdigit", 0.0f)
return persistedShimmerBds return persistedShimmerBds
} }
override fun onBindViewHolder( override fun onBindViewHolder(
holder: VH, holder: VH,
position: Int, position: Int,
item: XAboutBean.Episode? item: XAboutBean.Episode?
) { ) {
var intsResizing = this.vibrateSmartImageShower() var intsResizing = this.vibrateSmartImageShower()
for(obj_u in intsResizing) { for (obj_u in intsResizing) {
println(obj_u.key) println(obj_u.key)
println(obj_u.value) println(obj_u.value)
} }
var intsResizing_len = intsResizing.size var intsResizing_len = intsResizing.size
println(intsResizing) println(intsResizing)
var androidG:Boolean = true var androidG: Boolean = true
if (androidG) {} if (androidG) {
println(androidG) }
println(androidG)
if (null != item) { if (null != item) {
var round7:MutableMap<String,Long> = mutableMapOf<String,Long>() var round7: MutableMap<String, Long> = mutableMapOf<String, Long>()
round7.put("resume", 94L) round7.put("resume", 94L)
round7.put("complex", 615L) round7.put("complex", 615L)
round7.put("findep", 228L) round7.put("findep", 228L)
round7.put("torch", 214L) round7.put("torch", 214L)
round7.put("party", 313L) round7.put("party", 313L)
if (round7.size > 94) {} if (round7.size > 94) {
}
val positionCurrentView = val positionCurrentView =
holder.binding.itemDetailView.findViewById<TOYPlayfairAutoView>(R.id.item_detail_view) holder.binding.itemDetailView.findViewById<TOYPlayfairAutoView>(R.id.item_detail_view)
var totald:MutableMap<String,Float> = mutableMapOf<String,Float>() var totald: MutableMap<String, Float> = mutableMapOf<String, Float>()
totald.put("decelerating", 836.0f) totald.put("decelerating", 836.0f)
totald.put("darts", 817.0f) totald.put("darts", 817.0f)
val jobBaseEmptyViewS = val jobBaseEmptyViewS =
positionCurrentView.findViewById<AppCompatImageView>(R.id.iv_collection) positionCurrentView.findViewById<AppCompatImageView>(R.id.iv_collection)
var factorym:MutableMap<String,String> = mutableMapOf<String,String>() var factorym: MutableMap<String, String> = mutableMapOf<String, String>()
factorym.put("mapping", "wrapping") factorym.put("mapping", "wrapping")
factorym.put("items", "dismissing") factorym.put("items", "dismissing")
factorym.put("cocosdx", "wei") factorym.put("cocosdx", "wei")
factorym.put("localhost", "ftvpnode") factorym.put("localhost", "ftvpnode")
if (factorym.size > 98) {} if (factorym.size > 98) {
}
println(factorym) println(factorym)
jobBaseEmptyViewS.setOnClickListener { jobBaseEmptyViewS.setOnClickListener {
var emptyJ:Double = 4961.0 var emptyJ: Double = 4961.0
if (emptyJ >= 137.0) {} if (emptyJ >= 137.0) {
}
var boldb:Long = 5743L var boldb: Long = 5743L
if (boldb == 194L) {} if (boldb == 194L) {
println(boldb) }
println(boldb)
item.let { it1 -> playerDetailCollection?.collection(it1) } } item.let { it1 -> playerDetailCollection?.collection(it1) }
}
if (position == currentPlayingPosition) { if (position == currentPlayingPosition) {
var min_pt:Double = 9404.0 var min_pt: Double = 9404.0
if (min_pt <= 48.0) {} if (min_pt <= 48.0) {
println(min_pt) }
println(min_pt)
item.let { item.let {
var gsonr:Long = 1958L var gsonr: Long = 1958L
while (gsonr >= 133L) { break } while (gsonr >= 133L) {
break
}
shortVideo?.let { it1 -> item.shortPlayInfo?.let { it1 ->
holder.binding.itemDetailView.setPlayInfo(it, it1) holder.binding.itemDetailView.setPlayInfo(it, it1)
} }
} }
} else { } else {
var clientv:Long = 1693L var clientv: Long = 1693L
println(clientv) println(clientv)
holder.binding.itemDetailView.stop() holder.binding.itemDetailView.stop()
@ -148,45 +156,50 @@ println(intsResizing)
} }
private fun putActivityEditorAgreementInstance(while_3Progress: Float, arrangementUtil: MutableList<Boolean>) :Int {
var heightTrend:String = "runterm"
var editDescription_i = false
var storeDown = true
var colcolBytecodeMinimal:Int = 8785
editDescription_i = false
colcolBytecodeMinimal += if(editDescription_i) 22 else 42
storeDown = false
colcolBytecodeMinimal += if(storeDown) 39 else 0
return colcolBytecodeMinimal private fun putActivityEditorAgreementInstance(
while_3Progress: Float,
arrangementUtil: MutableList<Boolean>
): Int {
var heightTrend: String = "runterm"
var editDescription_i = false
var storeDown = true
var colcolBytecodeMinimal: Int = 8785
editDescription_i = false
colcolBytecodeMinimal += if (editDescription_i) 22 else 42
storeDown = false
colcolBytecodeMinimal += if (storeDown) 39 else 0
} return colcolBytecodeMinimal
}
override fun onCreateViewHolder(context: Context, parent: ViewGroup, viewType: Int): VH { override fun onCreateViewHolder(context: Context, parent: ViewGroup, viewType: Int): VH {
var macros_a = mutableListOf<Boolean>() var macros_a = mutableListOf<Boolean>()
var packsPreference = this.putActivityEditorAgreementInstance(9955.0f,macros_a) var packsPreference = this.putActivityEditorAgreementInstance(9955.0f, macros_a)
if (packsPreference >= 25) { if (packsPreference >= 25) {
println(packsPreference) println(packsPreference)
} }
println(packsPreference) println(packsPreference)
var secondsp:String = "read" var secondsp: String = "read"
while (secondsp.length > 83) { break } while (secondsp.length > 83) {
break
}
this.enbale_RestartNumClose = false this.enbale_RestartNumClose = false
this.release_1bSelectionClose_string = "earlier" this.release_1bSelectionClose_string = "earlier"
this.notificationsRequestStringMap = mutableMapOf<String,Boolean>() this.notificationsRequestStringMap = mutableMapOf<String, Boolean>()
this.marqueeWatchFontDict = mutableMapOf<String,String>() this.marqueeWatchFontDict = mutableMapOf<String, String>()
return VH(parent) return VH(parent)

View File

@ -0,0 +1,53 @@
package com.veloria.now.shortapp.texturedAsink
data class JumpLaunchVideoBean(
val jump_msg: String,
val jump_status: Boolean,
val app_schema: String,
val launch_url: String,
val revolution: Int,
val shortPlayInfo: ShortPlayInfo,
val site_info: SiteInfo,
val video_info: VideoInfo
) {
data class ShortPlayInfo(
val all_coins: Int,
val buy_type: Int,
val category: List<String>,
val collect_total: Int,
val description: String,
val episode_total: Int,
val ffmpeg_id: Int,
val horizontally_img: String,
val id: Int,
val image_url: String,
val jump_ffmpeg_id: Any,
val manual_hot_count: Int,
val name: String,
val process: Int,
val short_id: Int,
val watch_total: Int
)
data class SiteInfo(
val logo_url: String,
val name: String,
val style_color: String
)
data class VideoInfo(
val coins: Int,
val coins_level: Any,
val episode: Int,
val id: Int,
val is_vip: Int,
val play_seconds: Int,
val promise_view_ad: Int,
val short_id: Int,
val short_play_id: Int,
val short_play_video_id: Int,
val video_url: String,
val vip_coins: Int
)
}

View File

@ -0,0 +1,7 @@
package com.veloria.now.shortapp.texturedAsink
data class JumpLaunchVideoReqBean(
val jump_short_play_id: Int,
val short_play_id: Int,
val video_id: Int
)

View File

@ -3,10 +3,9 @@ package com.veloria.now.shortapp.texturedAsink
import android.os.Parcel import android.os.Parcel
import android.os.Parcelable import android.os.Parcelable
import kotlin.math.min import kotlin.math.min
import kotlin.math.max
class XAboutBean( data class XAboutBean(
val episodeList: List<Episode>, val episodeList: List<Episode>,
val is_collect: Boolean, val is_collect: Boolean,
val show_share_coin: Boolean, val show_share_coin: Boolean,
@ -15,20 +14,22 @@ class XAboutBean(
val unlock_video_ad_count: Int, val unlock_video_ad_count: Int,
val revolution: Int, val revolution: Int,
val discount: Int, val discount: Int,
val jump_type: Int,
var jump_short_play_id: Int,
var business_model: String, var business_model: String,
val shortPlayInfo: ShortPlayInfo, val shortPlayInfo: ShortPlayInfo,
val video_info: KPLeftList val video_info: KPLeftList
) { ) {
@Volatile @Volatile
var moduleJob_string: String = "vect" var moduleJob_string: String = "vect"
@Volatile
private var watchingLockSetupString: String = "corners"
@Volatile
var recentBodyloadMin: Float = 157.0f
@Volatile
private var watchingLockSetupString: String = "corners"
@Volatile
var recentBodyloadMin: Float = 157.0f
data class Episode ( data class Episode(
val coins: Int, val coins: Int,
val episode: Int, val episode: Int,
val id: Int, val id: Int,
@ -40,7 +41,8 @@ private var watchingLockSetupString: String = "corners"
val vip_coins: Int, val vip_coins: Int,
var play_seconds: String?, var play_seconds: String?,
var promise_view_ad: Int, var promise_view_ad: Int,
) : Parcelable{ var shortPlayInfo: ShortPlayInfo?
) : Parcelable {
constructor(parcel: Parcel) : this( constructor(parcel: Parcel) : this(
parcel.readInt(), parcel.readInt(),
parcel.readInt(), parcel.readInt(),
@ -51,274 +53,42 @@ private var watchingLockSetupString: String = "corners"
parcel.readInt(), parcel.readInt(),
parcel.readString().toString(), parcel.readString().toString(),
parcel.readInt(), parcel.readInt(),
parcel.readString().toString(), parcel.readString(),
parcel.readInt() parcel.readInt(),
parcel.readParcelable(ShortPlayInfo::class.java.classLoader)
) { ) {
} }
override fun writeToParcel(parcel: Parcel, flags: Int) {
private fun surfaceModelReadItemCloseArrangement(variableCenter: MutableList<Boolean>) :Boolean {
var playfairPlayfair = 6746
var jobSeconds:Boolean = true
var recommendsService = 4565.0
println(recommendsService)
var animatingDragging:MutableList<Float> = mutableListOf<Float>()
var existedDbsizeGeotags = false
playfairPlayfair *= 454
existedDbsizeGeotags = playfairPlayfair > 28
jobSeconds = false
existedDbsizeGeotags = !jobSeconds
recommendsService -= 451.0
existedDbsizeGeotags = recommendsService > 18
return existedDbsizeGeotags
}
override fun writeToParcel(parcel: Parcel, flags: Int) {
var composition_f:MutableList<Boolean> = mutableListOf<Boolean>()
var invisibleTimescale:Boolean = this.surfaceModelReadItemCloseArrangement(composition_f)
if (invisibleTimescale) {
println("history")
}
println(invisibleTimescale)
var horizontally9:Float = 7990.0f
if (horizontally9 >= 44.0f) {}
parcel.writeInt(coins) parcel.writeInt(coins)
var movec:MutableMap<String,Long> = mutableMapOf<String,Long>()
movec.put("packed", 40L)
movec.put("nextl", 456L)
movec.put("mage", 120L)
movec.put("start", 602L)
while (movec.size > 186) { break }
println(movec)
parcel.writeInt(episode) parcel.writeInt(episode)
var lifecycleV:Double = 3477.0
while (lifecycleV >= 40.0) { break }
parcel.writeInt(id) parcel.writeInt(id)
var size_dN:String = "gens"
if (size_dN.length > 197) {}
parcel.writeByte(if (is_lock) 1 else 0) parcel.writeByte(if (is_lock) 1 else 0)
var local_9uD:Boolean = false
while (local_9uD) { break }
parcel.writeInt(is_vip) parcel.writeInt(is_vip)
var recentv:MutableMap<String,Boolean> = mutableMapOf<String,Boolean>()
recentv.put("unread", false)
recentv.put("nulls", false)
recentv.put("notget", false)
recentv.put("colspan", false)
recentv.put("dynamically", false)
recentv.put("comparable", false)
if (recentv.get("5") != null) {}
parcel.writeInt(short_play_id) parcel.writeInt(short_play_id)
var exploreo:Long = 7484L
parcel.writeInt(short_play_video_id) parcel.writeInt(short_play_video_id)
var againH:Double = 2197.0
if (againH < 143.0) {}
parcel.writeString(video_url) parcel.writeString(video_url)
var itemt:MutableList<String> = mutableListOf<String>()
itemt.add("truncate")
itemt.add("vpcx")
itemt.add("cine")
while (itemt.size > 168) { break }
parcel.writeInt(vip_coins) parcel.writeInt(vip_coins)
var backg:MutableList<Long> = mutableListOf<Long>()
backg.add(135L)
backg.add(727L)
backg.add(842L)
backg.add(795L)
if (backg.size > 122) {}
parcel.writeString(play_seconds) parcel.writeString(play_seconds)
var appvelorias:MutableList<String> = mutableListOf<String>()
appvelorias.add("movenc")
appvelorias.add("trezor")
appvelorias.add("qcelpdata")
appvelorias.add("sinqb")
appvelorias.add("downloadable")
if (appvelorias.contains("launches")) {}
parcel.writeInt(promise_view_ad) parcel.writeInt(promise_view_ad)
parcel.writeParcelable(shortPlayInfo, flags)
} }
override fun describeContents(): Int {
private fun lastCheckedPageScan(verticalString: Boolean, skewedDialog: Float, checkDialog: Int) :MutableList<Float> {
var activityHistory:Long = 3131L
var dialogComplete:MutableList<Long> = mutableListOf<Long>()
var closeHeight = "guid"
var currentRecent = "stop"
var mailtoSframeSubviewer = mutableListOf<Float>()
activityHistory = activityHistory
var f_position_len1:Int = mailtoSframeSubviewer.size
var client_s = min(kotlin.random.Random.nextInt(48), 1) % max(1, mailtoSframeSubviewer.size)
mailtoSframeSubviewer.add(client_s, 5142.0f)
var transparent_len:Int = dialogComplete.size
for(k in 0 .. min(1, transparent_len - 1) ){
if (k < mailtoSframeSubviewer.size){
break
} else {
println(dialogComplete.get(k))
}
}
println("renderers: " + closeHeight)
if (closeHeight != null) {
for(i in 0 .. min(1, closeHeight.length - 1)) {
if (i < mailtoSframeSubviewer.size){
mailtoSframeSubviewer.add(i,if (closeHeight.get(i).toString().matches(Regex("(-)?(^[0-9]+$)|(\\d.\\d+)"))) closeHeight.get(i).toString().toFloat() else 92.0f)
}
println(closeHeight.get(i))
}
}
if (currentRecent.equals("measure")) {
println(currentRecent)
}
if (null != currentRecent) {
for(i in 0 .. min(1, currentRecent.length - 1)) {
if (i < mailtoSframeSubviewer.size){
mailtoSframeSubviewer.add(i,if (currentRecent.get(i).toString().matches(Regex("(-)?(^[0-9]+$)|(\\d.\\d+)"))) currentRecent.get(i).toString().toFloat() else 35.0f)
}
println(currentRecent.get(i))
}
}
return mailtoSframeSubviewer
}
override fun describeContents(): Int {
var hostportfileColumnlist = this.lastCheckedPageScan(true,6435.0f,6849)
var hostportfileColumnlist_len:Int = hostportfileColumnlist.size
for(obj8 in hostportfileColumnlist) {
println(obj8)
}
println(hostportfileColumnlist)
var selectR:Int = 15
while (selectR == 74) { break }
return 0 return 0
} }
companion object CREATOR : Parcelable.Creator<Episode> { companion object CREATOR : Parcelable.Creator<Episode> {
override fun createFromParcel(parcel: Parcel): Episode {
private fun invokeZoneEmptyPaintPrice(extractionInterpolator: String, visibleWatching: MutableList<Boolean>, stringsOnclick: String) :Double {
var justAddition = 6507.0
var arrangementFddebcdbeeffcebdf:Double = 9539.0
println(arrangementFddebcdbeeffcebdf)
var onclickColors = false
println(onclickColors)
var appendPager = true
var smilingBounciness:Double = 7441.0
justAddition = 7655.0
smilingBounciness -= justAddition
arrangementFddebcdbeeffcebdf *= 2990.0
smilingBounciness -= arrangementFddebcdbeeffcebdf
onclickColors = false
smilingBounciness += if(onclickColors) 4 else 20
appendPager = false
smilingBounciness *= if(appendPager) 14 else 67
return smilingBounciness
}
override fun createFromParcel(parcel: Parcel): Episode {
var prehash_v = "blur"
var davd_j:MutableList<Boolean> = mutableListOf<Boolean>()
var vdrawable_a:String = "colr"
var bufferBitreader:Double = this.invokeZoneEmptyPaintPrice(prehash_v,davd_j,vdrawable_a)
println(bufferBitreader)
println(bufferBitreader)
var favoritesZ:Float = 7846.0f
if (favoritesZ >= 126.0f) {}
println(favoritesZ)
return Episode(parcel) return Episode(parcel)
} }
override fun newArray(size: Int): Array<Episode?> {
private fun staySourceCommitCycleRight(shapeCover: MutableMap<String,String>) :MutableMap<String,Double> {
var processScope:String = "layout"
var bannerDelete_hv = mutableMapOf<String,String>()
var loadDetailed = 2244L
println(loadDetailed)
var fontArrangement = 7012
println(fontArrangement)
var vivoReached = mutableMapOf<String,Double>()
vivoReached.put("premultiplied", 1075.0)
for(mbufchain in 0 .. bannerDelete_hv.keys.toList().size - 1) {
vivoReached.put("minmax", if (bannerDelete_hv.get(bannerDelete_hv.keys.toList()[mbufchain])?.matches(Regex("(-)?(^[0-9]+$)|(\\d.\\d+)")) ?: false) bannerDelete_hv.get(bannerDelete_hv.keys.toList()[mbufchain])!!.toDouble() else 81.0 ?: 5141.0)
}
loadDetailed -= loadDetailed
vivoReached.put("birthLimit", 2970.0)
return vivoReached
}
override fun newArray(size: Int): Array<Episode?> {
var vbrushFuzzer = this.staySourceCommitCycleRight(mutableMapOf<String,String>())
for(object_k in vbrushFuzzer) {
println(object_k.key)
println(object_k.value)
}
var vbrushFuzzer_len = vbrushFuzzer.size
println(vbrushFuzzer)
var cellb:Double = 1073.0
println(cellb)
return arrayOfNulls(size) return arrayOfNulls(size)
} }
} }
} }
data class ShortPlayInfo( data class ShortPlayInfo(
@ -327,7 +97,7 @@ println(vbrushFuzzer)
var collect_total: Int, var collect_total: Int,
val description: String, val description: String,
val episode_total: Int, val episode_total: Int,
val id: Int, var id: Int,
val image_url: String, val image_url: String,
var is_collect: Boolean, var is_collect: Boolean,
val name: String, val name: String,
@ -350,255 +120,288 @@ println(vbrushFuzzer)
parcel.readInt(), parcel.readInt(),
parcel.readInt(), parcel.readInt(),
parcel.createStringArrayList() parcel.createStringArrayList()
){ ) {
} }
private fun callNowDecodeOneEventFrom(renderersWidth: MutableMap<String,String>, applicationClose: Int, spacingCoins: Long) :String {
var fddebcdbeeffcebdfHeader:Boolean = true
println(fddebcdbeeffcebdfHeader)
var resourceResponse:Long = 9715L
var lastRestart = true
var modityController:Double = 8204.0
var textElevated = "btree"
if (fddebcdbeeffcebdfHeader == false){
println("top")
}
if (resourceResponse <= 128 && resourceResponse >= -128){
var marquee_r = min(1, kotlin.random.Random.nextInt(94)) % textElevated.length
textElevated += resourceResponse.toString()
}
if (lastRestart){
println("bottom")
}
if (modityController >= -128 && modityController <= 128){
var point_h = min(1, kotlin.random.Random.nextInt(91)) % textElevated.length
textElevated += modityController.toString()
}
return textElevated private fun callNowDecodeOneEventFrom(
renderersWidth: MutableMap<String, String>,
applicationClose: Int,
spacingCoins: Long
): String {
var fddebcdbeeffcebdfHeader: Boolean = true
println(fddebcdbeeffcebdfHeader)
var resourceResponse: Long = 9715L
var lastRestart = true
var modityController: Double = 8204.0
var textElevated = "btree"
if (fddebcdbeeffcebdfHeader == false) {
println("top")
}
if (resourceResponse <= 128 && resourceResponse >= -128) {
var marquee_r = min(1, kotlin.random.Random.nextInt(94)) % textElevated.length
textElevated += resourceResponse.toString()
}
if (lastRestart) {
println("bottom")
}
if (modityController >= -128 && modityController <= 128) {
var point_h = min(1, kotlin.random.Random.nextInt(91)) % textElevated.length
textElevated += modityController.toString()
}
} return textElevated
}
override fun writeToParcel(parcel: Parcel, flags: Int) { override fun writeToParcel(parcel: Parcel, flags: Int) {
var gnutlsPager:String = this.callNowDecodeOneEventFrom(mutableMapOf<String,String>(),286,9501L) var gnutlsPager: String =
this.callNowDecodeOneEventFrom(mutableMapOf<String, String>(), 286, 9501L)
var gnutlsPager_len = gnutlsPager.length var gnutlsPager_len = gnutlsPager.length
println(gnutlsPager) println(gnutlsPager)
println(gnutlsPager) println(gnutlsPager)
var p_view3:Long = 6163L var p_view3: Long = 6163L
while (p_view3 < 199L) { break } while (p_view3 < 199L) {
break
}
parcel.writeInt(all_coins) parcel.writeInt(all_coins)
var bingeZ:Int = 5369 var bingeZ: Int = 5369
if (bingeZ == 111) {} if (bingeZ == 111) {
}
parcel.writeInt(buy_type) parcel.writeInt(buy_type)
var footer1:Float = 3680.0f var footer1: Float = 3680.0f
println(footer1) println(footer1)
parcel.writeInt(collect_total) parcel.writeInt(collect_total)
var renderersr:MutableMap<String,Int> = mutableMapOf<String,Int>() var renderersr: MutableMap<String, Int> = mutableMapOf<String, Int>()
renderersr.put("eyboard", 131) renderersr.put("eyboard", 131)
renderersr.put("dctcoef", 16) renderersr.put("dctcoef", 16)
while (renderersr.size > 185) { break } while (renderersr.size > 185) {
break
}
parcel.writeString(description) parcel.writeString(description)
var collectionsB:MutableMap<String,Boolean> = mutableMapOf<String,Boolean>() var collectionsB: MutableMap<String, Boolean> = mutableMapOf<String, Boolean>()
collectionsB.put("postproc", true) collectionsB.put("postproc", true)
collectionsB.put("inserts", false) collectionsB.put("inserts", false)
collectionsB.put("silent", true) collectionsB.put("silent", true)
collectionsB.put("archiving", true) collectionsB.put("archiving", true)
collectionsB.put("leak", true) collectionsB.put("leak", true)
while (collectionsB.size > 94) { break } while (collectionsB.size > 94) {
break
}
parcel.writeInt(episode_total) parcel.writeInt(episode_total)
var observe_:Double = 2966.0 var observe_: Double = 2966.0
parcel.writeInt(id) parcel.writeInt(id)
var playfairk:MutableList<Double> = mutableListOf<Double>() var playfairk: MutableList<Double> = mutableListOf<Double>()
playfairk.add(555.0) playfairk.add(555.0)
playfairk.add(649.0) playfairk.add(649.0)
playfairk.add(126.0) playfairk.add(126.0)
playfairk.add(178.0) playfairk.add(178.0)
println(playfairk) println(playfairk)
parcel.writeString(image_url) parcel.writeString(image_url)
var animatorA:MutableMap<String,Float> = mutableMapOf<String,Float>() var animatorA: MutableMap<String, Float> = mutableMapOf<String, Float>()
animatorA.put("small", 808.0f) animatorA.put("small", 808.0f)
animatorA.put("honeyswap", 204.0f) animatorA.put("honeyswap", 204.0f)
animatorA.put("getp", 595.0f) animatorA.put("getp", 595.0f)
animatorA.put("w_28", 608.0f) animatorA.put("w_28", 608.0f)
animatorA.put("notificatons", 757.0f) animatorA.put("notificatons", 757.0f)
if (animatorA.get("A") != null) {} if (animatorA.get("A") != null) {
}
parcel.writeByte(if (is_collect) 1 else 0) parcel.writeByte(if (is_collect) 1 else 0)
var adverti:MutableMap<String,Double> = mutableMapOf<String,Double>() var adverti: MutableMap<String, Double> = mutableMapOf<String, Double>()
adverti.put("lebn", 676.0) adverti.put("lebn", 676.0)
adverti.put("output", 288.0) adverti.put("output", 288.0)
adverti.put("socantsendmore", 824.0) adverti.put("socantsendmore", 824.0)
adverti.put("covered", 798.0) adverti.put("covered", 798.0)
adverti.put("oval", 12.0) adverti.put("oval", 12.0)
while (adverti.size > 147) { break } while (adverti.size > 147) {
break
}
parcel.writeString(name) parcel.writeString(name)
var completey:Float = 3099.0f var completey: Float = 3099.0f
while (completey > 32.0f) { break } while (completey > 32.0f) {
break
}
parcel.writeInt(process) parcel.writeInt(process)
var contenta:Double = 6480.0 var contenta: Double = 6480.0
if (contenta >= 198.0) {} if (contenta >= 198.0) {
}
parcel.writeInt(short_id) parcel.writeInt(short_id)
var categoriesv:Long = 9306L var categoriesv: Long = 9306L
if (categoriesv >= 76L) {} if (categoriesv >= 76L) {
}
parcel.writeInt(watch_total) parcel.writeInt(watch_total)
var authorization2:Double = 2660.0 var authorization2: Double = 2660.0
while (authorization2 < 80.0) { break } while (authorization2 < 80.0) {
break
}
parcel.writeStringList(category) parcel.writeStringList(category)
} }
private fun singleManualModel(titleRight: Float, modelTab: Int, keywordPager: Boolean) :String {
var keywordFree = false
var imageLoading:String = "tcp"
var playfairVariable:Long = 8926L
println(playfairVariable)
var langContext = false
var strcatBoundary = "squared"
if (keywordFree == false){
println("current")
}
println("bottom: " + imageLoading)
var selected_n = min(1, kotlin.random.Random.nextInt(18)) % imageLoading.length
var gift_j = min(1, kotlin.random.Random.nextInt(41)) % strcatBoundary.length
strcatBoundary += imageLoading.get(selected_n)
if (playfairVariable >= -128 && playfairVariable <= 128){
var detailed_o:Int = min(1, kotlin.random.Random.nextInt(91)) % strcatBoundary.length
strcatBoundary += playfairVariable.toString()
}
if (true == langContext){
println("fddebcdbeeffcebdf")
}
return strcatBoundary private fun singleManualModel(
titleRight: Float,
modelTab: Int,
keywordPager: Boolean
): String {
var keywordFree = false
var imageLoading: String = "tcp"
var playfairVariable: Long = 8926L
println(playfairVariable)
var langContext = false
var strcatBoundary = "squared"
if (keywordFree == false) {
println("current")
}
println("bottom: " + imageLoading)
var selected_n = min(1, kotlin.random.Random.nextInt(18)) % imageLoading.length
var gift_j = min(1, kotlin.random.Random.nextInt(41)) % strcatBoundary.length
strcatBoundary += imageLoading.get(selected_n)
if (playfairVariable >= -128 && playfairVariable <= 128) {
var detailed_o: Int =
min(1, kotlin.random.Random.nextInt(91)) % strcatBoundary.length
strcatBoundary += playfairVariable.toString()
}
if (true == langContext) {
println("fddebcdbeeffcebdf")
}
} return strcatBoundary
}
override fun describeContents(): Int { override fun describeContents(): Int {
var productfIccp = this.singleManualModel(9004.0f,1947,true) var productfIccp = this.singleManualModel(9004.0f, 1947, true)
if (productfIccp == "onclick") { if (productfIccp == "onclick") {
println(productfIccp) println(productfIccp)
} }
var productfIccp_len:Int = productfIccp.length var productfIccp_len: Int = productfIccp.length
println(productfIccp) println(productfIccp)
var listW:MutableMap<String,String> = mutableMapOf<String,String>() var listW: MutableMap<String, String> = mutableMapOf<String, String>()
listW.put("beneficiary", "webs") listW.put("beneficiary", "webs")
listW.put("create", "sharegroup") listW.put("create", "sharegroup")
listW.put("charlen", "descent") listW.put("charlen", "descent")
if (listW.size > 68) {} if (listW.size > 68) {
}
return 0 return 0
} }
companion object CREATOR : Parcelable.Creator<ShortPlayInfo> { companion object CREATOR : Parcelable.Creator<ShortPlayInfo> {
private fun writeCloseMinuteFeature(playingMove: String, coverMove: Double) :Double {
var managerPlay = "vmatrix"
var heightHandler:Int = 2355
var languageNotifications:Float = 9886.0f
var bingeImg:Long = 1551L
println(bingeImg)
var lasrOpenglMessage:Double = 1720.0
heightHandler = 2016
languageNotifications = 6074.0f
bingeImg *= 6094L
return lasrOpenglMessage private fun writeCloseMinuteFeature(playingMove: String, coverMove: Double): Double {
var managerPlay = "vmatrix"
var heightHandler: Int = 2355
var languageNotifications: Float = 9886.0f
var bingeImg: Long = 1551L
println(bingeImg)
var lasrOpenglMessage: Double = 1720.0
heightHandler = 2016
languageNotifications = 6074.0f
bingeImg *= 6094L
} return lasrOpenglMessage
}
override fun createFromParcel(parcel: Parcel): ShortPlayInfo { override fun createFromParcel(parcel: Parcel): ShortPlayInfo {
var fiat_k = "initial" var fiat_k = "initial"
var winthreadStorex:Double = this.writeCloseMinuteFeature(fiat_k,3341.0) var winthreadStorex: Double = this.writeCloseMinuteFeature(fiat_k, 3341.0)
if (winthreadStorex < 15.0) { if (winthreadStorex < 15.0) {
println(winthreadStorex) println(winthreadStorex)
} }
println(winthreadStorex) println(winthreadStorex)
var dimensL:String = "rsaz" var dimensL: String = "rsaz"
if (dimensL.length > 55) {} if (dimensL.length > 55) {
}
return ShortPlayInfo(parcel) return ShortPlayInfo(parcel)
} }
private fun needShareMinimumAudioVisitLight(attrsDialog: MutableList<Float>, workWith_gl: Boolean) :Double {
var focusItems = false
var scanDetached = 2391L
var default_n8String = mutableListOf<Double>()
var applicationUtil:Boolean = true
println(applicationUtil)
var sinewinAuxiliary:Double = 9570.0
focusItems = false
sinewinAuxiliary -= if(focusItems) 64 else 4
scanDetached = 4895L
applicationUtil = false
sinewinAuxiliary += if(applicationUtil) 57 else 36
return sinewinAuxiliary private fun needShareMinimumAudioVisitLight(
attrsDialog: MutableList<Float>,
workWith_gl: Boolean
): Double {
var focusItems = false
var scanDetached = 2391L
var default_n8String = mutableListOf<Double>()
var applicationUtil: Boolean = true
println(applicationUtil)
var sinewinAuxiliary: Double = 9570.0
focusItems = false
sinewinAuxiliary -= if (focusItems) 64 else 4
scanDetached = 4895L
applicationUtil = false
sinewinAuxiliary += if (applicationUtil) 57 else 36
} return sinewinAuxiliary
}
override fun newArray(size: Int): Array<ShortPlayInfo?> { override fun newArray(size: Int): Array<ShortPlayInfo?> {
var cut_x:MutableList<Float> = mutableListOf<Float>() var cut_x: MutableList<Float> = mutableListOf<Float>()
var hashkeyPip:Double = this.needShareMinimumAudioVisitLight(cut_x,true) var hashkeyPip: Double = this.needShareMinimumAudioVisitLight(cut_x, true)
if (hashkeyPip <= 96.0) { if (hashkeyPip <= 96.0) {
println(hashkeyPip) println(hashkeyPip)
} }
println(hashkeyPip) println(hashkeyPip)
var manual9:String = "unrolled" var manual9: String = "unrolled"
while (manual9.length > 106) { break } while (manual9.length > 106) {
break
}
return arrayOfNulls(size) return arrayOfNulls(size)

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/white" />
<corners android:radius="@dimen/dp_8" />
</shape>

View File

@ -35,6 +35,10 @@
android:id="@+id/layout_recommend" android:id="@+id/layout_recommend"
layout="@layout/layout_player_recommend" /> layout="@layout/layout_player_recommend" />
<include
android:id="@+id/layout_ad"
layout="@layout/layout_player_ad" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
@ -45,8 +49,7 @@
android:layout_marginTop="@dimen/dp_35" android:layout_marginTop="@dimen/dp_35"
android:padding="@dimen/dp_15" android:padding="@dimen/dp_15"
android:src="@mipmap/right_dimens" android:src="@mipmap/right_dimens"
android:visibility="gone" android:visibility="gone" />
/>
</FrameLayout> </FrameLayout>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.media3.ui.PlayerView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:controller_layout_id="@layout/layout_ad_player_view_controller"
app:resize_mode="zoom">
</androidx.media3.ui.PlayerView>

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_close_recommend_detail"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -0,0 +1,171 @@
<?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:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone"
tools:background="@color/black50">
<FrameLayout
android:id="@+id/video"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_ad_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_35"
android:padding="@dimen/dp_15"
android:src="@mipmap/right_dimens"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.cardview.widget.CardView
android:id="@+id/cardView"
android:layout_width="@dimen/dp_36"
android:layout_height="@dimen/dp_36"
android:layout_marginStart="@dimen/dp_12"
android:layout_marginTop="@dimen/sp_8"
app:cardCornerRadius="@dimen/dp_8"
app:cardElevation="0dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/iv_ad_back">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_logo"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@mipmap/ic_launcher" />
</androidx.cardview.widget.CardView>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_7"
android:text=""
android:textColor="@color/white"
android:textSize="@dimen/sp_14"
android:textStyle="bold"
app:layout_constraintStart_toEndOf="@+id/cardView"
app:layout_constraintTop_toBottomOf="@+id/iv_ad_back" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_des"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_10"
android:text="For more short dramas"
android:textColor="@color/white"
android:textSize="@dimen/sp_14"
app:layout_constraintStart_toEndOf="@+id/cardView"
app:layout_constraintTop_toBottomOf="@+id/tv_name" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_description"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_5"
android:layout_marginEnd="@dimen/dp_6"
android:layout_toStartOf="@id/iv_des_change"
android:gravity="left"
android:maxLines="1"
android:ellipsize="end"
android:lineSpacingExtra="1dp"
android:lineSpacingMultiplier="1.1"
android:textColor="@color/white50"
android:textSize="@dimen/sp_12"
app:layout_constraintEnd_toStartOf="@+id/iv_des_change"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/cardView"
tools:text="12323123213213221321321321323231231321321312323213213123213213" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_des_change"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_6"
android:layout_marginEnd="@dimen/dp_15"
android:src="@mipmap/iv_des_down"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/tv_description" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_ad_sign"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_3"
android:layout_marginEnd="@dimen/dp_12"
android:src="@mipmap/ic_palyer_ad"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/iv_ad_back" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_download"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_36"
android:layout_marginHorizontal="@dimen/dp_15"
android:layout_marginBottom="@dimen/dp_10"
android:background="@drawable/bg_player_ad"
android:gravity="center"
android:text="More Episodes"
android:textColor="@color/black"
android:textSize="@dimen/sp_12"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@+id/tv_player_seek_time"
app:layout_constraintEnd_toEndOf="parent" />
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/ll_bottom_controller"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_20"
android:layout_marginHorizontal="@dimen/dp_15"
android:layout_marginBottom="@dimen/dp_15"
android:gravity="center"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent">
<androidx.appcompat.widget.AppCompatSeekBar
android:id="@+id/sb_player_controller"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:maxHeight="@dimen/dp_2"
android:paddingStart="0dp"
android:paddingEnd="0dp"
android:progressDrawable="@drawable/a_trending"
android:splitTrack="false"
android:thumb="@drawable/ja_edit"
android:thumbOffset="8dp" />
</androidx.appcompat.widget.LinearLayoutCompat>
<com.veloria.now.shortapp.rewards.UVPlayer
android:id="@+id/load_line"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_2"
android:layout_marginHorizontal="@dimen/dp_15"
app:layout_constraintBottom_toBottomOf="@+id/ll_bottom_controller"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/ll_bottom_controller" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_player_seek_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/sp_15"
android:layout_marginBottom="@dimen/dp_5"
android:gravity="center_horizontal"
android:textColor="@color/white"
android:textSize="@dimen/sp_12"
android:visibility="visible"
app:layout_constraintBottom_toTopOf="@+id/load_line"
app:layout_constraintStart_toStartOf="parent"
tools:text="00:00/02:24" />
</androidx.constraintlayout.widget.ConstraintLayout>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -6,6 +6,7 @@
<color name="giftButton">#FF03DAC5</color> <color name="giftButton">#FF03DAC5</color>
<color name="episodeHomeList">#FF018786</color> <color name="episodeHomeList">#FF018786</color>
<color name="black">#FF000000</color> <color name="black">#FF000000</color>
<color name="black50">#80000000</color>
<color name="transparent">#00000000</color> <color name="transparent">#00000000</color>
<color name="white">#FFFFFFFF</color> <color name="white">#FFFFFFFF</color>
<color name="white95">#F2FFFFFF</color> <color name="white95">#F2FFFFFF</color>