From d27fa2154fe6c6b40048333e75ac11f1a3f5fac5 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 01 四月 2021 19:09:08 +0800 Subject: [PATCH] PPTV优化,相关bug修改 --- BuWanVideo/src/com/weikou/beibeivideo/ui/mine/PPTVPlayFragment.java | 99 +++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 82 insertions(+), 17 deletions(-) diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/mine/PPTVPlayFragment.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/mine/PPTVPlayFragment.java index 01bd3a5..d8ed4d0 100644 --- a/BuWanVideo/src/com/weikou/beibeivideo/ui/mine/PPTVPlayFragment.java +++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/mine/PPTVPlayFragment.java @@ -6,7 +6,6 @@ import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.ActivityInfo; -import android.graphics.Color; import android.net.Uri; import android.net.http.SslError; import android.os.Build; @@ -22,7 +21,6 @@ import android.webkit.ConsoleMessage; import android.webkit.SslErrorHandler; import android.webkit.WebChromeClient; -import android.webkit.WebResourceRequest; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; @@ -33,6 +31,7 @@ import android.widget.Toast; import com.androidquery.AQuery; +import com.google.gson.Gson; import com.lcjian.library.RetainViewFragment; import com.lcjian.library.dialog.DialogUtil; import com.lcjian.library.util.SingleToast; @@ -46,16 +45,17 @@ import com.weikou.beibeivideo.entity.ad.AdPositionEnum; import com.weikou.beibeivideo.entity.ad.PlayVideoPreADSetting; import com.weikou.beibeivideo.entity.ad.RewardVideoAdContainer; +import com.weikou.beibeivideo.entity.vo.PPTVVideoActivityInfoVO; +import com.weikou.beibeivideo.entity.vo.PPTVWatchVIPVideoActivityWay; import com.weikou.beibeivideo.ui.ad.PlayVideoPreADFragment; -import com.weikou.beibeivideo.ui.dialog.JumpVideoLoadingDialog; import com.weikou.beibeivideo.ui.dialog.LoadingDialogUtil; import com.weikou.beibeivideo.ui.dialog.VIPDialog; +import com.weikou.beibeivideo.ui.dialog.VIPNewDialog; import com.weikou.beibeivideo.ui.login.LoginActivity; -import com.weikou.beibeivideo.ui.main.MainActivity; -import com.weikou.beibeivideo.ui.video.VideoPlayerBrowserActivity; import com.weikou.beibeivideo.util.BeibeiConstant; import com.weikou.beibeivideo.util.ConfigUtil; import com.weikou.beibeivideo.util.DimenUtils; +import com.weikou.beibeivideo.util.JumpActivityUtil; import com.weikou.beibeivideo.util.UmengEventUtil; import com.weikou.beibeivideo.util.UserUtil; import com.weikou.beibeivideo.util.ad.AdUtil; @@ -69,7 +69,9 @@ import org.apache.http.Header; import org.json.JSONObject; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; public class PPTVPlayFragment extends RetainViewFragment implements OnClickListener { @@ -99,7 +101,7 @@ private AQuery query; - private void getPPVideoInfo(String url) { + private String[] getPPVideoInfo(String url) { if (url.contains("cid=") && url.contains("vid=")) { String[] sts = url.split("\\?"); if (sts.length > 1) { @@ -107,20 +109,17 @@ String[] ps = params.split("&"); Map<String, String> map = new HashMap<>(); for (String p : ps) { - map.put(p.split("=")[0], p.split("=")[1]); + map.put(p.split("=")[0], p.split("=").length > 1 ? p.split("=")[1] : ""); } String cid = map.get("cid"); String vid = map.get("vid"); - //PPTV鎾斁涓婁紶 - BeibeiVideoAPI.uploadPPTVPlayRecord(getContext(), cid, vid, new BasicTextHttpResponseHandler() { - @Override - public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception { - } - }); + return new String[]{cid, vid}; + } } + return null; } private void initWebView(View view) { @@ -135,7 +134,16 @@ } try { - getPPVideoInfo(url); + String[] cvid = getPPVideoInfo(url); + if (cvid != null && cvid.length > 1) { + //PPTV鎾斁涓婁紶 + BeibeiVideoAPI.uploadPPTVPlayRecord(getContext(), cvid[0], cvid[1], new BasicTextHttpResponseHandler() { + @Override + public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception { + + } + }); + } } catch (Exception e) { } @@ -177,7 +185,7 @@ public void onReceivedTitle(WebView view, String title) { super.onReceivedTitle(view, title); tv_url.setText(view.getUrl()); - tv_title.setText(title); +// tv_title.setText(title); } /** @@ -252,8 +260,9 @@ @Override public void run() { getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); - if (vipDialog != null && !vipDialog.isShowing()) - vipDialog.show(); +// if (vipDialog != null && !vipDialog.isShowing()) +// vipDialog.show(); + getActivityInfo(tv_url.getText() + ""); } }); @@ -315,6 +324,62 @@ } } + private VIPNewDialog vipNewDialog; + + private synchronized void getActivityInfo(String url) { + String cid = ""; + String vid = ""; + try { + String[] cvids = getPPVideoInfo(url); + if (cvids != null && cvids.length > 1) { + cid = cvids[0]; + vid = cvids[1]; + } + } catch (Exception e) { + + } + + DialogUtil.dismiss(vipNewDialog); + BeibeiVideoAPI.getPPTVVIPVideoActivity(getContext(), url, cid, vid, new BasicTextHttpResponseHandler() { + @Override + public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception { + + if (jsonObject.optBoolean("IsPost")) { + JSONObject data = jsonObject.optJSONObject("Data"); + PPTVVideoActivityInfoVO vo = new Gson().fromJson(data.toString(), PPTVVideoActivityInfoVO.class); + vipNewDialog = new VIPNewDialog.Builder(getActivity()).setActivityData(vo.getWayList(), vo.getVideoName()).setCloseListener(new OnClickListener() { + @Override + public void onClick(View v) { + DialogUtil.dismiss(vipNewDialog); + } + }).setItemClickListener(new VIPNewDialog.ItemClickListener() { + @Override + public void onClick(PPTVWatchVIPVideoActivityWay way) { + DialogUtil.dismiss(vipNewDialog); + if ("vip".equalsIgnoreCase(way.getType())) { + jumpToVIP(); + } else { + if (way.getJumpDetail() != null) + JumpActivityUtil.jumpPage(getActivity(), way.getJumpDetail(), way.getParams() != null ? com.alibaba.fastjson.JSONObject.parseObject(way.getParams().replace( + "\\" + "\"", "\"")) : null); + } + } + }).create(); + DialogUtil.show(vipNewDialog); + } + + } + + @Override + public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) { + super.onFailure(statusCode, headers, responseString, throwable); + Toast.makeText(getContext(), "缃戠粶璇锋眰鍑洪敊", Toast.LENGTH_SHORT).show(); + } + }); + + + } + private void initView(View view) { loadingDialog = LoadingDialogUtil.getLoadingDialog(getContext(), ""); -- Gitblit v1.8.0