From 1981dee5aec45793d3c4ebdbc4e637528c71b3c5 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 03 二月 2021 19:20:47 +0800
Subject: [PATCH] 'PPTV'

---
 BuWanVideo/src/com/weikou/beibeivideo/ui/media/EpisodeFragment.java |  368 ++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 283 insertions(+), 85 deletions(-)

diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/media/EpisodeFragment.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/media/EpisodeFragment.java
index 3b2e81a..0fc0f0e 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/ui/media/EpisodeFragment.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/media/EpisodeFragment.java
@@ -6,13 +6,15 @@
 import android.content.SharedPreferences;
 import android.database.Cursor;
 import android.graphics.Bitmap;
+import android.graphics.Color;
 import android.graphics.Rect;
 import android.graphics.drawable.ColorDrawable;
+import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.os.Handler;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
-import android.support.v7.widget.StaggeredGridLayoutManager;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -20,7 +22,6 @@
 import android.widget.AdapterView.OnItemClickListener;
 import android.widget.BaseAdapter;
 import android.widget.FrameLayout;
-import android.widget.GridView;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.ListView;
@@ -29,6 +30,7 @@
 import android.widget.Toast;
 
 import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
 import com.google.gson.FieldNamingPolicy;
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
@@ -46,6 +48,7 @@
 import com.umeng.socialize.media.UMWeb;
 import com.weikou.beibeivideo.BasicTextHttpResponseHandler;
 import com.weikou.beibeivideo.BeibeiVideoAPI;
+import com.weikou.beibeivideo.BeibeiVideoApplication;
 import com.weikou.beibeivideo.db.WatchHistoryTable;
 import com.weikou.beibeivideo.entity.Follow;
 import com.weikou.beibeivideo.entity.Play;
@@ -55,18 +58,22 @@
 import com.weikou.beibeivideo.entity.VideoInfo;
 import com.weikou.beibeivideo.entity.VideoResource;
 import com.weikou.beibeivideo.entity.ad.ExpressAdContainer;
+import com.weikou.beibeivideo.entity.video.FunshionPlayInfo;
 import com.weikou.beibeivideo.ui.login.LoginActivity;
 import com.weikou.beibeivideo.ui.video.EpisodeNewAdapter;
 import com.weikou.beibeivideo.util.BeibeiConstant;
+import com.weikou.beibeivideo.util.GlideCircleTransform;
+import com.weikou.beibeivideo.util.UserUtil;
 import com.weikou.beibeivideo.util.VideoUtil;
+import com.weikou.beibeivideo.util.ad.AdUtil;
 import com.weikou.beibeivideo.util.ad.ExpressAdManager;
-import com.weikou.beibeivideo.util.ui.DividerItemDecoration;
-import com.yeshi.buwanshequ.R;
+import com.weikou.beibeivideo.R;
 
 import org.apache.http.Header;
 import org.json.JSONArray;
 import org.json.JSONObject;
 
+import java.lang.reflect.Type;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -94,6 +101,14 @@
     private FrameLayout fl_native_ad1;
 
     private EpisodeNewAdapter episodeAdapter;
+
+    final String TAG = "EpisodeFragment";
+
+    private boolean episodeLoading = false;//鍓ч泦鏄惁姝e湪鍔犺浇鏇村
+
+    private boolean episodeHasMore = true;//鏄惁杩樻湁鏇村鐨勫墽闆�
+
+    private int episodePage = 2;//褰撳墠椤�
 
     public static DisplayImageOptions option = new DisplayImageOptions.Builder()
             .showImageForEmptyUri(R.drawable.from_other)
@@ -151,34 +166,80 @@
                                    RecyclerView parent, RecyclerView.State state) {
             int position = parent.getChildAdapterPosition(view);
             outRect.left = space;
-            if (mVideoInfo != null && position == mVideoInfo.getVideoDetailList().size() - 1)
+            if (mVideoInfo != null && position == VideoUtil.videoEpisodeList.size() - 1)
                 outRect.right = space;
         }
     }
 
