Commit 4cf9a81e authored by mengcuiguang's avatar mengcuiguang

代码优化

parent d809c8ce
This diff is collapsed.
This diff is collapsed.
......@@ -11,6 +11,8 @@ import com.duben.loveplayletu.utils.AppPreferencesManager
import com.duben.loveplayletu.utils.DeviceUuidFactory
import com.duben.library.net.neterror.BaseSubscriber
import com.duben.library.net.neterror.Throwable
import com.duben.loveplayletu.common.AppConfig
import com.google.gson.JsonObject
import java.util.HashMap
class HomePresenter : BasePresenter<HomeView>() {
......@@ -77,47 +79,40 @@ class HomePresenter : BasePresenter<HomeView>() {
})
}
private fun showTurn() {
fun orders() {
AppHttpManager.getInstance(loanApplication)
.call(loanService.showTurn(),
object : BaseSubscriber<BaseResponse<NineShowBean>>() {
.call(loanService.orders(),
object : BaseSubscriber<BaseResponse<BannerList>>() {
override fun onCompleted() {
if (isLinkView) return
}
override fun onNext(baseResponse: BaseResponse<NineShowBean>) {
override fun onError(e: Throwable) {
if (isLinkView) return
}
override fun onNext(baseResponse: BaseResponse<BannerList>) {
if (isLinkView) return
val code = baseResponse.status
val message = baseResponse.message
when (code) {
200 -> {
val data = baseResponse.data
if (data != null) {
view.showTurnSuc(data)
// AppPreferencesManager.get()
// .put(Constant.LUCKY_FLAG, data.isShow)
// AppPreferencesManager.get()
// .put(Constant.LUCKY_COMPLETE, data.complete)
// AppPreferencesManager.get()
// .put(Constant.LUCKY_NEED, data.need)
}
view.ordersSuc(baseResponse.data)
}
else -> {
view.showToast(message)
}
}
override fun onError(e: Throwable?) {
if (isLinkView) return
}
})
}
fun orders() {
fun signAfterSeconds() {
AppHttpManager.getInstance(loanApplication)
.call(loanService.orders(),
object : BaseSubscriber<BaseResponse<BannerList>>() {
.call(loanService.signAfterSeconds(),
object : BaseSubscriber<BaseResponse<JsonObject>>() {
override fun onCompleted() {
if (isLinkView) return
}
......@@ -126,15 +121,17 @@ class HomePresenter : BasePresenter<HomeView>() {
if (isLinkView) return
}
override fun onNext(baseResponse: BaseResponse<BannerList>) {
override fun onNext(baseResponse: BaseResponse<JsonObject>) {
if (isLinkView) return
val code = baseResponse.status
val message = baseResponse.message
when (code) {
200 -> {
view.ordersSuc(baseResponse.data)
try {
view.signAfterSecondsSuc(baseResponse.data.get("time").asInt)
} catch (e: Exception) {
e.printStackTrace()
}
}
else -> {
view.showToast(message)
......
......@@ -10,5 +10,5 @@ interface HomeView : BaseView {
fun getSoltVedioSuc(data: IndexList?)
fun getRecommendVedioSuc(data: RecoBean?)
fun showTurnSuc(data: NineShowBean)
fun signAfterSecondsSuc(time:Int)
}
......@@ -343,6 +343,12 @@ public interface LoanService {
@POST("api/vedioV1/confs")
Observable<BaseResponse<JsonObject>> showVedioConfs();
/**
* 视频页广告开关
*/
@POST("api/vip/signAfterSeconds")
Observable<BaseResponse<JsonObject>> signAfterSeconds();
/**
* 默认http工厂
......
package com.duben.loveplayletu.ui.activitys
import android.os.Bundle
import android.view.KeyEvent
import android.view.View
import com.airbnb.lottie.LottieAnimationView
import com.airbnb.lottie.LottieComposition
import com.airbnb.lottie.LottieCompositionFactory
import com.airbnb.lottie.LottieDrawable
import com.duben.library.utils.nodoubleclick.AntiShake
import com.duben.loveplayletu.R
import com.duben.loveplayletu.mvp.model.OrderRecordBean
import com.duben.loveplayletu.ui.activitys.base.BaseActivity
import com.duben.loveplayletu.ui.widgets.SimpleCountDownTimer
import kotlinx.android.synthetic.main.activity_alipaytime.*
......@@ -14,8 +20,12 @@ import kotlinx.android.synthetic.main.activity_alipaytime.*
* 作者:孟崔广
*/
class AlipayTimeActivity : BaseActivity(), View.OnClickListener {
companion object {
const val ALIPAY_TIME = "alipay_time"
}
private var countDownTimer: SimpleCountDownTimer? = null
private var alipaytime = 0
override fun getContentViewLayoutID() = R.layout.activity_alipaytime
......@@ -25,9 +35,16 @@ class AlipayTimeActivity : BaseActivity(), View.OnClickListener {
override fun getOverridePendingTransitionMode() = TransitionMode.FADE
override fun getBundleExtras(extras: Bundle?) {
super.getBundleExtras(extras)
extras?.let {
alipaytime = it.getInt(ALIPAY_TIME, 0)
}
}
override fun initViewsAndEvents() {
countDownTimer= SimpleCountDownTimer(30*60*1000, tv_alipaytime).setOnFinishListener {
showToast("11111")
countDownTimer = SimpleCountDownTimer(alipaytime.toLong() * 1000, tv_alipaytime).setOnFinishListener {
finish()
}.start() as SimpleCountDownTimer?
}
......@@ -57,4 +74,15 @@ class AlipayTimeActivity : BaseActivity(), View.OnClickListener {
// }
}
private fun playCollectAnim(view: LottieAnimationView) {
val lottieDrawable = LottieDrawable()
LottieCompositionFactory.fromAsset(context, "home_collect.json")
.addListener { result: LottieComposition? ->
lottieDrawable.setImagesAssetsFolder("images/")
lottieDrawable.composition = result
lottieDrawable.loop(false)
lottieDrawable.playAnimation()
}
view.setImageDrawable(lottieDrawable)
}
}
\ No newline at end of file
......@@ -11,10 +11,8 @@ import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import androidx.viewpager2.widget.ViewPager2
import com.google.android.material.tabs.TabLayout
import com.google.android.material.tabs.TabLayoutMediator
import com.scwang.smartrefresh.layout.api.RefreshLayout
import com.scwang.smartrefresh.layout.listener.OnRefreshListener
import com.duben.library.utils.GlideUtils
import com.duben.library.utils.nodoubleclick.AntiShake
import com.duben.loveplayletu.R
import com.duben.loveplayletu.ad.AdManager
import com.duben.loveplayletu.ad.banner.BannerManager
......@@ -26,16 +24,20 @@ import com.duben.loveplayletu.manager.UserManager
import com.duben.loveplayletu.mvp.model.*
import com.duben.loveplayletu.mvp.presenters.HomePresenter
import com.duben.loveplayletu.mvp.views.HomeView
import com.duben.loveplayletu.ui.activitys.AlipayTimeActivity
import com.duben.loveplayletu.ui.activitys.NineActivity
import com.duben.loveplayletu.ui.activitys.VipActivity
import com.duben.loveplayletu.ui.adapter.HomeVideoPageAdapter
import com.duben.loveplayletu.ui.adapter.ImageTitleAdapter
import com.duben.loveplayletu.ui.adapter.TopAdapter
import com.duben.loveplayletu.ui.fragment.base.LazyLoadBaseFragment
import com.duben.loveplayletu.ui.widgets.SimpleCountDownTimer
import com.duben.loveplayletu.utils.AppPreferencesManager
import com.duben.loveplayletu.utils.SpanUtils
import com.duben.library.utils.GlideUtils
import com.duben.library.utils.json.JsonUtil
import com.duben.library.utils.nodoubleclick.AntiShake
import com.duben.loveplayletu.ui.activitys.*
import com.google.android.material.tabs.TabLayout
import com.google.android.material.tabs.TabLayoutMediator
import com.scwang.smartrefresh.layout.api.RefreshLayout
import com.scwang.smartrefresh.layout.listener.OnRefreshListener
import kotlinx.android.synthetic.main.activity_alipaytime.*
import kotlinx.android.synthetic.main.fragment_main.*
import java.lang.reflect.Field
import java.util.*
......@@ -58,6 +60,8 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
private var vpAdapter: HomeVideoPageAdapter? = null
private var topAdapter: TopAdapter? = null
private var recommendVedioBean: RecoBean? = null
private var countDownTimer: SimpleCountDownTimer? = null
private var alipayTime = 0
private val homePresenter by lazy { HomePresenter() }
......@@ -116,11 +120,11 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
} else {
homePresenter.topTabs()
homePresenter.orders()
homePresenter.signAfterSeconds()
TrackManager.getInstance().getMyInfo()
// showRecommendAct()
}
AppConfig.showVipAdDialog=false
AppConfig.showVipAdDialog = false
}
}
......@@ -149,8 +153,9 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
if (AntiShake.check(v?.id)) return
when (v?.id) {
R.id.iv_kefu_main -> {
// (requireActivity() as MainActivity).backPhoneDialog()
readyGo(AlipayTimeActivity::class.java)
val bundle = Bundle()
bundle.putInt(AlipayTimeActivity.ALIPAY_TIME, alipayTime)
readyGo(AlipayTimeActivity::class.java, bundle)
}
R.id.iv_main_watching_close -> {
LocalVedioManager.closeCacheVedio()
......@@ -347,44 +352,24 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
this.recommendVedioBean = data
}
override fun showTurnSuc(data: NineShowBean) {
AppPreferencesManager.get().put(Constant.LUCKY_FLAG, data.isShow)
if (!data.isShow || UserManager.getInstance().vipFlag) {
ll_lucky.visibility = View.GONE
return
} else {
ll_lucky.visibility = View.VISIBLE
context?.let { GlideUtils.loadRoundImageViewGif(it, R.drawable.ic_nine, iv_lucky_gif) }
override fun signAfterSecondsSuc(time: Int) {
this.alipayTime = time
if (countDownTimer != null) {
countDownTimer!!.cancel()
countDownTimer = null
}
if (time > 0) {
iv_kefu_main.visibility = View.VISIBLE
countDownTimer =
SimpleCountDownTimer(time.toLong() * 1000, tv_alipaytime).setOnFinishListener {
iv_kefu_main?.visibility = View.GONE
}.start() as SimpleCountDownTimer?
val complete = data.complete
val need = data.need
if (complete >= need) {
tv_lucky_status.text = SpanUtils()
.append("可领取")
.setForegroundColor(resources.getColor(R.color.apk_uninstalled))
.create()
} else {
tv_lucky_status.text = SpanUtils()
.append(complete.toString())
.setForegroundColor(resources.getColor(R.color.red))
.append("/")
.append(need.toString())
.create()
iv_kefu_main.visibility = View.GONE
}
}
override fun onHiddenChanged(hidden: Boolean) {
super.onHiddenChanged(hidden)
// if (isHidden) {
// vpAdapter?.getFragments()?.get(mSelectTabIndex)?.onPause()
// } else {
// vpAdapter?.getFragments()?.get(mSelectTabIndex)?.onResume()
// }
}
override fun onFragmentResume(firstResume: Boolean) {
super.onFragmentResume(firstResume)
......@@ -396,61 +381,6 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
vpAdapter?.getFragments()?.get(mSelectTabIndex)?.onPause()
}
/**
* 展示推荐弹窗
*/
private fun showRecommendAct() {
// if (data == null || data.vedio3 == null) return
if (UserManager.getInstance().newFlag && !UserManager.getInstance().vipFlag) {
// 1、第一次打开app并关闭付费页进首页时出现一次
val mainFirstRecommend =
AppPreferencesManager.get().getBoolean(Constant.MAIN_FIRST_RECOMMEND, false)
if (!mainFirstRecommend) {
if (AppConfig.enterVipAct) {
AppConfig.enterVipAct = false
AppPreferencesManager.get().put(Constant.MAIN_FIRST_RECOMMEND, true)
Handler(Looper.getMainLooper()).postDelayed({
AppPreferencesManager.get().put(Constant.VEDIO_MAIN_COUNT, 0)
readyGo(RecommendBannerActivity::class.java)
}, 300)
return
}
}
// 2、每3次弹出推荐剧
val adCount = AppPreferencesManager.get().getInt(Constant.VEDIO_MAIN_COUNT, 0)
AppPreferencesManager.get().put(Constant.VEDIO_MAIN_COUNT, adCount + 1)
if (mainFirstRecommend && adCount >= 3) {
Handler(Looper.getMainLooper()).postDelayed({
AppPreferencesManager.get().put(Constant.VEDIO_MAIN_COUNT, 0)
readyGo(RecommendBannerActivity::class.java)
}, 300)
}
// // 2、用户第一次打开app未签约付费,而是看了十次广告以上的,则在下一次打开app时关闭启动付费页面后弹出推荐弹框一次
// val mainTwoRecommend =
// AppPreferencesManager.get().getBoolean(Constant.MAIN_TWO_RECOMMEND, false)
// val adCount = AppPreferencesManager.get().getInt(Constant.VEDIO_AD_COUNT, 0)
// if (!mainTwoRecommend && adCount > data.vedio3.adShowCount) {
// AppPreferencesManager.get().put(Constant.MAIN_TWO_RECOMMEND, true)
// Handler(Looper.getMainLooper()).postDelayed({
// val bundle = Bundle()
// bundle.putString(Constant.RECOMMEND_BEAN, JsonUtil.toJson(data.vedio3))
// readyGo(RecommendActivity::class.java, bundle)
// }, 300)
// }
}
}
fun ViewPager2.desensitization() {
//动态设置ViewPager2 灵敏度
try {
......
......@@ -10,11 +10,12 @@
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_gravity="center"
android:src="@mipmap/ic_my_new"></ImageView>
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/zan_iv"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_marginTop="10dp"
android:src="@mipmap/home_collect_img_0" />
<TextView
android:id="@+id/tv_alipaytime"
......
......@@ -243,17 +243,22 @@
</RelativeLayout>
</LinearLayout>
<ImageView
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/iv_kefu_main"
android:layout_width="80dp"
android:layout_height="88dp"
android:layout_marginEnd="5dp"
android:visibility="gone"
android:layout_marginBottom="90dp"
android:gravity="center"
app:lottie_fileName="main_alipay.json"
app:lottie_autoPlay="true"
app:lottie_loop="true"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
<LinearLayout
android:id="@+id/ll_lucky"
android:layout_width="wrap_content"
......
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