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
31dd742b
Commit
31dd742b
authored
Nov 21, 2023
by
jyx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
代码优化
parent
06c01c02
Changes
22
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
335 additions
and
317 deletions
+335
-317
DotBean.kt
.../app/src/main/java/com/duben/heliapp/mvp/model/DotBean.kt
+5
-0
VedioBean.java
.../src/main/java/com/duben/heliapp/mvp/model/VedioBean.java
+9
-0
VideoMultiItemEntity.kt
.../java/com/duben/heliapp/mvp/model/VideoMultiItemEntity.kt
+1
-1
VideoPresenter.kt
...n/java/com/duben/heliapp/mvp/presenters/VideoPresenter.kt
+9
-7
WatchRecordPresenter.kt
.../com/duben/heliapp/mvp/presenters/WatchRecordPresenter.kt
+22
-12
VideoView.kt
...pp/src/main/java/com/duben/heliapp/mvp/views/VideoView.kt
+2
-2
WatchRecordView.kt
.../main/java/com/duben/heliapp/mvp/views/WatchRecordView.kt
+3
-2
LoanService.java
.../app/src/main/java/com/duben/heliapp/net/LoanService.java
+9
-8
DotRecordActivity.kt
.../java/com/duben/heliapp/ui/activitys/DotRecordActivity.kt
+22
-5
WatchRecordActivity.kt
...ava/com/duben/heliapp/ui/activitys/WatchRecordActivity.kt
+5
-2
DotRecordAdapter.kt
...ain/java/com/duben/heliapp/ui/adapter/DotRecordAdapter.kt
+2
-1
MyFragment.kt
...src/main/java/com/duben/heliapp/ui/fragment/MyFragment.kt
+0
-2
RecommendFragment.kt
...n/java/com/duben/heliapp/ui/fragment/RecommendFragment.kt
+5
-5
VideoEpisodeDialog.kt
...n/java/com/duben/heliapp/ui/widgets/VideoEpisodeDialog.kt
+17
-37
DramaApiDetailActivity.kt
...ava/com/duben/heliapp/video/csj/DramaApiDetailActivity.kt
+16
-11
DramaTabFragment.kt
...main/java/com/duben/heliapp/video/csj/DramaTabFragment.kt
+3
-1
SuperShortVideoView.java
.../java/com/duben/heliapp/video/tx/SuperShortVideoView.java
+4
-5
TxVideoActivity.kt
...c/main/java/com/duben/heliapp/video/tx/TxVideoActivity.kt
+98
-127
TxVideoAdapter.kt
...java/com/duben/heliapp/video/tx/adapter/TxVideoAdapter.kt
+89
-85
NewTxVideoActivity.kt
...duben/heliapp/video/tx/newrecommend/NewTxVideoActivity.kt
+2
-1
fragment_main_my.xml
video/app/src/main/res/layout/fragment_main_my.xml
+1
-2
item_block_view.xml
video/app/src/main/res/layout/item_block_view.xml
+11
-1
No files found.
video/app/src/main/java/com/duben/heliapp/mvp/model/DotBean.kt
View file @
31dd742b
...
...
@@ -3,6 +3,11 @@ package com.duben.heliapp.mvp.model
import
android.os.Parcelable
import
kotlinx.android.parcel.Parcelize
@Parcelize
data class
DotListBean
(
val
list
:
List
<
DotBean
>,
)
:
Parcelable
,
java
.
io
.
Serializable
@Parcelize
data class
DotBean
(
val
remark
:
String
,
...
...
video/app/src/main/java/com/duben/heliapp/mvp/model/VedioBean.java
View file @
31dd742b
...
...
@@ -13,6 +13,7 @@ public class VedioBean implements Serializable {
private
String
tabImage
;
private
String
topTabsReamrk
;
private
ArrayList
<
String
>
orderTags
;
//标签
private
ArrayList
<
Integer
>
unlockArr
;
//标签
private
int
vedioTotal
;
//同穿山甲 total
private
int
unlockIndex
;
//解锁剧集
private
int
seeIndex
;
//看到哪一集了
...
...
@@ -38,6 +39,14 @@ public class VedioBean implements Serializable {
return
showNum
;
}
public
ArrayList
<
Integer
>
getUnlockArr
()
{
return
unlockArr
;
}
public
void
setUnlockArr
(
ArrayList
<
Integer
>
unlockArr
)
{
this
.
unlockArr
=
unlockArr
;
}
public
void
setShowNum
(
String
showNum
)
{
this
.
showNum
=
showNum
;
}
...
...
video/app/src/main/java/com/duben/heliapp/mvp/model/VideoMultiItemEntity.kt
View file @
31dd742b
...
...
@@ -9,7 +9,7 @@ const val MULTI_ITEM_2 = 2
const
val
MULTI_ITEM_3
=
3
data class
VideoMultiItemEntity
(
override
va
l
itemType
:
Int
,
override
va
r
itemType
:
Int
,
var
video
:
IndexList
.
VedioEpisodeBean
?,
var
videoModel
:
VideoModel
?
)
:
MultiItemEntity
,
java
.
io
.
Serializable
...
...
video/app/src/main/java/com/duben/heliapp/mvp/presenters/VideoPresenter.kt
View file @
31dd742b
...
...
@@ -173,23 +173,25 @@ class VideoPresenter : BasePresenter<VideoView>() {
fun
unlock
(
vo
:
HashMap
<
String
,
Any
>)
{
AppHttpManager
.
getInstance
(
loanApplication
)
.
call
(
loanService
.
unlock
(
vo
),
object
:
BaseSubscriber
<
BaseResponse
<
IndexList
>>()
{
.
call
(
loanService
.
unlock
(
vo
),
object
:
BaseSubscriber
<
BaseResponse
<
JsonObject
>>()
{
override
fun
onCompleted
()
{
if
(
isLinkView
)
return
view
.
hideLoading
()
}
override
fun
onNext
(
baseResponse
:
BaseResponse
<
IndexLis
t
>)
{
override
fun
onNext
(
baseResponse
:
BaseResponse
<
JsonObjec
t
>)
{
if
(
isLinkView
)
return
view
.
hideLoading
()
val
code
=
baseResponse
.
status
val
status
=
baseResponse
.
status
val
message
=
baseResponse
.
message
when
(
code
)
{
200
->
view
.
unlockSuc
(
baseResponse
.
data
)
when
(
status
)
{
200
->
{
val
data
=
baseResponse
.
data
view
.
unlockSuc
(
data
)
}
else
->
{
view
.
unlockFail
()
view
.
showToast
(
message
)
...
...
video/app/src/main/java/com/duben/heliapp/mvp/presenters/WatchRecordPresenter.kt
View file @
31dd742b
package
com.duben.heliapp.mvp.presenters
import
com.google.gson.JsonObject
import
com.duben.library.net.neterror.BaseSubscriber
import
com.duben.library.net.neterror.Throwable
import
com.duben.heliapp.manager.AppHttpManager
import
com.duben.heliapp.mvp.model.BannerList
import
com.duben.heliapp.mvp.model.BaseResponse
import
com.duben.heliapp.mvp.model.DotListBean
import
com.duben.heliapp.mvp.views.WatchRecordView
import
java.util.HashMap
import
com.duben.library.net.neterror.BaseSubscriber
import
com.duben.library.net.neterror.Throwable
import
com.google.gson.JsonObject
class
WatchRecordPresenter
:
BasePresenter
<
WatchRecordView
>()
{
fun
getDotHistory
()
{
fun
getDotHistory
(
page
:
Int
,
size
:
Int
)
{
val
vo
=
HashMap
<
String
,
Any
>()
vo
[
"page"
]
=
page
vo
[
"size"
]
=
size
AppHttpManager
.
getInstance
(
loanApplication
)
.
call
(
loanService
.
add
(
),
object
:
BaseSubscriber
<
BaseResponse
<
BannerList
>>()
{
.
call
(
loanService
.
add
(
vo
),
object
:
BaseSubscriber
<
BaseResponse
<
DotListBean
>>()
{
override
fun
onCompleted
()
{
if
(
isLinkView
)
return
view
.
hideLoading
()
}
override
fun
onNext
(
baseResponse
:
BaseResponse
<
BannerList
>)
{
override
fun
onNext
(
baseResponse
:
BaseResponse
<
DotListBean
>)
{
if
(
isLinkView
)
return
view
.
hideLoading
()
...
...
@@ -27,7 +30,9 @@ class WatchRecordPresenter : BasePresenter<WatchRecordView>() {
val
message
=
baseResponse
.
message
when
(
code
)
{
200
->
view
.
getDotHistorySuc
(
baseResponse
.
data
)
200
->
{
view
.
getUseDotHistorySuc
(
baseResponse
.
data
.
list
)
}
else
->
{
view
.
getDotHistoryFail
()
view
.
showToast
(
message
)
...
...
@@ -47,15 +52,18 @@ class WatchRecordPresenter : BasePresenter<WatchRecordView>() {
}
fun
getUseDotHistory
()
{
fun
getUseDotHistory
(
page
:
Int
,
size
:
Int
)
{
val
vo
=
HashMap
<
String
,
Any
>()
vo
[
"page"
]
=
page
vo
[
"size"
]
=
size
AppHttpManager
.
getInstance
(
loanApplication
)
.
call
(
loanService
.
sub
(
),
object
:
BaseSubscriber
<
BaseResponse
<
BannerList
>>()
{
.
call
(
loanService
.
sub
(
vo
),
object
:
BaseSubscriber
<
BaseResponse
<
DotListBean
>>()
{
override
fun
onCompleted
()
{
if
(
isLinkView
)
return
view
.
hideLoading
()
}
override
fun
onNext
(
baseResponse
:
BaseResponse
<
BannerList
>)
{
override
fun
onNext
(
baseResponse
:
BaseResponse
<
DotListBean
>)
{
if
(
isLinkView
)
return
view
.
hideLoading
()
...
...
@@ -63,7 +71,9 @@ class WatchRecordPresenter : BasePresenter<WatchRecordView>() {
val
message
=
baseResponse
.
message
when
(
code
)
{
// 200 -> view.getUseDotHistoryFail(baseResponse.data)
200
->
{
view
.
getUseDotHistorySuc
(
baseResponse
.
data
.
list
)
}
else
->
{
view
.
getUseDotHistoryFail
()
view
.
showToast
(
message
)
...
...
video/app/src/main/java/com/duben/heliapp/mvp/views/VideoView.kt
View file @
31dd742b
...
...
@@ -2,7 +2,7 @@ package com.duben.heliapp.mvp.views
import
com.duben.heliapp.mvp.model.IndexList
import
com.duben.heliapp.mvp.model.NineShowBean
import
com.google.gson.JsonObject
interface
VideoView
:
BaseView
{
fun
getIndexListSuc
(
indexList
:
IndexList
)
...
...
@@ -14,7 +14,7 @@ interface VideoView : BaseView {
fun
cancelCollectSuc
()
fun
cancelCollectFail
()
fun
unlockSuc
(
indexList
:
IndexLis
t
)
fun
unlockSuc
(
data
:
JsonObjec
t
)
fun
unlockFail
()
fun
showTurnSuc
(
data
:
NineShowBean
)
...
...
video/app/src/main/java/com/duben/heliapp/mvp/views/WatchRecordView.kt
View file @
31dd742b
package
com.duben.heliapp.mvp.views
import
com.duben.heliapp.mvp.model.BannerList
import
com.duben.heliapp.mvp.model.DotBean
interface
WatchRecordView
:
BaseView
{
fun
getDotHistorySuc
(
historyBean
:
BannerList
)
fun
getDotHistorySuc
(
list
:
List
<
DotBean
>
)
fun
getDotHistoryFail
()
fun
getUseDotHistorySuc
(
historyBean
:
BannerList
)
fun
getUseDotHistorySuc
(
list
:
List
<
DotBean
>
)
fun
getUseDotHistoryFail
()
fun
getHistorySuc
(
historyBean
:
BannerList
)
...
...
video/app/src/main/java/com/duben/heliapp/net/LoanService.java
View file @
31dd742b
...
...
@@ -3,6 +3,7 @@ package com.duben.heliapp.net;
import
android.content.Context
;
import
android.text.TextUtils
;
import
com.duben.heliapp.mvp.model.DotListBean
;
import
com.google.gson.JsonObject
;
import
com.duben.heliapp.BuildConfig
;
import
com.duben.heliapp.mvp.model.BannerList
;
...
...
@@ -154,8 +155,8 @@ public interface LoanService {
*
* @return
*/
@POST
(
"vedio/unlock"
)
Observable
<
BaseResponse
<
IndexLis
t
>>
unlock
(
@Body
Map
<
String
,
Object
>
vo
);
@POST
(
"vedio
V1
/unlock"
)
Observable
<
BaseResponse
<
JsonObjec
t
>>
unlock
(
@Body
Map
<
String
,
Object
>
vo
);
/**
* 首页分类
...
...
@@ -203,7 +204,7 @@ public interface LoanService {
*
* @return
*/
@POST
(
"vedio/getIndexList"
)
@POST
(
"vedio
V1
/getIndexList"
)
Observable
<
BaseResponse
<
IndexList
>>
getIndexList
(
@Body
Map
<
String
,
Object
>
vo
);
/**
...
...
@@ -267,21 +268,21 @@ public interface LoanService {
*
* @return
*/
@POST
(
"vedio/assetsRecords/add"
)
Observable
<
BaseResponse
<
BannerList
>>
add
(
);
@POST
(
"vedio
V1
/assetsRecords/add"
)
Observable
<
BaseResponse
<
DotListBean
>>
add
(
@Body
Map
<
String
,
Object
>
vo
);
/**
* 消费记录
*
* @return
*/
@POST
(
"vedio/assetsRecords/sub"
)
Observable
<
BaseResponse
<
BannerList
>>
sub
(
);
@POST
(
"vedio
V1
/assetsRecords/sub"
)
Observable
<
BaseResponse
<
DotListBean
>>
sub
(
@Body
Map
<
String
,
Object
>
vo
);
/**
* 提交视频信息
*/
@POST
(
"vedio/reportIndex"
)
@POST
(
"vedio
V1
/reportIndex"
)
Observable
<
BaseResponse
<
Object
>>
reportIndex
(
@Body
Map
<
String
,
Object
>
vo
);
/**
...
...
video/app/src/main/java/com/duben/heliapp/ui/activitys/DotRecordActivity.kt
View file @
31dd742b
...
...
@@ -31,6 +31,8 @@ class DotRecordActivity : BaseActivity(), WatchRecordView {
private
var
dotRecordAdapter
:
DotRecordAdapter
?
=
null
private
var
datas
=
mutableListOf
<
DotBean
>()
private
var
mIsUseDot
=
false
private
var
page
=
1
private
var
size
=
10
override
fun
getBundleExtras
(
extras
:
Bundle
?)
{
super
.
getBundleExtras
(
extras
)
...
...
@@ -48,10 +50,10 @@ class DotRecordActivity : BaseActivity(), WatchRecordView {
if
(
mIsUseDot
)
{
tv_title
.
text
=
"消费记录"
watchRecordPresenter
.
getUseDotHistory
()
watchRecordPresenter
.
getUseDotHistory
(
page
,
size
)
}
else
{
tv_title
.
text
=
"看点记录"
watchRecordPresenter
.
getDotHistory
()
watchRecordPresenter
.
getDotHistory
(
page
,
size
)
}
dotRecordAdapter
=
DotRecordAdapter
(
mIsUseDot
)
...
...
@@ -61,6 +63,16 @@ class DotRecordActivity : BaseActivity(), WatchRecordView {
rv_watch_record
.
layoutManager
=
LinearLayoutManager
(
this
)
rv_watch_record
.
addItemDecoration
(
StickHeaderDecoration
(
this
))
rv_watch_record
.
adapter
=
dotRecordAdapter
dotRecordAdapter
?.
loadMoreModule
?.
isEnableLoadMore
=
true
dotRecordAdapter
?.
loadMoreModule
?.
setOnLoadMoreListener
{
page
++
if
(
mIsUseDot
)
{
watchRecordPresenter
.
getUseDotHistory
(
page
,
size
)
}
else
{
watchRecordPresenter
.
getDotHistory
(
page
,
size
)
}
}
}
override
fun
isApplyKitKatTranslucency
()
=
true
...
...
@@ -70,14 +82,19 @@ class DotRecordActivity : BaseActivity(), WatchRecordView {
watchRecordPresenter
.
detachView
()
}
override
fun
getDotHistorySuc
(
historyBean
:
BannerList
)
{
override
fun
getDotHistorySuc
(
list
:
List
<
DotBean
>)
{
datas
.
clear
()
datas
.
addAll
(
list
)
dotRecordAdapter
?.
setNewInstance
(
datas
)
}
override
fun
getDotHistoryFail
()
{
}
override
fun
getUseDotHistorySuc
(
historyBean
:
BannerList
)
{
override
fun
getUseDotHistorySuc
(
list
:
List
<
DotBean
>)
{
datas
.
clear
()
datas
.
addAll
(
list
)
dotRecordAdapter
?.
setNewInstance
(
datas
)
}
override
fun
getUseDotHistoryFail
()
{
...
...
video/app/src/main/java/com/duben/heliapp/ui/activitys/WatchRecordActivity.kt
View file @
31dd742b
...
...
@@ -6,6 +6,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
import
com.duben.heliapp.R
import
com.duben.heliapp.manager.LocalVedioManager
import
com.duben.heliapp.mvp.model.BannerList
import
com.duben.heliapp.mvp.model.DotBean
import
com.duben.heliapp.mvp.model.VedioBean
import
com.duben.heliapp.mvp.presenters.WatchRecordPresenter
import
com.duben.heliapp.mvp.views.WatchRecordView
...
...
@@ -75,14 +76,16 @@ class WatchRecordActivity : BaseActivity(), WatchRecordView {
watchRecordPresenter
.
detachView
()
}
override
fun
getDotHistorySuc
(
historyBean
:
BannerList
)
{
override
fun
getDotHistorySuc
(
list
:
List
<
DotBean
>
)
{
}
override
fun
getDotHistoryFail
()
{
}
override
fun
getUseDotHistorySuc
(
historyBean
:
BannerList
)
{
override
fun
getUseDotHistorySuc
(
list
:
List
<
DotBean
>)
{
}
override
fun
getUseDotHistoryFail
()
{
...
...
video/app/src/main/java/com/duben/heliapp/ui/adapter/DotRecordAdapter.kt
View file @
31dd742b
...
...
@@ -3,6 +3,7 @@ package com.duben.heliapp.ui.adapter
import
android.widget.ImageView
import
android.widget.TextView
import
com.chad.library.adapter.base.BaseQuickAdapter
import
com.chad.library.adapter.base.module.LoadMoreModule
import
com.chad.library.adapter.base.viewholder.BaseViewHolder
import
com.duben.heliapp.R
import
com.duben.heliapp.mvp.model.DotBean
...
...
@@ -13,7 +14,7 @@ import com.duben.heliapp.mvp.model.DotBean
* @desc
*/
class
DotRecordAdapter
(
private
val
isUseDot
:
Boolean
)
:
BaseQuickAdapter
<
DotBean
,
BaseViewHolder
>(
R
.
layout
.
item_dot_record
)
{
BaseQuickAdapter
<
DotBean
,
BaseViewHolder
>(
R
.
layout
.
item_dot_record
)
,
LoadMoreModule
{
override
fun
convert
(
holder
:
BaseViewHolder
,
item
:
DotBean
)
{
if
(
isUseDot
)
{
...
...
video/app/src/main/java/com/duben/heliapp/ui/fragment/MyFragment.kt
View file @
31dd742b
package
com.duben.heliapp.ui.fragment
import
android.annotation.SuppressLint
import
android.app.Dialog
import
android.os.Bundle
import
android.os.Handler
...
...
@@ -20,7 +19,6 @@ import com.duben.heliapp.ad.express.ExpressAdCallback
import
com.duben.heliapp.ad.express.MyExpressManager
import
com.duben.heliapp.common.AppConfig
import
com.duben.heliapp.common.Constant
import
com.duben.heliapp.manager.TrackManager
import
com.duben.heliapp.manager.UserManager
import
com.duben.heliapp.mvp.model.NineListBean
import
com.duben.heliapp.mvp.model.NineShowBean
...
...
video/app/src/main/java/com/duben/heliapp/ui/fragment/RecommendFragment.kt
View file @
31dd742b
...
...
@@ -49,13 +49,13 @@ class RecommendFragment : BaseFragment(), View.OnClickListener {
tabsData
.
add
(
"推荐"
)
fragments
.
clear
()
if
(
mCurrentNewFlag
)
{
//
if (mCurrentNewFlag) {
fragments
.
add
(
FollowVideoFragment
.
newInstance
())
fragments
.
add
(
TxVideoFragment
.
newInstance
())
}
else
{
fragments
.
add
(
FollowVideoFragment
.
newInstance
())
fragments
.
add
(
DramaTabFragment
())
}
//
} else {
//
fragments.add(FollowVideoFragment.newInstance())
//
fragments.add(DramaTabFragment())
//
}
vpAdapter
=
RecommendPageAdapter
(
fragments
,
this
)
vp2_recommend
.
adapter
=
vpAdapter
...
...
video/app/src/main/java/com/duben/heliapp/ui/widgets/VideoEpisodeDialog.kt
View file @
31dd742b
...
...
@@ -11,6 +11,7 @@ import com.google.android.material.tabs.TabLayout
import
com.google.android.material.tabs.TabLayoutMediator
import
com.duben.heliapp.R
import
com.duben.heliapp.mvp.model.EpisodeBean
import
com.duben.heliapp.mvp.model.IndexList
import
com.duben.heliapp.mvp.model.VedioBean
import
com.duben.heliapp.ui.adapter.VideoEpisodeAdapter
import
com.duben.heliapp.utils.CommonUtils
...
...
@@ -21,13 +22,14 @@ import com.duben.heliapp.utils.CommonUtils
* @desc
*/
class
VideoEpisodeDialog
(
context
:
Context
,
val
vedioBean
:
VedioBean
?,
private
val
listener
:
DialogListener
context
:
Context
,
var
mRealSeeIndex
:
Int
,
val
vedioBean
:
VedioBean
,
val
dataList
:
List
<
IndexList
.
VedioEpisodeBean
>,
listener
:
DialogListener
)
:
Dialog
(
context
,
R
.
style
.
dialog
)
{
private
var
mRealSeeIndex
=
0
private
val
lp
:
WindowManager
.
LayoutParams
private
val
vp2
:
ViewPager2
...
...
@@ -62,26 +64,26 @@ class VideoEpisodeDialog(
ivClose
=
findViewById
(
R
.
id
.
close_iv
)
ivClose
.
setOnClickListener
(
listener
)
findViewById
<
TextView
>(
R
.
id
.
title_tv
).
text
=
vedioBean
?
.
title
findViewById
<
TextView
>(
R
.
id
.
title_tv
).
text
=
vedioBean
.
title
findViewById
<
TextView
>(
R
.
id
.
label_tv
).
text
=
if
(
vedioBean
?
.
completeStatus
==
0
)
"已完结"
else
"更新中"
if
(
vedioBean
.
completeStatus
==
0
)
"已完结"
else
"更新中"
initVp
()
}
private
fun
initVp
()
{
for
(
i
in
0
until
vedioBean
!!
.
vedioTotal
)
{
if
(
i
<
vedioBean
.
unlockIndex
)
{
var
playing
=
false
if
(
vedioBean
.
seeIndex
==
i
)
{
playing
=
true
}
mData
.
add
(
EpisodeBean
(
false
,
playing
,
""
+
(
i
+
1
)))
for
(
i
in
dataList
.
indices
)
{
var
playing
=
false
if
(
mRealSeeIndex
==
i
)
{
playing
=
true
}
if
(
dataList
[
i
].
isLock
)
{
mData
.
add
(
EpisodeBean
(
true
,
playing
,
""
+
(
i
+
1
)))
}
else
{
mData
.
add
(
EpisodeBean
(
lock
=
true
,
playing
=
false
,
title
=
""
+
(
i
+
1
)))
mData
.
add
(
EpisodeBean
(
false
,
playing
,
""
+
(
i
+
1
)))
}
}
val
subList
=
CommonUtils
.
getSubList
(
30
,
mData
)
adapter
=
VideoEpisodeAdapter
()
adapter
?.
setNewInstance
(
subList
)
...
...
@@ -121,9 +123,6 @@ class VideoEpisodeDialog(
val
view
=
LayoutInflater
.
from
(
context
).
inflate
(
R
.
layout
.
item_epsiode_tab
,
null
)
val
viewText
=
view
.
findViewById
<
TextView
>(
R
.
id
.
item_tv
)
viewText
.
text
=
text
// if (position == 0) {
// viewText.setTextColor(ContextCompat.getColor(context, R.color.red))
// }
return
view
}
...
...
@@ -138,25 +137,6 @@ class VideoEpisodeDialog(
}
}
fun
changeLockStatus
(
unlockIndex
:
Int
)
{
for
(
i
in
0
until
mData
.
size
)
{
mData
[
i
].
lock
=
i
>
unlockIndex
}
adapter
?.
notifyDataSetChanged
()
}
fun
setCurrentIndex
(
position
:
Int
)
{
mRealSeeIndex
=
position
for
(
mDatum
in
mData
)
{
mDatum
.
playing
=
false
}
if
(
mData
.
size
>
position
)
{
mData
[
position
].
playing
=
true
adapter
?.
notifyDataSetChanged
()
}
}
private
var
mOnEpisodeClickListener
:
VideoEpisodeAdapter
.
OnEpisodeClickListener
?
=
null
fun
setOnEpisodeClickListener
(
onEpisodeClickListener
:
VideoEpisodeAdapter
.
OnEpisodeClickListener
)
{
...
...
video/app/src/main/java/com/duben/heliapp/video/csj/DramaApiDetailActivity.kt
View file @
31dd742b
...
...
@@ -40,6 +40,7 @@ import com.duben.heliapp.utils.SpanUtils
import
com.duben.heliapp.utils.UIUtils
import
com.duben.library.utils.GlideUtils
import
com.duben.library.utils.nodoubleclick.AntiShake
import
com.google.gson.JsonObject
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
...
...
@@ -558,16 +559,16 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
private
fun
showEpisodeDialog
()
{
if
(
mVedioBean
==
null
&&
dialog
!=
null
&&
dialog
!!
.
isShowing
)
return
dialog
=
VideoEpisodeDialog
(
this
,
mVedioBean
,
object
:
DialogListener
()
{
override
fun
onClick
(
dialog
:
Dialog
?,
v
:
View
?)
{
super
.
onClick
(
dialog
,
v
)
dialog
?.
dismiss
()
}
})
dialog
?.
setOnEpisodeClickListener
(
this
)
val
index
=
if
(
mCurrentIndex
==
0
)
0
else
mCurrentIndex
-
1
dialog
?.
setCurrentIndex
(
index
)
dialog
?.
show
()
//
dialog = VideoEpisodeDialog(this, mVedioBean, object : DialogListener() {
//
override fun onClick(dialog: Dialog?, v: View?) {
//
super.onClick(dialog, v)
//
dialog?.dismiss()
//
}
//
})
//
dialog?.setOnEpisodeClickListener(this)
//
val index = if (mCurrentIndex == 0) 0 else mCurrentIndex - 1
//
dialog?.setCurrentIndex(index)
//
dialog?.show()
}
override
fun
onEpisodeClick
(
position
:
Int
)
{
...
...
@@ -609,10 +610,14 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
}
override
fun
unlockSuc
(
indexList
:
IndexLis
t
)
{
override
fun
unlockSuc
(
data
:
JsonObjec
t
)
{
}
// override fun unlockSuc(indexList: IndexList) {
// }
override
fun
unlockFail
()
{
}
...
...
video/app/src/main/java/com/duben/heliapp/video/csj/DramaTabFragment.kt
View file @
31dd742b
...
...
@@ -18,6 +18,7 @@ import com.duben.heliapp.mvp.model.NineShowBean
import
com.duben.heliapp.mvp.presenters.VideoPresenter
import
com.duben.heliapp.mvp.views.VideoView
import
com.duben.heliapp.ui.fragment.base.BaseFragment
import
com.google.gson.JsonObject
/**
* Created by limingqi on 2023/1/17
...
...
@@ -383,7 +384,8 @@ class DramaTabFragment : BaseFragment(), VideoView {
override
fun
cancelCollectFail
()
{
}
override
fun
unlockSuc
(
indexList
:
IndexList
)
{
override
fun
unlockSuc
(
data
:
JsonObject
)
{
}
override
fun
unlockFail
()
{
...
...
video/app/src/main/java/com/duben/heliapp/video/tx/SuperShortVideoView.java
View file @
31dd742b
...
...
@@ -57,11 +57,10 @@ public class SuperShortVideoView extends RelativeLayout {
init
(
context
);
}
public
void
loadMoreData
(
List
<
VideoMultiItemEntity
>
list
)
{
this
.
mList
.
clear
();
this
.
mList
=
list
;
mAdapter
.
setNewInstance
(
mList
);
public
void
notifyData
(
int
currentPosition
)
{
this
.
mList
.
get
(
currentPosition
).
setItemType
(
MULTI_ITEM_1
);
this
.
mCurrentPosition
=
currentPosition
;
mAdapter
.
notifyItemChanged
(
currentPosition
);
onItemClick
(
mCurrentPosition
);
}
...
...
video/app/src/main/java/com/duben/heliapp/video/tx/TxVideoActivity.kt
View file @
31dd742b
This diff is collapsed.
Click to expand it.
video/app/src/main/java/com/duben/heliapp/video/tx/adapter/TxVideoAdapter.kt
View file @
31dd742b
...
...
@@ -68,93 +68,97 @@ class TxVideoAdapter : BaseMultiItemQuickAdapter<VideoMultiItemEntity, BaseViewH
}
private
fun
initLockHolder
(
holder
:
BaseViewHolder
)
{
Glide
.
with
(
context
).
load
(
vedioBean
?.
coverImage
)
.
into
(
holder
.
getView
(
R
.
id
.
iv_bg
))
val
vipBtn
=
holder
.
getView
<
View
>(
R
.
id
.
vip
)
if
(
UserManager
.
getInstance
().
newFlag
)
{
// 匹配
vipBtn
.
visibility
=
View
.
VISIBLE
vipBtn
.
setOnClickListener
{
mOnCustomChildClickListener
?.
onCustomChildClick
(
it
,
holder
.
adapterPosition
)
}
}
else
{
// 未匹配
vipBtn
.
visibility
=
View
.
GONE
}
val
adBtn
=
holder
.
getView
<
View
>(
R
.
id
.
unlock
)
vedioBean
?.
let
{
if
(
it
.
isRecommendVedio
)
{
// 推荐剧集逻辑
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请按照顺序解锁"
)
}
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
)
}
}
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
->
mOnCustomChildClickListener
?.
onCustomChildClick
(
it2
,
holder
.
adapterPosition
)
}
holder
.
itemView
.
setOnClickListener
{
mOnCustomChildClickListener
?.
onCustomChildClick
(
it
,
holder
.
adapterPosition
)
}
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
()
{
}
})
Glide
.
with
(
context
).
load
(
vedioBean
?.
coverImage
)
.
into
(
holder
.
getView
(
R
.
id
.
iv_bg
))
// val vipBtn = holder.getView<View>(R.id.vip)
// if (UserManager.getInstance().newFlag) {
// // 匹配
// vipBtn.visibility = View.VISIBLE
// vipBtn.setOnClickListener {
// mOnCustomChildClickListener?.onCustomChildClick(it, holder.adapterPosition)
// }
// } else {
// // 未匹配
// vipBtn.visibility = View.GONE
// }
//
// val adBtn = holder.getView<View>(R.id.unlock)
// vedioBean?.let {
// if (it.isRecommendVedio) { // 推荐剧集逻辑
// 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请按照顺序解锁"
// )
// } 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)
// }
//
// } 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 ->
// mOnCustomChildClickListener?.onCustomChildClick(it2, holder.adapterPosition)
// }
// }
// 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/java/com/duben/heliapp/video/tx/newrecommend/NewTxVideoActivity.kt
View file @
31dd742b
...
...
@@ -26,6 +26,7 @@ import com.duben.heliapp.utils.SpanUtils
import
com.duben.heliapp.video.tx.VideoModel
import
com.duben.library.utils.GlideUtils
import
com.duben.library.utils.nodoubleclick.AntiShake
import
com.google.gson.JsonObject
import
kotlinx.android.synthetic.main.activity_new_tx_video.*
/**
...
...
@@ -188,7 +189,7 @@ class NewTxVideoActivity : BaseActivity(), View.OnClickListener, VideoView,
override
fun
cancelCollectFail
()
{
}
override
fun
unlockSuc
(
indexList
:
IndexLis
t
)
{
override
fun
unlockSuc
(
data
:
JsonObjec
t
)
{
}
override
fun
unlockFail
()
{
...
...
video/app/src/main/res/layout/fragment_main_my.xml
View file @
31dd742b
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
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"
>
...
...
@@ -160,7 +159,7 @@
android:layout_height=
"wrap_content"
android:layout_marginTop=
"10dp"
android:layout_marginBottom=
"20dp"
android:text=
"海量看点狂洒中,好
句
等你来解锁"
android:text=
"海量看点狂洒中,好
剧
等你来解锁"
android:textColor=
"#5B1500"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
...
...
video/app/src/main/res/layout/item_block_view.xml
View file @
31dd742b
...
...
@@ -11,10 +11,20 @@
android:layout_height=
"match_parent"
android:scaleType=
"center"
/>
<ImageView
android:id=
"@+id/iv_play"
android:layout_width=
"100dp"
android:layout_height=
"100dp"
android:layout_gravity=
"center"
android:scaleType=
"centerCrop"
android:src=
"@mipmap/player_pause"
/>
<com.duben.heliapp.ui.widgets.RoundRectLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"#99000000"
>
android:background=
"#99000000"
android:visibility=
"gone"
>
<LinearLayout
android:layout_width=
"match_parent"
...
...
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