-    private  void loadEpisode(){
+    private void loadEpisode() {
+
+        int type = 0;
+
         if (mVideoInfo.getShowType() == 1) {
             // 缁艰壓鎴栬�呯數褰�
-            episodeAdapter = new EpisodeNewAdapter(getContext(), mVideoInfo, EpisodeNewAdapter.TYPE_ZONGYI, mPlayingPosition);
+            type = EpisodeNewAdapter.TYPE_ZONGYI;
+
         } else if (mVideoInfo.getShowType() == 2) {
             // 鐢佃鍓у姩婕�
-            episodeAdapter = new EpisodeNewAdapter(getContext(), mVideoInfo, EpisodeNewAdapter.TYPE_DIANSHIJU, mPlayingPosition);
+            type = EpisodeNewAdapter.TYPE_DIANSHIJU;
         }
+        episodeAdapter = new EpisodeNewAdapter(getContext(), mVideoInfo, type, mPlayingPosition, new EpisodeNewAdapter.ISelectVideoEpisodeListener() {
+            @Override
+            public void onClick(int position, VideoDetailInfo detailInfo) {
+                setEpisodeSelected(position);
+                getUrl(detailInfo);
+            }
+        });
         LinearLayoutManager ms = new LinearLayoutManager(getContext());
         ms.setOrientation(LinearLayoutManager.HORIZONTAL);
+        rv_episode.setHasFixedSize(true);
+        rv_episode.setNestedScrollingEnabled(false);
+        if (rv_episode.getLayoutManager() == null)
+            rv_episode.setLayoutManager(ms);
 
-        rv_episode.setLayoutManager(ms);
-        rv_episode.addItemDecoration(new SpacesItemDecoration(DimenUtils.dip2px(getContext(), 10)));
+        if (rv_episode.getItemDecorationCount() == 0)
+            rv_episode.addItemDecoration(new SpacesItemDecoration(DimenUtils.dip2px(getContext(), 10)));
+    }
+
+
+    //璁剧疆閫変腑鐘舵��
+    private void setEpisodeSelected(int position) {
+        mPlayingPosition = position;
+        episodeAdapter.setPlayingPosition(mPlayingPosition);
+        refresh();
+        Playlocation playlocation = new Playlocation();
+        playlocation.setPosition(position);
+        EventBus.getDefault().post(playlocation);
+    }
+
+    private void setFollowData(boolean attention) {
+        if (attention) {
+            tv_cancle_follow.setText("宸插叧娉�");
+            tv_cancle_follow.setCompoundDrawables(null, null, null, null);
+        } else {
+            tv_cancle_follow.setText("鍏虫敞");
+            Drawable drawable = getResources().getDrawable(R.drawable.ic_follow_add);
+            drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());
+            tv_cancle_follow.setCompoundDrawables(drawable, null, null, null);
+        }
     }
 
     @Override
     public void onCreateView(View contentView, Bundle savedInstanceState) {
-        EventBus.getDefault().register(this);
-        mVideoInfo = (VideoInfo) getArguments()
+        Log.i(TAG, "onCreateView");
+        Bundle bundle = getArguments();
+        mVideoInfo = (VideoInfo) bundle
                 .getSerializable("video_info");
-        mPlayingPosition = getArguments().getInt("playing_position");
-        mStart = getArguments().getInt("start");
-        mEnd = getArguments().getInt("end");
+        mPlayingPosition = bundle.getInt("playing_position");
+        mStart = bundle.getInt("start");
+        mEnd = bundle.getInt("end");
+
+        if (bundle != null)
+            bundle.clear();
+
+        //闃叉娌℃湁鍐呭宕╂簝
+        if (mVideoInfo == null)
+            return;
 
         tv_video_resource = contentView.findViewById(R.id.tv_video_resource);
         ll_add_attention = contentView.findViewById(R.id.ll_add_attention);
@@ -196,19 +257,15 @@
             tv_update_time = contentView.findViewById(R.id.tv_update_time);
             tv_cancle_follow = contentView.findViewById(R.id.tv_cancle_follow);
             try {
-                Glide.with(getActivity().getApplicationContext()).load(mVideoInfo.getAttention().getMoviePicture()).error(R.drawable.ic_default).placeholder(R.drawable.ic_default).centerCrop().into(iv_moive_img);
+                Glide.with(getActivity().getApplicationContext()).load(mVideoInfo.getAttention().getMoviePicture())
+                        .apply(new RequestOptions().centerCrop().placeholder(R.drawable.ic_default).error(R.drawable.ic_default))
+                        .into(iv_moive_img);
             } catch (IllegalArgumentException e) {
                 e.printStackTrace();
             }
             tv_star_name.setText(mVideoInfo.getAttention().getMovieName() + "");
             tv_update_time.setText(mVideoInfo.getAttention().getUpdateInfo() + "");
-            if (mVideoInfo.getAttention().isAttention()) {
-                tv_cancle_follow.setText("宸插叧娉�");
-                tv_cancle_follow.setBackgroundResource(R.color.gray);
-            } else {
-                tv_cancle_follow.setText("鍏虫敞");
-                tv_cancle_follow.setBackgroundResource(R.color.yellow);
-            }
+            setFollowData(mVideoInfo.getAttention().isAttention());
 
             tv_cancle_follow.setOnClickListener(new View.OnClickListener() {
                 @Override
@@ -235,50 +292,72 @@
         fl_native_ad1 = contentView
                 .findViewById(R.id.fl_native_ad_1);
         rv_episode = contentView.findViewById(R.id.rv_episode);
-        loadEpisode();
 
-        //TODO 鐐瑰嚮浜嬩欢鍝嶅簲
-//        rv_episode.setOnItemClickListener(new OnItemClickListener() {
-//            @Override
-//            public void onItemClick(AdapterView<?> parent, View view,
-//                                    int position, long id) {
-//                VideoDetailInfo videoDetailInfo = (VideoDetailInfo) parent
-//                        .getItemAtPosition(position);
-//                if (selectedUrl == null) {
-//                    return;
-//                }
-//                mPlayingPosition = position;
-//                episodeAdapter = new EpisodeAdapter(mVideoInfo,
-//                        mPlayingPosition);
-//                episodeAdapter2 = new EpisodeAdapter2(mVideoInfo,
-//                        mPlayingPosition);
-//                refresh();
-//                Playlocation playlocation = new Playlocation();
-//                playlocation.setPosition(position);
-//                EventBus.getDefault().post(playlocation);
-//                getUrl(videoDetailInfo);
-//            }
-//        });
         contentView.findViewById(R.id.iv_share).setOnClickListener(this);
         contentView.findViewById(R.id.iv_offline_cache).setOnClickListener(this);
         fl_report = contentView.findViewById(R.id.fl_report);
         iv_favourite = contentView.findViewById(R.id.iv_add_to_favourite);
         fl_report.setOnClickListener(this);
         iv_favourite.setOnClickListener(this);
-
+        loadEpisode();
         refresh();
         isCollect();
         loadAD1();
         setFrom(mVideoInfo);
+        if (VideoUtil.videoEpisodeList != null && VideoUtil.videoEpisodeList.size() > 1) {
+            rv_episode.setVisibility(View.VISIBLE);
+        } else
+            rv_episode.setVisibility(View.GONE);
+
+        //
+        rv_episode.addOnScrollListener(new RecyclerView.OnScrollListener() {
+            @Override
+            public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
+                super.onScrollStateChanged(recyclerView, newState);
+                LinearLayoutManager manager = (LinearLayoutManager) recyclerView.getLayoutManager();
+                int first = manager.findFirstVisibleItemPosition();
+                int last = manager.findLastVisibleItemPosition();
+                int total = manager.getItemCount();
+                if (newState == RecyclerView.SCROLL_STATE_IDLE) {
+                    if (mVideoInfo == null)
+                        return;
+                    if (!episodeLoading && episodeHasMore && last == total - 1) {//鍔犺浇鏇村
+                        VideoResource checkedResource = null;
+                        for (VideoResource vr : mVideoInfo.getResourceList()) {
+                            checkedResource = vr;
+                            break;
+                        }
+                        if (checkedResource != null) {
+                            loadMoreEpisode(mVideoInfo.getId(), checkedResource.getId(), episodePage);
+                        }
+                    }
+                }
+            }
+
+            @Override
+            public void onScrolled(RecyclerView recyclerView, int dx, final int dy) {
+                super.onScrolled(recyclerView, dx, dy);
+            }
+        });
+
+
+        EventBus.getDefault().register(this);
     }
 
 
     public void onEventMainThread(Playlocation playlocation) {
         mPlayingPosition = playlocation.getPosition();
-        //TODO 閲嶆柊璧嬪��
-        // episodeAdapter = new EpisodeAdapter(mVideoInfo,
-        //                mPlayingPosition);
+//        loadEpisode();
         refresh();
+    }
+
+
+    public void onEventMainThread(FunshionPlayInfo info) {
+        Log.i(TAG, "椋庤閫夐泦锛�" + info.getPosition());
+        mPlayingPosition = info.getPosition();
+        episodeAdapter.setPlayingPosition(mPlayingPosition);
+        refresh();
+        rv_episode.scrollToPosition(mPlayingPosition);
     }
 
     private void addAttention(String uid, String loginId) {
@@ -288,8 +367,8 @@
                 if (jsonObject.optBoolean("IsPost")) {
                     SingleToast.showToast(ll_add_attention.getContext(), "娣诲姞鍏虫敞鎴愬姛锛�");
                     mVideoInfo.getAttention().setAttention(true);
-                    tv_cancle_follow.setText("宸插叧娉�");
-                    tv_cancle_follow.setBackgroundColor(getResources().getColor(R.color.gray));
+                    setFollowData(mVideoInfo.getAttention().isAttention());
+
                 }
             }
         });
