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
7467ec0e
Commit
7467ec0e
authored
Jul 12, 2023
by
mengcuiguang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev_new_vedio' of
http://gitlab.mints-id.com/android/android_vedio
into dev_new_vedio
parents
e611b1d6
b3b9e9e7
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
329 additions
and
72 deletions
+329
-72
TTGroMoreAdManagerHolder.java
...va/com/mints/wisdomclean/ad/TTGroMoreAdManagerHolder.java
+1
-3
LocalVedioManager.kt
...n/java/com/mints/wisdomclean/manager/LocalVedioManager.kt
+38
-4
VedioBean.java
.../main/java/com/mints/wisdomclean/mvp/model/VedioBean.java
+14
-0
MainActivity.kt
...n/java/com/mints/wisdomclean/ui/activitys/MainActivity.kt
+4
-0
VideoEpisodeDialog.kt
...va/com/mints/wisdomclean/ui/widgets/VideoEpisodeDialog.kt
+8
-9
DramaApiDetailActivity.kt
...ava/com/mints/wisdomclean/video/DramaApiDetailActivity.kt
+137
-36
DrawDramaFragment.kt
...ain/java/com/mints/wisdomclean/video/DrawDramaFragment.kt
+0
-2
VideoActivity.kt
...rc/main/java/com/mints/wisdomclean/video/VideoActivity.kt
+6
-7
drama_activity_api_detail.xml
video/app/src/main/res/layout/drama_activity_api_detail.xml
+121
-11
No files found.
video/app/src/main/java/com/mints/wisdomclean/ad/TTGroMoreAdManagerHolder.java
View file @
7467ec0e
...
...
@@ -19,6 +19,7 @@ import com.mints.wisdomclean.video.DPHolderManager;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.logging.Handler
;
/**
* 穿山甲广告
...
...
@@ -46,9 +47,6 @@ public class TTGroMoreAdManagerHolder {
if
(!
sInit
)
{
GMMediationAdSdk
.
initialize
(
context
,
buildV2Config
(
context
));
sInit
=
true
;
// 初始化短剧SDK
DPHolderManager
.
INSTANCE
.
initDpSdk
(
context
);
}
}
...
...
video/app/src/main/java/com/mints/wisdomclean/manager/LocalVedioManager.kt
View file @
7467ec0e
...
...
@@ -4,10 +4,14 @@ import android.app.Activity
import
android.content.Intent
import
android.os.Bundle
import
android.text.TextUtils
import
com.bytedance.sdk.dp.DPDrama
import
com.bytedance.sdk.dp.DPSdk
import
com.bytedance.sdk.dp.IDPWidgetFactory
import
com.mints.library.utils.json.JsonUtil
import
com.mints.wisdomclean.common.Constant
import
com.mints.wisdomclean.mvp.model.VedioBean
import
com.mints.wisdomclean.utils.AppPreferencesManager
import
com.mints.wisdomclean.utils.ToastUtil
import
com.mints.wisdomclean.video.DramaApiDetailActivity
import
com.mints.wisdomclean.video.VideoActivity
...
...
@@ -79,14 +83,44 @@ object LocalVedioManager {
* 根据类型跳转对应视频详情页 [自有或穿山甲]
*/
fun
startVedioDetailActivityForType
(
activity
:
Activity
,
data
:
VedioBean
?)
{
val
bundle
=
Bundle
()
bundle
.
putString
(
Constant
.
VEDIO_BEAN
,
JsonUtil
.
toJson
(
data
))
if
(
data
?.
createType
==
1
)
{
//自有短剧
val
bundle
=
Bundle
()
bundle
.
putString
(
Constant
.
VEDIO_BEAN
,
JsonUtil
.
toJson
(
data
))
readyGo
(
activity
,
VideoActivity
::
class
.
java
,
bundle
)
}
else
{
//穿山甲短剧
readyGo
(
activity
,
DramaApiDetailActivity
::
class
.
java
,
bundle
)
requestDrama
(
activity
,
data
)
}
}
// 请求穿山甲数据
private
fun
requestDrama
(
activity
:
Activity
,
data
:
VedioBean
?)
{
if
(
DPSdk
.
isStartSuccess
()
&&
data
!=
null
)
{
DPSdk
.
factory
().
requestDrama
(
arrayListOf
(
data
.
vedioId
.
toLong
()),
object
:
IDPWidgetFactory
.
DramaCallback
{
override
fun
onError
(
p0
:
Int
,
p1
:
String
?)
{
ToastUtil
.
show
(
activity
,
"网络错误!"
)
}
override
fun
onSuccess
(
dataList
:
MutableList
<
out
DPDrama
>?,
info
:
MutableMap
<
String
,
Any
>?
)
{
dataList
?.
takeIf
{
it
.
isNotEmpty
()
}
?.
first
()
?.
let
{
DramaApiDetailActivity
.
outerDrama
=
it
//穿山甲短剧
val
bundle
=
Bundle
()
bundle
.
putString
(
Constant
.
VEDIO_BEAN
,
JsonUtil
.
toJson
(
data
))
readyGo
(
activity
,
DramaApiDetailActivity
::
class
.
java
,
bundle
)
}
}
}
)
}
else
{
ToastUtil
.
show
(
activity
,
"网络错误!"
)
}
}
...
...
video/app/src/main/java/com/mints/wisdomclean/mvp/model/VedioBean.java
View file @
7467ec0e
...
...
@@ -22,6 +22,20 @@ public class VedioBean implements Serializable {
private
String
scriptAuthor
;
private
int
vedioId
;
// 视频id,服务器标识
private
String
hot
;
// 播放量
private
int
adGiveVedioNum
;
// 广告解锁数量
public
int
getAdGiveVedioNum
()
{
return
adGiveVedioNum
;
}
public
void
setAdGiveVedioNum
(
int
adGiveVedioNum
)
{
this
.
adGiveVedioNum
=
adGiveVedioNum
;
}
public
void
setHot
(
String
hot
)
{
this
.
hot
=
hot
;
}
public
String
getThirdId
()
{
return
thirdId
;
}
...
...
video/app/src/main/java/com/mints/wisdomclean/ui/activitys/MainActivity.kt
View file @
7467ec0e
...
...
@@ -27,6 +27,7 @@ import com.mints.wisdomclean.ui.fragment.MyFragment
import
com.mints.wisdomclean.ui.fragment.RecommendFragment
import
com.mints.wisdomclean.ui.widgets.DialogListener
import
com.mints.wisdomclean.ui.widgets.PhoneDialog
import
com.mints.wisdomclean.video.DPHolderManager
import
kotlinx.android.synthetic.main.activity_main.*
/**
...
...
@@ -86,6 +87,9 @@ class MainActivity : BaseActivity(), View.OnClickListener {
AdManager
.
instance
.
preLoadAd
(
this
)
initEditView
()
// 初始化短剧SDK
DPHolderManager
.
initDpSdk
(
context
);
// initEasyFloat()
}
...
...
video/app/src/main/java/com/mints/wisdomclean/ui/widgets/VideoEpisodeDialog.kt
View file @
7467ec0e
...
...
@@ -11,7 +11,7 @@ import com.google.android.material.tabs.TabLayout
import
com.google.android.material.tabs.TabLayoutMediator
import
com.mints.wisdomclean.R
import
com.mints.wisdomclean.mvp.model.EpisodeBean
import
com.mints.wisdomclean.mvp.model.
IndexList
import
com.mints.wisdomclean.mvp.model.
VedioBean
import
com.mints.wisdomclean.ui.adapter.VideoEpisodeAdapter
import
com.mints.wisdomclean.utils.CommonUtils
...
...
@@ -22,7 +22,7 @@ import com.mints.wisdomclean.utils.CommonUtils
*/
class
VideoEpisodeDialog
(
context
:
Context
,
val
indexList
:
IndexList
?,
val
vedioBean
:
VedioBean
?,
private
val
listener
:
DialogListener
)
:
Dialog
(
context
,
R
.
style
.
dialog
)
{
...
...
@@ -61,22 +61,21 @@ class VideoEpisodeDialog(
ivClose
=
findViewById
(
R
.
id
.
close_iv
)
ivClose
.
setOnClickListener
(
listener
)
findViewById
<
TextView
>(
R
.
id
.
title_tv
).
text
=
indexList
?.
vedioMsg
?.
title
findViewById
<
TextView
>(
R
.
id
.
title_tv
).
text
=
vedioBean
?.
title
findViewById
<
TextView
>(
R
.
id
.
label_tv
).
text
=
if
(
indexList
?.
vedioMsg
?.
completeStatus
==
0
)
"已完结"
else
"未完结"
if
(
vedioBean
?.
completeStatus
==
0
)
"已完结"
else
"未完结"
initVp
()
}
private
fun
initVp
()
{
for
(
i
in
0
until
indexList
!!
.
vedioMsg
.
vedioTotal
)
{
if
(
i
<
indexList
.
list
.
size
)
{
val
index
=
indexList
.
list
[
i
]
for
(
i
in
0
until
vedioBean
!!
.
vedioTotal
)
{
if
(
i
<
vedioBean
.
unlockIndex
)
{
var
playing
=
false
if
(
indexList
.
vedioMsg
.
seeIndex
==
i
)
{
if
(
vedioBean
.
seeIndex
==
i
)
{
playing
=
true
}
mData
.
add
(
EpisodeBean
(
index
.
isLock
,
playing
,
""
+
(
i
+
1
)))
mData
.
add
(
EpisodeBean
(
false
,
playing
,
""
+
(
i
+
1
)))
}
else
{
mData
.
add
(
EpisodeBean
(
lock
=
true
,
playing
=
false
,
title
=
""
+
(
i
+
1
)))
}
...
...
video/app/src/main/java/com/mints/wisdomclean/video/DramaApiDetailActivity.kt
View file @
7467ec0e
...
...
@@ -2,23 +2,33 @@ package com.mints.wisdomclean.video
import
android.app.Dialog
import
android.content.Context
import
android.os.Bundle
import
android.util.Log
import
android.view.View
import
android.widget.Button
import
android.widget.ImageView
import
android.widget.LinearLayout
import
com.airbnb.lottie.LottieAnimationView
import
com.airbnb.lottie.LottieComposition
import
com.airbnb.lottie.LottieCompositionFactory
import
com.airbnb.lottie.LottieDrawable
import
com.bytedance.sdk.dp.*
import
com.google.gson.Gson
import
com.mints.wisdomclean.MintsApplication
import
com.mints.wisdomclean.R
import
com.mints.wisdomclean.ad.AdManager
import
com.mints.wisdomclean.ad.AdStatusListener
import
com.mints.wisdomclean.common.Constant
import
com.mints.wisdomclean.mvp.model.IndexList
import
com.mints.wisdomclean.mvp.model.VedioBean
import
com.mints.wisdomclean.mvp.presenters.VideoPresenter
import
com.mints.wisdomclean.mvp.views.VideoView
import
com.mints.wisdomclean.ui.activitys.VipActivity
import
com.mints.wisdomclean.ui.activitys.base.BaseActivity
import
com.mints.wisdomclean.ui.adapter.VideoEpisodeAdapter
import
com.mints.wisdomclean.ui.widgets.DialogListener
import
com.mints.wisdomclean.ui.widgets.VideoEpisodeDialog
import
kotlinx.android.synthetic.main.drama_activity_api_detail.*
import
kotlinx.android.synthetic.main.drama_activity_api_detail.fm_bottom
import
org.json.JSONObject
import
java.util.HashMap
...
...
@@ -27,28 +37,21 @@ import java.util.HashMap
* @date 2023/7/6
* @desc
*/
class
DramaApiDetailActivity
:
BaseActivity
(),
VideoEpisodeAdapter
.
OnEpisodeClickListener
{
class
DramaApiDetailActivity
:
BaseActivity
(),
VideoEpisodeAdapter
.
OnEpisodeClickListener
,
VideoView
,
View
.
OnClickListener
{
companion
object
{
const
val
KEY_DRAMA_UNLOCK_INDEX
=
"key_drama_unlock_index"
const
val
KEY_DRAMA_HISTORY
=
"drama_history"
const
val
KEY_DRAMA_MODE
=
"key_drama_mode"
const
val
KEY_DRAMA_FREE_SET
=
"key_drama_free_set"
const
val
KEY_DRAMA_LOCK_SET
=
"key_drama_lock_set"
const
val
KEY_DRAMA_INFINITE_SCROLL_ENABLED
=
"key_drama_infinite_scroll_enabled"
const
val
KEY_DRAMA_CUSTOM_REPORT_ENABLED
=
"key_drama_custom_report_enabled"
const
val
KEY_DRAMA_HIDE_LEFT_TOP_TIPS
=
"key_drama_hide_left_top_tips"
private
const
val
TAG
=
"DramaApiDetailActivity"
const
val
IS_FROM_CARD
=
"is_from_card"
const
val
FROM_GID
=
"from_gid"
var
tipsTopMargin
=
-
1
var
outerDrama
:
DPDrama
?
=
null
}
private
val
videoPresenter
by
lazy
{
VideoPresenter
()
}
private
var
sp
=
MintsApplication
.
getContext
().
getSharedPreferences
(
"pangrowth"
,
Context
.
MODE_PRIVATE
)
...
...
@@ -76,20 +79,37 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
private
var
hideLeftTopTips
=
false
private
var
hideMore
=
false
private
var
freeSet
=
5
// 仅封装模式生效
private
var
hideMore
=
true
private
var
lockSet
=
2
// 仅封装模式生效
private
var
freeSet
=
5
private
var
lockSet
=
2
private
var
mode
=
DPDramaDetailConfig
.
SPECIFIC_DETAIL
private
val
isFromCard
by
lazy
{
intent
?.
getBooleanExtra
(
IS_FROM_CARD
,
false
)
?:
false
}
private
val
fromGid
by
lazy
{
intent
?.
getLongExtra
(
FROM_GID
,
-
1L
)
}
private
var
mVedioBean
:
VedioBean
?
=
null
override
fun
getBundleExtras
(
extras
:
Bundle
?)
{
val
json
=
extras
?.
getString
(
Constant
.
VEDIO_BEAN
)
mVedioBean
=
Gson
().
fromJson
(
json
,
VedioBean
::
class
.
java
)
freeSet
=
mVedioBean
!!
.
unlockIndex
lockSet
=
mVedioBean
!!
.
adGiveVedioNum
hideLeftTopTips
=
true
mode
=
DPDramaDetailConfig
.
SPECIFIC_DETAIL
enableInfiniteScroll
=
false
enableCustomReport
=
false
super
.
getBundleExtras
(
extras
)
}
override
fun
getContentViewLayoutID
()
=
R
.
layout
.
drama_activity_api_detail
override
fun
initViewsAndEvents
()
{
videoPresenter
.
attachView
(
this
)
fm_bottom
.
setOnClickListener
{
showEpisodeDialog
()
}
...
...
@@ -104,21 +124,21 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
drama
=
outerDrama
drama
?.
let
{
mInitUnlockIndex
=
intent
.
getIntExtra
(
KEY_DRAMA_UNLOCK_INDEX
,
1
)
it
.
index
=
mVedioBean
!!
.
seeIndex
mInitUnlockIndex
=
mVedioBean
!!
.
unlockIndex
mUnlockIndexMap
[
it
.
id
]
=
mInitUnlockIndex
tv_info
.
text
=
String
.
format
(
"《%s》共%d集"
,
it
.
title
,
it
.
total
)
title_tv
.
text
=
it
.
title
episode_tv
.
text
=
String
.
format
(
"共%d集 已完结"
,
it
.
total
)
info_tv
.
text
=
String
.
format
(
"第%d集"
,
it
.
index
+
1
)
unlock
.
text
=
String
.
format
(
"看广告解锁%d集"
,
lockSet
)
if
(
mVedioBean
!!
.
collect
==
0
)
{
zan_iv
.
setImageResource
(
R
.
mipmap
.
home_collect_img_0
)
}
else
{
zan_iv
.
setImageResource
(
R
.
mipmap
.
home_collect_img_1
)
}
zan_num_tv
.
text
=
mVedioBean
!!
.
hot
}
enableInfiniteScroll
=
intent
.
getBooleanExtra
(
KEY_DRAMA_INFINITE_SCROLL_ENABLED
,
true
)
enableCustomReport
=
intent
.
getBooleanExtra
(
KEY_DRAMA_CUSTOM_REPORT_ENABLED
,
false
)
mode
=
intent
.
getStringExtra
(
KEY_DRAMA_MODE
)
?:
DPDramaDetailConfig
.
SPECIFIC_DETAIL
hideLeftTopTips
=
intent
.
getBooleanExtra
(
KEY_DRAMA_HIDE_LEFT_TOP_TIPS
,
false
)
freeSet
=
intent
.
getIntExtra
(
KEY_DRAMA_FREE_SET
,
-
1
)
lockSet
=
intent
.
getIntExtra
(
KEY_DRAMA_LOCK_SET
,
-
1
)
ll_collect
.
setOnClickListener
(
this
)
if
(
DPSdk
.
isStartSuccess
())
{
init
()
...
...
@@ -156,7 +176,6 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
DPDramaDetailConfig
.
obtain
(
mode
)
.
bottomOffset
(
20
)
.
infiniteScrollEnabled
(
enableInfiniteScroll
)
.
scriptTipsTopMargin
(
tipsTopMargin
)
.
hideLeftTopTips
(
hideLeftTopTips
,
null
)
.
showCellularToast
(
true
)
.
hideMore
(
hideMore
)
...
...
@@ -249,7 +268,11 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
override
fun
onDPPageChange
(
position
:
Int
,
map
:
MutableMap
<
String
,
Any
>?)
{
super
.
onDPPageChange
(
position
,
map
)
Log
.
d
(
TAG
,
"onDPPageChange:"
+
map
?.
toString
())
info_tv
.
text
=
String
.
format
(
"第%d集"
,
position
+
1
)
dialog
?.
setCurrentIndex
(
position
)
if
(
mUnlockIndexMap
[
drama
!!
.
id
]
!!
>
position
)
{
blockView
?.
visibility
=
View
.
GONE
}
}
override
fun
onDPVideoPlay
(
map
:
MutableMap
<
String
,
Any
>?)
{
...
...
@@ -337,7 +360,12 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
override
fun
adFail
()
{
}
override
fun
adClose
(
vo
:
HashMap
<
String
,
Any
>?)
{
override
fun
adClose
(
vo
:
HashMap
<
String
,
Any
>?)
{
vo
?.
let
{
it
[
"vedioId"
]
=
""
+
mVedioBean
!!
.
vedioId
videoPresenter
.
unlock
(
it
)
}
val
hasUnlockList
:
MutableList
<
Int
>
=
mHasUnlockIndexMap
[
drama
.
id
]
?:
mutableListOf
()
hasUnlockList
.
add
(
widget
.
currentDramaIndex
)
...
...
@@ -359,7 +387,7 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
Log
.
d
(
TAG
,
"onDramaSwitch:"
+
map
?.
toString
())
val
title
=
map
?.
get
(
"title"
)
as
?
String
?
val
total
=
map
?.
get
(
"total"
)
as
?
Int
?
tv_info
.
text
=
String
.
format
(
"《%s》共%d集"
,
title
,
total
)
episode_tv
.
text
=
String
.
format
(
"共%d集 已完结"
,
total
)
}
override
fun
onDramaGalleryClick
(
map
:
MutableMap
<
String
,
Any
>?)
{
...
...
@@ -394,27 +422,100 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
private
var
dialog
:
VideoEpisodeDialog
?
=
null
private
fun
showEpisodeDialog
()
{
if
(
mVedioBean
==
null
)
return
if
(
dialog
!=
null
&&
!
dialog
!!
.
isShowing
)
{
dialog
!!
.
setCurrentIndex
(
lastIndex
)
dialog
!!
.
setCurrentIndex
(
lastIndex
-
1
)
dialog
!!
.
show
()
}
else
{
dialog
=
VideoEpisodeDialog
(
this
,
null
,
object
:
DialogListener
()
{
dialog
=
VideoEpisodeDialog
(
this
,
mVedioBean
,
object
:
DialogListener
()
{
override
fun
onClick
(
dialog
:
Dialog
?,
v
:
View
?)
{
super
.
onClick
(
dialog
,
v
)
dialog
?.
dismiss
()
}
})
dialog
!!
.
setOnEpisodeClickListener
(
this
)
dialog
!!
.
setCurrentIndex
(
lastIndex
)
dialog
!!
.
setCurrentIndex
(
lastIndex
-
1
)
dialog
?.
show
()
}
}
override
fun
onEpisodeClick
(
position
:
Int
)
{
dialog
?.
dismiss
()
if
(
position
>
mInitUnlockIndex
)
return
dpWidget
?.
let
{
widget
->
widget
.
currentDramaIndex
=
position
+
1
}
dialog
?.
dismiss
()
}
override
fun
getIndexListSuc
(
indexList
:
IndexList
)
{
}
override
fun
getIndexListFail
()
{
}
override
fun
collectSuc
()
{
mVedioBean
!!
.
collect
=
1
playCollectAnim
(
zan_iv
)
}
override
fun
collectFail
()
{
}
override
fun
cancelCollectSuc
()
{
mVedioBean
!!
.
collect
=
0
playCancelCollectAnim
(
zan_iv
)
}
override
fun
cancelCollectFail
()
{
}
override
fun
unlockSuc
(
indexList
:
IndexList
)
{
}
override
fun
unlockFail
()
{
}
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
)
}
private
fun
playCancelCollectAnim
(
view
:
LottieAnimationView
)
{
val
lottieDrawable
=
LottieDrawable
()
LottieCompositionFactory
.
fromAsset
(
context
,
"home_cancel_collect.json"
)
.
addListener
{
result
:
LottieComposition
?
->
lottieDrawable
.
setImagesAssetsFolder
(
"images/"
)
lottieDrawable
.
composition
=
result
lottieDrawable
.
loop
(
false
)
lottieDrawable
.
playAnimation
()
}
view
.
setImageDrawable
(
lottieDrawable
)
}
override
fun
onClick
(
v
:
View
?)
{
when
(
v
?.
id
)
{
R
.
id
.
ll_collect
->
{
if
(
mVedioBean
!!
.
collect
==
0
)
{
videoPresenter
.
collect
(
""
+
mVedioBean
!!
.
vedioId
)
}
else
{
videoPresenter
.
cancelCollect
(
""
+
mVedioBean
!!
.
vedioId
)
}
}
else
->
{}
}
}
}
\ No newline at end of file
video/app/src/main/java/com/mints/wisdomclean/video/DrawDramaFragment.kt
View file @
7467ec0e
...
...
@@ -13,7 +13,6 @@ import com.bytedance.sdk.dp.IDPDrawListener
import
com.bytedance.sdk.dp.IDPWidget
import
com.mints.wisdomclean.R
import
com.mints.wisdomclean.ui.fragment.base.BaseFragment
import
com.mints.wisdomclean.video.DramaApiDetailActivity.Companion.KEY_DRAMA_UNLOCK_INDEX
/**
* Created by limingqi on 2023/5/10
...
...
@@ -93,7 +92,6 @@ class DrawDramaFragment : BaseFragment() {
val
intent
=
Intent
(
context
,
DramaApiDetailActivity
::
class
.
java
)
intent
.
addFlags
(
Intent
.
FLAG_ACTIVITY_NEW_TASK
)
DramaApiDetailActivity
.
outerDrama
=
drama
intent
.
putExtra
(
KEY_DRAMA_UNLOCK_INDEX
,
100
)
context
.
startActivity
(
intent
)
}
.
freeSet
(
FREE_SET
)
...
...
video/app/src/main/java/com/mints/wisdomclean/video/VideoActivity.kt
View file @
7467ec0e
...
...
@@ -203,13 +203,12 @@ class VideoActivity : BaseActivity(), View.OnClickListener, VideoView,
dialog
?.
setCurrentIndex
(
mCurrentPosition
)
dialog
!!
.
show
()
}
else
{
dialog
=
VideoEpisodeDialog
(
this
,
indexBean
!!
,
object
:
DialogListener
()
{
override
fun
onClick
(
dialog
:
Dialog
?,
v
:
View
?)
{
super
.
onClick
(
dialog
,
v
)
dialog
?.
dismiss
()
}
})
dialog
=
VideoEpisodeDialog
(
this
,
mVedioBean
,
object
:
DialogListener
()
{
override
fun
onClick
(
dialog
:
Dialog
?,
v
:
View
?)
{
super
.
onClick
(
dialog
,
v
)
dialog
?.
dismiss
()
}
})
dialog
?.
setCurrentIndex
(
mCurrentPosition
)
dialog
?.
setOnEpisodeClickListener
(
this
)
dialog
?.
show
()
...
...
video/app/src/main/res/layout/drama_activity_api_detail.xml
View file @
7467ec0e
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
android:layout_height=
"match_parent"
android:background=
"#77090909"
>
<FrameLayout
android:id=
"@+id/fl_container"
...
...
@@ -9,6 +11,76 @@
android:layout_height=
"match_parent"
android:layout_marginBottom=
"50dp"
/>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<LinearLayout
android:id=
"@+id/ll"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"15dp"
android:layout_marginBottom=
"100dp"
android:orientation=
"vertical"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintLeft_toLeftOf=
"parent"
>
<TextView
android:id=
"@+id/title_tv"
android:layout_width=
"wrap_content"
android:layout_height=
"match_parent"
android:ellipsize=
"end"
android:gravity=
"center"
android:maxEms=
"9"
android:maxLines=
"1"
android:text=
"-"
android:textColor=
"#fff"
android:textSize=
"16sp"
/>
<TextView
android:id=
"@+id/info_tv"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:ellipsize=
"end"
android:maxEms=
"14"
android:maxLines=
"3"
android:text=
"-"
android:textColor=
"#fff"
android:textSize=
"14sp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintLeft_toLeftOf=
"parent"
/>
</LinearLayout>
<LinearLayout
android:id=
"@+id/ll_collect"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"15dp"
android:gravity=
"center"
android:orientation=
"vertical"
app:layout_constraintBottom_toTopOf=
"@id/ll"
app:layout_constraintRight_toRightOf=
"parent"
>
<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/zan_num_tv"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:gravity=
"center"
android:text=
"-"
android:textColor=
"#fff"
android:textSize=
"14sp"
/>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<FrameLayout
android:id=
"@+id/fm_bottom"
android:layout_width=
"match_parent"
...
...
@@ -51,22 +123,60 @@
</FrameLayout>
<LinearLayout
<FrameLayout
android:id=
"@+id/block_view"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
android:layout_marginBottom=
"50dp"
android:background=
"#99000000"
>
<ImageView
android:id=
"@+id/iv_bg"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
<TextView
android:id=
"@+id/tv_info"
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:gravity=
"center"
android:orientation=
"vertical"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginBottom=
"10dp"
android:text=
"试看已结束"
android:textColor=
"@color/white"
android:textSize=
"16sp"
/>
<Button
android:id=
"@+id/unlock"
android:layout_width=
"280dp"
android:layout_height=
"40dp"
android:layout_marginBottom=
"10dp"
android:background=
"@drawable/shape_red"
android:text=
"看广告解锁1集"
android:textColor=
"@color/white"
/>
<Button
android:id=
"@+id/vip"
android:layout_width=
"280dp"
android:layout_height=
"40dp"
android:background=
"@drawable/shape_green"
android:text=
"开通会员"
android:textColor=
"@color/white"
/>
</LinearLayout>
<ImageView
android:id=
"@+id/leave"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:layout_marginTop=
"10dp"
android:textColor=
"#FFFFFFFF"
android:textSize=
"16sp"
/>
android:layout_marginTop=
"20dp"
android:padding=
"10dp"
android:src=
"@mipmap/ic_arrow_white"
/>
</
Linear
Layout>
</
Frame
Layout>
<include
layout=
"@layout/item_block_view"
/>
</FrameLayout>
\ 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