Commit 7467ec0e authored by mengcuiguang's avatar mengcuiguang

Merge branch 'dev_new_vedio' of http://gitlab.mints-id.com/android/android_vedio into dev_new_vedio

parents e611b1d6 b3b9e9e7
...@@ -19,6 +19,7 @@ import com.mints.wisdomclean.video.DPHolderManager; ...@@ -19,6 +19,7 @@ import com.mints.wisdomclean.video.DPHolderManager;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.logging.Handler;
/** /**
* 穿山甲广告 * 穿山甲广告
...@@ -46,9 +47,6 @@ public class TTGroMoreAdManagerHolder { ...@@ -46,9 +47,6 @@ public class TTGroMoreAdManagerHolder {
if (!sInit) { if (!sInit) {
GMMediationAdSdk.initialize(context, buildV2Config(context)); GMMediationAdSdk.initialize(context, buildV2Config(context));
sInit = true; sInit = true;
// 初始化短剧SDK
DPHolderManager.INSTANCE.initDpSdk(context);
} }
} }
......
...@@ -4,10 +4,14 @@ import android.app.Activity ...@@ -4,10 +4,14 @@ import android.app.Activity
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.text.TextUtils 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.library.utils.json.JsonUtil
import com.mints.wisdomclean.common.Constant import com.mints.wisdomclean.common.Constant
import com.mints.wisdomclean.mvp.model.VedioBean import com.mints.wisdomclean.mvp.model.VedioBean
import com.mints.wisdomclean.utils.AppPreferencesManager import com.mints.wisdomclean.utils.AppPreferencesManager
import com.mints.wisdomclean.utils.ToastUtil
import com.mints.wisdomclean.video.DramaApiDetailActivity import com.mints.wisdomclean.video.DramaApiDetailActivity
import com.mints.wisdomclean.video.VideoActivity import com.mints.wisdomclean.video.VideoActivity
...@@ -79,14 +83,44 @@ object LocalVedioManager { ...@@ -79,14 +83,44 @@ object LocalVedioManager {
* 根据类型跳转对应视频详情页 [自有或穿山甲] * 根据类型跳转对应视频详情页 [自有或穿山甲]
*/ */
fun startVedioDetailActivityForType(activity: Activity, data: VedioBean?) { fun startVedioDetailActivityForType(activity: Activity, data: VedioBean?) {
val bundle = Bundle()
bundle.putString(Constant.VEDIO_BEAN, JsonUtil.toJson(data))
if (data?.createType == 1) { if (data?.createType == 1) {
//自有短剧 //自有短剧
val bundle = Bundle()
bundle.putString(Constant.VEDIO_BEAN, JsonUtil.toJson(data))
readyGo(activity, VideoActivity::class.java, bundle) readyGo(activity, VideoActivity::class.java, bundle)
} else { } else {
//穿山甲短剧 requestDrama(activity, data)
readyGo(activity, DramaApiDetailActivity::class.java, bundle) }
}
// 请求穿山甲数据
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, "网络错误!")
} }
} }
......
...@@ -22,6 +22,20 @@ public class VedioBean implements Serializable { ...@@ -22,6 +22,20 @@ public class VedioBean implements Serializable {
private String scriptAuthor; private String scriptAuthor;
private int vedioId;// 视频id,服务器标识 private int vedioId;// 视频id,服务器标识
private String hot;// 播放量 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() { public String getThirdId() {
return thirdId; return thirdId;
} }
......
...@@ -27,6 +27,7 @@ import com.mints.wisdomclean.ui.fragment.MyFragment ...@@ -27,6 +27,7 @@ import com.mints.wisdomclean.ui.fragment.MyFragment
import com.mints.wisdomclean.ui.fragment.RecommendFragment import com.mints.wisdomclean.ui.fragment.RecommendFragment
import com.mints.wisdomclean.ui.widgets.DialogListener import com.mints.wisdomclean.ui.widgets.DialogListener
import com.mints.wisdomclean.ui.widgets.PhoneDialog import com.mints.wisdomclean.ui.widgets.PhoneDialog
import com.mints.wisdomclean.video.DPHolderManager
import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.activity_main.*
/** /**
...@@ -86,6 +87,9 @@ class MainActivity : BaseActivity(), View.OnClickListener { ...@@ -86,6 +87,9 @@ class MainActivity : BaseActivity(), View.OnClickListener {
AdManager.instance.preLoadAd(this) AdManager.instance.preLoadAd(this)
initEditView() initEditView()
// 初始化短剧SDK
DPHolderManager.initDpSdk(context);
// initEasyFloat() // initEasyFloat()
} }
......
...@@ -11,7 +11,7 @@ import com.google.android.material.tabs.TabLayout ...@@ -11,7 +11,7 @@ import com.google.android.material.tabs.TabLayout
import com.google.android.material.tabs.TabLayoutMediator import com.google.android.material.tabs.TabLayoutMediator
import com.mints.wisdomclean.R import com.mints.wisdomclean.R
import com.mints.wisdomclean.mvp.model.EpisodeBean 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.ui.adapter.VideoEpisodeAdapter
import com.mints.wisdomclean.utils.CommonUtils import com.mints.wisdomclean.utils.CommonUtils
...@@ -22,7 +22,7 @@ import com.mints.wisdomclean.utils.CommonUtils ...@@ -22,7 +22,7 @@ import com.mints.wisdomclean.utils.CommonUtils
*/ */
class VideoEpisodeDialog( class VideoEpisodeDialog(
context: Context, context: Context,
val indexList: IndexList?, val vedioBean: VedioBean?,
private val listener: DialogListener private val listener: DialogListener
) : ) :
Dialog(context, R.style.dialog) { Dialog(context, R.style.dialog) {
...@@ -61,22 +61,21 @@ class VideoEpisodeDialog( ...@@ -61,22 +61,21 @@ class VideoEpisodeDialog(
ivClose = findViewById(R.id.close_iv) ivClose = findViewById(R.id.close_iv)
ivClose.setOnClickListener(listener) 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 = findViewById<TextView>(R.id.label_tv).text =
if (indexList?.vedioMsg?.completeStatus == 0) "已完结" else "未完结" if (vedioBean?.completeStatus == 0) "已完结" else "未完结"
initVp() initVp()
} }
private fun initVp() { private fun initVp() {
for (i in 0 until indexList!!.vedioMsg.vedioTotal) { for (i in 0 until vedioBean!!.vedioTotal) {
if (i < indexList.list.size) { if (i < vedioBean.unlockIndex) {
val index = indexList.list[i]
var playing = false var playing = false
if (indexList.vedioMsg.seeIndex == i) { if (vedioBean.seeIndex == i) {
playing = true playing = true
} }
mData.add(EpisodeBean(index.isLock, playing, "" + (i + 1))) mData.add(EpisodeBean(false, playing, "" + (i + 1)))
} else { } else {
mData.add(EpisodeBean(lock = true, playing = false, title = "" + (i + 1))) mData.add(EpisodeBean(lock = true, playing = false, title = "" + (i + 1)))
} }
......
...@@ -13,7 +13,6 @@ import com.bytedance.sdk.dp.IDPDrawListener ...@@ -13,7 +13,6 @@ import com.bytedance.sdk.dp.IDPDrawListener
import com.bytedance.sdk.dp.IDPWidget import com.bytedance.sdk.dp.IDPWidget
import com.mints.wisdomclean.R import com.mints.wisdomclean.R
import com.mints.wisdomclean.ui.fragment.base.BaseFragment 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 * Created by limingqi on 2023/5/10
...@@ -93,7 +92,6 @@ class DrawDramaFragment : BaseFragment() { ...@@ -93,7 +92,6 @@ class DrawDramaFragment : BaseFragment() {
val intent = Intent(context, DramaApiDetailActivity::class.java) val intent = Intent(context, DramaApiDetailActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
DramaApiDetailActivity.outerDrama = drama DramaApiDetailActivity.outerDrama = drama
intent.putExtra(KEY_DRAMA_UNLOCK_INDEX, 100)
context.startActivity(intent) context.startActivity(intent)
} }
.freeSet(FREE_SET) .freeSet(FREE_SET)
......
...@@ -203,13 +203,12 @@ class VideoActivity : BaseActivity(), View.OnClickListener, VideoView, ...@@ -203,13 +203,12 @@ class VideoActivity : BaseActivity(), View.OnClickListener, VideoView,
dialog?.setCurrentIndex(mCurrentPosition) dialog?.setCurrentIndex(mCurrentPosition)
dialog!!.show() dialog!!.show()
} else { } else {
dialog = VideoEpisodeDialog(this, dialog = VideoEpisodeDialog(this, mVedioBean, object : DialogListener() {
indexBean!!, object : DialogListener() { override fun onClick(dialog: Dialog?, v: View?) {
override fun onClick(dialog: Dialog?, v: View?) { super.onClick(dialog, v)
super.onClick(dialog, v) dialog?.dismiss()
dialog?.dismiss() }
} })
})
dialog?.setCurrentIndex(mCurrentPosition) dialog?.setCurrentIndex(mCurrentPosition)
dialog?.setOnEpisodeClickListener(this) dialog?.setOnEpisodeClickListener(this)
dialog?.show() dialog?.show()
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" <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_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent"
android:background="#77090909">
<FrameLayout <FrameLayout
android:id="@+id/fl_container" android:id="@+id/fl_container"
...@@ -9,6 +11,76 @@ ...@@ -9,6 +11,76 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginBottom="50dp" /> 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 <FrameLayout
android:id="@+id/fm_bottom" android:id="@+id/fm_bottom"
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -51,22 +123,60 @@ ...@@ -51,22 +123,60 @@
</FrameLayout> </FrameLayout>
<LinearLayout <FrameLayout
android:id="@+id/block_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="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 <LinearLayout
android:id="@+id/tv_info" 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_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" android:layout_marginTop="20dp"
android:layout_marginTop="10dp" android:padding="10dp"
android:textColor="#FFFFFFFF" android:src="@mipmap/ic_arrow_white" />
android:textSize="16sp" />
</LinearLayout> </FrameLayout>
<include layout="@layout/item_block_view" />
</FrameLayout> </FrameLayout>
\ No newline at end of file
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