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
89957393
Commit
89957393
authored
Dec 05, 2024
by
mengcuiguang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
代码优化
parent
68e852c3
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
155 additions
and
94 deletions
+155
-94
VipForDialogActivity.kt
...duben/infinitefunjia/ui/activitys/VipForDialogActivity.kt
+73
-69
VipDialogAdapter.kt
...a/com/duben/infinitefunjia/ui/adapter/VipDialogAdapter.kt
+6
-0
GlideUtils.kt
...o/app/src/main/java/com/duben/library/utils/GlideUtils.kt
+10
-0
activity_vip_dialog.xml
video/app/src/main/res/layout/activity_vip_dialog.xml
+39
-3
item_rv_vip_dialog.xml
video/app/src/main/res/layout/item_rv_vip_dialog.xml
+27
-22
No files found.
video/app/src/main/java/com/duben/infinitefunjia/ui/activitys/VipForDialogActivity.kt
View file @
89957393
...
...
@@ -12,6 +12,7 @@ import android.util.DisplayMetrics
import
android.view.View
import
android.view.WindowManager
import
android.widget.CompoundButton
import
androidx.core.content.ContextCompat
import
androidx.recyclerview.widget.GridLayoutManager
import
com.alipay.sdk.app.OpenAuthTask
import
com.daimajia.androidanimations.library.YoYo
...
...
@@ -29,6 +30,8 @@ import com.duben.infinitefunjia.ui.adapter.VipDialogAdapter
import
com.duben.infinitefunjia.ui.widgets.*
import
com.duben.infinitefunjia.ui.widgets.countdowntimer.CountDownTimerSupport
import
com.duben.infinitefunjia.ui.widgets.countdowntimer.OnCountDownTimerListener
import
com.duben.infinitefunjia.utils.SpanUtils
import
com.duben.infinitefunjia.utils.ToastUtil
import
com.duben.library.utils.nodoubleclick.AntiShake
import
com.jobo.alipay.AliPay
import
com.jobo.alipay.AlipayInfoImpl
...
...
@@ -49,8 +52,8 @@ import java.net.URLEncoder
* 时间:2022/12/22 14:48
*/
class
VipForDialogActivity
:
BaseActivity
(),
VipView
,
View
.
OnClickListener
,
VipDialogAdapter
.
OnItemClickListener
,
CompoundButton
.
OnCheckedChangeListener
{
VipDialogAdapter
.
OnItemClickListener
,
CompoundButton
.
OnCheckedChangeListener
{
companion
object
{
const
val
IS_DETAIL
=
"IS_DETAIL"
//是否从剧集详情页进入
...
...
@@ -307,7 +310,7 @@ class VipForDialogActivity : BaseActivity(), VipView, View.OnClickListener,
if
(
data
.
expireTime
>
0
)
{
readyGo
(
MainActivity
::
class
.
java
)
val
activity
=
ActivityPageManager
.
getInstance
().
getActivity
(
MainActivity
::
class
.
java
)
ActivityPageManager
.
getInstance
().
getActivity
(
MainActivity
::
class
.
java
)
if
(
activity
!=
null
&&
activity
is
MainActivity
)
{
activity
.
clickTab4Layout
()
}
...
...
@@ -344,18 +347,33 @@ class VipForDialogActivity : BaseActivity(), VipView, View.OnClickListener,
if
(
AntiShake
.
check
(
v
?.
id
))
return
when
(
v
?.
id
)
{
// R.id.ic_vip_quit -> {
// if (UserManager.getInstance().newFlag &&
// vipList != null && vipList!!.size > 0
// ) {
// vipAdapter.setPosition(0)
// vipAdapter.notifyDataSetChanged()
// val vipBean = vipList!![0]
// backPayYesDialog(vipBean)
// } else {
// finish()
// }
// }
R
.
id
.
ic_vip_quit
->
{
finish
()
}
R
.
id
.
ic_free_auto
->
{
DialogUtils
.
showDialog
(
this
,
SpanUtils
()
.
append
(
"1、会员属于虚拟商品,一经购买不可退换 \n"
+
"2、未满18岁的未成年人需要在监护人主导、同意下进行相关付费操作;\n"
+
"3、充值一般5分钟内到账,如未到账请在“我的”页面联系客服;"
)
.
setForegroundColor
(
ContextCompat
.
getColor
(
this
,
R
.
color
.
tv_message_recente_money
)
)
.
create
(),
"用户须知"
,
"确定"
,
object
:
DialogListener
()
{
override
fun
onClick
(
dialog
:
Dialog
?,
v
:
View
?)
{
dialog
?.
dismiss
()
}
})
}
// R.id.tvVipPay -> {
// if (vipList != null && vipList!!.size > 0) {
// val vipBean = vipList!![vipAdapter.getPosition()]
...
...
@@ -399,7 +417,7 @@ class VipForDialogActivity : BaseActivity(), VipView, View.OnClickListener,
private
fun
initRvView
()
{
if
(
vipList
!=
null
&&
vipList
!!
.
size
>
0
)
{
val
linearLayoutManager
=
GridLayoutManager
(
this
,
2
)
val
linearLayoutManager
=
GridLayoutManager
(
this
,
2
)
// linearLayoutManager.orientation = LinearLayoutManager.HORIZONTAL
rvVip
.
layoutManager
=
linearLayoutManager
vipAdapter
=
VipDialogAdapter
(
vipList
!!
)
...
...
@@ -415,7 +433,8 @@ class VipForDialogActivity : BaseActivity(), VipView, View.OnClickListener,
// YoYo.with(Techniques.Pulse).duration(700).repeat(-1).playOn(shimmer_text)
// }, 200)
//
// ic_vip_quit.setOnClickListener(this)
ic_vip_quit
.
setOnClickListener
(
this
)
ic_free_auto
.
setOnClickListener
(
this
)
// tvVipPay.setOnClickListener(this)
// tvVipAgreement.setOnClickListener(this)
// ll_vip_alipay.setOnClickListener(this)
...
...
@@ -429,31 +448,16 @@ class VipForDialogActivity : BaseActivity(), VipView, View.OnClickListener,
//设置content样式
if
(
vipList
!=
null
&&
vipList
!!
.
size
>
0
)
{
setVipContent
(
vipList
!!
[
position
])
// if (vipList!!.size > 2) {
// if (position > 1 && position < vipList!!.size - 2) {
// moveToCenter(view);
// } else if (position in 0..1) {
// rvVip.smoothScrollToPosition(0);
// } else {
// rvVip.smoothScrollToPosition(vipList!!.size - 1);
// }
// }
val
vipBean
=
vipList
!!
[
position
]
setVipContent
(
vipBean
)
vipPresenter
.
getVipPayParams
(
payType
,
vipBean
.
pid
,
isAliPayInstalled
(),
ENTER_TYPE_ACTIVITY
)
}
}
private
fun
moveToCenter
(
itemView
:
View
)
{
val
locationView
=
IntArray
(
2
)
itemView
.
getLocationOnScreen
(
locationView
)
val
viewWidth
=
itemView
.
width
val
wm
=
getSystemService
(
Context
.
WINDOW_SERVICE
)
as
WindowManager
val
dm
=
DisplayMetrics
()
wm
.
defaultDisplay
.
getMetrics
(
dm
)
val
centerX
=
dm
.
widthPixels
/
2
val
distance
=
locationView
[
0
]
-
centerX
+
viewWidth
/
2
rvVip
.
smoothScrollBy
(
distance
,
0
)
}
fun
wxPay
(
wxParanBean
:
WxPayParamBean
,
payToModel
:
Int
)
{
if
(
payToModel
==
1
)
{
...
...
@@ -573,9 +577,9 @@ class VipForDialogActivity : BaseActivity(), VipView, View.OnClickListener,
if
(
vipList
!=
null
&&
vipList
!!
.
size
>
0
)
{
val
vipBean
=
vipList
!!
[
vipAdapter
.
getPosition
()]
vipPresenter
.
getVipPayParams
(
payType
,
vipBean
.
pid
,
isAliPayInstalled
(),
ENTER_TYPE_DIALOG
payType
,
vipBean
.
pid
,
isAliPayInstalled
(),
ENTER_TYPE_DIALOG
)
}
else
{
...
...
@@ -621,19 +625,19 @@ class VipForDialogActivity : BaseActivity(), VipView, View.OnClickListener,
when
(
v
.
id
)
{
R
.
id
.
tv_agreement_next
->
{
vipPresenter
.
getVipPayParams
(
payType
,
vipBean
.
pid
,
isAliPayInstalled
(),
ENTER_TYPE_ACTIVITY
payType
,
vipBean
.
pid
,
isAliPayInstalled
(),
ENTER_TYPE_ACTIVITY
)
}
}
}
})
ruleAgreementDialog
!!
.
setText
(
vipBean
.
remarks
,
vipBean
.
trialFirstDay
,
vipBean
.
price
,
vipBean
.
title
vipBean
.
remarks
,
vipBean
.
trialFirstDay
,
vipBean
.
price
,
vipBean
.
title
)
ruleAgreementDialog
!!
.
show
()
}
else
{
...
...
@@ -663,9 +667,9 @@ class VipForDialogActivity : BaseActivity(), VipView, View.OnClickListener,
agreementPayDialog
()
}
else
{
vipPresenter
.
getVipPayParams
(
payType
,
vipBean
.
pid
,
isAliPayInstalled
(),
ENTER_TYPE_ACTIVITY
payType
,
vipBean
.
pid
,
isAliPayInstalled
(),
ENTER_TYPE_ACTIVITY
)
}
}
else
{
...
...
@@ -717,11 +721,11 @@ class VipForDialogActivity : BaseActivity(), VipView, View.OnClickListener,
try
{
// val alipayAppId = "2021004157617228"
val
path
=
"app_uid="
+
UserManager
.
getInstance
().
userID
+
"&package_app="
+
Constant
.
MINTS_PKG_NAME
//这里是传的参数
"app_uid="
+
UserManager
.
getInstance
().
userID
+
"&package_app="
+
Constant
.
MINTS_PKG_NAME
//这里是传的参数
val
link
=
URLEncoder
.
encode
(
path
,
"UTF-8"
)
//这里是encode传的参数
val
url
=
// "alipays://platformapi/startapp?appId=2021004129666486&page=pages/loading&query=" + link
"alipays://platformapi/startapp?appId="
+
alipayAppId
+
"&page=pages/loading&query="
+
link
"alipays://platformapi/startapp?appId="
+
alipayAppId
+
"&page=pages/loading&query="
+
link
val
uri
=
Uri
.
parse
(
url
)
// url为你要链接的地址
val
intent
=
Intent
(
Intent
.
ACTION_VIEW
,
uri
)
startActivity
(
intent
)
...
...
@@ -738,9 +742,9 @@ class VipForDialogActivity : BaseActivity(), VipView, View.OnClickListener,
val
req
=
WXLaunchMiniProgram
.
Req
()
req
.
userName
=
"gh_439c32026e1b"
// 填小程序原始id
req
.
path
=
"/pages/loading?testApp1=mcg1&testApp2=mcg2"
////拉起小程序页面的可带参路径,不填默认拉起小程序首页,对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。
"/pages/loading?testApp1=mcg1&testApp2=mcg2"
////拉起小程序页面的可带参路径,不填默认拉起小程序首页,对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。
req
.
miniprogramType
=
WXLaunchMiniProgram
.
Req
.
MINIPTOGRAM_TYPE_RELEASE
// 可选打开 开发版,体验版和正式版
WXLaunchMiniProgram
.
Req
.
MINIPTOGRAM_TYPE_RELEASE
// 可选打开 开发版,体验版和正式版
api
.
sendReq
(
req
)
}
catch
(
e
:
Exception
)
{
e
.
printStackTrace
()
...
...
@@ -759,19 +763,19 @@ class VipForDialogActivity : BaseActivity(), VipView, View.OnClickListener,
val
map
:
MutableMap
<
String
,
String
>
=
HashMap
()
map
[
"sign_params"
]
=
signParams
openAuthTask
.
execute
(
"com.duben.infinitefunjia.ui.activitys.VipActivity"
,
OpenAuthTask
.
BizType
.
Deduct
,
map
,
{
resultCode
:
Int
,
memo
:
String
?,
bundle
:
Bundle
->
if
(
resultCode
==
OpenAuthTask
.
OK
)
{
// 对业务完成的结果做后续处理
}
else
{
// 对业务失败的结果做后续处理
showToast
(
"支付失败"
)
}
},
true
"com.duben.infinitefunjia.ui.activitys.VipActivity"
,
OpenAuthTask
.
BizType
.
Deduct
,
map
,
{
resultCode
:
Int
,
memo
:
String
?,
bundle
:
Bundle
->
if
(
resultCode
==
OpenAuthTask
.
OK
)
{
// 对业务完成的结果做后续处理
}
else
{
// 对业务失败的结果做后续处理
showToast
(
"支付失败"
)
}
},
true
)
}
catch
(
e
:
Exception
)
{
e
.
printStackTrace
()
...
...
video/app/src/main/java/com/duben/infinitefunjia/ui/adapter/VipDialogAdapter.kt
View file @
89957393
...
...
@@ -6,12 +6,14 @@ import android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
android.widget.FrameLayout
import
android.widget.ImageView
import
android.widget.TextView
import
androidx.recyclerview.widget.RecyclerView
import
com.duben.infinitefunjia.R
import
com.duben.infinitefunjia.mvp.model.VipBean
import
com.duben.infinitefunjia.utils.BubbleUtils
import
com.duben.infinitefunjia.utils.SpanUtils
import
com.duben.library.utils.GlideUtils
class
VipDialogAdapter
(
val
vipList
:
MutableList
<
VipBean
.
ListBean
>)
:
RecyclerView
.
Adapter
<
VipDialogAdapter
.
ViewHolder
>()
{
...
...
@@ -38,6 +40,7 @@ class VipDialogAdapter(val vipList: MutableList<VipBean.ListBean>) :
val
tvVipItemMoney
:
TextView
=
view
.
findViewById
(
R
.
id
.
tvVipItemMoney
)
val
tvVipItemTitle
:
TextView
=
view
.
findViewById
(
R
.
id
.
tvVipItemTitle
)
val
tvVipItemLable
:
TextView
=
view
.
findViewById
(
R
.
id
.
tvVipItemLable
)
val
iv_vip_dialog_finger
:
ImageView
=
view
.
findViewById
(
R
.
id
.
iv_vip_dialog_finger
)
}
override
fun
onCreateViewHolder
(
parent
:
ViewGroup
,
viewType
:
Int
):
ViewHolder
{
...
...
@@ -148,7 +151,10 @@ class VipDialogAdapter(val vipList: MutableList<VipBean.ListBean>) :
// R.color.color_FD7E0E
// )
// )
holder
.
iv_vip_dialog_finger
.
visibility
=
View
.
VISIBLE
GlideUtils
.
loadRoundImageViewGif
(
context
,
"https://mints-pkg.oss-cn-beijing.aliyuncs.com/pkg/img/ic_loading.gif"
,
holder
.
iv_vip_dialog_finger
)
}
else
{
holder
.
iv_vip_dialog_finger
.
visibility
=
View
.
GONE
holder
.
rlVipItemRoot
.
setBackgroundResource
(
R
.
drawable
.
shape_vip_adapter_none
)
// holder.tvVipItemCurMoney.setTextColor(
// ContextCompat.getColor(
...
...
video/app/src/main/java/com/duben/library/utils/GlideUtils.kt
View file @
89957393
...
...
@@ -76,6 +76,16 @@ object GlideUtils {
.
into
(
imageView
)
}
fun
loadRoundImageViewGif
(
mContext
:
Context
,
url
:
String
,
imageView
:
ImageView
)
{
val
options
=
RequestOptions
()
.
fitCenter
()
.
diskCacheStrategy
(
DiskCacheStrategy
.
DATA
)
Glide
.
with
(
mContext
)
.
load
(
url
)
.
apply
(
options
)
.
into
(
imageView
)
}
//默认加载
fun
loadImageViewNoAnim
(
mContext
:
Context
?,
path
:
Any
?,
mImageView
:
ImageView
?)
{
Glide
.
with
(
mContext
!!
).
load
(
path
).
dontAnimate
().
skipMemoryCache
(
true
).
into
(
mImageView
!!
)
...
...
video/app/src/main/res/layout/activity_vip_dialog.xml
View file @
89957393
...
...
@@ -3,7 +3,7 @@
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/half_transparent
2
"
android:background=
"@color/half_transparent"
android:orientation=
"vertical"
>
<LinearLayout
...
...
@@ -11,9 +11,43 @@
android:layout_height=
"wrap_content"
android:layout_alignParentBottom=
"true"
android:layout_gravity=
"bottom"
android:
layout_marginBottom=
"30dp
"
android:
background=
"@drawable/shape_bg_write
"
android:orientation=
"vertical"
>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"right"
android:orientation=
"horizontal"
>
<TextView
android:id=
"@+id/ic_free_auto"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginRight=
"20dp"
android:text=
"付费须知 >"
android:textColor=
"@color/black"
android:textSize=
"16sp"
/>
<ImageView
android:id=
"@+id/ic_vip_quit"
android:layout_width=
"50dp"
android:layout_height=
"50dp"
android:padding=
"4dp"
android:src=
"@mipmap/ic_quit_yuan"
/>
</LinearLayout>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:text=
"超多精彩好剧一键解锁"
android:textColor=
"@color/black"
android:layout_marginBottom=
"4dp"
android:textSize=
"18sp"
android:textStyle=
"bold"
/>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rvVip"
android:layout_width=
"match_parent"
...
...
@@ -25,7 +59,9 @@
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"horizontal"
>
android:orientation=
"horizontal"
android:visibility=
"gone"
>
<LinearLayout
android:id=
"@+id/ll_vip_wx"
...
...
video/app/src/main/res/layout/item_rv_vip_dialog.xml
View file @
89957393
...
...
@@ -3,53 +3,51 @@
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_
marginLeft=
"20dp
"
android:layout_margin
Right=
"2
0dp"
android:layout_
height=
"wrap_content
"
android:layout_margin
Left=
"1
0dp"
android:layout_marginTop=
"10dp"
android:layout_marginRight=
"10dp"
android:layout_marginBottom=
"10dp"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
>
<FrameLayout
android:id=
"@+id/rlVipItemRoot"
android:layout_width=
"match_parent"
android:layout_height=
"1
1
0dp"
android:layout_height=
"1
4
0dp"
android:layout_marginTop=
"8dp"
android:background=
"@drawable/shape_vip_adapter_none"
android:orientation=
"vertical"
>
<
Relative
Layout
<
Linear
Layout
android:layout_width=
"match_parent"
android:layout_marginTop=
"-8dp"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
>
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
<TextView
android:id=
"@+id/tvVipItem
Title
"
android:id=
"@+id/tvVipItem
CurMoney
"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:layout_margin
Left=
"18
dp"
android:layout_margin
Top=
"30
dp"
android:textColor=
"#efbc6a"
android:textSize=
"20sp"
android:layout_centerVertical=
"true"
android:textStyle=
"bold"
tools:text=
"包年会员"
/>
android:textSize=
"16sp"
tools:text=
"$78"
/>
<TextView
android:id=
"@+id/tvVipItem
CurMoney
"
android:id=
"@+id/tvVipItem
Title
"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_centerVertical=
"true"
android:layout_alignParentRight=
"true"
android:layout_marginRight=
"18dp"
android:gravity=
"center"
android:layout_gravity=
"center_horizontal"
android:layout_marginTop=
"10dp"
android:textColor=
"#efbc6a"
android:textSize=
"16sp"
tools:text=
"$78"
/>
android:textSize=
"20sp"
android:textStyle=
"bold"
tools:text=
"包年会员"
/>
</RelativeLayout>
</LinearLayout>
<TextView
android:id=
"@+id/tvVipItemMoney"
...
...
@@ -63,6 +61,13 @@
tools:text=
"原价:123"
/>
<ImageView
android:id=
"@+id/iv_vip_dialog_finger"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"right|bottom"
android:layout_margin=
"20dp"
android:src=
"@mipmap/ic_launcher_main"
></ImageView>
</FrameLayout>
<TextView
...
...
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