From cbb88109494ffc7916f6639c20ce05c0cec941a9 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 07 四月 2021 15:07:45 +0800
Subject: [PATCH] 3.9.1bug修复

---
 BuWanVideo/src/com/weikou/beibeivideo/ui/media/EpisodeFragment.java |   90 ++++++++++++++++++++++++++++++++-------------
 1 files changed, 64 insertions(+), 26 deletions(-)

diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/media/EpisodeFragment.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/media/EpisodeFragment.java
index 0fc0f0e..9d04a49 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/ui/media/EpisodeFragment.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/media/EpisodeFragment.java
@@ -14,6 +14,9 @@
 import android.os.Handler;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
+import android.text.SpannableString;
+import android.text.Spanned;
+import android.text.style.ForegroundColorSpan;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -49,6 +52,7 @@
 import com.weikou.beibeivideo.BasicTextHttpResponseHandler;
 import com.weikou.beibeivideo.BeibeiVideoAPI;
 import com.weikou.beibeivideo.BeibeiVideoApplication;
+import com.weikou.beibeivideo.R;
 import com.weikou.beibeivideo.db.WatchHistoryTable;
 import com.weikou.beibeivideo.entity.Follow;
 import com.weikou.beibeivideo.entity.Play;
@@ -62,18 +66,15 @@
 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.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;
 
@@ -110,6 +111,11 @@
 
     private int episodePage = 2;//褰撳墠椤�
 
+    //榛樿椤靛ぇ灏忎负100
+    private int pageSize = 100;
+
+    private String fromName = null;
+
     public static DisplayImageOptions option = new DisplayImageOptions.Builder()
             .showImageForEmptyUri(R.drawable.from_other)
             .showImageOnFail(R.drawable.from_other)
@@ -124,13 +130,15 @@
             .build();
 
     public static EpisodeFragment newInstance(VideoInfo videoInfo,
-                                              int playingPosition, int start, int end) {
+                                              int playingPosition, int pageSize, int start, int end, String from) {
         EpisodeFragment episodeFragment = new EpisodeFragment();
         Bundle args = new Bundle();
         args.putSerializable("video_info", videoInfo);
         args.putInt("playing_position", playingPosition);
         args.putInt("start", start);
         args.putInt("end", end);
+        args.putInt("pageSize", pageSize);
+        args.putString("from", from);
         episodeFragment.setArguments(args);
         return episodeFragment;
     }
@@ -213,12 +221,14 @@
     }
 
     private void setFollowData(boolean attention) {
+        tv_cancle_follow.setBackgroundResource(R.drawable.shape_video_detail_follow_btn);
+        tv_cancle_follow.setTextColor(getResources().getColor(R.color.video_detail_follow_text_color));
         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 drawable = getResources().getDrawable(R.drawable.ic_follow_add_w);
             drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());
             tv_cancle_follow.setCompoundDrawables(drawable, null, null, null);
         }
@@ -230,7 +240,11 @@
         Bundle bundle = getArguments();
         mVideoInfo = (VideoInfo) bundle
                 .getSerializable("video_info");
+        fromName = bundle
+                .getString("from", "");
+
         mPlayingPosition = bundle.getInt("playing_position");
+        pageSize = bundle.getInt("pageSize", 100);
         mStart = bundle.getInt("start");
         mEnd = bundle.getInt("end");
 
@@ -243,6 +257,7 @@
 
         tv_video_resource = contentView.findViewById(R.id.tv_video_resource);
         ll_add_attention = contentView.findViewById(R.id.ll_add_attention);
+        ll_add_attention.setBackgroundResource(R.drawable.shape_video_detail_follow_bg);
         tv_title = contentView.findViewById(R.id.tv_title);
         tv_score = contentView.findViewById(R.id.tv_score);
         tv_play_num = contentView.findViewById(R.id.tv_play_num);
@@ -328,7 +343,7 @@
                             break;
                         }
                         if (checkedResource != null) {
-                            loadMoreEpisode(mVideoInfo.getId(), checkedResource.getId(), episodePage);
+                            loadMoreEpisode(mVideoInfo.getId(), checkedResource.getId(), episodePage, pageSize);
                         }
                     }
                 }
@@ -680,21 +695,29 @@
 
     private ProgressDialog pd;
 
+    private void setResource(String resource) {
+        SpannableString st = new SpannableString(resource);
+        st.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.video_detail_resource_text_color)), 3, resource.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+        tv_video_resource.setText(st);
+    }
+
     private void initResource() {
 
         if (mVideoInfo.getResourceList() != null
                 && mVideoInfo.getResourceList().size() > 0) {
             tv_video_resource.setVisibility(View.VISIBLE);
+            String resource = "";
             if (selectedUrl == null || selectedUrl.getPicture() == null) {
-                tv_video_resource.setText("鏉ユ簮锛氬叾浠�");
+                resource = "鏉ユ簮锛氬叾浠�";
             } else {
-                tv_video_resource.setText("鏉ユ簮锛�" + selectedUrl.getName());
+                resource = "鏉ユ簮锛�" + selectedUrl.getName();
             }
+            setResource(resource);
+
             popupWindow = new PopupWindow(
                     com.weikou.beibeivideo.util.DimenUtils.dip2px(getContext(), 120),
                     android.view.WindowManager.LayoutParams.WRAP_CONTENT);
             popupWindow.setOutsideTouchable(true);// 鐐瑰嚮澶栭儴鍙偣鍑�
-            popupWindow.setBackgroundDrawable(new ColorDrawable(0));// 璁剧疆鑳屾櫙
             popupWindow.setAnimationStyle(R.style.PopupAnimation);
             popupWindow.setFocusable(true);// 鑾峰彇鐒︾偣
 
@@ -702,6 +725,8 @@
             ListView.LayoutParams param = new ListView.LayoutParams(
                     FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.WRAP_CONTENT);
             lv.setLayoutParams(param);
+            lv.setBackground(getResources().getDrawable(R.drawable.shape_video_detail_resource_bg));
+
             lv.setOnItemClickListener(new OnItemClickListener() {
                 @Override
                 public void onItemClick(AdapterView<?> parent, View view,
@@ -718,20 +743,19 @@
                         pd.show();
                         getVideoDetail(mVideoInfo.getId(), urlList
                                 .get(position).getId(), mVideoInfo
-                                .getThirdType(), true);
+                                .getThirdType(), true, fromName);
                     }
                     selectedUrl = urlList.get(position);
                     if (selectedUrl == null || selectedUrl.getPicture() == null) {
-                        tv_video_resource.setText("鏉ユ簮锛氬叾浠�");
+                        setResource("鏉ユ簮锛氬叾浠�");
                     } else {
-                        tv_video_resource.setText("鏉ユ簮锛�" + selectedUrl.getName());
+                        setResource("鏉ユ簮锛�" + selectedUrl.getName());
                     }
 
                 }
             });
             lv.setAdapter(new ResourceAdapter(urlList));
