From 760aee20870a34e6130a1c12237c5b747e2b00bd Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 28 一月 2022 12:58:40 +0800
Subject: [PATCH] 隐私合规,青少年模式,64位兼容

---
 library-video/src/main/java/com/yeshi/video/ui/VideoDetailActivity.java |  113 ++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 93 insertions(+), 20 deletions(-)

diff --git a/library-video/src/main/java/com/yeshi/video/ui/VideoDetailActivity.java b/library-video/src/main/java/com/yeshi/video/ui/VideoDetailActivity.java
index b0d7baa..012f8c7 100644
--- a/library-video/src/main/java/com/yeshi/video/ui/VideoDetailActivity.java
+++ b/library-video/src/main/java/com/yeshi/video/ui/VideoDetailActivity.java
@@ -29,6 +29,7 @@
 import com.bumptech.glide.Glide;
 import com.bumptech.glide.request.target.SimpleTarget;
 import com.bumptech.glide.request.transition.Transition;
+import com.bytedance.sdk.openadsdk.TTAdSdk;
 import com.bytedance.sdk.openadsdk.TTFullScreenVideoAd;
 import com.google.gson.FieldNamingPolicy;
 import com.google.gson.Gson;
@@ -40,8 +41,13 @@
 import com.lcjian.library.util.SystemCommon;
 import com.lcjian.library.util.common.DimenUtils;
 import com.lcjian.library.util.common.StringUtils;
+import com.qq.e.ads.cfg.VideoOption;
+import com.qq.e.ads.interstitial2.UnifiedInterstitialAD;
+import com.qq.e.ads.interstitial2.UnifiedInterstitialADListener;
+import com.qq.e.comm.util.AdError;
 import com.umeng.socialize.UMShareAPI;
 import com.yeshi.base.entity.AccumulateRule;
+import com.yeshi.base.entity.ad.AdPositionEnum;
 import com.yeshi.base.entity.db.WatchHistoryTable;
 import com.yeshi.base.entity.video.Follow;
 import com.yeshi.base.entity.video.Play;
@@ -51,7 +57,11 @@
 import com.yeshi.base.entity.video.VideoResource;
 import com.yeshi.base.ui.BaseActivity;
 import com.yeshi.base.utils.BeibeiConstant;
+import com.yeshi.base.utils.JsonUtil;
 import com.yeshi.base.utils.RouteConstant;
+import com.yeshi.base.utils.ad.AdUtil;
+import com.yeshi.base.utils.ad.GDTConstant;
+import com.yeshi.base.utils.ad.TTAdManagerHolder;
 import com.yeshi.base.utils.http.BasicTextHttpResponseHandler;
 import com.yeshi.video.R;
 import com.yeshi.video.entity.PushEpisode;
@@ -111,6 +121,8 @@
 
     private FrameLayout fl_pptv;
     private LinearLayout ll_other;
+
+    private boolean adShown = false;
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
@@ -489,7 +501,7 @@
                 if (!mFunshionPlayerFragment.isAdded()) {
                     getSupportFragmentManager().beginTransaction().replace(R.id.fragment_video_play_container, mFunshionPlayerFragment).commit();
                 }
-                fl_video_play_background.setVisibility(View.GONE);
+                hideImage();
 
 
             } else {//
@@ -787,7 +799,7 @@
         if (!progressDialog.isShowing()) {
             progressDialog.show();
         }
-        getVideoDetail(this, videoInfo.getId(), videoInfo.getThirdType(), false);
+        getVideoDetail(this, videoInfo.getId(), videoInfo.getThirdType(), true);
     }
 
     public void onEventMainThread(Play info) {
@@ -909,10 +921,7 @@
                             }
 
 