@@ -302,8 +381,7 @@
                 if (jsonObject.optBoolean("IsPost")) {
                     SingleToast.showToast(ll_add_attention.getContext(), "鍙栨秷鍏虫敞鎴愬姛锛�");
                     mVideoInfo.getAttention().setAttention(false);
-                    tv_cancle_follow.setText("鍏虫敞");
-                    tv_cancle_follow.setBackgroundColor(getResources().getColor(R.color.yellow));
+                    setFollowData(mVideoInfo.getAttention().isAttention());
                 }
             }
         });
@@ -311,17 +389,26 @@
 
     @Override
     public void onResume() {
+        Log.i(TAG, "onResume锛�");
         super.onResume();
     }
 
     @Override
     public void onDestroyView() {
+        Log.i(TAG, "onDestroyView锛�");
         super.onDestroyView();
+
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
         EventBus.getDefault().unregister(this);
     }
 
     @Override
     public void onPause() {
+        Log.i(TAG, "onPause");
         super.onPause();
     }
 
@@ -356,6 +443,12 @@
                                     .optString("Url"));
                             info.setParams(jsonObject.getJSONObject("Data")
                                     .optString("Params"));
+                            info.setAid(jsonObject.getJSONObject("Data")
+                                    .optString("Aid"));
+                            info.setVid(jsonObject.getJSONObject("Data")
+                                    .optString("Vid"));
+                            info.setCode(jsonObject.getJSONObject("Data")
+                                    .optString("Code"));
                             Play play = new Play();
                             play.setPlayUrl(info);
                             EventBus.getDefault().post(play);