-            lv.setDivider(new ColorDrawable(Color.BLACK));
-            lv.setDividerHeight(1);
+            lv.setDividerHeight(0);
             popupWindow.setContentView(lv);
             /*
              * Window dialogWindow = dialog.getWindow(); dialogWindow.get
@@ -771,10 +795,8 @@
             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())
+                Glide.with(iv)
+                        .load(reList.get(position).getPicture())
                         .apply(new RequestOptions().placeholder(R.drawable.from_other).error(R.drawable.from_other))
                         .into(iv);
             } catch (IllegalArgumentException e) {
@@ -786,18 +808,34 @@
             } else {
                 tv.setText(reList.get(position).getName());
             }
+
+            int background = 0;
+
+            if (reList.size() <= 1) {
+                background = reList.get(position).isChecked() ? R.drawable.shape_video_detail_resource_single_item_selected_bg : R.drawable.shape_video_detail_resource_single_item_bg;
+            } else {
+                if (position == 0) {
+                    background = reList.get(position).isChecked() ? R.drawable.shape_video_detail_resource_top_item_selected_bg : R.drawable.shape_video_detail_resource_top_item_bg;
+                } else if (position == reList.size() - 1) {
+                    background = reList.get(position).isChecked() ? R.drawable.shape_video_detail_resource_bottom_item_selected_bg : R.drawable.shape_video_detail_resource_bottom_item_bg;
+                } else {
+                    background = reList.get(position).isChecked() ? R.drawable.shape_video_detail_resource_middle_item_selected_bg : R.drawable.shape_video_detail_resource_middle_item_bg;
+                }
+            }
+            view.setBackgroundResource(background);
+
             return view;
         }
     }
 
     private void getVideoDetail(String videoId, final String resourceId,
-                                String videoThirdType, final boolean isSetup) {
+                                String videoThirdType, final boolean isSetup, final String from) {
         SharedPreferences preferences = getContext().getSharedPreferences(
                 "user", Context.MODE_PRIVATE);
         String uid = preferences.getString("uid", "");
         String loginid = preferences.getString("LoginUid", "");
-        BeibeiVideoAPI.getVideoDetail(getContext(), uid, resourceId, videoId, loginid,
-                videoThirdType, new BasicTextHttpResponseHandler() {
+        BeibeiVideoAPI.getVideoDetail(getContext(), uid, resourceId, videoId, null, loginid,
+                videoThirdType, from, new BasicTextHttpResponseHandler() {
 
                     @Override
                     public void onStart() {
@@ -842,7 +880,7 @@
                                             }.getType());
                             if (videoInfo != null) {
 
-                                VideoUtil.saveVideoEpisodeList(BeibeiVideoApplication.application,videoInfo.getVideoDetailList(),false);
+                                VideoUtil.saveVideoEpisodeList(BeibeiVideoApplication.application, videoInfo.getVideoDetailList(), false);
 
                             }
                             // 闄勫姞瀛楁
@@ -874,7 +912,7 @@
                                 rv_episode.getAdapter().notifyDataSetChanged();
                             // videoInfo.setSave(jsonObject.getJSONObject("Data").optBoolean("Save"));
                             if (isSetup) {
-                                VideoUtil.saveVideoEpisodeList(BeibeiVideoApplication.application,videoInfo.getVideoDetailList(),false);
+                                VideoUtil.saveVideoEpisodeList(BeibeiVideoApplication.application, videoInfo.getVideoDetailList(), false);
 
                                 EventBus.getDefault().post(videoInfo);
                                 int position = 0;
@@ -981,8 +1019,8 @@
      * @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
+    private synchronized void loadMoreEpisode(String videoId, String resourceId, int page, int pageSize) {
+        BeibeiVideoAPI.getVideoEpisodeList(ll_add_attention.getContext(), UserUtil.getUid(getContext()), resourceId, videoId, page, pageSize, new
 
                 BasicTextHttpResponseHandler() {
                     @Override
@@ -1000,7 +1038,7 @@
                                 }.getType());
                                 if (list != null && list.size() > 0) {
                                     episodePage++;
-                                    VideoUtil.saveVideoEpisodeList(BeibeiVideoApplication.application,list,true);
+                                    VideoUtil.saveVideoEpisodeList(BeibeiVideoApplication.application, list, true);
                                     rv_episode.getAdapter().notifyDataSetChanged();
                                 }
                             }

--
Gitblit v1.8.0