-                            Gson gson = new GsonBuilder().setFieldNamingPolicy(
-                                    FieldNamingPolicy.UPPER_CAMEL_CASE)
-                                    .create();
-                            final VideoInfo videoInfo = gson
+                            final VideoInfo videoInfo = JsonUtil.videoGson
                                     .fromJson(jsonObject.getJSONObject("Data")
                                                     .toString(),
                                             new TypeToken<VideoInfo>() {
@@ -1071,10 +1080,7 @@
                                                  Header[] headers, JSONObject jsonObject)
                             throws Exception {
                         if (jsonObject.getBoolean("IsPost")) {
-                            Gson gson = new GsonBuilder().setFieldNamingPolicy(
-                                    FieldNamingPolicy.UPPER_CAMEL_CASE)
-                                    .create();
-                            VideoResource resource = gson.fromJson(
+                            VideoResource resource = JsonUtil.videoGson.fromJson(
                                     jsonObject.getJSONObject("Data")
                                             .getJSONObject("Resource")
                                             .toString(),
@@ -1224,9 +1230,7 @@
             values.put(WatchHistoryTable.VIDEO_DETAIL_ID, videoDetailId);
             values.put(WatchHistoryTable.VIDEO_THIRD_TYPE,
                     videoInfo.getThirdType());
-            Gson gson = new GsonBuilder().setFieldNamingPolicy(
-                    FieldNamingPolicy.UPPER_CAMEL_CASE).create();
-            values.put(WatchHistoryTable.VIDEO_DETAIL, gson.toJson(videoInfo));
+            values.put(WatchHistoryTable.VIDEO_DETAIL, JsonUtil.videoGson.toJson(videoInfo));
             values.put(WatchHistoryTable.WATCH_TIME, 0);
             values.put(WatchHistoryTable.VIDEO_RESOURCE, from);
             values.put(WatchHistoryTable.VIDEO_RESOURCE_ID, resoureID);
@@ -1280,14 +1284,83 @@
     /**
      * 鍔犺浇鍏ㄥ睆瑙嗛骞垮憡
      */
+    private UnifiedInterstitialAD iad;
+
     private void loadFullVideoAd() {
-        if (BeibeiConstant.ADSHOW) {
-            FullVideoAdManager.getInstance().loadAd(getApplicationContext(), new FullVideoAdManager.IFullVideoAdListener() {
-                @Override
-                public void onSuccess(TTFullScreenVideoAd ad) {
-                    FullVideoAdManager.getInstance().showAd(VideoDetailActivity.this);
-                }
-            });
+        if (adShown)
+            return;
+        adShown = true;
+
+        if (AdUtil.getAdType(getApplicationContext(), AdPositionEnum.videoDetailFullVideo) != null) {
+
+            if (TTAdSdk.isInitSuccess()) {
+                FullVideoAdManager.getInstance().loadAd(getApplicationContext(), new FullVideoAdManager.IFullVideoAdListener() {
+                    @Override
+                    public void onSuccess(TTFullScreenVideoAd ad) {
+                        FullVideoAdManager.getInstance().showAd(VideoDetailActivity.this);
+                    }
+                });
+            } else {
+                iad = new UnifiedInterstitialAD(this, getString(R.string.ad_gdt_pid_video_detail_insert), new UnifiedInterstitialADListener() {
+
+                    @Override
+                    public void onADReceive() {
+                        iad.showAsPopupWindow(VideoDetailActivity.this);
+                    }
+
+                    @Override
+                    public void onVideoCached() {
+
+                    }
+
+                    @Override
+                    public void onNoAD(AdError adError) {
+
+                        Log.i("gdt", adError.toString());
+                    }
+
+                    @Override
+                    public void onADOpened() {
+
+                    }
+
+                    @Override
+                    public void onADExposure() {
+
+                    }
+
+                    @Override
+                    public void onADClicked() {
+
+                    }
+
+                    @Override
+                    public void onADLeftApplication() {
+
+                    }
+
+                    @Override
+                    public void onADClosed() {
+
+                    }
+
+                    @Override
+                    public void onRenderSuccess() {
+
+                    }
+
+                    @Override
+                    public void onRenderFail() {
+
+                    }
+                });
+                VideoOption.Builder builder = new VideoOption.Builder();
+                VideoOption
+                        option = builder.setAutoPlayMuted(true)
+                        .setAutoPlayPolicy(VideoOption.AutoPlayPolicy.WIFI).build();
+                iad.setVideoOption(option);
+                iad.loadAD();
+            }
         }
     }
 }

--
Gitblit v1.8.0