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
e0a6ee7f
Commit
e0a6ee7f
authored
Dec 05, 2023
by
mengcuiguang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加推荐banner,支付页修改逻辑
parent
91c0d655
Changes
14
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
268 additions
and
76 deletions
+268
-76
build.gradle
video/app/build.gradle
+2
-2
AndroidManifest.xml
video/app/src/main/AndroidManifest.xml
+5
-0
AppConfig.java
...rc/main/java/com/duben/speedplaylet/common/AppConfig.java
+1
-0
RecommendBannerPresenter.kt
...n/speedplaylet/mvp/presenters/RecommendBannerPresenter.kt
+41
-0
TrackPresenter.java
...com/duben/speedplaylet/mvp/presenters/TrackPresenter.java
+2
-0
RecommendBannerView.kt
...a/com/duben/speedplaylet/mvp/views/RecommendBannerView.kt
+11
-0
RecommendBannerActivity.kt
...uben/speedplaylet/ui/activitys/RecommendBannerActivity.kt
+102
-0
SplashActivity.kt
...ava/com/duben/speedplaylet/ui/activitys/SplashActivity.kt
+5
-0
VipActivity.kt
...n/java/com/duben/speedplaylet/ui/activitys/VipActivity.kt
+5
-5
BaseActivity.java
...om/duben/speedplaylet/ui/activitys/base/BaseActivity.java
+3
-0
VipAdapter.kt
...main/java/com/duben/speedplaylet/ui/adapter/VipAdapter.kt
+2
-1
MainFragment.kt
...n/java/com/duben/speedplaylet/ui/fragment/MainFragment.kt
+14
-32
activity_recommend_banner.xml
video/app/src/main/res/layout/activity_recommend_banner.xml
+34
-0
item_rv_vip.xml
video/app/src/main/res/layout/item_rv_vip.xml
+41
-36
No files found.
video/app/build.gradle
View file @
e0a6ee7f
...
...
@@ -10,8 +10,8 @@ android {
applicationId
"com.duben.speedplaylet"
minSdkVersion
rootProject
.
ext
.
androidMinSdkVersion
targetSdkVersion
rootProject
.
ext
.
androidTargetSdkVersion
versionCode
7
versionName
"1.0.
6
"
versionCode
8
versionName
"1.0.
7
"
flavorDimensions
"default"
// dex突破65535的限制
...
...
video/app/src/main/AndroidManifest.xml
View file @
e0a6ee7f
...
...
@@ -159,6 +159,11 @@
android:exported=
"false"
android:theme=
"@style/TransparentTheme"
/>
<activity
android:name=
".ui.activitys.RecommendBannerActivity"
android:exported=
"false"
android:theme=
"@style/TransparentTheme"
/>
<activity
android:name=
".ui.activitys.NinePayActivity"
android:exported=
"false"
...
...
video/app/src/main/java/com/duben/speedplaylet/common/AppConfig.java
View file @
e0a6ee7f
...
...
@@ -23,6 +23,7 @@ public class AppConfig {
// 进入过支付界面
public
static
boolean
enterVipAct
=
false
;
public
static
boolean
enterAlipay
=
false
;
public
static
boolean
showVipVedio
=
false
;
public
static
long
splashTime
=
0L
;
}
video/app/src/main/java/com/duben/speedplaylet/mvp/presenters/RecommendBannerPresenter.kt
0 → 100644
View file @
e0a6ee7f
package
com.duben.speedplaylet.mvp.presenters
import
com.duben.library.net.neterror.BaseSubscriber
import
com.duben.library.net.neterror.Throwable
import
com.duben.speedplaylet.manager.AppHttpManager
import
com.duben.speedplaylet.mvp.model.BannerList
import
com.duben.speedplaylet.mvp.model.BaseResponse
import
com.duben.speedplaylet.mvp.views.RecommendBannerView
class
RecommendBannerPresenter
:
BasePresenter
<
RecommendBannerView
>()
{
fun
orders
()
{
AppHttpManager
.
getInstance
(
loanApplication
)
.
call
(
loanService
.
orders
(),
object
:
BaseSubscriber
<
BaseResponse
<
BannerList
>>()
{
override
fun
onCompleted
()
{
if
(
isLinkView
)
return
}
override
fun
onError
(
e
:
Throwable
)
{
if
(
isLinkView
)
return
}
override
fun
onNext
(
baseResponse
:
BaseResponse
<
BannerList
>)
{
if
(
isLinkView
)
return
val
code
=
baseResponse
.
status
val
message
=
baseResponse
.
message
when
(
code
)
{
200
->
{
view
.
ordersSuc
(
baseResponse
.
data
)
}
else
->
{
view
.
showToast
(
message
)
}
}
}
})
}
}
\ No newline at end of file
video/app/src/main/java/com/duben/speedplaylet/mvp/presenters/TrackPresenter.java
View file @
e0a6ee7f
...
...
@@ -48,6 +48,8 @@ public class TrackPresenter extends BaseTrackPresenter {
case
200
:
{
UserManager
.
getInstance
().
saveUserInfo
(
baseResponse
.
getData
());
getMyInfo
();
saveTerminalInfo
();
}
}
...
...
video/app/src/main/java/com/duben/speedplaylet/mvp/views/RecommendBannerView.kt
0 → 100644
View file @
e0a6ee7f
package
com.duben.speedplaylet.mvp.views
import
com.duben.speedplaylet.mvp.model.BannerList
import
com.duben.speedplaylet.mvp.model.UserBean
import
com.duben.speedplaylet.mvp.model.VipBean
import
com.duben.speedplaylet.mvp.model.WxPayParamBean
interface
RecommendBannerView
:
BaseView
{
fun
ordersSuc
(
data
:
BannerList
?)
}
\ No newline at end of file
video/app/src/main/java/com/duben/speedplaylet/ui/activitys/RecommendBannerActivity.kt
0 → 100644
View file @
e0a6ee7f
package
com.duben.speedplaylet.ui.activitys
import
android.view.KeyEvent
import
android.view.View
import
com.duben.library.utils.nodoubleclick.AntiShake
import
com.duben.speedplaylet.R
import
com.duben.speedplaylet.mvp.model.BannerList
import
com.duben.speedplaylet.mvp.model.VedioBean
import
com.duben.speedplaylet.mvp.presenters.RecommendBannerPresenter
import
com.duben.speedplaylet.mvp.views.RecommendBannerView
import
com.duben.speedplaylet.ui.activitys.base.BaseActivity
import
com.duben.speedplaylet.ui.adapter.VipBannerAdapter
import
com.youth.banner.listener.OnPageChangeListener
import
kotlinx.android.synthetic.main.activity_recommend_banner.*
class
RecommendBannerActivity
:
BaseActivity
(),
RecommendBannerView
,
View
.
OnClickListener
{
private
val
recommendBannerPresenter
by
lazy
{
RecommendBannerPresenter
()
}
override
fun
getContentViewLayoutID
()
=
R
.
layout
.
activity_recommend_banner
override
fun
isApplyKitKatTranslucency
()
=
false
override
fun
toggleOverridePendingTransition
()
=
true
override
fun
getOverridePendingTransitionMode
()
=
TransitionMode
.
FADE
override
fun
initViewsAndEvents
()
{
recommendBannerPresenter
.
attachView
(
this
)
recommendBannerPresenter
.
orders
()
initListener
()
}
private
fun
initListener
()
{
// tv_nine_know_next.setOnClickListener(this)
}
override
fun
onDestroy
()
{
super
.
onDestroy
()
recommendBannerPresenter
.
detachView
()
}
override
fun
ordersSuc
(
data
:
BannerList
?)
{
data
?.
let
{
setBanner
(
it
.
list
)
}
}
override
fun
finish
()
{
super
.
finish
()
overridePendingTransition
(
0
,
R
.
anim
.
scale_out
)
}
override
fun
onKeyDown
(
keyCode
:
Int
,
event
:
KeyEvent
):
Boolean
{
return
if
(
keyCode
==
KeyEvent
.
KEYCODE_BACK
)
{
true
}
else
super
.
onKeyDown
(
keyCode
,
event
)
}
override
fun
onClick
(
v
:
View
)
{
if
(
AntiShake
.
check
(
v
.
id
))
return
when
(
v
.
id
)
{
// R.id.tv_nine_know_next -> {
// finish()
// }
}
}
private
fun
setBanner
(
data
:
List
<
VedioBean
>)
{
val
adapter
=
VipBannerAdapter
(
data
)
// 绑定生命周期
vip_banner
.
addBannerLifecycleObserver
(
this
)
.
setBannerGalleryEffect
(
80
,
15
,
0.8f
)
.
setAdapter
(
adapter
)
.
setOnBannerListener
{
data2
,
position
->
// val banner = data.list.get(position)
}
.
addOnPageChangeListener
(
object
:
OnPageChangeListener
{
override
fun
onPageScrolled
(
position
:
Int
,
positionOffset
:
Float
,
positionOffsetPixels
:
Int
)
{
}
override
fun
onPageSelected
(
position
:
Int
)
{
// GlideUtils.loadBlurImageView(mContext, data[position].coverImage, iv_blur)
tv_banner_title
.
text
=
String
.
format
(
"《%1s》"
,
data
[
position
].
title
)
}
override
fun
onPageScrollStateChanged
(
state
:
Int
)
{}
})
// GlideUtils.loadBlurImageView(mContext, data[0].coverImage, iv_blur)
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/activitys/SplashActivity.kt
View file @
e0a6ee7f
...
...
@@ -2,6 +2,7 @@ package com.duben.speedplaylet.ui.activitys
import
android.annotation.SuppressLint
import
android.os.Bundle
import
android.text.TextUtils
import
android.view.KeyEvent
import
android.view.View
import
com.duben.speedplaylet.R
...
...
@@ -69,6 +70,10 @@ class SplashActivity : BaseActivity() {
}
private
fun
initData
()
{
if
(!
TextUtils
.
isEmpty
(
UserManager
.
getInstance
().
userID
)){
TrackManager
.
getInstance
().
getMyInfo
()
}
val
firstSplash
=
get
().
getBoolean
(
Constant
.
FIRST_SPLASH
,
true
)
if
(!
firstSplash
)
{
SplashManager
.
preLoadAd
(
this
@SplashActivity
)
...
...
video/app/src/main/java/com/duben/speedplaylet/ui/activitys/VipActivity.kt
View file @
e0a6ee7f
...
...
@@ -542,11 +542,11 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
}
when
(
v
.
id
)
{
R
.
id
.
iv_dialog_vip_quit
->
{
//
if (isGuide) {
//
readyGoThenKill(MainActivity::class.java)
//
} else {
//
finish()
//
}
if
(
isGuide
)
{
readyGoThenKill
(
MainActivity
::
class
.
java
)
}
else
{
finish
()
}
}
R
.
id
.
tv_dialog_vip_next
->
{
cbVipAgreement
.
isChecked
=
true
...
...
video/app/src/main/java/com/duben/speedplaylet/ui/activitys/base/BaseActivity.java
View file @
e0a6ee7f
...
...
@@ -38,6 +38,9 @@ public abstract class BaseActivity extends BaseAppCompatActivity implements Base
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
// 禁止截图
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_SECURE
);
if
(
android
.
os
.
Build
.
VERSION
.
SDK_INT
!=
Build
.
VERSION_CODES
.
O
)
{
setRequestedOrientation
(
ActivityInfo
.
SCREEN_ORIENTATION_PORTRAIT
);
}
...
...
video/app/src/main/java/com/duben/speedplaylet/ui/adapter/VipAdapter.kt
View file @
e0a6ee7f
...
...
@@ -7,6 +7,7 @@ import android.view.Gravity
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
android.widget.FrameLayout
import
android.widget.LinearLayout
import
android.widget.TextView
import
androidx.core.content.ContextCompat
...
...
@@ -38,7 +39,7 @@ class VipAdapter(val vipList: MutableList<VipBean.ListBean>) :
}
inner
class
ViewHolder
(
view
:
View
)
:
RecyclerView
.
ViewHolder
(
view
)
{
val
rlVipItemRoot
:
Linear
Layout
=
view
.
findViewById
(
R
.
id
.
rlVipItemRoot
)
val
rlVipItemRoot
:
Frame
Layout
=
view
.
findViewById
(
R
.
id
.
rlVipItemRoot
)
val
tvVipItemCurMoney
:
TextView
=
view
.
findViewById
(
R
.
id
.
tvVipItemCurMoney
)
val
tvVipItemMoney
:
TextView
=
view
.
findViewById
(
R
.
id
.
tvVipItemMoney
)
val
tvVipItemTitle
:
TextView
=
view
.
findViewById
(
R
.
id
.
tvVipItemTitle
)
...
...
video/app/src/main/java/com/duben/speedplaylet/ui/fragment/MainFragment.kt
View file @
e0a6ee7f
...
...
@@ -26,10 +26,6 @@ import com.duben.speedplaylet.manager.UserManager
import
com.duben.speedplaylet.mvp.model.*
import
com.duben.speedplaylet.mvp.presenters.HomePresenter
import
com.duben.speedplaylet.mvp.views.HomeView
import
com.duben.speedplaylet.ui.activitys.NineActivity
import
com.duben.speedplaylet.ui.activitys.NinePayActivity
import
com.duben.speedplaylet.ui.activitys.RecommendActivity
import
com.duben.speedplaylet.ui.activitys.VipActivity
import
com.duben.speedplaylet.ui.adapter.HomeVideoPageAdapter
import
com.duben.speedplaylet.ui.adapter.ImageTitleAdapter
import
com.duben.speedplaylet.ui.adapter.TopAdapter
...
...
@@ -39,6 +35,7 @@ import com.duben.speedplaylet.utils.SpanUtils
import
com.duben.library.utils.GlideUtils
import
com.duben.library.utils.json.JsonUtil
import
com.duben.library.utils.nodoubleclick.AntiShake
import
com.duben.speedplaylet.ui.activitys.*
import
kotlinx.android.synthetic.main.fragment_main.*
import
java.lang.reflect.Field
import
java.util.*
...
...
@@ -90,19 +87,6 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
* 跳转到主页面
*/
private
fun
goToMainActivity
()
{
// val firstVedio = AppPreferencesManager.get().getBoolean(Constant.IS_FIRST_VEDIO, false)
// if (firstVedio) {
// if (UserManager.getInstance().newFlag && !UserManager.getInstance().vipFlag) {
// homePresenter.getRecommendVedio()
//
// val bundle = Bundle()
// bundle.putBoolean(VipActivity.IS_MAIN, true)
// readyGo(VipActivity::class.java, bundle)
// }
// } else {
// homePresenter.getSoltVedio()
// }
if
(
UserManager
.
getInstance
().
newFlag
&&
!
UserManager
.
getInstance
().
vipFlag
)
{
homePresenter
.
getRecommendVedio
()
...
...
@@ -411,25 +395,23 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
AppPreferencesManager
.
get
().
put
(
Constant
.
MAIN_FIRST_RECOMMEND
,
true
)
Handler
(
Looper
.
getMainLooper
()).
postDelayed
({
val
bundle
=
Bundle
()
bundle
.
putString
(
Constant
.
RECOMMEND_BEAN
,
JsonUtil
.
toJson
(
data
.
vedio3
))
readyGo
(
RecommendActivity
::
class
.
java
,
bundle
)
readyGo
(
RecommendBannerActivity
::
class
.
java
)
},
300
)
return
}
// 2、用户第一次打开app未签约付费,而是看了十次广告以上的,则在下一次打开app时关闭启动付费页面后弹出推荐弹框一次
val
mainTwoRecommend
=
AppPreferencesManager
.
get
().
getBoolean
(
Constant
.
MAIN_TWO_RECOMMEND
,
false
)
val
adCount
=
AppPreferencesManager
.
get
().
getInt
(
Constant
.
VEDIO_AD_COUNT
,
0
)
if
(!
mainTwoRecommend
&&
adCount
>
data
.
vedio3
.
adShowCount
)
{
AppPreferencesManager
.
get
().
put
(
Constant
.
MAIN_TWO_RECOMMEND
,
true
)
Handler
(
Looper
.
getMainLooper
()).
postDelayed
({
val
bundle
=
Bundle
()
bundle
.
putString
(
Constant
.
RECOMMEND_BEAN
,
JsonUtil
.
toJson
(
data
.
vedio3
))
readyGo
(
RecommendActivity
::
class
.
java
,
bundle
)
},
300
)
}
//
// 2、用户第一次打开app未签约付费,而是看了十次广告以上的,则在下一次打开app时关闭启动付费页面后弹出推荐弹框一次
//
val mainTwoRecommend =
//
AppPreferencesManager.get().getBoolean(Constant.MAIN_TWO_RECOMMEND, false)
//
val adCount = AppPreferencesManager.get().getInt(Constant.VEDIO_AD_COUNT, 0)
//
if (!mainTwoRecommend && adCount > data.vedio3.adShowCount) {
//
AppPreferencesManager.get().put(Constant.MAIN_TWO_RECOMMEND, true)
//
Handler(Looper.getMainLooper()).postDelayed({
//
val bundle = Bundle()
//
bundle.putString(Constant.RECOMMEND_BEAN, JsonUtil.toJson(data.vedio3))
//
readyGo(RecommendActivity::class.java, bundle)
//
}, 300)
//
}
}
}
}
...
...
video/app/src/main/res/layout/activity_recommend_banner.xml
0 → 100755
View file @
e0a6ee7f
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"#90000000"
android:orientation=
"vertical"
>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_centerInParent=
"true"
android:orientation=
"vertical"
>
<com.youth.banner.Banner
android:id=
"@+id/vip_banner"
android:layout_width=
"match_parent"
android:layout_height=
"220dp"
/>
<TextView
android:id=
"@+id/tv_banner_title"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:layout_marginTop=
"10dp"
android:layout_marginBottom=
"10dp"
android:textColor=
"@color/white"
android:textSize=
"18sp"
/>
</LinearLayout>
</RelativeLayout>
video/app/src/main/res/layout/item_rv_vip.xml
View file @
e0a6ee7f
<?xml version="1.0" encoding="utf-8"?>
<
Linear
Layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<
Frame
Layout
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:id=
"@+id/rlVipItemRoot"
...
...
@@ -9,26 +9,18 @@
android:background=
"@drawable/shape_vip_adapter_none"
android:orientation=
"vertical"
>
<TextView
android:id=
"@+id/tvVipItemLable"
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@mipmap/ic_vip_lable"
android:gravity=
"center"
android:paddingLeft=
"6dp"
android:paddingTop=
"2dp"
android:paddingRight=
"6dp"
android:paddingBottom=
"2dp"
android:textColor=
"@color/color_815136"
android:textSize=
"14sp"
tools:text=
"包年会员"
/>
android:layout_gravity=
"center"
android:orientation=
"vertical"
>
<TextView
android:id=
"@+id/tvVipItemTitle"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:layout_marginTop=
"12
dp"
android:layout_marginTop=
"20
dp"
android:textColor=
"@color/white"
android:textSize=
"18sp"
tools:text=
"包年会员"
/>
...
...
@@ -51,9 +43,22 @@
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:layout_marginTop=
"10dp"
android:layout_marginBottom=
"16dp"
android:textColor=
"#939AA3"
android:textSize=
"14sp"
tools:text=
"原价:123"
/>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
<TextView
android:id=
"@+id/tvVipItemLable"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@mipmap/ic_vip_lable"
android:gravity=
"center"
android:paddingLeft=
"6dp"
android:paddingTop=
"2dp"
android:paddingRight=
"6dp"
android:paddingBottom=
"2dp"
android:textColor=
"@color/color_815136"
android:textSize=
"14sp"
tools:text=
"包年会员"
/>
</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