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
e2f9aea3
Commit
e2f9aea3
authored
Jan 08, 2024
by
mengcuiguang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
代码优化
parent
7b02cff9
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
305 additions
and
144 deletions
+305
-144
VipActivity.kt
...in/java/com/duben/xixiplaylet/ui/activitys/VipActivity.kt
+2
-0
DramaApiDetailActivity.kt
...com/duben/xixiplaylet/video/csj/DramaApiDetailActivity.kt
+238
-112
TxVideoActivity.kt
...in/java/com/duben/xixiplaylet/video/tx/TxVideoActivity.kt
+1
-1
NewTxVideoActivity.kt
...n/xixiplaylet/video/tx/newrecommend/NewTxVideoActivity.kt
+64
-31
No files found.
video/app/src/main/java/com/duben/xixiplaylet/ui/activitys/VipActivity.kt
View file @
e2f9aea3
...
@@ -417,6 +417,7 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
...
@@ -417,6 +417,7 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
//策略场景类调起支付方法开始支付,以及接收回调。
//策略场景类调起支付方法开始支付,以及接收回调。
RxPay
.
pay
(
wxPay
,
this
,
wxPayInfoImpl
,
object
:
IPayCallback
{
RxPay
.
pay
(
wxPay
,
this
,
wxPayInfoImpl
,
object
:
IPayCallback
{
override
fun
success
()
{
override
fun
success
()
{
AppConfig
.
showVipAdDialog
=
false
UserManager
.
getInstance
().
vipFlag
=
true
UserManager
.
getInstance
().
vipFlag
=
true
vipPresenter
.
queryVipOrder
(
wxParanBean
.
tid
.
toString
(),
true
)
vipPresenter
.
queryVipOrder
(
wxParanBean
.
tid
.
toString
(),
true
)
}
}
...
@@ -454,6 +455,7 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
...
@@ -454,6 +455,7 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
//策略场景类调起支付方法开始支付,以及接收回调。
//策略场景类调起支付方法开始支付,以及接收回调。
RxPay
.
pay
(
aliPay
,
this
,
alipayInfoImpl
,
object
:
IPayCallback
{
RxPay
.
pay
(
aliPay
,
this
,
alipayInfoImpl
,
object
:
IPayCallback
{
override
fun
success
()
{
override
fun
success
()
{
AppConfig
.
showVipAdDialog
=
false
UserManager
.
getInstance
().
vipFlag
=
true
UserManager
.
getInstance
().
vipFlag
=
true
vipPresenter
.
queryVipOrder
(
wxParanBean
.
tid
.
toString
(),
true
)
vipPresenter
.
queryVipOrder
(
wxParanBean
.
tid
.
toString
(),
true
)
}
}
...
...
video/app/src/main/java/com/duben/xixiplaylet/video/csj/DramaApiDetailActivity.kt
View file @
e2f9aea3
...
@@ -2,6 +2,8 @@ package com.duben.xixiplaylet.video.csj
...
@@ -2,6 +2,8 @@ package com.duben.xixiplaylet.video.csj
import
android.app.Dialog
import
android.app.Dialog
import
android.os.Bundle
import
android.os.Bundle
import
android.os.Handler
import
android.os.Looper
import
android.util.Log
import
android.util.Log
import
android.view.View
import
android.view.View
import
android.widget.Button
import
android.widget.Button
...
@@ -42,6 +44,7 @@ import com.duben.library.utils.GlideUtils
...
@@ -42,6 +44,7 @@ import com.duben.library.utils.GlideUtils
import
com.duben.library.utils.nodoubleclick.AntiShake
import
com.duben.library.utils.nodoubleclick.AntiShake
import
com.duben.xixiplaylet.common.AppConfig
import
com.duben.xixiplaylet.common.AppConfig
import
com.duben.xixiplaylet.mvp.model.VipBean
import
com.duben.xixiplaylet.mvp.model.VipBean
import
com.duben.xixiplaylet.ui.widgets.DetailAdDialog
import
kotlinx.android.synthetic.main.drama_activity_api_detail.*
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.iv_lucky_gif
import
kotlinx.android.synthetic.main.drama_activity_api_detail.ll_lucky
import
kotlinx.android.synthetic.main.drama_activity_api_detail.ll_lucky
...
@@ -109,6 +112,10 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
...
@@ -109,6 +112,10 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
private
var
mVedioBean
:
VedioBean
?
=
null
private
var
mVedioBean
:
VedioBean
?
=
null
private
var
mCurrentIndex
=
0
private
var
mCurrentIndex
=
0
private
var
currentDramaIndex
=
0
private
var
detailAdDialog
:
DetailAdDialog
?
=
null
override
fun
getBundleExtras
(
extras
:
Bundle
?)
{
override
fun
getBundleExtras
(
extras
:
Bundle
?)
{
val
json
=
extras
?.
getString
(
Constant
.
VEDIO_BEAN
)
val
json
=
extras
?.
getString
(
Constant
.
VEDIO_BEAN
)
...
@@ -183,7 +190,8 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
...
@@ -183,7 +190,8 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
unlock
.
visibility
=
View
.
GONE
unlock
.
visibility
=
View
.
GONE
}
}
tv_title
.
text
=
if
(
AppConfig
.
firstVipPrice
==
0.0
)
"解锁后续剧集"
else
"${AppConfig.firstVipPrice}元解锁后续剧集"
tv_title
.
text
=
if
(
AppConfig
.
firstVipPrice
==
0.0
)
"解锁后续剧集"
else
"${AppConfig.firstVipPrice}元解锁后续剧集"
if
(
mVedioBean
!!
.
collect
==
0
)
{
if
(
mVedioBean
!!
.
collect
==
0
)
{
...
@@ -220,6 +228,7 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
...
@@ -220,6 +228,7 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
val
bundle
=
Bundle
()
val
bundle
=
Bundle
()
bundle
.
putString
(
VipActivity
.
VEDIO_ID
,
mVedioBean
!!
.
vedioId
.
toString
())
bundle
.
putString
(
VipActivity
.
VEDIO_ID
,
mVedioBean
!!
.
vedioId
.
toString
())
bundle
.
putString
(
VipActivity
.
THIRD_ID
,
mVedioBean
!!
.
thirdId
)
bundle
.
putString
(
VipActivity
.
THIRD_ID
,
mVedioBean
!!
.
thirdId
)
bundle
.
putBoolean
(
VipActivity
.
IS_DETAIL
,
true
)
readyGo
(
VipActivity
::
class
.
java
,
bundle
)
readyGo
(
VipActivity
::
class
.
java
,
bundle
)
}
}
}
}
...
@@ -266,6 +275,14 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
...
@@ -266,6 +275,14 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
// 重置状态
// 重置状态
resetData
()
resetData
()
}
}
// vip界面返回弹出广告弹窗
if
(
AppConfig
.
showVipAdDialog
&&
!
UserManager
.
getInstance
().
vipFlag
)
{
Handler
(
Looper
.
getMainLooper
()).
postDelayed
({
adDialog
()
AppConfig
.
showVipAdDialog
=
false
},
300
)
}
}
}
override
fun
onPause
()
{
override
fun
onPause
()
{
...
@@ -420,7 +437,7 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
...
@@ -420,7 +437,7 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
Log
.
d
(
TAG
,
"showAdIfNeeded:"
+
map
?.
toString
())
Log
.
d
(
TAG
,
"showAdIfNeeded:"
+
map
?.
toString
())
blockView
?.
visibility
=
View
.
VISIBLE
blockView
?.
visibility
=
View
.
VISIBLE
unlockCallback
=
callback
unlockCallback
=
callback
currentDramaIndex
=
dpWidget
?.
currentDramaIndex
!!
// 展示广告
// 展示广告
...
@@ -434,7 +451,8 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
...
@@ -434,7 +451,8 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
)
)
}
else
{
}
else
{
tv_title
.
text
=
if
(
AppConfig
.
firstVipPrice
==
0.0
)
"解锁后续剧集"
else
"${AppConfig.firstVipPrice}元解锁后续剧集"
tv_title
.
text
=
if
(
AppConfig
.
firstVipPrice
==
0.0
)
"解锁后续剧集"
else
"${AppConfig.firstVipPrice}元解锁后续剧集"
}
}
...
@@ -739,7 +757,13 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
...
@@ -739,7 +757,13 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
// 超过免费剧
// 超过免费剧
if
(
position
>=
mVedioBean
!!
.
freeIndex
)
{
if
(
position
>=
mVedioBean
!!
.
freeIndex
)
{
ll_lucky
.
visibility
=
View
.
VISIBLE
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
{
}
else
{
ll_lucky
.
visibility
=
View
.
GONE
ll_lucky
.
visibility
=
View
.
GONE
}
}
...
@@ -837,4 +861,106 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
...
@@ -837,4 +861,106 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
})
})
}
}
private
fun
adDialog
()
{
detailAdDialog
=
DetailAdDialog
(
context
,
object
:
DialogListener
()
{
override
fun
onClick
(
v
:
View
)
{
// if (AntiShake.check(v.id)) return
when
(
v
.
id
)
{
R
.
id
.
iv_detail_ad_next
->
{
val
carrierType
=
Constant
.
CARRIERTYPE_CSJ_VEDIO
AdManager
.
instance
.
showAd
(
this
@DramaApiDetailActivity
,
carrierType
,
object
:
AdStatusListener
{
var
canFail
=
false
override
fun
adSuccess
()
{
canFail
=
true
}
override
fun
adFail
()
{
if
(
canFail
)
return
NoPreAdManager
.
loadVideoAd
(
this
@DramaApiDetailActivity
,
carrierType
,
object
:
AdStatusListener
{
override
fun
adFail
()
{
showToast
(
"广告太火爆了,请稍候再试"
)
}
override
fun
adSuccess
()
{
}
override
fun
adClose
(
vo
:
HashMap
<
String
,
Any
>?)
{
vo
?.
let
{
if
(
isThirdId
)
{
it
[
"thirdId"
]
=
""
+
mVedioBean
!!
.
thirdId
}
else
{
it
[
"vedioId"
]
=
""
+
mVedioBean
!!
.
vedioId
}
videoPresenter
.
unlock
(
it
)
}
// 更新解锁集数
for
(
i
in
1
until
lockSet
)
{
val
hasUnlockList
:
MutableList
<
Int
>
=
mHasUnlockIndexMap
[
drama
?.
id
]
?:
mutableListOf
()
hasUnlockList
.
add
(
currentDramaIndex
+
i
)
mHasUnlockIndexMap
[
drama
!!
.
id
]
=
hasUnlockList
}
mInitUnlockIndex
=
mUnlockIndexMap
[
drama
?.
id
]
!!
+
lockSet
mUnlockIndexMap
[
drama
!!
.
id
]
=
mUnlockIndexMap
[
drama
!!
.
id
]
!!
+
lockSet
mVedioBean
!!
.
unlockIndex
=
mInitUnlockIndex
// 播放当前集
mVedioBean
!!
.
seeIndex
=
mCurrentIndex
mVedioBean
!!
.
orderTags
=
orderTagsList
LocalVedioManager
.
commitVedio
(
mVedioBean
!!
)
blockView
?.
visibility
=
View
.
GONE
unlockCallback
?.
onDramaRewardArrived
()
// 解锁当前集
}
})
}
override
fun
adClose
(
vo
:
HashMap
<
String
,
Any
>?)
{
vo
?.
let
{
if
(
isThirdId
)
{
it
[
"thirdId"
]
=
""
+
mVedioBean
!!
.
thirdId
}
else
{
it
[
"vedioId"
]
=
""
+
mVedioBean
!!
.
vedioId
}
videoPresenter
.
unlock
(
it
)
}
// 更新解锁集数
for
(
i
in
1
until
lockSet
)
{
val
hasUnlockList
:
MutableList
<
Int
>
=
mHasUnlockIndexMap
[
drama
!!
.
id
]
?:
mutableListOf
()
hasUnlockList
.
add
(
currentDramaIndex
+
i
)
mHasUnlockIndexMap
[
drama
!!
.
id
]
=
hasUnlockList
}
mInitUnlockIndex
=
mUnlockIndexMap
[
drama
!!
.
id
]
!!
+
lockSet
mUnlockIndexMap
[
drama
!!
.
id
]
=
mUnlockIndexMap
[
drama
!!
.
id
]
!!
+
lockSet
mVedioBean
!!
.
unlockIndex
=
mInitUnlockIndex
blockView
?.
visibility
=
View
.
GONE
// 播放当前集
mVedioBean
!!
.
seeIndex
=
mCurrentIndex
mVedioBean
!!
.
orderTags
=
orderTagsList
LocalVedioManager
.
commitVedio
(
mVedioBean
!!
)
unlockCallback
?.
onDramaRewardArrived
()
// 解锁当前集
}
})
detailAdDialog
?.
dismiss
()
}
}
}
})
detailAdDialog
!!
.
show
()
}
}
}
\ No newline at end of file
video/app/src/main/java/com/duben/xixiplaylet/video/tx/TxVideoActivity.kt
View file @
e2f9aea3
...
@@ -94,7 +94,7 @@ class TxVideoActivity : BaseActivity(), View.OnClickListener, VideoView,
...
@@ -94,7 +94,7 @@ class TxVideoActivity : BaseActivity(), View.OnClickListener, VideoView,
}
}
// vip界面返回弹出广告弹窗
// vip界面返回弹出广告弹窗
if
(
AppConfig
.
showVipAdDialog
)
{
if
(
AppConfig
.
showVipAdDialog
&&
!
UserManager
.
getInstance
().
vipFlag
)
{
Handler
(
Looper
.
getMainLooper
()).
postDelayed
({
Handler
(
Looper
.
getMainLooper
()).
postDelayed
({
adDialog
()
adDialog
()
AppConfig
.
showVipAdDialog
=
false
AppConfig
.
showVipAdDialog
=
false
...
...
video/app/src/main/java/com/duben/xixiplaylet/video/tx/newrecommend/NewTxVideoActivity.kt
View file @
e2f9aea3
...
@@ -2,6 +2,8 @@ package com.duben.xixiplaylet.video.tx.newrecommend
...
@@ -2,6 +2,8 @@ package com.duben.xixiplaylet.video.tx.newrecommend
import
android.app.Dialog
import
android.app.Dialog
import
android.os.Bundle
import
android.os.Bundle
import
android.os.Handler
import
android.os.Looper
import
android.view.View
import
android.view.View
import
androidx.core.content.ContextCompat
import
androidx.core.content.ContextCompat
import
com.google.gson.Gson
import
com.google.gson.Gson
...
@@ -27,6 +29,7 @@ import com.duben.xixiplaylet.video.tx.VideoModel
...
@@ -27,6 +29,7 @@ import com.duben.xixiplaylet.video.tx.VideoModel
import
com.duben.library.utils.GlideUtils
import
com.duben.library.utils.GlideUtils
import
com.duben.library.utils.nodoubleclick.AntiShake
import
com.duben.library.utils.nodoubleclick.AntiShake
import
com.duben.xixiplaylet.common.AppConfig
import
com.duben.xixiplaylet.common.AppConfig
import
com.duben.xixiplaylet.ui.widgets.DetailAdDialog
import
com.duben.xixiplaylet.ui.widgets.DialogListener
import
com.duben.xixiplaylet.ui.widgets.DialogListener
import
com.duben.xixiplaylet.ui.widgets.VideoEpisodeDialog
import
com.duben.xixiplaylet.ui.widgets.VideoEpisodeDialog
import
kotlinx.android.synthetic.main.activity_new_tx_video.*
import
kotlinx.android.synthetic.main.activity_new_tx_video.*
...
@@ -42,6 +45,7 @@ class NewTxVideoActivity : BaseActivity(), View.OnClickListener, VideoView,
...
@@ -42,6 +45,7 @@ class NewTxVideoActivity : BaseActivity(), View.OnClickListener, VideoView,
private
var
mAllData
=
arrayListOf
<
VedioEpisodeBean
>()
private
var
mAllData
=
arrayListOf
<
VedioEpisodeBean
>()
private
var
dialog
:
VideoEpisodeDialog
?
=
null
private
var
dialog
:
VideoEpisodeDialog
?
=
null
private
var
detailAdDialog
:
DetailAdDialog
?
=
null
private
val
videoPresenter
by
lazy
{
VideoPresenter
()
}
private
val
videoPresenter
by
lazy
{
VideoPresenter
()
}
...
@@ -81,6 +85,14 @@ class NewTxVideoActivity : BaseActivity(), View.OnClickListener, VideoView,
...
@@ -81,6 +85,14 @@ class NewTxVideoActivity : BaseActivity(), View.OnClickListener, VideoView,
playIndex
=
new_super_short_video_view
.
currentPosition
playIndex
=
new_super_short_video_view
.
currentPosition
mVedioBean
?.
let
{
videoPresenter
.
getIndexList
(
""
+
it
.
vedioId
)
}
mVedioBean
?.
let
{
videoPresenter
.
getIndexList
(
""
+
it
.
vedioId
)
}
}
}
// vip界面返回弹出广告弹窗
if
(
AppConfig
.
showVipAdDialog
&&
!
UserManager
.
getInstance
().
vipFlag
)
{
Handler
(
Looper
.
getMainLooper
()).
postDelayed
({
adDialog
()
AppConfig
.
showVipAdDialog
=
false
},
300
)
}
}
}
override
fun
onPause
()
{
override
fun
onPause
()
{
...
@@ -285,6 +297,23 @@ class NewTxVideoActivity : BaseActivity(), View.OnClickListener, VideoView,
...
@@ -285,6 +297,23 @@ class NewTxVideoActivity : BaseActivity(), View.OnClickListener, VideoView,
}
}
R
.
id
.
unlock
->
{
R
.
id
.
unlock
->
{
// 看广告解锁
// 看广告解锁
showAd
()
}
R
.
id
.
vip
->
{
// 开通VIP
val
bundle
=
Bundle
()
bundle
.
putString
(
VipActivity
.
VEDIO_ID
,
mVedioBean
!!
.
vedioId
.
toString
())
bundle
.
putString
(
VipActivity
.
THIRD_ID
,
mVedioBean
!!
.
thirdId
)
bundle
.
putBoolean
(
VipActivity
.
IS_RECOMMEND
,
true
)
bundle
.
putBoolean
(
VipActivity
.
IS_DETAIL
,
true
)
readyGo
(
VipActivity
::
class
.
java
,
bundle
)
}
else
->
{}
}
}
private
fun
showAd
()
{
val
carrierType
=
Constant
.
CARRIERTYPE_TX_VEDIO
val
carrierType
=
Constant
.
CARRIERTYPE_TX_VEDIO
AdManager
.
instance
.
showAd
(
this
,
carrierType
,
AdManager
.
instance
.
showAd
(
this
,
carrierType
,
object
:
AdStatusListener
{
object
:
AdStatusListener
{
...
@@ -317,18 +346,6 @@ class NewTxVideoActivity : BaseActivity(), View.OnClickListener, VideoView,
...
@@ -317,18 +346,6 @@ class NewTxVideoActivity : BaseActivity(), View.OnClickListener, VideoView,
}
}
})
})
}
}
R
.
id
.
vip
->
{
// 开通VIP
val
bundle
=
Bundle
()
bundle
.
putString
(
VipActivity
.
VEDIO_ID
,
mVedioBean
!!
.
vedioId
.
toString
())
bundle
.
putString
(
VipActivity
.
THIRD_ID
,
mVedioBean
!!
.
thirdId
)
bundle
.
putBoolean
(
VipActivity
.
IS_RECOMMEND
,
true
)
readyGo
(
VipActivity
::
class
.
java
,
bundle
)
}
else
->
{}
}
}
private
fun
updateEpisodeData
(
position
:
Int
,
vo
:
HashMap
<
String
,
Any
>?)
{
private
fun
updateEpisodeData
(
position
:
Int
,
vo
:
HashMap
<
String
,
Any
>?)
{
vo
?.
let
{
vo
?.
let
{
...
@@ -358,4 +375,20 @@ class NewTxVideoActivity : BaseActivity(), View.OnClickListener, VideoView,
...
@@ -358,4 +375,20 @@ class NewTxVideoActivity : BaseActivity(), View.OnClickListener, VideoView,
}
}
return
readPosition
return
readPosition
}
}
private
fun
adDialog
()
{
detailAdDialog
=
DetailAdDialog
(
context
,
object
:
DialogListener
()
{
override
fun
onClick
(
v
:
View
)
{
if
(
AntiShake
.
check
(
v
.
id
))
return
when
(
v
.
id
)
{
R
.
id
.
iv_detail_ad_next
->
{
showAd
()
detailAdDialog
?.
dismiss
()
}
}
}
})
detailAdDialog
!!
.
show
()
}
}
}
\ No newline at end of file
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