Commit 89957393 authored by mengcuiguang's avatar mengcuiguang

代码优化

parent 68e852c3
......@@ -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()
......
......@@ -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(
......
......@@ -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!!)
......
......@@ -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_transparent2"
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"
......
......@@ -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_marginRight="20dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
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="110dp"
android:layout_height="140dp"
android:layout_marginTop="8dp"
android:background="@drawable/shape_vip_adapter_none"
android:orientation="vertical">
<RelativeLayout
<LinearLayout
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/tvVipItemTitle"
android:id="@+id/tvVipItemCurMoney"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="18dp"
android:layout_marginTop="30dp"
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/tvVipItemCurMoney"
android:id="@+id/tvVipItemTitle"
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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment