Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
android_vedio
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
android
android_vedio
Commits
a001ccd4
Commit
a001ccd4
authored
Jan 05, 2024
by
mengcuiguang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
代码优化
parent
308805b6
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
90 additions
and
63 deletions
+90
-63
AppConfig.java
...src/main/java/com/duben/xixiplaylet/common/AppConfig.java
+1
-0
VideoPresenter.kt
...va/com/duben/xixiplaylet/mvp/presenters/VideoPresenter.kt
+32
-0
VideoView.kt
...rc/main/java/com/duben/xixiplaylet/mvp/views/VideoView.kt
+3
-0
DramaApiDetailActivity.kt
...com/duben/xixiplaylet/video/csj/DramaApiDetailActivity.kt
+9
-1
TxVideoActivity.kt
...in/java/com/duben/xixiplaylet/video/tx/TxVideoActivity.kt
+10
-1
TxVideoAdapter.kt
.../com/duben/xixiplaylet/video/tx/adapter/TxVideoAdapter.kt
+35
-47
item_block_view.xml
video/app/src/main/res/layout/item_block_view.xml
+0
-14
No files found.
video/app/src/main/java/com/duben/xixiplaylet/common/AppConfig.java
View file @
a001ccd4
...
...
@@ -27,4 +27,5 @@ public class AppConfig {
public
static
boolean
showVipVedio
=
false
;
public
static
long
splashTime
=
0L
;
public
static
double
firstVipPrice
=
0.0
;
}
video/app/src/main/java/com/duben/xixiplaylet/mvp/presenters/VideoPresenter.kt
View file @
a001ccd4
...
...
@@ -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
)
{
...
...
video/app/src/main/java/com/duben/xixiplaylet/mvp/views/VideoView.kt
View file @
a001ccd4
...
...
@@ -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
video/app/src/main/java/com/duben/xixiplaylet/video/csj/DramaApiDetailActivity.kt
View file @
a001ccd4
...
...
@@ -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"
)
...
...
video/app/src/main/java/com/duben/xixiplaylet/video/tx/TxVideoActivity.kt
View file @
a001ccd4
...
...
@@ -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
...
...
video/app/src/main/java/com/duben/xixiplaylet/video/tx/adapter/TxVideoAdapter.kt
View file @
a001ccd4
...
...
@@ -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
?)
{
...
...
video/app/src/main/res/layout/item_block_view.xml
View file @
a001ccd4
...
...
@@ -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"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment