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
7c416055
Commit
7c416055
authored
Dec 05, 2023
by
mengcuiguang2
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
代码优化
parent
5cda33c3
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
124 additions
and
52 deletions
+124
-52
RecommendBannerActivity.kt
...uben/speedplaylet/ui/activitys/RecommendBannerActivity.kt
+40
-9
MainFragment.kt
...n/java/com/duben/speedplaylet/ui/fragment/MainFragment.kt
+44
-41
activity_recommend_banner.xml
video/app/src/main/res/layout/activity_recommend_banner.xml
+40
-2
No files found.
video/app/src/main/java/com/duben/speedplaylet/ui/activitys/RecommendBannerActivity.kt
View file @
7c416055
...
@@ -2,8 +2,12 @@ package com.duben.speedplaylet.ui.activitys
...
@@ -2,8 +2,12 @@ package com.duben.speedplaylet.ui.activitys
import
android.view.KeyEvent
import
android.view.KeyEvent
import
android.view.View
import
android.view.View
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.library.utils.nodoubleclick.AntiShake
import
com.duben.speedplaylet.R
import
com.duben.speedplaylet.R
import
com.duben.speedplaylet.manager.LocalVedioManager
import
com.duben.speedplaylet.mvp.model.BannerList
import
com.duben.speedplaylet.mvp.model.BannerList
import
com.duben.speedplaylet.mvp.model.VedioBean
import
com.duben.speedplaylet.mvp.model.VedioBean
import
com.duben.speedplaylet.mvp.presenters.RecommendBannerPresenter
import
com.duben.speedplaylet.mvp.presenters.RecommendBannerPresenter
...
@@ -16,6 +20,7 @@ import kotlinx.android.synthetic.main.activity_recommend_banner.*
...
@@ -16,6 +20,7 @@ import kotlinx.android.synthetic.main.activity_recommend_banner.*
class
RecommendBannerActivity
:
BaseActivity
(),
RecommendBannerView
,
View
.
OnClickListener
{
class
RecommendBannerActivity
:
BaseActivity
(),
RecommendBannerView
,
View
.
OnClickListener
{
private
val
recommendBannerPresenter
by
lazy
{
RecommendBannerPresenter
()
}
private
val
recommendBannerPresenter
by
lazy
{
RecommendBannerPresenter
()
}
private
var
banner
:
VedioBean
?=
null
override
fun
getContentViewLayoutID
()
=
R
.
layout
.
activity_recommend_banner
override
fun
getContentViewLayoutID
()
=
R
.
layout
.
activity_recommend_banner
...
@@ -26,13 +31,26 @@ class RecommendBannerActivity : BaseActivity(),RecommendBannerView, View.OnClick
...
@@ -26,13 +31,26 @@ class RecommendBannerActivity : BaseActivity(),RecommendBannerView, View.OnClick
override
fun
getOverridePendingTransitionMode
()
=
TransitionMode
.
FADE
override
fun
getOverridePendingTransitionMode
()
=
TransitionMode
.
FADE
override
fun
initViewsAndEvents
()
{
override
fun
initViewsAndEvents
()
{
recommendBannerPresenter
.
attachView
(
this
)
recommendBannerPresenter
.
attachView
(
this
)
recommendBannerPresenter
.
orders
()
recommendBannerPresenter
.
orders
()
initListener
()
initListener
()
}
}
private
fun
initListener
()
{
private
fun
initListener
()
{
// tv_nine_know_next.setOnClickListener(this)
val
lottieDrawable
=
LottieDrawable
()
LottieCompositionFactory
.
fromAsset
(
context
,
"recommend.json"
)
.
addListener
{
result
:
LottieComposition
?
->
lottieDrawable
.
setImagesAssetsFolder
(
"images/"
)
lottieDrawable
.
composition
=
result
lottieDrawable
.
loop
(
true
)
lottieDrawable
.
playAnimation
()
}
iv_recommend_top
.
setImageDrawable
(
lottieDrawable
)
iv_recommend_banner_close
.
setOnClickListener
(
this
)
btn_recommend_next
.
setOnClickListener
(
this
)
}
}
override
fun
onDestroy
()
{
override
fun
onDestroy
()
{
...
@@ -64,9 +82,20 @@ class RecommendBannerActivity : BaseActivity(),RecommendBannerView, View.OnClick
...
@@ -64,9 +82,20 @@ class RecommendBannerActivity : BaseActivity(),RecommendBannerView, View.OnClick
if
(
AntiShake
.
check
(
v
.
id
))
return
if
(
AntiShake
.
check
(
v
.
id
))
return
when
(
v
.
id
)
{
when
(
v
.
id
)
{
// R.id.tv_nine_know_next -> {
R
.
id
.
iv_recommend_banner_close
->
{
// finish()
finish
()
// }
}
R
.
id
.
btn_recommend_next
->
{
// val bundle = Bundle()
// bundle.putString(Constant.VEDIO_BEAN, JsonUtil.toJson(recommendBean?.vedioMsg))
// readyGoThenKill(NewTxVideoActivity::class.java, bundle)
LocalVedioManager
.
startVedioDetailActivityForType
(
this
@RecommendBannerActivity
,
banner
)
finish
()
}
}
}
}
}
...
@@ -77,9 +106,12 @@ class RecommendBannerActivity : BaseActivity(),RecommendBannerView, View.OnClick
...
@@ -77,9 +106,12 @@ class RecommendBannerActivity : BaseActivity(),RecommendBannerView, View.OnClick
.
setBannerGalleryEffect
(
80
,
15
,
0.8f
)
.
setBannerGalleryEffect
(
80
,
15
,
0.8f
)
.
setAdapter
(
adapter
)
.
setAdapter
(
adapter
)
.
setOnBannerListener
{
data2
,
position
->
.
setOnBannerListener
{
data2
,
position
->
// val banner = data.list.get(position)
val
banner
=
data
.
get
(
position
)
LocalVedioManager
.
startVedioDetailActivityForType
(
this
@RecommendBannerActivity
,
banner
)
finish
()
}
}
.
addOnPageChangeListener
(
object
:
OnPageChangeListener
{
.
addOnPageChangeListener
(
object
:
OnPageChangeListener
{
override
fun
onPageScrolled
(
override
fun
onPageScrolled
(
...
@@ -90,13 +122,12 @@ class RecommendBannerActivity : BaseActivity(),RecommendBannerView, View.OnClick
...
@@ -90,13 +122,12 @@ class RecommendBannerActivity : BaseActivity(),RecommendBannerView, View.OnClick
}
}
override
fun
onPageSelected
(
position
:
Int
)
{
override
fun
onPageSelected
(
position
:
Int
)
{
// GlideUtils.loadBlurImageView(mContext, data[position].coverImage, iv_blur)
banner
=
data
[
position
]
tv_banner_title
.
text
=
String
.
format
(
"《%1s》"
,
data
[
position
].
title
)
tv_banner_title
.
text
=
String
.
format
(
"《%1s》"
,
data
[
position
].
title
)
}
}
override
fun
onPageScrollStateChanged
(
state
:
Int
)
{}
override
fun
onPageScrollStateChanged
(
state
:
Int
)
{}
})
})
// GlideUtils.loadBlurImageView(mContext, data[0].coverImage, iv_blur)
tv_banner_title
.
text
=
String
.
format
(
"《%1s》"
,
data
[
0
].
title
)
tv_banner_title
.
text
=
String
.
format
(
"《%1s》"
,
data
[
0
].
title
)
}
}
}
}
\ No newline at end of file
video/app/src/main/java/com/duben/speedplaylet/ui/fragment/MainFragment.kt
View file @
7c416055
...
@@ -191,8 +191,8 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
...
@@ -191,8 +191,8 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
override
fun
onItemClick
(
position
:
Int
)
{
override
fun
onItemClick
(
position
:
Int
)
{
if
(
topList
.
size
>
0
)
{
if
(
topList
.
size
>
0
)
{
LocalVedioManager
.
startVedioDetailActivityForType
(
LocalVedioManager
.
startVedioDetailActivityForType
(
requireActivity
(),
requireActivity
(),
topList
[
position
]
topList
[
position
]
)
)
}
}
}
}
...
@@ -261,9 +261,9 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
...
@@ -261,9 +261,9 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
val
cacheVedio
=
LocalVedioManager
.
getCacheVedio
()
val
cacheVedio
=
LocalVedioManager
.
getCacheVedio
()
if
(
cacheVedio
!=
null
)
{
if
(
cacheVedio
!=
null
)
{
GlideUtils
.
loadImageViewGifForCenterCrop
(
GlideUtils
.
loadImageViewGifForCenterCrop
(
requireContext
(),
requireContext
(),
cacheVedio
.
coverImage
,
cacheVedio
.
coverImage
,
iv_main_watching_pic
iv_main_watching_pic
)
)
tv_main_watching_name
.
text
=
cacheVedio
.
title
tv_main_watching_name
.
text
=
cacheVedio
.
title
tv_main_watching_text1
.
text
=
"上次观看至第${cacheVedio.seeIndex}集"
tv_main_watching_text1
.
text
=
"上次观看至第${cacheVedio.seeIndex}集"
...
@@ -300,22 +300,22 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
...
@@ -300,22 +300,22 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
}
}
banner
.
addBannerLifecycleObserver
(
this
)
banner
.
addBannerLifecycleObserver
(
this
)
.
setAdapter
(
ImageTitleAdapter
(
bannerList
))
.
setAdapter
(
ImageTitleAdapter
(
bannerList
))
.
setOnBannerListener
{
data2
,
position
->
.
setOnBannerListener
{
data2
,
position
->
val
banner
=
data
.
list
.
get
(
position
)
val
banner
=
data
.
list
.
get
(
position
)
if
(
banner
.
createType
==
4
)
{
if
(
banner
.
createType
==
4
)
{
// 九宫格
// 九宫格
val
bundle
=
Bundle
()
val
bundle
=
Bundle
()
bundle
.
putBoolean
(
NineActivity
.
IS_AD_SHOW
,
true
)
bundle
.
putBoolean
(
NineActivity
.
IS_AD_SHOW
,
true
)
readyGo
(
NineActivity
::
class
.
java
,
bundle
)
readyGo
(
NineActivity
::
class
.
java
,
bundle
)
}
else
{
}
else
{
LocalVedioManager
.
startVedioDetailActivityForType
(
LocalVedioManager
.
startVedioDetailActivityForType
(
requireActivity
(),
requireActivity
(),
banner
banner
)
)
}
}
}
}
}
}
}
}
...
@@ -362,16 +362,16 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
...
@@ -362,16 +362,16 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
val
need
=
data
.
need
val
need
=
data
.
need
if
(
complete
>=
need
)
{
if
(
complete
>=
need
)
{
tv_lucky_status
.
text
=
SpanUtils
()
tv_lucky_status
.
text
=
SpanUtils
()
.
append
(
"可领取"
)
.
append
(
"可领取"
)
.
setForegroundColor
(
resources
.
getColor
(
R
.
color
.
apk_uninstalled
))
.
setForegroundColor
(
resources
.
getColor
(
R
.
color
.
apk_uninstalled
))
.
create
()
.
create
()
}
else
{
}
else
{
tv_lucky_status
.
text
=
SpanUtils
()
tv_lucky_status
.
text
=
SpanUtils
()
.
append
(
complete
.
toString
())
.
append
(
complete
.
toString
())
.
setForegroundColor
(
resources
.
getColor
(
R
.
color
.
red
))
.
setForegroundColor
(
resources
.
getColor
(
R
.
color
.
red
))
.
append
(
"/"
)
.
append
(
"/"
)
.
append
(
need
.
toString
())
.
append
(
need
.
toString
())
.
create
()
.
create
()
}
}
}
}
...
@@ -390,14 +390,14 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
...
@@ -390,14 +390,14 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
private
fun
showRecommendAct
()
{
private
fun
showRecommendAct
()
{
// if (data == null || data.vedio3 == null) return
// if (data == null || data.vedio3 == null) return
if
(
AppConfig
.
enterVipAct
)
{
AppConfig
.
enterVipAct
=
false
if
(
UserManager
.
getInstance
().
newFlag
&&
!
UserManager
.
getInstance
().
vipFlag
)
{
if
(
UserManager
.
getInstance
().
newFlag
&&
!
UserManager
.
getInstance
().
vipFlag
)
{
// 1、第一次打开app并关闭付费页进首页时出现一次
// 1、第一次打开app并关闭付费页进首页时出现一次
val
mainFirstRecommend
=
val
mainFirstRecommend
=
AppPreferencesManager
.
get
().
getBoolean
(
Constant
.
MAIN_FIRST_RECOMMEND
,
false
)
AppPreferencesManager
.
get
().
getBoolean
(
Constant
.
MAIN_FIRST_RECOMMEND
,
false
)
if
(!
mainFirstRecommend
)
{
if
(!
mainFirstRecommend
)
{
if
(
AppConfig
.
enterVipAct
)
{
AppConfig
.
enterVipAct
=
false
AppPreferencesManager
.
get
().
put
(
Constant
.
MAIN_FIRST_RECOMMEND
,
true
)
AppPreferencesManager
.
get
().
put
(
Constant
.
MAIN_FIRST_RECOMMEND
,
true
)
Handler
(
Looper
.
getMainLooper
()).
postDelayed
({
Handler
(
Looper
.
getMainLooper
()).
postDelayed
({
...
@@ -405,17 +405,20 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
...
@@ -405,17 +405,20 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
readyGo
(
RecommendBannerActivity
::
class
.
java
)
readyGo
(
RecommendBannerActivity
::
class
.
java
)
},
300
)
},
300
)
return
}
}
return
}
// 2、每3次弹出推荐剧
// 2、每3次弹出推荐剧
val
adCount
=
AppPreferencesManager
.
get
().
getInt
(
Constant
.
VEDIO_MAIN_COUNT
,
0
)
val
adCount
=
AppPreferencesManager
.
get
().
getInt
(
Constant
.
VEDIO_MAIN_COUNT
,
0
)
AppPreferencesManager
.
get
().
put
(
Constant
.
VEDIO_MAIN_COUNT
,
adCount
+
1
)
AppPreferencesManager
.
get
().
put
(
Constant
.
VEDIO_MAIN_COUNT
,
adCount
+
1
)
if
(
mainFirstRecommend
&&
adCount
>=
3
)
{
if
(
mainFirstRecommend
&&
adCount
>=
3
)
{
Handler
(
Looper
.
getMainLooper
()).
postDelayed
({
AppPreferencesManager
.
get
().
put
(
Constant
.
VEDIO_MAIN_COUNT
,
0
)
AppPreferencesManager
.
get
().
put
(
Constant
.
VEDIO_MAIN_COUNT
,
0
)
readyGo
(
RecommendBannerActivity
::
class
.
java
)
readyGo
(
RecommendBannerActivity
::
class
.
java
)
}
},
300
)
}
// // 2、用户第一次打开app未签约付费,而是看了十次广告以上的,则在下一次打开app时关闭启动付费页面后弹出推荐弹框一次
// // 2、用户第一次打开app未签约付费,而是看了十次广告以上的,则在下一次打开app时关闭启动付费页面后弹出推荐弹框一次
// val mainTwoRecommend =
// val mainTwoRecommend =
...
@@ -430,8 +433,8 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
...
@@ -430,8 +433,8 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
// }, 300)
// }, 300)
// }
// }
}
}
}
}
}
fun
ViewPager2
.
desensitization
()
{
fun
ViewPager2
.
desensitization
()
{
...
...
video/app/src/main/res/layout/activity_recommend_banner.xml
View file @
7c416055
...
@@ -7,15 +7,31 @@
...
@@ -7,15 +7,31 @@
<LinearLayout
<LinearLayout
android:layout_width=
"
wrap_cont
ent"
android:layout_width=
"
match_par
ent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_centerInParent=
"true"
android:layout_centerInParent=
"true"
android:orientation=
"vertical"
>
android:orientation=
"vertical"
>
<ImageView
android:id=
"@+id/iv_recommend_banner_close"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"right"
android:padding=
"10dp"
android:src=
"@mipmap/ic_close"
></ImageView>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_centerInParent=
"true"
android:layout_gravity=
"center"
android:src=
"@mipmap/ic_vip_label"
/>
<com.youth.banner.Banner
<com.youth.banner.Banner
android:layout_marginTop=
"10dp"
android:id=
"@+id/vip_banner"
android:id=
"@+id/vip_banner"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"
2
20dp"
/>
android:layout_height=
"
3
20dp"
/>
<TextView
<TextView
android:id=
"@+id/tv_banner_title"
android:id=
"@+id/tv_banner_title"
...
@@ -27,6 +43,28 @@
...
@@ -27,6 +43,28 @@
android:textColor=
"@color/white"
android:textColor=
"@color/white"
android:textSize=
"18sp"
/>
android:textSize=
"18sp"
/>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"100dp"
android:layout_marginTop=
"10dp"
>
<ImageView
android:id=
"@+id/iv_recommend_top"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_centerInParent=
"true"
android:scaleType=
"centerCrop"
/>
<Button
android:id=
"@+id/btn_recommend_next"
android:layout_width=
"210dp"
android:layout_height=
"50dp"
android:layout_centerInParent=
"true"
android:background=
"@drawable/shape_bg_recommend"
android:text=
"立即试看"
android:textColor=
"@color/white"
android:textSize=
"16sp"
/>
</RelativeLayout>
</LinearLayout>
</LinearLayout>
...
...
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