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