Commit a001ccd4 authored by mengcuiguang's avatar mengcuiguang

代码优化

parent 308805b6
......@@ -27,4 +27,5 @@ public class AppConfig {
public static boolean showVipVedio = false;
public static long splashTime = 0L;
public static double firstVipPrice = 0.0;
}
......@@ -7,11 +7,43 @@ import com.duben.xixiplaylet.manager.AppHttpManager
import com.duben.xixiplaylet.mvp.model.BaseResponse
import com.duben.xixiplaylet.mvp.model.IndexList
import com.duben.xixiplaylet.mvp.model.NineShowBean
import com.duben.xixiplaylet.mvp.model.VipBean
import com.duben.xixiplaylet.mvp.views.VideoView
import java.util.HashMap
class VideoPresenter : BasePresenter<VideoView>() {
fun getVipProducts() {
val vo = HashMap<String, Any>()
AppHttpManager.getInstance(loanApplication)
.call(loanService.getVipProducts(vo),
object : BaseSubscriber<BaseResponse<VipBean>>() {
override fun onCompleted() {
if (isLinkView) return
view.hideLoading()
}
override fun onError(e: Throwable) {
if (isLinkView) return
view.hideLoading()
view.showToast(e.message)
}
override fun onNext(baseResponse: BaseResponse<VipBean>) {
if (isLinkView) return
val code: Int = baseResponse.getStatus()
when (code) {
200 -> {
view.getVipProductSuc(baseResponse.data)
}
else -> {
view.showToast(baseResponse.getMessage())
}
}
}
})
}
fun getIndexList(thirdId: String, csj: Boolean = false) {
val vo = HashMap<String, Any>()
if (csj) {
......
......@@ -2,6 +2,7 @@ package com.duben.xixiplaylet.mvp.views
import com.duben.xixiplaylet.mvp.model.IndexList
import com.duben.xixiplaylet.mvp.model.NineShowBean
import com.duben.xixiplaylet.mvp.model.VipBean
interface VideoView : BaseView {
......@@ -19,4 +20,6 @@ interface VideoView : BaseView {
fun showTurnSuc(data: NineShowBean)
fun getVipProductSuc(data: VipBean)
}
\ No newline at end of file
......@@ -40,6 +40,8 @@ import com.duben.xixiplaylet.utils.SpanUtils
import com.duben.xixiplaylet.utils.UIUtils
import com.duben.library.utils.GlideUtils
import com.duben.library.utils.nodoubleclick.AntiShake
import com.duben.xixiplaylet.common.AppConfig
import com.duben.xixiplaylet.mvp.model.VipBean
import kotlinx.android.synthetic.main.drama_activity_api_detail.*
import kotlinx.android.synthetic.main.drama_activity_api_detail.iv_lucky_gif
import kotlinx.android.synthetic.main.drama_activity_api_detail.ll_lucky
......@@ -131,7 +133,7 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
override fun initViewsAndEvents() {
videoPresenter.attachView(this)
mVedioBean?.let { videoPresenter.getIndexList(it.thirdId, true) }
videoPresenter.getVipProducts()
if (!UserManager.getInstance().vipFlag) {
ExpressManager.instance.preLoadAd()
}
......@@ -649,6 +651,12 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
localShowLucky(mCurrentIndex - 1)
}
override fun getVipProductSuc(data: VipBean) {
if (data.list != null && data.list.size > 0) {
AppConfig.firstVipPrice = data.list.get(0).price
}
}
private fun playCollectAnim(view: LottieAnimationView) {
val lottieDrawable = LottieDrawable()
LottieCompositionFactory.fromAsset(context, "home_collect.json")
......
......@@ -29,6 +29,8 @@ import com.duben.xixiplaylet.utils.SpanUtils
import com.duben.xixiplaylet.video.tx.adapter.TxVideoAdapter
import com.duben.library.utils.GlideUtils
import com.duben.library.utils.nodoubleclick.AntiShake
import com.duben.xixiplaylet.common.AppConfig
import kotlinx.android.synthetic.main.activity_new_vip.*
import kotlinx.android.synthetic.main.activity_tx_video.*
class TxVideoActivity : BaseActivity(), View.OnClickListener, VideoView,
......@@ -56,6 +58,7 @@ class TxVideoActivity : BaseActivity(), View.OnClickListener, VideoView,
override fun initViewsAndEvents() {
videoPresenter.attachView(this)
mVedioBean?.let { videoPresenter.getIndexList("" + it.vedioId) }
videoPresenter.getVipProducts()
initView()
}
......@@ -254,6 +257,12 @@ class TxVideoActivity : BaseActivity(), View.OnClickListener, VideoView,
}
}
override fun getVipProductSuc(data: VipBean) {
if (data.list != null && data.list.size > 0) {
AppConfig.firstVipPrice = data.list.get(0).price
}
}
override fun onEpisodeClick(position: Int) {
dialog?.dismiss()
val data = super_short_video_view.data
......@@ -390,7 +399,7 @@ class TxVideoActivity : BaseActivity(), View.OnClickListener, VideoView,
if (isLuckyShow || localLucky) {
ll_lucky.visibility = View.VISIBLE
context?.let { GlideUtils.loadRoundImageViewGif(it,R.drawable.ic_nine,iv_lucky_gif) }
context?.let { GlideUtils.loadRoundImageViewGif(it, R.drawable.ic_nine, iv_lucky_gif) }
} else {
ll_lucky.visibility = View.GONE
......
......@@ -16,6 +16,7 @@ import com.duben.xixiplaylet.R
import com.duben.xixiplaylet.ad.draw.DrawExpressManager
import com.duben.xixiplaylet.ad.express.ExpressAdCallback
import com.duben.xixiplaylet.ad.express.ExpressManager
import com.duben.xixiplaylet.common.AppConfig
import com.duben.xixiplaylet.manager.UserManager
import com.duben.xixiplaylet.mvp.model.*
import com.duben.xixiplaylet.utils.UIUtils
......@@ -85,41 +86,28 @@ class TxVideoAdapter : BaseMultiItemQuickAdapter<VideoMultiItemEntity, BaseViewH
val adBtn = holder.getView<View>(R.id.unlock)
vedioBean?.let {
if (it.isRecommendVedio) { // 推荐剧集逻辑
if (holder.adapterPosition < it.unlockIndex) { // 观看激励视频解锁
if (holder.adapterPosition < it.unlockIndex) {
// 观看激励视频解锁
vipBtn.visibility = View.GONE
adBtn.visibility = View.VISIBLE
holder.getView<TextView>(R.id.tv_title).text = String.format(
"解锁%s·第%d集",
it.title,
holder.adapterPosition + 1
)
holder.getView<TextView>(R.id.tv_info).text = String.format(
"看激励视频解锁1集剧情\n请按照顺序解锁"
)
holder.getView<TextView>(R.id.tv_title).text =
if (AppConfig.firstVipPrice == 0.0) "解锁后续剧集" else "${AppConfig.firstVipPrice}元解锁后续剧集"
} else { // 开通会员解锁
adBtn.visibility = View.GONE
vipBtn.visibility = View.VISIBLE
holder.getView<TextView>(R.id.tv_info).visibility = View.GONE
vipBtn.setBackgroundResource(R.mipmap.bg_detail_bottom_vip)
holder.getView<TextView>(R.id.tv_title).text =
String.format("解锁%s·全集", it.title)
if (AppConfig.firstVipPrice == 0.0) "解锁后续剧集" else "${AppConfig.firstVipPrice}元解锁后续剧集"
}
} else {
adBtn.visibility = View.VISIBLE
holder.getView<TextView>(R.id.tv_title).text = String.format(
"解锁%s·第%d-%d集",
it.title,
it.unlockIndex + 1,
it.unlockIndex + it.adGiveVedioNum
)
holder.getView<TextView>(R.id.tv_info).text = String.format(
"看激励视频解锁%d集剧情\n请按照顺序解锁",
it.adGiveVedioNum
)
}
holder.getView<TextView>(R.id.unlock).text = String.format("查看激励视频")
holder.getView<View>(R.id.unlock).setOnClickListener { it2 ->
......@@ -127,34 +115,34 @@ class TxVideoAdapter : BaseMultiItemQuickAdapter<VideoMultiItemEntity, BaseViewH
}
}
ExpressManager.instance.getAdView(
object : ExpressAdCallback {
override fun loadSuccess(adView: FrameLayout?) {
adView?.let {
UIUtils.removeFromParent(it)
val fmAd = holder.getView<FrameLayout>(R.id.fl_ad)
fmAd.removeAllViews()
fmAd.addView(it)
}
ExpressManager.instance.preLoadAd()
}
override fun renderSuccess(adView: FrameLayout?): Boolean {
adView?.let {
UIUtils.removeFromParent(it)
val fmAd = holder.getView<FrameLayout>(R.id.fl_ad)
fmAd.removeAllViews()
fmAd.addView(it)
}
ExpressManager.instance.preLoadAd()
return false
}
override fun loadFail() {
}
})
// ExpressManager.instance.getAdView(
// object : ExpressAdCallback {
// override fun loadSuccess(adView: FrameLayout?) {
// adView?.let {
// UIUtils.removeFromParent(it)
// val fmAd = holder.getView<FrameLayout>(R.id.fl_ad)
// fmAd.removeAllViews()
// fmAd.addView(it)
// }
//
// ExpressManager.instance.preLoadAd()
// }
//
// override fun renderSuccess(adView: FrameLayout?): Boolean {
// adView?.let {
// UIUtils.removeFromParent(it)
// val fmAd = holder.getView<FrameLayout>(R.id.fl_ad)
// fmAd.removeAllViews()
// fmAd.addView(it)
// }
//
// ExpressManager.instance.preLoadAd()
// return false
// }
//
// override fun loadFail() {
// }
// })
}
private fun initVideoHolder(holder: BaseViewHolder, item: IndexList.VedioEpisodeBean?) {
......
......@@ -26,12 +26,6 @@
android:gravity="center"
android:orientation="vertical">
<FrameLayout
android:id="@+id/fl_ad"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/shape_bg_write" />
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
......@@ -44,14 +38,6 @@
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:gravity="center"
android:text="试看已结束" />
<Button
android:id="@+id/vip"
android:layout_width="230dp"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment