Commit 30866098 authored by jyx's avatar jyx

代码优化

parent f8b20b46
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" /> <component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="Android Studio default JDK" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_15" default="true" project-jdk-name="Android Studio default JDK" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" /> <output url="file://$PROJECT_DIR$/build/classes" />
</component> </component>
<component name="ProjectType"> <component name="ProjectType">
......
...@@ -25,6 +25,24 @@ public class VedioBean implements Serializable { ...@@ -25,6 +25,24 @@ public class VedioBean implements Serializable {
private int adGiveVedioNum;// 广告解锁数量 private int adGiveVedioNum;// 广告解锁数量
private String recommendUrl;// 推荐视频地址 private String recommendUrl;// 推荐视频地址
private int recommendIndex;// 推荐视频第几集 private int recommendIndex;// 推荐视频第几集
private long seeUpdateTime;// 时间戳
private boolean checked;// 选中
public boolean isChecked() {
return checked;
}
public void setChecked(boolean checked) {
this.checked = checked;
}
public long getSeeUpdateTime() {
return seeUpdateTime;
}
public void setSeeUpdateTime(long seeUpdateTime) {
this.seeUpdateTime = seeUpdateTime;
}
public String getRecommendUrl() { public String getRecommendUrl() {
return recommendUrl; return recommendUrl;
......
package com.mints.wisdomclean.mvp.model
import android.os.Parcelable
import kotlinx.android.parcel.Parcelize
@Parcelize
data class WatchRecordBean(
var name: String = "",
var group: String = "",
var collect: Boolean = false,
) : Parcelable, java.io.Serializable
\ No newline at end of file
...@@ -48,9 +48,9 @@ class FollowPresenter : BasePresenter<FollowView>() { ...@@ -48,9 +48,9 @@ class FollowPresenter : BasePresenter<FollowView>() {
} }
fun cancelCollect(videoId: String) { fun cancelCollect(videoId: List<String>) {
val vo = HashMap<String, Any>() val vo = HashMap<String, Any>()
vo["videoId"] = videoId vo["list"] = videoId
AppHttpManager.getInstance(loanApplication) AppHttpManager.getInstance(loanApplication)
.call( .call(
loanService.cancelCollect(vo), loanService.cancelCollect(vo),
......
...@@ -248,7 +248,7 @@ public interface LoanService { ...@@ -248,7 +248,7 @@ public interface LoanService {
* @return * @return
*/ */
@POST("api/vedio/history") @POST("api/vedio/history")
Observable<BaseResponse<Object>> history(); Observable<BaseResponse<BannerList>> history();
/** /**
* 提交视频信息 * 提交视频信息
......
package com.mints.wisdomclean.ui.activitys package com.mints.wisdomclean.ui.activitys
import android.view.LayoutInflater
import android.view.View import android.view.View
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.mints.wisdomclean.R import com.mints.wisdomclean.R
import com.mints.wisdomclean.manager.LocalVedioManager
import com.mints.wisdomclean.mvp.model.BannerList import com.mints.wisdomclean.mvp.model.BannerList
import com.mints.wisdomclean.mvp.model.WatchRecordBean import com.mints.wisdomclean.mvp.model.VedioBean
import com.mints.wisdomclean.mvp.presenters.WatchRecordPresenter import com.mints.wisdomclean.mvp.presenters.WatchRecordPresenter
import com.mints.wisdomclean.mvp.views.WatchRecordView import com.mints.wisdomclean.mvp.views.WatchRecordView
import com.mints.wisdomclean.ui.activitys.base.BaseActivity import com.mints.wisdomclean.ui.activitys.base.BaseActivity
import com.mints.wisdomclean.ui.adapter.WatchRecordAdapter import com.mints.wisdomclean.ui.adapter.WatchRecordAdapter
import com.mints.wisdomclean.ui.widgets.StickHeaderDecoration import com.mints.wisdomclean.ui.widgets.StickHeaderDecoration
import com.mints.wisdomclean.utils.TimeHelp
import kotlinx.android.synthetic.main.activity_watch_record.* import kotlinx.android.synthetic.main.activity_watch_record.*
import kotlinx.android.synthetic.main.header_layout.* import kotlinx.android.synthetic.main.header_layout.*
...@@ -23,6 +26,7 @@ class WatchRecordActivity : BaseActivity(), WatchRecordView { ...@@ -23,6 +26,7 @@ class WatchRecordActivity : BaseActivity(), WatchRecordView {
private val watchRecordPresenter by lazy { WatchRecordPresenter() } private val watchRecordPresenter by lazy { WatchRecordPresenter() }
private var mWatchRecordAdapter: WatchRecordAdapter? = null private var mWatchRecordAdapter: WatchRecordAdapter? = null
private var datas = mutableListOf<VedioBean>()
override fun getContentViewLayoutID() = R.layout.activity_watch_record override fun getContentViewLayoutID() = R.layout.activity_watch_record
...@@ -34,22 +38,25 @@ class WatchRecordActivity : BaseActivity(), WatchRecordView { ...@@ -34,22 +38,25 @@ class WatchRecordActivity : BaseActivity(), WatchRecordView {
iv_left_icon.setImageResource(R.mipmap.ic_arrow_back) iv_left_icon.setImageResource(R.mipmap.ic_arrow_back)
iv_left_icon.setOnClickListener { finish() } iv_left_icon.setOnClickListener { finish() }
val beanList: MutableList<WatchRecordBean> = ArrayList() watchRecordPresenter.getHistory()
for (i in 0..5) {
beanList.add(WatchRecordBean(String.format("第一组%d号", i + 1), "第一组")) mWatchRecordAdapter = WatchRecordAdapter()
} val emptyView = LayoutInflater.from(this).inflate(R.layout.item_empty_history, null)
for (i in 0..5) { mWatchRecordAdapter?.setEmptyView(emptyView)
beanList.add(WatchRecordBean(String.format("第二组%d号", i + 1), "第二组")) mWatchRecordAdapter?.setNewInstance(datas)
mWatchRecordAdapter?.setOnItemClickListener { adapter, view, position ->
LocalVedioManager.startVedioDetailActivityForType(
this@WatchRecordActivity,
datas[position]
)
} }
for (i in 0..5) { mWatchRecordAdapter?.setOnItemChildClickListener { adapter, view, position ->
beanList.add(WatchRecordBean(String.format("第三组%d号", i + 1), "第三组")) if (datas[position].collect == 0) {
watchRecordPresenter.collect("" + datas[position].vedioId)
} else {
watchRecordPresenter.cancelCollect("" + datas[position].vedioId)
} }
for (i in 0..9) {
beanList.add(WatchRecordBean(String.format("第四组%d号", i + 1), "第四组"))
} }
mWatchRecordAdapter = WatchRecordAdapter()
mWatchRecordAdapter?.setNewInstance(beanList)
rv_watch_record.layoutManager = LinearLayoutManager(this) rv_watch_record.layoutManager = LinearLayoutManager(this)
rv_watch_record.addItemDecoration(StickHeaderDecoration(this)) rv_watch_record.addItemDecoration(StickHeaderDecoration(this))
rv_watch_record.adapter = mWatchRecordAdapter rv_watch_record.adapter = mWatchRecordAdapter
...@@ -63,7 +70,14 @@ class WatchRecordActivity : BaseActivity(), WatchRecordView { ...@@ -63,7 +70,14 @@ class WatchRecordActivity : BaseActivity(), WatchRecordView {
} }
override fun getHistorySuc(historyBean: BannerList) { override fun getHistorySuc(historyBean: BannerList) {
datas.clear()
val data = historyBean.list
for (datum in data) {
datum.topTabsReamrk = TimeHelp.format(datum.seeUpdateTime * 1000)
datas.add(datum)
}
mWatchRecordAdapter?.setNewInstance(datas)
mWatchRecordAdapter?.notifyDataSetChanged()
} }
override fun getHistoryFail() { override fun getHistoryFail() {
......
...@@ -2,6 +2,7 @@ package com.mints.wisdomclean.ui.adapter ...@@ -2,6 +2,7 @@ package com.mints.wisdomclean.ui.adapter
import android.app.Activity import android.app.Activity
import android.view.View import android.view.View
import android.widget.CheckBox
import android.widget.TextView import android.widget.TextView
import com.chad.library.adapter.base.BaseQuickAdapter import com.chad.library.adapter.base.BaseQuickAdapter
import com.chad.library.adapter.base.viewholder.BaseViewHolder import com.chad.library.adapter.base.viewholder.BaseViewHolder
...@@ -20,6 +21,10 @@ class FollowAdapter(var activity: Activity) : ...@@ -20,6 +21,10 @@ class FollowAdapter(var activity: Activity) :
private var showEdit = false private var showEdit = false
override fun convert(holder: BaseViewHolder, item: VedioBean) { override fun convert(holder: BaseViewHolder, item: VedioBean) {
holder.getView<CheckBox>(R.id.cb).isChecked = item.isChecked
holder.getView<CheckBox>(R.id.cb).setOnCheckedChangeListener { buttonView, isChecked ->
item.isChecked = isChecked
}
holder.getView<View>(R.id.fm_mask).visibility = if (showEdit) View.VISIBLE else View.GONE holder.getView<View>(R.id.fm_mask).visibility = if (showEdit) View.VISIBLE else View.GONE
holder.getView<TextView>(R.id.title_tv).text = item.title holder.getView<TextView>(R.id.title_tv).text = item.title
holder.getView<TextView>(R.id.info_tv).text = item.vedioDesc holder.getView<TextView>(R.id.info_tv).text = item.vedioDesc
...@@ -36,6 +41,9 @@ class FollowAdapter(var activity: Activity) : ...@@ -36,6 +41,9 @@ class FollowAdapter(var activity: Activity) :
// 全选 // 全选
fun fullChoice() { fun fullChoice() {
for (datum in data) {
datum.isChecked = true
}
notifyDataSetChanged()
} }
} }
\ No newline at end of file
...@@ -6,7 +6,6 @@ import com.chad.library.adapter.base.BaseQuickAdapter ...@@ -6,7 +6,6 @@ import com.chad.library.adapter.base.BaseQuickAdapter
import com.chad.library.adapter.base.viewholder.BaseViewHolder import com.chad.library.adapter.base.viewholder.BaseViewHolder
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.utils.ToastUtil
/** /**
* @author Assen * @author Assen
...@@ -23,8 +22,10 @@ class VideoEpisodeAdapter : ...@@ -23,8 +22,10 @@ class VideoEpisodeAdapter :
rv.adapter = itemVideoEpisodeAdapter rv.adapter = itemVideoEpisodeAdapter
val list = mutableListOf<EpisodeBean>() val list = mutableListOf<EpisodeBean>()
itemVideoEpisodeAdapter.addChildClickViewIds(R.id.item_tv) itemVideoEpisodeAdapter.addChildClickViewIds(R.id.item_tv)
itemVideoEpisodeAdapter.setOnItemChildClickListener { adapter, view, position -> itemVideoEpisodeAdapter.setOnItemClickListener { adapter, view, position ->
mOnEpisodeClickListener?.onEpisodeClick(position) mOnEpisodeClickListener?.onEpisodeClick(
position
)
} }
list.addAll(item) list.addAll(item)
itemVideoEpisodeAdapter.setNewInstance(list) itemVideoEpisodeAdapter.setNewInstance(list)
......
package com.mints.wisdomclean.ui.adapter package com.mints.wisdomclean.ui.adapter
import android.view.View import android.view.View
import android.widget.TextView
import com.airbnb.lottie.LottieAnimationView import com.airbnb.lottie.LottieAnimationView
import com.airbnb.lottie.LottieComposition import com.airbnb.lottie.LottieComposition
import com.airbnb.lottie.LottieCompositionFactory import com.airbnb.lottie.LottieCompositionFactory
import com.airbnb.lottie.LottieDrawable import com.airbnb.lottie.LottieDrawable
import com.chad.library.adapter.base.BaseQuickAdapter import com.chad.library.adapter.base.BaseQuickAdapter
import com.chad.library.adapter.base.viewholder.BaseViewHolder import com.chad.library.adapter.base.viewholder.BaseViewHolder
import com.mints.library.utils.GlideUtils
import com.mints.wisdomclean.R import com.mints.wisdomclean.R
import com.mints.wisdomclean.mvp.model.WatchRecordBean import com.mints.wisdomclean.mvp.model.VedioBean
/** /**
* @author Assen * @author Assen
...@@ -16,16 +18,27 @@ import com.mints.wisdomclean.mvp.model.WatchRecordBean ...@@ -16,16 +18,27 @@ import com.mints.wisdomclean.mvp.model.WatchRecordBean
* @desc * @desc
*/ */
class WatchRecordAdapter : class WatchRecordAdapter :
BaseQuickAdapter<WatchRecordBean, BaseViewHolder>(R.layout.item_watch_record) { BaseQuickAdapter<VedioBean, BaseViewHolder>(R.layout.item_watch_record) {
override fun convert(holder: BaseViewHolder, item: WatchRecordBean) { override fun convert(holder: BaseViewHolder, item: VedioBean) {
GlideUtils.loadImageViewNoAnim2(context, item.coverImage, holder.getView(R.id.image_iv))
holder.getView<TextView>(R.id.title_tv).text = item.title
holder.getView<TextView>(R.id.info_tv).text = item.vedioDesc
if (item.collect == 0) {
// 未收藏
holder.getView<LottieAnimationView>(R.id.iv_collect)
.setImageResource(R.mipmap.home_collect_img_0)
} else {
// 已收藏
holder.getView<LottieAnimationView>(R.id.iv_collect)
.setImageResource(R.mipmap.home_collect_img_1)
}
holder.getView<View>(R.id.ll_collect).setOnClickListener { holder.getView<View>(R.id.ll_collect).setOnClickListener {
if (!item.collect) { if (item.collect == 0) {
// data[holder.layoutPosition].collect = true
playCollectAnim(holder.getView(R.id.iv_collect)) playCollectAnim(holder.getView(R.id.iv_collect))
} else { } else {
// data[holder.layoutPosition].collect = false
playCancelCollectAnim(holder.getView(R.id.iv_collect)) playCancelCollectAnim(holder.getView(R.id.iv_collect))
} }
} }
...@@ -38,11 +51,12 @@ class WatchRecordAdapter : ...@@ -38,11 +51,12 @@ class WatchRecordAdapter :
* @return * @return
*/ */
fun isItemHeader(position: Int): Boolean { fun isItemHeader(position: Int): Boolean {
if (data.size == 0) return false
return if (position == 0) { return if (position == 0) {
true true
} else { } else {
val lastGroupName: String = data[position - 1].group val lastGroupName: String = data[position - 1].topTabsReamrk
val currentGroupName: String = data[position].group val currentGroupName: String = data[position].topTabsReamrk
//判断上一个数据的组别和下一个数据的组别是否一致,如果不一致则是不同组,也就是为第一项(头部) //判断上一个数据的组别和下一个数据的组别是否一致,如果不一致则是不同组,也就是为第一项(头部)
lastGroupName != currentGroupName lastGroupName != currentGroupName
} }
...@@ -55,7 +69,8 @@ class WatchRecordAdapter : ...@@ -55,7 +69,8 @@ class WatchRecordAdapter :
* @return * @return
*/ */
fun getGroupName(position: Int): String { fun getGroupName(position: Int): String {
return data[position].group if (data.size == 0) return ""
return data[position].topTabsReamrk
} }
private fun playCollectAnim(view: LottieAnimationView) { private fun playCollectAnim(view: LottieAnimationView) {
......
...@@ -88,16 +88,14 @@ class FollowVideoFragment : BaseFragment(), FollowView { ...@@ -88,16 +88,14 @@ class FollowVideoFragment : BaseFragment(), FollowView {
} }
override fun getCollectListSuc(bannerList: BannerList) { override fun getCollectListSuc(bannerList: BannerList) {
if (bannerList.list.isNotEmpty()) {
datas.clear() datas.clear()
if (bannerList.list.isNotEmpty()) {
datas.addAll(bannerList.list) datas.addAll(bannerList.list)
followAdapter.setNewInstance(datas) followAdapter.setNewInstance(datas)
followAdapter.notifyDataSetChanged()
showEditView(true)
} else {
showEditView(false)
} }
showEditView(true)
followAdapter.setEditStyle(false)
followAdapter.notifyDataSetChanged()
} }
override fun getCollectListFail() { override fun getCollectListFail() {
...@@ -105,11 +103,22 @@ class FollowVideoFragment : BaseFragment(), FollowView { ...@@ -105,11 +103,22 @@ class FollowVideoFragment : BaseFragment(), FollowView {
} }
override fun cancelCollectSuc() { override fun cancelCollectSuc() {
followPresenter.getCollectList()
(requireActivity() as MainActivity).showEdit(false)
} }
override fun cancelCollectFail() { override fun cancelCollectFail() {
} }
fun delete() {
val strArr = arrayListOf<String>()
for (datum in followAdapter.data) {
if (datum.isChecked) {
strArr.add("" + datum.vedioId)
}
}
followPresenter.cancelCollect(strArr)
}
} }
\ No newline at end of file
...@@ -173,7 +173,7 @@ class RecommendFragment : BaseFragment(), View.OnClickListener { ...@@ -173,7 +173,7 @@ class RecommendFragment : BaseFragment(), View.OnClickListener {
} }
} }
private fun handleEditStyle(isEdit: Boolean) { fun handleEditStyle(isEdit: Boolean) {
if (isEdit) { if (isEdit) {
// 禁止滑动 // 禁止滑动
vp2_recommend.isUserInputEnabled = false vp2_recommend.isUserInputEnabled = false
...@@ -198,11 +198,14 @@ class RecommendFragment : BaseFragment(), View.OnClickListener { ...@@ -198,11 +198,14 @@ class RecommendFragment : BaseFragment(), View.OnClickListener {
} }
fun showEditView(show: Boolean) { fun showEditView(show: Boolean) {
if (show) { handleEditStyle(!show)
iv_edit.visibility = View.VISIBLE // if (show) {
} else { // iv_edit_close.visibility = View.GONE
iv_edit.visibility = View.GONE // iv_edit.visibility = View.VISIBLE
} // } else {
// iv_edit_close.visibility = View.VISIBLE
// iv_edit.visibility = View.GONE
// }
} }
fun fullChoice() { fun fullChoice() {
...@@ -214,11 +217,12 @@ class RecommendFragment : BaseFragment(), View.OnClickListener { ...@@ -214,11 +217,12 @@ class RecommendFragment : BaseFragment(), View.OnClickListener {
} }
fun delete() { fun delete() {
(fragments[0] as FollowVideoFragment).delete()
} }
override fun onHiddenChanged(hidden: Boolean) { override fun onHiddenChanged(hidden: Boolean) {
super.onHiddenChanged(hidden) super.onHiddenChanged(hidden)
fragments[1].onHiddenChanged(hidden)
// 传递生命周期 // 传递生命周期
if (hidden) { if (hidden) {
fragments[1].onPause() fragments[1].onPause()
......
...@@ -35,7 +35,7 @@ public class StickHeaderDecoration extends RecyclerView.ItemDecoration { ...@@ -35,7 +35,7 @@ public class StickHeaderDecoration extends RecyclerView.ItemDecoration {
public StickHeaderDecoration(Context context) { public StickHeaderDecoration(Context context) {
mItemHeaderHeight = dp2px(context, 40); mItemHeaderHeight = dp2px(context, 40);
mTextPaddingLeft = dp2px(context, 6); mTextPaddingLeft = dp2px(context, 10);
mTextRect = new Rect(); mTextRect = new Rect();
......
package com.mints.wisdomclean.utils;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
public class TimeHelp {
public static String format(long timeMillis) {
return format(new Date(timeMillis));
}
private static String format(Date date) {
Calendar calendar = Calendar.getInstance();
//当前年
int currYear = calendar.get(Calendar.YEAR);
//当前日
int currDay = calendar.get(Calendar.DAY_OF_YEAR);
//当前时
int currHour = calendar.get(Calendar.HOUR_OF_DAY);
//当前分
int currMinute = calendar.get(Calendar.MINUTE);
//当前秒
int currSecond = calendar.get(Calendar.SECOND);
calendar.setTime(date);
int msgYear = calendar.get(Calendar.YEAR);
//说明不是同一年
if (currYear != msgYear) {
return new SimpleDateFormat("yyyy年MM月dd日", Locale.getDefault()).format(date);
}
int msgDay = calendar.get(Calendar.DAY_OF_YEAR);
//超过7天,直接显示xx月xx日
if (currDay - msgDay > 7) {
return new SimpleDateFormat("MM月dd日", Locale.getDefault()).format(date);
}
//不是当天
if (currDay - msgDay > 0) {
if (currDay - msgDay == 1) {
return "昨天";
} else {
return currDay - msgDay + "天前";
}
}
int msgHour = calendar.get(Calendar.HOUR_OF_DAY);
int msgMinute = calendar.get(Calendar.MINUTE);
//不是当前小时内
if (currHour - msgHour > 0) {
//如果当前分钟小,说明最后一个不满一小时
if (currMinute < msgMinute) {
if (currHour - msgHour == 1) {//当前只大一个小时值,说明不够一小时
return 60 - msgMinute + currMinute + "分钟前";
} else {
return currHour - msgHour - 1 + "小时前";
}
}
//如果当前分钟数大,够了一个周期
return currHour - msgHour + "小时前";
}
int msgSecond = calendar.get(Calendar.SECOND);
//不是当前分钟内
if (currMinute - msgMinute > 0) {
//如果当前秒数小,说明最后一个不满一分钟
if (currSecond < msgSecond) {
if (currMinute - msgMinute == 1) {//当前只大一个分钟值,说明不够一分钟
return "刚刚";
} else {
return currMinute - msgMinute - 1 + "分钟前";
}
}
//如果当前秒数大,够了一个周期
return currMinute - msgMinute + "分钟前";
}
//x秒前
return "刚刚";
}
}
\ No newline at end of file
...@@ -19,6 +19,7 @@ import com.mints.wisdomclean.R ...@@ -19,6 +19,7 @@ import com.mints.wisdomclean.R
import com.mints.wisdomclean.ad.AdManager import com.mints.wisdomclean.ad.AdManager
import com.mints.wisdomclean.ad.AdStatusListener import com.mints.wisdomclean.ad.AdStatusListener
import com.mints.wisdomclean.common.Constant import com.mints.wisdomclean.common.Constant
import com.mints.wisdomclean.manager.LocalVedioManager
import com.mints.wisdomclean.mvp.model.IndexList import com.mints.wisdomclean.mvp.model.IndexList
import com.mints.wisdomclean.mvp.model.VedioBean import com.mints.wisdomclean.mvp.model.VedioBean
import com.mints.wisdomclean.mvp.presenters.VideoPresenter import com.mints.wisdomclean.mvp.presenters.VideoPresenter
...@@ -28,9 +29,9 @@ import com.mints.wisdomclean.ui.activitys.base.BaseActivity ...@@ -28,9 +29,9 @@ import com.mints.wisdomclean.ui.activitys.base.BaseActivity
import com.mints.wisdomclean.ui.adapter.VideoEpisodeAdapter import com.mints.wisdomclean.ui.adapter.VideoEpisodeAdapter
import com.mints.wisdomclean.ui.widgets.DialogListener import com.mints.wisdomclean.ui.widgets.DialogListener
import com.mints.wisdomclean.ui.widgets.VideoEpisodeDialog import com.mints.wisdomclean.ui.widgets.VideoEpisodeDialog
import com.mints.wisdomclean.utils.LogUtil
import kotlinx.android.synthetic.main.drama_activity_api_detail.* import kotlinx.android.synthetic.main.drama_activity_api_detail.*
import org.json.JSONObject import org.json.JSONObject
import java.util.HashMap
/** /**
* @author Assen * @author Assen
...@@ -102,8 +103,7 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic ...@@ -102,8 +103,7 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
mVedioBean = Gson().fromJson(json, VedioBean::class.java) mVedioBean = Gson().fromJson(json, VedioBean::class.java)
freeSet = mVedioBean!!.unlockIndex freeSet = mVedioBean!!.unlockIndex
// lockSet = mVedioBean!!.adGiveVedioNum lockSet = mVedioBean!!.adGiveVedioNum
lockSet = 3
hideLeftTopTips = true hideLeftTopTips = true
mode = DPDramaDetailConfig.SPECIFIC_DETAIL mode = DPDramaDetailConfig.SPECIFIC_DETAIL
enableInfiniteScroll = false enableInfiniteScroll = false
...@@ -131,7 +131,9 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic ...@@ -131,7 +131,9 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
drama = outerDrama drama = outerDrama
drama?.let { drama?.let {
it.index = mVedioBean!!.seeIndex LogUtil.d("BBBBB -> " + mVedioBean!!.seeIndex)
// it.index = mVedioBean!!.seeIndex
it.index = 5
mInitUnlockIndex = mVedioBean!!.unlockIndex mInitUnlockIndex = mVedioBean!!.unlockIndex
mUnlockIndexMap[it.id] = mInitUnlockIndex mUnlockIndexMap[it.id] = mInitUnlockIndex
title_tv.text = it.title title_tv.text = it.title
...@@ -280,6 +282,10 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic ...@@ -280,6 +282,10 @@ class DramaApiDetailActivity : BaseActivity(), VideoEpisodeAdapter.OnEpisodeClic
if (mUnlockIndexMap[drama!!.id]!! > position) { if (mUnlockIndexMap[drama!!.id]!! > position) {
blockView?.visibility = View.GONE blockView?.visibility = View.GONE
} }
mVedioBean!!.seeIndex = position + 1
LogUtil.d("AAAAA -> " + mVedioBean!!.seeIndex + " - " + position)
LocalVedioManager.commitVedio(mVedioBean!!)
} }
override fun onDPVideoPlay(map: MutableMap<String, Any>?) { override fun onDPVideoPlay(map: MutableMap<String, Any>?) {
......
...@@ -34,6 +34,16 @@ class RecommendVideoAdapter(var activity: Activity) : ...@@ -34,6 +34,16 @@ class RecommendVideoAdapter(var activity: Activity) :
Glide.with(activity).load(item.coverImage) Glide.with(activity).load(item.coverImage)
.into(holder.getView<JzvdStdTikTok>(R.id.jz_video).posterImageView) .into(holder.getView<JzvdStdTikTok>(R.id.jz_video).posterImageView)
if (item.collect == 0) {
// 未收藏
holder.getView<LottieAnimationView>(R.id.iv_collect)
.setImageResource(R.mipmap.home_collect_img_0)
} else {
// 已收藏
holder.getView<LottieAnimationView>(R.id.iv_collect)
.setImageResource(R.mipmap.home_collect_img_1)
}
var isPlay = false var isPlay = false
holder.getView<View>(R.id.ll_collect).setOnClickListener { holder.getView<View>(R.id.ll_collect).setOnClickListener {
isPlay = !isPlay isPlay = !isPlay
......
...@@ -28,6 +28,7 @@ import com.mints.wisdomclean.ui.activitys.base.BaseActivity ...@@ -28,6 +28,7 @@ import com.mints.wisdomclean.ui.activitys.base.BaseActivity
import com.mints.wisdomclean.ui.adapter.VideoEpisodeAdapter import com.mints.wisdomclean.ui.adapter.VideoEpisodeAdapter
import com.mints.wisdomclean.ui.widgets.DialogListener import com.mints.wisdomclean.ui.widgets.DialogListener
import com.mints.wisdomclean.ui.widgets.VideoEpisodeDialog import com.mints.wisdomclean.ui.widgets.VideoEpisodeDialog
import com.mints.wisdomclean.utils.LogUtil
import kotlinx.android.synthetic.main.activity_video.* import kotlinx.android.synthetic.main.activity_video.*
import java.util.HashMap import java.util.HashMap
...@@ -135,8 +136,8 @@ class VideoActivity : BaseActivity(), View.OnClickListener, VideoView, ...@@ -135,8 +136,8 @@ class VideoActivity : BaseActivity(), View.OnClickListener, VideoView,
//是最底部,执行加载更多数据 //是最底部,执行加载更多数据
// loadData() // loadData()
} }
autoPlayVideo()
mCurrentPosition = position mCurrentPosition = position
autoPlayVideo()
dialog?.setCurrentIndex(mCurrentPosition) dialog?.setCurrentIndex(mCurrentPosition)
} }
...@@ -177,7 +178,9 @@ class VideoActivity : BaseActivity(), View.OnClickListener, VideoView, ...@@ -177,7 +178,9 @@ class VideoActivity : BaseActivity(), View.OnClickListener, VideoView,
player.startVideoAfterPreloading() player.startVideoAfterPreloading()
// VIdeoindex -> seeIndex // VIdeoindex -> seeIndex
mVedioBean!!.seeIndex = mCurrentPosition mVedioBean!!.seeIndex = videos[mCurrentPosition].vedioIndex
LogUtil.d("AAAAA -> " + mVedioBean!!.seeIndex + " - " + mCurrentPosition + " " + videos[mCurrentPosition].vedioIndex)
LocalVedioManager.commitVedio(mVedioBean!!) LocalVedioManager.commitVedio(mVedioBean!!)
//播放开始,进行倒计时 //播放开始,进行倒计时
} }
......
<?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">
<View
android:layout_width="match_parent"
android:layout_height="match_parent" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="还没有历史记录"
android:textSize="18sp" />
</RelativeLayout>
\ No newline at end of file
...@@ -3,8 +3,7 @@ ...@@ -3,8 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingStart="15dp" android:padding="10dp">
android:paddingEnd="15dp">
<ImageView <ImageView
android:id="@+id/image_iv" android:id="@+id/image_iv"
...@@ -35,6 +34,9 @@ ...@@ -35,6 +34,9 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="6dp" android:layout_marginTop="6dp"
android:ellipsize="end"
android:maxWidth="140dp"
android:maxLines="2"
android:text="重回80年代" android:text="重回80年代"
android:textColor="@color/gray" android:textColor="@color/gray"
android:textSize="12sp" /> android:textSize="12sp" />
......
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