@@ -385,21 +478,68 @@
      * 鍒锋柊adapter
      */
     public void refresh() {
-        rv_episode.setAdapter(episodeAdapter);
+        if (rv_episode.getAdapter() != null)
+            rv_episode.getAdapter().notifyDataSetChanged();
+        else
+            rv_episode.postDelayed(new Runnable() {
+                @Override
+                public void run() {
+                    Log.i(TAG, "refresh");
+                    rv_episode.setAdapter(episodeAdapter);
+                    if (mPlayingPosition > 4)
+                        rv_episode.scrollToPosition(mPlayingPosition);
+                }
+            }, 500);
+
+
     }
 
     // 鍔犺浇鎾斁椤电涓�鏉″箍鍛婏紝鍏堣缃姞杞戒笂涓嬫枃鐜鍜屾潯浠�
     private void loadAD1() {
-        new ExpressAdManager(ExpressAdManager.SOURCE_GDT, getContext()).loadVideoDetailAd(1, new ExpressAdManager.IAdLoadListener() {
+        new ExpressAdManager(AdUtil.AD_TYPE.gdt2, getContext()).loadVideoDetailPlayerBottomAd(new ExpressAdManager.IAdLoadListener() {
             @Override
             public void onSuccess(List<ExpressAdContainer> adList) {
+                if (adList != null && adList.size() > 0) {
+                    fl_native_ad1.setVisibility(View.VISIBLE);
+                    final ExpressAdContainer ad = adList.get(0);
+                    if (getActivity() == null)
+                        return;
 
-                ExpressAdManager.render(getActivity(), adList.get(0), fl_native_ad1, new ExpressAdManager.IAdEventListener() {
-                    @Override
-                    public void closeAd() {
-                        fl_native_ad1.removeAllViews();
-                    }
-                });
+                    ExpressAdManager.renderAd(getActivity(), adList.get(0), new ExpressAdManager.IAdRenderListener() {
+                        @Override
+                        public void onRenderSuccess(List<ExpressAdContainer> adList) {
+                            ExpressAdManager.fillAd(adList.get(0), fl_native_ad1);
+                        }
+
+                        @Override
+                        public void onRenderFail(List<ExpressAdContainer> adList) {
+
+                        }
+                    }, new ExpressAdManager.IAdEventListener() {
+                        @Override
+                        public void closeAd(ExpressAdContainer ad) {
+                            fl_native_ad1.removeAllViews();
+                        }
+                    });
+
+                } else {
+                    //鍔犺浇绌垮北鐢�
+                    new ExpressAdManager(AdUtil.AD_TYPE.csj, getContext()).loadVideoDetailPlayerBottomAd(new ExpressAdManager.IAdLoadListener() {
+                        @Override
+                        public void onSuccess(List<ExpressAdContainer> adList) {
+                            if (adList != null && adList.size() > 0) {
+                                ExpressAdManager.renderAndFillAd(getActivity(), adList.get(0), fl_native_ad1, new ExpressAdManager.IAdEventListener() {
+                                    @Override
+                                    public void closeAd(ExpressAdContainer ad) {
+                                        fl_native_ad1.removeAllViews();
+                                    }
+                                });
+                            } else {
+                                fl_native_ad1.setVisibility(View.GONE);
+                            }
+                        }
+                    });
+                }
             }
         });
     }
@@ -504,10 +644,15 @@
 
     public void onEventMainThread(VideoInfo videoInfo) {
         mVideoInfo = videoInfo;
+        if (VideoUtil.videoEpisodeList != null && VideoUtil.videoEpisodeList.size() > 1) {
+            rv_episode.setVisibility(View.VISIBLE);
+        } else
+            rv_episode.setVisibility(View.GONE);
         setFrom(videoInfo);
         iv_favourite.setEnabled(true);
         fl_report.setEnabled(true);
         rv_episode.setAdapter(episodeAdapter);
+
     }
 
     private void setFrom(VideoInfo info) {
@@ -555,7 +700,7 @@
 
             ListView lv = new ListView(getContext());
             ListView.LayoutParams param = new ListView.LayoutParams(
-                    FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT);
+                    FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.WRAP_CONTENT);
             lv.setLayoutParams(param);
             lv.setOnItemClickListener(new OnItemClickListener() {
                 @Override
@@ -585,7 +730,8 @@
                 }
             });
             lv.setAdapter(new ResourceAdapter(urlList));
-            lv.setDividerHeight(0);
+            lv.setDivider(new ColorDrawable(Color.BLACK));
+            lv.setDividerHeight(1);
             popupWindow.setContentView(lv);
             /*
              * Window dialogWindow = dialog.getWindow(); dialogWindow.get
@@ -622,23 +768,15 @@
         public View getView(int position, View convertView, ViewGroup parent) {
             View view = LayoutInflater.from(ll_add_attention.getContext()).inflate(
                     R.layout.item_resource, null);
-            ImageView iv = (ImageView) view.findViewById(R.id.iv_resource);
-            TextView tv = (TextView) view.findViewById(R.id.tv_resource);
-            // if (reList.get(position) == null
-            // || reList.get(position).getPicture() == null) {
-            // ImageLoader.getInstance().displayImage(
-            // "drawable://" + R.drawable.from_other, iv);
-            // } else {
-            // ImageLoader.getInstance().displayImage(
-            // reList.get(position).getPicture(), iv, option);
-            // }
+            ImageView iv = view.findViewById(R.id.iv_resource);
+            TextView tv = view.findViewById(R.id.tv_resource);
             try {
                 Glide.with(getActivity().getApplicationContext())
                         .load(reList.get(position).getPicture().contains("http://") ? reList
                                 .get(position).getPicture() : BeibeiConstant.HOST
                                 + "/BuWan/" + reList.get(position).getPicture())
-                        .placeholder(R.drawable.from_other)
-                        .error(R.drawable.from_other).crossFade().into(iv);
+                        .apply(new RequestOptions().placeholder(R.drawable.from_other).error(R.drawable.from_other))
+                        .into(iv);
             } catch (IllegalArgumentException e) {
                 e.printStackTrace();
             }
@@ -702,6 +840,11 @@
                                                     .toString(),
                                             new TypeToken<VideoInfo>() {
                                             }.getType());
+                            if (videoInfo != null) {
+
+                                VideoUtil.saveVideoEpisodeList(BeibeiVideoApplication.application,videoInfo.getVideoDetailList(),false);
+
+                            }
                             // 闄勫姞瀛楁
                             if (jsonObject.optJSONObject("Extra1") != null) {
                                 if (jsonObject.optJSONObject("Extra1").optJSONObject("Attention") != null) {
@@ -719,18 +862,20 @@
                             if (extraData != null)
                                 videoInfo.setExtraData(extraData.toString());
 
-                            if (videoInfo.getVideoDetailList() == null
-                                    || videoInfo.getVideoDetailList().isEmpty()) {
+                            if (VideoUtil.videoEpisodeList == null
+                                    || VideoUtil.videoEpisodeList.isEmpty()) {
                                 Toast.makeText(getContext(), "褰辩墖宸插垹闄�",
                                         Toast.LENGTH_LONG).show();
                                 getActivity().finish();
                                 return;
                             }
+
+                            if (rv_episode.getAdapter() != null)
+                                rv_episode.getAdapter().notifyDataSetChanged();
                             // videoInfo.setSave(jsonObject.getJSONObject("Data").optBoolean("Save"));
                             if (isSetup) {
-                                mVideoInfo.getVideoDetailList().clear();
-                                mVideoInfo.setVideoDetailList(videoInfo
-                                        .getVideoDetailList());
+                                VideoUtil.saveVideoEpisodeList(BeibeiVideoApplication.application,videoInfo.getVideoDetailList(),false);
+
                                 EventBus.getDefault().post(videoInfo);
                                 int position = 0;
 //                                boolean isFromWatchHistory = false;
@@ -748,10 +893,9 @@
                                             "playing_position", 0);
                                 }
 //                                if (isFromWatchHistory) {
-                                getUrl(videoInfo.getVideoDetailList().get(position));
+                                getUrl(VideoUtil.videoEpisodeList.get(position));
                                 EventBus.getDefault()
-                                        .post(videoInfo
-                                                .getVideoDetailList()
+                                        .post(VideoUtil.videoEpisodeList
                                                 .get(position));
 //                                } else {// 涓嶆槸浠庤鐪嬭褰曠偣鍑昏繃鏉� --璺冲埌褰撳墠鎾斁鐨勯泦鏁�
 //                                    getUrl(videoInfo.getVideoDetailList().get(position));
@@ -766,7 +910,7 @@
                                     public void run() {
                                         EventBus.getDefault().post(videoInfo);
                                         EventBus.getDefault().post(
-                                                videoInfo.getVideoDetailList()
+                                                VideoUtil.videoEpisodeList
                                                         .get(0));
                                     }
                                 }, 200);
@@ -830,4 +974,58 @@
                     }
                 });
     }
+
+    /**
+     * 鍔犺浇鏇村鍓ч泦
+     *
+     * @param videoId
+     * @param resourceId
+     */
+    private synchronized void loadMoreEpisode(String videoId, String resourceId, int page) {
+        BeibeiVideoAPI.getVideoEpisodeList(ll_add_attention.getContext(), UserUtil.getUid(getContext()), resourceId, videoId, page, new
+
+                BasicTextHttpResponseHandler() {
+                    @Override
+                    public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws
+                            Exception {
+                        if (jsonObject.optBoolean("IsPost")) {
+                            JSONObject data = jsonObject.optJSONObject("Data");
+                            episodeHasMore = data.optBoolean("hasMore");
+                            JSONArray array = data.optJSONArray("list");
+                            if (array != null && array.length() > 0) {//
+                                Gson gson = new GsonBuilder().setFieldNamingPolicy(
+                                        FieldNamingPolicy.UPPER_CAMEL_CASE)
+                                        .create();
+                                List<VideoDetailInfo> list = gson.fromJson(array.toString(), new TypeToken<List<VideoDetailInfo>>() {
+                                }.getType());
+                                if (list != null && list.size() > 0) {
+                                    episodePage++;
+                                    VideoUtil.saveVideoEpisodeList(BeibeiVideoApplication.application,list,true);
+                                    rv_episode.getAdapter().notifyDataSetChanged();
+                                }
+                            }
+                        }
+                    }
+
+                    @Override
+                    public void onStart() {
+                        super.onStart();
+                        episodeLoading = true;
+                    }
+
+                    @Override
+                    public void onFinish() {
+                        super.onFinish();
+                        episodeLoading = false;
+                    }
+                });
+    }
+
+
+    @Override
+    public void onStop() {
+        super.onStop();
+        Log.i(TAG, "onStop");
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.8.0