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